45.5 MB
/srv/reproducible-results/rbuild-debian/r-b-build.GGkD2PTU/b1/erlang_28.0+dfsg-1_amd64.changes vs.
/srv/reproducible-results/rbuild-debian/r-b-build.GGkD2PTU/b2/erlang_28.0+dfsg-1_amd64.changes
4.79 KB
Files
    
Offset 4, 44 lines modifiedOffset 4, 44 lines modified
4 ·714c11fd69b38d73c268d000664a5aea·17631724·debug·optional·erlang-base-dbgsym_28.0+dfsg-1_amd64.deb4 ·714c11fd69b38d73c268d000664a5aea·17631724·debug·optional·erlang-base-dbgsym_28.0+dfsg-1_amd64.deb
5 ·b7949ef116dc190b0b534dad92e5ec8c·12273148·interpreters·optional·erlang-base_28.0+dfsg-1_amd64.deb5 ·b7949ef116dc190b0b534dad92e5ec8c·12273148·interpreters·optional·erlang-base_28.0+dfsg-1_amd64.deb
6 ·4a82e906cd1a8cd3ba3cd412f1b8fee3·40696·debug·optional·erlang-common-test-dbgsym_28.0+dfsg-1_amd64.deb6 ·4a82e906cd1a8cd3ba3cd412f1b8fee3·40696·debug·optional·erlang-common-test-dbgsym_28.0+dfsg-1_amd64.deb
7 ·0df90313968cf2e03d27b2d9c2d755e3·1332356·interpreters·optional·erlang-common-test_28.0+dfsg-1_amd64.deb7 ·0df90313968cf2e03d27b2d9c2d755e3·1332356·interpreters·optional·erlang-common-test_28.0+dfsg-1_amd64.deb
8 ·364b6c78bb968e7531bfb2f723242e63·129944·debug·optional·erlang-crypto-dbgsym_28.0+dfsg-1_amd64.deb8 ·364b6c78bb968e7531bfb2f723242e63·129944·debug·optional·erlang-crypto-dbgsym_28.0+dfsg-1_amd64.deb
9 ·abfc882db5c8d3566535847aa4758307·186472·interpreters·optional·erlang-crypto_28.0+dfsg-1_amd64.deb9 ·abfc882db5c8d3566535847aa4758307·186472·interpreters·optional·erlang-crypto_28.0+dfsg-1_amd64.deb
10 ·8473674529cab0330f476bcd5db2a254·493060·interpreters·optional·erlang-debugger_28.0+dfsg-1_amd64.deb10 ·8473674529cab0330f476bcd5db2a254·493060·interpreters·optional·erlang-debugger_28.0+dfsg-1_amd64.deb
11 ·12de82ce116c773889285894f2d677de·352112·interpreters·optional·erlang-dev_28.0+dfsg-1_amd64.deb11 ·dd0c16ea23f531023c17c0faf1c7b5c6·352024·interpreters·optional·erlang-dev_28.0+dfsg-1_amd64.deb
12 ·c2fea57edb9394bd55c32b92932b7e1c·76376·debug·optional·erlang-dialyzer-dbgsym_28.0+dfsg-1_amd64.deb12 ·c2fea57edb9394bd55c32b92932b7e1c·76376·debug·optional·erlang-dialyzer-dbgsym_28.0+dfsg-1_amd64.deb
13 ·314b1e776a26e4ae5b154c5854c1b9f9·1067140·interpreters·optional·erlang-dialyzer_28.0+dfsg-1_amd64.deb13 ·314b1e776a26e4ae5b154c5854c1b9f9·1067140·interpreters·optional·erlang-dialyzer_28.0+dfsg-1_amd64.deb
14 ·e2f9d45515cf200b50bab10063bd7ebb·825840·interpreters·optional·erlang-diameter_28.0+dfsg-1_amd64.deb14 ·e2f9d45515cf200b50bab10063bd7ebb·825840·interpreters·optional·erlang-diameter_28.0+dfsg-1_amd64.deb
15 ·0ac796de8a91c4c5579f6e7a0173e565·17402972·doc·optional·erlang-doc_28.0+dfsg-1_all.deb15 ·5a262f5532c767daa3f549ff753da99a·17402144·doc·optional·erlang-doc_28.0+dfsg-1_all.deb
16 ·4424e39525e8518ebd8af68d8f8c4e6d·458392·interpreters·optional·erlang-edoc_28.0+dfsg-1_amd64.deb16 ·4424e39525e8518ebd8af68d8f8c4e6d·458392·interpreters·optional·erlang-edoc_28.0+dfsg-1_amd64.deb
17 ·8a38a1ff6ebfc6e69937e3da2267e39a·140000·interpreters·optional·erlang-eldap_28.0+dfsg-1_amd64.deb17 ·8a38a1ff6ebfc6e69937e3da2267e39a·140000·interpreters·optional·erlang-eldap_28.0+dfsg-1_amd64.deb
18 ·8c6346055d070511e7689422c93a402e·187352·interpreters·optional·erlang-et_28.0+dfsg-1_amd64.deb18 ·8c6346055d070511e7689422c93a402e·187352·interpreters·optional·erlang-et_28.0+dfsg-1_amd64.deb
19 ·acc3922d66786a32b5f9f3e6a49f499e·174888·interpreters·optional·erlang-eunit_28.0+dfsg-1_amd64.deb19 ·acc3922d66786a32b5f9f3e6a49f499e·174888·interpreters·optional·erlang-eunit_28.0+dfsg-1_amd64.deb
20 ·4e504d6082dbb372a5c3202ef24337a2·959708·interpreters·optional·erlang-examples_28.0+dfsg-1_all.deb20 ·4e504d6082dbb372a5c3202ef24337a2·959708·interpreters·optional·erlang-examples_28.0+dfsg-1_all.deb
21 ·689515d0d43779fea470f53579513e39·108700·interpreters·optional·erlang-ftp_28.0+dfsg-1_amd64.deb21 ·689515d0d43779fea470f53579513e39·108700·interpreters·optional·erlang-ftp_28.0+dfsg-1_amd64.deb
22 ·f08afa45685e07421a9e885311ddd3ab·687712·interpreters·optional·erlang-inets_28.0+dfsg-1_amd64.deb22 ·f08afa45685e07421a9e885311ddd3ab·687712·interpreters·optional·erlang-inets_28.0+dfsg-1_amd64.deb
23 ·f5f6f6a9acdface347858a012aa09aa6·113596·interpreters·optional·erlang-jinterface_28.0+dfsg-1_all.deb23 ·8592b6e8479c03694eee09d924fd212d·113616·interpreters·optional·erlang-jinterface_28.0+dfsg-1_all.deb
24 ·cda1bb2db072536a7c5812bf26a7fd54·68044·debug·optional·erlang-megaco-dbgsym_28.0+dfsg-1_amd64.deb24 ·cda1bb2db072536a7c5812bf26a7fd54·68044·debug·optional·erlang-megaco-dbgsym_28.0+dfsg-1_amd64.deb
25 ·f9302e84b6a8a1708786a6c25461354f·3733368·interpreters·optional·erlang-megaco_28.0+dfsg-1_amd64.deb25 ·f9302e84b6a8a1708786a6c25461354f·3733368·interpreters·optional·erlang-megaco_28.0+dfsg-1_amd64.deb
26 ·af877d9f54b2f838b192489d8a135260·912672·interpreters·optional·erlang-mnesia_28.0+dfsg-1_amd64.deb26 ·af877d9f54b2f838b192489d8a135260·912672·interpreters·optional·erlang-mnesia_28.0+dfsg-1_amd64.deb
27 ·3962d9691b9c296385aaa55dbc975e7d·93720·interpreters·optional·erlang-mode_28.0+dfsg-1_all.deb27 ·3962d9691b9c296385aaa55dbc975e7d·93720·interpreters·optional·erlang-mode_28.0+dfsg-1_all.deb
28 ·d84b3fa9984736cfe3753be307758635·14900·interpreters·optional·erlang-nox_28.0+dfsg-1_all.deb28 ·d84b3fa9984736cfe3753be307758635·14900·interpreters·optional·erlang-nox_28.0+dfsg-1_all.deb
29 ·82c3db0e099fa1772368fa36d636f4af·1038776·interpreters·optional·erlang-observer_28.0+dfsg-1_amd64.deb29 ·82c3db0e099fa1772368fa36d636f4af·1038776·interpreters·optional·erlang-observer_28.0+dfsg-1_amd64.deb
30 ·20a68f1bdc2f4b81b5a4f19856814863·65856·debug·optional·erlang-odbc-dbgsym_28.0+dfsg-1_amd64.deb30 ·20a68f1bdc2f4b81b5a4f19856814863·65856·debug·optional·erlang-odbc-dbgsym_28.0+dfsg-1_amd64.deb
31 ·f011d597bf0f618933fad18487bacf9c·70744·interpreters·optional·erlang-odbc_28.0+dfsg-1_amd64.deb31 ·f011d597bf0f618933fad18487bacf9c·70744·interpreters·optional·erlang-odbc_28.0+dfsg-1_amd64.deb
32 ·95665a16bb832713fbeebffb3c6a9061·20284·debug·optional·erlang-os-mon-dbgsym_28.0+dfsg-1_amd64.deb32 ·95665a16bb832713fbeebffb3c6a9061·20284·debug·optional·erlang-os-mon-dbgsym_28.0+dfsg-1_amd64.deb
33 ·ab55574beb3db3eadccfc5b4233c6f14·117224·interpreters·optional·erlang-os-mon_28.0+dfsg-1_amd64.deb33 ·ab55574beb3db3eadccfc5b4233c6f14·117224·interpreters·optional·erlang-os-mon_28.0+dfsg-1_amd64.deb
34 ·2aad8addb1f76167f51bed75952eb516·213496·interpreters·optional·erlang-parsetools_28.0+dfsg-1_amd64.deb34 ·2aad8addb1f76167f51bed75952eb516·213496·interpreters·optional·erlang-parsetools_28.0+dfsg-1_amd64.deb
35 ·cdd4e9bc072877f6614b831ae941c877·1215284·interpreters·optional·erlang-public-key_28.0+dfsg-1_amd64.deb35 ·cd9e20a3f64d51dbc56218da8c21b4e1·1214988·interpreters·optional·erlang-public-key_28.0+dfsg-1_amd64.deb
36 ·d927598184bb6754cf7c7099572f778d·387700·interpreters·optional·erlang-reltool_28.0+dfsg-1_amd64.deb36 ·d927598184bb6754cf7c7099572f778d·387700·interpreters·optional·erlang-reltool_28.0+dfsg-1_amd64.deb
37 ·b0a29b6467f6ddc6081893a3426be7c7·27752·debug·optional·erlang-runtime-tools-dbgsym_28.0+dfsg-1_amd64.deb37 ·b0a29b6467f6ddc6081893a3426be7c7·27752·debug·optional·erlang-runtime-tools-dbgsym_28.0+dfsg-1_amd64.deb
38 ·7bb21373bb4e461da6e08c9786a0858f·252576·interpreters·optional·erlang-runtime-tools_28.0+dfsg-1_amd64.deb38 ·7bb21373bb4e461da6e08c9786a0858f·252576·interpreters·optional·erlang-runtime-tools_28.0+dfsg-1_amd64.deb
39 ·8a88d4337ae46faeff11347af9a19370·1982824·interpreters·optional·erlang-snmp_28.0+dfsg-1_amd64.deb39 ·8a88d4337ae46faeff11347af9a19370·1982824·interpreters·optional·erlang-snmp_28.0+dfsg-1_amd64.deb
40 ·51b2c6ca2c6cb4b64952e3f2f30340f9·6198568·interpreters·optional·erlang-src_28.0+dfsg-1_all.deb40 ·d3134b97e70dd22a8602da8a8312d5ad·6198692·interpreters·optional·erlang-src_28.0+dfsg-1_all.deb
41 ·7d0f76ec92c026dfe07e23fc8441f85c·1031408·interpreters·optional·erlang-ssh_28.0+dfsg-1_amd64.deb41 ·7d0f76ec92c026dfe07e23fc8441f85c·1031408·interpreters·optional·erlang-ssh_28.0+dfsg-1_amd64.deb
42 ·523b5d6b13535b477e28095d76ff4c5c·1688216·interpreters·optional·erlang-ssl_28.0+dfsg-1_amd64.deb42 ·523b5d6b13535b477e28095d76ff4c5c·1688216·interpreters·optional·erlang-ssl_28.0+dfsg-1_amd64.deb
43 ·a73c2b781097eb3dcf4a58b04d57cdf5·358860·interpreters·optional·erlang-syntax-tools_28.0+dfsg-1_amd64.deb43 ·a73c2b781097eb3dcf4a58b04d57cdf5·358860·interpreters·optional·erlang-syntax-tools_28.0+dfsg-1_amd64.deb
44 ·e6c4654b670f19461b3494b0f6a9a4d3·115384·interpreters·optional·erlang-tftp_28.0+dfsg-1_amd64.deb44 ·e6c4654b670f19461b3494b0f6a9a4d3·115384·interpreters·optional·erlang-tftp_28.0+dfsg-1_amd64.deb
45 ·0bf674a28eeab7aa328e5f3825527b17·636388·interpreters·optional·erlang-tools_28.0+dfsg-1_amd64.deb45 ·0bf674a28eeab7aa328e5f3825527b17·636388·interpreters·optional·erlang-tools_28.0+dfsg-1_amd64.deb
46 ·be14ba4d3e9764a8e208ae8bf6a43059·5580000·debug·optional·erlang-wx-dbgsym_28.0+dfsg-1_amd64.deb46 ·be14ba4d3e9764a8e208ae8bf6a43059·5580000·debug·optional·erlang-wx-dbgsym_28.0+dfsg-1_amd64.deb
47 ·ecef9f6fe11cee098406700fb30a3fa9·5160592·interpreters·optional·erlang-wx_28.0+dfsg-1_amd64.deb47 ·ecef9f6fe11cee098406700fb30a3fa9·5160592·interpreters·optional·erlang-wx_28.0+dfsg-1_amd64.deb
19.0 KB
erlang-dev_28.0+dfsg-1_amd64.deb
367 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary
2 -rw-r--r--···0········0········0·····3648·2025-05-21·08:22:24.000000·control.tar.xz2 -rw-r--r--···0········0········0·····3648·2025-05-21·08:22:24.000000·control.tar.xz
3 -rw-r--r--···0········0········0···348272·2025-05-21·08:22:24.000000·data.tar.xz3 -rw-r--r--···0········0········0···348184·2025-05-21·08:22:24.000000·data.tar.xz
98.0 B
control.tar.xz
70.0 B
control.tar
48.0 B
./md5sums
30.0 B
./md5sums
Files differ
18.5 KB
data.tar.xz
18.5 KB
data.tar
18.4 KB
./usr/bin/erlang-depends
    
Offset 7, 312 lines modifiedOffset 7, 312 lines modified
7 -define(VERSION,·"1:28.0+dfsg").7 -define(VERSION,·"1:28.0+dfsg").
8 -define(ABI_VERSION,·"17.0").8 -define(ABI_VERSION,·"17.0").
9 -define(PCRE_VERSION,·".").9 -define(PCRE_VERSION,·".").
  
10 %·Since·all·packages·required·built·application·to·run·may·be·unavailable10 %·Since·all·packages·required·built·application·to·run·may·be·unavailable
11 %·on·build·stage·it's·necessary·to·list·all·module-package·relationships11 %·on·build·stage·it's·necessary·to·list·all·module-package·relationships
12 %·explicitly:12 %·explicitly:
13 -define(MODULES,·[{"beam_lib",·"erlang-base"},13 -define(MODULES,·[{"target_system",·"erlang-base"},
 14 {"systools_make",·"erlang-base"},
 15 {"systools_rc",·"erlang-base"},
 16 {"release_handler",·"erlang-base"},
 17 {"erlsrv",·"erlang-base"},
 18 {"format_lib_supp",·"erlang-base"},
 19 {"release_handler_1",·"erlang-base"},
 20 {"alarm_handler",·"erlang-base"},
 21 {"systools",·"erlang-base"},
 22 {"rb",·"erlang-base"},
 23 {"rb_format_supp",·"erlang-base"},
 24 {"systools_relup",·"erlang-base"},
 25 {"systools_lib",·"erlang-base"},
 26 {"misc_supp",·"erlang-base"},
14 {"qlc",·"erlang-base"},27 {"sasl",·"erlang-base"},
 28 {"sasl_report_tty_h",·"erlang-base"},
 29 {"sasl_report_file_h",·"erlang-base"},
 30 {"sasl_report",·"erlang-base"},
 31 {"unicode_util",·"erlang-base"},
 32 {"supervisor",·"erlang-base"},
15 {"io_lib_pretty",·"erlang-base"},33 {"slave",·"erlang-base"},
16 {"random",·"erlang-base"},34 {"ordsets",·"erlang-base"},
 35 {"otp_internal",·"erlang-base"},
17 {"gb_trees",·"erlang-base"},36 {"gen",·"erlang-base"},
 37 {"beam_lib",·"erlang-base"},
18 {"error_logger_file_h",·"erlang-base"},38 {"error_logger_file_h",·"erlang-base"},
19 {"gb_sets",·"erlang-base"}, 
20 {"filelib",·"erlang-base"},39 {"io_lib",·"erlang-base"},
21 {"shell",·"erlang-base"}, 
22 {"dets_server",·"erlang-base"}, 
23 {"queue",·"erlang-base"}, 
24 {"edlin_context",·"erlang-base"}, 
25 {"erl_features",·"erlang-base"}, 
26 {"shell_docs_markdown",·"erlang-base"},40 {"shell_docs_markdown",·"erlang-base"},
 41 {"error_logger_tty_h",·"erlang-base"},
 42 {"edlin_type_suggestion",·"erlang-base"},
 43 {"erl_abstract_code",·"erlang-base"},
 44 {"edlin_context",·"erlang-base"},
 45 {"erl_parse",·"erlang-base"},
 46 {"base64",·"erlang-base"},
 47 {"erl_bits",·"erlang-base"},
 48 {"dets",·"erlang-base"},
 49 {"erl_eval",·"erlang-base"},
 50 {"erl_compile",·"erlang-base"},
 51 {"gen_event",·"erlang-base"},
 52 {"erl_lint",·"erlang-base"},
27 {"pool",·"erlang-base"},53 {"proplists",·"erlang-base"},
 54 {"io_lib_pretty",·"erlang-base"},
 55 {"ets",·"erlang-base"},
28 {"io_lib_format",·"erlang-base"},56 {"io_lib_format",·"erlang-base"},
29 {"ms_transform",·"erlang-base"}, 
30 {"eval_bits",·"erlang-base"}, 
31 {"erl_posix_msg",·"erlang-base"}, 
32 {"qlc_pt",·"erlang-base"}, 
33 {"gen_statem",·"erlang-base"}, 
34 {"shell_docs_test",·"erlang-base"}, 
35 {"dets_v9",·"erlang-base"}, 
36 {"edlin",·"erlang-base"}, 
37 {"escript",·"erlang-base"}, 
38 {"array",·"erlang-base"}, 
39 {"unicode_util",·"erlang-base"}, 
40 {"maps",·"erlang-base"}, 
41 {"win32reg",·"erlang-base"}, 
42 {"argparse",·"erlang-base"},57 {"argparse",·"erlang-base"},
43 {"supervisor_bridge",·"erlang-base"},58 {"erl_scan",·"erlang-base"},
 59 {"shell_docs_test",·"erlang-base"},
 60 {"dict",·"erlang-base"},
 61 {"zstd",·"erlang-base"},
 62 {"erl_pp",·"erlang-base"},
 63 {"shell_default",·"erlang-base"},
 64 {"file_sorter",·"erlang-base"},
44 {"erl_internal",·"erlang-base"},65 {"erl_internal",·"erlang-base"},
 66 {"eval_bits",·"erlang-base"},
 67 {"win32reg",·"erlang-base"},
45 {"erl_error",·"erlang-base"},68 {"erl_error",·"erlang-base"},
46 {"sofs",·"erlang-base"}, 
47 {"zip",·"erlang-base"}, 
48 {"erl_expand_records",·"erlang-base"}, 
49 {"erl_eval",·"erlang-base"}, 
50 {"sets",·"erlang-base"}, 
51 {"edlin_expand",·"erlang-base"}, 
52 {"io_lib_fread",·"erlang-base"}, 
53 {"erl_parse",·"erlang-base"}, 
54 {"lists",·"erlang-base"},69 {"lists",·"erlang-base"},
55 {"io",·"erlang-base"}, 
56 {"rand",·"erlang-base"},70 {"calendar",·"erlang-base"},
 71 {"queue",·"erlang-base"},
57 {"unicode",·"erlang-base"},72 {"unicode",·"erlang-base"},
58 {"gen_event",·"erlang-base"}, 
59 {"erl_stdlib_errors",·"erlang-base"}, 
60 {"shell_docs",·"erlang-base"}, 
61 {"slave",·"erlang-base"}, 
62 {"proc_lib",·"erlang-base"}, 
63 {"edlin_key",·"erlang-base"}, 
64 {"c",·"erlang-base"}, 
65 {"ordsets",·"erlang-base"}, 
66 {"gen",·"erlang-base"}, 
67 {"erl_anno",·"erlang-base"}, 
68 {"dets_sup",·"erlang-base"},73 {"dets_sup",·"erlang-base"},
 74 {"gb_trees",·"erlang-base"},
 75 {"binary",·"erlang-base"},
69 {"error_logger_tty_h",·"erlang-base"},76 {"log_mf_h",·"erlang-base"},
 77 {"erl_posix_msg",·"erlang-base"},
 78 {"sys",·"erlang-base"},
 79 {"escript",·"erlang-base"},
 80 {"edlin_expand",·"erlang-base"},
 81 {"gen_statem",·"erlang-base"},
 82 {"sets",·"erlang-base"},
 83 {"io_lib_fread",·"erlang-base"},
 84 {"dets_server",·"erlang-base"},
 85 {"digraph_utils",·"erlang-base"},
 86 {"uri_string",·"erlang-base"},
 87 {"erl_features",·"erlang-base"},
 88 {"shell",·"erlang-base"},
 89 {"erl_tar",·"erlang-base"},
 90 {"io",·"erlang-base"},
 91 {"peer",·"erlang-base"},
 92 {"erl_expand_records",·"erlang-base"},
 93 {"qlc_pt",·"erlang-base"},
70 {"filename",·"erlang-base"},94 {"filename",·"erlang-base"},
Max diff block lines reached; 14137/18834 bytes (75.06%) of diff not shown.
43.9 MB
erlang-doc_28.0+dfsg-1_all.deb
452 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary
2 -rw-r--r--···0········0········0····39948·2025-05-21·08:22:24.000000·control.tar.xz2 -rw-r--r--···0········0········0····39964·2025-05-21·08:22:24.000000·control.tar.xz
3 -rw-r--r--···0········0········0·17362832·2025-05-21·08:22:24.000000·data.tar.xz3 -rw-r--r--···0········0········0·17361988·2025-05-21·08:22:24.000000·data.tar.xz
2.82 KB
control.tar.xz
2.79 KB
control.tar
2.77 KB
./md5sums
30.0 B
./md5sums
Files differ
2.72 KB
line order
Max HTML report size reached
43.9 MB
data.tar.xz
43.9 MB
data.tar
77.3 KB
file list
    
Offset 139, 15 lines modifiedOffset 139, 15 lines modified
139 -rw-r--r--···0·root·········(0)·root·········(0)······283·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/ssh.html139 -rw-r--r--···0·root·········(0)·root·········(0)······283·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/ssh.html
140 -rw-r--r--···0·root·········(0)·root·········(0)······284·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/ssl.html140 -rw-r--r--···0·root·········(0)·root·········(0)······284·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/ssl.html
141 -rw-r--r--···0·root·········(0)·root·········(0)······286·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/stdlib.html141 -rw-r--r--···0·root·········(0)·root·········(0)······286·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/stdlib.html
142 -rw-r--r--···0·root·········(0)·root·········(0)······292·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/syntax_tools.html142 -rw-r--r--···0·root·········(0)·root·········(0)······292·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/syntax_tools.html
143 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/143 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/
144 -rw-r--r--···0·root·········(0)·root·········(0)·····2325·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/.build144 -rw-r--r--···0·root·········(0)·root·········(0)·····2325·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/.build
145 -rw-r--r--···0·root·········(0)·root·········(0)·····5636·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/404.html145 -rw-r--r--···0·root·········(0)·root·········(0)·····5636·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/404.html
146 -rw-r--r--···0·root·········(0)·root·········(0)···753377·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/Erlang·System·Documentation.epub146 -rw-r--r--···0·root·········(0)·root·········(0)···753386·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/Erlang·System·Documentation.epub
147 -rw-r--r--···0·root·········(0)·root·········(0)····53464·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/applications.html147 -rw-r--r--···0·root·········(0)·root·········(0)····53464·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/applications.html
148 -rw-r--r--···0·root·········(0)·root·········(0)····97445·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/appup_cookbook.html148 -rw-r--r--···0·root·········(0)·root·········(0)····97445·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/appup_cookbook.html
149 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/149 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/
150 -rw-r--r--···0·root·········(0)·root·········(0)·····7982·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/ballpoint-pen.svg150 -rw-r--r--···0·root·········(0)·root·········(0)·····7982·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/ballpoint-pen.svg
151 -rw-r--r--···0·root·········(0)·root·········(0)·····2284·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist1.gif151 -rw-r--r--···0·root·········(0)·root·········(0)·····2284·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist1.gif
152 -rw-r--r--···0·root·········(0)·root·········(0)·····5214·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist2.gif152 -rw-r--r--···0·root·········(0)·root·········(0)·····5214·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist2.gif
153 -rw-r--r--···0·root·········(0)·root·········(0)·····5007·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist3.gif153 -rw-r--r--···0·root·········(0)·root·········(0)·····5007·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/doc/system/assets/dist3.gif
Offset 356, 15 lines modifiedOffset 356, 15 lines modified
356 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/356 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/
357 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/357 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/
358 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/358 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/
359 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/359 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/
360 -rw-r--r--···0·root·········(0)·root·········(0)·····1060·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/.build360 -rw-r--r--···0·root·········(0)·root·········(0)·····1060·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/.build
361 -rw-r--r--···0·root·········(0)·root·········(0)·····5998·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/404.html361 -rw-r--r--···0·root·········(0)·root·········(0)·····5998·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/404.html
362 -rw-r--r--···0·root·········(0)·root·········(0)·····6676·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/api-reference.html362 -rw-r--r--···0·root·········(0)·root·········(0)·····6676·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/api-reference.html
363 -rw-r--r--···0·root·········(0)·root·········(0)····97160·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1.epub363 -rw-r--r--···0·root·········(0)·root·········(0)····97163·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1.epub
364 -rw-r--r--···0·root·········(0)·root·········(0)···140448·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_getting_started.html364 -rw-r--r--···0·root·········(0)·root·········(0)···140448·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_getting_started.html
365 -rw-r--r--···0·root·········(0)·root·········(0)·····9316·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_introduction.html365 -rw-r--r--···0·root·········(0)·root·········(0)·····9316·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_introduction.html
366 -rw-r--r--···0·root·········(0)·root·········(0)·····7442·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_overview.html366 -rw-r--r--···0·root·········(0)·root·········(0)·····7442·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_overview.html
367 -rw-r--r--···0·root·········(0)·root·········(0)····78788·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_spec.html367 -rw-r--r--···0·root·········(0)·root·········(0)····78788·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_spec.html
368 -rw-r--r--···0·root·········(0)·root·········(0)····35357·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1ct.html368 -rw-r--r--···0·root·········(0)·root·········(0)····35357·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1ct.html
369 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/assets/369 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/assets/
370 -rw-r--r--···0·root·········(0)·root·········(0)·····1340·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/assets/exclusive_Win_But.gif370 -rw-r--r--···0·root·········(0)·root·········(0)·····1340·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/assets/exclusive_Win_But.gif
Offset 402, 15 lines modifiedOffset 402, 15 lines modified
402 -rw-r--r--···0·root·········(0)·root·········(0)····10664·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/api-reference.html402 -rw-r--r--···0·root·········(0)·root·········(0)····10664·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/api-reference.html
403 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/403 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/
404 -rw-r--r--···0·root·········(0)·root·········(0)·····4963·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/config.gif404 -rw-r--r--···0·root·········(0)·root·········(0)·····4963·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/config.gif
405 -rw-r--r--···0·root·········(0)·root·········(0)····10726·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/html_logs.gif405 -rw-r--r--···0·root·········(0)·root·········(0)····10726·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/html_logs.gif
406 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/logo.png406 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/logo.png
407 -rw-r--r--···0·root·········(0)·root·········(0)·····9561·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/tc_execution.gif407 -rw-r--r--···0·root·········(0)·root·········(0)·····9561·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/assets/tc_execution.gif
408 -rw-r--r--···0·root·········(0)·root·········(0)····21789·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/basics_chapter.html408 -rw-r--r--···0·root·········(0)·root·········(0)····21789·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/basics_chapter.html
409 -rw-r--r--···0·root·········(0)·root·········(0)···400011·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/common_test.epub409 -rw-r--r--···0·root·········(0)·root·········(0)···400028·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/common_test.epub
410 -rw-r--r--···0·root·········(0)·root·········(0)·····7496·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/common_test_app.html410 -rw-r--r--···0·root·········(0)·root·········(0)·····7496·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/common_test_app.html
411 -rw-r--r--···0·root·········(0)·root·········(0)····59620·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/config_file_chapter.html411 -rw-r--r--···0·root·········(0)·root·········(0)····59620·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/config_file_chapter.html
412 -rw-r--r--···0·root·········(0)·root·········(0)····25535·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/cover_chapter.html412 -rw-r--r--···0·root·········(0)·root·········(0)····25535·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/cover_chapter.html
413 -rw-r--r--···0·root·········(0)·root·········(0)···181368·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct.html413 -rw-r--r--···0·root·········(0)·root·········(0)···181368·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct.html
414 -rw-r--r--···0·root·········(0)·root·········(0)····12266·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_cover.html414 -rw-r--r--···0·root·········(0)·root·········(0)····12266·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_cover.html
415 -rw-r--r--···0·root·········(0)·root·········(0)····29920·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_ftp.html415 -rw-r--r--···0·root·········(0)·root·········(0)····29920·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_ftp.html
416 -rw-r--r--···0·root·········(0)·root·········(0)····76699·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_hooks.html416 -rw-r--r--···0·root·········(0)·root·········(0)····76699·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_hooks.html
Offset 471, 15 lines modifiedOffset 471, 15 lines modified
471 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/assets/471 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/assets/
472 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/assets/logo.png472 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/assets/logo.png
473 -rw-r--r--···0·root·········(0)·root·········(0)····24214·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/beam_ssa.html473 -rw-r--r--···0·root·········(0)·root·········(0)····24214·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/beam_ssa.html
474 -rw-r--r--···0·root·········(0)·root·········(0)···450046·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl.html474 -rw-r--r--···0·root·········(0)·root·········(0)···450046·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl.html
475 -rw-r--r--···0·root·········(0)·root·········(0)····28674·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl_clauses.html475 -rw-r--r--···0·root·········(0)·root·········(0)····28674·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl_clauses.html
476 -rw-r--r--···0·root·········(0)·root·········(0)····28895·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl_trees.html476 -rw-r--r--···0·root·········(0)·root·········(0)····28895·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl_trees.html
477 -rw-r--r--···0·root·········(0)·root·········(0)····86571·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/compile.html477 -rw-r--r--···0·root·········(0)·root·········(0)····86571·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/compile.html
478 -rw-r--r--···0·root·········(0)·root·········(0)···189633·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/compiler.epub478 -rw-r--r--···0·root·········(0)·root·········(0)···189634·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/compiler.epub
479 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/479 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/
480 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/handlebars.runtime-CFQAK6SD.js480 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/handlebars.runtime-CFQAK6SD.js
481 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/handlebars.templates-K7URE6B4.js481 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/handlebars.templates-K7URE6B4.js
482 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/html-55NP3CS6.js482 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/html-55NP3CS6.js
483 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/html-erlang-WGRVP7UZ.css483 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/html-erlang-WGRVP7UZ.css
484 -rw-r--r--···0·root·········(0)·root·········(0)····17732·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/inconsolata-latin-400-normal-OXLHDACS.woff2484 -rw-r--r--···0·root·········(0)·root·········(0)····17732·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/inconsolata-latin-400-normal-OXLHDACS.woff2
485 -rw-r--r--···0·root·········(0)·root·········(0)····17976·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/inconsolata-latin-700-normal-S55P5GAG.woff2485 -rw-r--r--···0·root·········(0)·root·········(0)····17976·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/dist/inconsolata-latin-700-normal-S55P5GAG.woff2
Offset 505, 15 lines modifiedOffset 505, 15 lines modified
505 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/505 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/
506 -rw-r--r--···0·root·········(0)·root·········(0)······978·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/.build506 -rw-r--r--···0·root·········(0)·root·········(0)······978·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/.build
507 -rw-r--r--···0·root·········(0)·root·········(0)·····6010·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/404.html507 -rw-r--r--···0·root·········(0)·root·········(0)·····6010·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/404.html
508 -rw-r--r--···0·root·········(0)·root·········(0)····35133·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/algorithm_details.html508 -rw-r--r--···0·root·········(0)·root·········(0)····35133·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/algorithm_details.html
509 -rw-r--r--···0·root·········(0)·root·········(0)·····6662·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/api-reference.html509 -rw-r--r--···0·root·········(0)·root·········(0)·····6662·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/api-reference.html
510 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/assets/510 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/assets/
511 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/assets/logo.png511 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/assets/logo.png
512 -rw-r--r--···0·root·········(0)·root·········(0)···127125·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto.epub512 -rw-r--r--···0·root·········(0)·root·········(0)···127128·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto.epub
513 -rw-r--r--···0·root·········(0)·root·········(0)···300253·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto.html513 -rw-r--r--···0·root·········(0)·root·········(0)···300253·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto.html
514 -rw-r--r--···0·root·········(0)·root·········(0)····10041·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto_app.html514 -rw-r--r--···0·root·········(0)·root·········(0)····10041·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto_app.html
515 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/515 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/
516 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/handlebars.runtime-CFQAK6SD.js516 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/handlebars.runtime-CFQAK6SD.js
517 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/handlebars.templates-K7URE6B4.js517 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/handlebars.templates-K7URE6B4.js
518 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/html-55NP3CS6.js518 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/html-55NP3CS6.js
519 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/html-erlang-WGRVP7UZ.css519 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/dist/html-erlang-WGRVP7UZ.css
Offset 587, 15 lines modifiedOffset 587, 15 lines modified
587 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/587 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/
588 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/588 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/
589 -rw-r--r--···0·root·········(0)·root·········(0)······921·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/.build589 -rw-r--r--···0·root·········(0)·root·········(0)······921·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/.build
590 -rw-r--r--···0·root·········(0)·root·········(0)·····6022·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/404.html590 -rw-r--r--···0·root·········(0)·root·········(0)·····6022·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/404.html
591 -rw-r--r--···0·root·········(0)·root·········(0)·····6786·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/api-reference.html591 -rw-r--r--···0·root·········(0)·root·········(0)·····6786·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/api-reference.html
592 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/assets/592 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/assets/
593 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/assets/logo.png593 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/assets/logo.png
594 -rw-r--r--···0·root·········(0)·root·········(0)····68057·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer.epub594 -rw-r--r--···0·root·········(0)·root·········(0)····68059·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer.epub
595 -rw-r--r--···0·root·········(0)·root·········(0)····53564·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer.html595 -rw-r--r--···0·root·········(0)·root·········(0)····53564·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer.html
596 -rw-r--r--···0·root·········(0)·root·········(0)····25892·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer_chapter.html596 -rw-r--r--···0·root·········(0)·root·········(0)····25892·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer_chapter.html
597 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/597 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/
598 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/handlebars.runtime-CFQAK6SD.js598 -rw-r--r--···0·root·········(0)·root·········(0)····20933·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/handlebars.runtime-CFQAK6SD.js
599 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/handlebars.templates-K7URE6B4.js599 -rw-r--r--···0·root·········(0)·root·········(0)····33580·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/handlebars.templates-K7URE6B4.js
600 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/html-55NP3CS6.js600 -rw-r--r--···0·root·········(0)·root·········(0)····70589·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/html-55NP3CS6.js
601 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/html-erlang-WGRVP7UZ.css601 -rw-r--r--···0·root·········(0)·root·········(0)····67213·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dist/html-erlang-WGRVP7UZ.css
Offset 622, 15 lines modifiedOffset 622, 15 lines modified
622 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/622 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/
623 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/623 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/
624 -rw-r--r--···0·root·········(0)·root·········(0)·····1143·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/.build624 -rw-r--r--···0·root·········(0)·root·········(0)·····1143·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/.build
625 -rw-r--r--···0·root·········(0)·root·········(0)·····6022·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/404.html625 -rw-r--r--···0·root·········(0)·root·········(0)·····6022·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/404.html
626 -rw-r--r--···0·root·········(0)·root·········(0)·····8206·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/api-reference.html626 -rw-r--r--···0·root·········(0)·root·········(0)·····8206·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/api-reference.html
627 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/assets/627 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/assets/
628 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/assets/logo.png628 -rw-r--r--···0·root·········(0)·root·········(0)·····5837·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/assets/logo.png
629 -rw-r--r--···0·root·········(0)·root·········(0)···145276·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter.epub629 -rw-r--r--···0·root·········(0)·root·········(0)···145269·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter.epub
630 -rw-r--r--···0·root·········(0)·root·········(0)···253460·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter.html630 -rw-r--r--···0·root·········(0)·root·········(0)···253460·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter.html
631 -rw-r--r--···0·root·········(0)·root·········(0)····57002·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_app.html631 -rw-r--r--···0·root·········(0)·root·········(0)····57002·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_app.html
632 -rw-r--r--···0·root·········(0)·root·········(0)····28976·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_codec.html632 -rw-r--r--···0·root·········(0)·root·········(0)····28976·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_codec.html
633 -rw-r--r--···0·root·········(0)·root·········(0)····32262·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_dict.html633 -rw-r--r--···0·root·········(0)·root·········(0)····32262·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_dict.html
634 -rw-r--r--···0·root·········(0)·root·········(0)·····6772·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_examples.html634 -rw-r--r--···0·root·········(0)·root·········(0)·····6772·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_examples.html
635 -rw-r--r--···0·root·········(0)·root·········(0)·····9512·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_intro.html635 -rw-r--r--···0·root·········(0)·root·········(0)·····9512·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_intro.html
636 -rw-r--r--···0·root·········(0)·root·········(0)····21908·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_make.html636 -rw-r--r--···0·root·········(0)·root·········(0)····21908·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_make.html
Offset 756, 15 lines modifiedOffset 756, 15 lines modified
756 -rw-r--r--···0·root·········(0)·root·········(0)····23040·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-700-normal-2XVSBPG4.woff2756 -rw-r--r--···0·root·········(0)·root·········(0)····23040·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-700-normal-2XVSBPG4.woff2
757 -rw-r--r--···0·root·········(0)·root·········(0)·····5624·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-ext-300-normal-VPGGJKJL.woff2757 -rw-r--r--···0·root·········(0)·root·········(0)·····5624·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-ext-300-normal-VPGGJKJL.woff2
758 -rw-r--r--···0·root·········(0)·root·········(0)·····5472·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-ext-400-normal-N27NCBWW.woff2758 -rw-r--r--···0·root·········(0)·root·········(0)·····5472·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-ext-400-normal-N27NCBWW.woff2
759 -rw-r--r--···0·root·········(0)·root·········(0)·····5368·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2759 -rw-r--r--···0·root·········(0)·root·········(0)·····5368·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
760 -rw-r--r--···0·root·········(0)·root·········(0)·····1956·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/remixicon-NKANDIL5.woff2760 -rw-r--r--···0·root·········(0)·root·········(0)·····1956·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/remixicon-NKANDIL5.woff2
761 -rw-r--r--···0·root·········(0)·root·········(0)····25496·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/search_data-407EBE57.js761 -rw-r--r--···0·root·········(0)·root·········(0)····25496·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/search_data-407EBE57.js
762 -rw-r--r--···0·root·········(0)·root·········(0)·····6043·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/sidebar_items-04992418.js762 -rw-r--r--···0·root·········(0)·root·········(0)·····6043·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/dist/sidebar_items-04992418.js
763 -rw-r--r--···0·root·········(0)·root·········(0)····33361·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/eldap.epub763 -rw-r--r--···0·root·········(0)·root·········(0)····33358·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/eldap.epub
764 -rw-r--r--···0·root·········(0)·root·········(0)····94391·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/eldap.html764 -rw-r--r--···0·root·········(0)·root·········(0)····94391·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/eldap.html
765 -rw-r--r--···0·root·········(0)·root·········(0)······264·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/index.html765 -rw-r--r--···0·root·········(0)·root·········(0)······264·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/index.html
766 -rw-r--r--···0·root·········(0)·root·········(0)····26619·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/notes.html766 -rw-r--r--···0·root·········(0)·root·········(0)····26619·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/notes.html
767 -rw-r--r--···0·root·········(0)·root·········(0)·····5929·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/search.html767 -rw-r--r--···0·root·········(0)·root·········(0)·····5929·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/search.html
768 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/768 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/
769 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/769 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/
770 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/770 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/
Max diff block lines reached; 58673/79118 bytes (74.16%) of diff not shown.
1.36 KB
./usr/share/doc/erlang-doc/html/doc/404.html
    
Offset 127, 15 lines modifiedOffset 127, 15 lines modified
127 ······<p·class="built-using">127 ······<p·class="built-using">
128 ········Built·using128 ········Built·using
129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
131 ······</p>131 ······</p>
132 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>132 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
133 ····</footer>133 ····</footer>
134 ··</div>134 ··</div>
135 </main>135 </main>
136 </div>136 </div>
137 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>137 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
138 ··<script>138 ··<script>
139 ··let·initialized·=·false;139 ··let·initialized·=·false;
603 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/doc/deprecations.html
    
Offset 493, 15 lines modifiedOffset 493, 15 lines modified
493 ······<p·class="built-using">493 ······<p·class="built-using">
494 ········Built·using494 ········Built·using
495 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the495 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
496 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>496 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
497 ······</p>497 ······</p>
498 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>498 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
499 ····</footer>499 ····</footer>
500 ··</div>500 ··</div>
501 </main>501 </main>
502 </div>502 </div>
503 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>503 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
504 ··<script>504 ··<script>
505 ··let·initialized·=·false;505 ··let·initialized·=·false;
760 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/doc/man_index.html
    
Offset 158, 15 lines modifiedOffset 158, 15 lines modified
158 ······<p·class="built-using">158 ······<p·class="built-using">
159 ········Built·using159 ········Built·using
160 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the160 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
161 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>161 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
162 ······</p>162 ······</p>
163 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>163 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
164 ····</footer>164 ····</footer>
165 ··</div>165 ··</div>
166 </main>166 </main>
167 </div>167 </div>
168 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>168 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
169 ··<script>169 ··<script>
170 ··let·initialized·=·false;170 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/doc/readme.html
    
Offset 149, 15 lines modifiedOffset 149, 15 lines modified
149 ······<p·class="built-using">149 ······<p·class="built-using">
150 ········Built·using150 ········Built·using
151 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the151 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
152 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>152 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
153 ······</p>153 ······</p>
154 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>154 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
155 ····</footer>155 ····</footer>
156 ··</div>156 ··</div>
157 </main>157 </main>
158 </div>158 </div>
159 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>159 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
160 ··<script>160 ··<script>
161 ··let·initialized·=·false;161 ··let·initialized·=·false;
800 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/doc/removed.html
    
Offset 388, 15 lines modifiedOffset 388, 15 lines modified
388 ······<p·class="built-using">388 ······<p·class="built-using">
389 ········Built·using389 ········Built·using
390 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the390 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
391 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>391 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
392 ······</p>392 ······</p>
393 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>393 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
394 ····</footer>394 ····</footer>
395 ··</div>395 ··</div>
396 </main>396 </main>
397 </div>397 </div>
398 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>398 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
399 ··<script>399 ··<script>
400 ··let·initialized·=·false;400 ··let·initialized·=·false;
700 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/doc/scheduled_for_removal.html
    
Offset 232, 15 lines modifiedOffset 232, 15 lines modified
232 ······<p·class="built-using">232 ······<p·class="built-using">
233 ········Built·using233 ········Built·using
234 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the234 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
235 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>235 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
236 ······</p>236 ······</p>
237 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>237 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
238 ····</footer>238 ····</footer>
239 ··</div>239 ··</div>
240 </main>240 </main>
241 </div>241 </div>
242 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>242 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
243 ··<script>243 ··<script>
244 ··let·initialized·=·false;244 ··let·initialized·=·false;
740 B
html2text {}
Max HTML report size reached
1.18 KB
./usr/share/doc/erlang-doc/html/doc/search.html
    
Offset 127, 15 lines modifiedOffset 127, 15 lines modified
127 ······<p·class="built-using">127 ······<p·class="built-using">
128 ········Built·using128 ········Built·using
129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
131 ······</p>131 ······</p>
132 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>132 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
133 ····</footer>133 ····</footer>
134 ··</div>134 ··</div>
135 </main>135 </main>
136 </div>136 </div>
137 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>137 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
138 ··<script>138 ··<script>
139 ··let·initialized·=·false;139 ··let·initialized·=·false;
419 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/doc/system/404.html
    
Offset 131, 15 lines modifiedOffset 131, 15 lines modified
131 ······<p·class="built-using">131 ······<p·class="built-using">
132 ········Built·using132 ········Built·using
133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
135 ······</p>135 ······</p>
136 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>136 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
137 ····</footer>137 ····</footer>
138 ··</div>138 ··</div>
139 </main>139 </main>
140 </div>140 </div>
141 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>141 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
142 ··<script>142 ··<script>
143 ··let·initialized·=·false;143 ··let·initialized·=·false;
684 B
html2text {}
Max HTML report size reached
4.45 MB
./usr/share/doc/erlang-doc/html/doc/system/Erlang System Documentation.epub
14.5 KB
zipinfo {}
Max HTML report size reached
544 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
70.1 KB
OEBPS/typespec.xhtml
Max HTML report size reached
69.8 KB
OEBPS/tablesdatabases.xhtml
Max HTML report size reached
63.7 KB
OEBPS/sup_princ.xhtml
Max HTML report size reached
368 KB
OEBPS/statem.xhtml
Max HTML report size reached
196 KB
OEBPS/spec_proc.xhtml
Max HTML report size reached
426 KB
OEBPS/seq_prog.xhtml
Max HTML report size reached
113 KB
OEBPS/robustness.xhtml
Max HTML report size reached
18.0 KB
OEBPS/release_structure.xhtml
Max HTML report size reached
67.3 KB
OEBPS/release_handling.xhtml
Max HTML report size reached
30.3 KB
OEBPS/ref_man_records.xhtml
Max HTML report size reached
5.29 KB
OEBPS/ref_man_processes.xhtml
Max HTML report size reached
20.9 KB
OEBPS/ref_man_functions.xhtml
Max HTML report size reached
84.0 KB
OEBPS/records_macros.xhtml
Max HTML report size reached
69.8 KB
OEBPS/prog_ex_records.xhtml
Max HTML report size reached
3.69 KB
OEBPS/patterns.xhtml
Max HTML report size reached
1.47 KB
OEBPS/otp-patch-apply.xhtml
Max HTML report size reached
9.0 KB
OEBPS/opaques.xhtml
Max HTML report size reached
23.6 KB
OEBPS/nominals.xhtml
Max HTML report size reached
15.9 KB
OEBPS/nif.xhtml
Max HTML report size reached
23.9 KB
OEBPS/modules.xhtml
Max HTML report size reached
51.4 KB
OEBPS/maps.xhtml
Max HTML report size reached
58.2 KB
OEBPS/macros.xhtml
Max HTML report size reached
55.3 KB
OEBPS/listhandling.xhtml
Max HTML report size reached
92.3 KB
OEBPS/list_comprehensions.xhtml
Max HTML report size reached
6.1 KB
OEBPS/install-win32.xhtml
Max HTML report size reached
32.9 KB
OEBPS/included_applications.xhtml
Max HTML report size reached
48.0 KB
OEBPS/gen_server_concepts.xhtml
Max HTML report size reached
213 KB
OEBPS/funs.xhtml
Max HTML report size reached
367 KB
OEBPS/expressions.xhtml
Max HTML report size reached
1.63 KB
OEBPS/example.xhtml
Max HTML report size reached
40.5 KB
OEBPS/events.xhtml
Max HTML report size reached
9.91 KB
OEBPS/errors.xhtml
Max HTML report size reached
17.6 KB
OEBPS/error_logging.xhtml
Max HTML report size reached
70.9 KB
OEBPS/erl_interface.xhtml
Max HTML report size reached
65.6 KB
OEBPS/eff_guide_processes.xhtml
Max HTML report size reached
33.3 KB
OEBPS/eff_guide_functions.xhtml
Max HTML report size reached
7.09 KB
OEBPS/drivers.xhtml
Max HTML report size reached
65.2 KB
OEBPS/documentation.xhtml
Max HTML report size reached
16.2 KB
OEBPS/distributed_applications.xhtml
Max HTML report size reached
5.64 KB
OEBPS/distributed.xhtml
Max HTML report size reached
58.3 KB
OEBPS/design_principles.xhtml
Max HTML report size reached
77.0 KB
OEBPS/data_types.xhtml
Max HTML report size reached
184 KB
OEBPS/create_target.xhtml
Max HTML report size reached
3.17 KB
OEBPS/content.opf
3.14 KB
OEBPS/content.opf
Max HTML report size reached
208 KB
OEBPS/conc_prog.xhtml
Max HTML report size reached
51.5 KB
OEBPS/commoncaveats.xhtml
Max HTML report size reached
13.7 KB
OEBPS/code_loading.xhtml
Max HTML report size reached
63.5 KB
OEBPS/c_portdriver.xhtml
Max HTML report size reached
58.5 KB
OEBPS/c_port.xhtml
Max HTML report size reached
48.0 KB
OEBPS/bit_syntax.xhtml
Max HTML report size reached
79.2 KB
OEBPS/binaryhandling.xhtml
Max HTML report size reached
4.43 KB
OEBPS/benchmarking.xhtml
Max HTML report size reached
149 KB
OEBPS/appup_cookbook.xhtml
Max HTML report size reached
56.1 KB
OEBPS/applications.xhtml
Max HTML report size reached
57.6 KB
./usr/share/doc/erlang-doc/html/doc/system/applications.html
    
Offset 135, 34 lines modifiedOffset 135, 34 lines modified
135 <a·href="applications.html#app_dir">directory·structure</a>.</p><p><a·href=""·id="callback_module"></a></p><h2·id="application-callback-module"·class="section-heading">135 <a·href="applications.html#app_dir">directory·structure</a>.</p><p><a·href=""·id="callback_module"></a></p><h2·id="application-callback-module"·class="section-heading">
136 ··<a·href="#application-callback-module"·class="hover-link">136 ··<a·href="#application-callback-module"·class="hover-link">
137 ····<i·class="ri-link-m"·aria-hidden="true"></i>137 ····<i·class="ri-link-m"·aria-hidden="true"></i>
138 ··</a>138 ··</a>
139 ··<span·class="text">Application·Callback·Module</span>139 ··<span·class="text">Application·Callback·Module</span>
140 </h2>140 </h2>
141 <p>How·to·start·and·stop·the·code·for·the·application,·including·its·supervision141 <p>How·to·start·and·stop·the·code·for·the·application,·including·its·supervision
142 tree,·is·described·by·two·callback·functions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">start</span><span·class="p"·data-group-id="7842616263-1">(</span><span·class="n">StartType</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StartArgs</span><span·class="p"·data-group-id="7842616263-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7842616263-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="7842616263-2">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7842616263-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="7842616263-3">}</span><span·class="w"> 
143 </span><span·class="nf">stop</span><span·class="p"·data-group-id="7842616263-4">(</span><span·class="n">State</span><span·class="p"·data-group-id="7842616263-4">)</span></code></pre><ul><li><code·class="inline">start/2</code>·is·called·when·starting·the·ap[·...·truncated·by·diffoscope;·len:·30,·SHA:·e1e51cf208e8b479c99ec5ac74636ae6d670d0591b55b4bb7dda9657bce79190·...·]142 tree,·is·described·by·two·callback·functions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">start</span><span·class="p"·data-group-id="8395913037-1">(</span><span·class="n">StartType</span><span·class="p">,</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·740,·SHA:·16e87cc15d4f220637b1239f8c86ed1ef0b9528c5b7b7442564f9f6aaec84ab8·...·]
 143 </span><span·class="nf">stop</span><span·class="p"·data-group-id="8395913037-4">(</span><span·class="n">State</span><span·class="p"·data-group-id="8395913037-4">)</span></code></pre><ul><li><code·class="inline">start/2</code>·is·called·when·starting·the·application·and·is·to·create·the
144 supervision·tree·by·starting·the·top·supervisor.·It·is·expected·to·return·the144 supervision·tree·by·starting·the·top·supervisor.·It·is·expected·to·return·the
145 pid·of·the·top·supervisor·and·an·optional·term,·<code·class="inline">State</code>,·which·defaults·to145 pid·of·the·top·supervisor·and·an·optional·term,·<code·class="inline">State</code>,·which·defaults·to
146 <code·class="inline">[]</code>.·This·term·is·passed·as·is·to·<code·class="inline">stop/1</code>.</li><li><code·class="inline">StartType</code>·is·usually·the·atom·<code·class="inline">normal</code>.·It·has·other·values·only·in·the·case146 <code·class="inline">[]</code>.·This·term·is·passed·as·is·to·<code·class="inline">stop/1</code>.</li><li><code·class="inline">StartType</code>·is·usually·the·atom·<code·class="inline">normal</code>.·It·has·other·values·only·in·the·case
147 of·a·takeover·or·failover;·see147 of·a·takeover·or·failover;·see
148 <a·href="distributed_applications.html">Distributed·Applications</a>.</li><li><code·class="inline">StartArgs</code>·is·defined·by·the·key·<code·class="inline">mod</code>·in·the148 <a·href="distributed_applications.html">Distributed·Applications</a>.</li><li><code·class="inline">StartArgs</code>·is·defined·by·the·key·<code·class="inline">mod</code>·in·the
149 <a·href="applications.html#appl_res_file">application·resource·file</a>.</li><li><code·class="inline">stop/1</code>·is·called·<em>after</em>·the·application·has·been·stopped·and·is·to·do·any149 <a·href="applications.html#appl_res_file">application·resource·file</a>.</li><li><code·class="inline">stop/1</code>·is·called·<em>after</em>·the·application·has·been·stopped·and·is·to·do·any
150 necessary·cleaning·up.·The·actual·stopping·of·the·application,·that·is,150 necessary·cleaning·up.·The·actual·stopping·of·the·application,·that·is,
151 shutting·down·the·supervision·tree,·is·handled·automatically·as·described·in151 shutting·down·the·supervision·tree,·is·handled·automatically·as·described·in
152 <a·href="applications.html#stopping">Starting·and·Stopping·Applications</a>.</li></ul><p><a·href=""·id="ch_app"></a></p><p>Example·of·an·application·callback·module·for·packaging·the·supervision·tree152 <a·href="applications.html#stopping">Starting·and·Stopping·Applications</a>.</li></ul><p><a·href=""·id="ch_app"></a></p><p>Example·of·an·application·callback·module·for·packaging·the·supervision·tree
153 from·<a·href="sup_princ.html#ex">Supervisor·Behaviour</a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5859251325-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="5859251325-1">)</span><span·class="p">.</span><span·class="w">153 from·<a·href="sup_princ.html#ex">Supervisor·Behaviour</a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8356286827-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="8356286827-1">)</span><span·class="p">.</span><span·class="w">
154 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="5859251325-2">(</span><span·class="ss">application</span><span·class="p"·data-group-id="5859251325-2">)</span><span·class="p">.</span><span·class="w">154 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="8356286827-2">(</span><span·class="ss">application</span><span·class="p"·data-group-id="8356286827-2">)</span><span·class="p">.</span><span·class="w">
155 </span><span·class="w">155 </span><span·class="w">
156 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5859251325-3">(</span><span·class="p"·data-group-id="5859251325-4">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·116,·SHA:·90fec15d7d2382b43dcdf85a0739cb7b6c9a39855a1e291fb8e85da78a5a5aed·...·]-3">)</span><span·class="p">.</span><span·class="w">156 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8356286827-3">(</span><span·class="p"·data-group-id="8356286827-4">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·116,·SHA:·aefe31bee8594a71ea689d70306ef193d8c045dc235956f42f1467c73466f20e·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">start</span><span·class="p"·data-group-id="5859251325-5">(</span><span·class="p">_</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="5859251325-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">157 </span><span·class="nf">start</span><span·class="p"·data-group-id="8356286827-5">(</span><span·class="p">_</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="8356286827-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
158 ····</span><span·class="nc">ch_sup</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="5859251325-6">(</span><span·class="p"·data-group-id="5859251325-6">)</span><span·class="p">.</span><span·class="w">158 ····</span><span·class="nc">ch_sup</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="8356286827-6">(</span><span·class="p"·data-group-id="8356286827-6">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">stop</span><span·class="p"·data-group-id="5859251325-7">(</span><span·class="p">_</span><span·class="n">State</span><span·class="p"·data-group-id="5859251325-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">159 </span><span·class="nf">stop</span><span·class="p"·data-group-id="8356286827-7">(</span><span·class="p">_</span><span·class="n">State</span><span·class="p"·data-group-id="8356286827-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
160 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>A·library·application·that·cannot·be·started·or·stopped·does·not·need·any160 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>A·library·application·that·cannot·be·started·or·stopped·does·not·need·any
161 application·callback·module.</p><p><a·href=""·id="appl_res_file"></a></p><h2·id="application-resource-file"·class="section-heading">161 application·callback·module.</p><p><a·href=""·id="appl_res_file"></a></p><h2·id="application-resource-file"·class="section-heading">
162 ··<a·href="#application-resource-file"·class="hover-link">162 ··<a·href="#application-resource-file"·class="hover-link">
163 ····<i·class="ri-link-m"·aria-hidden="true"></i>163 ····<i·class="ri-link-m"·aria-hidden="true"></i>
164 ··</a>164 ··</a>
165 ··<span·class="text">Application·Resource·File</span>165 ··<span·class="text">Application·Resource·File</span>
166 </h2>166 </h2>
Offset 173, 22 lines modifiedOffset 173, 22 lines modified
173 keys.</li></ul><p>The·contents·of·a·minimal·<code·class="inline">.app</code>·file·for·a·library·application·<code·class="inline">libapp</code>·looks173 keys.</li></ul><p>The·contents·of·a·minimal·<code·class="inline">.app</code>·file·for·a·library·application·<code·class="inline">libapp</code>·looks
174 as·follows:</p><pre><code·class="text">{application,·libapp,·[]}.</code></pre><p>The·contents·of·a·minimal·<code·class="inline">.app</code>·file·<code·class="inline">ch_app.app</code>·for·a·supervision·tree174 as·follows:</p><pre><code·class="text">{application,·libapp,·[]}.</code></pre><p>The·contents·of·a·minimal·<code·class="inline">.app</code>·file·<code·class="inline">ch_app.app</code>·for·a·supervision·tree
175 application·like·<code·class="inline">ch_app</code>·looks·as·follows:</p><pre><code·class="text">{application,·ch_app,175 application·like·<code·class="inline">ch_app</code>·looks·as·follows:</p><pre><code·class="text">{application,·ch_app,
176 ·[{mod,·{ch_app,[]}}]}.</code></pre><p>The·key·<code·class="inline">mod</code>·defines·the·callback·module·and·start·argument·of·the·application,176 ·[{mod,·{ch_app,[]}}]}.</code></pre><p>The·key·<code·class="inline">mod</code>·defines·the·callback·module·and·start·argument·of·the·application,
177 in·this·case·<code·class="inline">ch_app</code>·and·<code·class="inline">[]</code>,·respectively.·This·means·that·the·following·is177 in·this·case·<code·class="inline">ch_app</code>·and·<code·class="inline">[]</code>,·respectively.·This·means·that·the·following·is
178 called·when·the·application·is·to·be·started:</p><pre><code·class="text">ch_app:start(normal,·[])</code></pre><p>The·following·is·called·when·the·application·is·stopped:</p><pre><code·class="text">ch_app:stop([])</code></pre><p>When·using·<a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>,·the·Erlang/OTP·tools·for·packaging·code·(see·Section178 called·when·the·application·is·to·be·started:</p><pre><code·class="text">ch_app:start(normal,·[])</code></pre><p>The·following·is·called·when·the·application·is·stopped:</p><pre><code·class="text">ch_app:stop([])</code></pre><p>When·using·<a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>,·the·Erlang/OTP·tools·for·packaging·code·(see·Section
179 <a·href="release_structure.html">Releases</a>),·the·keys·<code·class="inline">description</code>,·<code·class="inline">vsn</code>,·<code·class="inline">modules</code>,179 <a·href="release_structure.html">Releases</a>),·the·keys·<code·class="inline">description</code>,·<code·class="inline">vsn</code>,·<code·class="inline">modules</code>,
180 <code·class="inline">registered</code>,·and·<code·class="inline">applications</code>·are·also·to·be·specified:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5632382081-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">180 <code·class="inline">registered</code>,·and·<code·class="inline">applications</code>·are·also·to·be·specified:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2266433338-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">
181 ·</span><span·class="p"·data-group-id="5632382081-2">[</span><span·class="p"·data-group-id="5632382081-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Channel·allocator&quot;</span><span·class="p"·data-group-id="5632382081-3">}</span><span·class="p">,</span><span·class="w">181 ·</span><span·class="p"·data-group-id="2266433338-2">[</span><span·class="p"·data-group-id="2266433338-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Channel·allocator&quot;</span><span·class="p"·data-group-id="2266433338-3">}</span><span·class="p">,</span><span·class="w">
182 ··</span><span·class="p"·data-group-id="5632382081-4">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="5632382081-4">}</span><span·class="p">,</span><span·class="w">182 ··</span><span·class="p"·data-group-id="2266433338-4">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="2266433338-4">}</span><span·class="p">,</span><span·class="w">
183 ··</span><span·class="p"·data-group-id="5632382081-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5632382081-6">[</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_sup<[·...·truncated·by·diffoscope;·len:·175,·SHA:·8494feceb161338c9804e65f6dc4cef66dc28eda1a6f3d14d4384fbf7635ff30·...·]-5">}</span><span·class="p">,</span><span·class="w">183 ··</span><span·class="p"·data-group-id="2266433338-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2266433338-6">[</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_sup<[·...·truncated·by·diffoscope;·len:·175,·SHA:·2c4e032fde39ff5e27d973dcc490d9bf30f4ed9136f639c9d1619f4767f854ff·...·]-5">}</span><span·class="p">,</span><span·class="w">
184 ··</span><span·class="p"·data-group-id="5632382081-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5632382081-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="5632382081-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·386c74d6e0e08b4579667ed256191d3f702d4cad04a3d4c0fbe77687c25cbac8·...·]-7">}</span><span·class="p">,</span><span·class="w">184 ··</span><span·class="p"·data-group-id="2266433338-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2266433338-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="2266433338-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·227100da53fa96227bf0f8b7b2674cfa1dcc50aa937287984c1418e8b2a282ec·...·]-7">}</span><span·class="p">,</span><span·class="w">
185 ··</span><span·class="p"·data-group-id="5632382081-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5632382081-10">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·183,·SHA:·f85b919785503c4a648b9c228db76531a3facec60ea9f53e61ef3b9566a28edb·...·]-9">}</span><span·class="p">,</span><span·class="w">185 ··</span><span·class="p"·data-group-id="2266433338-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2266433338-10">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·183,·SHA:·fd8f136033e270a9de8b6e8597f455be031ad0ff89031154c744fd5d3f7aaf59·...·]-9">}</span><span·class="p">,</span><span·class="w">
186 ··</span><span·class="p"·data-group-id="5632382081-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5632382081-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="5632382081-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·e2ea1e09eeacbe72ba5a6b53c131ace209b5e958c1e990d9643aebf0f02f96c6·...·]-11">}</span><span·class="w">186 ··</span><span·class="p"·data-group-id="2266433338-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2266433338-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="2266433338-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·017b2c56300b6b6e529ad3c88d79c3a243888b8ca197065864545b7d0ee02528·...·]-11">}</span><span·class="w">
187 ·</span><span·class="p"·data-group-id="5632382081-2">]</span><span·class="p"·data-group-id="5632382081-1">}</span><span·class="p">.</span></code></pre><ul><li><code·class="inline">description</code>·-·A·short·description,·a·string.·Defaults·to·<code·class="inline">&quot;&quot;</code>.</li><li><code·class="inline">vsn</code>·-·Version·number,·a·string.·Defaults·to·<code·class="inline">&quot;&quot;</code>.</li><li><code·class="inline">modules</code>·-·All·modules·<em>introduced</em>·by·this·application.·<a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·uses187 ·</span><span·class="p"·data-group-id="2266433338-2">]</span><span·class="p"·data-group-id="2266433338-1">}</span><span·class="p">.</span></code></pre><ul><li><code·class="inline">description</code>·-·A·short·description,·a·string.·Defaults·to·<code·class="inline">&quot;&quot;</code>.</li><li><code·class="inline">vsn</code>·-·Version·number,·a·string.·Defaults·to·<code·class="inline">&quot;&quot;</code>.</li><li><code·class="inline">modules</code>·-·All·modules·<em>introduced</em>·by·this·application.·<a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·uses
188 this·list·when·generating·boot·scripts·and·tar·files.·A·module·must·only188 this·list·when·generating·boot·scripts·and·tar·files.·A·module·must·only
189 be·included·in·one·application.·Defaults·to·<code·class="inline">[]</code>.</li><li><code·class="inline">registered</code>·-·All·names·of·registered·processes·in·the·application.189 be·included·in·one·application.·Defaults·to·<code·class="inline">[]</code>.</li><li><code·class="inline">registered</code>·-·All·names·of·registered·processes·in·the·application.
190 <a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·uses·this·list·to·detect·name·clashes·between·applications.190 <a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·uses·this·list·to·detect·name·clashes·between·applications.
191 Defaults·to·<code·class="inline">[]</code>.</li><li><code·class="inline">applications</code>·-·All·applications·that·must·be·started·before·this191 Defaults·to·<code·class="inline">[]</code>.</li><li><code·class="inline">applications</code>·-·All·applications·that·must·be·started·before·this
192 application·is·started.·<a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·uses·this·list·to·generate·correct·boot192 application·is·started.·<a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·uses·this·list·to·generate·correct·boot
193 scripts.·Defaults·to·<code·class="inline">[]</code>.·Notice·that·all·applications·have·dependencies·to193 scripts.·Defaults·to·<code·class="inline">[]</code>.·Notice·that·all·applications·have·dependencies·to
194 at·least·Kernel·and·STDLIB.</li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>For·details·about·the·syntax·and·contents·of·the·application·resource·file,194 at·least·Kernel·and·STDLIB.</li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>For·details·about·the·syntax·and·contents·of·the·application·resource·file,
Offset 300, 38 lines modifiedOffset 300, 38 lines modified
300 stop·applications.</p><h2·id="loading-and-unloading-applications"·class="section-heading">300 stop·applications.</p><h2·id="loading-and-unloading-applications"·class="section-heading">
301 ··<a·href="#loading-and-unloading-applications"·class="hover-link">301 ··<a·href="#loading-and-unloading-applications"·class="hover-link">
302 ····<i·class="ri-link-m"·aria-hidden="true"></i>302 ····<i·class="ri-link-m"·aria-hidden="true"></i>
303 ··</a>303 ··</a>
304 ··<span·class="text">Loading·and·Unloading·Applications</span>304 ··<span·class="text">Loading·and·Unloading·Applications</span>
305 </h2>305 </h2>
306 <p>Before·an·application·can·be·started,·it·must·be·<em>loaded</em>.·The·application306 <p>Before·an·application·can·be·started,·it·must·be·<em>loaded</em>.·The·application
307 controller·reads·and·stores·the·information·from·the·<code·class="inline">.app</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">load</span><span·class="p"·data-group-id="4781092520-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="4781092520-1">)</span><span·class="p">.</span><span·class="w">307 controller·reads·and·stores·the·information·from·the·<code·class="inline">.app</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">load</span><span·class="p"·data-group-id="2224751489-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="2224751489-1">)</span><span·class="p">.</span><span·class="w">
308 </span><span·class="ss">ok</span><span·class="gp·unselectable">308 </span><span·class="ss">ok</span><span·class="gp·unselectable">
309 2&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">loaded_applications</span><span·class="p"·data-group-id="4781092520-2">(</span><span·class="p"·data-group-id="4781092520-2">)</span><span·class="p">.</span><span·class="w">309 2&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">loaded_applications</span><span·class="p"·data-group-id="2224751489-2">(</span><span·class="p"·data-group-id="2224751489-2">)</span><span·class="p">.</span><span·class="w">
310 </span><span·class="p"·data-group-id="4781092520-3">[</span><span·class="p"·data-group-id="4781092520-4">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="s">&quot;ERTS··CXC·138·10&quot;</span><span·class="p">,</span><span·class="s">&quot;2.8.1.3&quot;</span><span·clas[·...·truncated·by·diffoscope;·len:·31,·SHA:·1def4c21bb24668f525c8b2ef3b9462e843bed8c80a41a22bcd17b956d46fcec·...·]-4">}</span><span·class="p">,</span><span·class="w">310 </span><span·class="p"·data-group-id="2224751489-3">[</span><span·class="p"·data-group-id="2224751489-4">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="s">&quot;ERTS··CXC·138·10&quot;</span><span·class="p">,</span><span·class="s">&quot;2.8.1.3&quot;</span><span·clas[·...·truncated·by·diffoscope;·len:·31,·SHA:·ea8e3c2c44864980e9092fd0dca1c5613fccfb3c0b06fd3560a70b1e15991c35·...·]-4">}</span><span·class="p">,</span><span·class="w">
311 ·</span><span·class="p"·data-group-id="4781092520-5">{</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="s">&quot;ERTS··CXC·138·10&quot;</span><span·class="p">,</span><span·class="s">&quot;1.11.4.3&quot;</span><span·class="p"·data-group-id="4781092520-5">}</span><span·class="p">,</span><span·class="w">311 ·</span><span·class="p"·data-group-id="2224751489-5">{</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="s">&quot;ERTS··CXC·138·10&quot;</span><span·class="p">,</span><span·class="s">&quot;1.11.4.3&quot;</span><span·class="p"·data-group-id="2224751489-5">}</span><span·class="p">,</span><span·class="w">
312 ·</span><span·class="p"·data-group-id="4781092520-6">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="s">&quot;Channel·allocator&quot;</span><span·class="p">,</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="4781092520-6">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·47678a92bd1382a1df89e834d8d9837a2dacec91c6f35dd77152183246f9d75e·...·]-3">]</span></code></pre><p>An·application·that·has·been·stopped,·or·has·never·been·started,·can·be312 ·</span><span·class="p"·data-group-id="2224751489-6">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="s">&quot;Channel·allocator&quot;</span><span·class="p">,</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="2224751489-6">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·0f0b0077dbb9e6cf4c82c6c69f0adbb6545bec6aed493da8f5d21ed3f7259443·...·]-3">]</span></code></pre><p>An·application·that·has·been·stopped,·or·has·never·been·started,·can·be
313 unloaded.·The·information·about·the·application·is·erased·from·the·internal313 unloaded.·The·information·about·the·application·is·erased·from·the·internal
314 database·of·the·application·controller.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">unload</span><span·class="p"·data-group-id="7540501205-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="7540501205-1">)</span><span·class="p">.</span><span·class="w">314 database·of·the·application·controller.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">unload</span><span·class="p"·data-group-id="8816619678-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="8816619678-1">)</span><span·class="p">.</span><span·class="w">
315 </span><span·class="ss">ok</span><span·class="gp·unselectable">315 </span><span·class="ss">ok</span><span·class="gp·unselectable">
316 4&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">loaded_applications</span><span·class="p"·data-group-id="7540501205-2">(</span><span·class="p"·data-group-id="7540501205-2">)</span><span·class="p">.</span><span·class="w">316 4&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">loaded_applications</span><span·class="p"·data-group-id="8816619678-2">(</span><span·class="p"·data-group-id="8816619678-2">)</span><span·class="p">.</span><span·class="w">
317 </span><span·class="p"·data-group-id="7540501205-3">[</span><span·class="p"·data-group-id="7540501205-4">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="s">&quot;ERTS··CXC·138·10&quot;</span><span·class="p">,</span><span·class="s">&quot;2.8.1.3&quot;</span><span·clas[·...·truncated·by·diffoscope;·len:·31,·SHA:·13048130770216baca469f97ad49f3869cd78de6608ea2a5a3620361f1976486·...·]-4">}</span><span·class="p">,</span><span·class="w">317 </span><span·class="p"·data-group-id="8816619678-3">[</span><span·class="p"·data-group-id="8816619678-4">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="s">&quot;ERTS··CXC·138·10&quot;</span><span·class="p">,</span><span·class="s">&quot;2.8.1.3&quot;</span><span·clas[·...·truncated·by·diffoscope;·len:·31,·SHA:·59e42312d9e315dcc265c1a3da7b5bf484db30b20a6983a990619cf8d2bd3918·...·]-4">}</span><span·class="p">,</span><span·class="w">
318 ·</span><span·class="p"·data-group-id="7540501205-5">{</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="s">&quot;ERTS··CXC·138·10&quot;</span><span·class="p">,</span><span·class="s">&quot;1.11.4.3&quot;</span><span·class="p"·data-group-id="7540501205-5">}</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·747e8672181f16145888847c5e20181f133c1b08963c158c5a14c4421fb447d9·...·]-3">]</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Loading/unloading·an·application·does·not·load/unload·the·code·used·by·the318 ·</span><span·class="p"·data-group-id="8816619678-5">{</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="s">&quot;ERTS··CXC·138·10&quot;</span><span·class="p">,</span><span·class="s">&quot;1.11.4.3&quot;</span><span·class="p"·data-group-id="8816619678-5">}</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·4b1ec467b7fc4653df24199e57d3531c822c629d480b0c53b5f0034318ce01b6·...·]-3">]</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Loading/unloading·an·application·does·not·load/unload·the·code·used·by·the
319 application.·Code·loading·is·handled·in·the·usual·way·by·the·code·server.</p></section><p><a·href=""·id="stopping"></a></p><h2·id="starting-and-stopping-applications"·class="section-heading">319 application.·Code·loading·is·handled·in·the·usual·way·by·the·code·server.</p></section><p><a·href=""·id="stopping"></a></p><h2·id="starting-and-stopping-applications"·class="section-heading">
320 ··<a·href="#starting-and-stopping-applications"·class="hover-link">320 ··<a·href="#starting-and-stopping-applications"·class="hover-link">
321 ····<i·class="ri-link-m"·aria-hidden="true"></i>321 ····<i·class="ri-link-m"·aria-hidden="true"></i>
322 ··</a>322 ··</a>
323 ··<span·class="text">Starting·and·Stopping·Applications</span>323 ··<span·class="text">Starting·and·Stopping·Applications</span>
324 </h2>324 </h2>
325 <p>An·application·is·started·by·calling:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="8091481658-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="8091481658-1">)</span><span·class="p">.</span><span·class="w">325 <p>An·application·is·started·by·calling:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="9895029619-1">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="9895029619-1">)</span><span·class="p">.</span><span·class="w">
326 </span><span·class="ss">ok</span><span·class="gp·unselectable">326 </span><span·class="ss">ok</span><span·class="gp·unselectable">
327 6&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">which_applications</span><span·class="p"·data-group-id="8091481658-2">(</span><span·class="p"·data-group-id="8091481658-2">)</span><span·class="p">.</span><span·class="w">327 6&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">which_applications</span><span·class="p"·data-group-id="9895029619-2">(</span><span·class="p"·data-group-id="9895029619-2">)</span><span·class="p">.</span><span·class="w">
328 </span><span·class="p"·data-group-id="8091481658-3">[</span><span·class="p"·data-group-id="8091481658-4">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="s">&quot;ERTS··CXC·138·10&quot;</span><span·class="p">,</span><span·class="s">&quot;2.8.1.3&quot;</span><span·clas[·...·truncated·by·diffoscope;·len:·31,·SHA:·159c606fc6d18eb0ee345bf5debcdf675e442246821afc11971c3fb8fa426ab3·...·]-4">}</span><span·class="p">,</span><span·class="w">328 </span><span·class="p"·data-group-id="9895029619-3">[</span><span·class="p"·data-group-id="9895029619-4">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="s">&quot;ERTS··CXC·138·10&quot;</span><span·class="p">,</span><span·class="s">&quot;2.8.1.3&quot;</span><span·clas[·...·truncated·by·diffoscope;·len:·31,·SHA:·1625d09d10e0907cbc02e9487915961c64a4e72f32debd01d448bb9c6b3da7e7·...·]-4">}</span><span·class="p">,</span><span·class="w">
329 ·</span><span·class="p"·data-group-id="8091481658-5">{</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="s">&quot;ERTS··CXC·138·10&quot;</span><span·class="p">,</span><span·class="s">&quot;1.11.4.3&quot;</span><span·class="p"·data-group-id="8091481658-5">}</span><span·class="p">,</span><span·class="w">329 ·</span><span·class="p"·data-group-id="9895029619-5">{</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="s">&quot;ERTS··CXC·138·10&quot;</span><span·class="p">,</span><span·class="s">&quot;1.11.4.3&quot;</span><span·class="p"·data-group-id="9895029619-5">}</span><span·class="p">,</span><span·class="w">
330 ·</span><span·class="p"·data-group-id="8091481658-6">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="s">&quot;Channel·allocator&quot;</span><span·class="p">,</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="8091481658-6">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·183d0c6354eb72eb1effc45b7407b52c4e92e3d0bc5b98c28c86051ae0eea635·...·]-3">]</span></code></pre><p>If·the·application·is·not·already·loaded,·the·application·controller·first·loads330 ·</span><span·class="p"·data-group-id="9895029619-6">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="s">&quot;Channel·allocator&quot;</span><span·class="p">,</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="9895029619-6">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·9a5c511d4f02291a7103235efa72380658e14078492b921cb48fc13bf0691278·...·]-3">]</span></code></pre><p>If·the·application·is·not·already·loaded,·the·application·controller·first·loads
331 it·using·<a·href="../../lib/kernel-10.3/doc/html/application.html#load/1"><code·class="inline">application:load/1</code></a>.·It·checks·the·value·of·the·<code·class="inline">applications</code>·key·to331 it·using·<a·href="../../lib/kernel-10.3/doc/html/application.html#load/1"><code·class="inline">application:load/1</code></a>.·It·checks·the·value·of·the·<code·class="inline">applications</code>·key·to
332 ensure·that·all·applications·that·are·to·be·started·before·this·application·are332 ensure·that·all·applications·that·are·to·be·started·before·this·application·are
333 running.</p><p><a·href=""·id="application_master"></a></p><p>Following·that,·the·application·controller·creates·an·<em>application·master</em>·for333 running.</p><p><a·href=""·id="application_master"></a></p><p>Following·that,·the·application·controller·creates·an·<em>application·master</em>·for
334 the·application.</p><p>The·application·master·establishes·itself·as·the·<a·href="../../erts-16.0/doc/html/erlang.html#group_leader/0">group334 the·application.</p><p>The·application·master·establishes·itself·as·the·<a·href="../../erts-16.0/doc/html/erlang.html#group_leader/0">group
335 leader</a>·of·all·processes·in·the·application335 leader</a>·of·all·processes·in·the·application
336 and·will·forward·I/O·to·the·previous·group·leader.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·purpose·of·the·application·master·being·the·group·leader·is·to·easily336 and·will·forward·I/O·to·the·previous·group·leader.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·purpose·of·the·application·master·being·the·group·leader·is·to·easily
337 keep·track·of·which·processes·that·belong·to·the·application.·That·is·needed337 keep·track·of·which·processes·that·belong·to·the·application.·That·is·needed
Offset 347, 55 lines modifiedOffset 347, 55 lines modified
347 defined·by·the·<code·class="inline">mod</code>·key.</p><h2·id="configuring-an-application"·class="section-heading">347 defined·by·the·<code·class="inline">mod</code>·key.</p><h2·id="configuring-an-application"·class="section-heading">
348 ··<a·href="#configuring-an-application"·class="hover-link">348 ··<a·href="#configuring-an-application"·class="hover-link">
349 ····<i·class="ri-link-m"·aria-hidden="true"></i>349 ····<i·class="ri-link-m"·aria-hidden="true"></i>
350 ··</a>350 ··</a>
351 ··<span·class="text">Configuring·an·Application</span>351 ··<span·class="text">Configuring·an·Application</span>
352 </h2>352 </h2>
353 <p>An·application·can·be·configured·using·<em>configuration·parameters</em>.·These·are·a353 <p>An·application·can·be·configured·using·<em>configuration·parameters</em>.·These·are·a
354 list·of·<code·class="inline">{Par,Val}</code>·tuples·specified·by·a·key·<code·class="inline">env</code>·in·the·<code·class="inline">.app</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6183513065-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">354 list·of·<code·class="inline">{Par,Val}</code>·tuples·specified·by·a·key·<code·class="inline">env</code>·in·the·<code·class="inline">.app</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2633815801-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">
355 ·</span><span·class="p"·data-group-id="6183513065-2">[</span><span·class="p"·data-group-id="6183513065-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Channel·allocator&quot;</span><span·class="p"·data-group-id="6183513065-3">}</span><span·class="p">,</span><span·class="w">355 ·</span><span·class="p"·data-group-id="2633815801-2">[</span><span·class="p"·data-group-id="2633815801-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Channel·allocator&quot;</span><span·class="p"·data-group-id="2633815801-3">}</span><span·class="p">,</span><span·class="w">
356 ··</span><span·class="p"·data-group-id="6183513065-4">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="6183513065-4">}</span><span·class="p">,</span><span·class="w">356 ··</span><span·class="p"·data-group-id="2633815801-4">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="2633815801-4">}</span><span·class="p">,</span><span·class="w">
357 ··</span><span·class="p"·data-group-id="6183513065-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6183513065-6">[</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_sup<[·...·truncated·by·diffoscope;·len:·175,·SHA:·4d9a7abb8532c85bdff7174999689fadddddd7d1e3521d197641297f57be4037·...·]-5">}</span><span·class="p">,</span><span·class="w">357 ··</span><span·class="p"·data-group-id="2633815801-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2633815801-6">[</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_sup<[·...·truncated·by·diffoscope;·len:·175,·SHA:·b668c95950083d10889d8cf8f431b4f7f449c2978da1c8427d5466f8a57dd2d6·...·]-5">}</span><span·class="p">,</span><span·class="w">
358 ··</span><span·class="p"·data-group-id="6183513065-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6183513065-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="6183513065-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·e9c301f30c070a3afc9ff8260303267928ef7737775398ae321ab9e33be27de0·...·]-7">}</span><span·class="p">,</span><span·class="w">358 ··</span><span·class="p"·data-group-id="2633815801-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2633815801-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="2633815801-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·a47172648f905023b287380d4b1b3bd35ddfbefe509161b8a690a229a9ee420a·...·]-7">}</span><span·class="p">,</span><span·class="w">
359 ··</span><span·class="p"·data-group-id="6183513065-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6183513065-10">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·183,·SHA:·0bb622132f1c94339d48fe237e341b6cf4d7b9c5d74e767631675ba6aebf6612·...·]-9">}</span><span·class="p">,</span><span·class="w">359 ··</span><span·class="p"·data-group-id="2633815801-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2633815801-10">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·183,·SHA:·211d7212a4932c3a1bd9f20e37565505a9364ff78512c3502ceceb9e48a54623·...·]-9">}</span><span·class="p">,</span><span·class="w">
360 ··</span><span·class="p"·data-group-id="6183513065-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6183513065-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="6183513065-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·d0defcae8813773862b8082d6323fa9611207ab9a8914af38df7d5cd9a2ab0c2·...·]-11">}</span><span·class="p">,</span><span·class="w">360 ··</span><span·class="p"·data-group-id="2633815801-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2633815801-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="2633815801-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·8017ca5a7619cf88d4c58e2487b710ebe5f8a66134017d65db7f31275a03092f·...·]-11">}</span><span·class="p">,</span><span·class="w">
361 ··</span><span·class="p"·data-group-id="6183513065-14">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6183513065-15">[</span><span·class="p"·data-group-id="6183513065-16">{</span><span·class="ss">file</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·224,·SHA:·4fc5488bc07264fbe9c126b18ad439e3e57cf023dba254023cb724ea49c6026d·...·]-14">}</span><span·class="w">361 ··</span><span·class="p"·data-group-id="2633815801-14">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2633815801-15">[</span><span·class="p"·data-group-id="2633815801-16">{</span><span·class="ss">file</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·224,·SHA:·d305e855ca166dee09082909b2e41aae828c4aa303a2f5b225ada992dedead08·...·]-14">}</span><span·class="w">
362 ·</span><span·class="p"·data-group-id="6183513065-2">]</span><span·class="p"·data-group-id="6183513065-1">}</span><span·class="p">.</span></code></pre><p><code·class="inline">Par</code>·is·to·be·an·atom.·<code·class="inline">Val</code>·is·any·term.·The·application·can·retrieve·the362 ·</span><span·class="p"·data-group-id="2633815801-2">]</span><span·class="p"·data-group-id="2633815801-1">}</span><span·class="p">.</span></code></pre><p><code·class="inline">Par</code>·is·to·be·an·atom.·<code·class="inline">Val</code>·is·any·term.·The·application·can·retrieve·the
363 value·of·a·configuration·parameter·by·calling·<code·class="inline">application:get_env(App,·Par)</code>·or363 value·of·a·configuration·parameter·by·calling·<code·class="inline">application:get_env(App,·Par)</code>·or
364 a·number·of·similar·functions.·For·more·information,·see·module·<a·href="../../lib/kernel-10.3/doc/html/application.html"><code·class="inline">application</code></a>364 a·number·of·similar·functions.·For·more·information,·see·module·<a·href="../../lib/kernel-10.3/doc/html/application.html"><code·class="inline">application</code></a>
365 in·Kernel.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl</span><span·class="w">365 in·Kernel.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl</span><span·class="w">
366 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="7959059994-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="7959059994-1">)</span><span·class="w">·</span><span·class="ss">emulator</span><span·class="w">·</span><span·class="ss">version</span><span·class="w">·</span><span·class="mf">5.[·...·truncated·by·diffoscope;·len:·415,·SHA:·d3b2489d8c019655f774aabcad7658388b2feb6949a571e0d644d089d66938e4·...·]-3">]</span><span·class="w">366 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="2703383741-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="2703383741-1">)</span><span·class="w">·</span><span·class="ss">emulator</span><span·class="w">·</span><span·class="ss">version</span><span·class="w">·</span><span·class="mf">5.[·...·truncated·by·diffoscope;·len:·415,·SHA:·60227267b1fd7e065cc50ec229f40927bd11714ccaa20c15db97e7842f6dd473·...·]-3">]</span><span·class="w">
  
367 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">2.3</span><span·class="p">.</span><span·class="mi">6</span><span·class="w">··</span><span·class="p"·data-group-id="7959059994-4">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="7959059994-4">)</span><span·class="gp·unselectable">367 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">2.3</span><span·class="p">.</span><span·class="mi">6</span><span·class="w">··</span><span·class="p"·data-group-id="2703383741-4">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="2703383741-4">)</span><span·class="gp·unselectable">
368 1&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="7959059994-5">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="7959059994-5">)</span><span·class="p">.</span><span·class="w">368 1&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="2703383741-5">(</span><span·class="ss">ch_app</span><span·class="p"·data-group-id="2703383741-5">)</span><span·class="p">.</span><span·class="w">
369 </span><span·class="ss">ok</span><span·class="gp·unselectable">369 </span><span·class="ss">ok</span><span·class="gp·unselectable">
370 2&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">get_env</span><span·class="p"·data-group-id="7959059994-6">(</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file</span><span·class="p"·data-group-id="7959059994-6">)</span><span·class="p">.</span><span·class="w">370 2&gt;·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">get_env</span><span·class="p"·data-group-id="2703383741-6">(</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file</span><span·class="p"·data-group-id="2703383741-6">)</span><span·class="p">.</span><span·class="w">
371 </span><span·class="p"·data-group-id="7959059994-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="s">&quot;/usr/local/log&quot;</span><span·class="p"·data-group-id="7959059994-7">}</span></code></pre><p>The·values·in·the·<code·class="inline">.app</code>·file·can·be·overridden·by·values·in·a·<em>system371 </span><span·class="p"·data-group-id="2703383741-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="s">&quot;/usr/local/log&quot;</span><span·class="p"·data-group-id="2703383741-7">}</span></code></pre><p>The·values·in·the·<code·class="inline">.app</code>·file·can·be·overridden·by·values·in·a·<em>system
372 configuration·file</em>.·This·is·a·file·that·contains·configuration·parameters·for372 configuration·file</em>.·This·is·a·file·that·contains·configuration·parameters·for
373 relevant·applications:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5925091622-1">[</span><span·class="p"·data-group-id="5925091622-2">{</span><span·class="n">Application1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5925091622-3">[</span><span·class="p"·data-group-id="5925091622-4">[·...·truncated·by·diffoscope;·len:·331,·SHA:·d9b4fef31e018dc37247bc1684544c961418a63b570784b126f74a8e9ffa9a88·...·]-2">}</span><span·class="p">,</span><span·class="w">373 relevant·applications:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0766318378-1">[</span><span·class="p"·data-group-id="0766318378-2">{</span><span·class="n">Application1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0766318378-3">[</span><span·class="p"·data-group-id="0766318378-4">[·...·truncated·by·diffoscope;·len:·331,·SHA:·a7d9bc6f2e9b8a3b90f2c31f714631ab5382c09ffc75e0a372b1e11a987ffff5·...·]-2">}</span><span·class="p">,</span><span·class="w">
374 ·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="w">374 ·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 11348/58087 bytes (19.54%) of diff not shown.
761 B
html2text {}
Max HTML report size reached
150 KB
./usr/share/doc/erlang-doc/html/doc/system/appup_cookbook.html
    
Offset 120, 18 lines modifiedOffset 120, 18 lines modified
120 ··<a·href="#changing-a-functional-module"·class="hover-link">120 ··<a·href="#changing-a-functional-module"·class="hover-link">
121 ····<i·class="ri-link-m"·aria-hidden="true"></i>121 ····<i·class="ri-link-m"·aria-hidden="true"></i>
122 ··</a>122 ··</a>
123 ··<span·class="text">Changing·a·Functional·Module</span>123 ··<span·class="text">Changing·a·Functional·Module</span>
124 </h2>124 </h2>
125 <p>When·a·functional·module·has·been·changed,·for·example,·if·a·new·function·has125 <p>When·a·functional·module·has·been·changed,·for·example,·if·a·new·function·has
126 been·added·or·a·bug·has·been·corrected,·simple·code·replacement·is·sufficient,126 been·added·or·a·bug·has·been·corrected,·simple·code·replacement·is·sufficient,
127 for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3606982473-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">127 for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1763379172-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
128 ·</span><span·class="p"·data-group-id="3606982473-2">[</span><span·class="p"·data-group-id="3606982473-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3606982473-4">[</span><span·class="p"·data-group-id="3606982473-5">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">m</span><span·class="p"·data-group-id="3606982473-5">}</span><span·class="p"·data-group-id="3606982473-4">]</span><span·class="p"·data-group-id="3606982473-3">}</span><span·class="p"·data-group-id="3606982473-2">]</span><span·class="p">,</span><span·class="w"> 
129 ·</span><span·class="p"·data-group-id="3606982473-6">[</span><span·class="p"·data-group-id="3606982473-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3606982473-8">[</span><span·class="p"·data-group-id="3606982473-9"[·...·truncated·by·diffoscope;·len:·322,·SHA:·cb766ff8f83beacc53befc9212f04615ed5588d7e89a8c3a7899d9886ca6ff48·...·]</span><span·class="w">128 ·</span><span·class="p"·data-group-id="1763379172-2">[</span><span·class="p"·data-group-id="1763379172-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1763379172-4">[</span><span·class="p"·data-group-id="1763379172-5"[·...·truncated·by·diffoscope;·len:·346,·SHA:·fd657fa3689c3ffc6105289e58e18e0dac02aa80ef286840bde0fa20041d0532·...·]</span><span·class="w">
 129 ·</span><span·class="p"·data-group-id="1763379172-6">[</span><span·class="p"·data-group-id="1763379172-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1763379172-8">[</span><span·class="p"·data-group-id="1763379172-9">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">m</span><span·class="p"·data-group-id="1763379172-9">}</span><span·class="p"·data-group-id="1763379172-8">]</span><span·class="p"·data-group-id="1763379172-7">}</span><span·class="p"·data-group-id="1763379172-6">]</span><span·class="w">
130 </span><span·class="p"·data-group-id="3606982473-1">}</span><span·class="p">.</span></code></pre><h2·id="changing-a-residence-module"·class="section-heading">130 </span><span·class="p"·data-group-id="1763379172-1">}</span><span·class="p">.</span></code></pre><h2·id="changing-a-residence-module"·class="section-heading">
131 ··<a·href="#changing-a-residence-module"·class="hover-link">131 ··<a·href="#changing-a-residence-module"·class="hover-link">
132 ····<i·class="ri-link-m"·aria-hidden="true"></i>132 ····<i·class="ri-link-m"·aria-hidden="true"></i>
133 ··</a>133 ··</a>
134 ··<span·class="text">Changing·a·Residence·Module</span>134 ··<span·class="text">Changing·a·Residence·Module</span>
135 </h2>135 </h2>
136 <p>In·a·system·implemented·according·to·the·OTP·design·principles,·all·processes,136 <p>In·a·system·implemented·according·to·the·OTP·design·principles,·all·processes,
137 except·system·processes·and·special·processes,·reside·in·one·of·the·behaviours137 except·system·processes·and·special·processes,·reside·in·one·of·the·behaviours
Offset 142, 46 lines modifiedOffset 142, 46 lines modified
142 ··<a·href="#changing-a-callback-module"·class="hover-link">142 ··<a·href="#changing-a-callback-module"·class="hover-link">
143 ····<i·class="ri-link-m"·aria-hidden="true"></i>143 ····<i·class="ri-link-m"·aria-hidden="true"></i>
144 ··</a>144 ··</a>
145 ··<span·class="text">Changing·a·Callback·Module</span>145 ··<span·class="text">Changing·a·Callback·Module</span>
146 </h2>146 </h2>
147 <p>A·callback·module·is·a·functional·module,·and·for·code·extensions·simple·code147 <p>A·callback·module·is·a·functional·module,·and·for·code·extensions·simple·code
148 replacement·is·sufficient.</p><p><em>Example</em></p><p>When·adding·a·function·to·<code·class="inline">ch3</code>,·as·described·in·the·example·in148 replacement·is·sufficient.</p><p><em>Example</em></p><p>When·adding·a·function·to·<code·class="inline">ch3</code>,·as·described·in·the·example·in
149 <a·href="release_handling.html#appup">Release·Handling</a>,·<code·class="inline">ch_app.appup</code>·looks·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3431398261-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">149 <a·href="release_handling.html#appup">Release·Handling</a>,·<code·class="inline">ch_app.appup</code>·looks·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8597273319-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
150 ·</span><span·class="p"·data-group-id="3431398261-2">[</span><span·class="p"·data-group-id="3431398261-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3431398261-4">[</span><span·class="p"·data-group-id="3431398261-5">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p"·data-group-id="3431398261-5">}</span><span·class="p"·data-group-id="3431398261-4">]</span><span·class="p"·data-group-id="3431398261-3">}</span><span·class="p"·data-group-id="3431398261-2">]</span><span·class="p">,</span><span·class="w"> 
151 ·</span><span·class="p"·data-group-id="3431398261-6">[</span><span·class="p"·data-group-id="3431398261-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3431398261-8">[</span><span·class="p"·data-group-id="3431398261-9"[·...·truncated·by·diffoscope;·len:·324,·SHA:·cdd75160cfd10b615603e939b6e928d3d161e3120edd647c1bcca74cc9d3f519·...·]</span><span·class="w">150 ·</span><span·class="p"·data-group-id="8597273319-2">[</span><span·class="p"·data-group-id="8597273319-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8597273319-4">[</span><span·class="p"·data-group-id="8597273319-5"[·...·truncated·by·diffoscope;·len:·348,·SHA:·519354ca7bd3910929afad471171d9bf2689aebdeda94e54270fa85adb3a274e·...·]</span><span·class="w">
 151 ·</span><span·class="p"·data-group-id="8597273319-6">[</span><span·class="p"·data-group-id="8597273319-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8597273319-8">[</span><span·class="p"·data-group-id="8597273319-9">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p"·data-group-id="8597273319-9">}</span><span·class="p"·data-group-id="8597273319-8">]</span><span·class="p"·data-group-id="8597273319-7">}</span><span·class="p"·data-group-id="8597273319-6">]</span><span·class="w">
152 </span><span·class="p"·data-group-id="3431398261-1">}</span><span·class="p">.</span></code></pre><p>OTP·also·supports·changing·the·internal·state·of·behaviour·processes;·see152 </span><span·class="p"·data-group-id="8597273319-1">}</span><span·class="p">.</span></code></pre><p>OTP·also·supports·changing·the·internal·state·of·behaviour·processes;·see
153 <a·href="appup_cookbook.html#int_state">Changing·Internal·State</a>.</p><p><a·href=""·id="int_state"></a></p><h2·id="changing-internal-state"·class="section-heading">153 <a·href="appup_cookbook.html#int_state">Changing·Internal·State</a>.</p><p><a·href=""·id="int_state"></a></p><h2·id="changing-internal-state"·class="section-heading">
154 ··<a·href="#changing-internal-state"·class="hover-link">154 ··<a·href="#changing-internal-state"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">Changing·Internal·State</span>157 ··<span·class="text">Changing·Internal·State</span>
158 </h2>158 </h2>
159 <p>In·this·case,·simple·code·replacement·is·not·sufficient.·The·process·must159 <p>In·this·case,·simple·code·replacement·is·not·sufficient.·The·process·must
160 explicitly·transform·its·state·using·the·callback·function·<code·class="inline">code_change/3</code>·before160 explicitly·transform·its·state·using·the·callback·function·<code·class="inline">code_change/3</code>·before
161 switching·to·the·new·version·of·the·callback·module.·Thus,·synchronized·code161 switching·to·the·new·version·of·the·callback·module.·Thus,·synchronized·code
162 replacement·is·used.</p><p><em>Example</em></p><p>Consider·the·<code·class="inline">ch3</code>·module·from162 replacement·is·used.</p><p><em>Example</em></p><p>Consider·the·<code·class="inline">ch3</code>·module·from
163 <a·href="gen_server_concepts.html#ex">gen_server·Behaviour</a>.·The·internal·state·is·a·term163 <a·href="gen_server_concepts.html#ex">gen_server·Behaviour</a>.·The·internal·state·is·a·term
164 <code·class="inline">Chs</code>·representing·the·available·channels.·Assume·you·want·to·add·a·counter·<code·class="inline">N</code>,164 <code·class="inline">Chs</code>·representing·the·available·channels.·Assume·you·want·to·add·a·counter·<code·class="inline">N</code>,
165 which·keeps·track·of·the·number·of·<code·class="inline">alloc</code>·requests·so·far.·This·means·that·the165 which·keeps·track·of·the·number·of·<code·class="inline">alloc</code>·requests·so·far.·This·means·that·the
166 format·must·be·changed·to·<code·class="inline">{Chs,N}</code>.</p><p>The·<code·class="inline">.appup</code>·file·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9117262655-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">166 format·must·be·changed·to·<code·class="inline">{Chs,N}</code>.</p><p>The·<code·class="inline">.appup</code>·file·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8732029737-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
167 ·</span><span·class="p"·data-group-id="9117262655-2">[</span><span·class="p"·data-group-id="9117262655-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9117262655-4">[</span><span·class="p"·data-group-id="9117262655-5"[·...·truncated·by·diffoscope;·len:·654,·SHA:·06d65eabeed2bac7648e37b01912313a0cfd2d61990311ef21efd2f4f07d84d8·...·]-2">]</span><span·class="p">,</span><span·class="w">167 ·</span><span·class="p"·data-group-id="8732029737-2">[</span><span·class="p"·data-group-id="8732029737-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8732029737-4">[</span><span·class="p"·data-group-id="8732029737-5"[·...·truncated·by·diffoscope;·len:·654,·SHA:·1b4144433dd033e4a24fa464911182443f801fb18fa43abd47bd76ccd385b8ee·...·]-2">]</span><span·class="p">,</span><span·class="w">
168 ·</span><span·class="p"·data-group-id="9117262655-8">[</span><span·class="p"·data-group-id="9117262655-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9117262655-10">[</span><span·class="p"·data-group-id="9117262655-1[·...·truncated·by·diffoscope;·len:·662,·SHA:·241b07869dfba0fba409b2413a60eab45cd55e16e763e7887a6115e465a2eef4·...·]-8">]</span><span·class="w">168 ·</span><span·class="p"·data-group-id="8732029737-8">[</span><span·class="p"·data-group-id="8732029737-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8732029737-10">[</span><span·class="p"·data-group-id="8732029737-1[·...·truncated·by·diffoscope;·len:·662,·SHA:·a41bbe83a4f9a274f8e72696ccd29fe3eab414140ecd1801cb88dc085baa3156·...·]-8">]</span><span·class="w">
169 </span><span·class="p"·data-group-id="9117262655-1">}</span><span·class="p">.</span></code></pre><p>The·third·element·of·the·<code·class="inline">update</code>·instruction·is·a·tuple·<code·class="inline">{advanced,Extra}</code>,169 </span><span·class="p"·data-group-id="8732029737-1">}</span><span·class="p">.</span></code></pre><p>The·third·element·of·the·<code·class="inline">update</code>·instruction·is·a·tuple·<code·class="inline">{advanced,Extra}</code>,
170 which·says·that·the·affected·processes·are·to·do·a·state·transformation·before170 which·says·that·the·affected·processes·are·to·do·a·state·transformation·before
171 loading·the·new·version·of·the·module.·This·is·done·by·the·processes·calling·the171 loading·the·new·version·of·the·module.·This·is·done·by·the·processes·calling·the
172 callback·function·<code·class="inline">code_change/3</code>·(see·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>·in·STDLIB).172 callback·function·<code·class="inline">code_change/3</code>·(see·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>·in·STDLIB).
173 The·term·<code·class="inline">Extra</code>,·in·this·case·<code·class="inline">[]</code>,·is·passed·as·is·to·the·function:</p><p><a·href=""·id="code_change"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2975787402-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="2975787402-1">)</span><span·class="p">.</span><span·class="w">173 The·term·<code·class="inline">Extra</code>,·in·this·case·<code·class="inline">[]</code>,·is·passed·as·is·to·the·function:</p><p><a·href=""·id="code_change"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0704829148-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="0704829148-1">)</span><span·class="p">.</span><span·class="w">
174 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">174 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
175 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2975787402-2">(</span><span·class="p"·data-group-id="2975787402-3">[</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi">3</span><span·class="p"·data-group-id="2975787402-3">]</span><span·class="p"·data-group-id="2975787402-2">)</span><span·class="p">.</span><span·class="w">175 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0704829148-2">(</span><span·class="p"·data-group-id="0704829148-3">[</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi">3</span><span·class="p"·data-group-id="0704829148-3">]</span><span·class="p"·data-group-id="0704829148-2">)</span><span·class="p">.</span><span·class="w">
176 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">176 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
177 </span><span·class="nf">code_change</span><span·class="p"·data-group-id="2975787402-4">(</span><span·class="p"·data-group-id="2975787402-5">{</span><span·class="ss">down</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Vsn</span><span·class="p"·data-group-id="2975787402-5">}</span><s[·...·truncated·by·diffoscope;·len:·391,·SHA:·5f4a06fa1d0e165b84eb06be03faadfcbaecb48c061a5d82d6e546ed1506ca83·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">177 </span><span·class="nf">code_change</span><span·class="p"·data-group-id="0704829148-4">(</span><span·class="p"·data-group-id="0704829148-5">{</span><span·class="ss">down</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Vsn</span><span·class="p"·data-group-id="0704829148-5">}</span><s[·...·truncated·by·diffoscope;·len:·391,·SHA:·93585b75eb24b91a5e989cf73d7043e7131e9fa53fe805301443804c276c7d92·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
178 ····</span><span·class="p"·data-group-id="2975787402-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="2975787402-7">}</span><span·class="p">;</span><span·class="w">178 ····</span><span·class="p"·data-group-id="0704829148-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="0704829148-7">}</span><span·class="p">;</span><span·class="w">
179 </span><span·class="nf">code_change</span><span·class="p"·data-group-id="2975787402-8">(</span><span·class="p">_</span><span·class="n">Vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Extra</span><span·clas[·...·truncated·by·diffoscope;·len:·31,·SHA:·65416f7531e1a0c3c679c8f481dd075623b3420e53c6e96c6a06cdc68cc60f80·...·]-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">179 </span><span·class="nf">code_change</span><span·class="p"·data-group-id="0704829148-8">(</span><span·class="p">_</span><span·class="n">Vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Extra</span><span·clas[·...·truncated·by·diffoscope;·len:·31,·SHA:·f76b5713931d13426f13d2a463de0a76311b208913cdc2d37596b9253bf1f60a·...·]-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
180 ····</span><span·class="p"·data-group-id="2975787402-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2975787402-10">{</span><span·class="n">Chs</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·c[·...·truncated·by·diffoscope;·len:·88,·SHA:·3b6e06752baa5663e763f3aab83b4b70ec0f5f6b334f8955f1ab1f04dbf9686f·...·]-9">}</span><span·class="p">.</span></code></pre><p>The·first·argument·is·<code·class="inline">{down,Vsn}</code>·if·there·is·a·downgrade,·or·<code·class="inline">Vsn</code>·if·there·is180 ····</span><span·class="p"·data-group-id="0704829148-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0704829148-10">{</span><span·class="n">Chs</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·c[·...·truncated·by·diffoscope;·len:·88,·SHA:·70af4a6149c87eed7d6edd012228a1e425c62100beea44a2a6833531e64ed5fc·...·]-9">}</span><span·class="p">.</span></code></pre><p>The·first·argument·is·<code·class="inline">{down,Vsn}</code>·if·there·is·a·downgrade,·or·<code·class="inline">Vsn</code>·if·there·is
181 a·upgrade.·The·term·<code·class="inline">Vsn</code>·is·fetched·from·the·'original'·version·of·the·module,181 a·upgrade.·The·term·<code·class="inline">Vsn</code>·is·fetched·from·the·'original'·version·of·the·module,
182 that·is,·the·version·you·are·upgrading·from,·or·downgrading·to.</p><p>The·version·is·defined·by·the·module·attribute·<code·class="inline">vsn</code>,·if·any.·There·is·no·such182 that·is,·the·version·you·are·upgrading·from,·or·downgrading·to.</p><p>The·version·is·defined·by·the·module·attribute·<code·class="inline">vsn</code>,·if·any.·There·is·no·such
183 attribute·in·<code·class="inline">ch3</code>,·so·in·this·case·the·version·is·the·checksum·(a·huge·integer)183 attribute·in·<code·class="inline">ch3</code>,·so·in·this·case·the·version·is·the·checksum·(a·huge·integer)
184 of·the·beam·file,·an·uninteresting·value,·which·is·ignored.</p><p>The·other·callback·functions·of·<code·class="inline">ch3</code>·must·also·be·modified·and·perhaps·a·new184 of·the·beam·file,·an·uninteresting·value,·which·is·ignored.</p><p>The·other·callback·functions·of·<code·class="inline">ch3</code>·must·also·be·modified·and·perhaps·a·new
185 interface·function·must·be·added,·but·this·is·not·shown·here.</p><h2·id="module-dependencies"·class="section-heading">185 interface·function·must·be·added,·but·this·is·not·shown·here.</p><h2·id="module-dependencies"·class="section-heading">
186 ··<a·href="#module-dependencies"·class="hover-link">186 ··<a·href="#module-dependencies"·class="hover-link">
187 ····<i·class="ri-link-m"·aria-hidden="true"></i>187 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 190, 67 lines modifiedOffset 190, 67 lines modified
190 </h2>190 </h2>
191 <p>Assume·that·a·module·is·extended·by·adding·an·interface·function,·as·in·the191 <p>Assume·that·a·module·is·extended·by·adding·an·interface·function,·as·in·the
192 example·in·<a·href="release_handling.html#appup">Release·Handling</a>,·where·a·function192 example·in·<a·href="release_handling.html#appup">Release·Handling</a>,·where·a·function
193 <code·class="inline">available/0</code>·is·added·to·<code·class="inline">ch3</code>.</p><p>If·a·call·is·added·to·this·function,·say·in·module·<code·class="inline">m1</code>,·a·runtime·error·could193 <code·class="inline">available/0</code>·is·added·to·<code·class="inline">ch3</code>.</p><p>If·a·call·is·added·to·this·function,·say·in·module·<code·class="inline">m1</code>,·a·runtime·error·could
194 can·occur·during·release·upgrade·if·the·new·version·of·<code·class="inline">m1</code>·is·loaded·first·and194 can·occur·during·release·upgrade·if·the·new·version·of·<code·class="inline">m1</code>·is·loaded·first·and
195 calls·<code·class="inline">ch3:available/0</code>·before·the·new·version·of·<code·class="inline">ch3</code>·is·loaded.</p><p>Thus,·<code·class="inline">ch3</code>·must·be·loaded·before·<code·class="inline">m1</code>,·in·the·upgrade·case,·and·conversely·in195 calls·<code·class="inline">ch3:available/0</code>·before·the·new·version·of·<code·class="inline">ch3</code>·is·loaded.</p><p>Thus,·<code·class="inline">ch3</code>·must·be·loaded·before·<code·class="inline">m1</code>,·in·the·upgrade·case,·and·conversely·in
196 the·downgrade·case.·<code·class="inline">m1</code>·is·said·to·be·<em>dependent·on</em>·<code·class="inline">ch3</code>.·In·a·release196 the·downgrade·case.·<code·class="inline">m1</code>·is·said·to·be·<em>dependent·on</em>·<code·class="inline">ch3</code>.·In·a·release
197 handling·instruction,·this·is·expressed·by·the·<code·class="inline">DepMods</code>·element:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0576345295-1">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DepMods</span><span·class="p"·data-group-id="0576345295-1">}</span><span·class="w">197 handling·instruction,·this·is·expressed·by·the·<code·class="inline">DepMods</code>·element:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0824777034-1">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DepMods</span><span·class="p"·data-group-id="0824777034-1">}</span><span·class="w">
198 </span><span·class="p"·data-group-id="0576345295-2">{</span><span·class="ss">update</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0576345295-3">{</span><span·class="ss">advanced</[·...·truncated·by·diffoscope;·len:·253,·SHA:·bff1c9be2c4660a29c5e282e1f928f756ad4e70034255edbc471f19be6f44adb·...·]-2">}</span></code></pre><p><code·class="inline">DepMods</code>·is·a·list·of·modules,·on·which·<code·class="inline">Module</code>·is·dependent.</p><p><em>Example</em></p><p>The·module·<code·class="inline">m1</code>·in·application·<code·class="inline">myapp</code>·is·dependent·on·<code·class="inline">ch3</code>·when198 </span><span·class="p"·data-group-id="0824777034-2">{</span><span·class="ss">update</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0824777034-3">{</span><span·class="ss">advanced</[·...·truncated·by·diffoscope;·len:·253,·SHA:·66290d21ba19b50faab9c389b2c80224b8a70800c9001bc7829aecd8db356b59·...·]-2">}</span></code></pre><p><code·class="inline">DepMods</code>·is·a·list·of·modules,·on·which·<code·class="inline">Module</code>·is·dependent.</p><p><em>Example</em></p><p>The·module·<code·class="inline">m1</code>·in·application·<code·class="inline">myapp</code>·is·dependent·on·<code·class="inline">ch3</code>·when
199 upgrading·from·&quot;1&quot;·to·&quot;2&quot;,·or·downgrading·from·&quot;2&quot;·to·&quot;1&quot;:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">myapp</span><span·class="p">.</span><span·class="nc">appup</span><span·class="p">:</span><span·class="w">199 upgrading·from·&quot;1&quot;·to·&quot;2&quot;,·or·downgrading·from·&quot;2&quot;·to·&quot;1&quot;:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">myapp</span><span·class="p">.</span><span·class="nc">appup</span><span·class="p">:</span><span·class="w">
  
200 </span><span·class="p"·data-group-id="7923848631-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">200 </span><span·class="p"·data-group-id="8566981987-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
201 ·</span><span·class="p"·data-group-id="7923848631-2">[</span><span·class="p"·data-group-id="7923848631-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7923848631-4">[</span><span·class="p"·data-group-id="7923848631-5"[·...·truncated·by·diffoscope;·len:·499,·SHA:·de57dc6db386ee3b20f871179b7738ae709eb02db30ddddf87f4c86cddd9db8f·...·]-2">]</span><span·class="p">,</span><span·class="w">201 ·</span><span·class="p"·data-group-id="8566981987-2">[</span><span·class="p"·data-group-id="8566981987-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8566981987-4">[</span><span·class="p"·data-group-id="8566981987-5"[·...·truncated·by·diffoscope;·len:·499,·SHA:·cfeeba14e16abb78173b5dd455dd294772fb12b6317c2a8844940489b98e2814·...·]-2">]</span><span·class="p">,</span><span·class="w">
202 ·</span><span·class="p"·data-group-id="7923848631-7">[</span><span·class="p"·data-group-id="7923848631-8">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7923848631-9">[</span><span·class="p"·data-group-id="7923848631-10[·...·truncated·by·diffoscope;·len:·503,·SHA:·7ac472507c8832a474bc043d4c6ec3c34eaa099a93d4eff56f9f7638489f34d4·...·]-7">]</span><span·class="w">202 ·</span><span·class="p"·data-group-id="8566981987-7">[</span><span·class="p"·data-group-id="8566981987-8">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8566981987-9">[</span><span·class="p"·data-group-id="8566981987-10[·...·truncated·by·diffoscope;·len:·503,·SHA:·e6432b2e8ea1af5c3ae1e7338b16ad16648ac2f520b8e086ea09493e76854aa0·...·]-7">]</span><span·class="w">
203 </span><span·class="p"·data-group-id="7923848631-1">}</span><span·class="p">.</span><span·class="w">203 </span><span·class="p"·data-group-id="8566981987-1">}</span><span·class="p">.</span><span·class="w">
  
204 </span><span·class="ss">ch_app</span><span·class="p">.</span><span·class="nc">appup</span><span·class="p">:</span><span·class="w">204 </span><span·class="ss">ch_app</span><span·class="p">.</span><span·class="nc">appup</span><span·class="p">:</span><span·class="w">
  
205 </span><span·class="p"·data-group-id="7923848631-12">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">205 </span><span·class="p"·data-group-id="8566981987-12">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
206 ·</span><span·class="p"·data-group-id="7923848631-13">[</span><span·class="p"·data-group-id="7923848631-14">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7923848631-15">[</span><span·class="p"·data-group-id="7923848631[·...·truncated·by·diffoscope;·len:·326,·SHA:·f693a5d62b0e00233e01f9eb2a170562b1621da8530966ad6b9d8bcb4501e8d4·...·]-13">]</span><span·class="p">,</span><span·class="w">206 ·</span><span·class="p"·data-group-id="8566981987-13">[</span><span·class="p"·data-group-id="8566981987-14">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8566981987-15">[</span><span·class="p"·data-group-id="8566981987[·...·truncated·by·diffoscope;·len:·326,·SHA:·bfc81b568a0e323907bbc748a83f34f619c0c6a43c9293afcc6827114864daad·...·]-13">]</span><span·class="p">,</span><span·class="w">
207 ·</span><span·class="p"·data-group-id="7923848631-17">[</span><span·class="p"·data-group-id="7923848631-18">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7923848631-19">[</span><span·class="p"·data-group-id="7923848631[·...·truncated·by·diffoscope;·len:·326,·SHA:·7ca55d0d944e994689e2cb1d9ab123d651b839fca4b97615a49708d772356b1e·...·]-17">]</span><span·class="w">207 ·</span><span·class="p"·data-group-id="8566981987-17">[</span><span·class="p"·data-group-id="8566981987-18">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8566981987-19">[</span><span·class="p"·data-group-id="8566981987[·...·truncated·by·diffoscope;·len:·326,·SHA:·6f6ddbfc4d00e807b4080bf7fd48a62aefd5fa48781245b59658c6ce64457853·...·]-17">]</span><span·class="w">
208 </span><span·class="p"·data-group-id="7923848631-12">}</span><span·class="p">.</span></code></pre><p>If·instead·<code·class="inline">m1</code>·and·<code·class="inline">ch3</code>·belong·to·the·same·application,·the·<code·class="inline">.appup</code>·file·can208 </span><span·class="p"·data-group-id="8566981987-12">}</span><span·class="p">.</span></code></pre><p>If·instead·<code·class="inline">m1</code>·and·<code·class="inline">ch3</code>·belong·to·the·same·application,·the·<code·class="inline">.appup</code>·file·can
209 look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0421298249-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">209 look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1812934237-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
210 ·</span><span·class="p"·data-group-id="0421298249-2">[</span><span·class="p"·data-group-id="0421298249-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">210 ·</span><span·class="p"·data-group-id="1812934237-2">[</span><span·class="p"·data-group-id="1812934237-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">
211 ···</span><span·class="p"·data-group-id="0421298249-4">[</span><span·class="p"·data-group-id="0421298249-5">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p"·data-group-id="0421298249-5">}</span><span·class="p">,</span><span·class="w">211 ···</span><span·class="p"·data-group-id="1812934237-4">[</span><span·class="p"·data-group-id="1812934237-5">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p"·data-group-id="1812934237-5">}</span><span·class="p">,</span><span·class="w">
212 ····</span><span·class="p"·data-group-id="0421298249-6">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">m1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0421298249-7">[</span><span·class="ss">ch3</sp[·...·truncated·by·diffoscope;·len:·256,·SHA:·0b75b0ea6a387a01c6b2a40db804cfc9203b1cbab9d187990d27a7e1f3953116·...·]-2">]</span><span·class="p">,</span><span·class="w">212 ····</span><span·class="p"·data-group-id="1812934237-6">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">m1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1812934237-7">[</span><span·class="ss">ch3</sp[·...·truncated·by·diffoscope;·len:·256,·SHA:·baa31befc18bd16f7549b4f3963010523c2cf80e5bc7e90999483a454c7da18a·...·]-2">]</span><span·class="p">,</span><span·class="w">
213 ·</span><span·class="p"·data-group-id="0421298249-8">[</span><span·class="p"·data-group-id="0421298249-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">213 ·</span><span·class="p"·data-group-id="1812934237-8">[</span><span·class="p"·data-group-id="1812934237-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">
214 ···</span><span·class="p"·data-group-id="0421298249-10">[</span><span·class="p"·data-group-id="0421298249-11">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p"·data-group-id="0421298249-11">}</span><span·class="p">,</span><span·class="w">214 ···</span><span·class="p"·data-group-id="1812934237-10">[</span><span·class="p"·data-group-id="1812934237-11">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p"·data-group-id="1812934237-11">}</span><span·class="p">,</span><span·class="w">
215 ····</span><span·class="p"·data-group-id="0421298249-12">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">m1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0421298249-13">[</span><span·class="ss">ch3</[·...·truncated·by·diffoscope;·len:·261,·SHA:·eb9a1242c6f2c13dfdd869fae103d7560a192984d11eeb5cd7a66de7e90f43a5·...·]-8">]</span><span·class="w">215 ····</span><span·class="p"·data-group-id="1812934237-12">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">m1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1812934237-13">[</span><span·class="ss">ch3</[·...·truncated·by·diffoscope;·len:·261,·SHA:·905284c481e44a9f73188eab74c81b22b58d0b60619d270b71d70c5ad5a2f154·...·]-8">]</span><span·class="w">
216 </span><span·class="p"·data-group-id="0421298249-1">}</span><span·class="p">.</span></code></pre><p><code·class="inline">m1</code>·is·dependent·on·<code·class="inline">ch3</code>·also·when·downgrading.·<code·class="inline">systools</code>·knows·the216 </span><span·class="p"·data-group-id="1812934237-1">}</span><span·class="p">.</span></code></pre><p><code·class="inline">m1</code>·is·dependent·on·<code·class="inline">ch3</code>·also·when·downgrading.·<code·class="inline">systools</code>·knows·the
217 difference·between·up-·and·downgrading·and·generates·a·correct·<code·class="inline">relup</code>,·where217 difference·between·up-·and·downgrading·and·generates·a·correct·<code·class="inline">relup</code>,·where
218 <code·class="inline">ch3</code>·is·loaded·before·<code·class="inline">m1</code>·when·upgrading,·but·<code·class="inline">m1</code>·is·loaded·before·<code·class="inline">ch3</code>·when218 <code·class="inline">ch3</code>·is·loaded·before·<code·class="inline">m1</code>·when·upgrading,·but·<code·class="inline">m1</code>·is·loaded·before·<code·class="inline">ch3</code>·when
219 downgrading.</p><p><a·href=""·id="spec"></a></p><h2·id="changing-code-for-a-special-process"·class="section-heading">219 downgrading.</p><p><a·href=""·id="spec"></a></p><h2·id="changing-code-for-a-special-process"·class="section-heading">
220 ··<a·href="#changing-code-for-a-special-process"·class="hover-link">220 ··<a·href="#changing-code-for-a-special-process"·class="hover-link">
221 ····<i·class="ri-link-m"·aria-hidden="true"></i>221 ····<i·class="ri-link-m"·aria-hidden="true"></i>
222 ··</a>222 ··</a>
223 ··<span·class="text">Changing·Code·for·a·Special·Process</span>223 ··<span·class="text">Changing·Code·for·a·Special·Process</span>
224 </h2>224 </h2>
225 <p>In·this·case,·simple·code·replacement·is·not·sufficient.·When·a·new·version·of·a225 <p>In·this·case,·simple·code·replacement·is·not·sufficient.·When·a·new·version·of·a
226 residence·module·for·a·special·process·is·loaded,·the·process·must·make·a·fully226 residence·module·for·a·special·process·is·loaded,·the·process·must·make·a·fully
227 qualified·call·to·its·loop·function·to·switch·to·the·new·code.·Thus,227 qualified·call·to·its·loop·function·to·switch·to·the·new·code.·Thus,
228 synchronized·code·replacement·must·be·used.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·name(s)·of·the·user-defined·residence·module(s)·must·be·listed·in·the228 synchronized·code·replacement·must·be·used.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·name(s)·of·the·user-defined·residence·module(s)·must·be·listed·in·the
229 <code·class="inline">Modules</code>·part·of·the·child·specification·for·the·special·process.·Otherwise229 <code·class="inline">Modules</code>·part·of·the·child·specification·for·the·special·process.·Otherwise
230 the·release·handler·cannot·find·the·process.</p></section><p><em>Example</em></p><p>Consider·the·example·<code·class="inline">ch4</code>·in·<a·href="spec_proc.html#ex">sys·and·proc_lib</a>.230 the·release·handler·cannot·find·the·process.</p></section><p><em>Example</em></p><p>Consider·the·example·<code·class="inline">ch4</code>·in·<a·href="spec_proc.html#ex">sys·and·proc_lib</a>.
231 When·started·by·a·supervisor,·the·child·specification·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6466243048-1">{</span><span·class="ss">ch4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6466243048-2">{</span><span·class="ss">ch4</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_link</sp[·...·truncated·by·diffoscope;·len:·198,·SHA:·3e07d699fd4153cb621c0f9ed03f992ff1c81b930ba9253ac6bd05995a33f753·...·]-2">}</span><span·class="p">,</span><span·class="w">231 When·started·by·a·supervisor,·the·child·specification·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4630928123-1">{</span><span·class="ss">ch4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4630928123-2">{</span><span·class="ss">ch4</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_link</sp[·...·truncated·by·diffoscope;·len:·198,·SHA:·e97740f91f592c69a8243e1b92883f712db2cea1b4616ab20337d3e6410aa51c·...·]-2">}</span><span·class="p">,</span><span·class="w">
232 ·</span><span·class="ss">permanent</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">brutal_kill</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">worker</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6466243048-4">[</span><span·class="ss">ch4</span><span·class="p"·data-group-id="6466243048-4">]</span><span·class="p"·data-group-id="6466243048-1">}</span></code></pre><p>If·<code·class="inline">ch4</code>·is·part·of·the·application·<code·class="inline">sp_app</code>·and·a·new·version·of·the·module·is232 ·</span><span·class="ss">permanent</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">brutal_kill</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">worker</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4630928123-4">[</span><span·class="ss">ch4</span><span·class="p"·data-group-id="4630928123-4">]</span><span·class="p"·data-group-id="4630928123-1">}</span></code></pre><p>If·<code·class="inline">ch4</code>·is·part·of·the·application·<code·class="inline">sp_app</code>·and·a·new·version·of·the·module·is
233 to·be·loaded·when·upgrading·from·version·&quot;1&quot;·to·&quot;2&quot;·of·this·application,233 to·be·loaded·when·upgrading·from·version·&quot;1&quot;·to·&quot;2&quot;·of·this·application,
234 <code·class="inline">sp_app.appup</code>·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7811947462-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">234 <code·class="inline">sp_app.appup</code>·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4158718158-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
235 ·</span><span·class="p"·data-group-id="7811947462-2">[</span><span·class="p"·data-group-id="7811947462-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7811947462-4">[</span><span·class="p"·data-group-id="7811947462-5">{</span><span·class="ss">update</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7811947462-6">{</span><span·class="ss">advanced</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7811947462-7">[</span><span·class="p"·data-group-id="7811947462-7">]</span><span·class="p"·data-group-id="7811947462-6">}</span><span·class="p"·data-group-id="7811947462-5">}</span><span·class="p"·data-group-id="7811947462-4">]</span><span·class="p"·data-group-id="7811947462-3">}</span><span·class="p"·data-group-id="7811947462-2">]</span><span·class="p">,</span><span·class="w"> 
236 ·</span><span·class="p"·data-group-id="7811947462-8">[</span><span·class="p"·data-group-id="7811947462-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7811947462-10">[</span><span·class="p"·data-group-id="7811947462-1[·...·truncated·by·diffoscope;·len:·667,·SHA:·b3b449abbadcb9fe72ba889cd1cedbf68aae1671c26e7dee0d148267ac6ac644·...·]</span><span·class="w">235 ·</span><span·class="p"·data-group-id="4158718158-2">[</span><span·class="p"·data-group-id="4158718158-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4158718158-4">[</span><span·class="p"·data-group-id="4158718158-5"[·...·truncated·by·diffoscope;·len:·683,·SHA:·e27f1488feebcfa0a6af29c5f24d0ec62f79953f272bd9f9ee25f29562e9a827·...·]</span><span·class="w">
 236 ·</span><span·class="p"·data-group-id="4158718158-8">[</span><span·class="p"·data-group-id="4158718158-9">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4158718158-10">[</span><span·class="p"·data-group-id="4158718158-11">{</span><span·class="ss">update</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4158718158-12">{</span><span·class="ss">advanced</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4158718158-13">[</span><span·class="p"·data-group-id="4158718158-13">]</span><span·class="p"·data-group-id="4158718158-12">}</span><span·class="p"·data-group-id="4158718158-11">}</span><span·class="p"·data-group-id="4158718158-10">]</span><span·class="p"·data-group-id="4158718158-9">}</span><span·class="p"·data-group-id="4158718158-8">]</span><span·class="w">
237 </span><span·class="p"·data-group-id="7811947462-1">}</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">update</code>·instruction·must·contain·the·tuple·<code·class="inline">{advanced,Extra}</code>.·The237 </span><span·class="p"·data-group-id="4158718158-1">}</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">update</code>·instruction·must·contain·the·tuple·<code·class="inline">{advanced,Extra}</code>.·The
238 instruction·makes·the·special·process·call·the·callback·function238 instruction·makes·the·special·process·call·the·callback·function
239 <code·class="inline">system_code_change/4</code>,·a·function·the·user·must·implement.·The·term·<code·class="inline">Extra</code>,·in239 <code·class="inline">system_code_change/4</code>,·a·function·the·user·must·implement.·The·term·<code·class="inline">Extra</code>,·in
240 this·case·<code·class="inline">[]</code>,·is·passed·as·is·to·<code·class="inline">system_code_change/4</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8299934865-1">(</span><span·class="ss">ch4</span><span·class="p"·data-group-id="8299934865-1">)</span><span·class="p">.</span><span·class="w">240 this·case·<code·class="inline">[]</code>,·is·passed·as·is·to·<code·class="inline">system_code_change/4</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9747002450-1">(</span><span·class="ss">ch4</span><span·class="p"·data-group-id="9747002450-1">)</span><span·class="p">.</span><span·class="w">
241 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">241 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
242 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8299934865-2">(</span><span·class="p"·data-group-id="8299934865-3">[</span><span·class="ss">system_code_change</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="8299934865-3">]</span><span·class="p"·data-group-id="829993[·...·truncated·by·diffoscope;·len:·4,·SHA:·67e912e3e2b53266f4d6a158de07b477164d8b1036ff08e4ff33eb374ac102c4·...·]-2">)</span><span·class="p">.</span><span·class="w">242 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9747002450-2">(</span><span·class="p"·data-group-id="9747002450-3">[</span><span·class="ss">system_code_change</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="9747002450-3">]</span><span·class="p"·data-group-id="974700[·...·truncated·by·diffoscope;·len:·4,·SHA:·b0b03d744a85f4459c71437fe196dd925a299a06ae7a425615c903c97c36b8fb·...·]-2">)</span><span·class="p">.</span><span·class="w">
243 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">243 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
  
Max diff block lines reached; 102432/153211 bytes (66.86%) of diff not shown.
731 B
html2text {}
Max HTML report size reached
5.88 KB
./usr/share/doc/erlang-doc/html/doc/system/benchmarking.html
    
Offset 144, 16 lines modifiedOffset 144, 16 lines modified
144 fast·as·possible,·what·can·we·do?·One·way·could·be·to·generate·more144 fast·as·possible,·what·can·we·do?·One·way·could·be·to·generate·more
145 than·two·bytes·at·the·time.</p><pre><code·class="text">%·erlperf·'rand:bytes(100).'·'crypto:strong_rand_bytes(100).'145 than·two·bytes·at·the·time.</p><pre><code·class="text">%·erlperf·'rand:bytes(100).'·'crypto:strong_rand_bytes(100).'
146 Code···································||········QPS·······Time···Rel146 Code···································||········QPS·······Time···Rel
147 rand:bytes(100).························1····2124·Ki·····470·ns··100%147 rand:bytes(100).························1····2124·Ki·····470·ns··100%
148 crypto:strong_rand_bytes(100).··········1····1915·Ki·····522·ns···90%</code></pre><p><a·href="../../lib/stdlib-7.0/doc/html/rand.html#bytes/1"><code·class="inline">rand:bytes/1</code></a>·is·still·faster·when·we·generate·100·bytes·at·the·time,148 crypto:strong_rand_bytes(100).··········1····1915·Ki·····522·ns···90%</code></pre><p><a·href="../../lib/stdlib-7.0/doc/html/rand.html#bytes/1"><code·class="inline">rand:bytes/1</code></a>·is·still·faster·when·we·generate·100·bytes·at·the·time,
149 but·the·relative·difference·is·smaller.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erlperf·&#39;rand:bytes(1000).&#39;·&#39;crypto:strong_rand_bytes(1000).&#39;</span><span·class="w">149 but·the·relative·difference·is·smaller.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erlperf·&#39;rand:bytes(1000).&#39;·&#39;crypto:strong_rand_bytes(1000).&#39;</span><span·class="w">
150 </span><span·class="n">Code</span><span·class="w">····································</span><span·class="p">||</span><span·class="w">········</span><span·class="n">QPS</span><span·class="w">·······</span><span·class="n">Time</span><span·class="w">···</span><span·class="n">Rel</span><span·class="w">150 </span><span·class="n">Code</span><span·class="w">····································</span><span·class="p">||</span><span·class="w">········</span><span·class="n">QPS</span><span·class="w">·······</span><span·class="n">Time</span><span·class="w">···</span><span·class="n">Rel</span><span·class="w">
151 </span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">strong_rand_bytes</span><span·class="p"·data-group-id="2202779619-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="2202779619-1">)</span><span·class="p">.</span><span·class="w">··········</span><span·class="mi">1</span><span·class="w">····</span><span·class="mi">1518</span><span·class="w">·</span><span·class="n">Ki</span><span·class="w">·····</span><span·class="mi">658</span><span·class="w">·</span><span·class="ss">ns</span><span·class="w">··</span><span·class="mi">100</span><span·class="c1">%</span><span·class="w">151 </span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">strong_rand_bytes</span><span·class="p"·data-group-id="1556162138-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="1556162138-1">)</span><span·class="p">.</span><span·class="w">··········</span><span·class="mi">1</span><span·class="w">····</span><span·class="mi">1518</span><span·class="w">·</span><span·class="n">Ki</span><span·class="w">·····</span><span·class="mi">658</span><span·class="w">·</span><span·class="ss">ns</span><span·class="w">··</span><span·class="mi">100</span><span·class="c1">%</span><span·class="w">
152 </span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">bytes</span><span·class="p"·data-group-id="2202779619-2">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="2202779619-2">)</span><span·class="p">.</span><span·class="w">························</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">284</span><span·class="w">·</span><span·class="n">Ki</span><span·class="w">····</span><span·class="mi">3521</span><span·class="w">·</span><span·class="ss">ns</span><span·class="w">···</span><span·class="mi">19</span><span·class="c1">%</span></code></pre><p>When·we·generate·1000·bytes·at·the·time,·<a·href="../../lib/crypto-5.6/doc/html/crypto.html#strong_rand_bytes/1"><code·class="inline">crypto:strong_rand_bytes/1</code></a>·is152 </span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">bytes</span><span·class="p"·data-group-id="1556162138-2">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="1556162138-2">)</span><span·class="p">.</span><span·class="w">························</span><span·class="mi">1</span><span·class="w">·····</span><span·class="mi">284</span><span·class="w">·</span><span·class="n">Ki</span><span·class="w">····</span><span·class="mi">3521</span><span·class="w">·</span><span·class="ss">ns</span><span·class="w">···</span><span·class="mi">19</span><span·class="c1">%</span></code></pre><p>When·we·generate·1000·bytes·at·the·time,·<a·href="../../lib/crypto-5.6/doc/html/crypto.html#strong_rand_bytes/1"><code·class="inline">crypto:strong_rand_bytes/1</code></a>·is
153 now·the·fastest.</p><h2·id="benchmarking-using-erlang-otp-functionality"·class="section-heading">153 now·the·fastest.</p><h2·id="benchmarking-using-erlang-otp-functionality"·class="section-heading">
154 ··<a·href="#benchmarking-using-erlang-otp-functionality"·class="hover-link">154 ··<a·href="#benchmarking-using-erlang-otp-functionality"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">Benchmarking·using·Erlang/OTP·functionality</span>157 ··<span·class="text">Benchmarking·using·Erlang/OTP·functionality</span>
158 </h2>158 </h2>
159 <p>Benchmarks·can·measure·wall-clock·time·or·CPU·time.</p><ul><li><p><a·href="../../lib/stdlib-7.0/doc/html/timer.html#tc/3"><code·class="inline">timer:tc/3</code></a>·measures·wall-clock·time.·The·advantage·with·wall-clock·time·is159 <p>Benchmarks·can·measure·wall-clock·time·or·CPU·time.</p><ul><li><p><a·href="../../lib/stdlib-7.0/doc/html/timer.html#tc/3"><code·class="inline">timer:tc/3</code></a>·measures·wall-clock·time.·The·advantage·with·wall-clock·time·is
Offset 219, 15 lines modifiedOffset 219, 15 lines modified
219 ······<p·class="built-using">219 ······<p·class="built-using">
220 ········Built·using220 ········Built·using
221 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the221 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
222 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>222 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
223 ······</p>223 ······</p>
224 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>224 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
225 ····</footer>225 ····</footer>
226 ··</div>226 ··</div>
227 </main>227 </main>
228 </div>228 </div>
229 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>229 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
230 ··<script>230 ··<script>
231 ··let·initialized·=·false;231 ··let·initialized·=·false;
707 B
html2text {}
Max HTML report size reached
80.7 KB
./usr/share/doc/erlang-doc/html/doc/system/binaryhandling.html
    
Offset 114, 43 lines modifiedOffset 114, 43 lines modified
  
114 ····<span>Constructing·and·Matching·Binaries</span>114 ····<span>Constructing·and·Matching·Binaries</span>
115 ··</h1>115 ··</h1>
  
116 <p>This·section·gives·a·few·examples·on·how·to·handle·binaries·in·an·efficient·way.116 <p>This·section·gives·a·few·examples·on·how·to·handle·binaries·in·an·efficient·way.
117 The·sections·that·follow·take·an·in-depth·look·at·how·binaries·are·implemented117 The·sections·that·follow·take·an·in-depth·look·at·how·binaries·are·implemented
118 and·how·to·best·take·advantages·of·the·optimizations·done·by·the·compiler·and118 and·how·to·best·take·advantages·of·the·optimizations·done·by·the·compiler·and
119 runtime·system.</p><p>Binaries·can·be·efficiently·<em>built</em>·in·the·following·way:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_list_to_binary</span><span·class="p"·data-group-id="0030308777-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="0030308777-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">119 runtime·system.</p><p>Binaries·can·be·efficiently·<em>built</em>·in·the·following·way:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_list_to_binary</span><span·class="p"·data-group-id="1903083562-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="1903083562-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
120 ····</span><span·class="nf">my_list_to_binary</span><span·class="p"·data-group-id="0030308777-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0030308777-3">&lt;&lt;</span><span·class="p"·data-group-id="0030308777-3">&gt;&gt;</span><span·class="p"·data-group-id="00303087[·...·truncated·by·diffoscope;·len:·2,·SHA:·a88a7902cb4ef697ba0b6759c50e8c10297ff58f942243de19b984841bfe1f73·...·]-2">)</span><span·class="p">.</span><span·class="w">120 ····</span><span·class="nf">my_list_to_binary</span><span·class="p"·data-group-id="1903083562-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1903083562-3">&lt;&lt;</span><span·class="p"·data-group-id="1903083562-3">&gt;&gt;</span><span·class="p"·data-group-id="19030835[·...·truncated·by·diffoscope;·len:·2,·SHA:·81b8a03f97e8787c53fe1a86bda042b6f0de9b0ec9c09357e107c99ba4d6948a·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
121 </span><span·class="nf">my_list_to_binary</span><span·class="p"·data-group-id="0030308777-4">(</span><span·class="p"·data-group-id="0030308777-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0030308777-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·b60d32c4b430dcf68926d0d76eb1c34803c1a747ef364247349d6cbaf1fbcddd·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">121 </span><span·class="nf">my_list_to_binary</span><span·class="p"·data-group-id="1903083562-4">(</span><span·class="p"·data-group-id="1903083562-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="1903083562-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·985eca3a069d66e08e85c0bad9913f0ef121dc419a3dad6cdbc37ded5d7d44b9·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
122 ····</span><span·class="nf">my_list_to_binary</span><span·class="p"·data-group-id="0030308777-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0030308777-7">&lt;&lt;</span><span·class="n">Acc</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·127,·SHA:·77609fa81adfd65714db5798f272f9e4b1522049ba0e442fa3327f9121afbee9·...·]-6">)</span><span·class="p">;</span><span·class="w">122 ····</span><span·class="nf">my_list_to_binary</span><span·class="p"·data-group-id="1903083562-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1903083562-7">&lt;&lt;</span><span·class="n">Acc</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·127,·SHA:·422ab9eca05a8115f37a1fca304a3ca584e9da2fc72a6123c81df4eae438d334·...·]-6">)</span><span·class="p">;</span><span·class="w">
123 </span><span·class="nf">my_list_to_binary</span><span·class="p"·data-group-id="0030308777-8">(</span><span·class="p"·data-group-id="0030308777-9">[</span><span·class="p"·data-group-id="0030308777-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="0030308777-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">123 </span><span·class="nf">my_list_to_binary</span><span·class="p"·data-group-id="1903083562-8">(</span><span·class="p"·data-group-id="1903083562-9">[</span><span·class="p"·data-group-id="1903083562-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="1903083562-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
124 ····</span><span·class="n">Acc</span><span·class="p">.</span></code></pre><p>Appending·data·to·a·binary·as·in·the·example·is·efficient·because·it·is124 ····</span><span·class="n">Acc</span><span·class="p">.</span></code></pre><p>Appending·data·to·a·binary·as·in·the·example·is·efficient·because·it·is
125 specially·optimized·by·the·runtime·system·to·avoid·copying·the·<code·class="inline">Acc</code>·binary125 specially·optimized·by·the·runtime·system·to·avoid·copying·the·<code·class="inline">Acc</code>·binary
126 every·time.</p><p>Prepending·data·to·a·binary·in·a·loop·is·not·efficient:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="5425271367-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="5425271367-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">126 every·time.</p><p>Prepending·data·to·a·binary·in·a·loop·is·not·efficient:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="6057711049-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="6057711049-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
127 ····</span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="5425271367-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5425271367-3">&lt;&lt;</span><span·class="p"·data-group-id="5425271367-3">&gt;&gt;</span><span·class="p"·data-group-id="54252713[·...·truncated·by·diffoscope;·len:·2,·SHA:·49d180ecf56132819571bf39d9b7b342522a2ac6d23c1418d3338251bfe469c8·...·]-2">)</span><span·class="p">.</span><span·class="w">127 ····</span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="6057711049-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6057711049-3">&lt;&lt;</span><span·class="p"·data-group-id="6057711049-3">&gt;&gt;</span><span·class="p"·data-group-id="60577110[·...·truncated·by·diffoscope;·len:·2,·SHA:·0e17daca5f3e175f448bacace3bc0da47d0655a74c8dd0dc497a3afbdad95f1f·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
128 </span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="5425271367-4">(</span><span·class="p"·data-group-id="5425271367-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="5425271367-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·83ea500aff055d5a621bceb885a56cdbc5518c668398d84545da038942c2455c·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">128 </span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="6057711049-4">(</span><span·class="p"·data-group-id="6057711049-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="6057711049-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·d99b1019d77824d723ae0013b9ccddc35d35b5fbbf182dea8b4246b5fb893b03·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
129 ····</span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="5425271367-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5425271367-7">&lt;&lt;</span><span·class="n">H</span><span·class="p">,</span><span·class="n">Acc</span><span·class="o">/</span><spa[·...·truncated·by·diffoscope;·len:·127,·SHA:·41d710b873546df7bdd23f0d6590ea60a16bbda36c53661144aeec0302d04cdb·...·]-6">)</span><span·class="p">;</span><span·class="w">129 ····</span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="6057711049-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6057711049-7">&lt;&lt;</span><span·class="n">H</span><span·class="p">,</span><span·class="n">Acc</span><span·class="o">/</span><spa[·...·truncated·by·diffoscope;·len:·127,·SHA:·a81925cf6540f8bd5386d566e19c4620209e014659e17050da2e14f53fb51d65·...·]-6">)</span><span·class="p">;</span><span·class="w">
130 </span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="5425271367-8">(</span><span·class="p"·data-group-id="5425271367-9">[</span><span·class="p"·data-group-id="5425271367-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="5425271367-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">130 </span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="6057711049-8">(</span><span·class="p"·data-group-id="6057711049-9">[</span><span·class="p"·data-group-id="6057711049-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="6057711049-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
131 ····</span><span·class="n">Acc</span><span·class="p">.</span></code></pre><p>This·is·not·efficient·for·long·lists·because·the·<code·class="inline">Acc</code>·binary·is·copied·every131 ····</span><span·class="n">Acc</span><span·class="p">.</span></code></pre><p>This·is·not·efficient·for·long·lists·because·the·<code·class="inline">Acc</code>·binary·is·copied·every
132 time.·One·way·to·make·the·function·more·efficient·is·like·this:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="5119034037-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="5119034037-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">132 time.·One·way·to·make·the·function·more·efficient·is·like·this:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="9361790369-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="9361790369-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
133 ····</span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="5119034037-2">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="5119034037-3">(</span><span·class="n">List</span><span·class="p"·data-group-id="5119034037-3">)</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·192,·SHA:·337ef2f5a97757829d91500220fa1cae308ab2d82c53f56bbd8e1d6aa2c6d7b7·...·]-2">)</span><span·class="p">.</span><span·class="w">133 ····</span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="9361790369-2">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="9361790369-3">(</span><span·class="n">List</span><span·class="p"·data-group-id="9361790369-3">)</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·192,·SHA:·cd0566bb95e30943267b75538bc2883b991c078d5a5dfef425cd517772d36b98·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
134 </span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="5119034037-5">(</span><span·class="p"·data-group-id="5119034037-6">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="5119034037-6">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·7dbb0bace25433c14a59b812422904d516dd41b4fad42b9c914fe520bae84761·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">134 </span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="9361790369-5">(</span><span·class="p"·data-group-id="9361790369-6">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="9361790369-6">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·d6715b371d4c623aece9afc3d99fe039ef829aac77a88ffb1a8b971453498a9f·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
135 ····</span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="5119034037-7">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5119034037-8">&lt;&lt;</span><span·class="n">Acc</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·127,·SHA:·64f9935f7c2b4e086ab38f908047501d9cdb065cb19b79ba08f76f473078abba·...·]-7">)</span><span·class="p">;</span><span·class="w">135 ····</span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="9361790369-7">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9361790369-8">&lt;&lt;</span><span·class="n">Acc</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·127,·SHA:·93ff697ab12b8b00463cf0a3359b99d3333bc7d2fce40c201b6b9b15e6f95509·...·]-7">)</span><span·class="p">;</span><span·class="w">
136 </span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="5119034037-9">(</span><span·class="p"·data-group-id="5119034037-10">[</span><span·class="p"·data-group-id="5119034037-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="5119034037-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">136 </span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="9361790369-9">(</span><span·class="p"·data-group-id="9361790369-10">[</span><span·class="p"·data-group-id="9361790369-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="9361790369-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
137 ····</span><span·class="n">Acc</span><span·class="p">.</span></code></pre><p>Another·way·to·avoid·copying·the·binary·each·time·is·like·this:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="0581270805-1">(</span><span·class="p"·data-group-id="0581270805-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0581270805-2">]</span><span·class="p"·data-group-id="0581270805-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">137 ····</span><span·class="n">Acc</span><span·class="p">.</span></code></pre><p>Another·way·to·avoid·copying·the·binary·each·time·is·like·this:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="9206847399-1">(</span><span·class="p"·data-group-id="9206847399-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="9206847399-2">]</span><span·class="p"·data-group-id="9206847399-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
138 ····</span><span·class="n">RevTail</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="0581270805-3">(</span><span·class="n">T</span><span·class="p"·data-group-id="0581270805-3">)</span><span·class="p">,</span><span·class="w">138 ····</span><span·class="n">RevTail</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="9206847399-3">(</span><span·class="n">T</span><span·class="p"·data-group-id="9206847399-3">)</span><span·class="p">,</span><span·class="w">
139 ····</span><span·class="p"·data-group-id="0581270805-4">&lt;&lt;</span><span·class="n">RevTail</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="n">H</span><span·class="p"·data-group-id="0581270805-4">&gt;&gt;</span><span·class="p">;</span><span·class="w">139 ····</span><span·class="p"·data-group-id="9206847399-4">&lt;&lt;</span><span·class="n">RevTail</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="n">H</span><span·class="p"·data-group-id="9206847399-4">&gt;&gt;</span><span·class="p">;</span><span·class="w">
140 </span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="0581270805-5">(</span><span·class="p"·data-group-id="0581270805-6">[</span><span·class="p"·data-group-id="0581270805-6">]</span><span·class="p"·data-group-id="0581270805-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">140 </span><span·class="nf">rev_list_to_binary</span><span·class="p"·data-group-id="9206847399-5">(</span><span·class="p"·data-group-id="9206847399-6">[</span><span·class="p"·data-group-id="9206847399-6">]</span><span·class="p"·data-group-id="9206847399-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
141 ····</span><span·class="p"·data-group-id="0581270805-7">&lt;&lt;</span><span·class="p"·data-group-id="0581270805-7">&gt;&gt;</span><span·class="p">.</span></code></pre><p>Note·that·in·each·of·the·<strong>DO</strong>·examples,·the·binary·to·be·appended·to·is·always141 ····</span><span·class="p"·data-group-id="9206847399-7">&lt;&lt;</span><span·class="p"·data-group-id="9206847399-7">&gt;&gt;</span><span·class="p">.</span></code></pre><p>Note·that·in·each·of·the·<strong>DO</strong>·examples,·the·binary·to·be·appended·to·is·always
142 given·as·the·first·segment.</p><p>Binaries·can·be·efficiently·<em>matched</em>·in·the·following·way:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_binary_to_list</span><span·class="p"·data-group-id="5854879546-1">(</span><span·class="p"·data-group-id="5854879546-2">&lt;&lt;</span><span·class="n">H</span><span·class="p">,</span><span·class="n">T</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p"·data-group-id="5854879546-2">&gt[·...·truncated·by·diffoscope;·len:·52,·SHA:·6d0a67b330126962ace69cb2bb512a7387022ddd61eff855bb469d2f0c20b64b·...·]6-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">142 given·as·the·first·segment.</p><p>Binaries·can·be·efficiently·<em>matched</em>·in·the·following·way:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_binary_to_list</span><span·class="p"·data-group-id="6172582076-1">(</span><span·class="p"·data-group-id="6172582076-2">&lt;&lt;</span><span·class="n">H</span><span·class="p">,</span><span·class="n">T</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p"·data-group-id="6172582076-2">&gt[·...·truncated·by·diffoscope;·len:·52,·SHA:·fceb4459bb851d2f0b36bfadf261696b94cc3419c964acddcd2a648f20ecc42c·...·]6-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
143 ····</span><span·class="p"·data-group-id="5854879546-3">[</span><span·class="n">H</span><span·class="p">|</span><span·class="nf">my_binary_to_list</span><span·class="p"·data-group-id="5854879546-4">(</span><span·class="n">T</span><span·class="p"·data-group-id="5854879546-4">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·25,·SHA:·d7bb3f3e46682cc75fefc6ac7b069231f7611c07180889285f83a5b9c2d43ed5·...·]6-3">]</span><span·class="p">;</span><span·class="w">143 ····</span><span·class="p"·data-group-id="6172582076-3">[</span><span·class="n">H</span><span·class="p">|</span><span·class="nf">my_binary_to_list</span><span·class="p"·data-group-id="6172582076-4">(</span><span·class="n">T</span><span·class="p"·data-group-id="6172582076-4">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·25,·SHA:·ef91c21aed21b47af48d850725f27d21c7ebc97ab9bf6bd884267d4215fbb67e·...·]6-3">]</span><span·class="p">;</span><span·class="w">
144 </span><span·class="nf">my_binary_to_list</span><span·class="p"·data-group-id="5854879546-5">(</span><span·class="p"·data-group-id="5854879546-6">&lt;&lt;</span><span·class="p"·data-group-id="5854879546-6">&gt;&gt;</span><span·class="p"·data-group-id="5854879546-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·cla[·...·truncated·by·diffoscope;·len:·108,·SHA:·60df8a99869fc29a6274dd81c6446d58c8ea8a775f074a2a0a52ce40b7b4aa17·...·]6-7">]</span><span·class="p">.</span></code></pre><h2·id="how-binaries-are-implemented"·class="section-heading">144 </span><span·class="nf">my_binary_to_list</span><span·class="p"·data-group-id="6172582076-5">(</span><span·class="p"·data-group-id="6172582076-6">&lt;&lt;</span><span·class="p"·data-group-id="6172582076-6">&gt;&gt;</span><span·class="p"·data-group-id="6172582076-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·cla[·...·truncated·by·diffoscope;·len:·108,·SHA:·6d04852501d8a8070f90ae78ef363422ec69e079f06e4906ff81960d1b329566·...·]6-7">]</span><span·class="p">.</span></code></pre><h2·id="how-binaries-are-implemented"·class="section-heading">
145 ··<a·href="#how-binaries-are-implemented"·class="hover-link">145 ··<a·href="#how-binaries-are-implemented"·class="hover-link">
146 ····<i·class="ri-link-m"·aria-hidden="true"></i>146 ····<i·class="ri-link-m"·aria-hidden="true"></i>
147 ··</a>147 ··</a>
148 ··<span·class="text">How·Binaries·are·Implemented</span>148 ··<span·class="text">How·Binaries·are·Implemented</span>
149 </h2>149 </h2>
150 <p>Internally,·binaries·and·bitstrings·are·implemented·in·the·same·way.·In·this150 <p>Internally,·binaries·and·bitstrings·are·implemented·in·the·same·way.·In·this
151 section,·they·are·called·<em>binaries</em>·because·that·is·what·they·are·called·in·the151 section,·they·are·called·<em>binaries</em>·because·that·is·what·they·are·called·in·the
Offset 205, 29 lines modifiedOffset 205, 29 lines modified
205 called·referential·transparency)·of·Erlang·would·break.</p><h2·id="constructing-binaries"·class="section-heading">205 called·referential·transparency)·of·Erlang·would·break.</p><h2·id="constructing-binaries"·class="section-heading">
206 ··<a·href="#constructing-binaries"·class="hover-link">206 ··<a·href="#constructing-binaries"·class="hover-link">
207 ····<i·class="ri-link-m"·aria-hidden="true"></i>207 ····<i·class="ri-link-m"·aria-hidden="true"></i>
208 ··</a>208 ··</a>
209 ··<span·class="text">Constructing·Binaries</span>209 ··<span·class="text">Constructing·Binaries</span>
210 </h2>210 </h2>
211 <p>Appending·to·a·binary·or·bitstring·in·the·following·way·is·specially·optimized211 <p>Appending·to·a·binary·or·bitstring·in·the·following·way·is·specially·optimized
212 to·avoid·copying·the·binary:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0765770272-1">&lt;&lt;</span><span·class="n">Binary</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·0b672ab60581c0f74d8e73bc9e42bdeb14afbda51d284315c830fbf800a354c1·...·]-1">&gt;&gt;</span><span·class="w">212 to·avoid·copying·the·binary:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2730491885-1">&lt;&lt;</span><span·class="n">Binary</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·03ad6418e5b80f5c39f801215a08c5ad05338117b3bb2fa8cbb6fb967a649d76·...·]-1">&gt;&gt;</span><span·class="w">
213 </span><span·class="c1">%%·-·OR·-</span><span·class="w">213 </span><span·class="c1">%%·-·OR·-</span><span·class="w">
214 </span><span·class="p"·data-group-id="0765770272-2">&lt;&lt;</span><span·class="n">Binary</span><span·class="o">/</span><span·class="ss">bitstring</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·84604646084c4635d6d3bdd4146d7babc21b3b00502a7574e9524dc69b84b1f0·...·]-2">&gt;&gt;</span></code></pre><p>This·optimization·is·applied·by·the·runtime·system·in·a·way·that·makes·it214 </span><span·class="p"·data-group-id="2730491885-2">&lt;&lt;</span><span·class="n">Binary</span><span·class="o">/</span><span·class="ss">bitstring</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·a7b455853716513ffdc2f69cda24978a96a078c70bdf2d9cfb4a30b97d7e7e98·...·]-2">&gt;&gt;</span></code></pre><p>This·optimization·is·applied·by·the·runtime·system·in·a·way·that·makes·it
215 effective·in·most·circumstances·(for·exceptions,·see215 effective·in·most·circumstances·(for·exceptions,·see
216 <a·href="binaryhandling.html#forced_copying">Circumstances·That·Force·Copying</a>).·The216 <a·href="binaryhandling.html#forced_copying">Circumstances·That·Force·Copying</a>).·The
217 optimization·in·its·basic·form·does·not·need·any·help·from·the·compiler.217 optimization·in·its·basic·form·does·not·need·any·help·from·the·compiler.
218 However,·the·compiler·add·hints·to·the·runtime·system·when·it·is·safe·to·apply218 However,·the·compiler·add·hints·to·the·runtime·system·when·it·is·safe·to·apply
219 the·optimization·in·a·more·efficient·way.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>The·compiler·support·for·making·the·optimization·more·efficient·was·added·in219 the·optimization·in·a·more·efficient·way.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>The·compiler·support·for·making·the·optimization·more·efficient·was·added·in
220 Erlang/OTP·26.</p></section><p>To·explain·how·the·basic·optimization·works,·let·us·examine·the·following·code220 Erlang/OTP·26.</p></section><p>To·explain·how·the·basic·optimization·works,·let·us·examine·the·following·code
221 line·by·line:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bin0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6012929906-1">&lt;&lt;</span><span·class="mi">0</span><span·class="p"·data-group-id="6012929906-1">&gt;&gt;</span><span·class="p">,</span><span·class="w">····················</span><span·class="c1">%%·1</span><span·class="w">221 line·by·line:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bin0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3094787464-1">&lt;&lt;</span><span·class="mi">0</span><span·class="p"·data-group-id="3094787464-1">&gt;&gt;</span><span·class="p">,</span><span·class="w">····················</span><span·class="c1">%%·1</span><span·class="w">
222 </span><span·class="n">Bin1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6012929906-2">&lt;&lt;</span><span·class="n">Bin0</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·51652dc3b1db23fce3ffe54c395f469004a1949288ee53a72d13d9e319f57786·...·]-2">&gt;&gt;</span><span·class="p">,</span><span·class="w">····</span><span·class="c1">%%·2</span><span·class="w">222 </span><span·class="n">Bin1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3094787464-2">&lt;&lt;</span><span·class="n">Bin0</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·0bf0a830c8fb857fe71194225ee421f1a582afc66742d177c91b0d8039edb722·...·]-2">&gt;&gt;</span><span·class="p">,</span><span·class="w">····</span><span·class="c1">%%·2</span><span·class="w">
223 </span><span·class="n">Bin2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6012929906-3">&lt;&lt;</span><span·class="n">Bin1</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·51652dc3b1db23fce3ffe54c395f469004a1949288ee53a72d13d9e319f57786·...·]-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">····</span><span·class="c1">%%·3</span><span·class="w">223 </span><span·class="n">Bin2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3094787464-3">&lt;&lt;</span><span·class="n">Bin1</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·0bf0a830c8fb857fe71194225ee421f1a582afc66742d177c91b0d8039edb722·...·]-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">····</span><span·class="c1">%%·3</span><span·class="w">
224 </span><span·class="n">Bin3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6012929906-4">&lt;&lt;</span><span·class="n">Bin2</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">9</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·51652dc3b1db23fce3ffe54c395f469004a1949288ee53a72d13d9e319f57786·...·]-4">&gt;&gt;</span><span·class="p">,</span><span·class="w">····</span><span·class="c1">%%·4</span><span·class="w">224 </span><span·class="n">Bin3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3094787464-4">&lt;&lt;</span><span·class="n">Bin2</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">9</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·0bf0a830c8fb857fe71194225ee421f1a582afc66742d177c91b0d8039edb722·...·]-4">&gt;&gt;</span><span·class="p">,</span><span·class="w">····</span><span·class="c1">%%·4</span><span·class="w">
225 </span><span·class="n">Bin4</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6012929906-5">&lt;&lt;</span><span·class="n">Bin1</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="mi">17</span><span·class="p"·data-group-id="6012929906-5">&gt;&gt;</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%%·5·!!!</span><span·class="w">225 </span><span·class="n">Bin4</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3094787464-5">&lt;&lt;</span><span·class="n">Bin1</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="mi">17</span><span·class="p"·data-group-id="3094787464-5">&gt;&gt;</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%%·5·!!!</span><span·class="w">
226 </span><span·class="p"·data-group-id="6012929906-6">{</span><span·class="n">Bin4</span><span·class="p">,</span><span·class="n">Bin3</span><span·class="p"·data-group-id="6012929906-6">}</span><span·class="w">······················</span><span·class="c1">%%·6</span></code></pre><ul><li><p>Line·1·(marked·with·the·<code·class="inline">%%·1</code>·comment),·assigns·a226 </span><span·class="p"·data-group-id="3094787464-6">{</span><span·class="n">Bin4</span><span·class="p">,</span><span·class="n">Bin3</span><span·class="p"·data-group-id="3094787464-6">}</span><span·class="w">······················</span><span·class="c1">%%·6</span></code></pre><ul><li><p>Line·1·(marked·with·the·<code·class="inline">%%·1</code>·comment),·assigns·a
227 <a·href="binaryhandling.html#heap_binary">heap·binary</a>·to·the·<code·class="inline">Bin0</code>·variable.</p></li><li><p>Line·2·is·an·append·operation.·As·<code·class="inline">Bin0</code>·has·not·been·involved·in·an·append227 <a·href="binaryhandling.html#heap_binary">heap·binary</a>·to·the·<code·class="inline">Bin0</code>·variable.</p></li><li><p>Line·2·is·an·append·operation.·As·<code·class="inline">Bin0</code>·has·not·been·involved·in·an·append
228 operation,·a·new·<a·href="binaryhandling.html#refc_binary">refc·binary</a>·is·created·and228 operation,·a·new·<a·href="binaryhandling.html#refc_binary">refc·binary</a>·is·created·and
229 the·contents·of·<code·class="inline">Bin0</code>·is·copied·into·it.·The·<em>ProcBin</em>·part·of·the·refc229 the·contents·of·<code·class="inline">Bin0</code>·is·copied·into·it.·The·<em>ProcBin</em>·part·of·the·refc
230 binary·has·its·size·set·to·the·size·of·the·data·stored·in·the·binary,·while230 binary·has·its·size·set·to·the·size·of·the·data·stored·in·the·binary,·while
231 the·binary·object·has·extra·space·allocated.·The·size·of·the·binary·object·is231 the·binary·object·has·extra·space·allocated.·The·size·of·the·binary·object·is
232 either·twice·the·size·of·<code·class="inline">Bin1</code>·or·256,·whichever·is·larger.·In·this·case·it232 either·twice·the·size·of·<code·class="inline">Bin1</code>·or·256,·whichever·is·larger.·In·this·case·it
233 is·256.</p></li><li><p>Line·3·is·more·interesting.·<code·class="inline">Bin1</code>·<em>has</em>·been·used·in·an·append·operation,·and233 is·256.</p></li><li><p>Line·3·is·more·interesting.·<code·class="inline">Bin1</code>·<em>has</em>·been·used·in·an·append·operation,·and
Offset 253, 23 lines modifiedOffset 253, 23 lines modified
253 handle·an·append·operation·to·a·heap·binary·by·copying·it·to·a·refc·binary·(line253 handle·an·append·operation·to·a·heap·binary·by·copying·it·to·a·refc·binary·(line
254 2),·and·also·handle·an·append·operation·to·a·previous·version·of·the·binary·by254 2),·and·also·handle·an·append·operation·to·a·previous·version·of·the·binary·by
255 copying·it·(line·5).·The·support·for·doing·that·does·not·come·for·free.·For255 copying·it·(line·5).·The·support·for·doing·that·does·not·come·for·free.·For
256 example,·to·make·it·possible·to·know·when·it·is·necessary·to·copy·the·binary,256 example,·to·make·it·possible·to·know·when·it·is·necessary·to·copy·the·binary,
257 for·every·append·operation,·the·runtime·system·must·create·a·sub·binary.</p><p>When·the·compiler·can·determine·that·none·of·those·situations·need·to·be·handled257 for·every·append·operation,·the·runtime·system·must·create·a·sub·binary.</p><p>When·the·compiler·can·determine·that·none·of·those·situations·need·to·be·handled
258 and·that·the·append·operation·cannot·possibly·fail,·the·compiler·generates·code258 and·that·the·append·operation·cannot·possibly·fail,·the·compiler·generates·code
259 that·causes·the·runtime·system·to·apply·a·more·efficient·variant·of·the259 that·causes·the·runtime·system·to·apply·a·more·efficient·variant·of·the
260 optimization.</p><p><strong>Example:</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3433371360-1">(</span><span·class="ss">repack</span><span·class="p"·data-group-id="3433371360-1">)</span><span·class="p">.</span><span·class="w">260 optimization.</p><p><strong>Example:</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9647174355-1">(</span><span·class="ss">repack</span><span·class="p"·data-group-id="9647174355-1">)</span><span·class="p">.</span><span·class="w">
261 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3433371360-2">(</span><span·class="p"·data-group-id="3433371360-3">[</span><span·class="ss">repack</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="3433371360-3">]</span><span·class="p"·data-group-id="3433371360-2">)</span><span·class="p">.</span><span·class="w">261 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9647174355-2">(</span><span·class="p"·data-group-id="9647174355-3">[</span><span·class="ss">repack</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9647174355-3">]</span><span·class="p"·data-group-id="9647174355-2">)</span><span·class="p">.</span><span·class="w">
  
262 </span><span·class="nf">repack</span><span·class="p"·data-group-id="3433371360-4">(</span><span·class="n">Bin</span><span·class="p"·data-group-id="3433371360-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="3433371360-5">(<[·...·truncated·by·diffoscope;·len:·73,·SHA:·9713f1c300e0eb0cadaf37ff356012249c2eb11dfd83329d893e1805fda15fca·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">262 </span><span·class="nf">repack</span><span·class="p"·data-group-id="9647174355-4">(</span><span·class="n">Bin</span><span·class="p"·data-group-id="9647174355-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="9647174355-5">(<[·...·truncated·by·diffoscope;·len:·73,·SHA:·9640d4853cecfd32e6fe86473011af15980a514aa249545a6d78045c008fdf75·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
263 ····</span><span·class="nf">repack</span><span·class="p"·data-group-id="3433371360-6">(</span><span·class="n">Bin</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3433371360-7">&lt;&lt;</span><span·class="p"·data-group-id="3433371360-7">&gt;&gt;</span><span·class="p"·data-group-id="343337136[·...·truncated·by·diffoscope;·len:·1,·SHA:·5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9·...·]-6">)</span><span·class="p">.</span><span·class="w">263 ····</span><span·class="nf">repack</span><span·class="p"·data-group-id="9647174355-6">(</span><span·class="n">Bin</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9647174355-7">&lt;&lt;</span><span·class="p"·data-group-id="9647174355-7">&gt;&gt;</span><span·class="p"·data-group-id="964717435[·...·truncated·by·diffoscope;·len:·1,·SHA:·ef2d127de37b942baad06145e54b0c619a1f22327b2ebbcfbec78f5564afe39d·...·]-6">)</span><span·class="p">.</span><span·class="w">
  
264 </span><span·class="nf">repack</span><span·class="p"·data-group-id="3433371360-8">(</span><span·class="p"·data-group-id="3433371360-9">&lt;&lt;</span><span·class="n">C</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="n">T</span><span·class="o">/</span><span·class="ss">binary</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·829a0542097e35ca0b39d78a03ffbb1212117b00db5c1423771ba0d1cea67caf·...·]-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">264 </span><span·class="nf">repack</span><span·class="p"·data-group-id="9647174355-8">(</span><span·class="p"·data-group-id="9647174355-9">&lt;&lt;</span><span·class="n">C</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="n">T</span><span·class="o">/</span><span·class="ss">binary</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·754ee46f69363a551c7df736e2676d4c4186a5e0f59c4fd47871bb9a556a7449·...·]-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
265 ····</span><span·class="nf">repack</span><span·class="p"·data-group-id="3433371360-10">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3433371360-11">&lt;&lt;</span><span·class="n">Result</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·183,·SHA:·a450663adda628882040b350576c1f2f8bbc96d70410cfd3bd28b79a74c32b9b·...·]-10">)</span><span·class="p">;</span><span·class="w">265 ····</span><span·class="nf">repack</span><span·class="p"·data-group-id="9647174355-10">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9647174355-11">&lt;&lt;</span><span·class="n">Result</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·183,·SHA:·0c49d2dd916d9c6005c9216059ea95a8b1d96c444ae336ae3ce3e548e42d7426·...·]-10">)</span><span·class="p">;</span><span·class="w">
266 </span><span·class="nf">repack</span><span·class="p"·data-group-id="3433371360-12">(</span><span·class="p"·data-group-id="3433371360-13">&lt;&lt;</span><span·class="p"·data-group-id="3433371360-13">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="343[·...·truncated·by·diffoscope;·len:·7,·SHA:·285046cafd9a2530dd4e672d13af4b971b5af19bc8306500327af2f4032af7d2·...·]-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">266 </span><span·class="nf">repack</span><span·class="p"·data-group-id="9647174355-12">(</span><span·class="p"·data-group-id="9647174355-13">&lt;&lt;</span><span·class="p"·data-group-id="9647174355-13">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="964[·...·truncated·by·diffoscope;·len:·7,·SHA:·816dfa0ac07cc05bf9bd98485f29677e09091cb7851c1965acc932f94153c7f2·...·]-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
267 ····</span><span·class="n">Result</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">repack/2</code>·function·only·keeps·a·single·version·of·the·binary,·so·there·is267 ····</span><span·class="n">Result</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">repack/2</code>·function·only·keeps·a·single·version·of·the·binary,·so·there·is
268 never·any·need·to·copy·the·binary.·The·compiler·rewrites·the·creation·of·the268 never·any·need·to·copy·the·binary.·The·compiler·rewrites·the·creation·of·the
269 empty·binary·in·<code·class="inline">repack/1</code>·to·instead·create·a·refc·binary·with·256·bytes269 empty·binary·in·<code·class="inline">repack/1</code>·to·instead·create·a·refc·binary·with·256·bytes
270 already·reserved;·thus,·the·append·operation·in·<code·class="inline">repack/2</code>·never·needs·to·handle270 already·reserved;·thus,·the·append·operation·in·<code·class="inline">repack/2</code>·never·needs·to·handle
271 a·binary·not·prepared·for·appending.</p><p><a·href=""·id="forced_copying"></a></p><h3·id="circumstances-that-force-copying"·class="section-heading">271 a·binary·not·prepared·for·appending.</p><p><a·href=""·id="forced_copying"></a></p><h3·id="circumstances-that-force-copying"·class="section-heading">
272 ··<a·href="#circumstances-that-force-copying"·class="hover-link">272 ··<a·href="#circumstances-that-force-copying"·class="hover-link">
273 ····<i·class="ri-link-m"·aria-hidden="true"></i>273 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 281, 72 lines modifiedOffset 281, 72 lines modified
281 reason·is·that·the·binary·object·can·be·moved·(reallocated)·during·an·append281 reason·is·that·the·binary·object·can·be·moved·(reallocated)·during·an·append
282 operation,·and·when·that·happens,·the·pointer·in·the·ProcBin·must·be·updated.·If282 operation,·and·when·that·happens,·the·pointer·in·the·ProcBin·must·be·updated.·If
283 there·would·be·more·than·one·ProcBin·pointing·to·the·binary·object,·it·would·not283 there·would·be·more·than·one·ProcBin·pointing·to·the·binary·object,·it·would·not
284 be·possible·to·find·and·update·all·of·them.</p><p>Therefore,·certain·operations·on·a·binary·mark·it·so·that·any·future·append284 be·possible·to·find·and·update·all·of·them.</p><p>Therefore,·certain·operations·on·a·binary·mark·it·so·that·any·future·append
285 operation·will·be·forced·to·copy·the·binary.·In·most·cases,·the·binary·object285 operation·will·be·forced·to·copy·the·binary.·In·most·cases,·the·binary·object
286 will·be·shrunk·at·the·same·time·to·reclaim·the·extra·space·allocated·for286 will·be·shrunk·at·the·same·time·to·reclaim·the·extra·space·allocated·for
287 growing.</p><p>When·appending·to·a·binary·as·follows,·only·the·binary·returned·from·the·latest287 growing.</p><p>When·appending·to·a·binary·as·follows,·only·the·binary·returned·from·the·latest
288 append·operation·will·support·further·cheap·append·operations:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0959807852-1">&lt;&lt;</span><span·class="n">Bin0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="0959807852-1">&gt;&gt;</span></code></pre><p>In·the·code·fragment·in·the·beginning·of·this·section,·appending·to·<code·class="inline">Bin</code>·will288 append·operation·will·support·further·cheap·append·operations:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9199625274-1">&lt;&lt;</span><span·class="n">Bin0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="9199625274-1">&gt;&gt;</span></code></pre><p>In·the·code·fragment·in·the·beginning·of·this·section,·appending·to·<code·class="inline">Bin</code>·will
289 be·cheap,·while·appending·to·<code·class="inline">Bin0</code>·will·force·the·creation·of·a·new·binary·and289 be·cheap,·while·appending·to·<code·class="inline">Bin0</code>·will·force·the·creation·of·a·new·binary·and
290 copying·of·the·contents·of·<code·class="inline">Bin0</code>.</p><p>If·a·binary·is·sent·as·a·message·to·a·process·or·port,·the·binary·will·be·shrunk290 copying·of·the·contents·of·<code·class="inline">Bin0</code>.</p><p>If·a·binary·is·sent·as·a·message·to·a·process·or·port,·the·binary·will·be·shrunk
291 and·any·further·append·operation·will·copy·the·binary·data·into·a·new·binary.291 and·any·further·append·operation·will·copy·the·binary·data·into·a·new·binary.
292 For·example,·in·the·following·code·fragment·<code·class="inline">Bin1</code>·will·be·copied·in·the·third292 For·example,·in·the·following·code·fragment·<code·class="inline">Bin1</code>·will·be·copied·in·the·third
293 line:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bin1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3249265133-1">&lt;&lt;</span><span·class="n">Bin0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="3249265133-1">&gt;&gt;</span><span·class="p">,</span><span·class="w">293 line:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bin1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1073620090-1">&lt;&lt;</span><span·class="n">Bin0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1073620090-1">&gt;&gt;</span><span·class="p">,</span><span·class="w">
294 </span><span·class="n">PortOrPid</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="n">Bin1</span><span·class="p">,</span><span·class="w">294 </span><span·class="n">PortOrPid</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="n">Bin1</span><span·class="p">,</span><span·class="w">
295 </span><span·class="n">Bin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3249265133-2">&lt;&lt;</span><span·class="n">Bin1</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="3249265133-2">&gt;&gt;</span><span·class="w">··</span><span·class="c1">%%·Bin1·will·be·COPIED</span></code></pre><p>The·same·happens·if·you·insert·a·binary·into·an·Ets·table,·send·it·to·a·port295 </span><span·class="n">Bin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1073620090-2">&lt;&lt;</span><span·class="n">Bin1</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1073620090-2">&gt;&gt;</span><span·class="w">··</span><span·class="c1">%%·Bin1·will·be·COPIED</span></code></pre><p>The·same·happens·if·you·insert·a·binary·into·an·Ets·table,·send·it·to·a·port
296 using·<a·href="../../erts-16.0/doc/html/erlang.html#port_command/2"><code·class="inline">erlang:port_command/2</code></a>,·or·pass·it·to296 using·<a·href="../../erts-16.0/doc/html/erlang.html#port_command/2"><code·class="inline">erlang:port_command/2</code></a>,·or·pass·it·to
297 <a·href="../../erts-16.0/doc/html/erl_nif.html#enif_inspect_binary">enif_inspect_binary</a>·in·a·NIF.</p><p>Matching·a·binary·will·also·cause·it·to·shrink·and·the·next·append·operation297 <a·href="../../erts-16.0/doc/html/erl_nif.html#enif_inspect_binary">enif_inspect_binary</a>·in·a·NIF.</p><p>Matching·a·binary·will·also·cause·it·to·shrink·and·the·next·append·operation
298 will·copy·the·binary·data:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bin1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9379334780-1">&lt;&lt;</span><span·class="n">Bin0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="9379334780-1">&gt;&gt;</span><span·class="p">,</span><span·class="w">298 will·copy·the·binary·data:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bin1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7067818628-1">&lt;&lt;</span><span·class="n">Bin0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="7067818628-1">&gt;&gt;</span><span·class="p">,</span><span·class="w">
299 </span><span·class="p"·data-group-id="9379334780-2">&lt;&lt;</span><span·class="n">X</span><span·class="p">,</span><span·class="n">Y</span><span·class="p">,</span><span·class="n">Z</span><span·class="p">,</span><span·class="n">T</span><span·class="o">/</span><span·class="ss">binary</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·783b126f90dc3f04f4e34e5f838506dc517ffaab689bc174c41eda6c7bedd4ed·...·]-2">&gt;&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Bin1</span><span·class="p">,</span><span·class="w">299 </span><span·class="p"·data-group-id="7067818628-2">&lt;&lt;</span><span·class="n">X</span><span·class="p">,</span><span·class="n">Y</span><span·class="p">,</span><span·class="n">Z</span><span·class="p">,</span><span·class="n">T</span><span·class="o">/</span><span·class="ss">binary</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·5cd83fe04c983a24be7283b70ed49ff76d657ce61540cb70f052c10797bc9e27·...·]-2">&gt;&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Bin1</span><span·class="p">,</span><span·class="w">
300 </span><span·class="n">Bin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9379334780-3">&lt;&lt;</span><span·class="n">Bin1</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="9379334780-3">&gt;&gt;</span><span·class="w">··</span><span·class="c1">%%·Bin1·will·be·COPIED</span></code></pre><p>The·reason·is·that·a·<a·href="binaryhandling.html#match_context">match·context</a>·contains·a300 </span><span·class="n">Bin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7067818628-3">&lt;&lt;</span><span·class="n">Bin1</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="7067818628-3">&gt;&gt;</span><span·class="w">··</span><span·class="c1">%%·Bin1·will·be·COPIED</span></code></pre><p>The·reason·is·that·a·<a·href="binaryhandling.html#match_context">match·context</a>·contains·a
301 direct·pointer·to·the·binary·data.</p><p>If·a·process·simply·keeps·binaries·(either·in·&quot;loop·data&quot;·or·in·the·process301 direct·pointer·to·the·binary·data.</p><p>If·a·process·simply·keeps·binaries·(either·in·&quot;loop·data&quot;·or·in·the·process
302 dictionary),·the·garbage·collector·can·eventually·shrink·the·binaries.·If·only302 dictionary),·the·garbage·collector·can·eventually·shrink·the·binaries.·If·only
303 one·such·binary·is·kept,·it·will·not·be·shrunk.·If·the·process·later·appends·to303 one·such·binary·is·kept,·it·will·not·be·shrunk.·If·the·process·later·appends·to
304 a·binary·that·has·been·shrunk,·the·binary·object·will·be·reallocated·to·make304 a·binary·that·has·been·shrunk,·the·binary·object·will·be·reallocated·to·make
305 place·for·the·data·to·be·appended.</p><h2·id="matching-binaries"·class="section-heading">305 place·for·the·data·to·be·appended.</p><h2·id="matching-binaries"·class="section-heading">
306 ··<a·href="#matching-binaries"·class="hover-link">306 ··<a·href="#matching-binaries"·class="hover-link">
307 ····<i·class="ri-link-m"·aria-hidden="true"></i>307 ····<i·class="ri-link-m"·aria-hidden="true"></i>
308 ··</a>308 ··</a>
309 ··<span·class="text">Matching·Binaries</span>309 ··<span·class="text">Matching·Binaries</span>
Max diff block lines reached; 35020/81873 bytes (42.77%) of diff not shown.
626 B
html2text {}
Max HTML report size reached
49.5 KB
./usr/share/doc/erlang-doc/html/doc/system/bit_syntax.html
    
Offset 119, 48 lines modifiedOffset 119, 48 lines modified
119 ··<a·href="#introduction"·class="hover-link">119 ··<a·href="#introduction"·class="hover-link">
120 ····<i·class="ri-link-m"·aria-hidden="true"></i>120 ····<i·class="ri-link-m"·aria-hidden="true"></i>
121 ··</a>121 ··</a>
122 ··<span·class="text">Introduction</span>122 ··<span·class="text">Introduction</span>
123 </h2>123 </h2>
124 <p>The·complete·specification·for·the·bit·syntax·appears·in·the124 <p>The·complete·specification·for·the·bit·syntax·appears·in·the
125 <a·href="../../doc/system/expressions.html#bit-syntax-expressions">Reference·Manual</a>.</p><p>In·Erlang,·a·Bin·is·used·for·constructing·binaries·and·matching·binary·patterns.125 <a·href="../../doc/system/expressions.html#bit-syntax-expressions">Reference·Manual</a>.</p><p>In·Erlang,·a·Bin·is·used·for·constructing·binaries·and·matching·binary·patterns.
126 A·Bin·is·written·with·the·following·syntax:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5096395829-1">&lt;&lt;</span><span·class="n">E1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E2</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·cla[·...·truncated·by·diffoscope;·len:·81,·SHA:·ddffc826cc34c4752f91db2b0286cb65b764448918c741f08eff8877ddceccef·...·]-1">&gt;&gt;</span></code></pre><p>A·Bin·is·a·low-level·sequence·of·bits·or·bytes.·The·purpose·of·a·Bin·is·to126 A·Bin·is·written·with·the·following·syntax:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1254094552-1">&lt;&lt;</span><span·class="n">E1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E2</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·cla[·...·truncated·by·diffoscope;·len:·81,·SHA:·fd694c75b82d0b0dbdc715cdd08d45061fd6cc0ec6c1b1cc920d8d561a519391·...·]-1">&gt;&gt;</span></code></pre><p>A·Bin·is·a·low-level·sequence·of·bits·or·bytes.·The·purpose·of·a·Bin·is·to
127 enable·construction·of·binaries:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3157842688-1">&lt;&lt;</span><span·class="n">E1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E2</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·cla[·...·truncated·by·diffoscope;·len:·582,·SHA:·2427ba050d2061378c08a992ba85de6d60f79e6e4ee214ff9a9f3b42e89a71d7·...·]-1">&gt;&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Bin</span></code></pre><p>Here,·<code·class="inline">Bin</code>·is·bound·and·the·elements·are·bound·or·unbound,·as·in·any·match.</p><p>A·Bin·does·not·need·to·consist·of·a·whole·number·of·bytes.</p><p>A·<em>bitstring</em>·is·a·sequence·of·zero·or·more·bits,·where·the·number·of·bits·does127 enable·construction·of·binaries:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0936470221-1">&lt;&lt;</span><span·class="n">E1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E2</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·cla[·...·truncated·by·diffoscope;·len:·582,·SHA:·67d20c4561544114c97669ed00f16e006be06db46276ced69fd259a2fc4270b2·...·]-1">&gt;&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Bin</span></code></pre><p>Here,·<code·class="inline">Bin</code>·is·bound·and·the·elements·are·bound·or·unbound,·as·in·any·match.</p><p>A·Bin·does·not·need·to·consist·of·a·whole·number·of·bytes.</p><p>A·<em>bitstring</em>·is·a·sequence·of·zero·or·more·bits,·where·the·number·of·bits·does
128 not·need·to·be·divisible·by·8.·If·the·number·of·bits·is·divisible·by·8,·the128 not·need·to·be·divisible·by·8.·If·the·number·of·bits·is·divisible·by·8,·the
129 bitstring·is·also·a·binary.</p><p>Each·element·specifies·a·certain·<em>segment</em>·of·the·bitstring.·A·segment·is·a·set129 bitstring·is·also·a·binary.</p><p>Each·element·specifies·a·certain·<em>segment</em>·of·the·bitstring.·A·segment·is·a·set
130 of·contiguous·bits·of·the·binary·(not·necessarily·on·a·byte·boundary).·The·first130 of·contiguous·bits·of·the·binary·(not·necessarily·on·a·byte·boundary).·The·first
131 element·specifies·the·initial·segment,·the·second·element·specifies·the131 element·specifies·the·initial·segment,·the·second·element·specifies·the
132 following·segment,·and·so·on.</p><p>The·following·examples·illustrate·how·binaries·are·constructed,·or·matched,·and132 following·segment,·and·so·on.</p><p>The·following·examples·illustrate·how·binaries·are·constructed,·or·matched,·and
133 how·elements·and·tails·are·specified.</p><h3·id="examples"·class="section-heading">133 how·elements·and·tails·are·specified.</p><h3·id="examples"·class="section-heading">
134 ··<a·href="#examples"·class="hover-link">134 ··<a·href="#examples"·class="hover-link">
135 ····<i·class="ri-link-m"·aria-hidden="true"></i>135 ····<i·class="ri-link-m"·aria-hidden="true"></i>
136 ··</a>136 ··</a>
137 ··<span·class="text">Examples</span>137 ··<span·class="text">Examples</span>
138 </h3>138 </h3>
139 <p><em>Example·1:</em>·A·binary·can·be·constructed·from·a·set·of·constants·or·a·string139 <p><em>Example·1:</em>·A·binary·can·be·constructed·from·a·set·of·constants·or·a·string
140 literal:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bin11</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1549347292-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">17</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">42</span><span·class="p"·data-group-id="1549347292-1">&gt;&gt;</span><span·class="p">,</span><span·class="w">140 literal:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bin11</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5630922841-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">17</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">42</span><span·class="p"·data-group-id="5630922841-1">&gt;&gt;</span><span·class="p">,</span><span·class="w">
141 </span><span·class="n">Bin12</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1549347292-2">&lt;&lt;</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="1549347292-2">&gt;&gt;</span></code></pre><p>This·gives·two·binaries·of·size·3,·with·the·following·evaluations:</p><ul><li><a·href="../../erts-16.0/doc/html/erlang.html#binary_to_list/1"><code·class="inline">binary_to_list(Bin11)</code></a>·evaluates·to·<code·class="inline">[1,·17,·42]</code>.</li><li><a·href="../../erts-16.0/doc/html/erlang.html#binary_to_list/1"><code·class="inline">binary_to_list(Bin12)</code></a>·evaluates·to·<code·class="inline">[97,·98,·99]</code>.</li></ul><p><em>Example·2:</em>Similarly,·a·binary·can·be·constructed·from·a·set·of·bound141 </span><span·class="n">Bin12</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5630922841-2">&lt;&lt;</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="5630922841-2">&gt;&gt;</span></code></pre><p>This·gives·two·binaries·of·size·3,·with·the·following·evaluations:</p><ul><li><a·href="../../erts-16.0/doc/html/erlang.html#binary_to_list/1"><code·class="inline">binary_to_list(Bin11)</code></a>·evaluates·to·<code·class="inline">[1,·17,·42]</code>.</li><li><a·href="../../erts-16.0/doc/html/erlang.html#binary_to_list/1"><code·class="inline">binary_to_list(Bin12)</code></a>·evaluates·to·<code·class="inline">[97,·98,·99]</code>.</li></ul><p><em>Example·2:</em>Similarly,·a·binary·can·be·constructed·from·a·set·of·bound
142 variables:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">17</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">142 variables:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">17</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">
143 </span><span·class="n">Bin2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4643386099-1">&lt;&lt;</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p">:</span><span·class="mi">16</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·5a4e09bec1d9ce96a3c87929cd7e72fa36ef303b2c10c64f2290522ede214605·...·]-1">&gt;&gt;</span></code></pre><p>This·gives·a·binary·of·size·4.·Here,·a·<em>size·expression</em>·is·used·for·the143 </span><span·class="n">Bin2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7592155981-1">&lt;&lt;</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p">:</span><span·class="mi">16</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·4a60f2f1055c471bd09624cd7f5822d351928751926b18c1b8e8552f6ac6ab5c·...·]-1">&gt;&gt;</span></code></pre><p>This·gives·a·binary·of·size·4.·Here,·a·<em>size·expression</em>·is·used·for·the
144 variable·<code·class="inline">C</code>·to·specify·a·16-bits·segment·of·<code·class="inline">Bin2</code>.</p><p><a·href="../../erts-16.0/doc/html/erlang.html#binary_to_list/1"><code·class="inline">binary_to_list(Bin2)</code></a>·evaluates·to·<code·class="inline">[1,·17,·00,·42]</code>.</p><p><em>Example·3:</em>·A·Bin·can·also·be·used·for·matching.·<code·class="inline">D</code>,·<code·class="inline">E</code>,·and·<code·class="inline">F</code>·are·unbound144 variable·<code·class="inline">C</code>·to·specify·a·16-bits·segment·of·<code·class="inline">Bin2</code>.</p><p><a·href="../../erts-16.0/doc/html/erlang.html#binary_to_list/1"><code·class="inline">binary_to_list(Bin2)</code></a>·evaluates·to·<code·class="inline">[1,·17,·00,·42]</code>.</p><p><em>Example·3:</em>·A·Bin·can·also·be·used·for·matching.·<code·class="inline">D</code>,·<code·class="inline">E</code>,·and·<code·class="inline">F</code>·are·unbound
145 variables,·and·<code·class="inline">Bin2</code>·is·bound,·as·in·Example·2:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0743491023-1">&lt;&lt;</span><span·class="n">D</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="p">,</span><span·class="w">·</span><span·class="n">F</span><span·cla[·...·truncated·by·diffoscope;·len:·86,·SHA:·fced6e7dbf5a4557e88a8a9961b6982915b70ee3078e4c561e6381be0f94be5d·...·]-1">&gt;&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Bin2</span></code></pre><p>This·gives·<code·class="inline">D·=·273</code>,·<code·class="inline">E·=·00</code>,·and·F·binds·to·a·binary·of·size·1:145 variables,·and·<code·class="inline">Bin2</code>·is·bound,·as·in·Example·2:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6819989578-1">&lt;&lt;</span><span·class="n">D</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="p">,</span><span·class="w">·</span><span·class="n">F</span><span·cla[·...·truncated·by·diffoscope;·len:·86,·SHA:·a188d894814380c9a04d02193cd25460d4ad3a8f76310913aa0d9746b00646c5·...·]-1">&gt;&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Bin2</span></code></pre><p>This·gives·<code·class="inline">D·=·273</code>,·<code·class="inline">E·=·00</code>,·and·F·binds·to·a·binary·of·size·1:
146 <code·class="inline">binary_to_list(F)·=·[42]</code>.</p><p><em>Example·4:</em>·The·following·is·a·more·elaborate·example·of·matching.·Here,146 <code·class="inline">binary_to_list(F)·=·[42]</code>.</p><p><em>Example·4:</em>·The·following·is·a·more·elaborate·example·of·matching.·Here,
147 <code·class="inline">Dgram</code>·is·bound·to·the·consecutive·bytes·of·an·IP·datagram·of·IP·protocol147 <code·class="inline">Dgram</code>·is·bound·to·the·consecutive·bytes·of·an·IP·datagram·of·IP·protocol
148 version·4.·The·ambition·is·to·extract·the·header·and·the·data·of·the·datagram:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="1452404798-1">(</span><span·class="n">IP_VERSION</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="p"·data-group-id="1452404798-1">)</span><span·class="p">.</span><span·class="w">148 version·4.·The·ambition·is·to·extract·the·header·and·the·data·of·the·datagram:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="4856777109-1">(</span><span·class="n">IP_VERSION</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="p"·data-group-id="4856777109-1">)</span><span·class="p">.</span><span·class="w">
149 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="1452404798-2">(</span><span·class="n">IP_MIN_HDR_LEN</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span><span·class="p"·data-group-id="1452404798-2">)</span><span·class="p">.</span><span·class="w">149 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="4856777109-2">(</span><span·class="n">IP_MIN_HDR_LEN</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span><span·class="p"·data-group-id="4856777109-2">)</span><span·class="p">.</span><span·class="w">
  
150 </span><span·class="n">DgramSize</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">byte_size</span><span·class="p"·data-group-id="1452404798-3">(</span><span·class="n">Dgram</span><span·class="p"·data-group-id="1452404798-3">)</span><span·class="p">,</span><span·class="w">150 </span><span·class="n">DgramSize</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">byte_size</span><span·class="p"·data-group-id="4856777109-3">(</span><span·class="n">Dgram</span><span·class="p"·data-group-id="4856777109-3">)</span><span·class="p">,</span><span·class="w">
151 </span><span·class="k">case</span><span·class="w">·</span><span·class="n">Dgram</span><span·class="w">·</span><span·class="k">of</span><span·class="w">151 </span><span·class="k">case</span><span·class="w">·</span><span·class="n">Dgram</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
152 ····</span><span·class="p"·data-group-id="1452404798-4">&lt;&lt;</span><span·class="o">?</span><span·class="n">IP_VERSION</span><span·class="p">:</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="n">HLen</span><span·class="p">:</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SrvcType</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TotLen</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">,</span><span·class="w">152 ····</span><span·class="p"·data-group-id="4856777109-4">&lt;&lt;</span><span·class="o">?</span><span·class="n">IP_VERSION</span><span·class="p">:</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="n">HLen</span><span·class="p">:</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SrvcType</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TotLen</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">,</span><span·class="w">
153 ······</span><span·class="n">ID</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Flgs</span><span·class="p">:</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FragOff</span><span·class="p">:</span><span·class="mi">13</span><span·class="p">,</span><span·class="w">153 ······</span><span·class="n">ID</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Flgs</span><span·class="p">:</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FragOff</span><span·class="p">:</span><span·class="mi">13</span><span·class="p">,</span><span·class="w">
154 ······</span><span·class="n">TTL</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Proto</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">·</span><span·class="n">HdrChkSum</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">,</span><span·class="w">154 ······</span><span·class="n">TTL</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Proto</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">·</span><span·class="n">HdrChkSum</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">,</span><span·class="w">
155 ······</span><span·class="n">SrcIP</span><span·class="p">:</span><span·class="mi">32</span><span·class="p">,</span><span·class="w">155 ······</span><span·class="n">SrcIP</span><span·class="p">:</span><span·class="mi">32</span><span·class="p">,</span><span·class="w">
156 ······</span><span·class="n">DestIP</span><span·class="p">:</span><span·class="mi">32</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RestDgram</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p"·data-group-id="1452404798-4">&gt;&gt;</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">HLen</span><span·class="o">&gt;=</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="o">*</span><span·class="n">HLen</span><span·class="o">=&lt;</span><span·class="n">DgramSize</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">156 ······</span><span·class="n">DestIP</span><span·class="p">:</span><span·class="mi">32</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RestDgram</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p"·data-group-id="4856777109-4">&gt;&gt;</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">HLen</span><span·class="o">&gt;=</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="o">*</span><span·class="n">HLen</span><span·class="o">=&lt;</span><span·class="n">DgramSize</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
157 ········</span><span·class="n">OptsLen</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">4</span><span·class="o">*</span><span·class="p"·data-group-id="1452404798-5">(</span><span·class="n">HLen</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">?</span><span·class="n">IP_MIN_HDR_LEN</span><span·class="p"·data-group-id="1452404798-5">)</span><span·class="p">,</span><span·class="w">157 ········</span><span·class="n">OptsLen</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">4</span><span·class="o">*</span><span·class="p"·data-group-id="4856777109-5">(</span><span·class="n">HLen</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">?</span><span·class="n">IP_MIN_HDR_LEN</span><span·class="p"·data-group-id="4856777109-5">)</span><span·class="p">,</span><span·class="w">
158 ········</span><span·class="p"·data-group-id="1452404798-6">&lt;&lt;</span><span·class="n">Opts</span><span·class="p">:</span><span·class="n">OptsLen</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="n">Data</span><span·class="o">/</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·54,·SHA:·2d625d6273b542a157e574b6aac34ed7c7fa4d02686598a50fd35a90ce613f62·...·]-6">&gt;&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">RestDgram</span><span·class="p">,</span><span·class="w">158 ········</span><span·class="p"·data-group-id="4856777109-6">&lt;&lt;</span><span·class="n">Opts</span><span·class="p">:</span><span·class="n">OptsLen</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="n">Data</span><span·class="o">/</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·54,·SHA:·546940dc43de6f2b932d033b3af9d260658ed4825aecd0a3842e683d525c7121·...·]-6">&gt;&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">RestDgram</span><span·class="p">,</span><span·class="w">
159 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">159 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
160 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Here,·the·segment·corresponding·to·the·<code·class="inline">Opts</code>·variable·has·a·<em>type·modifier</em>,160 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Here,·the·segment·corresponding·to·the·<code·class="inline">Opts</code>·variable·has·a·<em>type·modifier</em>,
161 specifying·that·<code·class="inline">Opts</code>·is·to·bind·to·a·binary.·All·other·variables·have·the161 specifying·that·<code·class="inline">Opts</code>·is·to·bind·to·a·binary.·All·other·variables·have·the
162 default·type·equal·to·unsigned·integer.</p><p>An·IP·datagram·header·is·of·variable·length.·This·length·is·measured·in·the162 default·type·equal·to·unsigned·integer.</p><p>An·IP·datagram·header·is·of·variable·length.·This·length·is·measured·in·the
163 number·of·32-bit·words·and·is·given·in·the·segment·corresponding·to·<code·class="inline">HLen</code>.·The163 number·of·32-bit·words·and·is·given·in·the·segment·corresponding·to·<code·class="inline">HLen</code>.·The
164 minimum·value·of·<code·class="inline">HLen</code>·is·5.·It·is·the·segment·corresponding·to·<code·class="inline">Opts</code>·that·is164 minimum·value·of·<code·class="inline">HLen</code>·is·5.·It·is·the·segment·corresponding·to·<code·class="inline">Opts</code>·that·is
165 variable,·so·if·<code·class="inline">HLen</code>·is·equal·to·5,·<code·class="inline">Opts</code>·becomes·an·empty·binary.</p><p>The·tail·variables·<code·class="inline">RestDgram</code>·and·<code·class="inline">Data</code>·bind·to·binaries,·as·all·tail165 variable,·so·if·<code·class="inline">HLen</code>·is·equal·to·5,·<code·class="inline">Opts</code>·becomes·an·empty·binary.</p><p>The·tail·variables·<code·class="inline">RestDgram</code>·and·<code·class="inline">Data</code>·bind·to·binaries,·as·all·tail
Offset 218, 80 lines modifiedOffset 218, 80 lines modified
218 <p>This·section·describes·the·rules·for·constructing·binaries·using·the·bit·syntax.218 <p>This·section·describes·the·rules·for·constructing·binaries·using·the·bit·syntax.
219 Unlike·when·constructing·lists·or·tuples,·the·construction·of·a·binary·can·fail219 Unlike·when·constructing·lists·or·tuples,·the·construction·of·a·binary·can·fail
220 with·a·<code·class="inline">badarg</code>·exception.</p><p>There·can·be·zero·or·more·segments·in·a·binary·to·be·constructed.·The·expression220 with·a·<code·class="inline">badarg</code>·exception.</p><p>There·can·be·zero·or·more·segments·in·a·binary·to·be·constructed.·The·expression
221 <code·class="inline">&lt;&lt;&gt;&gt;</code>·constructs·a·zero·length·binary.</p><p>Each·segment·in·a·binary·can·consist·of·zero·or·more·bits.·There·are·no221 <code·class="inline">&lt;&lt;&gt;&gt;</code>·constructs·a·zero·length·binary.</p><p>Each·segment·in·a·binary·can·consist·of·zero·or·more·bits.·There·are·no
222 alignment·rules·for·individual·segments·of·type·<code·class="inline">integer</code>·and·<code·class="inline">float</code>.·For222 alignment·rules·for·individual·segments·of·type·<code·class="inline">integer</code>·and·<code·class="inline">float</code>.·For
223 binaries·and·bitstrings·without·size,·the·unit·specifies·the·alignment.·Since223 binaries·and·bitstrings·without·size,·the·unit·specifies·the·alignment.·Since
224 the·default·alignment·for·the·<code·class="inline">binary</code>·type·is·8,·the·size·of·a·binary·segment224 the·default·alignment·for·the·<code·class="inline">binary</code>·type·is·8,·the·size·of·a·binary·segment
225 must·be·a·multiple·of·8·bits,·that·is,·only·whole·bytes.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5814716360-1">&lt;&lt;</span><span·class="n">Bin</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="n">Bitstring</span><span·class="o">/</span><span·class="ss">bitstring</span><span·class="p"·data-group-id="581[·...·truncated·by·diffoscope;·len:·7,·SHA:·6d25ed605998cbec886efded645c9577657e62742b78877f7103fe69e5ee8ab1·...·]-1">&gt;&gt;</span></code></pre><p>The·variable·<code·class="inline">Bin</code>·must·contain·a·whole·number·of·bytes,·because·the·<code·class="inline">binary</code>225 must·be·a·multiple·of·8·bits,·that·is,·only·whole·bytes.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8963909834-1">&lt;&lt;</span><span·class="n">Bin</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="n">Bitstring</span><span·class="o">/</span><span·class="ss">bitstring</span><span·class="p"·data-group-id="896[·...·truncated·by·diffoscope;·len:·7,·SHA:·92bae9a0d54ed4635bdc04531dde7b4e06fe3c8ebf6c2c3b967c980dfcc91c30·...·]-1">&gt;&gt;</span></code></pre><p>The·variable·<code·class="inline">Bin</code>·must·contain·a·whole·number·of·bytes,·because·the·<code·class="inline">binary</code>
226 type·defaults·to·<code·class="inline">unit:8</code>.·A·<code·class="inline">badarg</code>·exception·is·generated·if·<code·class="inline">Bin</code>·consist226 type·defaults·to·<code·class="inline">unit:8</code>.·A·<code·class="inline">badarg</code>·exception·is·generated·if·<code·class="inline">Bin</code>·consist
227 of,·for·example,·17·bits.</p><p>The·<code·class="inline">Bitstring</code>·variable·can·consist·of·any·number·of·bits,·for·example,·0,·1,227 of,·for·example,·17·bits.</p><p>The·<code·class="inline">Bitstring</code>·variable·can·consist·of·any·number·of·bits,·for·example,·0,·1,
228 8,·11,·17,·42,·and·so·on.·This·is·because·the·default·<code·class="inline">unit</code>·for·bitstrings228 8,·11,·17,·42,·and·so·on.·This·is·because·the·default·<code·class="inline">unit</code>·for·bitstrings
229 is·1.</p><p>For·clarity,·it·is·recommended·not·to·change·the·unit·size·for·binaries.229 is·1.</p><p>For·clarity,·it·is·recommended·not·to·change·the·unit·size·for·binaries.
230 Instead,·use·<code·class="inline">binary</code>·when·you·need·byte·alignment·and·<code·class="inline">bitstring</code>·when·you·need230 Instead,·use·<code·class="inline">binary</code>·when·you·need·byte·alignment·and·<code·class="inline">bitstring</code>·when·you·need
231 bit·alignment.</p><p>The·following·example·successfully·constructs·a·bitstring·of·7·bits,·provided231 bit·alignment.</p><p>The·following·example·successfully·constructs·a·bitstring·of·7·bits,·provided
232 that·all·of·X·and·Y·are·integers:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1650434267-1">&lt;&lt;</span><span·class="n">X</span><span·class="p">:</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">Y</span><span·class="p">:</span><span·class="mi">6</span><span·class="p"·data-group-id="1650434267-1">&gt;&gt;</span></code></pre><p>As·mentioned·earlier,·segments·have·the·following·general·syntax:</p><p><code·class="inline">Value:Size/TypeSpecifierList</code></p><p>When·constructing·binaries,·<code·class="inline">Value</code>·and·<code·class="inline">Size</code>·can·be·any·Erlang·expression.232 that·all·of·X·and·Y·are·integers:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5626930661-1">&lt;&lt;</span><span·class="n">X</span><span·class="p">:</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">Y</span><span·class="p">:</span><span·class="mi">6</span><span·class="p"·data-group-id="5626930661-1">&gt;&gt;</span></code></pre><p>As·mentioned·earlier,·segments·have·the·following·general·syntax:</p><p><code·class="inline">Value:Size/TypeSpecifierList</code></p><p>When·constructing·binaries,·<code·class="inline">Value</code>·and·<code·class="inline">Size</code>·can·be·any·Erlang·expression.
233 However,·for·syntactical·reasons,·both·<code·class="inline">Value</code>·and·<code·class="inline">Size</code>·must·be·enclosed·in233 However,·for·syntactical·reasons,·both·<code·class="inline">Value</code>·and·<code·class="inline">Size</code>·must·be·enclosed·in
234 parenthesis·if·the·expression·consists·of·anything·more·than·a·single·literal·or234 parenthesis·if·the·expression·consists·of·anything·more·than·a·single·literal·or
235 a·variable.·The·following·gives·a·compiler·syntax·error:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6133517281-1">&lt;&lt;</span><span·class="n">X</span><span·class="o">+</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">8</span><span·class="p"·data-group-id="6133517281-1">&gt;&gt;</span></code></pre><p>This·expression·must·be·rewritten·into·the·following,·to·be·accepted·by·the235 a·variable.·The·following·gives·a·compiler·syntax·error:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9721247579-1">&lt;&lt;</span><span·class="n">X</span><span·class="o">+</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">8</span><span·class="p"·data-group-id="9721247579-1">&gt;&gt;</span></code></pre><p>This·expression·must·be·rewritten·into·the·following,·to·be·accepted·by·the
236 compiler:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2795436128-1">&lt;&lt;</span><span·class="p"·data-group-id="2795436128-2">(</span><span·class="n">X</span><span·class="o">+</span><span·class="mi">1</span><span·class="p"·data-group-id="2795436128-2">)</span><span·class="p">:</span><span·class="mi">8</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·dbd6dbeea4fe4d16d6a120f2706308051877f57ffcf74265a45bc67dee69d132·...·]-1">&gt;&gt;</span></code></pre><h3·id="including-literal-strings"·class="section-heading">236 compiler:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2709239440-1">&lt;&lt;</span><span·class="p"·data-group-id="2709239440-2">(</span><span·class="n">X</span><span·class="o">+</span><span·class="mi">1</span><span·class="p"·data-group-id="2709239440-2">)</span><span·class="p">:</span><span·class="mi">8</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·7165afae06da574cfb33806c0b0a2f7469909cc4ba0a9d45fce5c3bc5c9059d4·...·]-1">&gt;&gt;</span></code></pre><h3·id="including-literal-strings"·class="section-heading">
237 ··<a·href="#including-literal-strings"·class="hover-link">237 ··<a·href="#including-literal-strings"·class="hover-link">
238 ····<i·class="ri-link-m"·aria-hidden="true"></i>238 ····<i·class="ri-link-m"·aria-hidden="true"></i>
239 ··</a>239 ··</a>
240 ··<span·class="text">Including·Literal·Strings</span>240 ··<span·class="text">Including·Literal·Strings</span>
241 </h3>241 </h3>
242 <p>A·literal·string·can·be·written·instead·of·an·element:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7339429517-1">&lt;&lt;</span><span·class="s">&quot;hello&quot;</span><span·class="p"·data-group-id="7339429517-1">&gt;&gt;</span></code></pre><p>This·is·syntactic·sugar·for·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·d[·...·truncated·by·diffoscope;·len:·310,·SHA:·e046753ceaa10d57f9350f9070e13c5b80e501ebe6b600189a0f2e989804aa28·...·]-1">&gt;&gt;</span></code></pre><h2·id="matching-binaries"·class="section-heading">242 <p>A·literal·string·can·be·written·instead·of·an·element:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4493707117-1">&lt;&lt;</span><span·class="s">&quot;hello&quot;</span><span·class="p"·data-group-id="4493707117-1">&gt;&gt;</span></code></pre><p>This·is·syntactic·sugar·for·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·d[·...·truncated·by·diffoscope;·len:·310,·SHA:·fd23bebd26be6f484b43046c192c90ae0af0f94bae54bd2ca08109d5159f7cec·...·]-1">&gt;&gt;</span></code></pre><h2·id="matching-binaries"·class="section-heading">
243 ··<a·href="#matching-binaries"·class="hover-link">243 ··<a·href="#matching-binaries"·class="hover-link">
244 ····<i·class="ri-link-m"·aria-hidden="true"></i>244 ····<i·class="ri-link-m"·aria-hidden="true"></i>
245 ··</a>245 ··</a>
246 ··<span·class="text">Matching·Binaries</span>246 ··<span·class="text">Matching·Binaries</span>
247 </h2>247 </h2>
248 <p>This·section·describes·the·rules·for·matching·binaries,·using·the·bit·syntax.</p><p>There·can·be·zero·or·more·segments·in·a·binary·pattern.·A·binary·pattern·can248 <p>This·section·describes·the·rules·for·matching·binaries,·using·the·bit·syntax.</p><p>There·can·be·zero·or·more·segments·in·a·binary·pattern.·A·binary·pattern·can
249 occur·wherever·patterns·are·allowed,·including·inside·other·patterns.·Binary249 occur·wherever·patterns·are·allowed,·including·inside·other·patterns.·Binary
250 patterns·cannot·be·nested.·The·pattern·<code·class="inline">&lt;&lt;&gt;&gt;</code>·matches·a·zero·length·binary.</p><p>Each·segment·in·a·binary·can·consist·of·zero·or·more·bits.·A·segment·of·type250 patterns·cannot·be·nested.·The·pattern·<code·class="inline">&lt;&lt;&gt;&gt;</code>·matches·a·zero·length·binary.</p><p>Each·segment·in·a·binary·can·consist·of·zero·or·more·bits.·A·segment·of·type
251 <code·class="inline">binary</code>·must·have·a·size·evenly·divisible·by·8·(or·divisible·by·the·unit·size,251 <code·class="inline">binary</code>·must·have·a·size·evenly·divisible·by·8·(or·divisible·by·the·unit·size,
252 if·the·unit·size·has·been·changed).·A·segment·of·type·<code·class="inline">bitstring</code>·has·no252 if·the·unit·size·has·been·changed).·A·segment·of·type·<code·class="inline">bitstring</code>·has·no
253 restrictions·on·the·size.·A·segment·of·type·<code·class="inline">float</code>·must·have·size·64·or·32.</p><p>As·mentioned·earlier,·segments·have·the·following·general·syntax:</p><p><code·class="inline">Value:Size/TypeSpecifierList</code></p><p>When·matching·<code·class="inline">Value</code>,·value·must·be·either·a·variable·or·an·integer,·or·a253 restrictions·on·the·size.·A·segment·of·type·<code·class="inline">float</code>·must·have·size·64·or·32.</p><p>As·mentioned·earlier,·segments·have·the·following·general·syntax:</p><p><code·class="inline">Value:Size/TypeSpecifierList</code></p><p>When·matching·<code·class="inline">Value</code>,·value·must·be·either·a·variable·or·an·integer,·or·a
254 floating·point·literal.·Expressions·are·not·allowed.</p><p><code·class="inline">Size</code>·must·be·a254 floating·point·literal.·Expressions·are·not·allowed.</p><p><code·class="inline">Size</code>·must·be·a
255 <a·href="../../doc/system/expressions.html#guard-expressions">guard·expression</a>,·which·can·use255 <a·href="../../doc/system/expressions.html#guard-expressions">guard·expression</a>,·which·can·use
256 literals·and·previously·bound·variables.·The·following·is·not·allowed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="9444153359-1">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9444153359-2">&lt;&lt;</span><span·class="n">X</span><span·class="p">:</span><span·class="n">N</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·173,·SHA:·94551db1e5d4c15abf38507c5af480cdc9d71e6386986bb098701c3984bb1124·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">256 literals·and·previously·bound·variables.·The·following·is·not·allowed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="7129578582-1">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7129578582-2">&lt;&lt;</span><span·class="n">X</span><span·class="p">:</span><span·class="n">N</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·173,·SHA:·55e17d67934b5b9c59e1b76b3db5d4fcfb78088a4f456c093ab40a694b296409·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
257 ···</span><span·class="p"·data-group-id="9444153359-3">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">T</span><span·class="p"·data-group-id="9444153359-3">}</span><span·class="p">.</span></code></pre><p>The·two·occurrences·of·<code·class="inline">N</code>·are·not·related.·The·compiler·will·complain·that·the257 ···</span><span·class="p"·data-group-id="7129578582-3">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">T</span><span·class="p"·data-group-id="7129578582-3">}</span><span·class="p">.</span></code></pre><p>The·two·occurrences·of·<code·class="inline">N</code>·are·not·related.·The·compiler·will·complain·that·the
258 <code·class="inline">N</code>·in·the·size·field·is·unbound.</p><p>The·correct·way·to·write·this·example·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="0084049527-1">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span·class="p"·data-group-id="0084049527-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">258 <code·class="inline">N</code>·in·the·size·field·is·unbound.</p><p>The·correct·way·to·write·this·example·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="5809536824-1">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span·class="p"·data-group-id="5809536824-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
259 ···</span><span·class="p"·data-group-id="0084049527-2">&lt;&lt;</span><span·class="n">X</span><span·class="p">:</span><span·class="n">N</span><span·class="p">,</span><span·class="n">T</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p"·data-group-id="0084049527-2">&gt;&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Bin</span><span·class="p">,</span><span·class="w">259 ···</span><span·class="p"·data-group-id="5809536824-2">&lt;&lt;</span><span·class="n">X</span><span·class="p">:</span><span·class="n">N</span><span·class="p">,</span><span·class="n">T</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p"·data-group-id="5809536824-2">&gt;&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Bin</span><span·class="p">,</span><span·class="w">
260 ···</span><span·class="p"·data-group-id="0084049527-3">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">T</span><span·class="p"·data-group-id="0084049527-3">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Before·OTP·23,·<code·class="inline">Size</code>·was·restricted·to·be·an·integer·or·a·variable·bound·to260 ···</span><span·class="p"·data-group-id="5809536824-3">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">T</span><span·class="p"·data-group-id="5809536824-3">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Before·OTP·23,·<code·class="inline">Size</code>·was·restricted·to·be·an·integer·or·a·variable·bound·to
261 an·integer.</p></section><h3·id="binding-and-using-a-size-variable"·class="section-heading">261 an·integer.</p></section><h3·id="binding-and-using-a-size-variable"·class="section-heading">
262 ··<a·href="#binding-and-using-a-size-variable"·class="hover-link">262 ··<a·href="#binding-and-using-a-size-variable"·class="hover-link">
263 ····<i·class="ri-link-m"·aria-hidden="true"></i>263 ····<i·class="ri-link-m"·aria-hidden="true"></i>
264 ··</a>264 ··</a>
265 ··<span·class="text">Binding·and·Using·a·Size·Variable</span>265 ··<span·class="text">Binding·and·Using·a·Size·Variable</span>
266 </h3>266 </h3>
267 <p>There·is·one·exception·to·the·rule·that·a·variable·that·is·used·as·size·must·be267 <p>There·is·one·exception·to·the·rule·that·a·variable·that·is·used·as·size·must·be
268 previously·bound.·It·is·possible·to·match·and·bind·a·variable,·and·use·it·as·a268 previously·bound.·It·is·possible·to·match·and·bind·a·variable,·and·use·it·as·a
269 size·within·the·same·binary·pattern.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">bar</span><span·class="p"·data-group-id="8161235362-1">(</span><span·class="p"·data-group-id="8161235362-2">&lt;&lt;</span><span·class="n">Sz</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="n">Payload</span><span·class="p">:</span><span·class="n">Sz</sp[·...·truncated·by·diffoscope;·len:·364,·SHA:·a1b517082fa56ff2c169b690ef526f5dce911f1929a706f7386b12807207ae71·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">269 size·within·the·same·binary·pattern.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">bar</span><span·class="p"·data-group-id="2214674023-1">(</span><span·class="p"·data-group-id="2214674023-2">&lt;&lt;</span><span·class="n">Sz</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="n">Payload</span><span·class="p">:</span><span·class="n">Sz</sp[·...·truncated·by·diffoscope;·len:·364,·SHA:·0c176dbd0e118f95a5d13fe3b2d4d1da14a603f8136931833c5a33da3f0c4120·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
 270 ···</span><span·class="p"·data-group-id="2214674023-3">{</span><span·class="n">Payload</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="2214674023-3">}</span><span·class="p">.</span></code></pre><p>Here·<code·class="inline">Sz</code>·is·bound·to·the·value·in·the·first·byte·of·the·binary.·<code·class="inline">Sz</code>·is·then
 271 used·at·the·number·of·bytes·to·match·out·as·a·binary.</p><p>Starting·in·OTP·23,·the·size·can·be·a·guard·expression:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">bar</span><span·class="p"·data-group-id="2228771677-1">(</span><span·class="p"·data-group-id="2228771677-2">&lt;&lt;</span><span·class="n">Sz</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="n">Payload</span><span·class="p">:</span><span·class="p"·data-group-id="2228771677-3">(</span><span·class="p"·data-group-id="2228771677-4">(</span><span·class="n">Sz</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="2228771677-4">)</span><span·class="o">*</span><span·class="mi">8</span><span·class="p"·data-group-id="2228771677-3">)</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="n">Rest</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p"·data-group-id="2228771677-2">&gt;&gt;</span><span·class="p"·data-group-id="2228771677-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
270 ···</span><span·class="p"·data-group-id="8161235362-3">{</span><span·class="n">Payload</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="8161235362-3">}</span><span·class="p">.</span></code></pre><p>Here·<code·class="inline">Sz</code>·is·bound·to·the·value·in[·...·truncated·by·diffoscope;·len:·69,·SHA:·1083f3582748578c46c3ce7c90260d1ad254ccef243b474a07b0e4eba11c7f49·...·]272 ···</span><span·class="p"·data-group-id="2228771677-5">{</span><span·class="n">Payload</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="2228771677-5">}</span><span·class="p">.</span></code></pre><p>Here·<code·class="inline">Sz</code>·is·the·combined·size·of·[·...·truncated·by·diffoscope;·len:·46,·SHA:·d0b6d114708e778d0e39df8bdf4348dbe99c13881c34a8eaa4857ce97f752e5a·...·]
271 used·at·the·number·of·bytes·to·match·out·as·a·binary.</p><p>Starting·in·OTP·23,·the·size·can·be·a·guard·expression:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">bar</span><span·class="p"·data-group-id="2029405891-1">(</span><span·class="p"·data-group-id="2029405891-2">&lt;&lt;</span><span·class="n">Sz</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="n">Payload</span><span·class="p">:</span><span·class="p"·data-group-id="2029405891-3">(</span><span·class="p"·data-group-id="2029405891-4">(</span><span·class="n">Sz</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="2029405891-4">)</span><span·class="o">*</span><span·class="mi">8</span><span·class="p"·data-group-id="2029405891-3">)</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="n">Rest</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p"·data-group-id="2029405891-2">&gt;&gt;</span><span·class="p"·data-group-id="2029405891-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
272 ···</span><span·class="p"·data-group-id="2029405891-5">{</span><span·class="n">Payload</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="2029405891-5">}</span><span·class="p">.</span></code></pre><p>Here·<code·class="inline">Sz</code>·is·the·combined·size·of·the·header·and·the·payload,·so·we·will·need·to 
273 subtract·one·byte·to·get·the·size·of·the·payload.</p><h3·id="getting-the-rest-of-the-binary-or-bitstring"·class="section-heading">273 subtract·one·byte·to·get·the·size·of·the·payload.</p><h3·id="getting-the-rest-of-the-binary-or-bitstring"·class="section-heading">
274 ··<a·href="#getting-the-rest-of-the-binary-or-bitstring"·class="hover-link">274 ··<a·href="#getting-the-rest-of-the-binary-or-bitstring"·class="hover-link">
275 ····<i·class="ri-link-m"·aria-hidden="true"></i>275 ····<i·class="ri-link-m"·aria-hidden="true"></i>
276 ··</a>276 ··</a>
277 ··<span·class="text">Getting·the·Rest·of·the·Binary·or·Bitstring</span>277 ··<span·class="text">Getting·the·Rest·of·the·Binary·or·Bitstring</span>
278 </h3>278 </h3>
279 <p>To·match·out·the·rest·of·a·binary,·specify·a·binary·field·without·size:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="7437845324-1">(</span><span·class="p"·data-group-id="7437845324-2">&lt;&lt;</span><span·class="n">A</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="n">Rest</span><span·class="o">/</span><span·class="ss">binary</s[·...·truncated·by·diffoscope;·len:·784,·SHA:·52e0a402c7905bca50af85ca23a4a6a2f19407d4df6562b878fcbd3429933b46·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span></code></pre><p>There·are·no·restrictions·on·the·number·of·bits·in·the·tail.</p><h2·id="appending-to-a-binary"·class="section-heading">279 <p>To·match·out·the·rest·of·a·binary,·specify·a·binary·field·without·size:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="1749168608-1">(</span><span·class="p"·data-group-id="1749168608-2">&lt;&lt;</span><span·class="n">A</span><span·class="p">:</span><span·class="mi">8</span><span·class="p">,</span><span·class="n">Rest</span><span·class="o">/</span><span·class="ss">binary</s[·...·truncated·by·diffoscope;·len:·784,·SHA:·918f7c564fa38f32885fd7edfe7a16f01982ee6ac46340ef80009d5f496825b5·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span></code></pre><p>There·are·no·restrictions·on·the·number·of·bits·in·the·tail.</p><h2·id="appending-to-a-binary"·class="section-heading">
280 ··<a·href="#appending-to-a-binary"·class="hover-link">280 ··<a·href="#appending-to-a-binary"·class="hover-link">
281 ····<i·class="ri-link-m"·aria-hidden="true"></i>281 ····<i·class="ri-link-m"·aria-hidden="true"></i>
282 ··</a>282 ··</a>
283 ··<span·class="text">Appending·to·a·Binary</span>283 ··<span·class="text">Appending·to·a·Binary</span>
284 </h2>284 </h2>
285 <p>Appending·to·a·binary·in·an·efficient·way·can·be·done·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="3859787178-1">(</span><span·class="n">T</span><span·class="p"·data-group-id="3859787178-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">285 <p>Appending·to·a·binary·in·an·efficient·way·can·be·done·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="8611817506-1">(</span><span·class="n">T</span><span·class="p"·data-group-id="8611817506-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
286 ····</span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="3859787178-2">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3859787178-3">&lt;&lt;</span><span·class="p"·data-group-id="3859787178-3">&gt;&gt;</span><span·class="p"·data-group-id="3859787178-2">)</span><span·class="p">.</span><span·class="w">286 ····</span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="8611817506-2">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8611817506-3">&lt;&lt;</span><span·class="p"·data-group-id="8611817506-3">&gt;&gt;</span><span·class="p"·data-group-id="8611817506-2">)</span><span·class="p">.</span><span·class="w">
  
287 </span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="3859787178-4">(</span><span·class="p"·data-group-id="3859787178-5">[</span><span·class="p"·data-group-id="3859787178-6">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">Y</span><span·class="p">,</span><span·class="n">Z</span><span·cl[·...·truncated·by·diffoscope;·len:·309,·SHA:·40bf6a90626a2134c51e42cb9270bc1ab41ba2bb73c37167c90b3e7ae2fd8cf6·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">287 </span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="8611817506-4">(</span><span·class="p"·data-group-id="8611817506-5">[</span><span·class="p"·data-group-id="8611817506-6">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">Y</span><span·class="p">,</span><span·class="n">Z</span><span·cl[·...·truncated·by·diffoscope;·len:·309,·SHA:·01f52dbdd4546a5df7edc2dbe60efee0cca9f7ee3f7a8e40696f5c794e62b62e·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
288 ····</span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="3859787178-7">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3859787178-8">&lt;&lt;</span><span·class="n">Acc</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·373,·SHA:·a9a1d510c1d84d764d6f580aba6993b7d0ba1b09ff1c1743b147a52283babe9a·...·]-7">)</span><span·class="p">;</span><span·class="w">288 ····</span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="8611817506-7">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8611817506-8">&lt;&lt;</span><span·class="n">Acc</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·373,·SHA:·b4450cf468bb963014fb949ec5aa22dc57e639a52748b469ef5929caaad7827c·...·]-7">)</span><span·class="p">;</span><span·class="w">
289 </span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="3859787178-9">(</span><span·class="p"·data-group-id="3859787178-10">[</span><span·class="p"·data-group-id="3859787178-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="3859787178-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">289 </span><span·class="nf">triples_to_bin</span><span·class="p"·data-group-id="8611817506-9">(</span><span·class="p"·data-group-id="8611817506-10">[</span><span·class="p"·data-group-id="8611817506-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="8611817506-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
290 ····</span><span·class="n">Acc</span><span·class="p">.</span></code></pre>290 ····</span><span·class="n">Acc</span><span·class="p">.</span></code></pre>
291 </div>291 </div>
  
Max diff block lines reached; 822/49887 bytes (1.65%) of diff not shown.
641 B
html2text {}
Max HTML report size reached
59.9 KB
./usr/share/doc/erlang-doc/html/doc/system/c_port.html
    
Offset 148, 101 lines modifiedOffset 148, 101 lines modified
148 external·program,·if·it·is·written·properly).</p><p>The·port·is·created·using·the·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>·with148 external·program,·if·it·is·written·properly).</p><p>The·port·is·created·using·the·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>·with
149 <code·class="inline">{spawn,ExtPrg}</code>·as·the·first·argument.·The·string·<code·class="inline">ExtPrg</code>·is·the·name·of·the149 <code·class="inline">{spawn,ExtPrg}</code>·as·the·first·argument.·The·string·<code·class="inline">ExtPrg</code>·is·the·name·of·the
150 external·program,·including·any·command·line·arguments.·The·second·argument·is·a150 external·program,·including·any·command·line·arguments.·The·second·argument·is·a
151 list·of·options,·in·this·case·only·<code·class="inline">{packet,2}</code>.·This·option·says·that·a·2·byte151 list·of·options,·in·this·case·only·<code·class="inline">{packet,2}</code>.·This·option·says·that·a·2·byte
152 length·indicator·is·to·be·used·to·simplify·the·communication·between·C·and152 length·indicator·is·to·be·used·to·simplify·the·communication·between·C·and
153 Erlang.·The·Erlang·port·automatically·adds·the·length·indicator,·but·this·must153 Erlang.·The·Erlang·port·automatically·adds·the·length·indicator,·but·this·must
154 be·done·explicitly·in·the·external·C·program.</p><p>The·process·is·also·set·to·trap·exits,·which·enables·detection·of·failure·of·the154 be·done·explicitly·in·the·external·C·program.</p><p>The·process·is·also·set·to·trap·exits,·which·enables·detection·of·failure·of·the
155 external·program:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9236128133-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="9236128133-1">)</span><span·class="p">.</span><span·class="w">155 external·program:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6089693528-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="6089693528-1">)</span><span·class="p">.</span><span·class="w">
156 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9236128133-2">(</span><span·class="p"·data-group-id="9236128133-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·116,·SHA:·b2f0e061a373ec417bca8a4326846c347bff161266f6e948606e37f52feb359c·...·]-2">)</span><span·class="p">.</span><span·class="w">156 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6089693528-2">(</span><span·class="p"·data-group-id="6089693528-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·116,·SHA:·692c19de980418e94536d4098baa5d618c5a0ecc823c00d10146be447469bd7c·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">start</span><span·class="p"·data-group-id="9236128133-4">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="9236128133-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">157 </span><span·class="nf">start</span><span·class="p"·data-group-id="6089693528-4">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="6089693528-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
158 ··</span><span·class="nf">spawn</span><span·class="p"·data-group-id="9236128133-5">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9236128133-6">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·404bc860461e48957ab9b0ea37ddeb07ccf2e2a5ddacedfefacc0aacca386c4e·...·]-5">)</span><span·class="p">.</span><span·class="w">158 ··</span><span·class="nf">spawn</span><span·class="p"·data-group-id="6089693528-5">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6089693528-6">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·1b05c6443267495bc3e5c1aa967781ee6a9dea337a12ddfd84ae488777d8eaa6·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">init</span><span·class="p"·data-group-id="9236128133-7">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="9236128133-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">159 </span><span·class="nf">init</span><span·class="p"·data-group-id="6089693528-7">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="6089693528-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
160 ··</span><span·class="nf">register</span><span·class="p"·data-group-id="9236128133-8">(</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="9236128133-9">(</span><span·class="p"·data-group-id="9236128133-9">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·df045f8af761c572a9dc85fa7ec34b58445f43ed68ab9c43682582f3208d93a6·...·]-8">)</span><span·class="p">,</span><span·class="w">160 ··</span><span·class="nf">register</span><span·class="p"·data-group-id="6089693528-8">(</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="6089693528-9">(</span><span·class="p"·data-group-id="6089693528-9">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·533a38189f9fe69afe6d1f269b985a56b62674c72ade36438f5da700a507c103·...·]-8">)</span><span·class="p">,</span><span·class="w">
161 ··</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="9236128133-10">(</span><span·class="ss">trap_exit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="9236128133-10">)</span><span·class="p">,</span><span·class="w">161 ··</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="6089693528-10">(</span><span·class="ss">trap_exit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="6089693528-10">)</span><span·class="p">,</span><span·class="w">
162 ··</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="9236128133-11">(</span><span·class="p"·data-group-id="9236128133-12">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="9236128133-12">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·95352d5766beb1ab4e6b45e726ebcb2cc96a3695ea1a37c80ab67d8ab5972715·...·]-11">)</span><span·class="p">,</span><span·class="w">162 ··</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="6089693528-11">(</span><span·class="p"·data-group-id="6089693528-12">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="6089693528-12">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·9789e67bd911990e8a804c3ecde72158af43795c8ee7c1207f06fe36126b384d·...·]-11">)</span><span·class="p">,</span><span·class="w">
163 ··</span><span·class="nf">loop</span><span·class="p"·data-group-id="9236128133-15">(</span><span·class="n">Port</span><span·class="p"·data-group-id="9236128133-15">)</span><span·class="p">.</span></code></pre><p>Now·<code·class="inline">complex1:foo/1</code>·and·<code·class="inline">complex1:bar/1</code>·can·be·implemented.·Both·send·a163 ··</span><span·class="nf">loop</span><span·class="p"·data-group-id="6089693528-15">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6089693528-15">)</span><span·class="p">.</span></code></pre><p>Now·<code·class="inline">complex1:foo/1</code>·and·<code·class="inline">complex1:bar/1</code>·can·be·implemented.·Both·send·a
164 message·to·the·<code·class="inline">complex</code>·process·and·receive·the·following·replies:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="7751004944-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="7751004944-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">164 message·to·the·<code·class="inline">complex</code>·process·and·receive·the·following·replies:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="2878564973-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="2878564973-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
165 ··</span><span·class="nf">call_port</span><span·class="p"·data-group-id="7751004944-2">(</span><span·class="p"·data-group-id="7751004944-3">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="7751004944-3">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·ddc12cc1a0399a9df9a16c5d96359907307a603e9044603ed54fc1938a59741b·...·]-2">)</span><span·class="p">.</span><span·class="w">165 ··</span><span·class="nf">call_port</span><span·class="p"·data-group-id="2878564973-2">(</span><span·class="p"·data-group-id="2878564973-3">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="2878564973-3">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·411467356dc31ab1406ddb0b7eee75aa3ea081ad91959fdab046c62385253613·...·]-2">)</span><span·class="p">.</span><span·class="w">
166 </span><span·class="nf">bar</span><span·class="p"·data-group-id="7751004944-4">(</span><span·class="n">Y</span><span·class="p"·data-group-id="7751004944-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">166 </span><span·class="nf">bar</span><span·class="p"·data-group-id="2878564973-4">(</span><span·class="n">Y</span><span·class="p"·data-group-id="2878564973-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
167 ··</span><span·class="nf">call_port</span><span·class="p"·data-group-id="7751004944-5">(</span><span·class="p"·data-group-id="7751004944-6">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="7751004944-6">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·ddc12cc1a0399a9df9a16c5d96359907307a603e9044603ed54fc1938a59741b·...·]-5">)</span><span·class="p">.</span><span·class="w">167 ··</span><span·class="nf">call_port</span><span·class="p"·data-group-id="2878564973-5">(</span><span·class="p"·data-group-id="2878564973-6">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="2878564973-6">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·411467356dc31ab1406ddb0b7eee75aa3ea081ad91959fdab046c62385253613·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
168 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="7751004944-7">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="7751004944-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">168 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="2878564973-7">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="2878564973-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
169 ··</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="7751004944-8">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="7751004944-9">(</span><span·class="p"·data-group-id="7751004944-9">)</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·0c83d68028336dd1ec634d46a5f55da995f1ba4680a03afa3fc2de0a541b754e·...·]-8">}</span><span·class="p">,</span><span·class="w">169 ··</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="2878564973-8">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="2878564973-9">(</span><span·class="p"·data-group-id="2878564973-9">)</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·0626905ff5ef200e881211cc54a9fc658703b87484d934ec2ef852bd58e54c74·...·]-8">}</span><span·class="p">,</span><span·class="w">
170 ··</span><span·class="k">receive</span><span·class="w">170 ··</span><span·class="k">receive</span><span·class="w">
171 ····</span><span·class="p"·data-group-id="7751004944-10">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="7751004944-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">171 ····</span><span·class="p"·data-group-id="2878564973-10">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="2878564973-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
172 ······</span><span·class="n">Result</span><span·class="w">172 ······</span><span·class="n">Result</span><span·class="w">
173 ··</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">complex</code>·process·does·the·following:</p><ul><li>Encodes·the·message·into·a·sequence·of·bytes.</li><li>Sends·it·to·the·port.</li><li>Waits·for·a·reply.</li><li>Decodes·the·reply.</li><li>Sends·it·back·to·the·caller:</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="5203209252-1">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5203209252-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">173 ··</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">complex</code>·process·does·the·following:</p><ul><li>Encodes·the·message·into·a·sequence·of·bytes.</li><li>Sends·it·to·the·port.</li><li>Waits·for·a·reply.</li><li>Decodes·the·reply.</li><li>Sends·it·back·to·the·caller:</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="7632236401-1">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7632236401-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ··</span><span·class="k">receive</span><span·class="w">174 ··</span><span·class="k">receive</span><span·class="w">
175 ····</span><span·class="p"·data-group-id="5203209252-2">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Caller</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="5203209252-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">175 ····</span><span·class="p"·data-group-id="7632236401-2">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Caller</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="7632236401-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
176 ······</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5203209252-3">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5203209252-4">(</span><span·class="p"·data-group-id="5203209252-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5203209252-5">{</span[·...·truncated·by·diffoscope;·len:·336,·SHA:·8ed8ee71598ee45f4c01529a4a7b9c3a48d06d9fb639edae50ea287535297b20·...·]-3">}</span><span·class="p">,</span><span·class="w">176 ······</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="7632236401-3">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7632236401-4">(</span><span·class="p"·data-group-id="7632236401-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7632236401-5">{</span[·...·truncated·by·diffoscope;·len:·336,·SHA:·b5c0f60b760f8983c1f4acec3713041be74c18ba2912d8f6da6d8aa423659f0d·...·]-3">}</span><span·class="p">,</span><span·class="w">
177 ······</span><span·class="k">receive</span><span·class="w">177 ······</span><span·class="k">receive</span><span·class="w">
178 ········</span><span·class="p"·data-group-id="5203209252-7">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5203209252-8">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·31eb6123d6e7a0d72d3d2fa19e4492462dd8a54ed33e3d100a6b0cc1241fb810·...·]-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 ········</span><span·class="p"·data-group-id="7632236401-7">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7632236401-8">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·0a104add450b5b3f577a1fde8d3832760483ee39a53087188d712305dc2a0ca0·...·]-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
179 ··········</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5203209252-9">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">decode</span><span·class="p"·data-group-id="5203209252-10">(</span><span·class="n">Data</span><span·class="p"·data-group-id="5203209252-10[·...·truncated·by·diffoscope;·len:·51,·SHA:·4ae54dfe33153575213f79270d28bf0e8a513d73eba6e90bcf313af5be8358f4·...·]-9">}</span><span·class="w">179 ··········</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="7632236401-9">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">decode</span><span·class="p"·data-group-id="7632236401-10">(</span><span·class="n">Data</span><span·class="p"·data-group-id="7632236401-10[·...·truncated·by·diffoscope;·len:·51,·SHA:·e8b1dfcb0acf2244f37ea599d51bc296b6ff4310c8b266b5792dec48487625d3·...·]-9">}</span><span·class="w">
180 ······</span><span·class="k">end</span><span·class="p">,</span><span·class="w">180 ······</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
181 ······</span><span·class="nf">loop</span><span·class="p"·data-group-id="5203209252-11">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5203209252-11">)</span><span·class="w">181 ······</span><span·class="nf">loop</span><span·class="p"·data-group-id="7632236401-11">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7632236401-11">)</span><span·class="w">
182 ··</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Assuming·that·both·the·arguments·and·the·results·from·the·C·functions·are·less182 ··</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Assuming·that·both·the·arguments·and·the·results·from·the·C·functions·are·less
183 than·256,·a·simple·encoding/decoding·scheme·is·employed.·In·this·scheme,·<code·class="inline">foo</code>183 than·256,·a·simple·encoding/decoding·scheme·is·employed.·In·this·scheme,·<code·class="inline">foo</code>
184 is·represented·by·byte·1,·<code·class="inline">bar</code>·is·represented·by·2,·and·the·argument/result·is184 is·represented·by·byte·1,·<code·class="inline">bar</code>·is·represented·by·2,·and·the·argument/result·is
185 represented·by·a·single·byte·as·well:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">encode</span><span·class="p"·data-group-id="9090048509-1">(</span><span·class="p"·data-group-id="9090048509-2">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="9090048509-2">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·b26b1a97a389a655d8acc1802055d97335bc9e07a605b1695cce23ecab3a6ef8·...·]-3">]</span><span·class="p">;</span><span·class="w">185 represented·by·a·single·byte·as·well:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">encode</span><span·class="p"·data-group-id="3633506436-1">(</span><span·class="p"·data-group-id="3633506436-2">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="3633506436-2">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·1d754bac2270c75d5883af66fa88c97b0a658dc8c302d7a09fb2721b05abfb7d·...·]-3">]</span><span·class="p">;</span><span·class="w">
186 </span><span·class="nf">encode</span><span·class="p"·data-group-id="9090048509-4">(</span><span·class="p"·data-group-id="9090048509-5">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="9090048509-5">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·096bb5373f21a394d585a72d3541127a4e958d27248fde946744e21ea1657e6c·...·]-6">]</span><span·class="p">.</span><span·class="w">186 </span><span·class="nf">encode</span><span·class="p"·data-group-id="3633506436-4">(</span><span·class="p"·data-group-id="3633506436-5">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="3633506436-5">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·aa05dd4461a2245d992de434da558aeccab55cc6b73e94e582eb1d8bbd1d3b16·...·]-6">]</span><span·class="p">.</span><span·class="w">
  
187 </span><span·class="nf">decode</span><span·class="p"·data-group-id="9090048509-7">(</span><span·class="p"·data-group-id="9090048509-8">[</span><span·class="n">Int</span><span·class="p"·data-group-id="9090048509-8">]</span><span·class="p"·data-group-id="9090048509-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">.</span></code></pre><p>The·resulting·Erlang·program,·including·functionality·for·stopping·the·port·and187 </span><span·class="nf">decode</span><span·class="p"·data-group-id="3633506436-7">(</span><span·class="p"·data-group-id="3633506436-8">[</span><span·class="n">Int</span><span·class="p"·data-group-id="3633506436-8">]</span><span·class="p"·data-group-id="3633506436-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">.</span></code></pre><p>The·resulting·Erlang·program,·including·functionality·for·stopping·the·port·and
188 detecting·port·failures,·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3768998676-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="3768998676-1">)</span><span·class="p">.</span><span·class="w">188 detecting·port·failures,·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6851362581-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="6851362581-1">)</span><span·class="p">.</span><span·class="w">
189 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3768998676-2">(</span><span·class="p"·data-group-id="3768998676-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·241,·SHA:·9fa11220c02c11acfdff2f0a71676f77d293b626f58583fd31592b342b4300dc·...·]-2">)</span><span·class="p">.</span><span·class="w">189 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6851362581-2">(</span><span·class="p"·data-group-id="6851362581-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·241,·SHA:·b8f8def3cd985cec180904f3ac37799edbb2353bd991a8a3f209e769530f6e65·...·]-2">)</span><span·class="p">.</span><span·class="w">
190 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3768998676-4">(</span><span·class="p"·data-group-id="3768998676-5">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·113,·SHA:·e3ffdd753014aa3a6202541076bcff6d7bbb1bec3400dfa18db5b7df48052387·...·]-4">)</span><span·class="p">.</span><span·class="w">190 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6851362581-4">(</span><span·class="p"·data-group-id="6851362581-5">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·113,·SHA:·eba8f5b2afdb415ebfb8e5bae74fcd7db1041d980627b8f057dece42a4e39580·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
191 </span><span·class="nf">start</span><span·class="p"·data-group-id="3768998676-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="3768998676-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">191 </span><span·class="nf">start</span><span·class="p"·data-group-id="6851362581-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="6851362581-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
192 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="3768998676-7">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3768998676-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·4fb44f5c143eb55a13a5a19c3387c34ad7b136029536697363758bdae422d155·...·]-7">)</span><span·class="p">.</span><span·class="w">192 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="6851362581-7">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6851362581-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·1ba788bfa534e4399b54bd756f9b5256672601b2ab5aee00f88099f35d65f4e6·...·]-7">)</span><span·class="p">.</span><span·class="w">
193 </span><span·class="nf">stop</span><span·class="p"·data-group-id="3768998676-9">(</span><span·class="p"·data-group-id="3768998676-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">193 </span><span·class="nf">stop</span><span·class="p"·data-group-id="6851362581-9">(</span><span·class="p"·data-group-id="6851362581-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
194 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">.</span><span·class="w">194 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">.</span><span·class="w">
  
195 </span><span·class="nf">foo</span><span·class="p"·data-group-id="3768998676-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="3768998676-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">195 </span><span·class="nf">foo</span><span·class="p"·data-group-id="6851362581-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="6851362581-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
196 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="3768998676-11">(</span><span·class="p"·data-group-id="3768998676-12">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="3768998676-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·baf2a17f0e3c5335ecfd807c85ff2b137ae84ecdc7d366855ba9a9f2ad8d588d·...·]-11">)</span><span·class="p">.</span><span·class="w">196 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="6851362581-11">(</span><span·class="p"·data-group-id="6851362581-12">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="6851362581-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·de19449b66d431f6f3ec07698ac7debb6bf7c04b166f883e0e10996bd1799d89·...·]-11">)</span><span·class="p">.</span><span·class="w">
197 </span><span·class="nf">bar</span><span·class="p"·data-group-id="3768998676-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="3768998676-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">197 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6851362581-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="6851362581-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
198 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="3768998676-14">(</span><span·class="p"·data-group-id="3768998676-15">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="3768998676-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·baf2a17f0e3c5335ecfd807c85ff2b137ae84ecdc7d366855ba9a9f2ad8d588d·...·]-14">)</span><span·class="p">.</span><span·class="w">198 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="6851362581-14">(</span><span·class="p"·data-group-id="6851362581-15">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="6851362581-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·de19449b66d431f6f3ec07698ac7debb6bf7c04b166f883e0e10996bd1799d89·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
199 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="3768998676-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="3768998676-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">199 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="6851362581-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="6851362581-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
200 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3768998676-17">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="3768998676-18">(</span><span·class="p"·data-group-id="3768998676-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·13f1f63d40e3b277a532929089dc11962f287f43670aec75b2f925b3f253fc64·...·]-17">}</span><span·class="p">,</span><span·class="w">200 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="6851362581-17">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="6851362581-18">(</span><span·class="p"·data-group-id="6851362581-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·3183a10e501c167870f46d09f586fc534fdae1fb0e7e9d9f9a0bead370c81017·...·]-17">}</span><span·class="p">,</span><span·class="w">
201 ····</span><span·class="k">receive</span><span·class="w">201 ····</span><span·class="k">receive</span><span·class="w">
202 »       </span><span·class="p"·data-group-id="3768998676-19">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="3768998676-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">202 »       </span><span·class="p"·data-group-id="6851362581-19">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="6851362581-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
203 »       ····</span><span·class="n">Result</span><span·class="w">203 »       ····</span><span·class="n">Result</span><span·class="w">
204 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">204 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
205 </span><span·class="nf">init</span><span·class="p"·data-group-id="3768998676-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="3768998676-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">205 </span><span·class="nf">init</span><span·class="p"·data-group-id="6851362581-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="6851362581-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="3768998676-21">(</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="3768998676-22">(</span><span·class="p"·data-group-id="3768998676-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·31f8ea469714440e9be6f12d7cb193b170796f898e454aee4d361064a40762dc·...·]-21">)</span><span·class="p">,</span><span·class="w">206 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="6851362581-21">(</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="6851362581-22">(</span><span·class="p"·data-group-id="6851362581-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·2c47e25cdc34e3a8a5cf5a729144527f7d3ba11956a6051cd160033e4d564215·...·]-21">)</span><span·class="p">,</span><span·class="w">
207 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="3768998676-23">(</span><span·class="ss">trap_exit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="3768998676-23">)</span><span·class="p">,</span><span·class="w">207 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="6851362581-23">(</span><span·class="ss">trap_exit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="6851362581-23">)</span><span·class="p">,</span><span·class="w">
208 ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="3768998676-24">(</span><span·class="p"·data-group-id="3768998676-25">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="3768998676-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·f9c96a9546af7ab19993b11123c44cfb1f6aad06098db654d2c3eb25e6e036c3·...·]-24">)</span><span·class="p">,</span><span·class="w">208 ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="6851362581-24">(</span><span·class="p"·data-group-id="6851362581-25">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="6851362581-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·bdf7869cd1bf05a83751b5a3dda5f6b9d17adc282b317e125e146d3b448b45fc·...·]-24">)</span><span·class="p">,</span><span·class="w">
209 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="3768998676-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3768998676-28">)</span><span·class="p">.</span><span·class="w">209 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="6851362581-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6851362581-28">)</span><span·class="p">.</span><span·class="w">
  
210 </span><span·class="nf">loop</span><span·class="p"·data-group-id="3768998676-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3768998676-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">210 </span><span·class="nf">loop</span><span·class="p"·data-group-id="6851362581-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6851362581-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
211 ····</span><span·class="k">receive</span><span·class="w">211 ····</span><span·class="k">receive</span><span·class="w">
212 »       </span><span·class="p"·data-group-id="3768998676-30">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Caller</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="3768998676-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">212 »       </span><span·class="p"·data-group-id="6851362581-30">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Caller</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="6851362581-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
213 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3768998676-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3768998676-32">(</span><span·class="p"·data-group-id="3768998676-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3768998676-33">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·1627cbded497bbae3cf130a8c97c18667e31ff5b982d8b262bd21c2d3660fae0·...·]-31">}</span><span·class="p">,</span><span·class="w">213 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="6851362581-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="6851362581-32">(</span><span·class="p"·data-group-id="6851362581-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6851362581-33">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·762489a7fd6d875790e13f9ef10276874755bebab739e847e1f94e7250dda90b·...·]-31">}</span><span·class="p">,</span><span·class="w">
214 »       ····</span><span·class="k">receive</span><span·class="w">214 »       ····</span><span·class="k">receive</span><span·class="w">
215 »       »       </span><span·class="p"·data-group-id="3768998676-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3768998676-36">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·17e0de359967cebf52bb22ca592526b52784245af24d923c010df27c689d946c·...·]-35">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">215 »       »       </span><span·class="p"·data-group-id="6851362581-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6851362581-36">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·d99cf1f99a82392e3bbbb0d2e3d1d1b93cc2cb40236a636ec53ea3aaa4d22f70·...·]-35">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
216 »       »       ····</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3768998676-37">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">decode</span><span·class="p"·data-group-id="3768998676-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="3768998676-3[·...·truncated·by·diffoscope;·len:·52,·SHA:·ff4976770e8509059af936edb7977e2768b6369ac32503c430f836e237e1ec4d·...·]-37">}</span><span·class="w">216 »       »       ····</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="6851362581-37">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">decode</span><span·class="p"·data-group-id="6851362581-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="6851362581-3[·...·truncated·by·diffoscope;·len:·52,·SHA:·116668ce14bf504ef30f8e403541ee674ae6b506f0cd220c276e9a038595d909·...·]-37">}</span><span·class="w">
217 »       ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">217 »       ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
218 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="3768998676-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3768998676-39">)</span><span·class="p">;</span><span·class="w">218 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="6851362581-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="6851362581-39">)</span><span·class="p">;</span><span·class="w">
219 »       </span><span·class="ss">stop</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">219 »       </span><span·class="ss">stop</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
220 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3768998676-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3768998676-41">(</span><span·class="p"·data-group-id="3768998676-41">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">close</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·8733b2a36135e4f0689829288bdae3e46bd0d55e27a774807c15259512517b91·...·]-40">}</span><span·class="p">,</span><span·class="w">220 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="6851362581-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="6851362581-41">(</span><span·class="p"·data-group-id="6851362581-41">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">close</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·c3cb13197cf493668be1e8cd4225a0e952620508d9b4daa33ebe2c7861e053e0·...·]-40">}</span><span·class="p">,</span><span·class="w">
221 »       ····</span><span·class="k">receive</span><span·class="w">221 »       ····</span><span·class="k">receive</span><span·class="w">
222 »       »       </span><span·class="p"·data-group-id="3768998676-42">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">closed</span><span·class="p"·data-group-id="3768998676-42">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">222 »       »       </span><span·class="p"·data-group-id="6851362581-42">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">closed</span><span·class="p"·data-group-id="6851362581-42">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
223 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="3768998676-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="3768998676-43">)</span><span·class="w">223 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="6851362581-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="6851362581-43">)</span><span·class="w">
224 »       ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">224 »       ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
225 »       </span><span·class="p"·data-group-id="3768998676-44">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3768998676-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">225 »       </span><span·class="p"·data-group-id="6851362581-44">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="6851362581-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
226 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="3768998676-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="3768998676-45">)</span><span·class="w">226 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="6851362581-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="6851362581-45">)</span><span·class="w">
227 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">227 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
228 </span><span·class="nf">encode</span><span·class="p"·data-group-id="3768998676-46">(</span><span·class="p"·data-group-id="3768998676-47">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="3768998676-47">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·38c1a8bca18a098d85f4db41955203d8174b08e6c3543d76634b4160c96fa389·...·]-48">]</span><span·class="p">;</span><span·class="w">228 </span><span·class="nf">encode</span><span·class="p"·data-group-id="6851362581-46">(</span><span·class="p"·data-group-id="6851362581-47">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="6851362581-47">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·5965ca2477285cc15d7c5d16728abb17bd765d8763b8072ba58af41faa4626bf·...·]-48">]</span><span·class="p">;</span><span·class="w">
229 </span><span·class="nf">encode</span><span·class="p"·data-group-id="3768998676-49">(</span><span·class="p"·data-group-id="3768998676-50">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="3768998676-50">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·821fdd338aa122ce67e5cce5a7752ecbe189086c4501992eef578c290cb45e66·...·]-51">]</span><span·class="p">.</span><span·class="w">229 </span><span·class="nf">encode</span><span·class="p"·data-group-id="6851362581-49">(</span><span·class="p"·data-group-id="6851362581-50">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="6851362581-50">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·7097e8f954e6b3c37eb188d8e2cbd30043f030ee7008bf10d26b73d24182a388·...·]-51">]</span><span·class="p">.</span><span·class="w">
  
230 </span><span·class="nf">decode</span><span·class="p"·data-group-id="3768998676-52">(</span><span·class="p"·data-group-id="3768998676-53">[</span><span·class="n">Int</span><span·class="p"·data-group-id="3768998676-53">]</span><span·class="p"·data-group-id="3768998676-52">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">.</span></code></pre><h2·id="c-program"·class="section-heading">230 </span><span·class="nf">decode</span><span·class="p"·data-group-id="6851362581-52">(</span><span·class="p"·data-group-id="6851362581-53">[</span><span·class="n">Int</span><span·class="p"·data-group-id="6851362581-53">]</span><span·class="p"·data-group-id="6851362581-52">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">.</span></code></pre><h2·id="c-program"·class="section-heading">
231 ··<a·href="#c-program"·class="hover-link">231 ··<a·href="#c-program"·class="hover-link">
232 ····<i·class="ri-link-m"·aria-hidden="true"></i>232 ····<i·class="ri-link-m"·aria-hidden="true"></i>
233 ··</a>233 ··</a>
234 ··<span·class="text">C·Program</span>234 ··<span·class="text">C·Program</span>
235 </h2>235 </h2>
236 <p>On·the·C·side,·it·is·necessary·to·write·functions·for·receiving·and·sending·data236 <p>On·the·C·side,·it·is·necessary·to·write·functions·for·receiving·and·sending·data
237 with·2·byte·length·indicators·from/to·Erlang.·By·default,·the·C·program·is·to237 with·2·byte·length·indicators·from/to·Erlang.·By·default,·the·C·program·is·to
Offset 333, 25 lines modifiedOffset 333, 25 lines modified
333 and·terminates.</p><h2·id="running-the-example"·class="section-heading">333 and·terminates.</p><h2·id="running-the-example"·class="section-heading">
334 ··<a·href="#running-the-example"·class="hover-link">334 ··<a·href="#running-the-example"·class="hover-link">
335 ····<i·class="ri-link-m"·aria-hidden="true"></i>335 ····<i·class="ri-link-m"·aria-hidden="true"></i>
336 ··</a>336 ··</a>
337 ··<span·class="text">Running·the·Example</span>337 ··<span·class="text">Running·the·Example</span>
338 </h2>338 </h2>
339 <p><em>Step·1.</em>·Compile·the·C·code:</p><pre><code·class="text">$·gcc·-o·extprg·complex.c·erl_comm.c·port.c</code></pre><p><em>Step·2.</em>·Start·Erlang·and·compile·the·Erlang·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">339 <p><em>Step·1.</em>·Compile·the·C·code:</p><pre><code·class="text">$·gcc·-o·extprg·complex.c·erl_comm.c·port.c</code></pre><p><em>Step·2.</em>·Start·Erlang·and·compile·the·Erlang·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">
340 </span><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">26</span><span·class="w">·</span><span·class="p"·data-group-id="3917936182-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">14.2</span><span·class="p"·data-group-id="3917936182-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="3917936182-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1283,·SHA:·8615a1d206d2d4b8858f6225672d90d7d1c03b1e8ea3bb21ddab1ed638377410·...·]-7">]</span><span·class="w">340 </span><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">26</span><span·class="w">·</span><span·class="p"·data-group-id="4968816565-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">14.2</span><span·class="p"·data-group-id="4968816565-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="4968816565-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1283,·SHA:·e13d17f82dbe50a68916724e67d2b619112ef42b9bdbf7528f44ed8e239f928a·...·]-7">]</span><span·class="w">
  
341 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V14</span><span·class="p">.</span><span·class="mi">2</span><span·class="w">·</span><span·class="p"·data-group-id="3917936182-8">(</span><span·class="ss">press</span><span·class="w">·</span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">G</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">abort</span><sp[·...·truncated·by·diffoscope;·len:·399,·SHA:·3e67f3c0a6fee2f082c6dcdad410352cab8c515fa8404f3a157c0732aab7e935·...·]-8">)</span><span·class="gp·unselectable">341 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V14</span><span·class="p">.</span><span·class="mi">2</span><span·class="w">·</span><span·class="p"·data-group-id="4968816565-8">(</span><span·class="ss">press</span><span·class="w">·</span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">G</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">abort</span><sp[·...·truncated·by·diffoscope;·len:·399,·SHA:·88ee53aa1d1d2bd93e37ba7db2fdb54f350338cbf8dc28281b82757aee99f25c·...·]-8">)</span><span·class="gp·unselectable">
342 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="3917936182-10">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="3917936182-10">)</span><span·class="p">.</span><span·class="w">342 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="4968816565-10">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="4968816565-10">)</span><span·class="p">.</span><span·class="w">
343 </span><span·class="p"·data-group-id="3917936182-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex1</span><span·class="p"·data-group-id="3917936182-11">}</span></code></pre><p><em>Step·3.</em>·Run·the·example:</p><pre><code·class="makeup·erlang"·translate="[·...·truncated·by·diffoscope;·len:·269,·SHA:·6f556293a6c20d2e8d4228800e004f347f5cb2431a51115062e056ccb3b4132e·...·]-1">)</span><span·class="p">.</span><span·class="w">343 </span><span·class="p"·data-group-id="4968816565-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex1</span><span·class="p"·data-group-id="4968816565-11">}</span></code></pre><p><em>Step·3.</em>·Run·the·example:</p><pre><code·class="makeup·erlang"·translate="[·...·truncated·by·diffoscope;·len:·269,·SHA:·d8ff0dad1a3290dab4878354c258b3f4047e4082f1c7b9a3d58731309c1d40ad·...·]-1">)</span><span·class="p">.</span><span·class="w">
344 </span><span·class="o">&lt;</span><span·class="mf">0.34</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">344 </span><span·class="o">&lt;</span><span·class="mf">0.34</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">
345 3&gt;·</span><span·class="nc">complex1</span><span·class="p">:</span><span·class="nf">foo</span><span·class="p"·data-group-id="2379869474-2">(</span><span·class="mi">3</span><span·class="p"·data-group-id="2379869474-2">)</span><span·class="p">.</span><span·class="w">345 3&gt;·</span><span·class="nc">complex1</span><span·class="p">:</span><span·class="nf">foo</span><span·class="p"·data-group-id="6731900750-2">(</span><span·class="mi">3</span><span·class="p"·data-group-id="6731900750-2">)</span><span·class="p">.</span><span·class="w">
346 </span><span·class="mi">4</span><span·class="gp·unselectable">346 </span><span·class="mi">4</span><span·class="gp·unselectable">
347 4&gt;·</span><span·class="nc">complex1</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="2379869474-3">(</span><span·class="mi">5</span><span·class="p"·data-group-id="2379869474-3">)</span><span·class="p">.</span><span·class="w">347 4&gt;·</span><span·class="nc">complex1</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="6731900750-3">(</span><span·class="mi">5</span><span·class="p"·data-group-id="6731900750-3">)</span><span·class="p">.</span><span·class="w">
348 </span><span·class="mi">10</span><span·class="gp·unselectable">348 </span><span·class="mi">10</span><span·class="gp·unselectable">
349 5&gt;·</span><span·class="nc">complex1</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="2379869474-4">(</span><span·class="p"·data-group-id="2379869474-4">)</span><span·class="p">.</span><span·class="w">349 5&gt;·</span><span·class="nc">complex1</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="6731900750-4">(</span><span·class="p"·data-group-id="6731900750-4">)</span><span·class="p">.</span><span·class="w">
350 </span><span·class="ss">stop</span></code></pre>350 </span><span·class="ss">stop</span></code></pre>
351 </div>351 </div>
  
352 <div·class="bottom-actions"·id="bottom-actions">352 <div·class="bottom-actions"·id="bottom-actions">
353 ··<div·class="bottom-actions-item">353 ··<div·class="bottom-actions-item">
  
354 ······<a·href="example.html"·class="bottom-actions-button"·rel="prev">354 ······<a·href="example.html"·class="bottom-actions-button"·rel="prev">
Max diff block lines reached; 677/60701 bytes (1.12%) of diff not shown.
570 B
html2text {}
Max HTML report size reached
65.0 KB
./usr/share/doc/erlang-doc/html/doc/system/c_portdriver.html
    
Offset 151, 112 lines modifiedOffset 151, 112 lines modified
151 <p>Like·a·port·program,·the·port·communicates·with·an·Erlang·process.·All151 <p>Like·a·port·program,·the·port·communicates·with·an·Erlang·process.·All
152 communication·goes·through·one·Erlang·process·that·is·the·<em>connected·process</em>·of152 communication·goes·through·one·Erlang·process·that·is·the·<em>connected·process</em>·of
153 the·port·driver.·Terminating·this·process·closes·the·port·driver.</p><p>Before·the·port·is·created,·the·driver·must·be·loaded.·This·is·done·with·the153 the·port·driver.·Terminating·this·process·closes·the·port·driver.</p><p>Before·the·port·is·created,·the·driver·must·be·loaded.·This·is·done·with·the
154 function·<a·href="../../lib/kernel-10.3/doc/html/erl_ddll.html#load_driver/2"><code·class="inline">erl_ddll:load_driver/2</code></a>,·with·the·name·of·the·shared·library·as154 function·<a·href="../../lib/kernel-10.3/doc/html/erl_ddll.html#load_driver/2"><code·class="inline">erl_ddll:load_driver/2</code></a>,·with·the·name·of·the·shared·library·as
155 argument.</p><p>The·port·is·then·created·using·the·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>,·with·the155 argument.</p><p>The·port·is·then·created·using·the·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>,·with·the
156 tuple·<code·class="inline">{spawn,·DriverName}</code>·as·the·first·argument.·The·string·<code·class="inline">SharedLib</code>·is·the156 tuple·<code·class="inline">{spawn,·DriverName}</code>·as·the·first·argument.·The·string·<code·class="inline">SharedLib</code>·is·the
157 name·of·the·port·driver.·The·second·argument·is·a·list·of·options,·none·in·this157 name·of·the·port·driver.·The·second·argument·is·a·list·of·options,·none·in·this
158 case:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8915371015-1">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="8915371015-1">)</span><span·class="p">.</span><span·class="w">158 case:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1939490770-1">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="1939490770-1">)</span><span·class="p">.</span><span·class="w">
159 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8915371015-2">(</span><span·class="p"·data-group-id="8915371015-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·116,·SHA:·a456fdf69c4bb29252290f0683387a715ff4249ec20c0fc9b2c2efd4611e9cea·...·]-2">)</span><span·class="p">.</span><span·class="w">159 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1939490770-2">(</span><span·class="p"·data-group-id="1939490770-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·116,·SHA:·b7bbd555f5f0dd8cd3214acfd0ec467e18639c9d542d84e976d9eae4e5af4423·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
160 </span><span·class="nf">start</span><span·class="p"·data-group-id="8915371015-4">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="8915371015-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">160 </span><span·class="nf">start</span><span·class="p"·data-group-id="1939490770-4">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="1939490770-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
161 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">erl_ddll</span><span·class="p">:</span><span·class="nf">load_driver</span><span·class="p"·data-group-id="8915371015-5">(</span><span·class="s">&quot;.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="8915371015-5">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">161 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">erl_ddll</span><span·class="p">:</span><span·class="nf">load_driver</span><span·class="p"·data-group-id="1939490770-5">(</span><span·class="s">&quot;.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="1939490770-5">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
162 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">162 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
163 ········</span><span·class="p"·data-group-id="8915371015-6">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">already_loaded</span><span·class="p"·data-group-id="8915371015-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">163 ········</span><span·class="p"·data-group-id="1939490770-6">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">already_loaded</span><span·class="p"·data-group-id="1939490770-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
164 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">exit</span><span·class="p"·data-group-id="8915371015-7">(</span><span·class="p"·data-group-id="8915371015-8">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">could_not_load_driver</span><span·class="p"·data-group-id="8915371015-8">}</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·39068cfbf7b9ef744730c6cface8bb9149a71a04d81580c44eff19397c4d4a02·...·]-7">)</span><span·class="w">164 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">exit</span><span·class="p"·data-group-id="1939490770-7">(</span><span·class="p"·data-group-id="1939490770-8">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">could_not_load_driver</span><span·class="p"·data-group-id="1939490770-8">}</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·968d3974ab2daea33b12102764618e8b493e200efca69fee446b186a658c8c44·...·]-7">)</span><span·class="w">
165 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">165 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
166 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="8915371015-9">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8915371015-10">[</span><sp[·...·truncated·by·diffoscope;·len:·124,·SHA:·af9e20d3e1eaa0d30d70227d4f6ce6fcb3d8c9c037b410d138736e9589191d30·...·]-9">)</span><span·class="p">.</span><span·class="w">166 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="1939490770-9">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1939490770-10">[</span><sp[·...·truncated·by·diffoscope;·len:·124,·SHA:·b172b1d33ccf3e532034dbbb3167fcc476006d720ebf2dd2a4789e08a65d37fa·...·]-9">)</span><span·class="p">.</span><span·class="w">
  
167 </span><span·class="nf">init</span><span·class="p"·data-group-id="8915371015-11">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="8915371015-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">167 </span><span·class="nf">init</span><span·class="p"·data-group-id="1939490770-11">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="1939490770-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
168 ··</span><span·class="nf">register</span><span·class="p"·data-group-id="8915371015-12">(</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="8915371015-13">(</span><span·class="p"·data-group-id="8915371015-13">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·7e93f72365ca8b0ee2388542d933df1193019b8c64b6d7c9f75a5ec95603bef1·...·]-12">)</span><span·class="p">,</span><span·class="w">168 ··</span><span·class="nf">register</span><span·class="p"·data-group-id="1939490770-12">(</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="1939490770-13">(</span><span·class="p"·data-group-id="1939490770-13">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·e369ed956feb7cee80b09dfc9bae47905b38bf08774ae151bac10ff8c7eacf71·...·]-12">)</span><span·class="p">,</span><span·class="w">
169 ··</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="8915371015-14">(</span><span·class="p"·data-group-id="8915371015-15">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="8915371015-15">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·181,·SHA:·7ae9cfb89b54a966ed91628abe02e89decc5a2bcc2a279ee858baf6fdf09c3f2·...·]-14">)</span><span·class="p">,</span><span·class="w">169 ··</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="1939490770-14">(</span><span·class="p"·data-group-id="1939490770-15">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="1939490770-15">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·181,·SHA:·4bddfaebcae6c4d0f38398135e9f56e3d8102e4c18ea5d0767bc6c607b1f7f33·...·]-14">)</span><span·class="p">,</span><span·class="w">
170 ··</span><span·class="nf">loop</span><span·class="p"·data-group-id="8915371015-17">(</span><span·class="n">Port</span><span·class="p"·data-group-id="8915371015-17">)</span><span·class="p">.</span></code></pre><p>Now·<code·class="inline">complex5:foo/1</code>·and·<code·class="inline">complex5:bar/1</code>·can·be·implemented.·Both·send·a170 ··</span><span·class="nf">loop</span><span·class="p"·data-group-id="1939490770-17">(</span><span·class="n">Port</span><span·class="p"·data-group-id="1939490770-17">)</span><span·class="p">.</span></code></pre><p>Now·<code·class="inline">complex5:foo/1</code>·and·<code·class="inline">complex5:bar/1</code>·can·be·implemented.·Both·send·a
171 message·to·the·<code·class="inline">complex</code>·process·and·receive·the·following·reply:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="8272675443-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="8272675443-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">171 message·to·the·<code·class="inline">complex</code>·process·and·receive·the·following·reply:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="8187409129-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="8187409129-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
172 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="8272675443-2">(</span><span·class="p"·data-group-id="8272675443-3">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="8272675443-3">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·f54b4c5ff3e2fb7f8dbb71e775a19c98697770a0bc1e91aef4c91d0d5b9fd01d·...·]-2">)</span><span·class="p">.</span><span·class="w">172 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="8187409129-2">(</span><span·class="p"·data-group-id="8187409129-3">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="8187409129-3">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·ae1ad11badadd5714e9536107a78c987b9e4059af6fe39990d75182db56e521b·...·]-2">)</span><span·class="p">.</span><span·class="w">
173 </span><span·class="nf">bar</span><span·class="p"·data-group-id="8272675443-4">(</span><span·class="n">Y</span><span·class="p"·data-group-id="8272675443-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">173 </span><span·class="nf">bar</span><span·class="p"·data-group-id="8187409129-4">(</span><span·class="n">Y</span><span·class="p"·data-group-id="8187409129-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="8272675443-5">(</span><span·class="p"·data-group-id="8272675443-6">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="8272675443-6">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·f54b4c5ff3e2fb7f8dbb71e775a19c98697770a0bc1e91aef4c91d0d5b9fd01d·...·]-5">)</span><span·class="p">.</span><span·class="w">174 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="8187409129-5">(</span><span·class="p"·data-group-id="8187409129-6">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="8187409129-6">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·ae1ad11badadd5714e9536107a78c987b9e4059af6fe39990d75182db56e521b·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="8272675443-7">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="8272675443-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">175 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="8187409129-7">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="8187409129-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
176 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="8272675443-8">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="8272675443-9">(</span><span·class="p"·data-group-id="8272675443-9">)</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·90,·SHA:·923fc60bf60a33fc7fd81bc49e861e3ff98c22ed5e5c50589d4cbdc7edac92e3·...·]-8">}</span><span·class="p">,</span><span·class="w">176 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="8187409129-8">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="8187409129-9">(</span><span·class="p"·data-group-id="8187409129-9">)</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·90,·SHA:·b6396bba9b5c01f16acd4059dec2d38beead5955f316e49456ecfefd0ae8df97·...·]-8">}</span><span·class="p">,</span><span·class="w">
177 ····</span><span·class="k">receive</span><span·class="w">177 ····</span><span·class="k">receive</span><span·class="w">
178 ········</span><span·class="p"·data-group-id="8272675443-10">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="8272675443-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 ········</span><span·class="p"·data-group-id="8187409129-10">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="8187409129-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
179 ············</span><span·class="n">Result</span><span·class="w">179 ············</span><span·class="n">Result</span><span·class="w">
180 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">complex</code>·process·performs·the·following:</p><ul><li>Encodes·the·message·into·a·sequence·of·bytes.</li><li>Sends·it·to·the·port.</li><li>Waits·for·a·reply.</li><li>Decodes·the·reply.</li><li>Sends·it·back·to·the·caller:</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="8787041585-1">(</span><span·class="n">Port</span><span·class="p"·data-group-id="8787041585-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">180 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">complex</code>·process·performs·the·following:</p><ul><li>Encodes·the·message·into·a·sequence·of·bytes.</li><li>Sends·it·to·the·port.</li><li>Waits·for·a·reply.</li><li>Decodes·the·reply.</li><li>Sends·it·back·to·the·caller:</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="7120856297-1">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7120856297-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
181 ····</span><span·class="k">receive</span><span·class="w">181 ····</span><span·class="k">receive</span><span·class="w">
182 ········</span><span·class="p"·data-group-id="8787041585-2">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Caller</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="8787041585-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">182 ········</span><span·class="p"·data-group-id="7120856297-2">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Caller</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="7120856297-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
183 ············</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="8787041585-3">{</span><span·class="nf">self</span><span·class="p"·data-group-id="8787041585-4">(</span><span·class="p"·data-group-id="8787041585-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8787041585-5">{</span[·...·truncated·by·diffoscope;·len:·336,·SHA:·dfd7928118263de00431347ed7f6d02fc62fb63d34e361bfdbe0503ae33e8fc9·...·]-3">}</span><span·class="p">,</span><span·class="w">183 ············</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="7120856297-3">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7120856297-4">(</span><span·class="p"·data-group-id="7120856297-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7120856297-5">{</span[·...·truncated·by·diffoscope;·len:·336,·SHA:·f7fcbaecba053becfe1b001c698cf7034b62ade4a31d1a353db5234376c718e9·...·]-3">}</span><span·class="p">,</span><span·class="w">
184 ············</span><span·class="k">receive</span><span·class="w">184 ············</span><span·class="k">receive</span><span·class="w">
185 ················</span><span·class="p"·data-group-id="8787041585-7">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8787041585-8">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·ab086032c769c8ac40d77201c2c3ea78e9cd78ee2c5ea2caa9fdbb653d9da54f·...·]-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">185 ················</span><span·class="p"·data-group-id="7120856297-7">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7120856297-8">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·10ba5bca075184d334e11f016e9be9404c848f5e5cf1685dd9eaa7255f765e63·...·]-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
186 ····················</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="8787041585-9">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">decode</span><span·class="p"·data-group-id="8787041585-10">(</span><span·class="n">Data</span><span·class="p"·data-group-id="8787041585-10[·...·truncated·by·diffoscope;·len:·51,·SHA:·0f86b0c95ce785591470836c12c098b078294d4e22803f6e1a478f9e6e5c7bd8·...·]-9">}</span><span·class="w">186 ····················</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="7120856297-9">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">decode</span><span·class="p"·data-group-id="7120856297-10">(</span><span·class="n">Data</span><span·class="p"·data-group-id="7120856297-10[·...·truncated·by·diffoscope;·len:·51,·SHA:·742bdc4723477a02692060ce0d54f8357120935c7e22f442b4e0d9df840ceb53·...·]-9">}</span><span·class="w">
187 ············</span><span·class="k">end</span><span·class="p">,</span><span·class="w">187 ············</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
188 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="8787041585-11">(</span><span·class="n">Port</span><span·class="p"·data-group-id="8787041585-11">)</span><span·class="w">188 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="7120856297-11">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7120856297-11">)</span><span·class="w">
189 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Assuming·that·both·the·arguments·and·the·results·from·the·C·functions·are·less189 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Assuming·that·both·the·arguments·and·the·results·from·the·C·functions·are·less
190 than·256,·a·simple·encoding/decoding·scheme·is·employed.·In·this·scheme,·<code·class="inline">foo</code>190 than·256,·a·simple·encoding/decoding·scheme·is·employed.·In·this·scheme,·<code·class="inline">foo</code>
191 is·represented·by·byte·1,·<code·class="inline">bar</code>·is·represented·by·2,·and·the·argument/result·is191 is·represented·by·byte·1,·<code·class="inline">bar</code>·is·represented·by·2,·and·the·argument/result·is
192 represented·by·a·single·byte·as·well:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">encode</span><span·class="p"·data-group-id="1062743946-1">(</span><span·class="p"·data-group-id="1062743946-2">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="1062743946-2">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·32e439492b88b34705481b933bea68375821c87b9556106c80e560969331ad5f·...·]-3">]</span><span·class="p">;</span><span·class="w">192 represented·by·a·single·byte·as·well:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">encode</span><span·class="p"·data-group-id="0039999192-1">(</span><span·class="p"·data-group-id="0039999192-2">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="0039999192-2">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·4d6a3b3c945d83f72890713312e2a045a7992dc94e08c2956ab225775abf5674·...·]-3">]</span><span·class="p">;</span><span·class="w">
193 </span><span·class="nf">encode</span><span·class="p"·data-group-id="1062743946-4">(</span><span·class="p"·data-group-id="1062743946-5">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="1062743946-5">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·99d03e12551de077ec37bfa67461811050a9a75e71bd4ac409028dbc0fd83424·...·]-6">]</span><span·class="p">.</span><span·class="w">193 </span><span·class="nf">encode</span><span·class="p"·data-group-id="0039999192-4">(</span><span·class="p"·data-group-id="0039999192-5">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="0039999192-5">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·291,·SHA:·ef68bbfd4dcf713bdaef4c4e54f758b05476a8feb756e0af7f1731c09dbd99da·...·]-6">]</span><span·class="p">.</span><span·class="w">
  
194 </span><span·class="nf">decode</span><span·class="p"·data-group-id="1062743946-7">(</span><span·class="p"·data-group-id="1062743946-8">[</span><span·class="n">Int</span><span·class="p"·data-group-id="1062743946-8">]</span><span·class="p"·data-group-id="1062743946-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">.</span></code></pre><p>The·resulting·Erlang·program,·including·functions·for·stopping·the·port·and194 </span><span·class="nf">decode</span><span·class="p"·data-group-id="0039999192-7">(</span><span·class="p"·data-group-id="0039999192-8">[</span><span·class="n">Int</span><span·class="p"·data-group-id="0039999192-8">]</span><span·class="p"·data-group-id="0039999192-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">.</span></code></pre><p>The·resulting·Erlang·program,·including·functions·for·stopping·the·port·and
195 detecting·port·failures,·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">195 detecting·port·failures,·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">
196 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5692827748-1">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="5692827748-1">)</span><span·class="p">.</span><span·class="w">196 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7592649897-1">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="7592649897-1">)</span><span·class="p">.</span><span·class="w">
197 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5692827748-2">(</span><span·class="p"·data-group-id="5692827748-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·241,·SHA:·46e700e43296b3b3f366d36d0f9c505744b4f957ca32eca1393c2148f836e7da·...·]-2">)</span><span·class="p">.</span><span·class="w">197 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7592649897-2">(</span><span·class="p"·data-group-id="7592649897-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·241,·SHA:·ed772f568a4f8545a21789f2171ce45a423c0716e146e531c6eec1f1be65c983·...·]-2">)</span><span·class="p">.</span><span·class="w">
198 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5692827748-4">(</span><span·class="p"·data-group-id="5692827748-5">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·113,·SHA:·dd033c4eb38d46ca28efa54eb4fb7a446694551b4c3a52cd77926e82be8d8ca7·...·]-4">)</span><span·class="p">.</span><span·class="w">198 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7592649897-4">(</span><span·class="p"·data-group-id="7592649897-5">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·113,·SHA:·55e59ca73269e0f5a2472be2d270e0ea7bb5156ae7d809144e00954b8012a136·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
199 </span><span·class="nf">start</span><span·class="p"·data-group-id="5692827748-6">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="5692827748-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">199 </span><span·class="nf">start</span><span·class="p"·data-group-id="7592649897-6">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="7592649897-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
200 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">erl_ddll</span><span·class="p">:</span><span·class="nf">load_driver</span><span·class="p"·data-group-id="5692827748-7">(</span><span·class="s">&quot;.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="5692827748-7">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">200 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">erl_ddll</span><span·class="p">:</span><span·class="nf">load_driver</span><span·class="p"·data-group-id="7592649897-7">(</span><span·class="s">&quot;.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="7592649897-7">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
201 »       </span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">201 »       </span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
202 »       </span><span·class="p"·data-group-id="5692827748-8">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">already_loaded</span><span·class="p"·data-group-id="5692827748-8">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">202 »       </span><span·class="p"·data-group-id="7592649897-8">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">already_loaded</span><span·class="p"·data-group-id="7592649897-8">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
203 »       </span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">exit</span><span·class="p"·data-group-id="5692827748-9">(</span><span·class="p"·data-group-id="5692827748-10">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">could_not_load_driver</span><span·class="p"·data-group-id="5692827748-10">}</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·0f335aa5f6b0e8ce33639eebbcc55c81cfeddc245b5b308605dc0f03380b435f·...·]-9">)</span><span·class="w">203 »       </span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">exit</span><span·class="p"·data-group-id="7592649897-9">(</span><span·class="p"·data-group-id="7592649897-10">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">could_not_load_driver</span><span·class="p"·data-group-id="7592649897-10">}</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·fdae3adf3a5500c1cac7227cfd60c654641910308d31f929c0c414162a5d84ff·...·]-9">)</span><span·class="w">
204 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">204 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
205 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="5692827748-11">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5692827748-12">[</span><s[·...·truncated·by·diffoscope;·len:·125,·SHA:·38846e0dc15595676b48dd87bb77b494f3c83c91a0ab9229c7a4ebf250d69253·...·]-11">)</span><span·class="p">.</span><span·class="w">205 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7592649897-11">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7592649897-12">[</span><s[·...·truncated·by·diffoscope;·len:·125,·SHA:·5c75ed088a670f583c4c9f382de5d9bba3f51720f764781c9789ca606a491cf0·...·]-11">)</span><span·class="p">.</span><span·class="w">
  
206 </span><span·class="nf">init</span><span·class="p"·data-group-id="5692827748-13">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="5692827748-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">206 </span><span·class="nf">init</span><span·class="p"·data-group-id="7592649897-13">(</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="7592649897-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
207 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="5692827748-14">(</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="5692827748-15">(</span><span·class="p"·data-group-id="5692827748-15">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·249d8b4e78ee259c111e1cf37f26c011e30a40c643e69fbfdcbeff37e36cf163·...·]-14">)</span><span·class="p">,</span><span·class="w">207 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="7592649897-14">(</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="7592649897-15">(</span><span·class="p"·data-group-id="7592649897-15">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·a899b5c4ee5926bbd046533ef37e3699d1b218e5d0c0c8caf03e3e0708a054dd·...·]-14">)</span><span·class="p">,</span><span·class="w">
208 ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="5692827748-16">(</span><span·class="p"·data-group-id="5692827748-17">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="5692827748-17">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·181,·SHA:·d27fb58cc5c09ebcc2495ebd419d6c13a4baf0108f9f64591f7292d985a7dbe6·...·]-16">)</span><span·class="p">,</span><span·class="w">208 ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="7592649897-16">(</span><span·class="p"·data-group-id="7592649897-17">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SharedLib</span><span·class="p"·data-group-id="7592649897-17">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·181,·SHA:·a472fac6e382d2c898f3d51a8222de10a0e2259a6c300eed6d836d30f0637be1·...·]-16">)</span><span·class="p">,</span><span·class="w">
209 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="5692827748-19">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5692827748-19">)</span><span·class="p">.</span><span·class="w">209 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="7592649897-19">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7592649897-19">)</span><span·class="p">.</span><span·class="w">
  
210 </span><span·class="nf">stop</span><span·class="p"·data-group-id="5692827748-20">(</span><span·class="p"·data-group-id="5692827748-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">210 </span><span·class="nf">stop</span><span·class="p"·data-group-id="7592649897-20">(</span><span·class="p"·data-group-id="7592649897-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
211 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">.</span><span·class="w">211 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">.</span><span·class="w">
  
212 </span><span·class="nf">foo</span><span·class="p"·data-group-id="5692827748-21">(</span><span·class="n">X</span><span·class="p"·data-group-id="5692827748-21">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">212 </span><span·class="nf">foo</span><span·class="p"·data-group-id="7592649897-21">(</span><span·class="n">X</span><span·class="p"·data-group-id="7592649897-21">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
213 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="5692827748-22">(</span><span·class="p"·data-group-id="5692827748-23">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="5692827748-23">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·811e8f32ed33915a973a341bc89d4916f2a3a037ac537f478f564bd531ee19f8·...·]-22">)</span><span·class="p">.</span><span·class="w">213 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="7592649897-22">(</span><span·class="p"·data-group-id="7592649897-23">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="7592649897-23">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·460d52124089fc91d45832ed2d82bd88e316d9c62d7fd130661167e5cbb1ca54·...·]-22">)</span><span·class="p">.</span><span·class="w">
214 </span><span·class="nf">bar</span><span·class="p"·data-group-id="5692827748-24">(</span><span·class="n">Y</span><span·class="p"·data-group-id="5692827748-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 </span><span·class="nf">bar</span><span·class="p"·data-group-id="7592649897-24">(</span><span·class="n">Y</span><span·class="p"·data-group-id="7592649897-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
215 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="5692827748-25">(</span><span·class="p"·data-group-id="5692827748-26">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="5692827748-26">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·811e8f32ed33915a973a341bc89d4916f2a3a037ac537f478f564bd531ee19f8·...·]-25">)</span><span·class="p">.</span><span·class="w">215 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="7592649897-25">(</span><span·class="p"·data-group-id="7592649897-26">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="7592649897-26">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·460d52124089fc91d45832ed2d82bd88e316d9c62d7fd130661167e5cbb1ca54·...·]-25">)</span><span·class="p">.</span><span·class="w">
  
216 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="5692827748-27">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="5692827748-27">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">216 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="7592649897-27">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="7592649897-27">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
217 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5692827748-28">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="5692827748-29">(</span><span·class="p"·data-group-id="5692827748-29">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·dc46c50b1313adc72f83aefb95444478aa90785ab59189a0b8c43207010b2543·...·]-28">}</span><span·class="p">,</span><span·class="w">217 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="7592649897-28">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="7592649897-29">(</span><span·class="p"·data-group-id="7592649897-29">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·4e53eb4083ecd270828d4365d157e7e68f9ff24aa5746d116b160304f9719689·...·]-28">}</span><span·class="p">,</span><span·class="w">
218 ····</span><span·class="k">receive</span><span·class="w">218 ····</span><span·class="k">receive</span><span·class="w">
219 »       </span><span·class="p"·data-group-id="5692827748-30">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="5692827748-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">219 »       </span><span·class="p"·data-group-id="7592649897-30">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="7592649897-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
220 »       ····</span><span·class="n">Result</span><span·class="w">220 »       ····</span><span·class="n">Result</span><span·class="w">
221 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">221 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
222 </span><span·class="nf">loop</span><span·class="p"·data-group-id="5692827748-31">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5692827748-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">222 </span><span·class="nf">loop</span><span·class="p"·data-group-id="7592649897-31">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7592649897-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
223 ····</span><span·class="k">receive</span><span·class="w">223 ····</span><span·class="k">receive</span><span·class="w">
224 »       </span><span·class="p"·data-group-id="5692827748-32">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Caller</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="5692827748-32">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">224 »       </span><span·class="p"·data-group-id="7592649897-32">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Caller</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="7592649897-32">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
225 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5692827748-33">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5692827748-34">(</span><span·class="p"·data-group-id="5692827748-34">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5692827748-35">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·5b58b5a769224e6173facaebb55f09973c8f0d32d2861a93973f91ce9d526053·...·]-33">}</span><span·class="p">,</span><span·class="w">225 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="7592649897-33">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7592649897-34">(</span><span·class="p"·data-group-id="7592649897-34">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7592649897-35">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·46972cd63d3f4dd687bd16f97c77616b50ca428f59fee790802434a85bfda6f4·...·]-33">}</span><span·class="p">,</span><span·class="w">
226 »       ····</span><span·class="k">receive</span><span·class="w">226 »       ····</span><span·class="k">receive</span><span·class="w">
227 »       »       </span><span·class="p"·data-group-id="5692827748-37">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5692827748-38">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·6bf038d6ddb60fa004e0dd3e5b0703f54341c0031f5aa926418e5abe47ff02a3·...·]-37">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">227 »       »       </span><span·class="p"·data-group-id="7592649897-37">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7592649897-38">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·dde1a6f304666f8722c6c7551a5c9f9ddab52a297169e1356f693bde8df4c2e5·...·]-37">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
228 »       »       ····</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5692827748-39">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">decode</span><span·class="p"·data-group-id="5692827748-40">(</span><span·class="n">Data</span><span·class="p"·data-group-id="5692827748-4[·...·truncated·by·diffoscope;·len:·52,·SHA:·6994591098b6688971af2762cd39c53aa45d557764f49369ff6039e7fec84c74·...·]-39">}</span><span·class="w">228 »       »       ····</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="7592649897-39">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">decode</span><span·class="p"·data-group-id="7592649897-40">(</span><span·class="n">Data</span><span·class="p"·data-group-id="7592649897-4[·...·truncated·by·diffoscope;·len:·52,·SHA:·ce77ceb5776c799ea055c75acc69cf327572de337ccdb596de83b6cc5d261cf4·...·]-39">}</span><span·class="w">
229 »       ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">229 »       ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
230 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="5692827748-41">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5692827748-41">)</span><span·class="p">;</span><span·class="w">230 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="7592649897-41">(</span><span·class="n">Port</span><span·class="p"·data-group-id="7592649897-41">)</span><span·class="p">;</span><span·class="w">
231 »       </span><span·class="ss">stop</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">231 »       </span><span·class="ss">stop</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5692827748-42">{</span><span·class="nf">self</span><span·class="p"·data-group-id="5692827748-43">(</span><span·class="p"·data-group-id="5692827748-43">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">close</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·de9f86a2d25e02fc9a70b316c5cfdca7b97586fde731aab4fc3f7f6270b028d7·...·]-42">}</span><span·class="p">,</span><span·class="w">232 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="7592649897-42">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7592649897-43">(</span><span·class="p"·data-group-id="7592649897-43">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">close</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·a8320166f0c331f7ffbff35c6cf7d9733f3c9210248b70baa5afbc2c7d355cae·...·]-42">}</span><span·class="p">,</span><span·class="w">
233 »       ····</span><span·class="k">receive</span><span·class="w">233 »       ····</span><span·class="k">receive</span><span·class="w">
234 »       »       </span><span·class="p"·data-group-id="5692827748-44">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">closed</span><span·class="p"·data-group-id="5692827748-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">234 »       »       </span><span·class="p"·data-group-id="7592649897-44">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">closed</span><span·class="p"·data-group-id="7592649897-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
235 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="5692827748-45">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="5692827748-45">)</span><span·class="w">235 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="7592649897-45">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="7592649897-45">)</span><span·class="w">
236 »       ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">236 »       ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
237 »       </span><span·class="p"·data-group-id="5692827748-46">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="5692827748-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">237 »       </span><span·class="p"·data-group-id="7592649897-46">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="7592649897-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
238 »       ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5692827748-47">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">·</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5692827748-48">[</sp[·...·truncated·by·diffoscope;·len:·127,·SHA:·3efbf03797254f08ff3b33aff15b25438dcf935b4066ca632e5e73757bff7abb·...·]-47">)</span><span·class="p">,</span><span·class="w">238 »       ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="7592649897-47">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">·</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7592649897-48">[</sp[·...·truncated·by·diffoscope;·len:·127,·SHA:·b71c6b35007283cf4fdca1fb289e124483c777bc5dc17687fda15aaa87043bb2·...·]-47">)</span><span·class="p">,</span><span·class="w">
239 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="5692827748-49">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="5692827748-49">)</span><span·class="w">239 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="7592649897-49">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="7592649897-49">)</span><span·class="w">
240 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">240 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
241 </span><span·class="nf">encode</span><span·class="p"·data-group-id="5692827748-50">(</span><span·class="p"·data-group-id="5692827748-51">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="5692827748-51">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·4112ed251353eb66129d64648293b5181954ef332f62bdd8a17b15f5c383b6d0·...·]-52">]</span><span·class="p">;</span><span·class="w">241 </span><span·class="nf">encode</span><span·class="p"·data-group-id="7592649897-50">(</span><span·class="p"·data-group-id="7592649897-51">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="7592649897-51">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·1dd673787bf472ab8878aa2fc004198cb5bd11f3a4903cc9525eeca49c6e8cd2·...·]-52">]</span><span·class="p">;</span><span·class="w">
242 </span><span·class="nf">encode</span><span·class="p"·data-group-id="5692827748-53">(</span><span·class="p"·data-group-id="5692827748-54">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="5692827748-54">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·53d335dc56a696050d565c7932448f337fb549f672055ad5cf71bea04bf8fd74·...·]-55">]</span><span·class="p">.</span><span·class="w">242 </span><span·class="nf">encode</span><span·class="p"·data-group-id="7592649897-53">(</span><span·class="p"·data-group-id="7592649897-54">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="7592649897-54">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·91a524b2b5f33437e5929e5c9afd16c1d700ebe47abcdb1ed668acdad774356b·...·]-55">]</span><span·class="p">.</span><span·class="w">
  
243 </span><span·class="nf">decode</span><span·class="p"·data-group-id="5692827748-56">(</span><span·class="p"·data-group-id="5692827748-57">[</span><span·class="n">Int</span><span·class="p"·data-group-id="5692827748-57">]</span><span·class="p"·data-group-id="5692827748-56">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">.</span></code></pre><h2·id="c-driver"·class="section-heading">243 </span><span·class="nf">decode</span><span·class="p"·data-group-id="7592649897-56">(</span><span·class="p"·data-group-id="7592649897-57">[</span><span·class="n">Int</span><span·class="p"·data-group-id="7592649897-57">]</span><span·class="p"·data-group-id="7592649897-56">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">.</span></code></pre><h2·id="c-driver"·class="section-heading">
244 ··<a·href="#c-driver"·class="hover-link">244 ··<a·href="#c-driver"·class="hover-link">
245 ····<i·class="ri-link-m"·aria-hidden="true"></i>245 ····<i·class="ri-link-m"·aria-hidden="true"></i>
246 ··</a>246 ··</a>
247 ··<span·class="text">C·Driver</span>247 ··<span·class="text">C·Driver</span>
248 </h2>248 </h2>
249 <p>The·C·driver·is·a·module·that·is·compiled·and·linked·into·a·shared·library.·It249 <p>The·C·driver·is·a·module·that·is·compiled·and·linked·into·a·shared·library.·It
250 uses·a·driver·structure·and·includes·the·header·file·<code·class="inline">erl_driver.h</code>.</p><p>The·driver·structure·is·filled·with·the·driver·name·and·function·pointers.·It·is250 uses·a·driver·structure·and·includes·the·header·file·<code·class="inline">erl_driver.h</code>.</p><p>The·driver·structure·is·filled·with·the·driver·name·and·function·pointers.·It·is
Offset 347, 25 lines modifiedOffset 347, 25 lines modified
347 ··<a·href="#running-the-example"·class="hover-link">347 ··<a·href="#running-the-example"·class="hover-link">
348 ····<i·class="ri-link-m"·aria-hidden="true"></i>348 ····<i·class="ri-link-m"·aria-hidden="true"></i>
349 ··</a>349 ··</a>
350 ··<span·class="text">Running·the·Example</span>350 ··<span·class="text">Running·the·Example</span>
351 </h2>351 </h2>
352 <p><em>Step·1.</em>·Compile·the·C·code:</p><pre><code·class="text">unix&gt;·gcc·-o·example_drv.so·-fpic·-shared·complex.c·port_driver.c352 <p><em>Step·1.</em>·Compile·the·C·code:</p><pre><code·class="text">unix&gt;·gcc·-o·example_drv.so·-fpic·-shared·complex.c·port_driver.c
353 windows&gt;·cl·-LD·-MD·-Fe·example_drv.dll·complex.c·port_driver.c</code></pre><p><em>Step·2.</em>·Start·Erlang·and·compile·the·Erlang·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="ss">erl</span><span·class="w">353 windows&gt;·cl·-LD·-MD·-Fe·example_drv.dll·complex.c·port_driver.c</code></pre><p><em>Step·2.</em>·Start·Erlang·and·compile·the·Erlang·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="ss">erl</span><span·class="w">
354 </span><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">26</span><span·class="w">·</span><span·class="p"·data-group-id="4829028975-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">14.2</span><span·class="p"·data-group-id="4829028975-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="4829028975-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1281,·SHA:·d7d5dcd8297b34afbd87879923a3496e3744eeefc7ce3691c6177ccf3c7a0bfd·...·]75-7">]</span><span·class="w">354 </span><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">26</span><span·class="w">·</span><span·class="p"·data-group-id="8177874775-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">14.2</span><span·class="p"·data-group-id="8177874775-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="8177874775-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1281,·SHA:·a0fd87c41f6e974e88baec614672d2ef9ab32db04e95ebe058954cc94b066d9f·...·]75-7">]</span><span·class="w">
  
355 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V14</span><span·class="p">.</span><span·class="mi">2</span><span·class="w">·</span><span·class="p"·data-group-id="4829028975-8">(</span><span·class="ss">press</span><span·class="w">·</span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">G</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">abort</span><sp[·...·truncated·by·diffoscope;·len:·397,·SHA:·f3a2949f7ff2972da0ad0fa9cce74a51d58c97346abad99a5228b19ac002dca8·...·]75-8">)</span><span·class="gp·unselectable">355 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V14</span><span·class="p">.</span><span·class="mi">2</span><span·class="w">·</span><span·class="p"·data-group-id="8177874775-8">(</span><span·class="ss">press</span><span·class="w">·</span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">G</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">abort</span><sp[·...·truncated·by·diffoscope;·len:·397,·SHA:·8ef650dd9305017436253c7551939dd0871bea56387fd4ad1f273d26892e1c4b·...·]75-8">)</span><span·class="gp·unselectable">
356 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="4829028975-10">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="4829028975-10">)</span><span·class="p">.</span><span·class="w">356 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="8177874775-10">(</span><span·class="ss">complex5</span><span·class="p"·data-group-id="8177874775-10">)</span><span·class="p">.</span><span·class="w">
357 </span><span·class="p"·data-group-id="4829028975-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex5</span><span·class="p"·data-group-id="4829028975-11">}</span></code></pre><p><em>Step·3.</em>·Run·the·example:</p><pre><code·class="makeup·erlang"·translate="[·...·truncated·by·diffoscope;·len:·272,·SHA:·afd4ef5e5fa3cf5847b70f642df50afe86a16a61b7ddea4af5f6d353ecad1ecc·...·]-1">)</span><span·class="p">.</span><span·class="w">357 </span><span·class="p"·data-group-id="8177874775-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex5</span><span·class="p"·data-group-id="8177874775-11">}</span></code></pre><p><em>Step·3.</em>·Run·the·example:</p><pre><code·class="makeup·erlang"·translate="[·...·truncated·by·diffoscope;·len:·272,·SHA:·6a73f8fec10583064ba42c01dc666f92bb943b2e4376ab33c008c647f85dee02·...·]-1">)</span><span·class="p">.</span><span·class="w">
358 </span><span·class="o">&lt;</span><span·class="mf">0.34</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">358 </span><span·class="o">&lt;</span><span·class="mf">0.34</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">
359 3&gt;·</span><span·class="nc">complex5</span><span·class="p">:</span><span·class="nf">foo</span><span·class="p"·data-group-id="5039591978-2">(</span><span·class="mi">3</span><span·class="p"·data-group-id="5039591978-2">)</span><span·class="p">.</span><span·class="w">359 3&gt;·</span><span·class="nc">complex5</span><span·class="p">:</span><span·class="nf">foo</span><span·class="p"·data-group-id="8842408960-2">(</span><span·class="mi">3</span><span·class="p"·data-group-id="8842408960-2">)</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 2019/65844 bytes (3.07%) of diff not shown.
546 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/doc/system/character_set.html
    
Offset 186, 15 lines modifiedOffset 186, 15 lines modified
186 ······<p·class="built-using">186 ······<p·class="built-using">
187 ········Built·using187 ········Built·using
188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
190 ······</p>190 ······</p>
191 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>191 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
192 ····</footer>192 ····</footer>
193 ··</div>193 ··</div>
194 </main>194 </main>
195 </div>195 </div>
196 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>196 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
197 ··<script>197 ··<script>
198 ··let·initialized·=·false;198 ··let·initialized·=·false;
661 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/doc/system/cnode.html
    
Offset 164, 15 lines modifiedOffset 164, 15 lines modified
164 ······<p·class="built-using">164 ······<p·class="built-using">
165 ········Built·using165 ········Built·using
166 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the166 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
167 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>167 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
168 ······</p>168 ······</p>
169 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>169 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
170 ····</footer>170 ····</footer>
171 ··</div>171 ··</div>
172 </main>172 </main>
173 </div>173 </div>
174 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>174 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
175 ··<script>175 ··<script>
176 ··let·initialized·=·false;176 ··let·initialized·=·false;
681 B
html2text {}
Max HTML report size reached
15.3 KB
./usr/share/doc/erlang-doc/html/doc/system/code_loading.html
    
Offset 122, 16 lines modifiedOffset 122, 16 lines modified
122 ····<i·class="ri-link-m"·aria-hidden="true"></i>122 ····<i·class="ri-link-m"·aria-hidden="true"></i>
123 ··</a>123 ··</a>
124 ··<span·class="text">Compilation</span>124 ··<span·class="text">Compilation</span>
125 </h2>125 </h2>
126 <p>Erlang·programs·must·be·<em>compiled</em>·to·object·code.·The·compiler·can·generate·a126 <p>Erlang·programs·must·be·<em>compiled</em>·to·object·code.·The·compiler·can·generate·a
127 new·file·that·contains·the·object·code.·The·current·abstract·machine,·which·runs127 new·file·that·contains·the·object·code.·The·current·abstract·machine,·which·runs
128 the·object·code,·is·called·BEAM,·therefore·the·object·files·get·the·suffix128 the·object·code,·is·called·BEAM,·therefore·the·object·files·get·the·suffix
129 <code·class="inline">.beam</code>.·The·compiler·can·also·generate·a·binary·which·can·be·loaded·directly.</p><p>The·compiler·is·located·in·the·module·<a·href="../../lib/compiler-9.0/doc/html/compile.html"><code·class="inline">compile</code></a>·in·Compiler.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">compile</span><span·class="p">:</span><span·class="nf">file</span><span·class="p"·data-group-id="9274700056-1">(</span><span·class="n">Module</span><span·class="p"·data-group-id="9274700056-1">)</span><span·class="w">129 <code·class="inline">.beam</code>.·The·compiler·can·also·generate·a·binary·which·can·be·loaded·directly.</p><p>The·compiler·is·located·in·the·module·<a·href="../../lib/compiler-9.0/doc/html/compile.html"><code·class="inline">compile</code></a>·in·Compiler.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">compile</span><span·class="p">:</span><span·class="nf">file</span><span·class="p"·data-group-id="9145929353-1">(</span><span·class="n">Module</span><span·class="p"·data-group-id="9145929353-1">)</span><span·class="w">
130 </span><span·class="nc">compile</span><span·class="p">:</span><span·class="nf">file</span><span·class="p"·data-group-id="9274700056-2">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Options</span><span·class="p"·data-group-id="9274700056-2">)</span></code></pre><p>The·Erlang·shell·understands·the·command·<code·class="inline">c(Module)</code>,·which·both·compiles·and130 </span><span·class="nc">compile</span><span·class="p">:</span><span·class="nf">file</span><span·class="p"·data-group-id="9145929353-2">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Options</span><span·class="p"·data-group-id="9145929353-2">)</span></code></pre><p>The·Erlang·shell·understands·the·command·<code·class="inline">c(Module)</code>,·which·both·compiles·and
131 loads·<code·class="inline">Module</code>.</p><p>There·is·also·a·module·<code·class="inline">make</code>,·which·provides·a·set·of·functions·similar·to·the131 loads·<code·class="inline">Module</code>.</p><p>There·is·also·a·module·<code·class="inline">make</code>,·which·provides·a·set·of·functions·similar·to·the
132 UNIX·type·Make·functions,·see·module·<a·href="../../lib/tools-4.1.2/doc/html/make.html"><code·class="inline">make</code></a>·in·Tools.</p><p>The·compiler·can·also·be·accessed·from·the·OS·prompt·using·the132 UNIX·type·Make·functions,·see·module·<a·href="../../lib/tools-4.1.2/doc/html/make.html"><code·class="inline">make</code></a>·in·Tools.</p><p>The·compiler·can·also·be·accessed·from·the·OS·prompt·using·the
133 <a·href="../../erts-16.0/doc/html/erl_cmd.html">erl</a>·executable·in·ERTS.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-compile·Module1...ModuleN</span><span·class="w">133 <a·href="../../erts-16.0/doc/html/erl_cmd.html">erl</a>·executable·in·ERTS.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-compile·Module1...ModuleN</span><span·class="w">
134 </span><span·class="c1">%·erl·-make</span></code></pre><p>The·<code·class="inline">erlc</code>·program·provides·way·to·compile·modules·from·the·OS134 </span><span·class="c1">%·erl·-make</span></code></pre><p>The·<code·class="inline">erlc</code>·program·provides·way·to·compile·modules·from·the·OS
135 shell,·see·the·<a·href="../../erts-16.0/doc/html/erlc_cmd.html">erlc</a>·executable·in·ERTS.·It135 shell,·see·the·<a·href="../../erts-16.0/doc/html/erlc_cmd.html">erlc</a>·executable·in·ERTS.·It
136 understands·a·number·of·flags·that·can·be·used·to·define·macros,·add·search136 understands·a·number·of·flags·that·can·be·used·to·define·macros,·add·search
137 paths·for·include·files,·and·more.</p><pre><code·class="text">%·erlc·&lt;flags&gt;·File1.erl...FileN.erl</code></pre><p><a·href=""·id="loading"></a></p><h2·id="code-loading"·class="section-heading">137 paths·for·include·files,·and·more.</p><pre><code·class="text">%·erlc·&lt;flags&gt;·File1.erl...FileN.erl</code></pre><p><a·href=""·id="loading"></a></p><h2·id="code-loading"·class="section-heading">
Offset 156, 54 lines modifiedOffset 156, 54 lines modified
156 When·a·module·is·loaded·into·the·system·for·the·first·time,·the·code·becomes156 When·a·module·is·loaded·into·the·system·for·the·first·time,·the·code·becomes
157 'current'.·If·then·a·new·instance·of·the·module·is·loaded,·the·code·of·the157 'current'.·If·then·a·new·instance·of·the·module·is·loaded,·the·code·of·the
158 previous·instance·becomes·'old'·and·the·new·instance·becomes·'current'.</p><p>Both·old·and·current·code·is·valid,·and·can·be·evaluated·concurrently.·Fully158 previous·instance·becomes·'old'·and·the·new·instance·becomes·'current'.</p><p>Both·old·and·current·code·is·valid,·and·can·be·evaluated·concurrently.·Fully
159 qualified·function·calls·always·refer·to·current·code.·Old·code·can·still·be159 qualified·function·calls·always·refer·to·current·code.·Old·code·can·still·be
160 evaluated·because·of·processes·lingering·in·the·old·code.</p><p>If·a·third·instance·of·the·module·is·loaded,·the·code·server·removes·(purges)160 evaluated·because·of·processes·lingering·in·the·old·code.</p><p>If·a·third·instance·of·the·module·is·loaded,·the·code·server·removes·(purges)
161 the·old·code·and·any·processes·lingering·in·it·is·terminated.·Then·the·third161 the·old·code·and·any·processes·lingering·in·it·is·terminated.·Then·the·third
162 instance·becomes·'current'·and·the·previously·current·code·becomes·'old'.</p><p>To·change·from·old·code·to·current·code,·a·process·must·make·a·fully·qualified162 instance·becomes·'current'·and·the·previously·current·code·becomes·'old'.</p><p>To·change·from·old·code·to·current·code,·a·process·must·make·a·fully·qualified
163 function·call.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5483674580-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="5483674580-1">)</span><span·class="p">.</span><span·class="w"> 
164 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5483674580-2">(</span><span·class="p"·data-group-id="5483674580-3">[</span><span·class="ss">loop</span><span·class="p">/</span><span·class="mi">0</span><span·class=[·...·truncated·by·diffoscope;·len:·84,·SHA:·25f78b61614d6d650235e693312de0c05a07a2ed074b9306f8eab78fb625bbb6·...·]">)</span><span·class="p">.</span><span·class="w">163 function·call.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6633787367-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="663[·...·truncated·by·diffoscope;·len:·9,·SHA:·9e73f39e714eed2528b7560c5cb3b5760949fb54dd3a63cdbd8df82df9632f43·...·]">)</span><span·class="p">.</span><span·class="w">
 164 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6633787367-2">(</span><span·class="p"·data-group-id="6633787367-3">[</span><span·class="ss">loop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6633787367-3">]</span><span·class="p"·data-group-id="6633787367-2">)</span><span·class="p">.</span><span·class="w">
  
165 </span><span·class="nf">loop</span><span·class="p"·data-group-id="5483674580-4">(</span><span·class="p"·data-group-id="5483674580-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">165 </span><span·class="nf">loop</span><span·class="p"·data-group-id="6633787367-4">(</span><span·class="p"·data-group-id="6633787367-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
166 ····</span><span·class="k">receive</span><span·class="w">166 ····</span><span·class="k">receive</span><span·class="w">
167 ········</span><span·class="ss">code_switch</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">167 ········</span><span·class="ss">code_switch</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
168 ············</span><span·class="nc">m</span><span·class="p">:</span><span·class="nf">loop</span><span·class="p"·data-group-id="5483674580-5">(</span><span·class="p"·data-group-id="5483674580-5">)</span><span·class="p">;</span><span·class="w">168 ············</span><span·class="nc">m</span><span·class="p">:</span><span·class="nf">loop</span><span·class="p"·data-group-id="6633787367-5">(</span><span·class="p"·data-group-id="6633787367-5">)</span><span·class="p">;</span><span·class="w">
169 ········</span><span·class="n">Msg</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">169 ········</span><span·class="n">Msg</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
170 ············</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">170 ············</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
171 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="5483674580-6">(</span><span·class="p"·data-group-id="5483674580-6">)</span><span·class="w">171 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="6633787367-6">(</span><span·class="p"·data-group-id="6633787367-6">)</span><span·class="w">
172 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>To·make·the·process·change·code,·send·the·message·<code·class="inline">code_switch</code>·to·it.·The172 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>To·make·the·process·change·code,·send·the·message·<code·class="inline">code_switch</code>·to·it.·The
173 process·then·makes·a·fully·qualified·call·to·<code·class="inline">m:loop()</code>·and·changes·to·current173 process·then·makes·a·fully·qualified·call·to·<code·class="inline">m:loop()</code>·and·changes·to·current
174 code.·Notice·that·<code·class="inline">m:loop/0</code>·must·be·exported.</p><p>For·code·replacement·of·funs·to·work,·use·the·syntax174 code.·Notice·that·<code·class="inline">m:loop/0</code>·must·be·exported.</p><p>For·code·replacement·of·funs·to·work,·use·the·syntax
175 <code·class="inline">fun·Module:FunctionName/Arity</code>.</p><p><a·href=""·id="on_load"></a></p><h2·id="running-a-function-when-a-module-is-loaded"·class="section-heading">175 <code·class="inline">fun·Module:FunctionName/Arity</code>.</p><p><a·href=""·id="on_load"></a></p><h2·id="running-a-function-when-a-module-is-loaded"·class="section-heading">
176 ··<a·href="#running-a-function-when-a-module-is-loaded"·class="hover-link">176 ··<a·href="#running-a-function-when-a-module-is-loaded"·class="hover-link">
177 ····<i·class="ri-link-m"·aria-hidden="true"></i>177 ····<i·class="ri-link-m"·aria-hidden="true"></i>
178 ··</a>178 ··</a>
179 ··<span·class="text">Running·a·Function·When·a·Module·is·Loaded</span>179 ··<span·class="text">Running·a·Function·When·a·Module·is·Loaded</span>
180 </h2>180 </h2>
181 <p>The·<code·class="inline">-on_load()</code>·directive·names·a·function·that·is·to·be·run·automatically·when181 <p>The·<code·class="inline">-on_load()</code>·directive·names·a·function·that·is·to·be·run·automatically·when
182 a·module·is·loaded.</p><p>Its·syntax·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">on_load</span><span·class="p"·data-group-id="5570840962-1">(</span><span·class="n">Name</span><span·class="o">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5570840962-1">)</span><span·class="p">.</span></code></pre><p>It·is·not·necessary·to·export·the·function.·It·is·called·in·a·freshly·spawned182 a·module·is·loaded.</p><p>Its·syntax·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">on_load</span><span·class="p"·data-group-id="6381666656-1">(</span><span·class="n">Name</span><span·class="o">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6381666656-1">)</span><span·class="p">.</span></code></pre><p>It·is·not·necessary·to·export·the·function.·It·is·called·in·a·freshly·spawned
183 process·(which·terminates·as·soon·as·the·function·returns).</p><p>The·function·must·return·<code·class="inline">ok</code>·if·the·module·is·to·become·the·new·current·code183 process·(which·terminates·as·soon·as·the·function·returns).</p><p>The·function·must·return·<code·class="inline">ok</code>·if·the·module·is·to·become·the·new·current·code
184 for·the·module·and·become·callable.</p><p>Returning·any·other·value·or·generating·an·exception·causes·the·new·code·to·be184 for·the·module·and·become·callable.</p><p>Returning·any·other·value·or·generating·an·exception·causes·the·new·code·to·be
185 unloaded.·If·the·return·value·is·not·an·atom,·a·warning·error·report·is·sent·to185 unloaded.·If·the·return·value·is·not·an·atom,·a·warning·error·report·is·sent·to
186 the·error·logger.</p><p>If·there·already·is·current·code·for·the·module,·that·code·will·remain·current186 the·error·logger.</p><p>If·there·already·is·current·code·for·the·module,·that·code·will·remain·current
187 and·can·be·called·until·the·<code·class="inline">on_load</code>·function·has·returned.·If·the·<code·class="inline">on_load</code>187 and·can·be·called·until·the·<code·class="inline">on_load</code>·function·has·returned.·If·the·<code·class="inline">on_load</code>
188 function·fails,·the·current·code·(if·any)·will·remain·current.·If·there·is·no188 function·fails,·the·current·code·(if·any)·will·remain·current.·If·there·is·no
189 current·code·for·a·module,·any·process·that·makes·an·external·call·to·the·module189 current·code·for·a·module,·any·process·that·makes·an·external·call·to·the·module
190 before·the·<code·class="inline">on_load</code>·function·has·finished·will·be·suspended·until·the·<code·class="inline">on_load</code>190 before·the·<code·class="inline">on_load</code>·function·has·finished·will·be·suspended·until·the·<code·class="inline">on_load</code>
191 function·have·finished.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Before·Erlang/OTP·19,·if·the·<code·class="inline">on_load</code>·function·failed,·any·previously·current191 function·have·finished.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Before·Erlang/OTP·19,·if·the·<code·class="inline">on_load</code>·function·failed,·any·previously·current
192 code·would·become·old,·essentially·leaving·the·system·without·any·working·and192 code·would·become·old,·essentially·leaving·the·system·without·any·working·and
193 reachable·instance·of·the·module.</p></section><p>In·embedded·mode,·first·all·modules·are·loaded.·Then·all·<code·class="inline">on_load</code>·functions·are193 reachable·instance·of·the·module.</p></section><p>In·embedded·mode,·first·all·modules·are·loaded.·Then·all·<code·class="inline">on_load</code>·functions·are
194 called.·The·system·is·terminated·unless·all·of·the·<code·class="inline">on_load</code>·functions·return194 called.·The·system·is·terminated·unless·all·of·the·<code·class="inline">on_load</code>·functions·return
195 <code·class="inline">ok</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8718549567-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="8718549567-1">)</span><span·class="p">.</span><span·class="w">195 <code·class="inline">ok</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8075371125-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="8075371125-1">)</span><span·class="p">.</span><span·class="w">
196 </span><span·class="p">-</span><span·class="na">on_load</span><span·class="p"·data-group-id="8718549567-2">(</span><span·class="ss">load_my_nifs</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="8718549567-2">)</span><span·class="p">.</span><span·class="w">196 </span><span·class="p">-</span><span·class="na">on_load</span><span·class="p"·data-group-id="8075371125-2">(</span><span·class="ss">load_my_nifs</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="8075371125-2">)</span><span·class="p">.</span><span·class="w">
  
197 </span><span·class="nf">load_my_nifs</span><span·class="p"·data-group-id="8718549567-3">(</span><span·class="p"·data-group-id="8718549567-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">197 </span><span·class="nf">load_my_nifs</span><span·class="p"·data-group-id="8075371125-3">(</span><span·class="p"·data-group-id="8075371125-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
198 ····</span><span·class="n">NifPath</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="w">····</span><span·class="c1">%Set·up·the·path·to·the·NIF·library.</span><span·class="w">198 ····</span><span·class="n">NifPath</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="w">····</span><span·class="c1">%Set·up·the·path·to·the·NIF·library.</span><span·class="w">
199 ····</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%Initialize·the·Info·term</span><span·class="w">199 ····</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%Initialize·the·Info·term</span><span·class="w">
200 ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">load_nif</span><span·class="p"·data-group-id="8718549567-4">(</span><span·class="n">NifPath</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p"·data-group-id="8718549567-4">)</span><span·class="p">.</span></code></pre><p>If·the·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#load_nif/2"><code·class="inline">erlang:load_nif/2</code></a>·fails,·the·module·is·unloaded·and·a·warning200 ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">load_nif</span><span·class="p"·data-group-id="8075371125-4">(</span><span·class="n">NifPath</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p"·data-group-id="8075371125-4">)</span><span·class="p">.</span></code></pre><p>If·the·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#load_nif/2"><code·class="inline">erlang:load_nif/2</code></a>·fails,·the·module·is·unloaded·and·a·warning
201 report·is·sent·to·the·error·loader.</p>201 report·is·sent·to·the·error·loader.</p>
202 </div>202 </div>
  
203 <div·class="bottom-actions"·id="bottom-actions">203 <div·class="bottom-actions"·id="bottom-actions">
204 ··<div·class="bottom-actions-item">204 ··<div·class="bottom-actions-item">
  
205 ······<a·href="distributed.html"·class="bottom-actions-button"·rel="prev">205 ······<a·href="distributed.html"·class="bottom-actions-button"·rel="prev">
Offset 247, 15 lines modifiedOffset 247, 15 lines modified
247 ······<p·class="built-using">247 ······<p·class="built-using">
248 ········Built·using248 ········Built·using
249 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the249 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
250 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>250 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
251 ······</p>251 ······</p>
252 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>252 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
253 ····</footer>253 ····</footer>
254 ··</div>254 ··</div>
255 </main>255 </main>
256 </div>256 </div>
257 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>257 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
258 ··<script>258 ··<script>
259 ··let·initialized·=·false;259 ··let·initialized·=·false;
761 B
html2text {}
Max HTML report size reached
52.9 KB
./usr/share/doc/erlang-doc/html/doc/system/commoncaveats.html
    
Offset 118, 31 lines modifiedOffset 118, 31 lines modified
118 <p>This·section·lists·a·few·constructs·to·watch·out·for.</p><h2·id="operator"·class="section-heading">118 <p>This·section·lists·a·few·constructs·to·watch·out·for.</p><h2·id="operator"·class="section-heading">
119 ··<a·href="#operator"·class="hover-link">119 ··<a·href="#operator"·class="hover-link">
120 ····<i·class="ri-link-m"·aria-hidden="true"></i>120 ····<i·class="ri-link-m"·aria-hidden="true"></i>
121 ··</a>121 ··</a>
122 ··<span·class="text">Operator·<code·class="inline">++</code></span>122 ··<span·class="text">Operator·<code·class="inline">++</code></span>
123 </h2>123 </h2>
124 <p>The·<code·class="inline">++</code>·operator·copies·its·left-hand·side·operand.·That·is·clearly124 <p>The·<code·class="inline">++</code>·operator·copies·its·left-hand·side·operand.·That·is·clearly
125 seen·if·we·do·our·own·implementation·in·Erlang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_plus_plus</span><span·class="p"·data-group-id="6895429937-1">(</span><span·class="p"·data-group-id="6895429937-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="6895429937-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·59,·SHA:·4ce929b0a7d14976bbe6e77fccef533fbc0593691728a11ec4c709e7a2bd9fc5·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">125 seen·if·we·do·our·own·implementation·in·Erlang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_plus_plus</span><span·class="p"·data-group-id="6994703810-1">(</span><span·class="p"·data-group-id="6994703810-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="6994703810-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·59,·SHA:·ad44ecfee24f213692567539dca0480320958a7adb05c286cc0ed50c5552c037·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
126 ····</span><span·class="p"·data-group-id="6895429937-3">[</span><span·class="n">H</span><span·class="p">|</span><span·class="nf">my_plus_plus</span><span·class="p"·data-group-id="6895429937-4">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·c63b8f0c710fdeb2a809f0d55ee6cd11879acd637fc2d9c7afbbe63468fd67a6·...·]-3">]</span><span·class="p">;</span><span·class="w">126 ····</span><span·class="p"·data-group-id="6994703810-3">[</span><span·class="n">H</span><span·class="p">|</span><span·class="nf">my_plus_plus</span><span·class="p"·data-group-id="6994703810-4">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·0354a323fae382a5c177cf6f507fee04d7b003cd48cd81093f6c652c636f0be1·...·]-3">]</span><span·class="p">;</span><span·class="w">
127 </span><span·class="nf">my_plus_plus</span><span·class="p"·data-group-id="6895429937-5">(</span><span·class="p"·data-group-id="6895429937-6">[</span><span·class="p"·data-group-id="6895429937-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span><span·class="p"·data-group-id="6895429937-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">127 </span><span·class="nf">my_plus_plus</span><span·class="p"·data-group-id="6994703810-5">(</span><span·class="p"·data-group-id="6994703810-6">[</span><span·class="p"·data-group-id="6994703810-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span><span·class="p"·data-group-id="6994703810-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
128 ····</span><span·class="n">Tail</span><span·class="p">.</span></code></pre><p>We·must·be·careful·how·we·use·<code·class="inline">++</code>·in·a·loop.·First·is·how·not·to·use·it:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">naive_reverse</span><span·class="p"·data-group-id="5153612101-1">(</span><span·class="p"·data-group-id="5153612101-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="5153612101-2">]</span><span·class="p"·data-group-id="5153612101-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">128 ····</span><span·class="n">Tail</span><span·class="p">.</span></code></pre><p>We·must·be·careful·how·we·use·<code·class="inline">++</code>·in·a·loop.·First·is·how·not·to·use·it:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">naive_reverse</span><span·class="p"·data-group-id="8615120638-1">(</span><span·class="p"·data-group-id="8615120638-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="8615120638-2">]</span><span·class="p"·data-group-id="8615120638-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
129 ····</span><span·class="nf">naive_reverse</span><span·class="p"·data-group-id="5153612101-3">(</span><span·class="n">T</span><span·class="p"·data-group-id="5153612101-3">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p"·data-group-id="5153612101-4">[</span><span·class="n">H</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·95c307935ef5406d4efd71b3b53ccf8653acde44f7dfabb8a2a5c1362a865382·...·]-4">]</span><span·class="p">;</span><span·class="w">129 ····</span><span·class="nf">naive_reverse</span><span·class="p"·data-group-id="8615120638-3">(</span><span·class="n">T</span><span·class="p"·data-group-id="8615120638-3">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p"·data-group-id="8615120638-4">[</span><span·class="n">H</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·70da309186e1406d6b3105168fb628ea680cd87691bfcf1b9d72e73efe386537·...·]-4">]</span><span·class="p">;</span><span·class="w">
130 </span><span·class="nf">naive_reverse</span><span·class="p"·data-group-id="5153612101-5">(</span><span·class="p"·data-group-id="5153612101-6">[</span><span·class="p"·data-group-id="5153612101-6">]</span><span·class="p"·data-group-id="5153612101-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">130 </span><span·class="nf">naive_reverse</span><span·class="p"·data-group-id="8615120638-5">(</span><span·class="p"·data-group-id="8615120638-6">[</span><span·class="p"·data-group-id="8615120638-6">]</span><span·class="p"·data-group-id="8615120638-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
131 ····</span><span·class="p"·data-group-id="5153612101-7">[</span><span·class="p"·data-group-id="5153612101-7">]</span><span·class="p">.</span></code></pre><p>As·the·<code·class="inline">++</code>·operator·copies·its·left-hand·side·operand,·the·growing131 ····</span><span·class="p"·data-group-id="8615120638-7">[</span><span·class="p"·data-group-id="8615120638-7">]</span><span·class="p">.</span></code></pre><p>As·the·<code·class="inline">++</code>·operator·copies·its·left-hand·side·operand,·the·growing
132 result·is·copied·repeatedly,·leading·to·quadratic·complexity.</p><p>On·the·other·hand,·using·<code·class="inline">++</code>·in·loop·like·this·is·perfectly·fine:</p><p><strong>OK</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">naive_but_ok_reverse</span><span·class="p"·data-group-id="3528757740-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="3528757740-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">132 result·is·copied·repeatedly,·leading·to·quadratic·complexity.</p><p>On·the·other·hand,·using·<code·class="inline">++</code>·in·loop·like·this·is·perfectly·fine:</p><p><strong>OK</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">naive_but_ok_reverse</span><span·class="p"·data-group-id="2542687533-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="2542687533-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
133 ····</span><span·class="nf">naive_but_ok_reverse</span><span·class="p"·data-group-id="3528757740-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3528757740-3">[</span><span·class="p"·data-group-id="3528757740-3">]</span><span·class="p"·data-group-id="3528757740-2">)</span><span·class="p">.</span><span·class="w">133 ····</span><span·class="nf">naive_but_ok_reverse</span><span·class="p"·data-group-id="2542687533-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2542687533-3">[</span><span·class="p"·data-group-id="2542687533-3">]</span><span·class="p"·data-group-id="2542687533-2">)</span><span·class="p">.</span><span·class="w">
  
134 </span><span·class="nf">naive_but_ok_reverse</span><span·class="p"·data-group-id="3528757740-4">(</span><span·class="p"·data-group-id="3528757740-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="3528757740-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·407b46578e9e4cec376f4256b022863c8ef4a98ebf41e094911ef86f0d3e918b·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">134 </span><span·class="nf">naive_but_ok_reverse</span><span·class="p"·data-group-id="2542687533-4">(</span><span·class="p"·data-group-id="2542687533-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="2542687533-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·b5c82d76f1286104cf423148a9228087e4d18882a90577ea81f2d66abef824f5·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
135 ····</span><span·class="nf">naive_but_ok_reverse</span><span·class="p"·data-group-id="3528757740-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3528757740-7">[</span><span·class="n">H</span><span·class="p"·data-group-id="3528757740-7">]</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·108,·SHA:·9b255cf016a93d30d4a06ab9228a2f77f4472ebc5e6edbf3ee50e0bb13402067·...·]-6">)</span><span·class="p">;</span><span·class="w">135 ····</span><span·class="nf">naive_but_ok_reverse</span><span·class="p"·data-group-id="2542687533-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2542687533-7">[</span><span·class="n">H</span><span·class="p"·data-group-id="2542687533-7">]</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·108,·SHA:·9c0b08eda2ce7ecf2903c967b53ec50154ba21c67b13e5a6f23f7824dbfdf190·...·]-6">)</span><span·class="p">;</span><span·class="w">
136 </span><span·class="nf">naive_but_ok_reverse</span><span·class="p"·data-group-id="3528757740-8">(</span><span·class="p"·data-group-id="3528757740-9">[</span><span·class="p"·data-group-id="3528757740-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="3528757740-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">136 </span><span·class="nf">naive_but_ok_reverse</span><span·class="p"·data-group-id="2542687533-8">(</span><span·class="p"·data-group-id="2542687533-9">[</span><span·class="p"·data-group-id="2542687533-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="2542687533-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
137 ····</span><span·class="n">Acc</span><span·class="p">.</span></code></pre><p>Each·list·element·is·copied·only·once.·The·growing·result·<code·class="inline">Acc</code>·is·the·right-hand137 ····</span><span·class="n">Acc</span><span·class="p">.</span></code></pre><p>Each·list·element·is·copied·only·once.·The·growing·result·<code·class="inline">Acc</code>·is·the·right-hand
138 side·operand,·which·it·is·<em>not</em>·copied.</p><p>Experienced·Erlang·programmers·would·probably·write·as·follows:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">vanilla_reverse</span><span·class="p"·data-group-id="8542665006-1">(</span><span·class="p"·data-group-id="8542665006-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="8542665006-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·71b39633711ddc6bd4c7fc033233090c8b62db2cfd45cd1d719e529b92626201·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">138 side·operand,·which·it·is·<em>not</em>·copied.</p><p>Experienced·Erlang·programmers·would·probably·write·as·follows:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">vanilla_reverse</span><span·class="p"·data-group-id="7149180370-1">(</span><span·class="p"·data-group-id="7149180370-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="7149180370-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·7ab39fb641ee7c26aabbb03f3e78634ee6bd2616992af0fb737cb5c1cc87087e·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
139 ····</span><span·class="nf">vanilla_reverse</span><span·class="p"·data-group-id="8542665006-3">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8542665006-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="8542[·...·truncated·by·diffoscope;·len:·59,·SHA:·0e39aabb9fdff05497bdf84f56f686b8a167ee3d0d1088651e0806bc137845d6·...·]-3">)</span><span·class="p">;</span><span·class="w">139 ····</span><span·class="nf">vanilla_reverse</span><span·class="p"·data-group-id="7149180370-3">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7149180370-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="7149[·...·truncated·by·diffoscope;·len:·59,·SHA:·a5947baba340ac9a0ce300b4d901dbb93ea5c942ce36af5f44de1f181d7e00ca·...·]-3">)</span><span·class="p">;</span><span·class="w">
140 </span><span·class="nf">vanilla_reverse</span><span·class="p"·data-group-id="8542665006-5">(</span><span·class="p"·data-group-id="8542665006-6">[</span><span·class="p"·data-group-id="8542665006-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="8542665006-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">140 </span><span·class="nf">vanilla_reverse</span><span·class="p"·data-group-id="7149180370-5">(</span><span·class="p"·data-group-id="7149180370-6">[</span><span·class="p"·data-group-id="7149180370-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="7149180370-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
141 ····</span><span·class="n">Acc</span><span·class="p">.</span></code></pre><p>In·principle,·this·is·slightly·more·efficient·because·the·list·element·<code·class="inline">[H]</code>141 ····</span><span·class="n">Acc</span><span·class="p">.</span></code></pre><p>In·principle,·this·is·slightly·more·efficient·because·the·list·element·<code·class="inline">[H]</code>
142 is·not·built·before·being·copied·and·discarded.·In·practice,·the·compiler142 is·not·built·before·being·copied·and·discarded.·In·practice,·the·compiler
143 rewrites·<code·class="inline">[H]·++·Acc</code>·to·<code·class="inline">[H|Acc]</code>.</p><h2·id="timer-module"·class="section-heading">143 rewrites·<code·class="inline">[H]·++·Acc</code>·to·<code·class="inline">[H|Acc]</code>.</p><h2·id="timer-module"·class="section-heading">
144 ··<a·href="#timer-module"·class="hover-link">144 ··<a·href="#timer-module"·class="hover-link">
145 ····<i·class="ri-link-m"·aria-hidden="true"></i>145 ····<i·class="ri-link-m"·aria-hidden="true"></i>
146 ··</a>146 ··</a>
147 ··<span·class="text">Timer·Module</span>147 ··<span·class="text">Timer·Module</span>
Offset 160, 77 lines modifiedOffset 160, 77 lines modified
160 therefore·harmless.</p><h2·id="accidental-copying-and-loss-of-sharing"·class="section-heading">160 therefore·harmless.</p><h2·id="accidental-copying-and-loss-of-sharing"·class="section-heading">
161 ··<a·href="#accidental-copying-and-loss-of-sharing"·class="hover-link">161 ··<a·href="#accidental-copying-and-loss-of-sharing"·class="hover-link">
162 ····<i·class="ri-link-m"·aria-hidden="true"></i>162 ····<i·class="ri-link-m"·aria-hidden="true"></i>
163 ··</a>163 ··</a>
164 ··<span·class="text">Accidental·Copying·and·Loss·of·Sharing</span>164 ··<span·class="text">Accidental·Copying·and·Loss·of·Sharing</span>
165 </h2>165 </h2>
166 <p>When·spawning·a·new·process·using·a·fun,·one·can·accidentally·copy·more·data·to166 <p>When·spawning·a·new·process·using·a·fun,·one·can·accidentally·copy·more·data·to
167 the·process·than·intended.·For·example:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">accidental1</span><span·class="p"·data-group-id="6268842290-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="6268842290-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">167 the·process·than·intended.·For·example:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">accidental1</span><span·class="p"·data-group-id="1846970624-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="1846970624-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
168 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="6268842290-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6268842290-3">(</span><span·class="p"·data-group-id="6268842290-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">168 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="1846970624-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="1846970624-3">(</span><span·class="p"·data-group-id="1846970624-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
169 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6268842290-4">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6268842290-5">[</span><span·class="n">State</span><span·class="o">#</[·...·truncated·by·diffoscope;·len:·180,·SHA:·5df5c04870d7deac274b24300bd8ab762f32c1c93e03bb01a6f5405eb953be5c·...·]-4">)</span><span·class="w">169 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1846970624-4">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1846970624-5">[</span><span·class="n">State</span><span·class="o">#</[·...·truncated·by·diffoscope;·len:·180,·SHA:·d233707cf3a887aad59f322b7cb90db328307691ac1f352e11b51f93f16a711e·...·]-4">)</span><span·class="w">
170 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="6268842290-2">)</span><span·class="p">.</span></code></pre><p>The·code·in·the·fun·will·extract·one·element·from·the·record·and·print·it.·The170 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="1846970624-2">)</span><span·class="p">.</span></code></pre><p>The·code·in·the·fun·will·extract·one·element·from·the·record·and·print·it.·The
171 rest·of·the·<code·class="inline">state</code>·record·is·not·used.·However,·when·the·<a·href="../../erts-16.0/doc/html/erlang.html#spawn/1"><code·class="inline">spawn/1</code></a>171 rest·of·the·<code·class="inline">state</code>·record·is·not·used.·However,·when·the·<a·href="../../erts-16.0/doc/html/erlang.html#spawn/1"><code·class="inline">spawn/1</code></a>
172 function·is·executed,·the·entire·record·is·copied·to·the·newly·created·process.</p><p>The·same·kind·of·problem·can·happen·with·a·map:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">accidental2</span><span·class="p"·data-group-id="2494271792-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="2494271792-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">172 function·is·executed,·the·entire·record·is·copied·to·the·newly·created·process.</p><p>The·same·kind·of·problem·can·happen·with·a·map:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">accidental2</span><span·class="p"·data-group-id="6082556940-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="6082556940-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
173 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="2494271792-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2494271792-3">(</span><span·class="p"·data-group-id="2494271792-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">173 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="6082556940-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6082556940-3">(</span><span·class="p"·data-group-id="6082556940-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2494271792-4">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2494271792-5">[</span><span·class="nf">map_get</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·288,·SHA:·b3506d58c9a5b1dd27ef83a46a1d3b8bc591770629dfd59748505277ed270438·...·]-4">)</span><span·class="w">174 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6082556940-4">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6082556940-5">[</span><span·class="nf">map_get</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·288,·SHA:·58fadd3484de0c43d21e58f86ca0a109b994ad6fe5240dc35ce4fa05f6ab5cd2·...·]-4">)</span><span·class="w">
175 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="2494271792-2">)</span><span·class="p">.</span></code></pre><p>In·the·following·example·(part·of·a·module·implementing·the·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>175 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="6082556940-2">)</span><span·class="p">.</span></code></pre><p>In·the·following·example·(part·of·a·module·implementing·the·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>
176 behavior)·the·created·fun·is·sent·to·another·process:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_call</span><span·class="p"·data-group-id="4104331654-1">(</span><span·class="ss">give_me_a_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·7d15ee85023a30677b396c0d157f2b8faf7b221aa56e78142aa89f77024c2eed·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 behavior)·the·created·fun·is·sent·to·another·process:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_call</span><span·class="p"·data-group-id="5270002889-1">(</span><span·class="ss">give_me_a_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·20e7d0a631fb264fcf8589aa95d54e99a9c4e9a900947608dad5e7c9e6f226b2·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ····</span><span·class="n">Fun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="4104331654-2">(</span><span·class="p"·data-group-id="4104331654-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="nb">size</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="mi">42</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">177 ····</span><span·class="n">Fun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="5270002889-2">(</span><span·class="p"·data-group-id="5270002889-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="nb">size</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="mi">42</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
178 ····</span><span·class="p"·data-group-id="4104331654-3">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="4104331654-3">}</span><span·class="p">.</span></code></pre><p>How·bad·that·unnecessary·copy·is·depends·on·the·contents·of·the·record·or·the178 ····</span><span·class="p"·data-group-id="5270002889-3">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="5270002889-3">}</span><span·class="p">.</span></code></pre><p>How·bad·that·unnecessary·copy·is·depends·on·the·contents·of·the·record·or·the
179 map.</p><p>For·example,·if·the·<code·class="inline">state</code>·record·is·initialized·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init1</span><span·class="p"·data-group-id="5044833767-1">(</span><span·class="p"·data-group-id="5044833767-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">179 map.</p><p>For·example,·if·the·<code·class="inline">state</code>·record·is·initialized·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init1</span><span·class="p"·data-group-id="2026661090-1">(</span><span·class="p"·data-group-id="2026661090-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
180 ····</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="5044833767-2">{</span><span·class="ss">data</span><span·class="o">=</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="5044833767-3">(</span><span·class="mi">1</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·147,·SHA:·23151020382ec1ef58b986b9b337f54970f8495256e31ad732f1d78ab32d66c3·...·]-2">}</span><span·class="p">.</span></code></pre><p>a·list·with·10000·elements·(or·about·20000·heap·words)·will·be·copied·to·the180 ····</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="2026661090-2">{</span><span·class="ss">data</span><span·class="o">=</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="2026661090-3">(</span><span·class="mi">1</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·147,·SHA:·4168ddd8506f73f247393ff9145e606086b93a1b39a1ee593c0d4220d60ea200·...·]-2">}</span><span·class="p">.</span></code></pre><p>a·list·with·10000·elements·(or·about·20000·heap·words)·will·be·copied·to·the
181 newly·created·process.</p><p>An·unnecessary·copy·of·10000·element·list·can·be·bad·enough,·but·it·can·get·even181 newly·created·process.</p><p>An·unnecessary·copy·of·10000·element·list·can·be·bad·enough,·but·it·can·get·even
182 worse·if·the·<code·class="inline">state</code>·record·contains·<em>shared·subterms</em>.·Here·is·a·simple·example182 worse·if·the·<code·class="inline">state</code>·record·contains·<em>shared·subterms</em>.·Here·is·a·simple·example
183 of·a·term·with·a·shared·subterm:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2282806555-1">{</span><span·class="n">SubTerm</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SubTerm</span><span·class="p"·data-group-id="2282806555-1">}</span></code></pre><p>When·a·term·is·copied·to·another·process,·sharing·of·subterms·will·be·lost·and183 of·a·term·with·a·shared·subterm:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8999932687-1">{</span><span·class="n">SubTerm</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SubTerm</span><span·class="p"·data-group-id="8999932687-1">}</span></code></pre><p>When·a·term·is·copied·to·another·process,·sharing·of·subterms·will·be·lost·and
184 the·copied·term·can·be·many·times·larger·than·the·original·term.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init2</span><span·class="p"·data-group-id="0423321404-1">(</span><span·class="p"·data-group-id="0423321404-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">184 the·copied·term·can·be·many·times·larger·than·the·original·term.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init2</span><span·class="p"·data-group-id="3006801968-1">(</span><span·class="p"·data-group-id="3006801968-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
185 ····</span><span·class="n">SharedSubTerms</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="0423321404-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0423321404-3">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p"·data-group-id="0423321404-3">)</span><span[·...·truncated·by·diffoscope;·len:·852,·SHA:·c3eb8b14bb0a0aa1a899957f33c43030ea2bedefa87e4a6bb8387d7d49a638a9·...·]-2">)</span><span·class="p">,</span><span·class="w">185 ····</span><span·class="n">SharedSubTerms</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="3006801968-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3006801968-3">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p"·data-group-id="3006801968-3">)</span><span[·...·truncated·by·diffoscope;·len:·852,·SHA:·84877f9e2045dae02c0158d7948b4227b5a91395ff9e0cd840b4d969c75fdeb9·...·]-2">)</span><span·class="p">,</span><span·class="w">
186 ····</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="0423321404-7">{</span><span·class="ss">data</span><span·class="o">=</span><span·class="n">Shared</span><span·class="p"·data-group-id="0423321404-7">}</span><span·class="p">.</span></code></pre><p>In·the·process·that·calls·<code·class="inline">init2/0</code>,·the·size·of·the·<code·class="inline">data</code>·field·in·the·<code·class="inline">state</code>186 ····</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="3006801968-7">{</span><span·class="ss">data</span><span·class="o">=</span><span·class="n">Shared</span><span·class="p"·data-group-id="3006801968-7">}</span><span·class="p">.</span></code></pre><p>In·the·process·that·calls·<code·class="inline">init2/0</code>,·the·size·of·the·<code·class="inline">data</code>·field·in·the·<code·class="inline">state</code>
187 record·will·be·32·heap·words.·When·the·record·is·copied·to·the·newly·created187 record·will·be·32·heap·words.·When·the·record·is·copied·to·the·newly·created
188 process,·sharing·will·be·lost·and·the·size·of·the·copied·<code·class="inline">data</code>·field·will·be188 process,·sharing·will·be·lost·and·the·size·of·the·copied·<code·class="inline">data</code>·field·will·be
189 131070·heap·words.·More·details·about189 131070·heap·words.·More·details·about
190 <a·href="eff_guide_processes.html#loss-of-sharing">loss·off·sharing</a>·are·found·in·a·later190 <a·href="eff_guide_processes.html#loss-of-sharing">loss·off·sharing</a>·are·found·in·a·later
191 section.</p><p>To·avoid·the·problem,·outside·of·the·fun·extract·only·the·fields·of·the·record191 section.</p><p>To·avoid·the·problem,·outside·of·the·fun·extract·only·the·fields·of·the·record
192 that·are·actually·used:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fixed_accidental1</span><span·class="p"·data-group-id="3627567738-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="3627567738-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">192 that·are·actually·used:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fixed_accidental1</span><span·class="p"·data-group-id="9240192489-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="9240192489-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">193 ····</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">
194 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="3627567738-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3627567738-3">(</span><span·class="p"·data-group-id="3627567738-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">194 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="9240192489-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9240192489-3">(</span><span·class="p"·data-group-id="9240192489-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
195 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3627567738-4">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3627567738-5">[</span><span·class="n">Info</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·78c9674304108991be18776172233a3ded9f022acaf94951f24e31235dd4239b·...·]-4">)</span><span·class="w">195 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9240192489-4">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9240192489-5">[</span><span·class="n">Info</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·acc7d365158e6b76679788459087a9191b16bfb4f4c1bd1910f9854fea1a16ea·...·]-4">)</span><span·class="w">
196 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="3627567738-2">)</span><span·class="p">.</span></code></pre><p>Similarly,·outside·of·the·fun·extract·only·the·map·elements·that·are·actually196 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="9240192489-2">)</span><span·class="p">.</span></code></pre><p>Similarly,·outside·of·the·fun·extract·only·the·map·elements·that·are·actually
197 used:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fixed_accidental2</span><span·class="p"·data-group-id="0516330293-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="0516330293-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">197 used:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fixed_accidental2</span><span·class="p"·data-group-id="4253005008-1">(</span><span·class="n">State</span><span·class="p"·data-group-id="4253005008-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
198 ····</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">map_get</span><span·class="p"·data-group-id="0516330293-2">(</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="0516330293-2">)</span><span·class="p">,</span><span·class="w">198 ····</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">map_get</span><span·class="p"·data-group-id="4253005008-2">(</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="4253005008-2">)</span><span·class="p">,</span><span·class="w">
199 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="0516330293-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0516330293-4">(</span><span·class="p"·data-group-id="0516330293-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">199 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="4253005008-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4253005008-4">(</span><span·class="p"·data-group-id="4253005008-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
200 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0516330293-5">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0516330293-6">[</span><span·class="n">Info</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·6cb076c69979de43814d32c5b1519ada45d32733c7ed2cb3200e966e6fda5395·...·]-5">)</span><span·class="w">200 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4253005008-5">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4253005008-6">[</span><span·class="n">Info</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·27a09e921c0ea9c44b0197bd762a5ddb71cb2313d1985467b7da55900085e54e·...·]-5">)</span><span·class="w">
201 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="0516330293-3">)</span><span·class="p">.</span></code></pre><h2·id="list_to_atom-1"·class="section-heading">201 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="4253005008-3">)</span><span·class="p">.</span></code></pre><h2·id="list_to_atom-1"·class="section-heading">
202 ··<a·href="#list_to_atom-1"·class="hover-link">202 ··<a·href="#list_to_atom-1"·class="hover-link">
203 ····<i·class="ri-link-m"·aria-hidden="true"></i>203 ····<i·class="ri-link-m"·aria-hidden="true"></i>
204 ··</a>204 ··</a>
205 ··<span·class="text">list_to_atom/1</span>205 ··<span·class="text">list_to_atom/1</span>
206 </h2>206 </h2>
207 <p>Atoms·are·not·garbage-collected.·Once·an·atom·is·created,·it·is·never·removed.207 <p>Atoms·are·not·garbage-collected.·Once·an·atom·is·created,·it·is·never·removed.
208 The·emulator·terminates·if·the·limit·for·the·number·of·atoms·(1,048,576·by208 The·emulator·terminates·if·the·limit·for·the·number·of·atoms·(1,048,576·by
209 default)·is·reached.</p><p>Therefore,·converting·arbitrary·input·strings·to·atoms·can·be·dangerous·in·a209 default)·is·reached.</p><p>Therefore,·converting·arbitrary·input·strings·to·atoms·can·be·dangerous·in·a
210 system·that·runs·continuously.·If·only·certain·well-defined·atoms·are·allowed·as210 system·that·runs·continuously.·If·only·certain·well-defined·atoms·are·allowed·as
211 input,·<a·href="../../erts-16.0/doc/html/erlang.html#list_to_existing_atom/1"><code·class="inline">list_to_existing_atom/1</code></a>·or211 input,·<a·href="../../erts-16.0/doc/html/erlang.html#list_to_existing_atom/1"><code·class="inline">list_to_existing_atom/1</code></a>·or
212 <a·href="../../erts-16.0/doc/html/erlang.html#binary_to_existing_atom/1"><code·class="inline">binary_to_existing_atom/1</code></a>·can·be·used212 <a·href="../../erts-16.0/doc/html/erlang.html#binary_to_existing_atom/1"><code·class="inline">binary_to_existing_atom/1</code></a>·can·be·used
213 to·guard·against·a·denial-of-service·attack.·(All·atoms·that·are·allowed·must213 to·guard·against·a·denial-of-service·attack.·(All·atoms·that·are·allowed·must
214 have·been·created·earlier,·for·example,·by·using·all·of·them·in·a·module214 have·been·created·earlier,·for·example,·by·using·all·of·them·in·a·module
215 and·loading·that·module.)</p><p>Using·<a·href="../../erts-16.0/doc/html/erlang.html#list_to_atom/1"><code·class="inline">list_to_atom/1</code></a>·to·construct·an·atom·that215 and·loading·that·module.)</p><p>Using·<a·href="../../erts-16.0/doc/html/erlang.html#list_to_atom/1"><code·class="inline">list_to_atom/1</code></a>·to·construct·an·atom·that
216 is·passed·to·<a·href="../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply/3</code></a>·is·quite·expensive.</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">apply</span><span·class="p"·data-group-id="6246440830-1">(</span><span·class="nf">list_to_atom</span><span·class="p"·data-group-id="6246440830-2">(</span><span·class="s">&quot;some_prefix&quot;</span><span·class="o">++</span><span·class="n">Var</span><span·class="p"·data-group-id="6246440830-2">)</[·...·truncated·by·diffoscope;·len:·196,·SHA:·78cb51095b36d2ad1233800729c8898ba4396de9cfc6b746c84dc9fedcea4f59·...·]-1">)</span></code></pre><h2·id="length-1"·class="section-heading">216 is·passed·to·<a·href="../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply/3</code></a>·is·quite·expensive.</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">apply</span><span·class="p"·data-group-id="8437451039-1">(</span><span·class="nf">list_to_atom</span><span·class="p"·data-group-id="8437451039-2">(</span><span·class="s">&quot;some_prefix&quot;</span><span·class="o">++</span><span·class="n">Var</span><span·class="p"·data-group-id="8437451039-2">)</[·...·truncated·by·diffoscope;·len:·196,·SHA:·2e502725c0ea8c9825e96a9a8747acde26bd9e58b4a4ebc3065809a0ca255085·...·]-1">)</span></code></pre><h2·id="length-1"·class="section-heading">
217 ··<a·href="#length-1"·class="hover-link">217 ··<a·href="#length-1"·class="hover-link">
218 ····<i·class="ri-link-m"·aria-hidden="true"></i>218 ····<i·class="ri-link-m"·aria-hidden="true"></i>
219 ··</a>219 ··</a>
220 ··<span·class="text">length/1</span>220 ··<span·class="text">length/1</span>
221 </h2>221 </h2>
222 <p>The·time·for·calculating·the·length·of·a·list·is·proportional·to·the·length·of222 <p>The·time·for·calculating·the·length·of·a·list·is·proportional·to·the·length·of
223 the·list,·as·opposed·to·<a·href="../../erts-16.0/doc/html/erlang.html#tuple_size/1"><code·class="inline">tuple_size/1</code></a>,223 the·list,·as·opposed·to·<a·href="../../erts-16.0/doc/html/erlang.html#tuple_size/1"><code·class="inline">tuple_size/1</code></a>,
224 <a·href="../../erts-16.0/doc/html/erlang.html#byte_size/1"><code·class="inline">byte_size/1</code></a>,·and·<a·href="../../erts-16.0/doc/html/erlang.html#bit_size/1"><code·class="inline">bit_size/1</code></a>,·which·all224 <a·href="../../erts-16.0/doc/html/erlang.html#byte_size/1"><code·class="inline">byte_size/1</code></a>,·and·<a·href="../../erts-16.0/doc/html/erlang.html#bit_size/1"><code·class="inline">bit_size/1</code></a>,·which·all
225 execute·in·constant·time.</p><p>Normally,·there·is·no·need·to·worry·about·the·speed·of·<a·href="../../erts-16.0/doc/html/erlang.html#length/1"><code·class="inline">length/1</code></a>,225 execute·in·constant·time.</p><p>Normally,·there·is·no·need·to·worry·about·the·speed·of·<a·href="../../erts-16.0/doc/html/erlang.html#length/1"><code·class="inline">length/1</code></a>,
226 because·it·is·efficiently·implemented·in·C.·In·time-critical·code,·you·might226 because·it·is·efficiently·implemented·in·C.·In·time-critical·code,·you·might
227 want·to·avoid·it·if·the·input·list·could·potentially·be·very·long.</p><p>Some·uses·of·<a·href="../../erts-16.0/doc/html/erlang.html#length/1"><code·class="inline">length/1</code></a>·can·be·replaced·by·matching.·For·example,227 want·to·avoid·it·if·the·input·list·could·potentially·be·very·long.</p><p>Some·uses·of·<a·href="../../erts-16.0/doc/html/erlang.html#length/1"><code·class="inline">length/1</code></a>·can·be·replaced·by·matching.·For·example,
228 the·following·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="6542107383-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="6542107383-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">length</span><span·class="p"·data-group-id="6542107383-2">(</span><span·class="n">L</span><span·class="p"·data-group-id="6542107383-2">)</span><span·class="w">·</span><span·class="o">&gt;=</span><span·class="w">·</span><span·class="mi">3</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
229 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>can·be·rewritten·to:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="8962839448-1">(</span><span[·...·truncated·by·diffoscope;·len:·363,·SHA:·29c187906a23b57b115baf39ec50051a723447100c1521b8b3875c65c62c2713·...·]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">228 the·following·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="9682480640-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="9682480640-1">)</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·301,·SHA:·41860c4ca75b3a392939c26693de68a497a8c1752f7d7b02d6ee1cd934e81113·...·]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
 229 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>can·be·rewritten·to:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="1558554360-1">(</span><span·class="p"·data-group-id="1558554360-2">[</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class="p">|</span><span·class="p">_</span><span·class="p"·data-group-id="1558554360-2">]</span><span·class="o">=</span><span·class="n">L</span><span·class="p"·data-group-id="1558554360-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
230 ···</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>One·slight·difference·is·that·<a·href="../../erts-16.0/doc/html/erlang.html#length/1"><code·class="inline">length(L)</code></a>·fails·if·<code·class="inline">L</code>·is·an230 ···</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>One·slight·difference·is·that·<a·href="../../erts-16.0/doc/html/erlang.html#length/1"><code·class="inline">length(L)</code></a>·fails·if·<code·class="inline">L</code>·is·an
231 improper·list,·while·the·pattern·in·the·second·code·fragment·accepts·an·improper231 improper·list,·while·the·pattern·in·the·second·code·fragment·accepts·an·improper
232 list.</p><h2·id="setelement-3"·class="section-heading">232 list.</p><h2·id="setelement-3"·class="section-heading">
233 ··<a·href="#setelement-3"·class="hover-link">233 ··<a·href="#setelement-3"·class="hover-link">
234 ····<i·class="ri-link-m"·aria-hidden="true"></i>234 ····<i·class="ri-link-m"·aria-hidden="true"></i>
235 ··</a>235 ··</a>
236 ··<span·class="text">setelement/3</span>236 ··<span·class="text">setelement/3</span>
Offset 238, 18 lines modifiedOffset 238, 18 lines modified
238 <p><a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·copies·the·tuple·it·modifies.·Therefore,238 <p><a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·copies·the·tuple·it·modifies.·Therefore,
239 updating·a·tuple·in·a·loop·using·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·creates·a·new239 updating·a·tuple·in·a·loop·using·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·creates·a·new
240 copy·of·the·tuple·every·time.</p><p>There·is·one·exception·to·the·rule·that·the·tuple·is·copied.·If·the·compiler240 copy·of·the·tuple·every·time.</p><p>There·is·one·exception·to·the·rule·that·the·tuple·is·copied.·If·the·compiler
241 clearly·can·see·that·destructively·updating·the·tuple·would·give·the·same·result241 clearly·can·see·that·destructively·updating·the·tuple·would·give·the·same·result
242 as·if·the·tuple·was·copied,·the·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·is242 as·if·the·tuple·was·copied,·the·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·is
243 replaced·with·a·special·destructive·<code·class="inline">setelement</code>·instruction.·In·the·following243 replaced·with·a·special·destructive·<code·class="inline">setelement</code>·instruction.·In·the·following
244 code·sequence,·the·first·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·call·copies·the·tuple244 code·sequence,·the·first·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·call·copies·the·tuple
245 and·modifies·the·ninth·element:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">multiple_setelement</span><span·class="p"·data-group-id="5786714391-1">(</span><span·class="n">T0</span><span·class="p"·data-group-id="5786714391-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="5786714391-2">(<[·...·truncated·by·diffoscope;·len:·72,·SHA:·25ed963e970e8f6950b91f995dc1ce3b91e00dd7ba20e9ecfddbe5e53503e452·...·]-2">)</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="mi">9</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">245 and·modifies·the·ninth·element:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">multiple_setelement</span><span·class="p"·data-group-id="7302742943-1">(</span><span·class="n">T0</span><span·class="p"·data-group-id="7302742943-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="7302742943-2">(<[·...·truncated·by·diffoscope;·len:·72,·SHA:·153fed058802190e10cc2041c1250ab33e49655c129433d8cdb475ae3c100a61·...·]-2">)</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="mi">9</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
246 ····</span><span·class="n">T1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">setelement</span><span·class="p"·data-group-id="5786714391-3">(</span><span·class="mi">9</span><span·class="p">,</span><span·class="w">·</span><span·class="n">T0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p"·data-group-id="5786714391-3">)</span><span·class="p">,</span><span·class="w">246 ····</span><span·class="n">T1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">setelement</span><span·class="p"·data-group-id="7302742943-3">(</span><span·class="mi">9</span><span·class="p">,</span><span·class="w">·</span><span·class="n">T0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p"·data-group-id="7302742943-3">)</span><span·class="p">,</span><span·class="w">
247 ····</span><span·class="n">T2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">setelement</span><span·class="p"·data-group-id="5786714391-4">(</span><span·class="mi">7</span><span·class="p">,</span><span·class="w">·</span><span·class="n">T1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foobar</span><span·class="p"·data-group-id="5786714391-4">)</span><span·class="p">,</span><span·class="w">247 ····</span><span·class="n">T2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">setelement</span><span·class="p"·data-group-id="7302742943-4">(</span><span·class="mi">7</span><span·class="p">,</span><span·class="w">·</span><span·class="n">T1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foobar</span><span·class="p"·data-group-id="7302742943-4">)</span><span·class="p">,</span><span·class="w">
248 ····</span><span·class="nf">setelement</span><span·class="p"·data-group-id="5786714391-5">(</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="n">T2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">new_value</span><span·class="p"·data-group-id="5786714391-5">)</span><span·class="p">.</span></code></pre><p>The·two·following·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·calls·modify·the·tuple·in248 ····</span><span·class="nf">setelement</span><span·class="p"·data-group-id="7302742943-5">(</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="n">T2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">new_value</span><span·class="p"·data-group-id="7302742943-5">)</span><span·class="p">.</span></code></pre><p>The·two·following·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·calls·modify·the·tuple·in
249 place.</p><p>For·the·optimization·to·be·applied,·<em>all</em>·the·following·conditions·must·be·true:</p><ul><li>The·tuple·argument·must·be·known·to·be·a·tuple·of·a·known·size.</li><li>The·indices·must·be·integer·literals,·not·variables·or·expressions.</li><li>The·indices·must·be·given·in·descending·order.</li><li>There·must·be·no·calls·to·another·function·in·between·the·calls·to249 place.</p><p>For·the·optimization·to·be·applied,·<em>all</em>·the·following·conditions·must·be·true:</p><ul><li>The·tuple·argument·must·be·known·to·be·a·tuple·of·a·known·size.</li><li>The·indices·must·be·integer·literals,·not·variables·or·expressions.</li><li>The·indices·must·be·given·in·descending·order.</li><li>There·must·be·no·calls·to·another·function·in·between·the·calls·to
250 <a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>.</li><li>The·tuple·returned·from·one·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·call·must·only·be250 <a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>.</li><li>The·tuple·returned·from·one·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>·call·must·only·be
251 used·in·the·subsequent·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>.</li></ul><p>If·the·code·cannot·be·structured·as·in·the·<code·class="inline">multiple_setelement/1</code>·example,·the251 used·in·the·subsequent·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#setelement/3"><code·class="inline">setelement/3</code></a>.</li></ul><p>If·the·code·cannot·be·structured·as·in·the·<code·class="inline">multiple_setelement/1</code>·example,·the
252 best·way·to·modify·multiple·elements·in·a·large·tuple·is·to·convert·the·tuple·to252 best·way·to·modify·multiple·elements·in·a·large·tuple·is·to·convert·the·tuple·to
253 a·list,·modify·the·list,·and·convert·it·back·to·a·tuple.</p><h2·id="size-1"·class="section-heading">253 a·list,·modify·the·list,·and·convert·it·back·to·a·tuple.</p><h2·id="size-1"·class="section-heading">
Max diff block lines reached; 749/53237 bytes (1.41%) of diff not shown.
848 B
html2text {}
Max HTML report size reached
210 KB
./usr/share/doc/erlang-doc/html/doc/system/conc_prog.html
Max HTML report size reached
186 KB
./usr/share/doc/erlang-doc/html/doc/system/create_target.html
Max HTML report size reached
78.4 KB
./usr/share/doc/erlang-doc/html/doc/system/data_types.html
    
Offset 199, 18 lines modifiedOffset 199, 18 lines modified
199 ··</a>199 ··</a>
200 ··<span·class="text">Representation·of·Floating·Point·Numbers</span>200 ··<span·class="text">Representation·of·Floating·Point·Numbers</span>
201 </h3>201 </h3>
202 <p>When·working·with·floats·you·may·not·see·what·you·expect·when·printing·or·doing202 <p>When·working·with·floats·you·may·not·see·what·you·expect·when·printing·or·doing
203 arithmetic·operations.·This·is·because·floats·are·represented·by·a·fixed·number203 arithmetic·operations.·This·is·because·floats·are·represented·by·a·fixed·number
204 of·bits·in·a·base-2·system·while·printed·floats·are·represented·with·a·base-10204 of·bits·in·a·base-2·system·while·printed·floats·are·represented·with·a·base-10
205 system.·Erlang·uses·64-bit·floats.·Here·are·examples·of·this·phenomenon:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="mf">0.1</span><span·class="o">+</span><span·class="mf">0.2</span><span·class="p">.</span><span·class="w">205 system.·Erlang·uses·64-bit·floats.·Here·are·examples·of·this·phenomenon:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="mf">0.1</span><span·class="o">+</span><span·class="mf">0.2</span><span·class="p">.</span><span·class="w">
206 </span><span·class="mf">0.30000000000000004</span></code></pre><p>The·real·numbers·<code·class="inline">0.1</code>·and·<code·class="inline">0.2</code>·cannot·be·represented·exactly·as·floats.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="0646755534-1">{</span><span·class="mf">36028797018963968.0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">36028797018963968</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="mf">36028797018963968.0</span><span·class="p">,</span><span·class="w">206 </span><span·class="mf">0.30000000000000004</span></code></pre><p>The·real·numbers·<code·class="inline">0.1</code>·and·<code·class="inline">0.2</code>·cannot·be·represented·exactly·as·floats.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="5743491745-1">{</span><span·class="mf">36028797018963968.0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">36028797018963968</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="mf">36028797018963968.0</span><span·class="p">,</span><span·class="w">
207 ··</span><span·class="mf">36028797018963970.0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">36028797018963970</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="mf">36028797018963970.0</span><span·class="p"·data-group-id="0646755534-1">}</span><span·class="p">.</span><span·class="w">207 ··</span><span·class="mf">36028797018963970.0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">36028797018963970</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="mf">36028797018963970.0</span><span·class="p"·data-group-id="5743491745-1">}</span><span·class="p">.</span><span·class="w">
208 </span><span·class="p"·data-group-id="0646755534-2">{</span><span·class="mf">3.602879701896397e16</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">208 </span><span·class="p"·data-group-id="5743491745-2">{</span><span·class="mf">3.602879701896397e16</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">
209 ·</span><span·class="mf">3.602879701896397e16</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="0646755534-2">}</span><span·class="p">.</span></code></pre><p>The·value·<code·class="inline">36028797018963968</code>·can·be·represented·exactly·as·a·float·value·but209 ·</span><span·class="mf">3.602879701896397e16</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="5743491745-2">}</span><span·class="p">.</span></code></pre><p>The·value·<code·class="inline">36028797018963968</code>·can·be·represented·exactly·as·a·float·value·but
210 Erlang's·pretty·printer·rounds·<code·class="inline">36028797018963968.0</code>·to·<code·class="inline">3.602879701896397e16</code>210 Erlang's·pretty·printer·rounds·<code·class="inline">36028797018963968.0</code>·to·<code·class="inline">3.602879701896397e16</code>
211 (<code·class="inline">=36028797018963970.0</code>)·as·all·values·in·the·range211 (<code·class="inline">=36028797018963970.0</code>)·as·all·values·in·the·range
212 <code·class="inline">[36028797018963966.0,·36028797018963972.0]</code>·are·represented·by212 <code·class="inline">[36028797018963966.0,·36028797018963972.0]</code>·are·represented·by
213 <code·class="inline">36028797018963968.0</code>.</p><p>For·more·information·about·floats·and·issues·with·them·see:</p><ul><li><a·href="https://floating-point-gui.de/">What·Every·Programmer·Should·Know·About·Floating-Point·Arithmetic</a></li><li><a·href="https://0.30000000000000004.com/">0.30000000000000004.com/</a></li><li><a·href="https://docs.python.org/3/tutorial/floatingpoint.html">Floating·Point·Arithmetic:·Issues·and·Limitations</a></li></ul><p>If·you·need·to·work·with·exact·decimal·fractions,·for·instance·to·represent213 <code·class="inline">36028797018963968.0</code>.</p><p>For·more·information·about·floats·and·issues·with·them·see:</p><ul><li><a·href="https://floating-point-gui.de/">What·Every·Programmer·Should·Know·About·Floating-Point·Arithmetic</a></li><li><a·href="https://0.30000000000000004.com/">0.30000000000000004.com/</a></li><li><a·href="https://docs.python.org/3/tutorial/floatingpoint.html">Floating·Point·Arithmetic:·Issues·and·Limitations</a></li></ul><p>If·you·need·to·work·with·exact·decimal·fractions,·for·instance·to·represent
214 money,·it·is·recommended·to·use·a·library·that·handles·that,·or·work·in214 money,·it·is·recommended·to·use·a·library·that·handles·that,·or·work·in
215 cents·instead·of·dollars·or·euros·so·that·decimal·fractions·are·not·needed.</p><p>Also·note·that·Erlang's·floats·do·not·exactly·match·IEEE·754·floats,215 cents·instead·of·dollars·or·euros·so·that·decimal·fractions·are·not·needed.</p><p>Also·note·that·Erlang's·floats·do·not·exactly·match·IEEE·754·floats,
216 in·that·neither·<em>Inf</em>·nor·<em>NaN</em>·are·supported·in·Erlang.·Any216 in·that·neither·<em>Inf</em>·nor·<em>NaN</em>·are·supported·in·Erlang.·Any
Offset 244, 52 lines modifiedOffset 244, 52 lines modified
244 by·eight·are·called·<em>binaries</em>.</p><p><em>Examples:</em></p><pre><code·class="text">1&gt;·&lt;&lt;10,20&gt;&gt;.244 by·eight·are·called·<em>binaries</em>.</p><p><em>Examples:</em></p><pre><code·class="text">1&gt;·&lt;&lt;10,20&gt;&gt;.
245 &lt;&lt;10,20&gt;&gt;245 &lt;&lt;10,20&gt;&gt;
246 2&gt;·&lt;&lt;&quot;ABC&quot;&gt;&gt;.246 2&gt;·&lt;&lt;&quot;ABC&quot;&gt;&gt;.
247 &lt;&lt;&quot;ABC&quot;&gt;&gt;247 &lt;&lt;&quot;ABC&quot;&gt;&gt;
248 3&gt;·&lt;&lt;1:1,0:1&gt;&gt;.248 3&gt;·&lt;&lt;1:1,0:1&gt;&gt;.
249 &lt;&lt;2:2&gt;&gt;</code></pre><p>The·<a·href="../../erts-16.0/doc/html/erlang.html#is_bitstring/1"><code·class="inline">is_bitstring/1</code></a>·BIF·tests·whether·a249 &lt;&lt;2:2&gt;&gt;</code></pre><p>The·<a·href="../../erts-16.0/doc/html/erlang.html#is_bitstring/1"><code·class="inline">is_bitstring/1</code></a>·BIF·tests·whether·a
250 term·is·a·bit·string,·and·the·<a·href="../../erts-16.0/doc/html/erlang.html#is_binary/1"><code·class="inline">is_binary/1</code></a>250 term·is·a·bit·string,·and·the·<a·href="../../erts-16.0/doc/html/erlang.html#is_binary/1"><code·class="inline">is_binary/1</code></a>
251 BIF·tests·whether·a·term·is·a·binary.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">is_bitstring</span><span·class="p"·data-group-id="2157321912-1">(</span><span·class="p"·data-group-id="2157321912-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">1</span><span·class="p"·data-group-id="2157321912-2">&gt;&gt;</span><span·class="p"·data-group-id="215732191[·...·truncated·by·diffoscope;·len:·1,·SHA:·d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35·...·]-1">)</span><span·class="p">.</span><span·class="w">251 BIF·tests·whether·a·term·is·a·binary.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">is_bitstring</span><span·class="p"·data-group-id="7359305753-1">(</span><span·class="p"·data-group-id="7359305753-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">1</span><span·class="p"·data-group-id="7359305753-2">&gt;&gt;</span><span·class="p"·data-group-id="735930575[·...·truncated·by·diffoscope;·len:·1,·SHA:·4e07408562bedb8b60ce05c1decfe3ad16b72230967de01f640b7e4729b49fce·...·]-1">)</span><span·class="p">.</span><span·class="w">
252 </span><span·class="ss">true</span><span·class="gp·unselectable">252 </span><span·class="ss">true</span><span·class="gp·unselectable">
253 2&gt;·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="2157321912-3">(</span><span·class="p"·data-group-id="2157321912-4">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">1</span><span·class="p"·data-group-id="2157321912-4">&gt;&gt;</span><span·class="p"·data-group-id="215732191[·...·truncated·by·diffoscope;·len:·1,·SHA:·d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35·...·]-3">)</span><span·class="p">.</span><span·class="w">253 2&gt;·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="7359305753-3">(</span><span·class="p"·data-group-id="7359305753-4">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">1</span><span·class="p"·data-group-id="7359305753-4">&gt;&gt;</span><span·class="p"·data-group-id="735930575[·...·truncated·by·diffoscope;·len:·1,·SHA:·4e07408562bedb8b60ce05c1decfe3ad16b72230967de01f640b7e4729b49fce·...·]-3">)</span><span·class="p">.</span><span·class="w">
254 </span><span·class="ss">false</span><span·class="gp·unselectable">254 </span><span·class="ss">false</span><span·class="gp·unselectable">
255 3&gt;·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="2157321912-5">(</span><span·class="p"·data-group-id="2157321912-6">&lt;&lt;</span><span·class="mi">42</span><span·class="p"·data-group-id="2157321912-6">&gt;&gt;</span><span·class="p"·data-group-id="2157321912-5">)</span><span·class="p">.</span><span·class="w">255 3&gt;·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="7359305753-5">(</span><span·class="p"·data-group-id="7359305753-6">&lt;&lt;</span><span·class="mi">42</span><span·class="p"·data-group-id="7359305753-6">&gt;&gt;</span><span·class="p"·data-group-id="7359305753-5">)</span><span·class="p">.</span><span·class="w">
256 </span><span·class="ss">true</span><span·class="w">256 </span><span·class="ss">true</span><span·class="w">
257 </span></code></pre><p>For·more·examples,·see·<a·href="../../doc/system/bit_syntax.html">Programming·Examples</a>.</p><h2·id="reference"·class="section-heading">257 </span></code></pre><p>For·more·examples,·see·<a·href="../../doc/system/bit_syntax.html">Programming·Examples</a>.</p><h2·id="reference"·class="section-heading">
258 ··<a·href="#reference"·class="hover-link">258 ··<a·href="#reference"·class="hover-link">
259 ····<i·class="ri-link-m"·aria-hidden="true"></i>259 ····<i·class="ri-link-m"·aria-hidden="true"></i>
260 ··</a>260 ··</a>
261 ··<span·class="text">Reference</span>261 ··<span·class="text">Reference</span>
262 </h2>262 </h2>
263 <p>A·term·that·is·<a·href="../../doc/system/system_limits.html#unique_references">unique</a>263 <p>A·term·that·is·<a·href="../../doc/system/system_limits.html#unique_references">unique</a>
264 among·connected·nodes.·A·reference·is·created·by·calling·the264 among·connected·nodes.·A·reference·is·created·by·calling·the
265 <a·href="../../erts-16.0/doc/html/erlang.html#make_ref/0"><code·class="inline">make_ref/0</code></a>·BIF.·The265 <a·href="../../erts-16.0/doc/html/erlang.html#make_ref/0"><code·class="inline">make_ref/0</code></a>·BIF.·The
266 <a·href="../../erts-16.0/doc/html/erlang.html#is_reference/1"><code·class="inline">is_reference/1</code></a>·BIF·tests·whether·a·term266 <a·href="../../erts-16.0/doc/html/erlang.html#is_reference/1"><code·class="inline">is_reference/1</code></a>·BIF·tests·whether·a·term
267 is·a·reference.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·data-group-id="2856626511-1">(</span><span·class="p"·data-group-id="2856626511-1">)</span><span·class="p">.</span><span·class="w">267 is·a·reference.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·data-group-id="9387298084-1">(</span><span·class="p"·data-group-id="9387298084-1">)</span><span·class="p">.</span><span·class="w">
268 </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.76482849</span><span·class="p">.</span><span·class="mf">3801088007.198204</span><span·class="o">&gt;</span><span·class="gp·unselectable">268 </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.76482849</span><span·class="p">.</span><span·class="mf">3801088007.198204</span><span·class="o">&gt;</span><span·class="gp·unselectable">
269 2&gt;·</span><span·class="nf">is_reference</span><span·class="p"·data-group-id="2856626511-2">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="2856626511-2">)</span><span·class="p">.</span><span·class="w">269 2&gt;·</span><span·class="nf">is_reference</span><span·class="p"·data-group-id="9387298084-2">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="9387298084-2">)</span><span·class="p">.</span><span·class="w">
270 </span><span·class="ss">true</span></code></pre><h2·id="fun"·class="section-heading">270 </span><span·class="ss">true</span></code></pre><h2·id="fun"·class="section-heading">
271 ··<a·href="#fun"·class="hover-link">271 ··<a·href="#fun"·class="hover-link">
272 ····<i·class="ri-link-m"·aria-hidden="true"></i>272 ····<i·class="ri-link-m"·aria-hidden="true"></i>
273 ··</a>273 ··</a>
274 ··<span·class="text">Fun</span>274 ··<span·class="text">Fun</span>
275 </h2>275 </h2>
276 <p>A·fun·is·a·functional·object.·Funs·make·it·possible·to·create·an·anonymous276 <p>A·fun·is·a·functional·object.·Funs·make·it·possible·to·create·an·anonymous
277 function·and·pass·the·function·itself··not·its·name··as·argument·to·other277 function·and·pass·the·function·itself··not·its·name··as·argument·to·other
278 functions.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Fun1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="8211909752-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="8211909752-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="o">+</span><span·class="mi">1</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">278 functions.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Fun1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6054059451-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="6054059451-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="o">+</span><span·class="mi">1</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
279 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="p">.</span><span·class="mf">6.39074546</span><span·class="o">&gt;</span><span·class="gp·unselectable">279 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="p">.</span><span·class="mf">6.39074546</span><span·class="o">&gt;</span><span·class="gp·unselectable">
280 2&gt;·</span><span·class="n">Fun1</span><span·class="p"·data-group-id="8211909752-2">(</span><span·class="mi">2</span><span·class="p"·data-group-id="8211909752-2">)</span><span·class="p">.</span><span·class="w">280 2&gt;·</span><span·class="n">Fun1</span><span·class="p"·data-group-id="6054059451-2">(</span><span·class="mi">2</span><span·class="p"·data-group-id="6054059451-2">)</span><span·class="p">.</span><span·class="w">
281 </span><span·class="mi">3</span></code></pre><p>The·<a·href="../../erts-16.0/doc/html/erlang.html#is_function/1"><code·class="inline">is_function/1</code></a>·and·<a·href="../../erts-16.0/doc/html/erlang.html#is_function/2"><code·class="inline">is_function/2</code></a>281 </span><span·class="mi">3</span></code></pre><p>The·<a·href="../../erts-16.0/doc/html/erlang.html#is_function/1"><code·class="inline">is_function/1</code></a>·and·<a·href="../../erts-16.0/doc/html/erlang.html#is_function/2"><code·class="inline">is_function/2</code></a>
282 BIFs·tests·whether·a·term·is·a·fun.</p><p><em>Examples</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="7828566546-1">(</span><span·class="p"·data-group-id="7828566546-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">282 BIFs·tests·whether·a·term·is·a·fun.</p><p><em>Examples</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="5524404033-1">(</span><span·class="p"·data-group-id="5524404033-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
283 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="p">.</span><span·class="mf">43.105768164</span><span·class="o">&gt;</span><span·class="gp·unselectable">283 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="p">.</span><span·class="mf">43.105768164</span><span·class="o">&gt;</span><span·class="gp·unselectable">
284 2&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="7828566546-2">(</span><span·class="n">F</span><span·class="p"·data-group-id="7828566546-2">)</span><span·class="p">.</span><span·class="w">284 2&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="5524404033-2">(</span><span·class="n">F</span><span·class="p"·data-group-id="5524404033-2">)</span><span·class="p">.</span><span·class="w">
285 </span><span·class="ss">true</span><span·class="gp·unselectable">285 </span><span·class="ss">true</span><span·class="gp·unselectable">
286 3&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="7828566546-3">(</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="7828566546-3">)</span><span·class="p">.</span><span·class="w">286 3&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="5524404033-3">(</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="5524404033-3">)</span><span·class="p">.</span><span·class="w">
287 </span><span·class="ss">true</span><span·class="gp·unselectable">287 </span><span·class="ss">true</span><span·class="gp·unselectable">
288 4&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="7828566546-4">(</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="7828566546-4">)</span><span·class="p">.</span><span·class="w">288 4&gt;·</span><span·class="nf">is_function</span><span·class="p"·data-group-id="5524404033-4">(</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5524404033-4">)</span><span·class="p">.</span><span·class="w">
289 </span><span·class="ss">false</span></code></pre><p>Read·more·about·funs·in·<a·href="expressions.html#fun-expressions">Fun·Expressions</a>.·For·more289 </span><span·class="ss">false</span></code></pre><p>Read·more·about·funs·in·<a·href="expressions.html#fun-expressions">Fun·Expressions</a>.·For·more
290 examples,·see·<a·href="../../doc/system/funs.html">Programming·Examples</a>.</p><h2·id="port-identifier"·class="section-heading">290 examples,·see·<a·href="../../doc/system/funs.html">Programming·Examples</a>.</p><h2·id="port-identifier"·class="section-heading">
291 ··<a·href="#port-identifier"·class="hover-link">291 ··<a·href="#port-identifier"·class="hover-link">
292 ····<i·class="ri-link-m"·aria-hidden="true"></i>292 ····<i·class="ri-link-m"·aria-hidden="true"></i>
293 ··</a>293 ··</a>
294 ··<span·class="text">Port·Identifier</span>294 ··<span·class="text">Port·Identifier</span>
295 </h2>295 </h2>
Offset 307, 94 lines modifiedOffset 307, 94 lines modified
307 for·a·new·process·after·a·while.</p><p>The·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·returns·the·Pid·of·the·calling·process.·When307 for·a·new·process·after·a·while.</p><p>The·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·returns·the·Pid·of·the·calling·process.·When
308 <a·href="ref_man_processes.html#process-creation">creating·a·new·process</a>,·the·parent308 <a·href="ref_man_processes.html#process-creation">creating·a·new·process</a>,·the·parent
309 process·will·be·able·to·get·the·Pid·of·the·child·process·either·via·the·return309 process·will·be·able·to·get·the·Pid·of·the·child·process·either·via·the·return
310 value,·as·is·the·case·when·calling·the·<a·href="../../erts-16.0/doc/html/erlang.html#spawn/3"><code·class="inline">spawn/3</code></a>·BIF,·or·via310 value,·as·is·the·case·when·calling·the·<a·href="../../erts-16.0/doc/html/erlang.html#spawn/3"><code·class="inline">spawn/3</code></a>·BIF,·or·via
311 a·message,·which·is·the·case·when·calling·the311 a·message,·which·is·the·case·when·calling·the
312 <a·href="../../erts-16.0/doc/html/erlang.html#spawn_request/5"><code·class="inline">spawn_request/5</code></a>·BIF.·A·Pid·is·typically·used·when312 <a·href="../../erts-16.0/doc/html/erlang.html#spawn_request/5"><code·class="inline">spawn_request/5</code></a>·BIF.·A·Pid·is·typically·used·when
313 when·sending·a·process·a·<a·href="ref_man_processes.html#signals">signal</a>.·The313 when·sending·a·process·a·<a·href="ref_man_processes.html#signals">signal</a>.·The
314 <a·href="../../erts-16.0/doc/html/erlang.html#is_pid/1"><code·class="inline">is_pid/1</code></a>·BIF·tests·whether·a·term·is·a·Pid.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7212503453-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="7212503453-1">)</span><span·class="p">.</span><span·class="w">314 <a·href="../../erts-16.0/doc/html/erlang.html#is_pid/1"><code·class="inline">is_pid/1</code></a>·BIF·tests·whether·a·term·is·a·Pid.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1988473528-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="1988473528-1">)</span><span·class="p">.</span><span·class="w">
315 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7212503453-2">(</span><span·class="p"·data-group-id="7212503453-3">[</span><span·class="ss">loop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7212503453-3">]</span><span·class="p"·data-group-id="7212503453-2">)</span><span·class="p">.</span><span·class="w">315 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1988473528-2">(</span><span·class="p"·data-group-id="1988473528-3">[</span><span·class="ss">loop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1988473528-3">]</span><span·class="p"·data-group-id="1988473528-2">)</span><span·class="p">.</span><span·class="w">
  
316 </span><span·class="nf">loop</span><span·class="p"·data-group-id="7212503453-4">(</span><span·class="p"·data-group-id="7212503453-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">316 </span><span·class="nf">loop</span><span·class="p"·data-group-id="1988473528-4">(</span><span·class="p"·data-group-id="1988473528-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
317 ····</span><span·class="k">receive</span><span·class="w">317 ····</span><span·class="k">receive</span><span·class="w">
318 ········</span><span·class="ss">who_are_you</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">318 ········</span><span·class="ss">who_are_you</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
319 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="7212503453-5">(</span><span·class="s">&quot;I·am·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7212503453-6">[</span><span·class="nf">s[·...·truncated·by·diffoscope;·len:·210,·SHA:·d5e8b16a958b50388d3390bab677b93310fe7bf8719b6dc2dfb7d036453f7b6d·...·]-5">)</span><span·class="p">,</span><span·class="w">319 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1988473528-5">(</span><span·class="s">&quot;I·am·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1988473528-6">[</span><span·class="nf">s[·...·truncated·by·diffoscope;·len:·210,·SHA:·f357c98de55d768add582e837b2ee78fff1f6513a064e69edb2aae869813909c·...·]-5">)</span><span·class="p">,</span><span·class="w">
320 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="7212503453-8">(</span><span·class="p"·data-group-id="7212503453-8">)</span><span·class="w">320 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="1988473528-8">(</span><span·class="p"·data-group-id="1988473528-8">)</span><span·class="w">
321 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">321 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
322 </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7212503453-9">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">loop</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7212503453-10">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·64,·SHA:·bd84fab934e79d901a0fcbc47f246f96bf24f06c2720c62e975eff822739298a·...·]-9">)</span><span·class="p">.</span><span·class="w">322 </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="1988473528-9">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">loop</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1988473528-10">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·64,·SHA:·99d08646a8c70e4d25ab0090c78ef5f49c20353d6c6ac65cafd1e03e9ab2399d·...·]-9">)</span><span·class="p">.</span><span·class="w">
323 </span><span·class="o">&lt;</span><span·class="mf">0.58</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">323 </span><span·class="o">&lt;</span><span·class="mf">0.58</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">
324 2&gt;·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">who_are_you</span><span·class="p">.</span><span·class="w">324 2&gt;·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">who_are_you</span><span·class="p">.</span><span·class="w">
325 </span><span·class="n">I</span><span·class="w">·</span><span·class="ss">am</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.58</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">325 </span><span·class="n">I</span><span·class="w">·</span><span·class="ss">am</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.58</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">
326 </span><span·class="ss">who_are_you</span></code></pre><p>Read·more·about·processes·in·<a·href="ref_man_processes.html">Processes</a>.</p><h2·id="tuple"·class="section-heading">326 </span><span·class="ss">who_are_you</span></code></pre><p>Read·more·about·processes·in·<a·href="ref_man_processes.html">Processes</a>.</p><h2·id="tuple"·class="section-heading">
327 ··<a·href="#tuple"·class="hover-link">327 ··<a·href="#tuple"·class="hover-link">
328 ····<i·class="ri-link-m"·aria-hidden="true"></i>328 ····<i·class="ri-link-m"·aria-hidden="true"></i>
329 ··</a>329 ··</a>
330 ··<span·class="text">Tuple</span>330 ··<span·class="text">Tuple</span>
331 </h2>331 </h2>
332 <p>A·tuple·is·a·compound·data·type·with·a·fixed·number·of·terms:</p><pre><code·class="text">{Term1,...,TermN}</code></pre><p>Each·term·<code·class="inline">Term</code>·in·the·tuple·is·called·an·<em>element</em>.·The·number·of·elements·is332 <p>A·tuple·is·a·compound·data·type·with·a·fixed·number·of·terms:</p><pre><code·class="text">{Term1,...,TermN}</code></pre><p>Each·term·<code·class="inline">Term</code>·in·the·tuple·is·called·an·<em>element</em>.·The·number·of·elements·is
333 said·to·be·the·<em>size</em>·of·the·tuple.</p><p>There·exists·a·number·of·BIFs·to·manipulate·tuples.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2403854769-1">{</span><span·class="ss">adam</span><span·class="p">,</span><span·class="mi">24</span><span·class="p">,</span><span·class="p"·data-group-id="2403854769-2">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><s[·...·truncated·by·diffoscope;·len:·92,·SHA:·25752abf33b3f3c7e3c298e7d5c38c3786a6e7dd43aca93078ddb43a0e476a76·...·]-1">}</span><span·class="p">.</span><span·class="w">333 said·to·be·the·<em>size</em>·of·the·tuple.</p><p>There·exists·a·number·of·BIFs·to·manipulate·tuples.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2917152006-1">{</span><span·class="ss">adam</span><span·class="p">,</span><span·class="mi">24</span><span·class="p">,</span><span·class="p"·data-group-id="2917152006-2">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><s[·...·truncated·by·diffoscope;·len:·92,·SHA:·398770926bc528cd3d0181f2382ac1256e5ce91978d240ae0be8bf1afc0264cf·...·]-1">}</span><span·class="p">.</span><span·class="w">
334 </span><span·class="p"·data-group-id="2403854769-3">{</span><span·class="ss">adam</span><span·class="p">,</span><span·class="mi">24</span><span·class="p">,</span><span·class="p"·data-group-id="2403854769-4">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><s[·...·truncated·by·diffoscope;·len:·92,·SHA:·6c754c21e6c7355496f6a6c82ae65b6b60a77870d960b2b545070f8942941a24·...·]-3">}</span><span·class="gp·unselectable">334 </span><span·class="p"·data-group-id="2917152006-3">{</span><span·class="ss">adam</span><span·class="p">,</span><span·class="mi">24</span><span·class="p">,</span><span·class="p"·data-group-id="2917152006-4">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><s[·...·truncated·by·diffoscope;·len:·92,·SHA:·70049abb7a75a8dbea988532b67500909add282e8a546d980496b8ac6fcb51a1·...·]-3">}</span><span·class="gp·unselectable">
335 2&gt;·</span><span·class="nf">element</span><span·class="p"·data-group-id="2403854769-5">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">P</span><span·class="p"·data-group-id="2403854769-5">)</span><span·class="p">.</span><span·class="w">335 2&gt;·</span><span·class="nf">element</span><span·class="p"·data-group-id="2917152006-5">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">P</span><span·class="p"·data-group-id="2917152006-5">)</span><span·class="p">.</span><span·class="w">
336 </span><span·class="ss">adam</span><span·class="gp·unselectable">336 </span><span·class="ss">adam</span><span·class="gp·unselectable">
337 3&gt;·</span><span·class="nf">element</span><span·class="p"·data-group-id="2403854769-6">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="n">P</span><span·class="p"·data-group-id="2403854769-6">)</span><span·class="p">.</span><span·class="w">337 3&gt;·</span><span·class="nf">element</span><span·class="p"·data-group-id="2917152006-6">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="n">P</span><span·class="p"·data-group-id="2917152006-6">)</span><span·class="p">.</span><span·class="w">
338 </span><span·class="p"·data-group-id="2403854769-7">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><span·class="p"·data-group-id="2403854769-7">}</span><span·class="gp·unselectable">338 </span><span·class="p"·data-group-id="2917152006-7">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><span·class="p"·data-group-id="2917152006-7">}</span><span·class="gp·unselectable">
339 4&gt;·</span><span·class="n">P2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">setelement</span><span·class="p"·data-group-id="2403854769-8">(</span><span·class="mi">2</span><span·class="p">,</span><span·class="n">P</span><span·class="p">,</span><span·class="mi">25</span><span·class="p"·data-group-id="2403854769-8">)</span><span·class="p">.</span><span·class="w">339 4&gt;·</span><span·class="n">P2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">setelement</span><span·class="p"·data-group-id="2917152006-8">(</span><span·class="mi">2</span><span·class="p">,</span><span·class="n">P</span><span·class="p">,</span><span·class="mi">25</span><span·class="p"·data-group-id="2917152006-8">)</span><span·class="p">.</span><span·class="w">
340 </span><span·class="p"·data-group-id="2403854769-9">{</span><span·class="ss">adam</span><span·class="p">,</span><span·class="mi">25</span><span·class="p">,</span><span·class="p"·data-group-id="2403854769-10">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·a9661349cf019689ea1531b36269c109ed523f8c3857415546f1caf4d44cafd8·...·]-9">}</span><span·class="gp·unselectable">340 </span><span·class="p"·data-group-id="2917152006-9">{</span><span·class="ss">adam</span><span·class="p">,</span><span·class="mi">25</span><span·class="p">,</span><span·class="p"·data-group-id="2917152006-10">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·ff33620d3204684ece79bb5a8db6e47e9f44ce35d26f6e189b607ba88359d27f·...·]-9">}</span><span·class="gp·unselectable">
341 5&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="2403854769-11">(</span><span·class="n">P</span><span·class="p"·data-group-id="2403854769-11">)</span><span·class="p">.</span><span·class="w">341 5&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="2917152006-11">(</span><span·class="n">P</span><span·class="p"·data-group-id="2917152006-11">)</span><span·class="p">.</span><span·class="w">
342 </span><span·class="mi">3</span><span·class="gp·unselectable">342 </span><span·class="mi">3</span><span·class="gp·unselectable">
343 6&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="2403854769-12">(</span><span·class="p"·data-group-id="2403854769-13">{</span><span·class="p"·data-group-id="2403854769-13">}</span><span·class="p"·data-group-id="2403854769-12">)</span><span·class="p">.</span><span·class="w">343 6&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="2917152006-12">(</span><span·class="p"·data-group-id="2917152006-13">{</span><span·class="p"·data-group-id="2917152006-13">}</span><span·class="p"·data-group-id="2917152006-12">)</span><span·class="p">.</span><span·class="w">
344 </span><span·class="mi">0</span><span·class="gp·unselectable">344 </span><span·class="mi">0</span><span·class="gp·unselectable">
345 7&gt;·</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="2403854769-14">(</span><span·class="p"·data-group-id="2403854769-15">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="2403854769-15">}</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·ed285ff8da581a5ed57e56bc3cfc908ae91198f2e877232746efb20c733e4374·...·]-14">)</span><span·class="p">.</span><span·class="w">345 7&gt;·</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="2917152006-14">(</span><span·class="p"·data-group-id="2917152006-15">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="2917152006-15">}</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·61bdeef06430ad696502fb3015792409be9ab8e3721a678399802393cc7b7bb4·...·]-14">)</span><span·class="p">.</span><span·class="w">
346 </span><span·class="ss">true</span></code></pre><h2·id="map"·class="section-heading">346 </span><span·class="ss">true</span></code></pre><h2·id="map"·class="section-heading">
347 ··<a·href="#map"·class="hover-link">347 ··<a·href="#map"·class="hover-link">
348 ····<i·class="ri-link-m"·aria-hidden="true"></i>348 ····<i·class="ri-link-m"·aria-hidden="true"></i>
349 ··</a>349 ··</a>
350 ··<span·class="text">Map</span>350 ··<span·class="text">Map</span>
351 </h2>351 </h2>
352 <p>A·map·is·a·compound·data·type·with·a·variable·number·of·key-value·associations:</p><pre><code·class="text">#{Key1·=&gt;·Value1,·...,·KeyN·=&gt;·ValueN}</code></pre><p>Each·key-value·association·in·the·map·is·called·an·<em>association·pair</em>.·The·key352 <p>A·map·is·a·compound·data·type·with·a·variable·number·of·key-value·associations:</p><pre><code·class="text">#{Key1·=&gt;·Value1,·...,·KeyN·=&gt;·ValueN}</code></pre><p>Each·key-value·association·in·the·map·is·called·an·<em>association·pair</em>.·The·key
353 and·value·parts·of·the·pair·are·called·<em>elements</em>.·The·number·of·association353 and·value·parts·of·the·pair·are·called·<em>elements</em>.·The·number·of·association
354 pairs·is·said·to·be·the·<em>size</em>·of·the·map.</p><p>There·exists·a·number·of·BIFs·to·manipulate·maps.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">M1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1204865008-1">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">adam</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">age</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·453,·SHA:·9e5187704ca3b07a79a5223fbf6ddbc3aa0bbad5f807910fd6aa249a7807a1c8·...·]-1">}</span><span·class="p">.</span><span·class="w">354 pairs·is·said·to·be·the·<em>size</em>·of·the·map.</p><p>There·exists·a·number·of·BIFs·to·manipulate·maps.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">M1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5746769111-1">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">adam</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">age</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·453,·SHA:·50792561feac8a87617afe22163c99dc26244b7e3560562bec06cf622a0ea23b·...·]-1">}</span><span·class="p">.</span><span·class="w">
355 </span><span·class="p"·data-group-id="1204865008-3">#{</span><span·class="ss">age</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">24</span><span·class="p">,</span><span·class="ss">date</span><span·class="w">·</span><span·class="p">=&gt;</span>[·...·truncated·by·diffoscope;·len:·405,·SHA:·e01205200d3e06c44edc54f8e81a4abc2d48c341474044c01f7b2864a3f5eb04·...·]-3">}</span><span·class="gp·unselectable">355 </span><span·class="p"·data-group-id="5746769111-3">#{</span><span·class="ss">age</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">24</span><span·class="p">,</span><span·class="ss">date</span><span·class="w">·</span><span·class="p">=&gt;</span>[·...·truncated·by·diffoscope;·len:·405,·SHA:·abb62f7f45e99c80bd0a78e8bb5347e80bb2d6cefbfc3c89f9f3db5f890473ae·...·]-3">}</span><span·class="gp·unselectable">
356 2&gt;·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="1204865008-5">(</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M1</span><span·class="p"·data-group-id="1204865008-5">)</span><span·class="p">.</span><span·class="w">356 2&gt;·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="5746769111-5">(</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M1</span><span·class="p"·data-group-id="5746769111-5">)</span><span·class="p">.</span><span·class="w">
357 </span><span·class="ss">adam</span><span·class="gp·unselectable">357 </span><span·class="ss">adam</span><span·class="gp·unselectable">
358 3&gt;·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="1204865008-6">(</span><span·class="ss">date</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M1</span><span·class="p"·data-group-id="1204865008-6">)</span><span·class="p">.</span><span·class="w">358 3&gt;·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="5746769111-6">(</span><span·class="ss">date</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M1</span><span·class="p"·data-group-id="5746769111-6">)</span><span·class="p">.</span><span·class="w">
359 </span><span·class="p"·data-group-id="1204865008-7">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><span·class="p"·data-group-id="1204865008-7">}</span><span·class="gp·unselectable">359 </span><span·class="p"·data-group-id="5746769111-7">{</span><span·class="ss">july</span><span·class="p">,</span><span·class="mi">29</span><span·class="p"·data-group-id="5746769111-7">}</span><span·class="gp·unselectable">
Max diff block lines reached; 38945/79499 bytes (48.99%) of diff not shown.
695 B
html2text {}
Max HTML report size reached
1.4 KB
./usr/share/doc/erlang-doc/html/doc/system/debugging.html
    
Offset 331, 15 lines modifiedOffset 331, 15 lines modified
331 ······<p·class="built-using">331 ······<p·class="built-using">
332 ········Built·using332 ········Built·using
333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
335 ······</p>335 ······</p>
336 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>336 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
337 ····</footer>337 ····</footer>
338 ··</div>338 ··</div>
339 </main>339 </main>
340 </div>340 </div>
341 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>341 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
342 ··<script>342 ··<script>
343 ··let·initialized·=·false;343 ··let·initialized·=·false;
616 B
html2text {}
Max HTML report size reached
60.0 KB
./usr/share/doc/erlang-doc/html/doc/system/design_principles.html
    
Offset 152, 135 lines modifiedOffset 152, 135 lines modified
152 the·code·for·a·process·in·a·generic·part·(a·behaviour·module)·and·a·specific152 the·code·for·a·process·in·a·generic·part·(a·behaviour·module)·and·a·specific
153 part·(a·<em>callback·module</em>).</p><p>The·behaviour·module·is·part·of·Erlang/OTP.·To·implement·a·process·such·as·a153 part·(a·<em>callback·module</em>).</p><p>The·behaviour·module·is·part·of·Erlang/OTP.·To·implement·a·process·such·as·a
154 supervisor,·the·user·only·needs·to·implement·the·callback·module,·which·is·to154 supervisor,·the·user·only·needs·to·implement·the·callback·module,·which·is·to
155 export·a·pre-defined·set·of·functions,·the·<em>callback·functions</em>.</p><p>The·following·example·illustrate·how·code·can·be·divided·into·a·generic·and·a155 export·a·pre-defined·set·of·functions,·the·<em>callback·functions</em>.</p><p>The·following·example·illustrate·how·code·can·be·divided·into·a·generic·and·a
156 specific·part.·Consider·the·following·code·(written·in·plain·Erlang)·for·a156 specific·part.·Consider·the·following·code·(written·in·plain·Erlang)·for·a
157 simple·server,·which·keeps·track·of·a·number·of·&quot;channels&quot;.·Other·processes·can157 simple·server,·which·keeps·track·of·a·number·of·&quot;channels&quot;.·Other·processes·can
158 allocate·and·free·the·channels·by·calling·the·functions·<code·class="inline">alloc/0</code>·and·<code·class="inline">free/1</code>,158 allocate·and·free·the·channels·by·calling·the·functions·<code·class="inline">alloc/0</code>·and·<code·class="inline">free/1</code>,
159 respectively.</p><p><a·href=""·id="ch1"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6327487543-1">(</span><span·class="ss">ch1</span><span·class="p"·data-group-id="6327487543-1">)</span><span·class="p">.</span><span·class="w"> 
160 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6327487543-2">(</span><span·class="p"·data-group-id="6327487543-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class[·...·truncated·by·diffoscope;·len:·85,·SHA:·418eca8315814d52b28d763dc4aec7caf430308265a884277b7ed250a8bdaeb1·...·]">)</span><span·class="p">.</span><span·class="w">159 respectively.</p><p><a·href=""·id="ch1"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6868588214-1">(</span><span·class="ss">ch1</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·17,·SHA:·b1c5b26fb1872bd332ee2e33db76adf48b9e8d157e21608c5538ab39cf6f50a7·...·]">)</span><span·class="p">.</span><span·class="w">
 160 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6868588214-2">(</span><span·class="p"·data-group-id="6868588214-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6868588214-3">]</span><span·class="p"·data-group-id="6868588214-2">)</span><span·class="p">.</span><span·class="w">
161 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6327487543-4">(</span><span·class="p"·data-group-id="6327487543-5">[</span><span·class="ss">alloc</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">free</span><span·class="p">/</span><spa[·...·truncated·by·diffoscope;·len:·115,·SHA:·7ddeef702e48af4d148df315bee5a7a7f03bad038bc7747d24e0fdc8c3f059b7·...·]-4">)</span><span·class="p">.</span><span·class="w">161 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6868588214-4">(</span><span·class="p"·data-group-id="6868588214-5">[</span><span·class="ss">alloc</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">free</span><span·class="p">/</span><spa[·...·truncated·by·diffoscope;·len:·115,·SHA:·248e1da3aedbc9a640a53e5ce0f34264b4ea9ce7d8bc713e73e318c9fe5310fd·...·]-4">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6327487543-6">(</span><span·class="p"·data-group-id="6327487543-7">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6327487543-7">]</span><span·class="p"·data-group-id="6327487543-6">)</span><span·class="p">.</span><span·class="w">162 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6868588214-6">(</span><span·class="p"·data-group-id="6868588214-7">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6868588214-7">]</span><span·class="p"·data-group-id="6868588214-6">)</span><span·class="p">.</span><span·class="w">
  
163 </span><span·class="nf">start</span><span·class="p"·data-group-id="6327487543-8">(</span><span·class="p"·data-group-id="6327487543-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">163 </span><span·class="nf">start</span><span·class="p"·data-group-id="6868588214-8">(</span><span·class="p"·data-group-id="6868588214-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
164 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="6327487543-9">(</span><span·class="ss">ch1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6327487543-10">[</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·65,·SHA:·2349eccd09a5a1031c1eb1eb891ccbf965934b904ae3b9ce4d73f61e82383605·...·]-9">)</span><span·class="p">.</span><span·class="w">164 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="6868588214-9">(</span><span·class="ss">ch1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6868588214-10">[</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·65,·SHA:·25845a44e8859542d6c95e8a6c51ddf878353bb6d85cf40d037cbcf35aeaad9b·...·]-9">)</span><span·class="p">.</span><span·class="w">
  
165 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="6327487543-11">(</span><span·class="p"·data-group-id="6327487543-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">165 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="6868588214-11">(</span><span·class="p"·data-group-id="6868588214-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
166 ····</span><span·class="ss">ch1</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="6327487543-12">{</span><span·class="nf">self</span><span·class="p"·data-group-id="6327487543-13">(</span><span·class="p"·data-group-id="6327487543-13">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·1a7031bdfb6cc3805adc469735eb9e260cedeb194d667309c23370d372bc925d·...·]-12">}</span><span·class="p">,</span><span·class="w">166 ····</span><span·class="ss">ch1</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="6868588214-12">{</span><span·class="nf">self</span><span·class="p"·data-group-id="6868588214-13">(</span><span·class="p"·data-group-id="6868588214-13">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·9adb0cfa39ddec41cd03ddfb44d359af182caea5df51bb505e50957b51ed6355·...·]-12">}</span><span·class="p">,</span><span·class="w">
167 ····</span><span·class="k">receive</span><span·class="w">167 ····</span><span·class="k">receive</span><span·class="w">
168 ········</span><span·class="p"·data-group-id="6327487543-14">{</span><span·class="ss">ch1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Res</span><span·class="p"·data-group-id="6327487543-14">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">168 ········</span><span·class="p"·data-group-id="6868588214-14">{</span><span·class="ss">ch1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Res</span><span·class="p"·data-group-id="6868588214-14">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
169 ············</span><span·class="n">Res</span><span·class="w">169 ············</span><span·class="n">Res</span><span·class="w">
170 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">170 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
171 </span><span·class="nf">free</span><span·class="p"·data-group-id="6327487543-15">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="6327487543-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">171 </span><span·class="nf">free</span><span·class="p"·data-group-id="6868588214-15">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="6868588214-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
172 ····</span><span·class="ss">ch1</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="6327487543-16">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p"·data-group-id="6327487543-16">}</span><span·class="p">,</span><span·class="w">172 ····</span><span·class="ss">ch1</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="6868588214-16">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p"·data-group-id="6868588214-16">}</span><span·class="p">,</span><span·class="w">
173 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">173 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
174 </span><span·class="nf">init</span><span·class="p"·data-group-id="6327487543-17">(</span><span·class="p"·data-group-id="6327487543-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">174 </span><span·class="nf">init</span><span·class="p"·data-group-id="6868588214-17">(</span><span·class="p"·data-group-id="6868588214-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
175 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="6327487543-18">(</span><span·class="ss">ch1</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="6327487543-19">(</span><span·class="p"·data-group-id="6327487543-19">)</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·2de10eff65731c9623106803e807600f837986885f0bc37066e092a50c830908·...·]-18">)</span><span·class="p">,</span><span·class="w">175 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="6868588214-18">(</span><span·class="ss">ch1</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="6868588214-19">(</span><span·class="p"·data-group-id="6868588214-19">)</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·c56211cf0b67eb4a96aae75f81be9ba528249fad097f42285d8e06df00daa97c·...·]-18">)</span><span·class="p">,</span><span·class="w">
176 ····</span><span·class="n">Chs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">channels</span><span·class="p"·data-group-id="6327487543-20">(</span><span·class="p"·data-group-id="6327487543-20">)</span><span·class="p">,</span><span·class="w">176 ····</span><span·class="n">Chs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">channels</span><span·class="p"·data-group-id="6868588214-20">(</span><span·class="p"·data-group-id="6868588214-20">)</span><span·class="p">,</span><span·class="w">
177 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="6327487543-21">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="6327487543-21">)</span><span·class="p">.</span><span·class="w">177 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="6868588214-21">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="6868588214-21">)</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">loop</span><span·class="p"·data-group-id="6327487543-22">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="6327487543-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 </span><span·class="nf">loop</span><span·class="p"·data-group-id="6868588214-22">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="6868588214-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
179 ····</span><span·class="k">receive</span><span·class="w">179 ····</span><span·class="k">receive</span><span·class="w">
180 ········</span><span·class="p"·data-group-id="6327487543-23">{</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data-group-id="6327487543-23">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">180 ········</span><span·class="p"·data-group-id="6868588214-23">{</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data-group-id="6868588214-23">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
181 ············</span><span·class="p"·data-group-id="6327487543-24">{</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="6327487543-24">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·142,·SHA:·e1116076cb06ce6c2c5b51bf52ec8fbd6b115a847609fc52e8e1e8e1687b079f·...·]-25">)</span><span·class="p">,</span><span·class="w">181 ············</span><span·class="p"·data-group-id="6868588214-24">{</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="6868588214-24">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·142,·SHA:·048062d3a818ea0464b04d990888857110b4b7ccd9bc5c60386e2b42b4b0291e·...·]-25">)</span><span·class="p">,</span><span·class="w">
182 ············</span><span·class="n">From</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="6327487543-26">{</span><span·class="ss">ch1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p"·data-group-id="6327487543-26">}</span><span·class="p">,</span><span·class="w">182 ············</span><span·class="n">From</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="6868588214-26">{</span><span·class="ss">ch1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p"·data-group-id="6868588214-26">}</span><span·class="p">,</span><span·class="w">
183 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="6327487543-27">(</span><span·class="n">Chs2</span><span·class="p"·data-group-id="6327487543-27">)</span><span·class="p">;</span><span·class="w">183 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="6868588214-27">(</span><span·class="n">Chs2</span><span·class="p"·data-group-id="6868588214-27">)</span><span·class="p">;</span><span·class="w">
184 ········</span><span·class="p"·data-group-id="6327487543-28">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p"·data-group-id="6327487543-28">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">184 ········</span><span·class="p"·data-group-id="6868588214-28">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p"·data-group-id="6868588214-28">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
185 ············</span><span·class="n">Chs2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">free</span><span·class="p"·data-group-id="6327487543-29">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="6327487543-29">)</span><span·class="p">,</span><span·class="w">185 ············</span><span·class="n">Chs2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">free</span><span·class="p"·data-group-id="6868588214-29">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="6868588214-29">)</span><span·class="p">,</span><span·class="w">
186 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="6327487543-30">(</span><span·class="n">Chs2</span><span·class="p"·data-group-id="6327487543-30">)</span><span·class="w">186 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="6868588214-30">(</span><span·class="n">Chs2</span><span·class="p"·data-group-id="6868588214-30">)</span><span·class="w">
187 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·code·for·the·server·can·be·rewritten·into·a·generic·part·<code·class="inline">server.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9673932212-1">(</span><span·class="ss">server</span><span·class="p"·data-group-id="9673932212-1">)</span><span·class="p">.</span><span·class="w">187 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·code·for·the·server·can·be·rewritten·into·a·generic·part·<code·class="inline">server.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4289962505-1">(</span><span·class="ss">server</span><span·class="p"·data-group-id="4289962505-1">)</span><span·class="p">.</span><span·class="w">
188 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9673932212-2">(</span><span·class="p"·data-group-id="9673932212-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9673932212-3">]</span><span·class="p"·data-group-id="9673932212-2">)</span><span·class="p">.</span><span·class="w">188 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4289962505-2">(</span><span·class="p"·data-group-id="4289962505-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4289962505-3">]</span><span·class="p"·data-group-id="4289962505-2">)</span><span·class="p">.</span><span·class="w">
189 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9673932212-4">(</span><span·class="p"·data-group-id="9673932212-5">[</span><span·class="ss">call</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">cast</span><span·class="p">/</span><spa[·...·truncated·by·diffoscope;·len:·115,·SHA:·1c63b53ffa8f83e1c9255d9cb1b3d183ade396610086b2b505a9ee8ee836d833·...·]-4">)</span><span·class="p">.</span><span·class="w">189 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4289962505-4">(</span><span·class="p"·data-group-id="4289962505-5">[</span><span·class="ss">call</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">cast</span><span·class="p">/</span><spa[·...·truncated·by·diffoscope;·len:·115,·SHA:·1cfff0023f2f0ce6ec2fc2f7f529b56ebeaf254bdaa111c06afb69ab6334c80a·...·]-4">)</span><span·class="p">.</span><span·class="w">
190 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9673932212-6">(</span><span·class="p"·data-group-id="9673932212-7">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9673932212-7">]</span><span·class="p"·data-group-id="9673932212-6">)</span><span·class="p">.</span><span·class="w">190 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4289962505-6">(</span><span·class="p"·data-group-id="4289962505-7">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4289962505-7">]</span><span·class="p"·data-group-id="4289962505-6">)</span><span·class="p">.</span><span·class="w">
  
191 </span><span·class="nf">start</span><span·class="p"·data-group-id="9673932212-8">(</span><span·class="n">Mod</span><span·class="p"·data-group-id="9673932212-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">191 </span><span·class="nf">start</span><span·class="p"·data-group-id="4289962505-8">(</span><span·class="n">Mod</span><span·class="p"·data-group-id="4289962505-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
192 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="9673932212-9">(</span><span·class="ss">server</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9673932212-10">[</span><span·class="n">Mod</span>[·...·truncated·by·diffoscope;·len:·95,·SHA:·b926cfa77653e5c16563aab4ef983446fc99adefaf6f077ac6ee2fd716e63bc4·...·]-9">)</span><span·class="p">.</span><span·class="w">192 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="4289962505-9">(</span><span·class="ss">server</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4289962505-10">[</span><span·class="n">Mod</span>[·...·truncated·by·diffoscope;·len:·95,·SHA:·be5f632e4d85acd4b7fb7f346e586fd4240b631baa144cde6bd63a7529763703·...·]-9">)</span><span·class="p">.</span><span·class="w">
  
193 </span><span·class="nf">call</span><span·class="p"·data-group-id="9673932212-11">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Req</span><span·class="p"·data-group-id="9673932212-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">193 </span><span·class="nf">call</span><span·class="p"·data-group-id="4289962505-11">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Req</span><span·class="p"·data-group-id="4289962505-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
194 ····</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9673932212-12">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="9673932212-13">(</span><span·class="p"·data-group-id="9673932212-13">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·01412473b61089e04e9daeb4e654212d040a426984302f88a68ef5077fdfc2f9·...·]-12">}</span><span·class="p">,</span><span·class="w">194 ····</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="4289962505-12">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="4289962505-13">(</span><span·class="p"·data-group-id="4289962505-13">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·d5b2ac0592b44b409953f65b2d10ab6e18d8c24c3f9876dc207afd006d7e95a3·...·]-12">}</span><span·class="p">,</span><span·class="w">
195 ····</span><span·class="k">receive</span><span·class="w">195 ····</span><span·class="k">receive</span><span·class="w">
196 ········</span><span·class="p"·data-group-id="9673932212-14">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Res</span><span·class="p"·data-group-id="9673932212-14">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">196 ········</span><span·class="p"·data-group-id="4289962505-14">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Res</span><span·class="p"·data-group-id="4289962505-14">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
197 ············</span><span·class="n">Res</span><span·class="w">197 ············</span><span·class="n">Res</span><span·class="w">
198 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">198 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
199 </span><span·class="nf">cast</span><span·class="p"·data-group-id="9673932212-15">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Req</span><span·class="p"·data-group-id="9673932212-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">199 </span><span·class="nf">cast</span><span·class="p"·data-group-id="4289962505-15">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Req</span><span·class="p"·data-group-id="4289962505-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
200 ····</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9673932212-16">{</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Req</span><span·class="p"·data-group-id="9673932212-16">}</span><span·class="p">,</span><span·class="w">200 ····</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="4289962505-16">{</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Req</span><span·class="p"·data-group-id="4289962505-16">}</span><span·class="p">,</span><span·class="w">
201 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">201 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
202 </span><span·class="nf">init</span><span·class="p"·data-group-id="9673932212-17">(</span><span·class="n">Mod</span><span·class="p"·data-group-id="9673932212-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">202 </span><span·class="nf">init</span><span·class="p"·data-group-id="4289962505-17">(</span><span·class="n">Mod</span><span·class="p"·data-group-id="4289962505-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
203 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="9673932212-18">(</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="9673932212-19">(</span><span·class="p"·data-group-id="9673932212-19">)</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·bf9d7c8930caec42a7347925a8432a9ab8f6e8109294492da6739b10edd0b29d·...·]-18">)</span><span·class="p">,</span><span·class="w">203 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="4289962505-18">(</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="4289962505-19">(</span><span·class="p"·data-group-id="4289962505-19">)</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·da7f2d99fe9e85b15903e316af04343dcb26a116ae30f99b58dbd05f4215b35b·...·]-18">)</span><span·class="p">,</span><span·class="w">
204 ····</span><span·class="n">State</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">:</span><span·class="nf">init</span><span·class="p"·data-group-id="9673932212-20">(</span><span·class="p"·data-group-id="9673932212-20">)</span><span·class="p">,</span><span·class="w">204 ····</span><span·class="n">State</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">:</span><span·class="nf">init</span><span·class="p"·data-group-id="4289962505-20">(</span><span·class="p"·data-group-id="4289962505-20">)</span><span·class="p">,</span><span·class="w">
205 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="9673932212-21">(</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="9673932212-21">)</span><span·class="p">.</span><span·class="w">205 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="4289962505-21">(</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="4289962505-21">)</span><span·class="p">.</span><span·class="w">
  
206 </span><span·class="nf">loop</span><span·class="p"·data-group-id="9673932212-22">(</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="9673932212-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">206 </span><span·class="nf">loop</span><span·class="p"·data-group-id="4289962505-22">(</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="4289962505-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
207 ····</span><span·class="k">receive</span><span·class="w">207 ····</span><span·class="k">receive</span><span·class="w">
208 ········</span><span·class="p"·data-group-id="9673932212-23">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Req</span><span·class="p"·data-group-id="9673932212-23">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 ········</span><span·class="p"·data-group-id="4289962505-23">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Req</span><span·class="p"·data-group-id="4289962505-23">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 ············</span><span·class="p"·data-group-id="9673932212-24">{</span><span·class="n">Res</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State2</span><span·class="p"·data-group-id="9673932212-24">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·278,·SHA:·2f9fb6a8d93d7e671f384acbd774f246af77f7e8aa4acf37ea3b3d27be2a4c5a·...·]-25">)</span><span·class="p">,</span><span·class="w">209 ············</span><span·class="p"·data-group-id="4289962505-24">{</span><span·class="n">Res</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State2</span><span·class="p"·data-group-id="4289962505-24">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·278,·SHA:·f26a6ee8011b4933d569a892cf7f7f4b945a39bd85a88076ec34384157cdc53d·...·]-25">)</span><span·class="p">,</span><span·class="w">
210 ············</span><span·class="n">From</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9673932212-26">{</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Res</span><span·class="p"·data-group-id="9673932212-26">}</span><span·class="p">,</span><span·class="w">210 ············</span><span·class="n">From</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="4289962505-26">{</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Res</span><span·class="p"·data-group-id="4289962505-26">}</span><span·class="p">,</span><span·class="w">
211 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="9673932212-27">(</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State2</span><span·class="p"·data-group-id="9673932212-27">)</span><span·class="p">;</span><span·class="w">211 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="4289962505-27">(</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State2</span><span·class="p"·data-group-id="4289962505-27">)</span><span·class="p">;</span><span·class="w">
212 ········</span><span·class="p"·data-group-id="9673932212-28">{</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Req</span><span·class="p"·data-group-id="9673932212-28">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">212 ········</span><span·class="p"·data-group-id="4289962505-28">{</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Req</span><span·class="p"·data-group-id="4289962505-28">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
213 ············</span><span·class="n">State2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">:</span><span·class="nf">handle_cast</span><span·class="p"·data-group-id="9673932212-29">(</span><span·class="n">Req</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="9673932212-29">)</span><span·class="p">,</span><span·class="w">213 ············</span><span·class="n">State2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">:</span><span·class="nf">handle_cast</span><span·class="p"·data-group-id="4289962505-29">(</span><span·class="n">Req</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="4289962505-29">)</span><span·class="p">,</span><span·class="w">
214 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="9673932212-30">(</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State2</span><span·class="p"·data-group-id="9673932212-30">)</span><span·class="w">214 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="4289962505-30">(</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State2</span><span·class="p"·data-group-id="4289962505-30">)</span><span·class="w">
215 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>And·a·callback·module·<code·class="inline">ch2.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9198363470-1">(</span><span·class="ss">ch2</span><span·class="p"·data-group-id="9198363470-1">)</span><span·class="p">.</span><span·class="w">215 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>And·a·callback·module·<code·class="inline">ch2.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1944779897-1">(</span><span·class="ss">ch2</span><span·class="p"·data-group-id="1944779897-1">)</span><span·class="p">.</span><span·class="w">
216 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9198363470-2">(</span><span·class="p"·data-group-id="9198363470-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9198363470-3">]</span><span·class="p"·data-group-id="9198363470-2">)</span><span·class="p">.</span><span·class="w">216 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1944779897-2">(</span><span·class="p"·data-group-id="1944779897-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1944779897-3">]</span><span·class="p"·data-group-id="1944779897-2">)</span><span·class="p">.</span><span·class="w">
217 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9198363470-4">(</span><span·class="p"·data-group-id="9198363470-5">[</span><span·class="ss">alloc</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">free</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·116,·SHA:·e50a1827f8c6c5641958e64fd0f619921dd6a6a0c812cd2890391e546b59d17c·...·]-4">)</span><span·class="p">.</span><span·class="w">217 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1944779897-4">(</span><span·class="p"·data-group-id="1944779897-5">[</span><span·class="ss">alloc</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">free</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·116,·SHA:·4f949bd86311f0644ab187021176be403309dc16e9ba13c98bc27f601c114c39·...·]-4">)</span><span·class="p">.</span><span·class="w">
218 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9198363470-6">(</span><span·class="p"·data-group-id="9198363470-7">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_call</span><span·class="p">/</sp[·...·truncated·by·diffoscope;·len:·254,·SHA:·ec954e1339f0c02e9e962e8daab6c2862adfa43352f7e13966bfe6200a4c1530·...·]-6">)</span><span·class="p">.</span><span·class="w">218 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1944779897-6">(</span><span·class="p"·data-group-id="1944779897-7">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_call</span><span·class="p">/</sp[·...·truncated·by·diffoscope;·len:·254,·SHA:·9c8fec61265affcce3a569d8a484f98915fedd310354b25811b90b845febabd9·...·]-6">)</span><span·class="p">.</span><span·class="w">
  
219 </span><span·class="nf">start</span><span·class="p"·data-group-id="9198363470-8">(</span><span·class="p"·data-group-id="9198363470-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">219 </span><span·class="nf">start</span><span·class="p"·data-group-id="1944779897-8">(</span><span·class="p"·data-group-id="1944779897-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
220 ····</span><span·class="nc">server</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="9198363470-9">(</span><span·class="ss">ch2</span><span·class="p"·data-group-id="9198363470-9">)</span><span·class="p">.</span><span·class="w">220 ····</span><span·class="nc">server</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="1944779897-9">(</span><span·class="ss">ch2</span><span·class="p"·data-group-id="1944779897-9">)</span><span·class="p">.</span><span·class="w">
  
221 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="9198363470-10">(</span><span·class="p"·data-group-id="9198363470-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">221 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="1944779897-10">(</span><span·class="p"·data-group-id="1944779897-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
222 ····</span><span·class="nc">server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="9198363470-11">(</span><span·class="ss">ch2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data-group-id="9198363470-11">)</span><span·class="p">.</span><span·class="w">222 ····</span><span·class="nc">server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="1944779897-11">(</span><span·class="ss">ch2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data-group-id="1944779897-11">)</span><span·class="p">.</span><span·class="w">
  
223 </span><span·class="nf">free</span><span·class="p"·data-group-id="9198363470-12">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="9198363470-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">223 </span><span·class="nf">free</span><span·class="p"·data-group-id="1944779897-12">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="1944779897-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
224 ····</span><span·class="nc">server</span><span·class="p">:</span><span·class="nf">cast</span><span·class="p"·data-group-id="9198363470-13">(</span><span·class="ss">ch2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9198363470-14">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><sp[·...·truncated·by·diffoscope;·len:·92,·SHA:·e6e1fa0c85490076afd186c870da12ef95d975535bc93be06064390959daab1a·...·]-13">)</span><span·class="p">.</span><span·class="w">224 ····</span><span·class="nc">server</span><span·class="p">:</span><span·class="nf">cast</span><span·class="p"·data-group-id="1944779897-13">(</span><span·class="ss">ch2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1944779897-14">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><sp[·...·truncated·by·diffoscope;·len:·92,·SHA:·663094787627c3500c712d6f1ee3d5239599f517989f85a044eeb92d0203c90b·...·]-13">)</span><span·class="p">.</span><span·class="w">
  
225 </span><span·class="nf">init</span><span·class="p"·data-group-id="9198363470-15">(</span><span·class="p"·data-group-id="9198363470-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">225 </span><span·class="nf">init</span><span·class="p"·data-group-id="1944779897-15">(</span><span·class="p"·data-group-id="1944779897-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
226 ····</span><span·class="nf">channels</span><span·class="p"·data-group-id="9198363470-16">(</span><span·class="p"·data-group-id="9198363470-16">)</span><span·class="p">.</span><span·class="w">226 ····</span><span·class="nf">channels</span><span·class="p"·data-group-id="1944779897-16">(</span><span·class="p"·data-group-id="1944779897-16">)</span><span·class="p">.</span><span·class="w">
  
227 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="9198363470-17">(</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="9198363470-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">227 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="1944779897-17">(</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="1944779897-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
228 ····</span><span·class="nf">alloc</span><span·class="p"·data-group-id="9198363470-18">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="9198363470-18">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·=&gt;·{Ch,Chs2}</span><span·class="w">228 ····</span><span·class="nf">alloc</span><span·class="p"·data-group-id="1944779897-18">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="1944779897-18">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·=&gt;·{Ch,Chs2}</span><span·class="w">
  
229 </span><span·class="nf">handle_cast</span><span·class="p"·data-group-id="9198363470-19">(</span><span·class="p"·data-group-id="9198363470-20">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p"·data-group-id="9198363470-20">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·b9ffabf86deaa2b4648c3eb9b118f395872d9972ff6bf04332ce66159a66969b·...·]-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">229 </span><span·class="nf">handle_cast</span><span·class="p"·data-group-id="1944779897-19">(</span><span·class="p"·data-group-id="1944779897-20">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p"·data-group-id="1944779897-20">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·d2c897feeb5064bac402d9ab9db39a6dba6b9336d8175dc97fd51fd1a6837ab7·...·]-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
230 ····</span><span·class="nf">free</span><span·class="p"·data-group-id="9198363470-21">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="9198363470-21">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·=&gt;·Chs2</span></code></pre><p>Notice·the·following:</p><ul><li>The·code·in·<code·class="inline">server</code>·can·be·reused·to·build·many·different·servers.</li><li>The·server·name,·in·this·example·the·atom·<code·class="inline">ch2</code>,·is·hidden·from·the·users·of230 ····</span><span·class="nf">free</span><span·class="p"·data-group-id="1944779897-21">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="1944779897-21">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·=&gt;·Chs2</span></code></pre><p>Notice·the·following:</p><ul><li>The·code·in·<code·class="inline">server</code>·can·be·reused·to·build·many·different·servers.</li><li>The·server·name,·in·this·example·the·atom·<code·class="inline">ch2</code>,·is·hidden·from·the·users·of
231 the·client·functions.·This·means·that·the·name·can·be·changed·without231 the·client·functions.·This·means·that·the·name·can·be·changed·without
232 affecting·them.</li><li>The·protocol·(messages·sent·to·and·received·from·the·server)·is·also·hidden.232 affecting·them.</li><li>The·protocol·(messages·sent·to·and·received·from·the·server)·is·also·hidden.
233 This·is·good·programming·practice·and·allows·one·to·change·the·protocol233 This·is·good·programming·practice·and·allows·one·to·change·the·protocol
234 without·changing·the·code·using·the·interface·functions.</li><li>The·functionality·of·<code·class="inline">server</code>·can·be·extended·without·having·to·change·<code·class="inline">ch2</code>234 without·changing·the·code·using·the·interface·functions.</li><li>The·functionality·of·<code·class="inline">server</code>·can·be·extended·without·having·to·change·<code·class="inline">ch2</code>
235 or·any·other·callback·module.</li></ul><p>In·<code·class="inline">ch1.erl</code>·and·<code·class="inline">ch2.erl</code>·above,·the·implementation·of·<code·class="inline">channels/0</code>,·<code·class="inline">alloc/1</code>,235 or·any·other·callback·module.</li></ul><p>In·<code·class="inline">ch1.erl</code>·and·<code·class="inline">ch2.erl</code>·above,·the·implementation·of·<code·class="inline">channels/0</code>,·<code·class="inline">alloc/1</code>,
236 and·<code·class="inline">free/2</code>·has·been·intentionally·left·out,·as·it·is·not·relevant·to·the236 and·<code·class="inline">free/2</code>·has·been·intentionally·left·out,·as·it·is·not·relevant·to·the
237 example.·For·completeness,·one·way·to·write·these·functions·is·given·below.·This237 example.·For·completeness,·one·way·to·write·these·functions·is·given·below.·This
238 is·an·example·only,·a·realistic·implementation·must·be·able·to·handle·situations238 is·an·example·only,·a·realistic·implementation·must·be·able·to·handle·situations
239 like·running·out·of·channels·to·allocate,·and·so·on.</p><p><a·href=""·id="channels-implementation"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">channels</span><span·class="p"·data-group-id="9105564833-1">(</span><span·class="p"·data-group-id="9105564833-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">239 like·running·out·of·channels·to·allocate,·and·so·on.</p><p><a·href=""·id="channels-implementation"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">channels</span><span·class="p"·data-group-id="3109118465-1">(</span><span·class="p"·data-group-id="3109118465-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
240 ···</span><span·class="p"·data-group-id="9105564833-2">{</span><span·class="p">_</span><span·class="n">Allocated</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9105564833-3">[</span><span·class="p"·data-group-id="9105564833-3">]</span>[·...·truncated·by·diffoscope;·len:·498,·SHA:·99fe81c3629ab9632039308b219559c14fb0211d75f2868b26f1dadb29d10d44·...·]-2">}</span><span·class="p">.</span><span·class="w">240 ···</span><span·class="p"·data-group-id="3109118465-2">{</span><span·class="p">_</span><span·class="n">Allocated</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3109118465-3">[</span><span·class="p"·data-group-id="3109118465-3">]</span>[·...·truncated·by·diffoscope;·len:·498,·SHA:·32e5660f6c815ffed3201896d41482b8d818fbe6fd0312b7aba68b8c33e35eb0·...·]-2">}</span><span·class="p">.</span><span·class="w">
  
241 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="9105564833-5">(</span><span·class="p"·data-group-id="9105564833-6">{</span><span·class="n">Allocated</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9105564833-7">[</span><span·class="n">H</span><span·class="p">|</span>[·...·truncated·by·diffoscope;·len:·294,·SHA:·741dc037025baebecb00080a9bb22b2ae2d985035c48b3ae1403127f3435b2ea·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">241 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="3109118465-5">(</span><span·class="p"·data-group-id="3109118465-6">{</span><span·class="n">Allocated</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3109118465-7">[</span><span·class="n">H</span><span·class="p">|</span>[·...·truncated·by·diffoscope;·len:·294,·SHA:·95c8786d3cc43698cce96aedc138a08aca67822af27099b00c3379025459d4d6·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
242 ···</span><span·class="p"·data-group-id="9105564833-8">{</span><span·class="n">H</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9105564833-9">{</span><span·class="p"·data-group-id="9105564833-10">[</span><span·class="n">H</span><span·class="p">|</span><span·c[·...·truncated·by·diffoscope;·len:·245,·SHA:·903c7f90712c2897b336d9f5f5049f8bf273bdbade231d301f952dd52c8bf95b·...·]-8">}</span><span·class="p">.</span><span·class="w">242 ···</span><span·class="p"·data-group-id="3109118465-8">{</span><span·class="n">H</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3109118465-9">{</span><span·class="p"·data-group-id="3109118465-10">[</span><span·class="n">H</span><span·class="p">|</span><span·c[·...·truncated·by·diffoscope;·len:·245,·SHA:·7e6d9ea47dd79810c89f70a1d4f35a89be6c68030131fd355b71af3ac215e959·...·]-8">}</span><span·class="p">.</span><span·class="w">
  
243 </span><span·class="nf">free</span><span·class="p"·data-group-id="9105564833-11">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9105564833-12">{</span><span·class="n">Alloc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Free</span><sp[·...·truncated·by·diffoscope;·len:·195,·SHA:·71cc48c6a4d87ddf59bd1a76e42a5e9d4e448ee37c561a23cb418964c1a6d105·...·]-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">243 </span><span·class="nf">free</span><span·class="p"·data-group-id="3109118465-11">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3109118465-12">{</span><span·class="n">Alloc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Free</span><sp[·...·truncated·by·diffoscope;·len:·195,·SHA:·43d88c4c056e401e9990f7a897459c6a084db7e400629f2758cd2140c4f85d23·...·]-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
244 ···</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">member</span><span·class="p"·data-group-id="9105564833-13">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Alloc</span><span·class="p"·data-group-id="9105564833-13">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">244 ···</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">member</span><span·class="p"·data-group-id="3109118465-13">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Alloc</span><span·class="p"·data-group-id="3109118465-13">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
245 ······</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">245 ······</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
246 ·········</span><span·class="p"·data-group-id="9105564833-14">{</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="9105564833-15">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Alloc</[·...·truncated·by·diffoscope;·len:·332,·SHA:·bcdafd115f12f4d06c034b35f2fd1dd82dcb6ad13074014903f54804ad1bb2b0·...·]-14">}</span><span·class="p">;</span><span·class="w">246 ·········</span><span·class="p"·data-group-id="3109118465-14">{</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="3109118465-15">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Alloc</[·...·truncated·by·diffoscope;·len:·332,·SHA:·d0e8b11df7b1d5086c325ec075be4316ee16e7b6f03827fa3a51ec65f22ab82c·...·]-14">}</span><span·class="p">;</span><span·class="w">
247 ······</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">247 ······</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
248 ·········</span><span·class="n">Channels</span><span·class="w">248 ·········</span><span·class="n">Channels</span><span·class="w">
249 ···</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Code·written·without·using·behaviours·can·be·more·efficient,·but·the·increased249 ···</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Code·written·without·using·behaviours·can·be·more·efficient,·but·the·increased
250 efficiency·is·at·the·expense·of·generality.·The·ability·to·manage·all250 efficiency·is·at·the·expense·of·generality.·The·ability·to·manage·all
251 applications·in·the·system·in·a·consistent·manner·is·important.</p><p>Using·behaviours·also·makes·it·easier·to·read·and·understand·code·written·by251 applications·in·the·system·in·a·consistent·manner·is·important.</p><p>Using·behaviours·also·makes·it·easier·to·read·and·understand·code·written·by
252 other·programmers.·Improvised·programming·structures,·while·possibly·more252 other·programmers.·Improvised·programming·structures,·while·possibly·more
253 efficient,·are·always·more·difficult·to·understand.</p><p>The·<code·class="inline">server</code>·module·corresponds,·greatly·simplified,·to·the·Erlang/OTP·behaviour253 efficient,·are·always·more·difficult·to·understand.</p><p>The·<code·class="inline">server</code>·module·corresponds,·greatly·simplified,·to·the·Erlang/OTP·behaviour
254 <code·class="inline">gen_server</code>.</p><p>The·standard·Erlang/OTP·behaviours·are:</p><ul><li><p><a·href="gen_server_concepts.html">gen_server</a></p><p>For·implementing·the·server·of·a·client-server·relation</p></li><li><p><a·href="statem.html">gen_statem</a></p><p>For·implementing·state·machines</p></li><li><p><a·href="events.html">gen_event</a></p><p>For·implementing·event·handling·functionality</p></li><li><p><a·href="sup_princ.html">supervisor</a></p><p>For·implementing·a·supervisor·in·a·supervision·tree</p></li></ul><p>The·compiler·understands·the·module·attribute·<code·class="inline">-behaviour(Behaviour)</code>·and·issues254 <code·class="inline">gen_server</code>.</p><p>The·standard·Erlang/OTP·behaviours·are:</p><ul><li><p><a·href="gen_server_concepts.html">gen_server</a></p><p>For·implementing·the·server·of·a·client-server·relation</p></li><li><p><a·href="statem.html">gen_statem</a></p><p>For·implementing·state·machines</p></li><li><p><a·href="events.html">gen_event</a></p><p>For·implementing·event·handling·functionality</p></li><li><p><a·href="sup_princ.html">supervisor</a></p><p>For·implementing·a·supervisor·in·a·supervision·tree</p></li></ul><p>The·compiler·understands·the·module·attribute·<code·class="inline">-behaviour(Behaviour)</code>·and·issues
255 warnings·about·missing·callback·functions,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2772536715-1">(</span><span·class="ss">chs3</span><span·class="p"·data-group-id="2772536715-1">)</span><span·class="p">.</span><span·class="w">255 warnings·about·missing·callback·functions,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3995669987-1">(</span><span·class="ss">chs3</span><span·class="p"·data-group-id="3995669987-1">)</span><span·class="p">.</span><span·class="w">
256 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="2772536715-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="2772536715-2">)</span><span·class="p">.</span><span·class="w">256 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="3995669987-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="3995669987-2">)</span><span·class="p">.</span><span·class="w">
257 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">257 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
  
258 </span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nf">c</span><span·class="p"·data-group-id="2772536715-3">(</span><span·class="ss">chs3</span><span·class="p"·data-group-id="2772536715-3">)</span><span·class="p">.</span><span·class="w">258 </span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nf">c</span><span·class="p"·data-group-id="3995669987-3">(</span><span·class="ss">chs3</span><span·class="p"·data-group-id="3995669987-3">)</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 1528/60378 bytes (2.53%) of diff not shown.
893 B
html2text {}
Max HTML report size reached
7.17 KB
./usr/share/doc/erlang-doc/html/doc/system/distributed.html
    
Offset 142, 25 lines modifiedOffset 142, 25 lines modified
142 </h2>142 </h2>
143 <p>A·<em>node</em>·is·an·executing·Erlang·runtime·system·that·has·been·given·a·name,·using143 <p>A·<em>node</em>·is·an·executing·Erlang·runtime·system·that·has·been·given·a·name,·using
144 the·command-line·flag·<a·href="../../erts-16.0/doc/html/erl_cmd.html#name"><code·class="inline">-name</code></a>·(long·names)·or144 the·command-line·flag·<a·href="../../erts-16.0/doc/html/erl_cmd.html#name"><code·class="inline">-name</code></a>·(long·names)·or
145 <a·href="../../erts-16.0/doc/html/erl_cmd.html#sname"><code·class="inline">-sname</code></a>·(short·names).</p><p>The·format·of·the·node·name·is·an·atom·<code·class="inline">name@host</code>.·<code·class="inline">name</code>·is·the·name·given·by145 <a·href="../../erts-16.0/doc/html/erl_cmd.html#sname"><code·class="inline">-sname</code></a>·(short·names).</p><p>The·format·of·the·node·name·is·an·atom·<code·class="inline">name@host</code>.·<code·class="inline">name</code>·is·the·name·given·by
146 the·user.·<code·class="inline">host</code>·is·the·full·host·name·if·long·names·are·used,·or·the·first·part146 the·user.·<code·class="inline">host</code>·is·the·full·host·name·if·long·names·are·used,·or·the·first·part
147 of·the·host·name·if·short·names·are·used.·Function·<a·href="../../erts-16.0/doc/html/erlang.html#node/0"><code·class="inline">node()</code></a>147 of·the·host·name·if·short·names·are·used.·Function·<a·href="../../erts-16.0/doc/html/erlang.html#node/0"><code·class="inline">node()</code></a>
148 returns·the·name·of·the·node.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-name·dilbert</span><span·class="w">148 returns·the·name·of·the·node.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-name·dilbert</span><span·class="w">
149 </span><span·class="p"·data-group-id="8349663663-1">(</span><span·class="ss">dilbert@uab</span><span·class="p">.</span><span·class="ss">ericsson</span><span·class="p">.</span><span·class="ss">se</span><span·class="p"·data-group-id="8349663663-1">)</span><span·class="mi">1</span><span·class="o"[·...·truncated·by·diffoscope;·len:·158,·SHA:·9e0202f8249d6036c82f031a6fb5488a2eac0f1ea66dbb88241060ce0679bcbf·...·]-2">)</span><span·class="p">.</span><span·class="w">149 </span><span·class="p"·data-group-id="4268651845-1">(</span><span·class="ss">dilbert@uab</span><span·class="p">.</span><span·class="ss">ericsson</span><span·class="p">.</span><span·class="ss">se</span><span·class="p"·data-group-id="4268651845-1">)</span><span·class="mi">1</span><span·class="o"[·...·truncated·by·diffoscope;·len:·158,·SHA:·c60fa8c5bc24e168af6716362847c70c9ce428912d6a99e6bbd37112265a9ccc·...·]-2">)</span><span·class="p">.</span><span·class="w">
150 </span><span·class="ss">&#39;dilbert@uab.ericsson.se&#39;</span><span·class="w">150 </span><span·class="ss">&#39;dilbert@uab.ericsson.se&#39;</span><span·class="w">
  
151 </span><span·class="c1">%·erl·-sname·dilbert</span><span·class="gp·unselectable">151 </span><span·class="c1">%·erl·-sname·dilbert</span><span·class="gp·unselectable">
152 (dilbert@uab)1&gt;·</span><span·class="nf">node</span><span·class="p"·data-group-id="8349663663-3">(</span><span·class="p"·data-group-id="8349663663-3">)</span><span·class="p">.</span><span·class="w">152 (dilbert@uab)1&gt;·</span><span·class="nf">node</span><span·class="p"·data-group-id="4268651845-3">(</span><span·class="p"·data-group-id="4268651845-3">)</span><span·class="p">.</span><span·class="w">
153 </span><span·class="ss">dilbert@uab</span></code></pre><p>The·node·name·can·also·be·given·in·runtime·by·calling·<a·href="../../lib/kernel-10.3/doc/html/net_kernel.html#start/1"><code·class="inline">net_kernel:start/1</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl</span><span·class="gp·unselectable">153 </span><span·class="ss">dilbert@uab</span></code></pre><p>The·node·name·can·also·be·given·in·runtime·by·calling·<a·href="../../lib/kernel-10.3/doc/html/net_kernel.html#start/1"><code·class="inline">net_kernel:start/1</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl</span><span·class="gp·unselectable">
154 1&gt;·</span><span·class="nf">node</span><span·class="p"·data-group-id="4792986762-1">(</span><span·class="p"·data-group-id="4792986762-1">)</span><span·class="p">.</span><span·class="w">154 1&gt;·</span><span·class="nf">node</span><span·class="p"·data-group-id="1820040325-1">(</span><span·class="p"·data-group-id="1820040325-1">)</span><span·class="p">.</span><span·class="w">
155 </span><span·class="ss">nonode@nohost</span><span·class="gp·unselectable">155 </span><span·class="ss">nonode@nohost</span><span·class="gp·unselectable">
156 2&gt;·</span><span·class="nc">net_kernel</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="4792986762-2">(</span><span·class="p"·data-group-id="4792986762-3">[</span><span·class="ss">dilbert</span><span·class="p">,</span><span·class="ss">shortnames</span><span·class="p"·data-group-id="4792986762-3">]</span><span·class="p"·data-group-id="47929867[·...·truncated·by·diffoscope;·len:·2,·SHA:·81b8a03f97e8787c53fe1a86bda042b6f0de9b0ec9c09357e107c99ba4d6948a·...·]-2">)</span><span·class="p">.</span><span·class="w">156 2&gt;·</span><span·class="nc">net_kernel</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="1820040325-2">(</span><span·class="p"·data-group-id="1820040325-3">[</span><span·class="ss">dilbert</span><span·class="p">,</span><span·class="ss">shortnames</span><span·class="p"·data-group-id="1820040325-3">]</span><span·class="p"·data-group-id="18200403[·...·truncated·by·diffoscope;·len:·2,·SHA:·b7a56873cd771f2c446d369b649430b65a756ba278ff97ec81bb6f55b2e73569·...·]-2">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="4792986762-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.102</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="4792986762-4">}</span><span·class="gp·unselectable">157 </span><span·class="p"·data-group-id="1820040325-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.102</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="1820040325-4">}</span><span·class="gp·unselectable">
158 (dilbert@uab)3&gt;·</span><span·class="nf">node</span><span·class="p"·data-group-id="4792986762-5">(</span><span·class="p"·data-group-id="4792986762-5">)</span><span·class="p">.</span><span·class="w">158 (dilbert@uab)3&gt;·</span><span·class="nf">node</span><span·class="p"·data-group-id="1820040325-5">(</span><span·class="p"·data-group-id="1820040325-5">)</span><span·class="p">.</span><span·class="w">
159 </span><span·class="ss">dilbert@uab</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>A·node·with·a·long·node·name·cannot·communicate·with·a·node·with·a·short·node159 </span><span·class="ss">dilbert@uab</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>A·node·with·a·long·node·name·cannot·communicate·with·a·node·with·a·short·node
160 name.</p></section><h2·id="node-connections"·class="section-heading">160 name.</p></section><h2·id="node-connections"·class="section-heading">
161 ··<a·href="#node-connections"·class="hover-link">161 ··<a·href="#node-connections"·class="hover-link">
162 ····<i·class="ri-link-m"·aria-hidden="true"></i>162 ····<i·class="ri-link-m"·aria-hidden="true"></i>
163 ··</a>163 ··</a>
164 ··<span·class="text">Node·Connections</span>164 ··<span·class="text">Node·Connections</span>
165 </h2>165 </h2>
Offset 356, 15 lines modifiedOffset 356, 15 lines modified
356 ······<p·class="built-using">356 ······<p·class="built-using">
357 ········Built·using357 ········Built·using
358 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the358 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
359 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>359 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
360 ······</p>360 ······</p>
361 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>361 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
362 ····</footer>362 ····</footer>
363 ··</div>363 ··</div>
364 </main>364 </main>
365 </div>365 </div>
366 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>366 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
367 ··<script>367 ··<script>
368 ··let·initialized·=·false;368 ··let·initialized·=·false;
799 B
html2text {}
Max HTML report size reached
17.6 KB
./usr/share/doc/erlang-doc/html/doc/system/distributed_applications.html
    
Offset 150, 36 lines modifiedOffset 150, 36 lines modified
150 (within·the·time-out·specified·by·<code·class="inline">sync_nodes_timeout</code>).</li><li><p><code·class="inline">sync_nodes_timeout·=·integer()·|·infinity</code>·-·Specifies·how·many·milliseconds150 (within·the·time-out·specified·by·<code·class="inline">sync_nodes_timeout</code>).</li><li><p><code·class="inline">sync_nodes_timeout·=·integer()·|·infinity</code>·-·Specifies·how·many·milliseconds
151 to·wait·for·the·other·nodes·to·start.</p></li></ul><p>When·started,·the·node·waits·for·all·nodes·specified·by·<code·class="inline">sync_nodes_mandatory</code>151 to·wait·for·the·other·nodes·to·start.</p></li></ul><p>When·started,·the·node·waits·for·all·nodes·specified·by·<code·class="inline">sync_nodes_mandatory</code>
152 and·<code·class="inline">sync_nodes_optional</code>·to·come·up.·When·all·nodes·are·up,·or·when·all152 and·<code·class="inline">sync_nodes_optional</code>·to·come·up.·When·all·nodes·are·up,·or·when·all
153 mandatory·nodes·are·up·and·the·time·specified·by·<code·class="inline">sync_nodes_timeout</code>·has153 mandatory·nodes·are·up·and·the·time·specified·by·<code·class="inline">sync_nodes_timeout</code>·has
154 elapsed,·all·applications·start.·If·not·all·mandatory·nodes·are·up,·the·node154 elapsed,·all·applications·start.·If·not·all·mandatory·nodes·are·up,·the·node
155 terminates.</p><p><em>Example:</em></p><p>An·application·<code·class="inline">myapp</code>·is·to·run·at·the·node·<code·class="inline">cp1@cave</code>.·If·this·node·goes·down,155 terminates.</p><p><em>Example:</em></p><p>An·application·<code·class="inline">myapp</code>·is·to·run·at·the·node·<code·class="inline">cp1@cave</code>.·If·this·node·goes·down,
156 <code·class="inline">myapp</code>·is·to·be·restarted·at·<code·class="inline">cp2@cave</code>·or·<code·class="inline">cp3@cave</code>.·A·system·configuration156 <code·class="inline">myapp</code>·is·to·be·restarted·at·<code·class="inline">cp2@cave</code>·or·<code·class="inline">cp3@cave</code>.·A·system·configuration
157 file·<code·class="inline">cp1.config</code>·for·<code·class="inline">cp1@cave</code>·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9113627183-1">[</span><span·class="p"·data-group-id="9113627183-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">157 file·<code·class="inline">cp1.config</code>·for·<code·class="inline">cp1@cave</code>·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5323162135-1">[</span><span·class="p"·data-group-id="5323162135-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
158 ··</span><span·class="p"·data-group-id="9113627183-3">[</span><span·class="p"·data-group-id="9113627183-4">{</span><span·class="ss">distributed</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9113627183-5">[</span><span·class="p"·data-group-id="9113627183-6">[·...·truncated·by·diffoscope;·len:·712,·SHA:·dadb79e840830b92abf8e80d698c102e7bbc656a4b87dd8e3f66cd412eb498c6·...·]-4">}</span><span·class="p">,</span><span·class="w">158 ··</span><span·class="p"·data-group-id="5323162135-3">[</span><span·class="p"·data-group-id="5323162135-4">{</span><span·class="ss">distributed</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5323162135-5">[</span><span·class="p"·data-group-id="5323162135-6">[·...·truncated·by·diffoscope;·len:·712,·SHA:·08b85cd1bd643aa4a91fa4f9b4cc1d26da8a726b9a8bf6ca732e9c0378931a5c·...·]-4">}</span><span·class="p">,</span><span·class="w">
159 ···</span><span·class="p"·data-group-id="9113627183-9">{</span><span·class="ss">sync_nodes_mandatory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9113627183-10">[</span><span·class="ss">cp2@cave</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·119,·SHA:·327e261875f86997bf6910a6de780e7d813d6bee0d228a8d8b02b37dbbe36a9f·...·]-9">}</span><span·class="p">,</span><span·class="w">159 ···</span><span·class="p"·data-group-id="5323162135-9">{</span><span·class="ss">sync_nodes_mandatory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5323162135-10">[</span><span·class="ss">cp2@cave</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·119,·SHA:·a839748bdd231ff42fcafa9ef4dfd170df3e6c874a3f49827413e2afdc32372f·...·]-9">}</span><span·class="p">,</span><span·class="w">
160 ···</span><span·class="p"·data-group-id="9113627183-11">{</span><span·class="ss">sync_nodes_timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5000</span><span·class="p"·data-group-id="9113627183-11">}</span><span·class="w">160 ···</span><span·class="p"·data-group-id="5323162135-11">{</span><span·class="ss">sync_nodes_timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5000</span><span·class="p"·data-group-id="5323162135-11">}</span><span·class="w">
161 ··</span><span·class="p"·data-group-id="9113627183-3">]</span><span·class="w">161 ··</span><span·class="p"·data-group-id="5323162135-3">]</span><span·class="w">
162 ·</span><span·class="p"·data-group-id="9113627183-2">}</span><span·class="w">162 ·</span><span·class="p"·data-group-id="5323162135-2">}</span><span·class="w">
163 </span><span·class="p"·data-group-id="9113627183-1">]</span><span·class="p">.</span></code></pre><p>The·system·configuration·files·for·<code·class="inline">cp2@cave</code>·and·<code·class="inline">cp3@cave</code>·are·identical,163 </span><span·class="p"·data-group-id="5323162135-1">]</span><span·class="p">.</span></code></pre><p>The·system·configuration·files·for·<code·class="inline">cp2@cave</code>·and·<code·class="inline">cp3@cave</code>·are·identical,
164 except·for·the·list·of·mandatory·nodes,·which·is·to·be·<code·class="inline">[cp1@cave,·cp3@cave]</code>164 except·for·the·list·of·mandatory·nodes,·which·is·to·be·<code·class="inline">[cp1@cave,·cp3@cave]</code>
165 for·<code·class="inline">cp2@cave</code>·and·<code·class="inline">[cp1@cave,·cp2@cave]</code>·for·<code·class="inline">cp3@cave</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>All·involved·nodes·must·have·the·same·value·for·<code·class="inline">distributed</code>·and165 for·<code·class="inline">cp2@cave</code>·and·<code·class="inline">[cp1@cave,·cp2@cave]</code>·for·<code·class="inline">cp3@cave</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>All·involved·nodes·must·have·the·same·value·for·<code·class="inline">distributed</code>·and
166 <code·class="inline">sync_nodes_timeout</code>.·Otherwise·the·system·behavior·is·undefined.</p></section><h2·id="starting-and-stopping-distributed-applications"·class="section-heading">166 <code·class="inline">sync_nodes_timeout</code>.·Otherwise·the·system·behavior·is·undefined.</p></section><h2·id="starting-and-stopping-distributed-applications"·class="section-heading">
167 ··<a·href="#starting-and-stopping-distributed-applications"·class="hover-link">167 ··<a·href="#starting-and-stopping-distributed-applications"·class="hover-link">
168 ····<i·class="ri-link-m"·aria-hidden="true"></i>168 ····<i·class="ri-link-m"·aria-hidden="true"></i>
169 ··</a>169 ··</a>
170 ··<span·class="text">Starting·and·Stopping·Distributed·Applications</span>170 ··<span·class="text">Starting·and·Stopping·Distributed·Applications</span>
171 </h2>171 </h2>
172 <p>When·all·involved·(mandatory)·nodes·have·been·started,·the·distributed172 <p>When·all·involved·(mandatory)·nodes·have·been·started,·the·distributed
173 application·can·be·started·by·calling·<code·class="inline">application:start(Application)</code>·at·<em>all173 application·can·be·started·by·calling·<code·class="inline">application:start(Application)</code>·at·<em>all
174 of·these·nodes.</em></p><p>A·boot·script·(see·<a·href="release_structure.html">Releases</a>)·can·be·used·that174 of·these·nodes.</em></p><p>A·boot·script·(see·<a·href="release_structure.html">Releases</a>)·can·be·used·that
175 automatically·starts·the·application.</p><p>The·application·is·started·at·the·first·operational·node·that·is·listed·in·the175 automatically·starts·the·application.</p><p>The·application·is·started·at·the·first·operational·node·that·is·listed·in·the
176 list·of·nodes·in·the·<code·class="inline">distributed</code>·configuration·parameter.·The·application·is176 list·of·nodes·in·the·<code·class="inline">distributed</code>·configuration·parameter.·The·application·is
177 started·as·usual.·That·is,·an·application·master·is·created·and·calls·the177 started·as·usual.·That·is,·an·application·master·is·created·and·calls·the
178 application·callback·function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Module</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="9000217943-1">(</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StartArgs</span><span·class="p"·data-group-id="9000217943-1">)</span></code></pre><p>Example:</p><p>Continuing·the·example·from·the·previous·section,·the·three·nodes·are·started,178 application·callback·function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Module</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="1607020355-1">(</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StartArgs</span><span·class="p"·data-group-id="1607020355-1">)</span></code></pre><p>Example:</p><p>Continuing·the·example·from·the·previous·section,·the·three·nodes·are·started,
179 specifying·the·system·configuration·file:</p><pre><code·class="text">&gt;·erl·-sname·cp1·-config·cp1179 specifying·the·system·configuration·file:</p><pre><code·class="text">&gt;·erl·-sname·cp1·-config·cp1
180 &gt;·erl·-sname·cp2·-config·cp2180 &gt;·erl·-sname·cp2·-config·cp2
181 &gt;·erl·-sname·cp3·-config·cp3</code></pre><p>When·all·nodes·are·operational,·<code·class="inline">myapp</code>·can·be·started.·This·is·achieved·by181 &gt;·erl·-sname·cp3·-config·cp3</code></pre><p>When·all·nodes·are·operational,·<code·class="inline">myapp</code>·can·be·started.·This·is·achieved·by
182 calling·<code·class="inline">application:start(myapp)</code>·at·all·three·nodes.·It·is·then·started·at182 calling·<code·class="inline">application:start(myapp)</code>·at·all·three·nodes.·It·is·then·started·at
183 <code·class="inline">cp1</code>,·as·shown·in·the·following·figure:</p><p><a·href=""·id="dist1"></a></p><p><img·src="assets/dist1.gif"·alt="Application·myapp·-·Situation·1"·title="Application·myapp·-·Situation·1"/></p><p>Similarly,·the·application·must·be·stopped·by·calling183 <code·class="inline">cp1</code>,·as·shown·in·the·following·figure:</p><p><a·href=""·id="dist1"></a></p><p><img·src="assets/dist1.gif"·alt="Application·myapp·-·Situation·1"·title="Application·myapp·-·Situation·1"/></p><p>Similarly,·the·application·must·be·stopped·by·calling
184 <code·class="inline">application:stop(Application)</code>·at·all·involved·nodes.</p><h2·id="failover"·class="section-heading">184 <code·class="inline">application:stop(Application)</code>·at·all·involved·nodes.</p><h2·id="failover"·class="section-heading">
185 ··<a·href="#failover"·class="hover-link">185 ··<a·href="#failover"·class="hover-link">
Offset 187, 30 lines modifiedOffset 187, 30 lines modified
187 ··</a>187 ··</a>
188 ··<span·class="text">Failover</span>188 ··<span·class="text">Failover</span>
189 </h2>189 </h2>
190 <p>If·the·node·where·the·application·is·running·goes·down,·the·application·is190 <p>If·the·node·where·the·application·is·running·goes·down,·the·application·is
191 restarted·(after·the·specified·time-out)·at·the·first·operational·node·that·is191 restarted·(after·the·specified·time-out)·at·the·first·operational·node·that·is
192 listed·in·the·list·of·nodes·in·the·<code·class="inline">distributed</code>·configuration·parameter.·This192 listed·in·the·list·of·nodes·in·the·<code·class="inline">distributed</code>·configuration·parameter.·This
193 is·called·a·<em>failover</em>.</p><p>The·application·is·started·the·normal·way·at·the·new·node,·that·is,·by·the193 is·called·a·<em>failover</em>.</p><p>The·application·is·started·the·normal·way·at·the·new·node,·that·is,·by·the
194 application·master·calling:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Module</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="0374358761-1">(</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StartArgs</span><span·class="p"·data-group-id="0374358761-1">)</span></code></pre><p>An·exception·is·if·the·application·has·the·<code·class="inline">start_phases</code>·key·defined·(see194 application·master·calling:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Module</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="0141929510-1">(</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StartArgs</span><span·class="p"·data-group-id="0141929510-1">)</span></code></pre><p>An·exception·is·if·the·application·has·the·<code·class="inline">start_phases</code>·key·defined·(see
195 <a·href="included_applications.html">Included·Applications</a>).·The·application·is·then195 <a·href="included_applications.html">Included·Applications</a>).·The·application·is·then
196 instead·started·by·calling:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Module</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="3703504650-1">(</span><span·class="p"·data-group-id="3703504650-2">{</span><span·class="ss">failover</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="3703504650-2">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·100,·SHA:·68bca24462183d4a253793c112d942a18fe38427657a746fad4519b6fb55b13d·...·]-1">)</span></code></pre><p>Here·<code·class="inline">Node</code>·is·the·terminated·node.</p><p><em>Example:</em></p><p>If·<code·class="inline">cp1</code>·goes·down,·the·system·checks·which·one·of·the·other·nodes,·<code·class="inline">cp2</code>·or196 instead·started·by·calling:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Module</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="0082132429-1">(</span><span·class="p"·data-group-id="0082132429-2">{</span><span·class="ss">failover</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="0082132429-2">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·100,·SHA:·e9d9c3f3ff0a859cdd37c2d3bc21ae89eccfd497667138715bda937c11e2e388·...·]-1">)</span></code></pre><p>Here·<code·class="inline">Node</code>·is·the·terminated·node.</p><p><em>Example:</em></p><p>If·<code·class="inline">cp1</code>·goes·down,·the·system·checks·which·one·of·the·other·nodes,·<code·class="inline">cp2</code>·or
197 <code·class="inline">cp3</code>,·has·the·least·number·of·running·applications,·but·waits·for·5·seconds·for197 <code·class="inline">cp3</code>,·has·the·least·number·of·running·applications,·but·waits·for·5·seconds·for
198 <code·class="inline">cp1</code>·to·restart.·If·<code·class="inline">cp1</code>·does·not·restart·and·<code·class="inline">cp2</code>·runs·fewer·applications198 <code·class="inline">cp1</code>·to·restart.·If·<code·class="inline">cp1</code>·does·not·restart·and·<code·class="inline">cp2</code>·runs·fewer·applications
199 than·<code·class="inline">cp3</code>,·<code·class="inline">myapp</code>·is·restarted·on·<code·class="inline">cp2</code>.</p><p><a·href=""·id="dist2"></a></p><p><img·src="assets/dist2.gif"·alt="Application·myapp·-·Situation·2"·title="Application·myapp·-·Situation·2"/></p><p>Suppose·now·that·<code·class="inline">cp2</code>·goes·also·down·and·does·not·restart·within·5·seconds.199 than·<code·class="inline">cp3</code>,·<code·class="inline">myapp</code>·is·restarted·on·<code·class="inline">cp2</code>.</p><p><a·href=""·id="dist2"></a></p><p><img·src="assets/dist2.gif"·alt="Application·myapp·-·Situation·2"·title="Application·myapp·-·Situation·2"/></p><p>Suppose·now·that·<code·class="inline">cp2</code>·goes·also·down·and·does·not·restart·within·5·seconds.
200 <code·class="inline">myapp</code>·is·now·restarted·on·<code·class="inline">cp3</code>.</p><p><a·href=""·id="dist3"></a></p><p><img·src="assets/dist3.gif"·alt="Application·myapp·-·Situation·3"·title="Application·myapp·-·Situation·3"/></p><h2·id="takeover"·class="section-heading">200 <code·class="inline">myapp</code>·is·now·restarted·on·<code·class="inline">cp3</code>.</p><p><a·href=""·id="dist3"></a></p><p><img·src="assets/dist3.gif"·alt="Application·myapp·-·Situation·3"·title="Application·myapp·-·Situation·3"/></p><h2·id="takeover"·class="section-heading">
201 ··<a·href="#takeover"·class="hover-link">201 ··<a·href="#takeover"·class="hover-link">
202 ····<i·class="ri-link-m"·aria-hidden="true"></i>202 ····<i·class="ri-link-m"·aria-hidden="true"></i>
203 ··</a>203 ··</a>
204 ··<span·class="text">Takeover</span>204 ··<span·class="text">Takeover</span>
205 </h2>205 </h2>
206 <p>If·a·node·is·started,·which·has·higher·priority·according·to·<code·class="inline">distributed</code>·than206 <p>If·a·node·is·started,·which·has·higher·priority·according·to·<code·class="inline">distributed</code>·than
207 the·node·where·a·distributed·application·is·running,·the·application·is207 the·node·where·a·distributed·application·is·running,·the·application·is
208 restarted·at·the·new·node·and·stopped·at·the·old·node.·This·is·called·a208 restarted·at·the·new·node·and·stopped·at·the·old·node.·This·is·called·a
209 <em>takeover</em>.</p><p>The·application·is·started·by·the·application·master·calling:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Module</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="2832606017-1">(</span><span·class="p"·data-group-id="2832606017-2">{</span><span·class="ss">takeover</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="2832606017-2">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·100,·SHA:·01da6821e722735ba115d8f065be272e0d89b5f90e3ccbbf1d919dc42e507f7a·...·]-1">)</span></code></pre><p>Here·<code·class="inline">Node</code>·is·the·old·node.</p><p><em>Example:</em></p><p>If·<code·class="inline">myapp</code>·is·running·at·<code·class="inline">cp3</code>,·and·if·<code·class="inline">cp2</code>·now·restarts,·it·does·not·restart209 <em>takeover</em>.</p><p>The·application·is·started·by·the·application·master·calling:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Module</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="6649527490-1">(</span><span·class="p"·data-group-id="6649527490-2">{</span><span·class="ss">takeover</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="6649527490-2">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·100,·SHA:·5e7cb9be52e3a875a0b2693b01bbec74db954f58d9dae083903651cdc7dbbaa6·...·]-1">)</span></code></pre><p>Here·<code·class="inline">Node</code>·is·the·old·node.</p><p><em>Example:</em></p><p>If·<code·class="inline">myapp</code>·is·running·at·<code·class="inline">cp3</code>,·and·if·<code·class="inline">cp2</code>·now·restarts,·it·does·not·restart
210 <code·class="inline">myapp</code>,·as·the·order·between·the·<code·class="inline">cp2</code>·and·<code·class="inline">cp3</code>·nodes·is·undefined.</p><p><a·href=""·id="dist4"></a></p><p><img·src="assets/dist4.gif"·alt="Application·myapp·-·Situation·4"·title="Application·myapp·-·Situation·4"/></p><p>However,·if·<code·class="inline">cp1</code>·also·restarts,·the·function·<a·href="../../lib/kernel-10.3/doc/html/application.html#takeover/2"><code·class="inline">application:takeover/2</code></a>·moves210 <code·class="inline">myapp</code>,·as·the·order·between·the·<code·class="inline">cp2</code>·and·<code·class="inline">cp3</code>·nodes·is·undefined.</p><p><a·href=""·id="dist4"></a></p><p><img·src="assets/dist4.gif"·alt="Application·myapp·-·Situation·4"·title="Application·myapp·-·Situation·4"/></p><p>However,·if·<code·class="inline">cp1</code>·also·restarts,·the·function·<a·href="../../lib/kernel-10.3/doc/html/application.html#takeover/2"><code·class="inline">application:takeover/2</code></a>·moves
211 <code·class="inline">myapp</code>·to·<code·class="inline">cp1</code>,·as·<code·class="inline">cp1</code>·has·a·higher·priority·than·<code·class="inline">cp3</code>·for·this211 <code·class="inline">myapp</code>·to·<code·class="inline">cp1</code>,·as·<code·class="inline">cp1</code>·has·a·higher·priority·than·<code·class="inline">cp3</code>·for·this
212 application.·In·this·case,·<code·class="inline">Module:start({takeover,·cp3@cave},·StartArgs)</code>·is212 application.·In·this·case,·<code·class="inline">Module:start({takeover,·cp3@cave},·StartArgs)</code>·is
213 executed·at·<code·class="inline">cp1</code>·to·start·the·application.</p><p><a·href=""·id="dist5"></a></p><p><img·src="assets/dist5.gif"·alt="Application·myapp·-·Situation·5"·title="Application·myapp·-·Situation·5"/></p>213 executed·at·<code·class="inline">cp1</code>·to·start·the·application.</p><p><a·href=""·id="dist5"></a></p><p><img·src="assets/dist5.gif"·alt="Application·myapp·-·Situation·5"·title="Application·myapp·-·Situation·5"/></p>
214 </div>214 </div>
  
215 <div·class="bottom-actions"·id="bottom-actions">215 <div·class="bottom-actions"·id="bottom-actions">
Offset 257, 15 lines modifiedOffset 257, 15 lines modified
257 ······<p·class="built-using">257 ······<p·class="built-using">
258 ········Built·using258 ········Built·using
259 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the259 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
260 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>260 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
261 ······</p>261 ······</p>
262 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>262 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
263 ····</footer>263 ····</footer>
264 ··</div>264 ··</div>
265 </main>265 </main>
266 </div>266 </div>
267 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>267 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
268 ··<script>268 ··<script>
269 ··let·initialized·=·false;269 ··let·initialized·=·false;
676 B
html2text {}
Max HTML report size reached
66.6 KB
./usr/share/doc/erlang-doc/html/doc/system/documentation.html
    
Offset 112, 23 lines modifiedOffset 112, 23 lines modified
112 ······</a>112 ······</a>
  
  
113 ····<span>Documentation</span>113 ····<span>Documentation</span>
114 ··</h1>114 ··</h1>
  
115 <p>Documentation·in·Erlang·is·done·through·the·<code·class="inline">-moduledoc</code>·and·<code·class="inline">-doc</code>115 <p>Documentation·in·Erlang·is·done·through·the·<code·class="inline">-moduledoc</code>·and·<code·class="inline">-doc</code>
116 <a·href="modules.html#module-attributes">attributes</a>.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6674816936-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="6674816936-1">)</span><span·class="p">.</span><span·class="w">116 <a·href="modules.html#module-attributes">attributes</a>.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8730218929-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="8730218929-1">)</span><span·class="p">.</span><span·class="w">
117 </span><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="s">&quot;&quot;&quot;117 </span><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="s">&quot;&quot;&quot;
118 A·module·for·basic·arithmetic.118 A·module·for·basic·arithmetic.
119 &quot;&quot;&quot;</span><span·class="p">.</span><span·class="w">119 &quot;&quot;&quot;</span><span·class="p">.</span><span·class="w">
120 </span><span·class="w">120 </span><span·class="w">
121 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6674816936-2">(</span><span·class="p"·data-group-id="6674816936-3">[</span><span·class="ss">add</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="6674816936-3">]</span><span·class="p"·data-group-id="6674816936-2">)</span><span·class="p">.</span><span·class="w">121 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8730218929-2">(</span><span·class="p"·data-group-id="8730218929-3">[</span><span·class="ss">add</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="8730218929-3">]</span><span·class="p"·data-group-id="8730218929-2">)</span><span·class="p">.</span><span·class="w">
122 </span><span·class="w">122 </span><span·class="w">
123 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;Adds·two·numbers.&quot;</span><span·class="p">.</span><span·class="w">123 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;Adds·two·numbers.&quot;</span><span·class="p">.</span><span·class="w">
124 </span><span·class="nf">add</span><span·class="p"·data-group-id="6674816936-4">(</span><span·class="n">One</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Two</span><span·class="p"·data-group-id="6674816936-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">One</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Two</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">-moduledoc</code>·attribute·has·to·be·located·before·the·first·<code·class="inline">-doc</code>·attribute124 </span><span·class="nf">add</span><span·class="p"·data-group-id="8730218929-4">(</span><span·class="n">One</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Two</span><span·class="p"·data-group-id="8730218929-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">One</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Two</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">-moduledoc</code>·attribute·has·to·be·located·before·the·first·<code·class="inline">-doc</code>·attribute
125 or·function·declaration.·It·documents·the·overall·purpose·of·the·module.</p><p>The·<code·class="inline">-doc</code>·attribute·always·precedes·the·<a·href="ref_man_functions.html">function</a>·or125 or·function·declaration.·It·documents·the·overall·purpose·of·the·module.</p><p>The·<code·class="inline">-doc</code>·attribute·always·precedes·the·<a·href="ref_man_functions.html">function</a>·or
126 <a·href="modules.html#module-attributes">attribute</a>·it·documents.·The126 <a·href="modules.html#module-attributes">attribute</a>·it·documents.·The
127 attributes·that·can·be·documented·are127 attributes·that·can·be·documented·are
128 <a·href="typespec.html#type-declarations-of-user-defined-types">user-defined·types</a>128 <a·href="typespec.html#type-declarations-of-user-defined-types">user-defined·types</a>
129 (<code·class="inline">-type</code>·and·<code·class="inline">-opaque</code>)·and129 (<code·class="inline">-type</code>·and·<code·class="inline">-opaque</code>)·and
130 <a·href="modules.html#behaviour-module-attribute">behaviour·module·attributes</a>130 <a·href="modules.html#behaviour-module-attribute">behaviour·module·attributes</a>
131 (<code·class="inline">-callback</code>).</p><p>By·default·the·format·used·for·documentation·attributes·is131 (<code·class="inline">-callback</code>).</p><p>By·default·the·format·used·for·documentation·attributes·is
Offset 140, 55 lines modifiedOffset 140, 55 lines modified
140 <a·href="modules.html#documentation-attributes">Documentation·Attributes</a>.</p><p><code·class="inline">-doc</code>·attributes·have·been·available·since·Erlang/OTP·27.</p><h2·id="documentation-metadata"·class="section-heading">140 <a·href="modules.html#documentation-attributes">Documentation·Attributes</a>.</p><p><code·class="inline">-doc</code>·attributes·have·been·available·since·Erlang/OTP·27.</p><h2·id="documentation-metadata"·class="section-heading">
141 ··<a·href="#documentation-metadata"·class="hover-link">141 ··<a·href="#documentation-metadata"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Documentation·metadata</span>144 ··<span·class="text">Documentation·metadata</span>
145 </h2>145 </h2>
146 <p>It·is·possible·to·add·metadata·to·the·documentation·entry.·You·do·this·by·adding146 <p>It·is·possible·to·add·metadata·to·the·documentation·entry.·You·do·this·by·adding
147 a·<code·class="inline">-moduledoc</code>·or·<code·class="inline">-doc</code>·attribute·with·a·map·as·argument.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5702151686-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="5702151686-1">)</span><span·class="p">.</span><span·class="w">147 a·<code·class="inline">-moduledoc</code>·or·<code·class="inline">-doc</code>·attribute·with·a·map·as·argument.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4362213335-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="4362213335-1">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="s">&quot;&quot;&quot;148 </span><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="s">&quot;&quot;&quot;
149 A·module·for·basic·arithmetic.149 A·module·for·basic·arithmetic.
150 &quot;&quot;&quot;</span><span·class="p">.</span><span·class="w">150 &quot;&quot;&quot;</span><span·class="p">.</span><span·class="w">
151 </span><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="p"·data-group-id="5702151686-2">#{</span><span·class="ss">since</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;1.0&quot;</span><span·class="p"·data-group-id="5702151686-2">}</span><span·class="p">.</span><span·class="w">151 </span><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="p"·data-group-id="4362213335-2">#{</span><span·class="ss">since</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;1.0&quot;</span><span·class="p"·data-group-id="4362213335-2">}</span><span·class="p">.</span><span·class="w">
152 </span><span·class="w">152 </span><span·class="w">
153 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5702151686-3">(</span><span·class="p"·data-group-id="5702151686-4">[</span><span·class="ss">add</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="5702151686-4">]</span><span·class="p"·data-group-id="5702151686-3">)</span><span·class="p">.</span><span·class="w">153 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4362213335-3">(</span><span·class="p"·data-group-id="4362213335-4">[</span><span·class="ss">add</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="4362213335-4">]</span><span·class="p"·data-group-id="4362213335-3">)</span><span·class="p">.</span><span·class="w">
154 </span><span·class="w">154 </span><span·class="w">
155 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;Adds·two·numbers.&quot;</span><span·class="p">.</span><span·class="w">155 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;Adds·two·numbers.&quot;</span><span·class="p">.</span><span·class="w">
156 </span><span·class="p">-</span><span·class="na">doc</span><span·class="p"·data-group-id="5702151686-5">(</span><span·class="p"·data-group-id="5702151686-6">#{</span><span·class="ss">since</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;1.0&quot;</span><span·class="p"·data-group-id="570215[·...·truncated·by·diffoscope;·len:·57,·SHA:·f4066d475c570f92c636f7ba2e8fc358abd0b88814bd306be2e43ed6dc790bbf·...·]-5">)</span><span·class="p">.</span><span·class="w">156 </span><span·class="p">-</span><span·class="na">doc</span><span·class="p"·data-group-id="4362213335-5">(</span><span·class="p"·data-group-id="4362213335-6">#{</span><span·class="ss">since</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;1.0&quot;</span><span·class="p"·data-group-id="436221[·...·truncated·by·diffoscope;·len:·57,·SHA:·1ee9d387bb9892f9c93de9601496295cb1f7f4c3a308cdd6d842df85756150d6·...·]-5">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="nf">add</span><span·class="p"·data-group-id="5702151686-7">(</span><span·class="n">One</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Two</span><span·class="p"·data-group-id="5702151686-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">One</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Two</span><span·class="p">.</span></code></pre><p>The·metadata·is·used·by·documentation·tools·to·provide·extra·information·to·the157 </span><span·class="nf">add</span><span·class="p"·data-group-id="4362213335-7">(</span><span·class="n">One</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Two</span><span·class="p"·data-group-id="4362213335-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">One</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Two</span><span·class="p">.</span></code></pre><p>The·metadata·is·used·by·documentation·tools·to·provide·extra·information·to·the
158 user.·There·can·be·multiple·metadata·documentation·entries,·in·which·case·the158 user.·There·can·be·multiple·metadata·documentation·entries,·in·which·case·the
159 maps·will·be·merged·with·the·latest·taking·precedence·if·there·are·duplicate159 maps·will·be·merged·with·the·latest·taking·precedence·if·there·are·duplicate
160 keys.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;Adds·two·numbers.&quot;</span><span·class="p">.</span><span·class="w">160 keys.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;Adds·two·numbers.&quot;</span><span·class="p">.</span><span·class="w">
161 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="p"·data-group-id="2670159918-1">#{</span><span·class="ss">since</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;1.0&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">author</span><span·class=[·...·truncated·by·diffoscope;·len:·142,·SHA:·9956889e7b2c07116e941549360c300b139f399612a8c304368bfad413b0a707·...·]8-1">}</span><span·class="p">.</span><span·class="w">161 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="p"·data-group-id="6981750838-1">#{</span><span·class="ss">since</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;1.0&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">author</span><span·class=[·...·truncated·by·diffoscope;·len:·142,·SHA:·be5e92571e23dbd3156e812d4c7a73e244f2c4be524ed3e57601b666f1c4775e·...·]8-1">}</span><span·class="p">.</span><span·class="w">
162 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="p"·data-group-id="2670159918-2">#{</span><span·class="ss">since</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;2.0&quot;</span><span·class="p"·data-group-id="2670159918-2">}</span><span·class="p">.</span><span·class="w">162 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="p"·data-group-id="6981750838-2">#{</span><span·class="ss">since</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;2.0&quot;</span><span·class="p"·data-group-id="6981750838-2">}</span><span·class="p">.</span><span·class="w">
163 </span><span·class="nf">add</span><span·class="p"·data-group-id="2670159918-3">(</span><span·class="n">One</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Two</span><span·class="p"·data-group-id="2670159918-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">One</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Two</span><span·class="p">.</span></code></pre><p>This·will·result·in·a·metadata·entry·of·<code·class="inline">#{since·=&gt;·&quot;2.0&quot;,·author·=&gt;·&quot;Joe&quot;}</code>.</p><p>The·keys·and·values·in·the·metadata·map·can·be·any·type,·but·it·is·recommended163 </span><span·class="nf">add</span><span·class="p"·data-group-id="6981750838-3">(</span><span·class="n">One</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Two</span><span·class="p"·data-group-id="6981750838-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">One</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Two</span><span·class="p">.</span></code></pre><p>This·will·result·in·a·metadata·entry·of·<code·class="inline">#{since·=&gt;·&quot;2.0&quot;,·author·=&gt;·&quot;Joe&quot;}</code>.</p><p>The·keys·and·values·in·the·metadata·map·can·be·any·type,·but·it·is·recommended
164 that·only·<a·href="data_types.html#atom">atoms</a>·are·used·for·keys·and164 that·only·<a·href="data_types.html#atom">atoms</a>·are·used·for·keys·and
165 <a·href="data_types.html#string">strings</a>·for·the·values.</p><h2·id="external-documentation-files"·class="section-heading">165 <a·href="data_types.html#string">strings</a>·for·the·values.</p><h2·id="external-documentation-files"·class="section-heading">
166 ··<a·href="#external-documentation-files"·class="hover-link">166 ··<a·href="#external-documentation-files"·class="hover-link">
167 ····<i·class="ri-link-m"·aria-hidden="true"></i>167 ····<i·class="ri-link-m"·aria-hidden="true"></i>
168 ··</a>168 ··</a>
169 ··<span·class="text">External·documentation·files</span>169 ··<span·class="text">External·documentation·files</span>
170 </h2>170 </h2>
171 <p>The·<code·class="inline">-moduledoc</code>·and·<code·class="inline">-doc</code>·can·also·be·placed·in·external·files.·To·do·so·use171 <p>The·<code·class="inline">-moduledoc</code>·and·<code·class="inline">-doc</code>·can·also·be·placed·in·external·files.·To·do·so·use
172 <code·class="inline">-doc·{file,·&quot;path/to/doc.md&quot;}</code>·to·point·to·the·documentation.·The·path·used·is172 <code·class="inline">-doc·{file,·&quot;path/to/doc.md&quot;}</code>·to·point·to·the·documentation.·The·path·used·is
173 relative·to·the·file·where·the·<code·class="inline">-doc</code>·attribute·is·located.·For·example:</p><pre><code·class="markdown">%%·doc/add.md173 relative·to·the·file·where·the·<code·class="inline">-doc</code>·attribute·is·located.·For·example:</p><pre><code·class="markdown">%%·doc/add.md
174 Adds·two·numbers.</code></pre><p>and</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·src/arith.erl</span><span·class="w">174 Adds·two·numbers.</code></pre><p>and</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·src/arith.erl</span><span·class="w">
175 </span><span·class="p">-</span><span·class="na">doc</span><span·class="p"·data-group-id="9157371732-1">(</span><span·class="p"·data-group-id="9157371732-2">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;../doc/add.md&quot;</span><span·class="p"·data-group-id="9157371732-2">}</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·2c1ab9640c6e84393c3066fe4f0d48aa5f941d691be85d64b1bf2e688d250246·...·]-1">)</span><span·class="p">.</span><span·class="w">175 </span><span·class="p">-</span><span·class="na">doc</span><span·class="p"·data-group-id="5135018688-1">(</span><span·class="p"·data-group-id="5135018688-2">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;../doc/add.md&quot;</span><span·class="p"·data-group-id="5135018688-2">}</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·67e9e6d91594b758e3e6970c639829dbbab59476c8d64f22170fe3f76f41e2ed·...·]-1">)</span><span·class="p">.</span><span·class="w">
176 </span><span·class="nf">add</span><span·class="p"·data-group-id="9157371732-3">(</span><span·class="n">One</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Two</span><span·class="p"·data-group-id="9157371732-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">One</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Two</span><span·class="p">.</span></code></pre><h2·id="documenting-a-module"·class="section-heading">176 </span><span·class="nf">add</span><span·class="p"·data-group-id="5135018688-3">(</span><span·class="n">One</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Two</span><span·class="p"·data-group-id="5135018688-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">One</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Two</span><span·class="p">.</span></code></pre><h2·id="documenting-a-module"·class="section-heading">
177 ··<a·href="#documenting-a-module"·class="hover-link">177 ··<a·href="#documenting-a-module"·class="hover-link">
178 ····<i·class="ri-link-m"·aria-hidden="true"></i>178 ····<i·class="ri-link-m"·aria-hidden="true"></i>
179 ··</a>179 ··</a>
180 ··<span·class="text">Documenting·a·module</span>180 ··<span·class="text">Documenting·a·module</span>
181 </h2>181 </h2>
182 <p>The·module·description·should·include·details·on·how·to·use·the·API·and·examples182 <p>The·module·description·should·include·details·on·how·to·use·the·API·and·examples
183 of·the·different·functions·working·together.·Here·is·a·good·place·to·use·images183 of·the·different·functions·working·together.·Here·is·a·good·place·to·use·images
184 and·other·diagrams·to·better·show·the·usage·of·the·module.·Instead·of·writing·a184 and·other·diagrams·to·better·show·the·usage·of·the·module.·Instead·of·writing·a
185 long·text·in·the·<code·class="inline">moduledoc</code>·attribute,·it·could·be·better·to·break·it·out·into185 long·text·in·the·<code·class="inline">moduledoc</code>·attribute,·it·could·be·better·to·break·it·out·into
186 an·external·page.</p><p>The·<code·class="inline">moduledoc</code>·attribute·should·start·with·a·short·paragraph·describing·the186 an·external·page.</p><p>The·<code·class="inline">moduledoc</code>·attribute·should·start·with·a·short·paragraph·describing·the
187 module·and·then·go·into·greater·details.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4241491653-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="4241491653-1">)</span><span·class="p">.</span><span·class="w">187 module·and·then·go·into·greater·details.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5467954484-1">(</span><span·class="ss">arith</span><span·class="p"·data-group-id="5467954484-1">)</span><span·class="p">.</span><span·class="w">
188 </span><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="s">&quot;188 </span><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="s">&quot;
189 ···A·module·for·basic·arithmetic.189 ···A·module·for·basic·arithmetic.
  
190 ···This·module·can·be·used·to·add·and·subtract·values.·For·example:190 ···This·module·can·be·used·to·add·and·subtract·values.·For·example:
  
191 ···```erlang191 ···```erlang
192 ···1&gt;·arith:substract(arith:add(2,·3),·1).192 ···1&gt;·arith:substract(arith:add(2,·3),·1).
Offset 203, 96 lines modifiedOffset 203, 96 lines modified
203 <p>There·are·three·reserved·metadata·keys·for·<code·class="inline">-moduledoc</code>:</p><ul><li><code·class="inline">since·=&gt;·unicode:chardata()</code>·-·Shows·in·which·version·of·the·application·the·module·was·added.203 <p>There·are·three·reserved·metadata·keys·for·<code·class="inline">-moduledoc</code>:</p><ul><li><code·class="inline">since·=&gt;·unicode:chardata()</code>·-·Shows·in·which·version·of·the·application·the·module·was·added.
204 If·this·is·added,·all·functions,·types,·and·callbacks·within·will·also·receive204 If·this·is·added,·all·functions,·types,·and·callbacks·within·will·also·receive
205 the·same·<code·class="inline">since</code>·value·unless·specified·in·the·metadata·of·the·function,·type205 the·same·<code·class="inline">since</code>·value·unless·specified·in·the·metadata·of·the·function,·type
206 or·callback.</li><li><code·class="inline">deprecated·=&gt;·unicode:chardata()</code>·-·Shows·a·text·in·the·documentation·explaining·that·it·is206 or·callback.</li><li><code·class="inline">deprecated·=&gt;·unicode:chardata()</code>·-·Shows·a·text·in·the·documentation·explaining·that·it·is
207 deprecated·and·what·to·use·instead.</li><li><code·class="inline">format·=&gt;·unicode:chardata()</code>·-·The·format·to·use·for·all·documentation·in·this·module.·The207 deprecated·and·what·to·use·instead.</li><li><code·class="inline">format·=&gt;·unicode:chardata()</code>·-·The·format·to·use·for·all·documentation·in·this·module.·The
208 default·is·<code·class="inline">text/markdown</code>.·It·should·be·written·using·the208 default·is·<code·class="inline">text/markdown</code>.·It·should·be·written·using·the
209 <a·href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">mime·type</a>209 <a·href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">mime·type</a>
210 of·the·format.</li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="p"·data-group-id="7623011801-1">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;../doc/arith.asciidoc&quot;</span><span·class="p"·data-group-id="7623011801-1">}</span><span·class="p">.</span><span·class="w">210 of·the·format.</li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="p"·data-group-id="8069405939-1">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;../doc/arith.asciidoc&quot;</span><span·class="p"·data-group-id="8069405939-1">}</span><span·class="p">.</span><span·class="w">
211 </span><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="p"·data-group-id="7623011801-2">#{</span><span·class="ss">since</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;0.1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">format</span><span·class=[·...·truncated·by·diffoscope;·len:·153,·SHA:·36dae0c730975bca2a08b6fe264800863ef8b48d47c6a71fa146ffa07080f075·...·]-2">}</span><span·class="p">.</span><span·class="w">211 </span><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="p"·data-group-id="8069405939-2">#{</span><span·class="ss">since</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;0.1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">format</span><span·class=[·...·truncated·by·diffoscope;·len:·153,·SHA:·134dcabac5a36cd72695a94b5c8461f2871e0031f58111075d224463f524e3e3·...·]-2">}</span><span·class="p">.</span><span·class="w">
212 </span><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="p"·data-group-id="7623011801-3">#{</span><span·class="ss">deprecated</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;Use·the·Erlang·arithmetic·operators·instead.&quot;</span><span·class="p"·data-group-id="7623011801-3">}</span><span·class="p">.</span></code></pre><h2·id="documenting-functions-user-defined-types-and-callbacks"·class="section-heading">212 </span><span·class="p">-</span><span·class="na">moduledoc</span><span·class="w">·</span><span·class="p"·data-group-id="8069405939-3">#{</span><span·class="ss">deprecated</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;Use·the·Erlang·arithmetic·operators·instead.&quot;</span><span·class="p"·data-group-id="8069405939-3">}</span><span·class="p">.</span></code></pre><h2·id="documenting-functions-user-defined-types-and-callbacks"·class="section-heading">
213 ··<a·href="#documenting-functions-user-defined-types-and-callbacks"·class="hover-link">213 ··<a·href="#documenting-functions-user-defined-types-and-callbacks"·class="hover-link">
214 ····<i·class="ri-link-m"·aria-hidden="true"></i>214 ····<i·class="ri-link-m"·aria-hidden="true"></i>
215 ··</a>215 ··</a>
216 ··<span·class="text">Documenting·functions,·user-defined·types,·and·callbacks</span>216 ··<span·class="text">Documenting·functions,·user-defined·types,·and·callbacks</span>
217 </h2>217 </h2>
218 <p>Functions,·types,·and·callbacks·can·be·documented·using·the·<code·class="inline">-doc</code>·attribute.218 <p>Functions,·types,·and·callbacks·can·be·documented·using·the·<code·class="inline">-doc</code>·attribute.
219 Each·entry·should·start·with·a·short·paragraph·describing·the·purpose·of·entity,219 Each·entry·should·start·with·a·short·paragraph·describing·the·purpose·of·entity,
220 and·then·go·into·greater·detail·in·needed.</p><p>It·is·not·recommended·to·include·images·or·diagrams·in·this·documentation·as·it220 and·then·go·into·greater·detail·in·needed.</p><p>It·is·not·recommended·to·include·images·or·diagrams·in·this·documentation·as·it
221 is·used·by·IDEs·and·<a·href="../../lib/stdlib-7.0/doc/html/c.html#h/1"><code·class="inline">c:h/1</code></a>·to·show·the·documentation·to·the·user.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;&quot;&quot;221 is·used·by·IDEs·and·<a·href="../../lib/stdlib-7.0/doc/html/c.html#h/1"><code·class="inline">c:h/1</code></a>·to·show·the·documentation·to·the·user.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;&quot;&quot;
222 A·number·that·can·be·used·by·the·arith·module.222 A·number·that·can·be·used·by·the·arith·module.
  
223 We·use·a·special·number·here·so·that·we·know223 We·use·a·special·number·here·so·that·we·know
224 that·this·number·comes·from·this·module.224 that·this·number·comes·from·this·module.
225 &quot;&quot;&quot;</span><span·class="p">.</span><span·class="w">225 &quot;&quot;&quot;</span><span·class="p">.</span><span·class="w">
226 </span><span·class="p">-</span><span·class="na">opaque</span><span·class="w">·</span><span·class="nf">number</span><span·class="p"·data-group-id="1594095923-1">(</span><span·class="p"·data-group-id="1594095923-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="1594095923-2">{</span><span·class="ss">arith</span><sp[·...·truncated·by·diffoscope;·len:·276,·SHA:·611366ef66f600d0ced8bc35bbf751e5dbae0a712eb188311c9302915d4720fb·...·]-2">}</span><span·class="p">.</span><span·class="w">226 </span><span·class="p">-</span><span·class="na">opaque</span><span·class="w">·</span><span·class="nf">number</span><span·class="p"·data-group-id="2399875709-1">(</span><span·class="p"·data-group-id="2399875709-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="2399875709-2">{</span><span·class="ss">arith</span><sp[·...·truncated·by·diffoscope;·len:·276,·SHA:·28e5c65ed1b55f44f7635c39772bc884420ffe7fe75bfea281243f74038fba49·...·]-2">}</span><span·class="p">.</span><span·class="w">
227 </span><span·class="w">227 </span><span·class="w">
228 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;&quot;&quot;228 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;&quot;&quot;
229 Adds·two·numbers.229 Adds·two·numbers.
  
230 ###·Example:230 ###·Example:
  
231 ```231 ```
232 1&gt;·arith:add(arith:number(1),·arith:number(2)).·{number,·3}232 1&gt;·arith:add(arith:number(1),·arith:number(2)).·{number,·3}
233 ```233 ```
234 &quot;&quot;&quot;</span><span·class="p">.</span><span·class="w">234 &quot;&quot;&quot;</span><span·class="p">.</span><span·class="w">
235 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">add</span><span·class="p"·data-group-id="1594095923-4">(</span><span·class="nf">number</span><span·class="p"·data-group-id="1594095923-5">(</span><span·class="p"·data-group-id="1594095923-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">number</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·339,·SHA:·ebc3e210b28fd940a59ecee40e68f1497e80f474a09b9a8fe4001a1d947a7c10·...·]-7">)</span><span·class="p">.</span><span·class="w">235 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">add</span><span·class="p"·data-group-id="2399875709-4">(</span><span·class="nf">number</span><span·class="p"·data-group-id="2399875709-5">(</span><span·class="p"·data-group-id="2399875709-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">number</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·339,·SHA:·c47a02ba955fa1f4bb56f34c38613d0aa7634f2c00f34b2c8e52c39c9b182eda·...·]-7">)</span><span·class="p">.</span><span·class="w">
236 </span><span·class="nf">add</span><span·class="p"·data-group-id="1594095923-8">(</span><span·class="p"·data-group-id="1594095923-9">{</span><span·class="ss">number</span><span·class="p">,</span><span·class="w">·</span><span·class="n">One</span><span·class="p"·data-group-id="1594095923-9">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·662,·SHA:·c57917e0bce4ef4d43d723d141d3a044d347ceb231ae0b589953499eff1038ef·...·]-11">}</span><span·class="p">.</span></code></pre><h3·id="doc-metadata"·class="section-heading">236 </span><span·class="nf">add</span><span·class="p"·data-group-id="2399875709-8">(</span><span·class="p"·data-group-id="2399875709-9">{</span><span·class="ss">number</span><span·class="p">,</span><span·class="w">·</span><span·class="n">One</span><span·class="p"·data-group-id="2399875709-9">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·662,·SHA:·4962185febc1e079e4ff03ef7169e3de7e1b30837f3b4006ef43c1ea18e285ea·...·]-11">}</span><span·class="p">.</span></code></pre><h3·id="doc-metadata"·class="section-heading">
237 ··<a·href="#doc-metadata"·class="hover-link">237 ··<a·href="#doc-metadata"·class="hover-link">
238 ····<i·class="ri-link-m"·aria-hidden="true"></i>238 ····<i·class="ri-link-m"·aria-hidden="true"></i>
239 ··</a>239 ··</a>
240 ··<span·class="text">Doc·metadata</span>240 ··<span·class="text">Doc·metadata</span>
241 </h3>241 </h3>
242 <p>There·are·four·reserved·metadata·keys·for·<code·class="inline">-doc</code>:</p><ul><li><p><code·class="inline">since·=&gt;·unicode:chardata()</code>·-·Shows·which·version·of·the·application·the242 <p>There·are·four·reserved·metadata·keys·for·<code·class="inline">-doc</code>:</p><ul><li><p><code·class="inline">since·=&gt;·unicode:chardata()</code>·-·Shows·which·version·of·the·application·the
243 module·was·added.</p></li><li><p><code·class="inline">deprecated·=&gt;·unicode:chardata()</code>·-·Shows·a·text·in·the·documentation243 module·was·added.</p></li><li><p><code·class="inline">deprecated·=&gt;·unicode:chardata()</code>·-·Shows·a·text·in·the·documentation
244 explaining·that·it·is·deprecated·and·what·to·use·instead.·The·compiler·will244 explaining·that·it·is·deprecated·and·what·to·use·instead.·The·compiler·will
245 automatically·insert·this·key·if·there·is·a·<code·class="inline">-deprecated</code>·attribute·marking·a245 automatically·insert·this·key·if·there·is·a·<code·class="inline">-deprecated</code>·attribute·marking·a
246 function·as·deprecated.</p></li><li><p><code·class="inline">group·=&gt;·unicode:chardata()</code>·-·A·group·that·the·function,·type·or·callback·belongs·to.246 function·as·deprecated.</p></li><li><p><code·class="inline">group·=&gt;·unicode:chardata()</code>·-·A·group·that·the·function,·type·or·callback·belongs·to.
Max diff block lines reached; 38315/67415 bytes (56.83%) of diff not shown.
663 B
html2text {}
Max HTML report size reached
8.64 KB
./usr/share/doc/erlang-doc/html/doc/system/drivers.html
    
Offset 122, 23 lines modifiedOffset 122, 23 lines modified
122 ··<span·class="text">Drivers·and·Concurrency</span>122 ··<span·class="text">Drivers·and·Concurrency</span>
123 </h2>123 </h2>
124 <p>The·runtime·system·always·takes·a·lock·before·running·any·code·in·a·driver.</p><p>By·default,·that·lock·is·at·the·driver·level,·that·is,·if·several·ports·have124 <p>The·runtime·system·always·takes·a·lock·before·running·any·code·in·a·driver.</p><p>By·default,·that·lock·is·at·the·driver·level,·that·is,·if·several·ports·have
125 been·opened·to·the·same·driver,·only·code·for·one·port·at·the·same·time·can·be125 been·opened·to·the·same·driver,·only·code·for·one·port·at·the·same·time·can·be
126 running.</p><p>A·driver·can·be·configured·to·have·one·lock·for·each·port·instead.</p><p>If·a·driver·is·used·in·a·functional·way·(that·is,·holds·no·state,·but·only·does126 running.</p><p>A·driver·can·be·configured·to·have·one·lock·for·each·port·instead.</p><p>If·a·driver·is·used·in·a·functional·way·(that·is,·holds·no·state,·but·only·does
127 some·heavy·calculation·and·returns·a·result),·several·ports·with·registered127 some·heavy·calculation·and·returns·a·result),·several·ports·with·registered
128 names·can·be·opened·beforehand,·and·the·port·to·be·used·can·be·chosen·based·on128 names·can·be·opened·beforehand,·and·the·port·to·be·used·can·be·chosen·based·on
129 the·scheduler·ID·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="4762916501-1">(</span><span·class="n">PORT_NAMES</span><span·class="p"·data-group-id="4762916501-2">(</span><span·class="p"·data-group-id="4762916501-2">)</span><span·class="p">,</span><span·class="w">129 the·scheduler·ID·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="4240739347-1">(</span><span·class="n">PORT_NAMES</span><span·class="p"·data-group-id="4240739347-2">(</span><span·class="p"·data-group-id="4240739347-2">)</span><span·class="p">,</span><span·class="w">
130 »       </span><span·class="p"·data-group-id="4762916501-3">{</span><span·class="ss">some_driver_01</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_02</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_03</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_04</span><span·class="p">,</span><span·class="w">130 »       </span><span·class="p"·data-group-id="4240739347-3">{</span><span·class="ss">some_driver_01</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_02</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_03</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_04</span><span·class="p">,</span><span·class="w">
131 »       ·</span><span·class="ss">some_driver_05</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_06</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_07</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_08</span><span·class="p">,</span><span·class="w">131 »       ·</span><span·class="ss">some_driver_05</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_06</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_07</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_08</span><span·class="p">,</span><span·class="w">
132 »       ·</span><span·class="ss">some_driver_09</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_10</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_11</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_12</span><span·class="p">,</span><span·class="w">132 »       ·</span><span·class="ss">some_driver_09</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_10</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_11</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_12</span><span·class="p">,</span><span·class="w">
133 »       ·</span><span·class="ss">some_driver_13</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_14</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_15</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_16</span><span·class="p"·data-group-id="4762916501-3">}</span><span·class="p"·data-group-id="4762916501-1">)</span><span·class="p">.</span><span·class="w">133 »       ·</span><span·class="ss">some_driver_13</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_14</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_15</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">some_driver_16</span><span·class="p"·data-group-id="4240739347-3">}</span><span·class="p"·data-group-id="4240739347-1">)</span><span·class="p">.</span><span·class="w">
  
134 </span><span·class="nf">client_port</span><span·class="p"·data-group-id="4762916501-4">(</span><span·class="p"·data-group-id="4762916501-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">134 </span><span·class="nf">client_port</span><span·class="p"·data-group-id="4240739347-4">(</span><span·class="p"·data-group-id="4240739347-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
135 ····</span><span·class="nf">element</span><span·class="p"·data-group-id="4762916501-5">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="4762916501-6">(</span><span·class="ss">scheduler_id</span><span·class="p"·data-group-id="4762916501-6">)</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="4762916501-7">(</span><span·class="o">?</span><span·class="n">PORT_NAMES</span><span·class="p"·data-group-id="4762916501-8">(</span><span·class="p"·data-group-id="4762916501-8">)</span><span·class="p"·data-group-id="4762916501-7">)</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w"> 
136 »       ····</span><span·class="o">?</span><span·class="n">PORT_NAMES</span><span·class="p"·data-group-id="4762916501-9">(</span><span·class="p"·data-group-id="4762916501-9">)</span><span·class="p"·data-group-id="4762916501-5">)</span><span·class="p">.</span></co[·...·truncated·by·diffoscope;·len:·89,·SHA:·aa315350b3c5d458adacb1d650a0680f6599dab7560522cff5dacd05f86c84c5·...·]135 ····</span><span·class="nf">element</span><span·class="p"·data-group-id="4240739347-5">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="4240739347-6">(</span><span·class="ss">sc[·...·truncated·by·diffoscope;·len:·585,·SHA:·94e46f2e6efea42b93c7ef2ddbfebe9660f1c0a51d87d942138b6c075355e67a·...·]
 136 »       ····</span><span·class="o">?</span><span·class="n">PORT_NAMES</span><span·class="p"·data-group-id="4240739347-9">(</span><span·class="p"·data-group-id="4240739347-9">)</span><span·class="p"·data-group-id="4240739347-5">)</span><span·class="p">.</span></code></pre><p>As·long·as·there·are·no·more·than·16·schedulers,·there·will·never·be·any·lock
137 contention·on·the·port·lock·for·the·driver.</p><h2·id="avoiding-copying-binaries-when-calling-a-driver"·class="section-heading">137 contention·on·the·port·lock·for·the·driver.</p><h2·id="avoiding-copying-binaries-when-calling-a-driver"·class="section-heading">
138 ··<a·href="#avoiding-copying-binaries-when-calling-a-driver"·class="hover-link">138 ··<a·href="#avoiding-copying-binaries-when-calling-a-driver"·class="hover-link">
139 ····<i·class="ri-link-m"·aria-hidden="true"></i>139 ····<i·class="ri-link-m"·aria-hidden="true"></i>
140 ··</a>140 ··</a>
141 ··<span·class="text">Avoiding·Copying·Binaries·When·Calling·a·Driver</span>141 ··<span·class="text">Avoiding·Copying·Binaries·When·Calling·a·Driver</span>
142 </h2>142 </h2>
143 <p>There·are·basically·two·ways·to·avoid·copying·a·binary·that·is·sent·to·a·driver:</p><ul><li><p>If·the·<code·class="inline">Data</code>·argument·for·<a·href="../../erts-16.0/doc/html/erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>·is·a143 <p>There·are·basically·two·ways·to·avoid·copying·a·binary·that·is·sent·to·a·driver:</p><ul><li><p>If·the·<code·class="inline">Data</code>·argument·for·<a·href="../../erts-16.0/doc/html/erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>·is·a
Offset 225, 15 lines modifiedOffset 225, 15 lines modified
225 ······<p·class="built-using">225 ······<p·class="built-using">
226 ········Built·using226 ········Built·using
227 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the227 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
228 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>228 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
229 ······</p>229 ······</p>
230 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>230 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
231 ····</footer>231 ····</footer>
232 ··</div>232 ··</div>
233 </main>233 </main>
234 </div>234 </div>
235 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>235 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
236 ··<script>236 ··<script>
237 ··let·initialized·=·false;237 ··let·initialized·=·false;
814 B
html2text {}
Max HTML report size reached
34.8 KB
./usr/share/doc/erlang-doc/html/doc/system/eff_guide_functions.html
    
Offset 122, 67 lines modifiedOffset 122, 67 lines modified
122 ··<span·class="text">Pattern·Matching</span>122 ··<span·class="text">Pattern·Matching</span>
123 </h2>123 </h2>
124 <p>Pattern·matching·in·function·head·as·well·as·in·<code·class="inline">case</code>·and·<code·class="inline">receive</code>·clauses·are124 <p>Pattern·matching·in·function·head·as·well·as·in·<code·class="inline">case</code>·and·<code·class="inline">receive</code>·clauses·are
125 optimized·by·the·compiler.·With·a·few·exceptions,·there·is·nothing·to·gain·by125 optimized·by·the·compiler.·With·a·few·exceptions,·there·is·nothing·to·gain·by
126 rearranging·clauses.</p><p>One·exception·is·pattern·matching·of·binaries.·The·compiler·does·not·rearrange126 rearranging·clauses.</p><p>One·exception·is·pattern·matching·of·binaries.·The·compiler·does·not·rearrange
127 clauses·that·match·binaries.·Placing·the·clause·that·matches·against·the·empty127 clauses·that·match·binaries.·Placing·the·clause·that·matches·against·the·empty
128 binary·<em>last</em>·is·usually·slightly·faster·than·placing·it·<em>first</em>.</p><p>The·following·is·a·rather·unnatural·example·to·show·another·exception·where128 binary·<em>last</em>·is·usually·slightly·faster·than·placing·it·<em>first</em>.</p><p>The·following·is·a·rather·unnatural·example·to·show·another·exception·where
129 rearranging·clauses·is·beneficial:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">atom_map1</span><span·class="p"·data-group-id="2557520900-1">(</span><span·class="ss">one</span><span·class="p"·data-group-id="2557520900-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">;</span><span·class="w">129 rearranging·clauses·is·beneficial:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">atom_map1</span><span·class="p"·data-group-id="3361580490-1">(</span><span·class="ss">one</span><span·class="p"·data-group-id="3361580490-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">;</span><span·class="w">
130 </span><span·class="nf">atom_map1</span><span·class="p"·data-group-id="2557520900-2">(</span><span·class="ss">two</span><span·class="p"·data-group-id="2557520900-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">;</span><span·class="w">130 </span><span·class="nf">atom_map1</span><span·class="p"·data-group-id="3361580490-2">(</span><span·class="ss">two</span><span·class="p"·data-group-id="3361580490-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">;</span><span·class="w">
131 </span><span·class="nf">atom_map1</span><span·class="p"·data-group-id="2557520900-3">(</span><span·class="ss">three</span><span·class="p"·data-group-id="2557520900-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">3</span><span·class="p">;</span><span·class="w">131 </span><span·class="nf">atom_map1</span><span·class="p"·data-group-id="3361580490-3">(</span><span·class="ss">three</span><span·class="p"·data-group-id="3361580490-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">3</span><span·class="p">;</span><span·class="w">
132 </span><span·class="nf">atom_map1</span><span·class="p"·data-group-id="2557520900-4">(</span><span·class="n">Int</span><span·class="p"·data-group-id="2557520900-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="2557520900-5">([·...·truncated·by·diffoscope;·len:·73,·SHA:·175f26946bac0ad3e131a07b403be9ab6594dd0b97d4e10646492d40f05949d8·...·]0-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">;</span><span·class="w">132 </span><span·class="nf">atom_map1</span><span·class="p"·data-group-id="3361580490-4">(</span><span·class="n">Int</span><span·class="p"·data-group-id="3361580490-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="3361580490-5">([·...·truncated·by·diffoscope;·len:·73,·SHA:·c8be4fe57d7bdddf793bb9e79137b17edbb0ec2b6e728ebe61c12cc388c91a29·...·]0-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">;</span><span·class="w">
133 </span><span·class="nf">atom_map1</span><span·class="p"·data-group-id="2557520900-6">(</span><span·class="ss">four</span><span·class="p"·data-group-id="2557520900-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">;</span><span·class="w">133 </span><span·class="nf">atom_map1</span><span·class="p"·data-group-id="3361580490-6">(</span><span·class="ss">four</span><span·class="p"·data-group-id="3361580490-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">;</span><span·class="w">
134 </span><span·class="nf">atom_map1</span><span·class="p"·data-group-id="2557520900-7">(</span><span·class="ss">five</span><span·class="p"·data-group-id="2557520900-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">5</span><span·class="p">;</span><span·class="w">134 </span><span·class="nf">atom_map1</span><span·class="p"·data-group-id="3361580490-7">(</span><span·class="ss">five</span><span·class="p"·data-group-id="3361580490-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">5</span><span·class="p">;</span><span·class="w">
135 </span><span·class="nf">atom_map1</span><span·class="p"·data-group-id="2557520900-8">(</span><span·class="ss">six</span><span·class="p"·data-group-id="2557520900-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">6</span><span·class="p">.</span></code></pre><p>The·problem·is·the·clause·with·the·variable·<code·class="inline">Int</code>.·As·a·variable·can·match135 </span><span·class="nf">atom_map1</span><span·class="p"·data-group-id="3361580490-8">(</span><span·class="ss">six</span><span·class="p"·data-group-id="3361580490-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">6</span><span·class="p">.</span></code></pre><p>The·problem·is·the·clause·with·the·variable·<code·class="inline">Int</code>.·As·a·variable·can·match
136 anything,·including·the·atoms·<code·class="inline">four</code>,·<code·class="inline">five</code>,·and·<code·class="inline">six</code>,·which·the·following136 anything,·including·the·atoms·<code·class="inline">four</code>,·<code·class="inline">five</code>,·and·<code·class="inline">six</code>,·which·the·following
137 clauses·also·match,·the·compiler·must·generate·suboptimal·code·that·executes·as137 clauses·also·match,·the·compiler·must·generate·suboptimal·code·that·executes·as
138 follows:</p><ul><li>First,·the·input·value·is·compared·to·<code·class="inline">one</code>,·<code·class="inline">two</code>,·and·<code·class="inline">three</code>·(using·a138 follows:</p><ul><li>First,·the·input·value·is·compared·to·<code·class="inline">one</code>,·<code·class="inline">two</code>,·and·<code·class="inline">three</code>·(using·a
139 single·instruction·that·does·a·binary·search;·thus,·quite·efficient·even·if139 single·instruction·that·does·a·binary·search;·thus,·quite·efficient·even·if
140 there·are·many·values)·to·select·which·one·of·the·first·three·clauses·to140 there·are·many·values)·to·select·which·one·of·the·first·three·clauses·to
141 execute·(if·any).</li><li>If·none·of·the·first·three·clauses·match,·the·fourth·clause·match·as·a141 execute·(if·any).</li><li>If·none·of·the·first·three·clauses·match,·the·fourth·clause·match·as·a
142 variable·always·matches.</li><li>If·the·guard·test·<a·href="../../erts-16.0/doc/html/erlang.html#is_integer/1"><code·class="inline">is_integer(Int)</code></a>·succeeds,·the·fourth142 variable·always·matches.</li><li>If·the·guard·test·<a·href="../../erts-16.0/doc/html/erlang.html#is_integer/1"><code·class="inline">is_integer(Int)</code></a>·succeeds,·the·fourth
143 clause·is·executed.</li><li>If·the·guard·test·fails,·the·input·value·is·compared·to·<code·class="inline">four</code>,·<code·class="inline">five</code>,·and143 clause·is·executed.</li><li>If·the·guard·test·fails,·the·input·value·is·compared·to·<code·class="inline">four</code>,·<code·class="inline">five</code>,·and
144 <code·class="inline">six</code>,·and·the·appropriate·clause·is·selected.·(There·is·a·<code·class="inline">function_clause</code>144 <code·class="inline">six</code>,·and·the·appropriate·clause·is·selected.·(There·is·a·<code·class="inline">function_clause</code>
145 exception·if·none·of·the·values·matched.)</li></ul><p>Rewriting·to·either:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">atom_map2</span><span·class="p"·data-group-id="5963576138-1">(</span><span·class="ss">one</span><span·class="p"·data-group-id="5963576138-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">;</span><span·class="w">145 exception·if·none·of·the·values·matched.)</li></ul><p>Rewriting·to·either:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">atom_map2</span><span·class="p"·data-group-id="8459132355-1">(</span><span·class="ss">one</span><span·class="p"·data-group-id="8459132355-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">;</span><span·class="w">
146 </span><span·class="nf">atom_map2</span><span·class="p"·data-group-id="5963576138-2">(</span><span·class="ss">two</span><span·class="p"·data-group-id="5963576138-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">;</span><span·class="w">146 </span><span·class="nf">atom_map2</span><span·class="p"·data-group-id="8459132355-2">(</span><span·class="ss">two</span><span·class="p"·data-group-id="8459132355-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">;</span><span·class="w">
147 </span><span·class="nf">atom_map2</span><span·class="p"·data-group-id="5963576138-3">(</span><span·class="ss">three</span><span·class="p"·data-group-id="5963576138-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">3</span><span·class="p">;</span><span·class="w">147 </span><span·class="nf">atom_map2</span><span·class="p"·data-group-id="8459132355-3">(</span><span·class="ss">three</span><span·class="p"·data-group-id="8459132355-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">3</span><span·class="p">;</span><span·class="w">
148 </span><span·class="nf">atom_map2</span><span·class="p"·data-group-id="5963576138-4">(</span><span·class="ss">four</span><span·class="p"·data-group-id="5963576138-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">;</span><span·class="w">148 </span><span·class="nf">atom_map2</span><span·class="p"·data-group-id="8459132355-4">(</span><span·class="ss">four</span><span·class="p"·data-group-id="8459132355-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">;</span><span·class="w">
149 </span><span·class="nf">atom_map2</span><span·class="p"·data-group-id="5963576138-5">(</span><span·class="ss">five</span><span·class="p"·data-group-id="5963576138-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">5</span><span·class="p">;</span><span·class="w">149 </span><span·class="nf">atom_map2</span><span·class="p"·data-group-id="8459132355-5">(</span><span·class="ss">five</span><span·class="p"·data-group-id="8459132355-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">5</span><span·class="p">;</span><span·class="w">
150 </span><span·class="nf">atom_map2</span><span·class="p"·data-group-id="5963576138-6">(</span><span·class="ss">six</span><span·class="p"·data-group-id="5963576138-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">6</span><span·class="p">;</span><span·class="w">150 </span><span·class="nf">atom_map2</span><span·class="p"·data-group-id="8459132355-6">(</span><span·class="ss">six</span><span·class="p"·data-group-id="8459132355-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">6</span><span·class="p">;</span><span·class="w">
151 </span><span·class="nf">atom_map2</span><span·class="p"·data-group-id="5963576138-7">(</span><span·class="n">Int</span><span·class="p"·data-group-id="5963576138-7">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="5963576138-8">([·...·truncated·by·diffoscope;·len:·703,·SHA:·f041a2aa78182cc0d89f2f02648983ed9335399a11d7421d3878af112d7617c7·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">;</span><span·class="w">151 </span><span·class="nf">atom_map2</span><span·class="p"·data-group-id="8459132355-7">(</span><span·class="n">Int</span><span·class="p"·data-group-id="8459132355-7">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="8459132355-8">([·...·truncated·by·diffoscope;·len:·703,·SHA:·be80092dc08506c53923093417b90c74193b0ff6ef6fd8167533525a68b4d143·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">;</span><span·class="w">
152 </span><span·class="nf">atom_map3</span><span·class="p"·data-group-id="5789748206-3">(</span><span·class="ss">one</span><span·class="p"·data-group-id="5789748206-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">;</span><span·class="w">152 </span><span·class="nf">atom_map3</span><span·class="p"·data-group-id="5019479375-3">(</span><span·class="ss">one</span><span·class="p"·data-group-id="5019479375-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">;</span><span·class="w">
153 </span><span·class="nf">atom_map3</span><span·class="p"·data-group-id="5789748206-4">(</span><span·class="ss">two</span><span·class="p"·data-group-id="5789748206-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">;</span><span·class="w">153 </span><span·class="nf">atom_map3</span><span·class="p"·data-group-id="5019479375-4">(</span><span·class="ss">two</span><span·class="p"·data-group-id="5019479375-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">;</span><span·class="w">
154 </span><span·class="nf">atom_map3</span><span·class="p"·data-group-id="5789748206-5">(</span><span·class="ss">three</span><span·class="p"·data-group-id="5789748206-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">3</span><span·class="p">;</span><span·class="w">154 </span><span·class="nf">atom_map3</span><span·class="p"·data-group-id="5019479375-5">(</span><span·class="ss">three</span><span·class="p"·data-group-id="5019479375-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">3</span><span·class="p">;</span><span·class="w">
155 </span><span·class="nf">atom_map3</span><span·class="p"·data-group-id="5789748206-6">(</span><span·class="ss">four</span><span·class="p"·data-group-id="5789748206-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">;</span><span·class="w">155 </span><span·class="nf">atom_map3</span><span·class="p"·data-group-id="5019479375-6">(</span><span·class="ss">four</span><span·class="p"·data-group-id="5019479375-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">;</span><span·class="w">
156 </span><span·class="nf">atom_map3</span><span·class="p"·data-group-id="5789748206-7">(</span><span·class="ss">five</span><span·class="p"·data-group-id="5789748206-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">5</span><span·class="p">;</span><span·class="w">156 </span><span·class="nf">atom_map3</span><span·class="p"·data-group-id="5019479375-7">(</span><span·class="ss">five</span><span·class="p"·data-group-id="5019479375-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">5</span><span·class="p">;</span><span·class="w">
157 </span><span·class="nf">atom_map3</span><span·class="p"·data-group-id="5789748206-8">(</span><span·class="ss">six</span><span·class="p"·data-group-id="5789748206-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">6</span><span·class="p">.</span></code></pre><p>gives·slightly[·...·truncated·by·diffoscope;·len:·540,·SHA:·d00ddb76ba2f986f409fd4e13322fe7f7fa6c29e5c02256ff6786b309031d1bf·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">157 </span><span·class="nf">atom_map3</span><span·class="p"·data-group-id="5019479375-8">(</span><span·class="ss">six</span><span·class="p"·data-group-id="5019479375-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">6</span><span·class="p">.</span></code></pre><p>gives·slightly[·...·truncated·by·diffoscope;·len:·540,·SHA:·f427898a5aec546b7191b5836189c889eda1bc4f106c97605c93d8e0043dd7fc·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
158 ····</span><span·class="n">Ys</span><span·class="p">;</span><span·class="w">158 ····</span><span·class="n">Ys</span><span·class="p">;</span><span·class="w">
159 </span><span·class="nf">map_pairs1</span><span·class="p"·data-group-id="1665262592-3">(</span><span·class="p">_</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Xs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1665262592-4">[</span><span·clas[·...·truncated·by·diffoscope;·len:·84,·SHA:·82f865be9d59555bf7f623ed2325849d8c10a58ae60af28b9b7398c15f25d4d3·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">159 </span><span·class="nf">map_pairs1</span><span·class="p"·data-group-id="9936415409-3">(</span><span·class="p">_</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Xs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9936415409-4">[</span><span·clas[·...·truncated·by·diffoscope;·len:·84,·SHA:·867cb79cfee265c613766040ac9a4f4cad55a48a88ce689a1b5370a8a67f692d·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
160 ····</span><span·class="n">Xs</span><span·class="p">;</span><span·class="w">160 ····</span><span·class="n">Xs</span><span·class="p">;</span><span·class="w">
161 </span><span·class="nf">map_pairs1</span><span·class="p"·data-group-id="1665262592-5">(</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1665262592-6">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="166[·...·truncated·by·diffoscope;·len:·287,·SHA:·a340f202de7119eb6c01d317a22a8a974d5222f8737ce0e08b41131aa16a46bc·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">161 </span><span·class="nf">map_pairs1</span><span·class="p"·data-group-id="9936415409-5">(</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9936415409-6">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="993[·...·truncated·by·diffoscope;·len:·287,·SHA:·70e30743b1d147de97b7ff1db5edd2f061f1963e23a3915d9a26a17461ba6961·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
162 ····</span><span·class="p"·data-group-id="1665262592-8">[</span><span·class="n">Map</span><span·class="p"·data-group-id="1665262592-9">(</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="1665262592-9">)</span><span·[·...·truncated·by·diffoscope;·len:·373,·SHA:·3806bce970ba3b66604f20bc1a9f48ab6062a0f96f9450fa1c371881eb0771d2·...·]-8">]</span><span·class="p">.</span></code></pre><p>The·first·argument·is·<em>not</em>·a·problem.·It·is·variable,·but·it·is·a·variable·in162 ····</span><span·class="p"·data-group-id="9936415409-8">[</span><span·class="n">Map</span><span·class="p"·data-group-id="9936415409-9">(</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="9936415409-9">)</span><span·[·...·truncated·by·diffoscope;·len:·373,·SHA:·583a637a5a0b1ccdb1f4068f033f1ac499c1b75ec07c721e2ca4dd91da236eb5·...·]-8">]</span><span·class="p">.</span></code></pre><p>The·first·argument·is·<em>not</em>·a·problem.·It·is·variable,·but·it·is·a·variable·in
163 all·clauses.·The·problem·is·the·variable·in·the·second·argument,·<code·class="inline">Xs</code>,·in·the163 all·clauses.·The·problem·is·the·variable·in·the·second·argument,·<code·class="inline">Xs</code>,·in·the
164 middle·clause.·Because·the·variable·can·match·anything,·the·compiler·is·not164 middle·clause.·Because·the·variable·can·match·anything,·the·compiler·is·not
165 allowed·to·rearrange·the·clauses,·but·must·generate·code·that·matches·them·in165 allowed·to·rearrange·the·clauses,·but·must·generate·code·that·matches·them·in
166 the·order·written.</p><p>If·the·function·is·rewritten·as·follows,·the·compiler·is·free·to·rearrange·the166 the·order·written.</p><p>If·the·function·is·rewritten·as·follows,·the·compiler·is·free·to·rearrange·the
167 clauses:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">map_pairs2</span><span·class="p"·data-group-id="1032566516-1">(</span><span·class="p">_</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1032566516-2">[</span><span·class="p"·data-group-id="1032566516-2">]</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·84,·SHA:·31398b2d1d0636fd5ae2fd134eb7cb03484f6f7b5fd55c8f058a50bece8c3de4·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">167 clauses:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">map_pairs2</span><span·class="p"·data-group-id="2599062600-1">(</span><span·class="p">_</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2599062600-2">[</span><span·class="p"·data-group-id="2599062600-2">]</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·84,·SHA:·7528ca09e8a8bf6221cf6944f1bc80157925f1d8455b64d6e067051ba2d622f0·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
168 ····</span><span·class="n">Ys</span><span·class="p">;</span><span·class="w">168 ····</span><span·class="n">Ys</span><span·class="p">;</span><span·class="w">
169 </span><span·class="nf">map_pairs2</span><span·class="p"·data-group-id="1032566516-3">(</span><span·class="p">_</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1032566516-4">[</span><span·class="p">_</span><span·class="p">|</span><span·class="p">_</span><span·class[·...·truncated·by·diffoscope;·len:·310,·SHA:·1366115ccf9b0d7683675a79e1ce3f83ca734bd993fb59c4e75008934cb60945·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">169 </span><span·class="nf">map_pairs2</span><span·class="p"·data-group-id="2599062600-3">(</span><span·class="p">_</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2599062600-4">[</span><span·class="p">_</span><span·class="p">|</span><span·class="p">_</span><span·class[·...·truncated·by·diffoscope;·len:·310,·SHA:·bb9738272d40c21eb6c4618d43691feaa845dd5f7114339062f79c7fd148acd6·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
170 ····</span><span·class="n">Xs</span><span·class="p">;</span><span·class="w">170 ····</span><span·class="n">Xs</span><span·class="p">;</span><span·class="w">
171 </span><span·class="nf">map_pairs2</span><span·class="p"·data-group-id="1032566516-6">(</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1032566516-7">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="103[·...·truncated·by·diffoscope;·len:·287,·SHA:·cce9cfba150e06eea909d5bc6acf33fde5742179a1a471ad975ddbe0c698b79e·...·]-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">171 </span><span·class="nf">map_pairs2</span><span·class="p"·data-group-id="2599062600-6">(</span><span·class="n">Map</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2599062600-7">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="259[·...·truncated·by·diffoscope;·len:·287,·SHA:·c5fad166fd197eeff3d7f303bcfd32fd195b83998e8aa9acd0836e8de0039bf5·...·]-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
172 ····</span><span·class="p"·data-group-id="1032566516-9">[</span><span·class="n">Map</span><span·class="p"·data-group-id="1032566516-10">(</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="1032566516-10">)</span><spa[·...·truncated·by·diffoscope;·len:·898,·SHA:·e60d8a61a9a691129618c2374743e4a43160186bfc443833ad8170f0f93173de·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">172 ····</span><span·class="p"·data-group-id="2599062600-9">[</span><span·class="n">Map</span><span·class="p"·data-group-id="2599062600-10">(</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="2599062600-10">)</span><spa[·...·truncated·by·diffoscope;·len:·898,·SHA:·f9c769bc6d10784d1647dd594e3c107eaa8e61823c97334b195b5956e53e41a0·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
173 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Xs0</span><span·class="w">·</span><span·class="k">of</span><span·class="w">173 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Xs0</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
174 »       </span><span·class="p"·data-group-id="0117921859-2">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="0117921859-2">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">174 »       </span><span·class="p"·data-group-id="8123640866-2">[</span><span·class="n">X</span><span·class="p">|</span><span·class="n">Xs</span><span·class="p"·data-group-id="8123640866-2">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
175 »       ····</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Ys0</span><span·class="w">·</span><span·class="k">of</span><span·class="w">175 »       ····</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Ys0</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
176 »       »       </span><span·class="p"·data-group-id="0117921859-3">[</span><span·class="n">Y</span><span·class="p">|</span><span·class="n">Ys</span><span·class="p"·data-group-id="0117921859-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 »       »       </span><span·class="p"·data-group-id="8123640866-3">[</span><span·class="n">Y</span><span·class="p">|</span><span·class="n">Ys</span><span·class="p"·data-group-id="8123640866-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 »       »       ····</span><span·class="p"·data-group-id="0117921859-4">[</span><span·class="n">Map</span><span·class="p"·data-group-id="0117921859-5">(</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="0117921859-5">)</span><span·[·...·truncated·by·diffoscope;·len:·379,·SHA:·01c486150ee963bed8b08ab305ff4df9243f5285bc95528e0c2a3c2d241f7ec6·...·]-4">]</span><span·class="p">;</span><span·class="w">177 »       »       ····</span><span·class="p"·data-group-id="8123640866-4">[</span><span·class="n">Map</span><span·class="p"·data-group-id="8123640866-5">(</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="8123640866-5">)</span><span·[·...·truncated·by·diffoscope;·len:·379,·SHA:·d5b35211cf7380d880847425d16007a3a6bf533362139db012c4f2b8fac3e2f2·...·]-4">]</span><span·class="p">;</span><span·class="w">
178 »       »       </span><span·class="p"·data-group-id="0117921859-7">[</span><span·class="p"·data-group-id="0117921859-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 »       »       </span><span·class="p"·data-group-id="8123640866-7">[</span><span·class="p"·data-group-id="8123640866-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
179 »       »       ····</span><span·class="n">Xs0</span><span·class="w">179 »       »       ····</span><span·class="n">Xs0</span><span·class="w">
180 »       ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">180 »       ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
181 »       </span><span·class="p"·data-group-id="0117921859-8">[</span><span·class="p"·data-group-id="0117921859-8">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">181 »       </span><span·class="p"·data-group-id="8123640866-8">[</span><span·class="p"·data-group-id="8123640866-8">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
182 »       ····</span><span·class="n">Ys0</span><span·class="w">182 »       ····</span><span·class="n">Ys0</span><span·class="w">
183 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>This·is·slightly·faster·for·probably·the·most·common·case·that·the·input·lists183 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>This·is·slightly·faster·for·probably·the·most·common·case·that·the·input·lists
184 are·not·empty·or·very·short.·(Another·advantage·is·that·Dialyzer·can·deduce·a184 are·not·empty·or·very·short.·(Another·advantage·is·that·Dialyzer·can·deduce·a
185 better·type·for·the·<code·class="inline">Xs</code>·variable.)</p><h2·id="function-calls"·class="section-heading">185 better·type·for·the·<code·class="inline">Xs</code>·variable.)</p><h2·id="function-calls"·class="section-heading">
186 ··<a·href="#function-calls"·class="hover-link">186 ··<a·href="#function-calls"·class="hover-link">
187 ····<i·class="ri-link-m"·aria-hidden="true"></i>187 ····<i·class="ri-link-m"·aria-hidden="true"></i>
188 ··</a>188 ··</a>
Offset 250, 15 lines modifiedOffset 250, 15 lines modified
250 ······<p·class="built-using">250 ······<p·class="built-using">
251 ········Built·using251 ········Built·using
252 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the252 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
253 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>253 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
254 ······</p>254 ······</p>
255 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>255 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
256 ····</footer>256 ····</footer>
257 ··</div>257 ··</div>
258 </main>258 </main>
259 </div>259 </div>
260 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>260 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
261 ··<script>261 ··<script>
262 ··let·initialized·=·false;262 ··let·initialized·=·false;
741 B
html2text {}
Max HTML report size reached
67.1 KB
./usr/share/doc/erlang-doc/html/doc/system/eff_guide_processes.html
    
Offset 119, 45 lines modifiedOffset 119, 45 lines modified
119 ··<a·href="#creating-an-erlang-process"·class="hover-link">119 ··<a·href="#creating-an-erlang-process"·class="hover-link">
120 ····<i·class="ri-link-m"·aria-hidden="true"></i>120 ····<i·class="ri-link-m"·aria-hidden="true"></i>
121 ··</a>121 ··</a>
122 ··<span·class="text">Creating·an·Erlang·Process</span>122 ··<span·class="text">Creating·an·Erlang·Process</span>
123 </h2>123 </h2>
124 <p>An·Erlang·process·is·lightweight·compared·to·threads·and·processes·in·operating124 <p>An·Erlang·process·is·lightweight·compared·to·threads·and·processes·in·operating
125 systems.</p><p>A·newly·spawned·Erlang·process·uses·327·words·of·memory.·The·size·can·be·found125 systems.</p><p>A·newly·spawned·Erlang·process·uses·327·words·of·memory.·The·size·can·be·found
126 as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">27</span><span·class="w">·</span><span·class="p"·data-group-id="1065798055-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">14.2</span><span·class="p">.</span><span·class="mi">3</span><span·class="p"·data-group-id="1065798055-1">]</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·1122,·SHA:·e83498c3033c2e86e783698a8b9ee3a8b69067a0a9952003e48cd437a5398a49·...·]-6">]</span><span·class="w">126 as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">27</span><span·class="w">·</span><span·class="p"·data-group-id="7928171499-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">14.2</span><span·class="p">.</span><span·class="mi">3</span><span·class="p"·data-group-id="7928171499-1">]</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·1122,·SHA:·c2b83ff2fb1a778894b6a2f827e885ed85150f1e2bfca31d0b7f42dc77554b49·...·]-6">]</span><span·class="w">
  
127 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V14</span><span·class="p">.</span><span·class="mf">2.3</span><span·class="w">·</span><span·class="p"·data-group-id="1065798055-7">(</span><span·class="ss">press</span><span·class="w">·</span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">G</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">abort</span><sp[·...·truncated·by·diffoscope;·len:·399,·SHA:·842bafd7d822d7f4a6e901115b393fc69841335ff8116df1ecc2d66647319c5e·...·]-7">)</span><span·class="gp·unselectable">127 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V14</span><span·class="p">.</span><span·class="mf">2.3</span><span·class="w">·</span><span·class="p"·data-group-id="7928171499-7">(</span><span·class="ss">press</span><span·class="w">·</span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">G</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">abort</span><sp[·...·truncated·by·diffoscope;·len:·399,·SHA:·53786f1120149e66e8301da38cc549761c8742f821c14c7fc0b4bc7358f4eb13·...·]-7">)</span><span·class="gp·unselectable">
128 1&gt;·</span><span·class="n">Fun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="1065798055-9">(</span><span·class="p"·data-group-id="1065798055-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="k">receive</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="ss">infinity</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="k">end</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">128 1&gt;·</span><span·class="n">Fun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="7928171499-9">(</span><span·class="p"·data-group-id="7928171499-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="k">receive</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="ss">infinity</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="k">end</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
129 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="p">.</span><span·class="mf">43.39164016</span><span·class="o">&gt;</span><span·class="gp·unselectable">129 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="p">.</span><span·class="mf">43.39164016</span><span·class="o">&gt;</span><span·class="gp·unselectable">
130 2&gt;·</span><span·class="p"·data-group-id="1065798055-10">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Bytes</span><span·class="p"·data-group-id="1065798055-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">process_info</[·...·truncated·by·diffoscope;·len:·341,·SHA:·563b4c179c05d4eb1feab4914e3378b1f6d29da75f19ef7433bd7e3ac7193b87·...·]-11">)</span><span·class="p">.</span><span·class="w">130 2&gt;·</span><span·class="p"·data-group-id="7928171499-10">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Bytes</span><span·class="p"·data-group-id="7928171499-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">process_info</[·...·truncated·by·diffoscope;·len:·341,·SHA:·a597e70373976807d4c3db7d9caa9214be5694e8a04d90e9226a8fb1df5774d3·...·]-11">)</span><span·class="p">.</span><span·class="w">
131 </span><span·class="p"·data-group-id="1065798055-13">{</span><span·class="nb">memory</span><span·class="p">,</span><span·class="mi">2616</span><span·class="p"·data-group-id="1065798055-13">}</span><span·class="gp·unselectable">131 </span><span·class="p"·data-group-id="7928171499-13">{</span><span·class="nb">memory</span><span·class="p">,</span><span·class="mi">2616</span><span·class="p"·data-group-id="7928171499-13">}</span><span·class="gp·unselectable">
132 3&gt;·</span><span·class="n">Bytes</span><span·class="w">·</span><span·class="ow">div</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="1065798055-14">(</span><span·class="ss">wordsize</span><span·class="p"·data-group-id="1065798055-14">)</span><span·class="p">.</span><span·class="w">132 3&gt;·</span><span·class="n">Bytes</span><span·class="w">·</span><span·class="ow">div</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="7928171499-14">(</span><span·class="ss">wordsize</span><span·class="p"·data-group-id="7928171499-14">)</span><span·class="p">.</span><span·class="w">
133 </span><span·class="mi">327</span></code></pre><p>The·size·includes·233·words·for·the·heap·area·(which·includes·the·stack).·The133 </span><span·class="mi">327</span></code></pre><p>The·size·includes·233·words·for·the·heap·area·(which·includes·the·stack).·The
134 garbage·collector·increases·the·heap·as·needed.</p><p>The·main·(outer)·loop·for·a·process·<em>must</em>·be·tail-recursive.·Otherwise,·the134 garbage·collector·increases·the·heap·as·needed.</p><p>The·main·(outer)·loop·for·a·process·<em>must</em>·be·tail-recursive.·Otherwise,·the
135 stack·grows·until·the·process·terminates.</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="6841231159-1">(</span><span·class="p"·data-group-id="6841231159-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">135 stack·grows·until·the·process·terminates.</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="2701261054-1">(</span><span·class="p"·data-group-id="2701261054-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
136 ··</span><span·class="k">receive</span><span·class="w">136 ··</span><span·class="k">receive</span><span·class="w">
137 ·····</span><span·class="p"·data-group-id="6841231159-2">{</span><span·class="ss">sys</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="6841231159-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">137 ·····</span><span·class="p"·data-group-id="2701261054-2">{</span><span·class="ss">sys</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="2701261054-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
138 ·········</span><span·class="nf">handle_sys_msg</span><span·class="p"·data-group-id="6841231159-3">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="6841231159-3">)</span><span·class="p">,</span><span·class="w">138 ·········</span><span·class="nf">handle_sys_msg</span><span·class="p"·data-group-id="2701261054-3">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="2701261054-3">)</span><span·class="p">,</span><span·class="w">
139 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="6841231159-4">(</span><span·class="p"·data-group-id="6841231159-4">)</span><span·class="p">;</span><span·class="w">139 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="2701261054-4">(</span><span·class="p"·data-group-id="2701261054-4">)</span><span·class="p">;</span><span·class="w">
140 ·····</span><span·class="p"·data-group-id="6841231159-5">{</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="6841231159-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">140 ·····</span><span·class="p"·data-group-id="2701261054-5">{</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="2701261054-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
141 ··········</span><span·class="n">Reply</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">handle_msg</span><span·class="p"·data-group-id="6841231159-6">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="6841231159-6">)</span><span·class="p">,</span><span·class="w">141 ··········</span><span·class="n">Reply</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">handle_msg</span><span·class="p"·data-group-id="2701261054-6">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="2701261054-6">)</span><span·class="p">,</span><span·class="w">
142 ··········</span><span·class="n">From</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="n">Reply</span><span·class="p">,</span><span·class="w">142 ··········</span><span·class="n">From</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="n">Reply</span><span·class="p">,</span><span·class="w">
143 ··········</span><span·class="nf">loop</span><span·class="p"·data-group-id="6841231159-7">(</span><span·class="p"·data-group-id="6841231159-7">)</span><span·class="w">143 ··········</span><span·class="nf">loop</span><span·class="p"·data-group-id="2701261054-7">(</span><span·class="p"·data-group-id="2701261054-7">)</span><span·class="w">
144 ··</span><span·class="k">end</span><span·class="p">,</span><span·class="w">144 ··</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
145 ··</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6841231159-8">(</span><span·class="s">&quot;Message·is·processed</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6841231159-9">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·49772ff84382ff7155a7bd369bfb1d1178f1216b3efbcc818c8f18d3a598fa3f·...·]-8">)</span><span·class="p">.</span></code></pre><p>The·call·to·<a·href="../../lib/stdlib-7.0/doc/html/io.html#format/2"><code·class="inline">io:format/2</code></a>·will·never·be·executed,·but·a·return·address·will145 ··</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2701261054-8">(</span><span·class="s">&quot;Message·is·processed</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2701261054-9">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·66e630cf79f21f43e769c7f58937c228b0affe990e9ffa0c835066032f7d9be9·...·]-8">)</span><span·class="p">.</span></code></pre><p>The·call·to·<a·href="../../lib/stdlib-7.0/doc/html/io.html#format/2"><code·class="inline">io:format/2</code></a>·will·never·be·executed,·but·a·return·address·will
146 still·be·pushed·to·the·stack·each·time·<code·class="inline">loop/0</code>·is·called·recursively.·The146 still·be·pushed·to·the·stack·each·time·<code·class="inline">loop/0</code>·is·called·recursively.·The
147 correct·tail-recursive·version·of·the·function·looks·as·follows:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="2264380054-1">(</span><span·class="p"·data-group-id="2264380054-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">147 correct·tail-recursive·version·of·the·function·looks·as·follows:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="9743837624-1">(</span><span·class="p"·data-group-id="9743837624-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
148 ···</span><span·class="k">receive</span><span·class="w">148 ···</span><span·class="k">receive</span><span·class="w">
149 ······</span><span·class="p"·data-group-id="2264380054-2">{</span><span·class="ss">sys</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="2264380054-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">149 ······</span><span·class="p"·data-group-id="9743837624-2">{</span><span·class="ss">sys</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="9743837624-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
150 ·········</span><span·class="nf">handle_sys_msg</span><span·class="p"·data-group-id="2264380054-3">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="2264380054-3">)</span><span·class="p">,</span><span·class="w">150 ·········</span><span·class="nf">handle_sys_msg</span><span·class="p"·data-group-id="9743837624-3">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="9743837624-3">)</span><span·class="p">,</span><span·class="w">
151 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="2264380054-4">(</span><span·class="p"·data-group-id="2264380054-4">)</span><span·class="p">;</span><span·class="w">151 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="9743837624-4">(</span><span·class="p"·data-group-id="9743837624-4">)</span><span·class="p">;</span><span·class="w">
152 ······</span><span·class="p"·data-group-id="2264380054-5">{</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="2264380054-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">152 ······</span><span·class="p"·data-group-id="9743837624-5">{</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="9743837624-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
153 ·········</span><span·class="n">Reply</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">handle_msg</span><span·class="p"·data-group-id="2264380054-6">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="2264380054-6">)</span><span·class="p">,</span><span·class="w">153 ·········</span><span·class="n">Reply</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">handle_msg</span><span·class="p"·data-group-id="9743837624-6">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="9743837624-6">)</span><span·class="p">,</span><span·class="w">
154 ·········</span><span·class="n">From</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="n">Reply</span><span·class="p">,</span><span·class="w">154 ·········</span><span·class="n">From</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="n">Reply</span><span·class="p">,</span><span·class="w">
155 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="2264380054-7">(</span><span·class="p"·data-group-id="2264380054-7">)</span><span·class="w">155 ·········</span><span·class="nf">loop</span><span·class="p"·data-group-id="9743837624-7">(</span><span·class="p"·data-group-id="9743837624-7">)</span><span·class="w">
156 ·</span><span·class="k">end</span><span·class="p">.</span></code></pre><h3·id="initial-heap-size"·class="section-heading">156 ·</span><span·class="k">end</span><span·class="p">.</span></code></pre><h3·id="initial-heap-size"·class="section-heading">
157 ··<a·href="#initial-heap-size"·class="hover-link">157 ··<a·href="#initial-heap-size"·class="hover-link">
158 ····<i·class="ri-link-m"·aria-hidden="true"></i>158 ····<i·class="ri-link-m"·aria-hidden="true"></i>
159 ··</a>159 ··</a>
160 ··<span·class="text">Initial·Heap·Size</span>160 ··<span·class="text">Initial·Heap·Size</span>
161 </h3>161 </h3>
162 <p>The·default·initial·heap·size·of·233·words·is·quite·conservative·to·support162 <p>The·default·initial·heap·size·of·233·words·is·quite·conservative·to·support
Offset 190, 30 lines modifiedOffset 190, 30 lines modified
190 ··</a>190 ··</a>
191 ··<span·class="text">Fetching·Received·Messages</span>191 ··<span·class="text">Fetching·Received·Messages</span>
192 </h2>192 </h2>
193 <p>The·cost·of·fetching·a·received·message·from·the·message·queue·depends·on·how193 <p>The·cost·of·fetching·a·received·message·from·the·message·queue·depends·on·how
194 complicated·the·<code·class="inline">receive</code>·expression·is.·A·simple·expression·that·matches·any194 complicated·the·<code·class="inline">receive</code>·expression·is.·A·simple·expression·that·matches·any
195 message·is·very·cheap·because·it·retrieves·the·first·message·in·the·message195 message·is·very·cheap·because·it·retrieves·the·first·message·in·the·message
196 queue:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">receive</span><span·class="w">196 queue:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">receive</span><span·class="w">
197 ····</span><span·class="n">Message</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">handle_msg</span><span·class="p"·data-group-id="0141424774-1">(</span><span·class="n">Message</span><span·class="p"·data-group-id="0141424774-1">)</span><span·class="w">197 ····</span><span·class="n">Message</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">handle_msg</span><span·class="p"·data-group-id="8373323140-1">(</span><span·class="n">Message</span><span·class="p"·data-group-id="8373323140-1">)</span><span·class="w">
198 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>However,·this·is·not·always·convenient:·we·can·receive·a·message·that·we·do·not198 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>However,·this·is·not·always·convenient:·we·can·receive·a·message·that·we·do·not
199 know·how·to·handle·at·this·point,·so·it·is·common·to·only·match·the·messages·we199 know·how·to·handle·at·this·point,·so·it·is·common·to·only·match·the·messages·we
200 expect:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">receive</span><span·class="w">200 expect:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">receive</span><span·class="w">
201 ····</span><span·class="p"·data-group-id="3572455219-1">{</span><span·class="n">Tag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Message</span><span·class="p"·data-group-id="3572455219-1">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·157,·SHA:·61ec71bd981e51f965d5171dcf3afd0395b84463ddd436f7ceaf50807ca76975·...·]-2">)</span><span·class="w">201 ····</span><span·class="p"·data-group-id="8361081756-1">{</span><span·class="n">Tag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Message</span><span·class="p"·data-group-id="8361081756-1">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·157,·SHA:·a6d04431077bb4c3e31944888a38f5fcf1e4fc51870475dc44e6500b46d01877·...·]-2">)</span><span·class="w">
202 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>While·this·is·convenient·it·means·that·the·entire·message·queue·must·be·searched202 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>While·this·is·convenient·it·means·that·the·entire·message·queue·must·be·searched
203 until·it·finds·a·matching·message.·This·is·very·expensive·for·processes·with203 until·it·finds·a·matching·message.·This·is·very·expensive·for·processes·with
204 long·message·queues,·so·there·is·an·optimization·for·the·common·case·of204 long·message·queues,·so·there·is·an·optimization·for·the·common·case·of
205 sending·a·request·and·waiting·for·a·response·shortly·after:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">MRef</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">monitor</span><span·class="p"·data-group-id="6802627223-1">(</span><span·class="ss">process</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Process</span><span·class="p"·data-group-id="6802627223-1">)</span><span·class="p">,</span><span·class="w">205 sending·a·request·and·waiting·for·a·response·shortly·after:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">MRef</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">monitor</span><span·class="p"·data-group-id="3424264249-1">(</span><span·class="ss">process</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Process</span><span·class="p"·data-group-id="3424264249-1">)</span><span·class="p">,</span><span·class="w">
206 </span><span·class="n">Process</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="6802627223-2">{</span><span·class="nf">self</span><span·class="p"·data-group-id="6802627223-3">(</span><span·class="p"·data-group-id="6802627223-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·270790ba22a54eeaf6e6bdc0ed853f32094f3142babd41db9758c07ed51cd953·...·]-2">}</span><span·class="p">,</span><span·class="w">206 </span><span·class="n">Process</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3424264249-2">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3424264249-3">(</span><span·class="p"·data-group-id="3424264249-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·bf972a3ebe3716e6b55dcb9e5c6a415d125d8a4e0b42a2388919583cc65e03fd·...·]-2">}</span><span·class="p">,</span><span·class="w">
207 </span><span·class="k">receive</span><span·class="w">207 </span><span·class="k">receive</span><span·class="w">
208 ····</span><span·class="p"·data-group-id="6802627223-4">{</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reply</span><span·class="p"·data-group-id="6802627223-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 ····</span><span·class="p"·data-group-id="3424264249-4">{</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reply</span><span·class="p"·data-group-id="3424264249-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 ········</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="6802627223-5">(</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6802627223-6">[</span><span·class="ss">flush</span><span·class="p"·data-group-id="6802627223-6">]</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·b2f9981b9b8eeb8a2403ed8c5e5bcf75ade4a3f49736e55c85bb55dc8c169e35·...·]-5">)</span><span·class="p">,</span><span·class="w">209 ········</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="3424264249-5">(</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3424264249-6">[</span><span·class="ss">flush</span><span·class="p"·data-group-id="3424264249-6">]</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·f6275de7d52bbbcf69d8938084a04f9b3f17810bb653491276c6590382264b56·...·]-5">)</span><span·class="p">,</span><span·class="w">
210 ········</span><span·class="nf">handle_reply</span><span·class="p"·data-group-id="6802627223-7">(</span><span·class="n">Reply</span><span·class="p"·data-group-id="6802627223-7">)</span><span·class="p">;</span><span·class="w">210 ········</span><span·class="nf">handle_reply</span><span·class="p"·data-group-id="3424264249-7">(</span><span·class="n">Reply</span><span·class="p"·data-group-id="3424264249-7">)</span><span·class="p">;</span><span·class="w">
211 ····</span><span·class="p"·data-group-id="6802627223-8">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·141,·SHA:·0be6e24f0e8afcb5c13bb5e95ad8946132e38ca4ce7a42186e1e6e42d286ec9f·...·]-8">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">211 ····</span><span·class="p"·data-group-id="3424264249-8">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·141,·SHA:·fdb317e6b391cd76c11c55c7ac44f87ef83ece405c81e7ab1d511b783f5edeb7·...·]-8">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
212 ········</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="6802627223-9">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="6802627223-9">)</span><span·class="w">212 ········</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="3424264249-9">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="3424264249-9">)</span><span·class="w">
213 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Since·the·compiler·knows·that·the·reference·created·by213 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Since·the·compiler·knows·that·the·reference·created·by
214 <a·href="../../erts-16.0/doc/html/erlang.html#monitor/2"><code·class="inline">monitor/2</code></a>·cannot·exist·before·the·call·(since·it·is·a·globally214 <a·href="../../erts-16.0/doc/html/erlang.html#monitor/2"><code·class="inline">monitor/2</code></a>·cannot·exist·before·the·call·(since·it·is·a·globally
215 unique·identifier),·and·that·the·<code·class="inline">receive</code>·only·matches·messages·that·contain215 unique·identifier),·and·that·the·<code·class="inline">receive</code>·only·matches·messages·that·contain
216 said·reference,·it·will·tell·the·emulator·to·search·only·the·messages·that216 said·reference,·it·will·tell·the·emulator·to·search·only·the·messages·that
217 arrived·after·the·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#monitor/2"><code·class="inline">monitor/2</code></a>.</p><p>The·above·is·a·simple·example·where·one·is·guaranteed·that·the·optimization217 arrived·after·the·call·to·<a·href="../../erts-16.0/doc/html/erlang.html#monitor/2"><code·class="inline">monitor/2</code></a>.</p><p>The·above·is·a·simple·example·where·one·is·guaranteed·that·the·optimization
218 will·take,·but·what·about·more·complicated·code?</p><p><a·href=""·id="recv_opt_info"></a></p><h3·id="option-recv_opt_info"·class="section-heading">218 will·take,·but·what·about·more·complicated·code?</p><p><a·href=""·id="recv_opt_info"></a></p><h3·id="option-recv_opt_info"·class="section-heading">
219 ··<a·href="#option-recv_opt_info"·class="hover-link">219 ··<a·href="#option-recv_opt_info"·class="hover-link">
Offset 229, 101 lines modifiedOffset 229, 101 lines modified
229 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">200</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">NOT</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">all</span><span·class="w">·</span><span·class="ss">clauses</span><span·class="w">·</span><span·class="ss">do</span><span·class="w">·</span><span·class="ow">not</span><span·class="w">·</span><span·class="ss">match</span><span·class="w">·</span><span·class="ss">a</span><span·class="w">·</span><span·class="ss">suitable</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">229 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">200</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">NOT</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">all</span><span·class="w">·</span><span·class="ss">clauses</span><span·class="w">·</span><span·class="ss">do</span><span·class="w">·</span><span·class="ow">not</span><span·class="w">·</span><span·class="ss">match</span><span·class="w">·</span><span·class="ss">a</span><span·class="w">·</span><span·class="ss">suitable</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">
230 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">206</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">used</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">mark</span><span·class="w">·</span><span·class="ss">a</span><span·class="w">·</span><span·class="ss">message</span><span·class="w">·</span><span·class="ss">queue</span><span·class="w">·</span><span·class="ss">position</span><span·class="w">230 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">206</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">used</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">mark</span><span·class="w">·</span><span·class="ss">a</span><span·class="w">·</span><span·class="ss">message</span><span·class="w">·</span><span·class="ss">queue</span><span·class="w">·</span><span·class="ss">position</span><span·class="w">
231 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">208</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">all</span><span·class="w">·</span><span·class="ss">clauses</span><span·class="w">·</span><span·class="ss">match</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">created</span><span·class="w">·</span><span·class="ss">by</span><span·class="w">·</span><span·class="nb">monitor</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·</span><span·class="ss">at</span><span·class="w">·</span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">206</span><span·class="w">231 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">208</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">all</span><span·class="w">·</span><span·class="ss">clauses</span><span·class="w">·</span><span·class="ss">match</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">created</span><span·class="w">·</span><span·class="ss">by</span><span·class="w">·</span><span·class="nb">monitor</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·</span><span·class="ss">at</span><span·class="w">·</span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">206</span><span·class="w">
232 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">219</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">INFO</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">passing</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">created</span><span·class="w">·</span><span·class="ss">by</span><span·class="w">·</span><span·class="ss">make_ref</span><span·class="p">/</span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">at</span><span·class="w">·</span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">218</span><span·class="w">232 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">219</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">INFO</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">passing</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">created</span><span·class="w">·</span><span·class="ss">by</span><span·class="w">·</span><span·class="ss">make_ref</span><span·class="p">/</span><span·class="mi">0</span><span·class="w">·</span><span·class="ss">at</span><span·class="w">·</span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">218</span><span·class="w">
233 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">222</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">all</span><span·class="w">·</span><span·class="ss">clauses</span><span·class="w">·</span><span·class="ss">match</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">parameter</span><span·class="w">·</span><span·class="mi">1</span></code></pre><p>To·make·it·clearer·exactly·what·code·the·warnings·refer·to,·the·warnings·in·the233 </span><span·class="ss">efficiency_guide</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">222</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="n">OPTIMIZED</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">all</span><span·class="w">·</span><span·class="ss">clauses</span><span·class="w">·</span><span·class="ss">match</span><span·class="w">·</span><span·class="ss">reference</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">parameter</span><span·class="w">·</span><span·class="mi">1</span></code></pre><p>To·make·it·clearer·exactly·what·code·the·warnings·refer·to,·the·warnings·in·the
234 following·examples·are·inserted·as·comments·after·the·clause·they·refer·to,·for234 following·examples·are·inserted·as·comments·after·the·clause·they·refer·to,·for
235 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·DO</span><span·class="w">235 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·DO</span><span·class="w">
236 </span><span·class="nf">simple_receive</span><span·class="p"·data-group-id="1441395354-1">(</span><span·class="p"·data-group-id="1441395354-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">236 </span><span·class="nf">simple_receive</span><span·class="p"·data-group-id="7912321617-1">(</span><span·class="p"·data-group-id="7912321617-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
237 </span><span·class="c1">%%·efficiency_guide.erl:194:·Warning:·INFO:·not·a·selective·receive,·this·is·always·fast</span><span·class="w">237 </span><span·class="c1">%%·efficiency_guide.erl:194:·Warning:·INFO:·not·a·selective·receive,·this·is·always·fast</span><span·class="w">
238 </span><span·class="k">receive</span><span·class="w">238 </span><span·class="k">receive</span><span·class="w">
239 ····</span><span·class="n">Message</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">handle_msg</span><span·class="p"·data-group-id="1441395354-2">(</span><span·class="n">Message</span><span·class="p"·data-group-id="1441395354-2">)</span><span·class="w">239 ····</span><span·class="n">Message</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">handle_msg</span><span·class="p"·data-group-id="7912321617-2">(</span><span·class="n">Message</span><span·class="p"·data-group-id="7912321617-2">)</span><span·class="w">
240 </span><span·class="k">end</span><span·class="p">.</span><span·class="w">240 </span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
241 </span><span·class="c1">%%·DO·NOT,·unless·Tag·is·known·to·be·a·suitable·reference:·see</span><span·class="w">241 </span><span·class="c1">%%·DO·NOT,·unless·Tag·is·known·to·be·a·suitable·reference:·see</span><span·class="w">
242 </span><span·class="c1">%%·cross_function_receive/0·further·down.</span><span·class="w">242 </span><span·class="c1">%%·cross_function_receive/0·further·down.</span><span·class="w">
243 </span><span·class="nf">selective_receive</span><span·class="p"·data-group-id="1441395354-3">(</span><span·class="n">Tag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Message</span><span·class="p"·data-group-id="1441395354-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">243 </span><span·class="nf">selective_receive</span><span·class="p"·data-group-id="7912321617-3">(</span><span·class="n">Tag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Message</span><span·class="p"·data-group-id="7912321617-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
244 </span><span·class="c1">%%·efficiency_guide.erl:200:·Warning:·NOT·OPTIMIZED:·all·clauses·do·not·match·a·suitable·reference</span><span·class="w">244 </span><span·class="c1">%%·efficiency_guide.erl:200:·Warning:·NOT·OPTIMIZED:·all·clauses·do·not·match·a·suitable·reference</span><span·class="w">
245 </span><span·class="k">receive</span><span·class="w">245 </span><span·class="k">receive</span><span·class="w">
246 ····</span><span·class="p"·data-group-id="1441395354-4">{</span><span·class="n">Tag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Message</span><span·class="p"·data-group-id="1441395354-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·157,·SHA:·43aea17fa940c5b238f2cfa1fe69cbf8dd487a27c8436208dc99d520298983f7·...·]-5">)</span><span·class="w">246 ····</span><span·class="p"·data-group-id="7912321617-4">{</span><span·class="n">Tag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Message</span><span·class="p"·data-group-id="7912321617-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·157,·SHA:·0f8811cc5321da8c88a393a633cb32403ad94c8b29879faf362cd3d64c612612·...·]-5">)</span><span·class="w">
247 </span><span·class="k">end</span><span·class="p">.</span><span·class="w">247 </span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
248 </span><span·class="c1">%%·DO</span><span·class="w">248 </span><span·class="c1">%%·DO</span><span·class="w">
249 </span><span·class="nf">optimized_receive</span><span·class="p"·data-group-id="1441395354-6">(</span><span·class="n">Process</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Request</span><span·class="p"·data-group-id="1441395354-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">249 </span><span·class="nf">optimized_receive</span><span·class="p"·data-group-id="7912321617-6">(</span><span·class="n">Process</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Request</span><span·class="p"·data-group-id="7912321617-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
250 </span><span·class="c1">%%·efficiency_guide.erl:206:·Warning:·OPTIMIZED:·reference·used·to·mark·a·message·queue·position</span><span·class="w">250 </span><span·class="c1">%%·efficiency_guide.erl:206:·Warning:·OPTIMIZED:·reference·used·to·mark·a·message·queue·position</span><span·class="w">
251 ····</span><span·class="n">MRef</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">monitor</span><span·class="p"·data-group-id="1441395354-7">(</span><span·class="ss">process</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Process</span><span·class="p"·data-group-id="1441395354-7">)</span><span·class="p">,</span><span·class="w">251 ····</span><span·class="n">MRef</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">monitor</span><span·class="p"·data-group-id="7912321617-7">(</span><span·class="ss">process</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Process</span><span·class="p"·data-group-id="7912321617-7">)</span><span·class="p">,</span><span·class="w">
252 ····</span><span·class="n">Process</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="1441395354-8">{</span><span·class="nf">self</span><span·class="p"·data-group-id="1441395354-9">(</span><span·class="p"·data-group-id="1441395354-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·4296ff4c52bffbc5791139cf50fb23f77d166316c9a29ca1ef92eb25efc3a5e3·...·]-8">}</span><span·class="p">,</span><span·class="w">252 ····</span><span·class="n">Process</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="7912321617-8">{</span><span·class="nf">self</span><span·class="p"·data-group-id="7912321617-9">(</span><span·class="p"·data-group-id="7912321617-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·83579aa31e147def7c1e7d0a81da3e4105f2a5929327298cb6c7746d163cee8b·...·]-8">}</span><span·class="p">,</span><span·class="w">
253 ····</span><span·class="c1">%%·efficiency_guide.erl:208:·Warning:·OPTIMIZED:·matches·reference·created·by·monitor/2·at·efficiency_guide.erl:206</span><span·class="w">253 ····</span><span·class="c1">%%·efficiency_guide.erl:208:·Warning:·OPTIMIZED:·matches·reference·created·by·monitor/2·at·efficiency_guide.erl:206</span><span·class="w">
254 ····</span><span·class="k">receive</span><span·class="w">254 ····</span><span·class="k">receive</span><span·class="w">
255 ········</span><span·class="p"·data-group-id="1441395354-10">{</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reply</span><span·class="p"·data-group-id="1441395354-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">255 ········</span><span·class="p"·data-group-id="7912321617-10">{</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reply</span><span·class="p"·data-group-id="7912321617-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
256 ········</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="1441395354-11">(</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1441395354-12">[</span><span·class="ss">flush</span><span·class="p"·data-group-id="1441395354-12">]</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·4610fc8439257a8e12ade595490e171ac53a6e5b6096df17be30dbf62958e55a·...·]-11">)</span><span·class="p">,</span><span·class="w">256 ········</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="7912321617-11">(</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7912321617-12">[</span><span·class="ss">flush</span><span·class="p"·data-group-id="7912321617-12">]</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·b39bf75bc5d75aa2c14fe44034b2f630deb6554d331077ff1bb812a9fb6e4c8b·...·]-11">)</span><span·class="p">,</span><span·class="w">
257 ········</span><span·class="nf">handle_reply</span><span·class="p"·data-group-id="1441395354-13">(</span><span·class="n">Reply</span><span·class="p"·data-group-id="1441395354-13">)</span><span·class="p">;</span><span·class="w">257 ········</span><span·class="nf">handle_reply</span><span·class="p"·data-group-id="7912321617-13">(</span><span·class="n">Reply</span><span·class="p"·data-group-id="7912321617-13">)</span><span·class="p">;</span><span·class="w">
258 ····</span><span·class="p"·data-group-id="1441395354-14">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·142,·SHA:·3f90ba6577898e952f5a2d5c4f198e7325115ca08334065942cadf8af72ac3d1·...·]-14">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">258 ····</span><span·class="p"·data-group-id="7912321617-14">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·142,·SHA:·bfb802b7cddc22bcb004fb47f94f0e6f6fa65eb720f2d6d8cca58ca392b2893b·...·]-14">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
259 ····</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="1441395354-15">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="1441395354-15">)</span><span·class="w">259 ····</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="7912321617-15">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="7912321617-15">)</span><span·class="w">
260 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">260 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
261 </span><span·class="c1">%%·DO</span><span·class="w">261 </span><span·class="c1">%%·DO</span><span·class="w">
262 </span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="1441395354-16">(</span><span·class="p"·data-group-id="1441395354-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">262 </span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="7912321617-16">(</span><span·class="p"·data-group-id="7912321617-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
263 ····</span><span·class="c1">%%·efficiency_guide.erl:218:·Warning:·OPTIMIZED:·reference·used·to·mark·a·message·queue·position</span><span·class="w">263 ····</span><span·class="c1">%%·efficiency_guide.erl:218:·Warning:·OPTIMIZED:·reference·used·to·mark·a·message·queue·position</span><span·class="w">
264 ····</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·data-group-id="1441395354-17">(</span><span·class="p"·data-group-id="1441395354-17">)</span><span·class="p">,</span><span·class="w">264 ····</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·data-group-id="7912321617-17">(</span><span·class="p"·data-group-id="7912321617-17">)</span><span·class="p">,</span><span·class="w">
265 ····</span><span·class="c1">%%·efficiency_guide.erl:219:·Warning:·INFO:·passing·reference·created·by·make_ref/0·at·efficiency_guide.erl:218</span><span·class="w">265 ····</span><span·class="c1">%%·efficiency_guide.erl:219:·Warning:·INFO:·passing·reference·created·by·make_ref/0·at·efficiency_guide.erl:218</span><span·class="w">
266 ····</span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="1441395354-18">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="1441395354-18">)</span><span·class="p">.</span><span·class="w">266 ····</span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="7912321617-18">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="7912321617-18">)</span><span·class="p">.</span><span·class="w">
  
267 </span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="1441395354-19">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="1441395354-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">267 </span><span·class="nf">cross_function_receive</span><span·class="p"·data-group-id="7912321617-19">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="7912321617-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
268 ····</span><span·class="c1">%%·efficiency_guide.erl:222:·Warning:·OPTIMIZED:·all·clauses·match·reference·in·function·parameter·1</span><span·class="w">268 ····</span><span·class="c1">%%·efficiency_guide.erl:222:·Warning:·OPTIMIZED:·all·clauses·match·reference·in·function·parameter·1</span><span·class="w">
269 ····</span><span·class="k">receive</span><span·class="w">269 ····</span><span·class="k">receive</span><span·class="w">
270 ········</span><span·class="p"·data-group-id="1441395354-20">{</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Message</span><span·class="p"·data-group-id="1441395354-20">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·160,·SHA:·9718cf378ac6c1bf6730483427827a9fecec378e3331d7e4d196376ee96aaed6·...·]-21">)</span><span·class="w">270 ········</span><span·class="p"·data-group-id="7912321617-20">{</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Message</span><span·class="p"·data-group-id="7912321617-20">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·160,·SHA:·d96e52c0427df759c2c273224e937d9acf8593b657c94c9774c2aebede9c7bc0·...·]-21">)</span><span·class="w">
271 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><h2·id="literal-pool"·class="section-heading">271 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><h2·id="literal-pool"·class="section-heading">
272 ··<a·href="#literal-pool"·class="hover-link">272 ··<a·href="#literal-pool"·class="hover-link">
273 ····<i·class="ri-link-m"·aria-hidden="true"></i>273 ····<i·class="ri-link-m"·aria-hidden="true"></i>
274 ··</a>274 ··</a>
Max diff block lines reached; 20624/67792 bytes (30.42%) of diff not shown.
751 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/doc/system/efficiency_guide.html
    
Offset 185, 15 lines modifiedOffset 185, 15 lines modified
185 ······<p·class="built-using">185 ······<p·class="built-using">
186 ········Built·using186 ········Built·using
187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
189 ······</p>189 ······</p>
190 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>190 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
191 ····</footer>191 ····</footer>
192 ··</div>192 ··</div>
193 </main>193 </main>
194 </div>194 </div>
195 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>195 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
196 ··<script>196 ··<script>
197 ··let·initialized·=·false;197 ··let·initialized·=·false;
699 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/doc/system/embedded.html
    
Offset 398, 15 lines modifiedOffset 398, 15 lines modified
398 ······<p·class="built-using">398 ······<p·class="built-using">
399 ········Built·using399 ········Built·using
400 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the400 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
401 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>401 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
402 ······</p>402 ······</p>
403 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>403 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
404 ····</footer>404 ····</footer>
405 ··</div>405 ··</div>
406 </main>406 </main>
407 </div>407 </div>
408 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>408 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
409 ··<script>409 ··<script>
410 ··let·initialized·=·false;410 ··let·initialized·=·false;
740 B
html2text {}
Max HTML report size reached
72.3 KB
./usr/share/doc/erlang-doc/html/doc/system/erl_interface.html
    
Offset 120, 119 lines modifiedOffset 120, 119 lines modified
120 to·read·the·port·example·in·<a·href="c_port.html">Ports</a>·before·reading·this·section.</p><h2·id="erlang-program"·class="section-heading">120 to·read·the·port·example·in·<a·href="c_port.html">Ports</a>·before·reading·this·section.</p><h2·id="erlang-program"·class="section-heading">
121 ··<a·href="#erlang-program"·class="hover-link">121 ··<a·href="#erlang-program"·class="hover-link">
122 ····<i·class="ri-link-m"·aria-hidden="true"></i>122 ····<i·class="ri-link-m"·aria-hidden="true"></i>
123 ··</a>123 ··</a>
124 ··<span·class="text">Erlang·Program</span>124 ··<span·class="text">Erlang·Program</span>
125 </h2>125 </h2>
126 <p>The·following·example·shows·an·Erlang·program·communicating·with·a·C·program126 <p>The·following·example·shows·an·Erlang·program·communicating·with·a·C·program
127 over·a·plain·port·with·home·made·encoding:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1062239241-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="1062239241-1">)</span><span·class="p">.</span><span·class="w">127 over·a·plain·port·with·home·made·encoding:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3018283657-1">(</span><span·class="ss">complex1</span><span·class="p"·data-group-id="3018283657-1">)</span><span·class="p">.</span><span·class="w">
128 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1062239241-2">(</span><span·class="p"·data-group-id="1062239241-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·241,·SHA:·ad3117eb25e9bf7cbe6ac207d516a6c117b48e26262aa84ae1756c502f07d557·...·]-2">)</span><span·class="p">.</span><span·class="w">128 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3018283657-2">(</span><span·class="p"·data-group-id="3018283657-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·241,·SHA:·9e71cca09a3c93b973ec141a439c7d9be0b8ff1717661ff625153680f118cf01·...·]-2">)</span><span·class="p">.</span><span·class="w">
129 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1062239241-4">(</span><span·class="p"·data-group-id="1062239241-5">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·113,·SHA:·82f20f40831519bca4583ea9cf3451f14d91cf6cb895794de94ca26d2a28b729·...·]-4">)</span><span·class="p">.</span><span·class="w">129 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3018283657-4">(</span><span·class="p"·data-group-id="3018283657-5">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·113,·SHA:·3ce6a2894e64c0c6dc9fe8f9c4582947ff495e7f2981e918a044c4b2bca6763d·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
130 </span><span·class="nf">start</span><span·class="p"·data-group-id="1062239241-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="1062239241-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">130 </span><span·class="nf">start</span><span·class="p"·data-group-id="3018283657-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="3018283657-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
131 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="1062239241-7">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1062239241-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·537b6f05e94f9f4b776a08262b9f494f167fe53537efb53e7be9d00064595313·...·]-7">)</span><span·class="p">.</span><span·class="w">131 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="3018283657-7">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3018283657-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·9edb594572a88c71c53062ded7a9648089280badbc40b970920afc6231e52500·...·]-7">)</span><span·class="p">.</span><span·class="w">
132 </span><span·class="nf">stop</span><span·class="p"·data-group-id="1062239241-9">(</span><span·class="p"·data-group-id="1062239241-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">132 </span><span·class="nf">stop</span><span·class="p"·data-group-id="3018283657-9">(</span><span·class="p"·data-group-id="3018283657-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
133 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">.</span><span·class="w">133 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">.</span><span·class="w">
  
134 </span><span·class="nf">foo</span><span·class="p"·data-group-id="1062239241-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="1062239241-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">134 </span><span·class="nf">foo</span><span·class="p"·data-group-id="3018283657-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="3018283657-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
135 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="1062239241-11">(</span><span·class="p"·data-group-id="1062239241-12">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="1062239241-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·926c3d1c500fa00699c9978ec753f4c3c3aad580164a69c0afc6ce5e871bd73c·...·]-11">)</span><span·class="p">.</span><span·class="w">135 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="3018283657-11">(</span><span·class="p"·data-group-id="3018283657-12">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="3018283657-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·c42db1cb16fd2981b08d4a4e0003a90394d26242d6ba1e7088ca016b38d7ef4a·...·]-11">)</span><span·class="p">.</span><span·class="w">
136 </span><span·class="nf">bar</span><span·class="p"·data-group-id="1062239241-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="1062239241-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">136 </span><span·class="nf">bar</span><span·class="p"·data-group-id="3018283657-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="3018283657-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
137 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="1062239241-14">(</span><span·class="p"·data-group-id="1062239241-15">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="1062239241-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·926c3d1c500fa00699c9978ec753f4c3c3aad580164a69c0afc6ce5e871bd73c·...·]-14">)</span><span·class="p">.</span><span·class="w">137 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="3018283657-14">(</span><span·class="p"·data-group-id="3018283657-15">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="3018283657-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·c42db1cb16fd2981b08d4a4e0003a90394d26242d6ba1e7088ca016b38d7ef4a·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
138 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="1062239241-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="1062239241-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">138 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="3018283657-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="3018283657-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
139 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="1062239241-17">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="1062239241-18">(</span><span·class="p"·data-group-id="1062239241-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·de8fd58c4c176904d07df9ae48d418d4f88a4ed5af84d0e6bab03ec577ad85bd·...·]-17">}</span><span·class="p">,</span><span·class="w">139 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3018283657-17">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="3018283657-18">(</span><span·class="p"·data-group-id="3018283657-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·e42ccd4f4c4149f2dd1928b26057d96108d679ea3ecf3c284d926df48849900b·...·]-17">}</span><span·class="p">,</span><span·class="w">
140 ····</span><span·class="k">receive</span><span·class="w">140 ····</span><span·class="k">receive</span><span·class="w">
141 »       </span><span·class="p"·data-group-id="1062239241-19">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="1062239241-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">141 »       </span><span·class="p"·data-group-id="3018283657-19">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="3018283657-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
142 »       ····</span><span·class="n">Result</span><span·class="w">142 »       ····</span><span·class="n">Result</span><span·class="w">
143 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">143 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
144 </span><span·class="nf">init</span><span·class="p"·data-group-id="1062239241-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="1062239241-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">144 </span><span·class="nf">init</span><span·class="p"·data-group-id="3018283657-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="3018283657-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
145 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="1062239241-21">(</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="1062239241-22">(</span><span·class="p"·data-group-id="1062239241-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·dc4bc4e3a281a9bca16366022de8731d21725dead72465382a3de8aa5ee40031·...·]-21">)</span><span·class="p">,</span><span·class="w">145 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="3018283657-21">(</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="3018283657-22">(</span><span·class="p"·data-group-id="3018283657-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·b5d35c63cf961adcbcd913cf08ea4f6ea9a07d088181d14bc419a8cd9ea4f855·...·]-21">)</span><span·class="p">,</span><span·class="w">
146 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="1062239241-23">(</span><span·class="ss">trap_exit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="1062239241-23">)</span><span·class="p">,</span><span·class="w">146 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="3018283657-23">(</span><span·class="ss">trap_exit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="3018283657-23">)</span><span·class="p">,</span><span·class="w">
147 ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="1062239241-24">(</span><span·class="p"·data-group-id="1062239241-25">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="1062239241-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·966bd17ca33c535093ea55af9945cebb12272c7aedb4f44ca9ed8158bc7c57f1·...·]-24">)</span><span·class="p">,</span><span·class="w">147 ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="3018283657-24">(</span><span·class="p"·data-group-id="3018283657-25">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="3018283657-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·389,·SHA:·693548caa0272aaf10f73f1db984e0013184e9c4cf981048d9c2441347daf0d9·...·]-24">)</span><span·class="p">,</span><span·class="w">
148 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="1062239241-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="1062239241-28">)</span><span·class="p">.</span><span·class="w">148 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="3018283657-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3018283657-28">)</span><span·class="p">.</span><span·class="w">
  
149 </span><span·class="nf">loop</span><span·class="p"·data-group-id="1062239241-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="1062239241-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">149 </span><span·class="nf">loop</span><span·class="p"·data-group-id="3018283657-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3018283657-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
150 ····</span><span·class="k">receive</span><span·class="w">150 ····</span><span·class="k">receive</span><span·class="w">
151 »       </span><span·class="p"·data-group-id="1062239241-30">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Caller</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="1062239241-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">151 »       </span><span·class="p"·data-group-id="3018283657-30">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Caller</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="3018283657-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
152 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="1062239241-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="1062239241-32">(</span><span·class="p"·data-group-id="1062239241-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1062239241-33">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·5735838b8003b438ffdac1dde257f99035b2192c5e1338505c33bbcf7deef8c6·...·]-31">}</span><span·class="p">,</span><span·class="w">152 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3018283657-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3018283657-32">(</span><span·class="p"·data-group-id="3018283657-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3018283657-33">{</[·...·truncated·by·diffoscope;·len:·343,·SHA:·8116ceac228668d36e25b029a4bb524cae3c0a9573a523e5d93a9c8a9d8cdbb5·...·]-31">}</span><span·class="p">,</span><span·class="w">
153 »       ····</span><span·class="k">receive</span><span·class="w">153 »       ····</span><span·class="k">receive</span><span·class="w">
154 »       »       </span><span·class="p"·data-group-id="1062239241-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1062239241-36">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·b758396900648ab7a0118a1fe7b71cff211d76c0fac2f987ab4ebae9932e86f8·...·]-35">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">154 »       »       </span><span·class="p"·data-group-id="3018283657-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3018283657-36">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·219573be2fa38b8eab2e4364875d8274793b3f6bb03d463be30fc95a4f866744·...·]-35">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
155 »       »       ····</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="1062239241-37">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">decode</span><span·class="p"·data-group-id="1062239241-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="1062239241-3[·...·truncated·by·diffoscope;·len:·52,·SHA:·0499eb1d179815367a11d9dc9c06ecb03e9d67b83602b5253749e5092f1abc9a·...·]-37">}</span><span·class="w">155 »       »       ····</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3018283657-37">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">decode</span><span·class="p"·data-group-id="3018283657-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="3018283657-3[·...·truncated·by·diffoscope;·len:·52,·SHA:·78d98f4733cb9bbd864eaad3646332d9073116075d0ac26a5722ebc68edfe5a3·...·]-37">}</span><span·class="w">
156 »       ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">156 »       ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
157 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="1062239241-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="1062239241-39">)</span><span·class="p">;</span><span·class="w">157 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="3018283657-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3018283657-39">)</span><span·class="p">;</span><span·class="w">
158 »       </span><span·class="ss">stop</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">158 »       </span><span·class="ss">stop</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
159 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="1062239241-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="1062239241-41">(</span><span·class="p"·data-group-id="1062239241-41">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">close</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·baa250c357c648af2109fe260153baded3463e703fdb9558062fd4b2ac9e5ce5·...·]-40">}</span><span·class="p">,</span><span·class="w">159 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3018283657-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3018283657-41">(</span><span·class="p"·data-group-id="3018283657-41">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">close</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·a5a01da1581bd69c133b9702e65ea2797ce8ec9b82a003c21828ac62c2155c48·...·]-40">}</span><span·class="p">,</span><span·class="w">
160 »       ····</span><span·class="k">receive</span><span·class="w">160 »       ····</span><span·class="k">receive</span><span·class="w">
161 »       »       </span><span·class="p"·data-group-id="1062239241-42">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">closed</span><span·class="p"·data-group-id="1062239241-42">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">161 »       »       </span><span·class="p"·data-group-id="3018283657-42">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">closed</span><span·class="p"·data-group-id="3018283657-42">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
162 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="1062239241-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="1062239241-43">)</span><span·class="w">162 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="3018283657-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="3018283657-43">)</span><span·class="w">
163 »       ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">163 »       ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
164 »       </span><span·class="p"·data-group-id="1062239241-44">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="1062239241-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">164 »       </span><span·class="p"·data-group-id="3018283657-44">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3018283657-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
165 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="1062239241-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="1062239241-45">)</span><span·class="w">165 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="3018283657-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="3018283657-45">)</span><span·class="w">
166 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">166 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
167 </span><span·class="nf">encode</span><span·class="p"·data-group-id="1062239241-46">(</span><span·class="p"·data-group-id="1062239241-47">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="1062239241-47">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·5471bdf8a17ae90c6a19b49b461b08611024621a125c2c874f5a33fbbdae75fa·...·]-48">]</span><span·class="p">;</span><span·class="w">167 </span><span·class="nf">encode</span><span·class="p"·data-group-id="3018283657-46">(</span><span·class="p"·data-group-id="3018283657-47">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="3018283657-47">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·e5ed1db087ef24c2c8c8103db9a908ff194f305940ef81d683960395227fccb8·...·]-48">]</span><span·class="p">;</span><span·class="w">
168 </span><span·class="nf">encode</span><span·class="p"·data-group-id="1062239241-49">(</span><span·class="p"·data-group-id="1062239241-50">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="1062239241-50">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·e691f647c8bca98b955edcbe50a8602dce1b730ef7af6574513e3d70ccf9c261·...·]-51">]</span><span·class="p">.</span><span·class="w">168 </span><span·class="nf">encode</span><span·class="p"·data-group-id="3018283657-49">(</span><span·class="p"·data-group-id="3018283657-50">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="3018283657-50">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·296,·SHA:·1125d12a838a849de689846b8e33d43f99d68b40d6e8f147c972ef42cc75115f·...·]-51">]</span><span·class="p">.</span><span·class="w">
  
169 </span><span·class="nf">decode</span><span·class="p"·data-group-id="1062239241-52">(</span><span·class="p"·data-group-id="1062239241-53">[</span><span·class="n">Int</span><span·class="p"·data-group-id="1062239241-53">]</span><span·class="p"·data-group-id="1062239241-52">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">.</span></code></pre><p>There·are·two·differences·when·using·Erl_Interface·on·the·C·side·compared·to·the169 </span><span·class="nf">decode</span><span·class="p"·data-group-id="3018283657-52">(</span><span·class="p"·data-group-id="3018283657-53">[</span><span·class="n">Int</span><span·class="p"·data-group-id="3018283657-53">]</span><span·class="p"·data-group-id="3018283657-52">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Int</span><span·class="p">.</span></code></pre><p>There·are·two·differences·when·using·Erl_Interface·on·the·C·side·compared·to·the
170 example·in·<a·href="c_port.html">Ports</a>,·using·only·the·plain·port:</p><ul><li>As·Erl_Interface·operates·on·the·Erlang·external·term·format,·the·port·must·be170 example·in·<a·href="c_port.html">Ports</a>,·using·only·the·plain·port:</p><ul><li>As·Erl_Interface·operates·on·the·Erlang·external·term·format,·the·port·must·be
171 set·to·use·binaries.</li><li>Instead·of·inventing·an·encoding/decoding·scheme,·the171 set·to·use·binaries.</li><li>Instead·of·inventing·an·encoding/decoding·scheme,·the
172 <a·href="../../erts-16.0/doc/html/erlang.html#term_to_binary/1"><code·class="inline">term_to_binary/1</code></a>·and172 <a·href="../../erts-16.0/doc/html/erlang.html#term_to_binary/1"><code·class="inline">term_to_binary/1</code></a>·and
173 <a·href="../../erts-16.0/doc/html/erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>·BIFs·are·to·be·used.</li></ul><p>That·is:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">open_port</span><span·class="p"·data-group-id="9829662477-1">(</span><span·class="p"·data-group-id="9829662477-2">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="9829662477-2">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·2065,·SHA:·517f70ebd9d75b0114ac29db97fb540829b0ec45801f564b962924a5b0b25d16·...·]-1">}</span><span·class="p">,</span><span·class="w">173 <a·href="../../erts-16.0/doc/html/erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>·BIFs·are·to·be·used.</li></ul><p>That·is:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">open_port</span><span·class="p"·data-group-id="5430122142-1">(</span><span·class="p"·data-group-id="5430122142-2">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="5430122142-2">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·2065,·SHA:·8cb0b6a39e80d3472a89a80465b5b11df84d744f6f8ae6b8537bea56ae0afea5·...·]-1">}</span><span·class="p">,</span><span·class="w">
174 </span><span·class="k">receive</span><span·class="w">174 </span><span·class="k">receive</span><span·class="w">
175 ··</span><span·class="p"·data-group-id="5743530057-5">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5743530057-6">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·f841996fe18f0d2a64111f3ce3a45e18869a138c74e11b2cf943d75fa5a7eb19·...·]-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">175 ··</span><span·class="p"·data-group-id="1671772125-5">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1671772125-6">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·2b91662ea28e510fb7d76af5b250905824451be4ca43770dc912da9e4581e134·...·]-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
176 ····</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5743530057-7">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">decode</span><span·class="p"·data-group-id="5743530057-8">(</span><span·class="n">Data</span><span·class="p"·data-group-id="5743530057-8">[·...·truncated·by·diffoscope;·len:·49,·SHA:·c80aa22858f7131ebc239c00b74c33fa042838b46449cf9bd74dcf963de4971b·...·]-7">}</span><span·class="w">176 ····</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="1671772125-7">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">decode</span><span·class="p"·data-group-id="1671772125-8">(</span><span·class="n">Data</span><span·class="p"·data-group-id="1671772125-8">[·...·truncated·by·diffoscope;·len:·49,·SHA:·2756ed8987b2a236ba0312833c47e48fc944d26ba7926599743e64818e218499·...·]-7">}</span><span·class="w">
177 </span><span·class="k">end</span></code></pre><p>is·replaced·with:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3553814046-1">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3553814046-2">(</span><span·class="p"·data-group-id="3553814046-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3553814046-3">{</span[·...·truncated·by·diffoscope;·len:·344,·SHA:·f549ec29bafa741e479cd41d764bb59448895d67570106acdfd0cc285257be49·...·]-1">}</span><span·class="p">,</span><span·class="w">177 </span><span·class="k">end</span></code></pre><p>is·replaced·with:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="4415037367-1">{</span><span·class="nf">self</span><span·class="p"·data-group-id="4415037367-2">(</span><span·class="p"·data-group-id="4415037367-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4415037367-3">{</span[·...·truncated·by·diffoscope;·len:·344,·SHA:·84c9abb131a3e6a1538ad049024b98942b382429e9fcae2b4372e652fcc80e63·...·]-1">}</span><span·class="p">,</span><span·class="w">
178 </span><span·class="k">receive</span><span·class="w">178 </span><span·class="k">receive</span><span·class="w">
179 ··</span><span·class="p"·data-group-id="3553814046-5">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3553814046-6">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·5ae472fdfb83319653bff14211597313022fcf0df9c78c05d505f8819c4b78ee·...·]-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">179 ··</span><span·class="p"·data-group-id="4415037367-5">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4415037367-6">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·8b4da71ab1eb2e22365081857f53c62d157bec541c25da5126ba10c87d069c95·...·]-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
180 ····</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3553814046-7">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="3553814046-8">(</span><span·class="n">Data</span><span·class="p"·data-group-id="355381[·...·truncated·by·diffoscope;·len:·57,·SHA:·94a6d32fbc83a7e53533f9101ff4fc556c08c0a684492d665e6bb6cfa728f4ec·...·]-7">}</span><span·class="w">180 ····</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="4415037367-7">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="4415037367-8">(</span><span·class="n">Data</span><span·class="p"·data-group-id="441503[·...·truncated·by·diffoscope;·len:·57,·SHA:·8c7ad61e62829b9b0bf522984e2f13eb4453d3556b1f47b4fe4d54f34189150c·...·]-7">}</span><span·class="w">
181 </span><span·class="k">end</span></code></pre><p>The·resulting·Erlang·program·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0920253361-1">(</span><span·class="ss">complex2</span><span·class="p"·data-group-id="0920253361-1">)</span><span·class="p">.</span><span·class="w">181 </span><span·class="k">end</span></code></pre><p>The·resulting·Erlang·program·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9719924907-1">(</span><span·class="ss">complex2</span><span·class="p"·data-group-id="9719924907-1">)</span><span·class="p">.</span><span·class="w">
182 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0920253361-2">(</span><span·class="p"·data-group-id="0920253361-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·241,·SHA:·3a982cd44156a6857c86e353c8af65bfbd260c6e1c958e027c4aef444739736d·...·]-2">)</span><span·class="p">.</span><span·class="w">182 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9719924907-2">(</span><span·class="p"·data-group-id="9719924907-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·241,·SHA:·f2dbfd305aa8dc03ba3faf75d3951cd12294c18dbf70ea8a08b5cb7304fd51ff·...·]-2">)</span><span·class="p">.</span><span·class="w">
183 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0920253361-4">(</span><span·class="p"·data-group-id="0920253361-5">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·113,·SHA:·c05a6cc84a9db62a7d73ec798e6f159205f8d29c1f7e51837af231a64bea9edf·...·]-4">)</span><span·class="p">.</span><span·class="w">183 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9719924907-4">(</span><span·class="p"·data-group-id="9719924907-5">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·113,·SHA:·2969d5953379e7cf9414da3949147fbe9ff3c1104dbc5a36c92c47a704c4c001·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
184 </span><span·class="nf">start</span><span·class="p"·data-group-id="0920253361-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="0920253361-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">184 </span><span·class="nf">start</span><span·class="p"·data-group-id="9719924907-6">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="9719924907-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
185 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="0920253361-7">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0920253361-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·a4ee01bdca9fd8472e10ef89045f397356a48cbdc7278dafb0f7228695605c26·...·]-7">)</span><span·class="p">.</span><span·class="w">185 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="9719924907-7">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9719924907-8">[</span><spa[·...·truncated·by·diffoscope;·len:·119,·SHA:·0517d34b152c011f43378c204cfaa3aa8a6e611a5648fa7c42f86f438609956f·...·]-7">)</span><span·class="p">.</span><span·class="w">
186 </span><span·class="nf">stop</span><span·class="p"·data-group-id="0920253361-9">(</span><span·class="p"·data-group-id="0920253361-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">186 </span><span·class="nf">stop</span><span·class="p"·data-group-id="9719924907-9">(</span><span·class="p"·data-group-id="9719924907-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
187 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">.</span><span·class="w">187 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">.</span><span·class="w">
  
188 </span><span·class="nf">foo</span><span·class="p"·data-group-id="0920253361-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="0920253361-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">188 </span><span·class="nf">foo</span><span·class="p"·data-group-id="9719924907-10">(</span><span·class="n">X</span><span·class="p"·data-group-id="9719924907-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
189 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="0920253361-11">(</span><span·class="p"·data-group-id="0920253361-12">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="0920253361-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·e77118ea0ac1e0474a77732857804f881cdf9bd9cffc279308a90b573b3359c1·...·]-11">)</span><span·class="p">.</span><span·class="w">189 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="9719924907-11">(</span><span·class="p"·data-group-id="9719924907-12">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="9719924907-12">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·7c5eb141912c8d2d9b57175e50d26a2cf674aec37ac00de36e624a68d1a9a915·...·]-11">)</span><span·class="p">.</span><span·class="w">
190 </span><span·class="nf">bar</span><span·class="p"·data-group-id="0920253361-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="0920253361-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">190 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9719924907-13">(</span><span·class="n">Y</span><span·class="p"·data-group-id="9719924907-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
191 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="0920253361-14">(</span><span·class="p"·data-group-id="0920253361-15">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="0920253361-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·e77118ea0ac1e0474a77732857804f881cdf9bd9cffc279308a90b573b3359c1·...·]-14">)</span><span·class="p">.</span><span·class="w">191 ····</span><span·class="nf">call_port</span><span·class="p"·data-group-id="9719924907-14">(</span><span·class="p"·data-group-id="9719924907-15">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="9719924907-15">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·7c5eb141912c8d2d9b57175e50d26a2cf674aec37ac00de36e624a68d1a9a915·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
192 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="0920253361-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="0920253361-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">192 </span><span·class="nf">call_port</span><span·class="p"·data-group-id="9719924907-16">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="9719924907-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="0920253361-17">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="0920253361-18">(</span><span·class="p"·data-group-id="0920253361-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·9681b805a873f37bb26683fe71e1af81a70968903d99abbd8cf6a9ab65872de5·...·]-17">}</span><span·class="p">,</span><span·class="w">193 ····</span><span·class="ss">complex</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9719924907-17">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="9719924907-18">(</span><span·class="p"·data-group-id="9719924907-18">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·94,·SHA:·2a3f1df09ae0b6e65878e9c9601a78f6a2a627cf84adb72a55d8786add154801·...·]-17">}</span><span·class="p">,</span><span·class="w">
194 ····</span><span·class="k">receive</span><span·class="w">194 ····</span><span·class="k">receive</span><span·class="w">
195 »       </span><span·class="p"·data-group-id="0920253361-19">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="0920253361-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">195 »       </span><span·class="p"·data-group-id="9719924907-19">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="9719924907-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
196 »       ····</span><span·class="n">Result</span><span·class="w">196 »       ····</span><span·class="n">Result</span><span·class="w">
197 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">197 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
198 </span><span·class="nf">init</span><span·class="p"·data-group-id="0920253361-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="0920253361-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">198 </span><span·class="nf">init</span><span·class="p"·data-group-id="9719924907-20">(</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="9719924907-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
199 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="0920253361-21">(</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="0920253361-22">(</span><span·class="p"·data-group-id="0920253361-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·76cc03dfa12de6160b937ad378fccab00f435f89e52855eef20c698efd35b15c·...·]-21">)</span><span·class="p">,</span><span·class="w">199 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="9719924907-21">(</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="9719924907-22">(</span><span·class="p"·data-group-id="9719924907-22">)</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·7a2747db1c82da0b9ed048c62058ff3efb139b31c2351157ec4e58bfb5d0b752·...·]-21">)</span><span·class="p">,</span><span·class="w">
200 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="0920253361-23">(</span><span·class="ss">trap_exit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="0920253361-23">)</span><span·class="p">,</span><span·class="w">200 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="9719924907-23">(</span><span·class="ss">trap_exit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="9719924907-23">)</span><span·class="p">,</span><span·class="w">
201 ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="0920253361-24">(</span><span·class="p"·data-group-id="0920253361-25">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="0920253361-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·467,·SHA:·7f401d671b5fe05bec05cf214c7c4771834b35d2d82b8b0311c3394461c74e45·...·]-24">)</span><span·class="p">,</span><span·class="w">201 ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="9719924907-24">(</span><span·class="p"·data-group-id="9719924907-25">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ExtPrg</span><span·class="p"·data-group-id="9719924907-25">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·467,·SHA:·c7d1f1d8e090ff36cf378426408c873f07b0e29585fa9ac4c37c54731e6519f5·...·]-24">)</span><span·class="p">,</span><span·class="w">
202 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="0920253361-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="0920253361-28">)</span><span·class="p">.</span><span·class="w">202 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="9719924907-28">(</span><span·class="n">Port</span><span·class="p"·data-group-id="9719924907-28">)</span><span·class="p">.</span><span·class="w">
  
203 </span><span·class="nf">loop</span><span·class="p"·data-group-id="0920253361-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="0920253361-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">203 </span><span·class="nf">loop</span><span·class="p"·data-group-id="9719924907-29">(</span><span·class="n">Port</span><span·class="p"·data-group-id="9719924907-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
204 ····</span><span·class="k">receive</span><span·class="w">204 ····</span><span·class="k">receive</span><span·class="w">
205 »       </span><span·class="p"·data-group-id="0920253361-30">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Caller</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="0920253361-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">205 »       </span><span·class="p"·data-group-id="9719924907-30">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Caller</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="9719924907-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="0920253361-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="0920253361-32">(</span><span·class="p"·data-group-id="0920253361-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0920253361-33">{</[·...·truncated·by·diffoscope;·len:·351,·SHA:·3fea5d276e4d9669a613cecf2966b620c1d2bf0eb938a5936457beb9f3f1ed5e·...·]-31">}</span><span·class="p">,</span><span·class="w">206 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9719924907-31">{</span><span·class="nf">self</span><span·class="p"·data-group-id="9719924907-32">(</span><span·class="p"·data-group-id="9719924907-32">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9719924907-33">{</[·...·truncated·by·diffoscope;·len:·351,·SHA:·652cc99d7e252887f9defc6cd3a513ce1a73d0c16a322ff99dc99a39536c5a8c·...·]-31">}</span><span·class="p">,</span><span·class="w">
207 »       ····</span><span·class="k">receive</span><span·class="w">207 »       ····</span><span·class="k">receive</span><span·class="w">
208 »       »       </span><span·class="p"·data-group-id="0920253361-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0920253361-36">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·b1272b9fde1c130b7e3d61fb81b28d19b452b9a5d8cffa430deead4fea16d267·...·]-35">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 »       »       </span><span·class="p"·data-group-id="9719924907-35">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9719924907-36">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·b97eecab405045a1ea30877fe73bf47de36d722bfd75d85a8713a6111fd6602f·...·]-35">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 »       »       ····</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="0920253361-37">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="0920253361-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="0920[·...·truncated·by·diffoscope;·len:·60,·SHA:·f0264106d6f5485775be26c9bebb19ef8f18b0c8de94a7a5b6b15f3cca41a19a·...·]-37">}</span><span·class="w">209 »       »       ····</span><span·class="n">Caller</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9719924907-37">{</span><span·class="ss">complex</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="9719924907-38">(</span><span·class="n">Data</span><span·class="p"·data-group-id="9719[·...·truncated·by·diffoscope;·len:·60,·SHA:·aded709ece1e7818979e7179000a06b5d23f4d8d78baa41b061a1719563342b4·...·]-37">}</span><span·class="w">
210 »       ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">210 »       ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
211 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="0920253361-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="0920253361-39">)</span><span·class="p">;</span><span·class="w">211 »       ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="9719924907-39">(</span><span·class="n">Port</span><span·class="p"·data-group-id="9719924907-39">)</span><span·class="p">;</span><span·class="w">
212 »       </span><span·class="ss">stop</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">212 »       </span><span·class="ss">stop</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
213 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="0920253361-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="0920253361-41">(</span><span·class="p"·data-group-id="0920253361-41">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">close</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·82b5cf86b9e82a8a9e0a12fc0c518f84cb642a860ed9ba5ffca3dbcbb5ab93da·...·]-40">}</span><span·class="p">,</span><span·class="w">213 »       ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9719924907-40">{</span><span·class="nf">self</span><span·class="p"·data-group-id="9719924907-41">(</span><span·class="p"·data-group-id="9719924907-41">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">close</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·ff9c0fa6a3bfc51cc0fcce03f4950ad0318674f7d28282e3ef9d0bd2de3a5896·...·]-40">}</span><span·class="p">,</span><span·class="w">
214 »       ····</span><span·class="k">receive</span><span·class="w">214 »       ····</span><span·class="k">receive</span><span·class="w">
215 »       »       </span><span·class="p"·data-group-id="0920253361-42">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">closed</span><span·class="p"·data-group-id="0920253361-42">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">215 »       »       </span><span·class="p"·data-group-id="9719924907-42">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">closed</span><span·class="p"·data-group-id="9719924907-42">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
216 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="0920253361-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="0920253361-43">)</span><span·class="w">216 »       »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="9719924907-43">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="9719924907-43">)</span><span·class="w">
217 »       ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">217 »       ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
218 »       </span><span·class="p"·data-group-id="0920253361-44">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="0920253361-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">218 »       </span><span·class="p"·data-group-id="9719924907-44">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="9719924907-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
219 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="0920253361-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="0920253361-45">)</span><span·class="w">219 »       ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="9719924907-45">(</span><span·class="ss">port_terminated</span><span·class="p"·data-group-id="9719924907-45">)</span><span·class="w">
220 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Notice·that·calling·<code·class="inline">complex2:foo/1</code>·and·<code·class="inline">complex2:bar/1</code>·results·in·the·tuple220 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Notice·that·calling·<code·class="inline">complex2:foo/1</code>·and·<code·class="inline">complex2:bar/1</code>·results·in·the·tuple
221 <code·class="inline">{foo,X}</code>·or·<code·class="inline">{bar,Y}</code>·being·sent·to·the·<code·class="inline">complex</code>·process,·which·codes·them·as221 <code·class="inline">{foo,X}</code>·or·<code·class="inline">{bar,Y}</code>·being·sent·to·the·<code·class="inline">complex</code>·process,·which·codes·them·as
222 binaries·and·sends·them·to·the·port.·This·means·that·the·C·program·must·be·able222 binaries·and·sends·them·to·the·port.·This·means·that·the·C·program·must·be·able
223 to·handle·these·two·tuples.</p><h2·id="c-program"·class="section-heading">223 to·handle·these·two·tuples.</p><h2·id="c-program"·class="section-heading">
224 ··<a·href="#c-program"·class="hover-link">224 ··<a·href="#c-program"·class="hover-link">
225 ····<i·class="ri-link-m"·aria-hidden="true"></i>225 ····<i·class="ri-link-m"·aria-hidden="true"></i>
226 ··</a>226 ··</a>
Offset 362, 27 lines modifiedOffset 362, 27 lines modified
362 ····-L/usr/local/otp/lib/erl_interface-3.9.2/lib·\362 ····-L/usr/local/otp/lib/erl_interface-3.9.2/lib·\
363 ····complex.c·erl_comm.c·ei.c·-lei·-lpthread</code></pre><p>In·Erlang/OTP·R5B·and·later·versions·of·OTP,·the·<code·class="inline">include</code>·and·<code·class="inline">lib</code>·directories363 ····complex.c·erl_comm.c·ei.c·-lei·-lpthread</code></pre><p>In·Erlang/OTP·R5B·and·later·versions·of·OTP,·the·<code·class="inline">include</code>·and·<code·class="inline">lib</code>·directories
364 are·situated·under·<code·class="inline">$OTPROOT/lib/erl_interface-VSN</code>,·where·<code·class="inline">$OTPROOT</code>·is·the364 are·situated·under·<code·class="inline">$OTPROOT/lib/erl_interface-VSN</code>,·where·<code·class="inline">$OTPROOT</code>·is·the
365 root·directory·of·the·OTP·installation·(<code·class="inline">/usr/local/otp</code>·in·the·recent·example)365 root·directory·of·the·OTP·installation·(<code·class="inline">/usr/local/otp</code>·in·the·recent·example)
366 and·<code·class="inline">VSN</code>·is·the·version·of·the·Erl_interface·application·(3.2.1·in·the·recent366 and·<code·class="inline">VSN</code>·is·the·version·of·the·Erl_interface·application·(3.2.1·in·the·recent
367 example).</p><p>In·R4B·and·earlier·versions·of·OTP,·<code·class="inline">include</code>·and·<code·class="inline">lib</code>·are·situated·under367 example).</p><p>In·R4B·and·earlier·versions·of·OTP,·<code·class="inline">include</code>·and·<code·class="inline">lib</code>·are·situated·under
368 <code·class="inline">$OTPROOT/usr</code>.</p><p><em>Step·2.</em>·Start·Erlang·and·compile·the·Erlang·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">368 <code·class="inline">$OTPROOT/usr</code>.</p><p><em>Step·2.</em>·Start·Erlang·and·compile·the·Erlang·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">
Max diff block lines reached; 6844/73367 bytes (9.33%) of diff not shown.
538 B
html2text {}
Max HTML report size reached
19.2 KB
./usr/share/doc/erlang-doc/html/doc/system/error_logging.html
    
Offset 143, 39 lines modifiedOffset 143, 39 lines modified
143 reports·and·other·error·and·information·reports·are·by·default·logged·through143 reports·and·other·error·and·information·reports·are·by·default·logged·through
144 the·log·handler·which·is·set·up·when·the·Kernel·application·is·started.</p><p>Prior·to·Erlang/OTP·21.0,·supervisor,·crash,·and·progress·reports·were·only144 the·log·handler·which·is·set·up·when·the·Kernel·application·is·started.</p><p>Prior·to·Erlang/OTP·21.0,·supervisor,·crash,·and·progress·reports·were·only
145 logged·when·the·SASL·application·was·running.·This·behaviour·can,·for·backwards145 logged·when·the·SASL·application·was·running.·This·behaviour·can,·for·backwards
146 compatibility,·be·enabled·by·setting·the·Kernel·configuration·parameter146 compatibility,·be·enabled·by·setting·the·Kernel·configuration·parameter
147 <a·href="../../lib/kernel-10.3/doc/html/kernel_app.html#logger_sasl_compatible"><code·class="inline">logger_sasl_compatible</code></a>·to147 <a·href="../../lib/kernel-10.3/doc/html/kernel_app.html#logger_sasl_compatible"><code·class="inline">logger_sasl_compatible</code></a>·to
148 <code·class="inline">true</code>.·For·more·information,·see148 <code·class="inline">true</code>.·For·more·information,·see
149 <a·href="../../lib/sasl-4.3/doc/html/error_logging.html">SASL·Error·Logging</a>·in·the·SASL·User's·Guide.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-kernel·logger_level·info</span><span·class="w">149 <a·href="../../lib/sasl-4.3/doc/html/error_logging.html">SASL·Error·Logging</a>·in·the·SASL·User's·Guide.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-kernel·logger_level·info</span><span·class="w">
150 </span><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">21</span><span·class="w">·</span><span·class="p"·data-group-id="8099167967-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">10.0</span><span·class="p"·data-group-id="8099167967-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="8099167967-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1313,·SHA:·f85a5c77ede8805170315b19a836b8989df297e95a1a4bd418f62199f5569685·...·]-7">]</span><span·class="w">150 </span><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">21</span><span·class="w">·</span><span·class="p"·data-group-id="7835842636-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">10.0</span><span·class="p"·data-group-id="7835842636-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="7835842636-2">[</span><span·class="ss">source<[·...·truncated·by·diffoscope;·len:·1313,·SHA:·f6d53919b5f33d18dd845e10d92b0b0dbd2110c3e3f2836651a84bade8e2bcc1·...·]-7">]</span><span·class="w">
  
151 </span><span·class="o">=</span><span·class="n">PROGRESS</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="o">==</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">8</span><span·class="o">-</span><span·class="n">Jun</span><span·class="o">-</span><span·class="mi">2018</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">54</span><span·class="p">:</span><span·class="mf">19.916404</span><span·class="w">·</span><span·class="o">==</span><span·class="o">=</span><span·class="w">151 </span><span·class="o">=</span><span·class="n">PROGRESS</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="o">==</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">8</span><span·class="o">-</span><span·class="n">Jun</span><span·class="o">-</span><span·class="mi">2018</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">54</span><span·class="p">:</span><span·class="mf">19.916404</span><span·class="w">·</span><span·class="o">==</span><span·class="o">=</span><span·class="w">
152 ····</span><span·class="nc">application</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">kernel</span><span·class="w">152 ····</span><span·class="nc">application</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">kernel</span><span·class="w">
153 ····</span><span·class="nc">started_at</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">nonode@nohost</span><span·class="w">153 ····</span><span·class="nc">started_at</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">nonode@nohost</span><span·class="w">
154 </span><span·class="o">=</span><span·class="n">PROGRESS</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="o">==</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">8</span><span·class="o">-</span><span·class="n">Jun</span><span·class="o">-</span><span·class="mi">2018</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">54</span><span·class="p">:</span><span·class="mf">19.922908</span><span·class="w">·</span><span·class="o">==</span><span·class="o">=</span><span·class="w">154 </span><span·class="o">=</span><span·class="n">PROGRESS</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="o">==</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">8</span><span·class="o">-</span><span·class="n">Jun</span><span·class="o">-</span><span·class="mi">2018</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">54</span><span·class="p">:</span><span·class="mf">19.922908</span><span·class="w">·</span><span·class="o">==</span><span·class="o">=</span><span·class="w">
155 ····</span><span·class="nc">application</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">stdlib</span><span·class="w">155 ····</span><span·class="nc">application</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">stdlib</span><span·class="w">
156 ····</span><span·class="nc">started_at</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">nonode@nohost</span><span·class="w">156 ····</span><span·class="nc">started_at</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">nonode@nohost</span><span·class="w">
157 </span><span·class="o">=</span><span·class="n">PROGRESS</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="o">==</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">8</span><span·class="o">-</span><span·class="n">Jun</span><span·class="o">-</span><span·class="mi">2018</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">54</span><span·class="p">:</span><span·class="mf">19.925755</span><span·class="w">·</span><span·class="o">==</span><span·class="o">=</span><span·class="w">157 </span><span·class="o">=</span><span·class="n">PROGRESS</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="o">==</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">8</span><span·class="o">-</span><span·class="n">Jun</span><span·class="o">-</span><span·class="mi">2018</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">54</span><span·class="p">:</span><span·class="mf">19.925755</span><span·class="w">·</span><span·class="o">==</span><span·class="o">=</span><span·class="w">
158 ····</span><span·class="nc">supervisor</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="8099167967-8">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">kernel_safe_sup</span><span·class="p"·data-group-id="8099167967-8">}</span><span·class="w">158 ····</span><span·class="nc">supervisor</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7835842636-8">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">kernel_safe_sup</span><span·class="p"·data-group-id="7835842636-8">}</span><span·class="w">
159 ····</span><span·class="nc">started</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="8099167967-9">[</span><span·class="p"·data-group-id="8099167967-10">{</span><span·class="ss">pid</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.74</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·ded87c8195a89c2f681e341fd2869f94fcdaaf2172e6746a8041fa1372c46d7c·...·]-10">}</span><span·class="p">,</span><span·class="w">159 ····</span><span·class="nc">started</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7835842636-9">[</span><span·class="p"·data-group-id="7835842636-10">{</span><span·class="ss">pid</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.74</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·8774f6c335ab77c637b5d6a8cdc27c79da9fe6195ccd07628a8d14cb9b363494·...·]-10">}</span><span·class="p">,</span><span·class="w">
160 ··············</span><span·class="p"·data-group-id="8099167967-11">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="ss">disk_log_sup</span><span·class="p"·data-group-id="8099167967-11">}</span><span·class="p">,</span><span·class="w">160 ··············</span><span·class="p"·data-group-id="7835842636-11">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="ss">disk_log_sup</span><span·class="p"·data-group-id="7835842636-11">}</span><span·class="p">,</span><span·class="w">
161 ··············</span><span·class="p"·data-group-id="8099167967-12">{</span><span·class="ss">mfargs</span><span·class="p">,</span><span·class="p"·data-group-id="8099167967-13">{</span><span·class="ss">disk_log_sup</span><span·class="p">,</span><span·class="ss">start_link</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·196,·SHA:·581f05ba15f70b00efc1406a98a1c2b00c0b291096d240528ffa31106e97c759·...·]-12">}</span><span·class="p">,</span><span·class="w">161 ··············</span><span·class="p"·data-group-id="7835842636-12">{</span><span·class="ss">mfargs</span><span·class="p">,</span><span·class="p"·data-group-id="7835842636-13">{</span><span·class="ss">disk_log_sup</span><span·class="p">,</span><span·class="ss">start_link</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·196,·SHA:·3809b917d2db374c6bb78e417ded447498fd9a652cce3ba1ea6a0d1e57f892ec·...·]-12">}</span><span·class="p">,</span><span·class="w">
162 ··············</span><span·class="p"·data-group-id="8099167967-15">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="8099167967-15">}</span><span·class="p">,</span><span·class="w">162 ··············</span><span·class="p"·data-group-id="7835842636-15">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="7835842636-15">}</span><span·class="p">,</span><span·class="w">
163 ··············</span><span·class="p"·data-group-id="8099167967-16">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">1000</span><span·class="p"·data-group-id="8099167967-16">}</span><span·class="p">,</span><span·class="w">163 ··············</span><span·class="p"·data-group-id="7835842636-16">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">1000</span><span·class="p"·data-group-id="7835842636-16">}</span><span·class="p">,</span><span·class="w">
164 ··············</span><span·class="p"·data-group-id="8099167967-17">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="8099167967-17">}</span><span·class="p"·data-group-id="8099167967-9">]</span><span·class="w">164 ··············</span><span·class="p"·data-group-id="7835842636-17">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="7835842636-17">}</span><span·class="p"·data-group-id="7835842636-9">]</span><span·class="w">
165 </span><span·class="o">=</span><span·class="n">PROGRESS</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="o">==</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">8</span><span·class="o">-</span><span·class="n">Jun</span><span·class="o">-</span><span·class="mi">2018</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">54</span><span·class="p">:</span><span·class="mf">19.926056</span><span·class="w">·</span><span·class="o">==</span><span·class="o">=</span><span·class="w">165 </span><span·class="o">=</span><span·class="n">PROGRESS</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="o">==</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">8</span><span·class="o">-</span><span·class="n">Jun</span><span·class="o">-</span><span·class="mi">2018</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">54</span><span·class="p">:</span><span·class="mf">19.926056</span><span·class="w">·</span><span·class="o">==</span><span·class="o">=</span><span·class="w">
166 ····</span><span·class="nc">supervisor</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="8099167967-18">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">kernel_safe_sup</span><span·class="p"·data-group-id="8099167967-18">}</span><span·class="w">166 ····</span><span·class="nc">supervisor</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7835842636-18">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">kernel_safe_sup</span><span·class="p"·data-group-id="7835842636-18">}</span><span·class="w">
167 ····</span><span·class="nc">started</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="8099167967-19">[</span><span·class="p"·data-group-id="8099167967-20">{</span><span·class="ss">pid</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.75</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·d38d6cad3a44aa0bf1d9241038ad010e741ca2e9eb96a77b2a2333bc72661428·...·]-20">}</span><span·class="p">,</span><span·class="w">167 ····</span><span·class="nc">started</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7835842636-19">[</span><span·class="p"·data-group-id="7835842636-20">{</span><span·class="ss">pid</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.75</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·8acdf91747195bbfd58eb327626dbf2910b585c889ee087961719e421bf9bb28·...·]-20">}</span><span·class="p">,</span><span·class="w">
168 ··············</span><span·class="p"·data-group-id="8099167967-21">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="ss">disk_log_server</span><span·class="p"·data-group-id="8099167967-21">}</span><span·class="p">,</span><span·class="w">168 ··············</span><span·class="p"·data-group-id="7835842636-21">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="ss">disk_log_server</span><span·class="p"·data-group-id="7835842636-21">}</span><span·class="p">,</span><span·class="w">
169 ··············</span><span·class="p"·data-group-id="8099167967-22">{</span><span·class="ss">mfargs</span><span·class="p">,</span><span·class="p"·data-group-id="8099167967-23">{</span><span·class="ss">disk_log_server</span><span·class="p">,</span><span·class="ss">start_link</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·199,·SHA:·67505e565f65c0dcbb769d6a344590208215525d7cd369df7431a23e3ba89f34·...·]-22">}</span><span·class="p">,</span><span·class="w">169 ··············</span><span·class="p"·data-group-id="7835842636-22">{</span><span·class="ss">mfargs</span><span·class="p">,</span><span·class="p"·data-group-id="7835842636-23">{</span><span·class="ss">disk_log_server</span><span·class="p">,</span><span·class="ss">start_link</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·199,·SHA:·3d976d7f36e73885d4aa33c6086365730914ab3a0c4ece55179cc7f12f2f0431·...·]-22">}</span><span·class="p">,</span><span·class="w">
170 ··············</span><span·class="p"·data-group-id="8099167967-25">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="8099167967-25">}</span><span·class="p">,</span><span·class="w">170 ··············</span><span·class="p"·data-group-id="7835842636-25">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="7835842636-25">}</span><span·class="p">,</span><span·class="w">
171 ··············</span><span·class="p"·data-group-id="8099167967-26">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">2000</span><span·class="p"·data-group-id="8099167967-26">}</span><span·class="p">,</span><span·class="w">171 ··············</span><span·class="p"·data-group-id="7835842636-26">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">2000</span><span·class="p"·data-group-id="7835842636-26">}</span><span·class="p">,</span><span·class="w">
172 ··············</span><span·class="p"·data-group-id="8099167967-27">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">worker</span><span·class="p"·data-group-id="8099167967-27">}</span><span·class="p"·data-group-id="8099167967-19">]</span><span·class="w">172 ··············</span><span·class="p"·data-group-id="7835842636-27">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">worker</span><span·class="p"·data-group-id="7835842636-27">}</span><span·class="p"·data-group-id="7835842636-19">]</span><span·class="w">
173 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V10</span><span·class="p">.</span><span·class="mi">0</span><span·class="w">··</span><span·class="p"·data-group-id="8099167967-28">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="8099167967-28">)</span><span·class="w">173 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V10</span><span·class="p">.</span><span·class="mi">0</span><span·class="w">··</span><span·class="p"·data-group-id="7835842636-28">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="7835842636-28">)</span><span·class="w">
174 </span><span·class="mi">1</span><span·class="o">&gt;</span></code></pre>174 </span><span·class="mi">1</span><span·class="o">&gt;</span></code></pre>
175 </div>175 </div>
  
176 <div·class="bottom-actions"·id="bottom-actions">176 <div·class="bottom-actions"·id="bottom-actions">
177 ··<div·class="bottom-actions-item">177 ··<div·class="bottom-actions-item">
  
178 ······<a·href="system_principles.html"·class="bottom-actions-button"·rel="prev">178 ······<a·href="system_principles.html"·class="bottom-actions-button"·rel="prev">
Offset 219, 15 lines modifiedOffset 219, 15 lines modified
219 ······<p·class="built-using">219 ······<p·class="built-using">
220 ········Built·using220 ········Built·using
221 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the221 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
222 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>222 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
223 ······</p>223 ······</p>
224 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>224 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
225 ····</footer>225 ····</footer>
226 ··</div>226 ··</div>
227 </main>227 </main>
228 </div>228 </div>
229 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>229 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
230 ··<script>230 ··<script>
231 ··let·initialized·=·false;231 ··let·initialized·=·false;
689 B
html2text {}
Max HTML report size reached
11.3 KB
./usr/share/doc/erlang-doc/html/doc/system/errors.html
    
Offset 151, 22 lines modifiedOffset 151, 22 lines modified
151 classes,·with·different·origins.·The·<a·href="expressions.html#try">try</a>·expression·can151 classes,·with·different·origins.·The·<a·href="expressions.html#try">try</a>·expression·can
152 distinguish·between·the·different·classes,·whereas·the152 distinguish·between·the·different·classes,·whereas·the
153 <a·href="expressions.html#catch-and-throw">catch</a>·expression·cannot.·<code·class="inline">try</code>·and·<code·class="inline">catch</code>·are·described153 <a·href="expressions.html#catch-and-throw">catch</a>·expression·cannot.·<code·class="inline">try</code>·and·<code·class="inline">catch</code>·are·described
154 in·<a·href="expressions.html">Expressions</a>.</p><table><thead><tr><th·style="text-align:·left;">Class</th><th·style="text-align:·left;">Origin</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">error</code></td><td·style="text-align:·left;">Run-time·error,·for·example,·<code·class="inline">1+a</code>,·or·the·process·called·<a·href="../../erts-16.0/doc/html/erlang.html#error/1"><code·class="inline">error/1</code></a></td></tr><tr><td·style="text-align:·left;"><code·class="inline">exit</code></td><td·style="text-align:·left;">The·process·called·<a·href="../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a></td></tr><tr><td·style="text-align:·left;"><code·class="inline">throw</code></td><td·style="text-align:·left;">The·process·called·<a·href="../../erts-16.0/doc/html/erlang.html#throw/1"><code·class="inline">throw/1</code></a></td></tr></tbody></table><p><em>Table:·Exception·Classes.</em></p><p>All·of·the·above·exceptions·can·also·be·generated·by·calling·<a·href="../../erts-16.0/doc/html/erlang.html#raise/3"><code·class="inline">erlang:raise/3</code></a>.</p><p>An·exception·consists·of·its·class,·an·exit·reason·(see154 in·<a·href="expressions.html">Expressions</a>.</p><table><thead><tr><th·style="text-align:·left;">Class</th><th·style="text-align:·left;">Origin</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">error</code></td><td·style="text-align:·left;">Run-time·error,·for·example,·<code·class="inline">1+a</code>,·or·the·process·called·<a·href="../../erts-16.0/doc/html/erlang.html#error/1"><code·class="inline">error/1</code></a></td></tr><tr><td·style="text-align:·left;"><code·class="inline">exit</code></td><td·style="text-align:·left;">The·process·called·<a·href="../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a></td></tr><tr><td·style="text-align:·left;"><code·class="inline">throw</code></td><td·style="text-align:·left;">The·process·called·<a·href="../../erts-16.0/doc/html/erlang.html#throw/1"><code·class="inline">throw/1</code></a></td></tr></tbody></table><p><em>Table:·Exception·Classes.</em></p><p>All·of·the·above·exceptions·can·also·be·generated·by·calling·<a·href="../../erts-16.0/doc/html/erlang.html#raise/3"><code·class="inline">erlang:raise/3</code></a>.</p><p>An·exception·consists·of·its·class,·an·exit·reason·(see
155 <a·href="errors.html#exit_reasons">Exit·Reason</a>),·and·a·stack·trace·(which·aids·in·finding155 <a·href="errors.html#exit_reasons">Exit·Reason</a>),·and·a·stack·trace·(which·aids·in·finding
156 the·code·location·of·the·exception).</p><p>The·stack·trace·can·be·bound·to·a·variable·from·within·a·<code·class="inline">try</code>·expression·for156 the·code·location·of·the·exception).</p><p>The·stack·trace·can·be·bound·to·a·variable·from·within·a·<code·class="inline">try</code>·expression·for
157 any·exception·class,·or·as·part·of·the·exit·reason·when·a·run-time·error·is157 any·exception·class,·or·as·part·of·the·exit·reason·when·a·run-time·error·is
158 caught·by·a·<code·class="inline">catch</code>.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="0706744553-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="0706744553-2">{</span><span·class="ss">test</span><span·class="p">,</span><span·class="n">Stacktrace</span><span·class="p"·data-group-id="070[·...·truncated·by·diffoscope;·len:·453,·SHA:·697324431e1880efc61d994e5f43e2612e89cd1767c2c6adfebc27e3bdd5b826·...·]-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Stacktrace</span><span·class="p">.</span><span·class="w">158 caught·by·a·<code·class="inline">catch</code>.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="4714510292-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4714510292-2">{</span><span·class="ss">test</span><span·class="p">,</span><span·class="n">Stacktrace</span><span·class="p"·data-group-id="471[·...·truncated·by·diffoscope;·len:·453,·SHA:·1ed28b126b60a73b8bd35452670c908fcb681c40331d74c3d3b95c38e14125ca·...·]-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Stacktrace</span><span·class="p">.</span><span·class="w">
159 </span><span·class="p"·data-group-id="0706744553-5">[</span><span·class="p"·data-group-id="0706744553-6">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">apply_fun</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·125,·SHA:·e8b777004b2efe2e0e9abadcd0a000a002d89c1232b55ca05a80ef873e1b6bc0·...·]-6">}</span><span·class="p">,</span><span·class="w">159 </span><span·class="p"·data-group-id="4714510292-5">[</span><span·class="p"·data-group-id="4714510292-6">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">apply_fun</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·125,·SHA:·b833b3fa6d4f82b65d08947e50fbdbdd8b80c430ac1e5a631991b3a6ae7a04d6·...·]-6">}</span><span·class="p">,</span><span·class="w">
160 ·</span><span·class="p"·data-group-id="0706744553-8">{</span><span·class="ss">erl_eval</span><span·class="p">,</span><span·class="ss">do_apply</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="p"·data-group-id="0706744553-9">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·ab275cbd4d664554c0fab22b8f126c64984c1f5ceafa438f66dd3dcae0f648eb·...·]-8">}</span><span·class="p">,</span><span·class="w">160 ·</span><span·class="p"·data-group-id="4714510292-8">{</span><span·class="ss">erl_eval</span><span·class="p">,</span><span·class="ss">do_apply</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="p"·data-group-id="4714510292-9">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·74,·SHA:·39c95ef592dc21c2f4faf5f94da5ba1cef5236c15b25e358c1157d5dbddd3442·...·]-8">}</span><span·class="p">,</span><span·class="w">
161 ·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="0706744553-5">]</span><span·class="gp·unselectable">161 ·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="4714510292-5">]</span><span·class="gp·unselectable">
162 &gt;·</span><span·class="k">try</span><span·class="w">·</span><span·class="nf">throw</span><span·class="p"·data-group-id="0706744553-10">(</span><span·class="ss">test</span><span·class="p"·data-group-id="0706744553-10">)</span><span·class="w">·</span><span·class="k">catch</span><span·class="w">·</span><span·class="n">Class</span><span·class="p">:</span><span·class="n">Reason</span><span·class="p">:</span><span·class="n">Stacktrace</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Stacktrace</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">162 &gt;·</span><span·class="k">try</span><span·class="w">·</span><span·class="nf">throw</span><span·class="p"·data-group-id="4714510292-10">(</span><span·class="ss">test</span><span·class="p"·data-group-id="4714510292-10">)</span><span·class="w">·</span><span·class="k">catch</span><span·class="w">·</span><span·class="n">Class</span><span·class="p">:</span><span·class="n">Reason</span><span·class="p">:</span><span·class="n">Stacktrace</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Stacktrace</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
163 </span><span·class="p"·data-group-id="0706744553-11">[</span><span·class="p"·data-group-id="0706744553-12">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">apply_fun</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·129,·SHA:·fb97a7104dc80361d8fe6467ca84d431f14e139436e1079c71984480b335de18·...·]-12">}</span><span·class="p">,</span><span·class="w">163 </span><span·class="p"·data-group-id="4714510292-11">[</span><span·class="p"·data-group-id="4714510292-12">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">apply_fun</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·129,·SHA:·5fd69cb0cc1f55458fa4c186c30370ba25626d350ec0f55542c3df94d3bb8f06·...·]-12">}</span><span·class="p">,</span><span·class="w">
164 ·</span><span·class="p"·data-group-id="0706744553-14">{</span><span·class="ss">erl_eval</span><span·class="p">,</span><span·class="ss">do_apply</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="p"·data-group-id="0706744553-15">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·77,·SHA:·b3bf0794c2470d26c5e157c524edfe39a736189f19c7c258f41e9c4724c81de3·...·]-14">}</span><span·class="p">,</span><span·class="w">164 ·</span><span·class="p"·data-group-id="4714510292-14">{</span><span·class="ss">erl_eval</span><span·class="p">,</span><span·class="ss">do_apply</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="p"·data-group-id="4714510292-15">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·77,·SHA:·24345c3032d205967119be0323dea205eb2457a49a4254372407adcc7fac85dd·...·]-14">}</span><span·class="p">,</span><span·class="w">
165 ·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="0706744553-11">]</span></code></pre><p><a·href=""·id="stacktrace"></a></p><h3·id="the-call-stack-back-trace-stacktrace"·class="section-heading">165 ·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="4714510292-11">]</span></code></pre><p><a·href=""·id="stacktrace"></a></p><h3·id="the-call-stack-back-trace-stacktrace"·class="section-heading">
166 ··<a·href="#the-call-stack-back-trace-stacktrace"·class="hover-link">166 ··<a·href="#the-call-stack-back-trace-stacktrace"·class="hover-link">
167 ····<i·class="ri-link-m"·aria-hidden="true"></i>167 ····<i·class="ri-link-m"·aria-hidden="true"></i>
168 ··</a>168 ··</a>
169 ··<span·class="text">The·call-stack·back·trace·(stacktrace)</span>169 ··<span·class="text">The·call-stack·back·trace·(stacktrace)</span>
170 </h3>170 </h3>
171 <p>The·stack·back-trace·(<a·href="../../erts-16.0/doc/html/erlang.html#t:stacktrace/0"><em>stacktrace</em></a>)·is·a·list·that171 <p>The·stack·back-trace·(<a·href="../../erts-16.0/doc/html/erlang.html#t:stacktrace/0"><em>stacktrace</em></a>)·is·a·list·that
172 contains·<code·class="inline">{Module,·Function,·Arity,·ExtraInfo}</code>·and/or·<code·class="inline">{Fun,·Arity,·ExtraInfo}</code>172 contains·<code·class="inline">{Module,·Function,·Arity,·ExtraInfo}</code>·and/or·<code·class="inline">{Fun,·Arity,·ExtraInfo}</code>
Offset 283, 15 lines modifiedOffset 283, 15 lines modified
283 ······<p·class="built-using">283 ······<p·class="built-using">
284 ········Built·using284 ········Built·using
285 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the285 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
286 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>286 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
287 ······</p>287 ······</p>
288 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>288 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
289 ····</footer>289 ····</footer>
290 ··</div>290 ··</div>
291 </main>291 </main>
292 </div>292 </div>
293 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>293 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
294 ··<script>294 ··<script>
295 ··let·initialized·=·false;295 ··let·initialized·=·false;
689 B
html2text {}
Max HTML report size reached
42.1 KB
./usr/share/doc/erlang-doc/html/doc/system/events.html
    
Offset 135, 43 lines modifiedOffset 135, 43 lines modified
135 event·handler.</p><h2·id="example"·class="section-heading">135 event·handler.</p><h2·id="example"·class="section-heading">
136 ··<a·href="#example"·class="hover-link">136 ··<a·href="#example"·class="hover-link">
137 ····<i·class="ri-link-m"·aria-hidden="true"></i>137 ····<i·class="ri-link-m"·aria-hidden="true"></i>
138 ··</a>138 ··</a>
139 ··<span·class="text">Example</span>139 ··<span·class="text">Example</span>
140 </h2>140 </h2>
141 <p>The·callback·module·for·the·event·handler·writing·error·messages·to·the·terminal141 <p>The·callback·module·for·the·event·handler·writing·error·messages·to·the·terminal
142 can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3294011767-1">(</span><span·class="ss">terminal_logger</span><span·class="p"·data-group-id="3294011767-1">)</span><span·class="p">.</span><span·class="w">142 can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0784648148-1">(</span><span·class="ss">terminal_logger</span><span·class="p"·data-group-id="0784648148-1">)</span><span·class="p">.</span><span·class="w">
143 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="3294011767-2">(</span><span·class="ss">gen_event</span><span·class="p"·data-group-id="3294011767-2">)</span><span·class="p">.</span><span·class="w">143 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="0784648148-2">(</span><span·class="ss">gen_event</span><span·class="p"·data-group-id="0784648148-2">)</span><span·class="p">.</span><span·class="w">
144 </span><span·class="w">144 </span><span·class="w">
145 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3294011767-3">(</span><span·class="p"·data-group-id="3294011767-4">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_event</span><span·class="p">/</s[·...·truncated·by·diffoscope;·len:·253,·SHA:·9539f2f6cb51cb407e304155c22ddf4206aba974dc5e681ceac3c35f5d94de13·...·]-3">)</span><span·class="p">.</span><span·class="w">145 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0784648148-3">(</span><span·class="p"·data-group-id="0784648148-4">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_event</span><span·class="p">/</s[·...·truncated·by·diffoscope;·len:·253,·SHA:·8d2ee631aaefd2a1c9acccd753cee43b448fd308ac7d4df350d826276f13d7d0·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
146 </span><span·class="nf">init</span><span·class="p"·data-group-id="3294011767-5">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="3294011767-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">146 </span><span·class="nf">init</span><span·class="p"·data-group-id="0784648148-5">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="0784648148-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
147 ····</span><span·class="p"·data-group-id="3294011767-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3294011767-7">[</span><span·class="p"·data-group-id="3294011767-7">]</span><span·class="p"·data-group-id="3294011767-6">}</span><span·class="p">.</span><span·class="w">147 ····</span><span·class="p"·data-group-id="0784648148-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0784648148-7">[</span><span·class="p"·data-group-id="0784648148-7">]</span><span·class="p"·data-group-id="0784648148-6">}</span><span·class="p">.</span><span·class="w">
  
148 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="3294011767-8">(</span><span·class="n">ErrorMsg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="3294011767-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">148 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="0784648148-8">(</span><span·class="n">ErrorMsg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="0784648148-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
149 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3294011767-9">(</span><span·class="s">&quot;***Error***·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3294011767-10">[</span><span·clas[·...·truncated·by·diffoscope;·len:·116,·SHA:·6b350ddf2d427e201e076ec6ec33cfe11c29154d74feb240d9c25155b79a61f9·...·]-9">)</span><span·class="p">,</span><span·class="w">149 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0784648148-9">(</span><span·class="s">&quot;***Error***·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0784648148-10">[</span><span·clas[·...·truncated·by·diffoscope;·len:·116,·SHA:·479027b7dfc0e4394bf314d086927879f14be874aad79f66d19abaff7b04d27b·...·]-9">)</span><span·class="p">,</span><span·class="w">
150 ····</span><span·class="p"·data-group-id="3294011767-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="3294011767-11">}</span><span·class="p">.</span><span·class="w">150 ····</span><span·class="p"·data-group-id="0784648148-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="0784648148-11">}</span><span·class="p">.</span><span·class="w">
  
151 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="3294011767-12">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">State</span><span·class="p"·data-group-id="3294011767-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">151 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="0784648148-12">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">State</span><span·class="p"·data-group-id="0784648148-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
152 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>The·callback·module·for·the·event·handler·writing·error·messages·to·a·file·can152 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>The·callback·module·for·the·event·handler·writing·error·messages·to·a·file·can
153 look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2782861812-1">(</span><span·class="ss">file_logger</span><span·class="p"·data-group-id="2782861812-1">)</span><span·class="p">.</span><span·class="w">153 look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3293256570-1">(</span><span·class="ss">file_logger</span><span·class="p"·data-group-id="3293256570-1">)</span><span·class="p">.</span><span·class="w">
154 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="2782861812-2">(</span><span·class="ss">gen_event</span><span·class="p"·data-group-id="2782861812-2">)</span><span·class="p">.</span><span·class="w">154 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="3293256570-2">(</span><span·class="ss">gen_event</span><span·class="p"·data-group-id="3293256570-2">)</span><span·class="p">.</span><span·class="w">
155 </span><span·class="w">155 </span><span·class="w">
156 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2782861812-3">(</span><span·class="p"·data-group-id="2782861812-4">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_event</span><span·class="p">/</s[·...·truncated·by·diffoscope;·len:·253,·SHA:·3c1302c3e48e67122a18edb18436dec76cb3281a6c0ee640c20ed229c8c9934d·...·]-3">)</span><span·class="p">.</span><span·class="w">156 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3293256570-3">(</span><span·class="p"·data-group-id="3293256570-4">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_event</span><span·class="p">/</s[·...·truncated·by·diffoscope;·len:·253,·SHA:·c28baa7dd3fdaddedb1d227d6c75957ff1a0267c3c936742b401bfae2604cc91·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">init</span><span·class="p"·data-group-id="2782861812-5">(</span><span·class="n">File</span><span·class="p"·data-group-id="2782861812-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">157 </span><span·class="nf">init</span><span·class="p"·data-group-id="3293256570-5">(</span><span·class="n">File</span><span·class="p"·data-group-id="3293256570-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
158 ····</span><span·class="p"·data-group-id="2782861812-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="2782861812-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·267,·SHA:·bf763984c384bb4d263667cdacf2363db5fb0887967f8015cba7329b342f2474·...·]-7">)</span><span·class="p">,</span><span·class="w">158 ····</span><span·class="p"·data-group-id="3293256570-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="3293256570-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·267,·SHA:·85a0eb2f448b9035f35ee2114eb190b83f4fea738c8bc966fadb7e11235f4ac4·...·]-7">)</span><span·class="p">,</span><span·class="w">
159 ····</span><span·class="p"·data-group-id="2782861812-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="2782861812-8">}</span><span·class="p">.</span><span·class="w">159 ····</span><span·class="p"·data-group-id="3293256570-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="3293256570-8">}</span><span·class="p">.</span><span·class="w">
  
160 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="2782861812-9">(</span><span·class="n">ErrorMsg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="2782861812-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">160 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="3293256570-9">(</span><span·class="n">ErrorMsg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="3293256570-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
161 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2782861812-10">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;***Error***·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·190,·SHA:·a5d6fbaa6d2d9222cbfba818a20d103a2747a371bde1feba6eef79632b2d5d24·...·]-10">)</span><span·class="p">,</span><span·class="w">161 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3293256570-10">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;***Error***·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·190,·SHA:·0a99ce65d9c5b5f42c53de387c75643722ffc6f0ebb1773f32c9428878976a5a·...·]-10">)</span><span·class="p">,</span><span·class="w">
162 ····</span><span·class="p"·data-group-id="2782861812-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="2782861812-12">}</span><span·class="p">.</span><span·class="w">162 ····</span><span·class="p"·data-group-id="3293256570-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="3293256570-12">}</span><span·class="p">.</span><span·class="w">
  
163 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="2782861812-13">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="2782861812-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">163 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="3293256570-13">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="3293256570-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
164 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="2782861812-14">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="2782861812-14">)</span><span·class="p">.</span></code></pre><p>The·code·is·explained·in·the·next·sections.</p><p><a·href=""·id="mgr"></a></p><h2·id="starting-an-event-manager"·class="section-heading">164 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="3293256570-14">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="3293256570-14">)</span><span·class="p">.</span></code></pre><p>The·code·is·explained·in·the·next·sections.</p><p><a·href=""·id="mgr"></a></p><h2·id="starting-an-event-manager"·class="section-heading">
165 ··<a·href="#starting-an-event-manager"·class="hover-link">165 ··<a·href="#starting-an-event-manager"·class="hover-link">
166 ····<i·class="ri-link-m"·aria-hidden="true"></i>166 ····<i·class="ri-link-m"·aria-hidden="true"></i>
167 ··</a>167 ··</a>
168 ··<span·class="text">Starting·an·Event·Manager</span>168 ··<span·class="text">Starting·an·Event·Manager</span>
169 </h2>169 </h2>
170 <p>To·start·an·event·manager·for·handling·errors,·as·described·in·the·previous170 <p>To·start·an·event·manager·for·handling·errors,·as·described·in·the·previous
171 example,·call·the·following·function:</p><pre><code·class="text">gen_event:start_link({local,·error_man})</code></pre><p><a·href="../../lib/stdlib-7.0/doc/html/gen_event.html#start_link/1"><code·class="inline">gen_event:start_link/1</code></a>·spawns·and·links·to·a·new·event·manager·process.</p><p>The·argument,·<code·class="inline">{local,·error_man}</code>,·specifies·the·name·under·which·the171 example,·call·the·following·function:</p><pre><code·class="text">gen_event:start_link({local,·error_man})</code></pre><p><a·href="../../lib/stdlib-7.0/doc/html/gen_event.html#start_link/1"><code·class="inline">gen_event:start_link/1</code></a>·spawns·and·links·to·a·new·event·manager·process.</p><p>The·argument,·<code·class="inline">{local,·error_man}</code>,·specifies·the·name·under·which·the
Offset 184, 57 lines modifiedOffset 184, 57 lines modified
184 manager·that·is·not·part·of·a·supervision·tree.</p><h2·id="adding-an-event-handler"·class="section-heading">184 manager·that·is·not·part·of·a·supervision·tree.</p><h2·id="adding-an-event-handler"·class="section-heading">
185 ··<a·href="#adding-an-event-handler"·class="hover-link">185 ··<a·href="#adding-an-event-handler"·class="hover-link">
186 ····<i·class="ri-link-m"·aria-hidden="true"></i>186 ····<i·class="ri-link-m"·aria-hidden="true"></i>
187 ··</a>187 ··</a>
188 ··<span·class="text">Adding·an·Event·Handler</span>188 ··<span·class="text">Adding·an·Event·Handler</span>
189 </h2>189 </h2>
190 <p>The·following·example·shows·how·to·start·an·event·manager·and·add·an·event190 <p>The·following·example·shows·how·to·start·an·event·manager·and·add·an·event
191 handler·to·it·by·using·the·shell:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="2781358776-1">(</span><span·class="p"·data-group-id="2781358776-2">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">error_man</span><span·class="p"·data-group-id="2781358776-2">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·0d1abbb0658e6a4c00d279aa05d2e1cdc7e10005412b5092f50f3216bb8fb6bd·...·]-1">)</span><span·class="p">.</span><span·class="w">191 handler·to·it·by·using·the·shell:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="6685080540-1">(</span><span·class="p"·data-group-id="6685080540-2">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">error_man</span><span·class="p"·data-group-id="6685080540-2">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·73be982dfe98ccbb9b4fea4fcfa3c1cd35bd91837a8ae34422aafe090cf7a68b·...·]-1">)</span><span·class="p">.</span><span·class="w">
192 </span><span·class="p"·data-group-id="2781358776-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.31</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="2781358776-3">}</span><span·class="gp·unselectable">192 </span><span·class="p"·data-group-id="6685080540-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.31</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="6685080540-3">}</span><span·class="gp·unselectable">
193 2&gt;·</span><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="2781358776-4">(</span><span·class="ss">error_man</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">terminal_logger</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2781358776-5">[</span><span·class="[·...·truncated·by·diffoscope;·len:·81,·SHA:·9828ca437e04605d1e0edb53360724e72bd4ba5d4ea6e15367623947cd3b3093·...·]-4">)</span><span·class="p">.</span><span·class="w">193 2&gt;·</span><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="6685080540-4">(</span><span·class="ss">error_man</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">terminal_logger</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6685080540-5">[</span><span·class="[·...·truncated·by·diffoscope;·len:·81,·SHA:·27d0f10f817a4fa0fa569de12cdfe5450573750e6b9b595d78b4f76cccfe2243·...·]-4">)</span><span·class="p">.</span><span·class="w">
194 </span><span·class="ss">ok</span></code></pre><p>This·function·sends·a·message·to·the·event·manager·registered·as·<code·class="inline">error_man</code>,194 </span><span·class="ss">ok</span></code></pre><p>This·function·sends·a·message·to·the·event·manager·registered·as·<code·class="inline">error_man</code>,
195 telling·it·to·add·the·event·handler·<code·class="inline">terminal_logger</code>.·The·event·manager·calls195 telling·it·to·add·the·event·handler·<code·class="inline">terminal_logger</code>.·The·event·manager·calls
196 the·callback·function·<code·class="inline">terminal_logger:init([])</code>,·where·the·argument·<code·class="inline">[]</code>·is·the196 the·callback·function·<code·class="inline">terminal_logger:init([])</code>,·where·the·argument·<code·class="inline">[]</code>·is·the
197 third·argument·to·<code·class="inline">add_handler</code>.·<code·class="inline">init/1</code>·is·expected·to·return·<code·class="inline">{ok,·State}</code>,197 third·argument·to·<code·class="inline">add_handler</code>.·<code·class="inline">init/1</code>·is·expected·to·return·<code·class="inline">{ok,·State}</code>,
198 where·<code·class="inline">State</code>·is·the·internal·state·of·the·event·handler.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init</span><span·class="p"·data-group-id="1362902199-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="1362902199-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
199 ····</span><span·class="p"·data-group-id="1362902199-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1362902199-3">[</span><span·class="p"·data-group-id="1362902199-3">]</span><span·class=[·...·truncated·by·diffoscope;·len:·180,·SHA:·889c0a07a0e8cdf32d3c36a2d017259d7fba64bd3a2dead736b197f583dd2791·...·]198 where·<code·class="inline">State</code>·is·the·internal·state·of·the·event·handler.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init</span><span·class="p"·data-group-id="0059797735-1">(</span><span·class="p">_</span><span·class="n">[·...·truncated·by·diffoscope;·len:·132,·SHA:·5d359d357ec93150edcfe50f61895240ac19cfca174add92d6ae71f568381a1f·...·]
 199 ····</span><span·class="p"·data-group-id="0059797735-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0059797735-3">[</span><span·class="p"·data-group-id="0059797735-3">]</span><span·class="p"·data-group-id="0059797735-2">}</span><span·class="p">.</span></code></pre><p>Here,·<code·class="inline">init/1</code>·does·not·need·any·input·data·and·ignores·its·argument.·For
200 <code·class="inline">terminal_logger</code>,·the·internal·state·is·not·used.·For·<code·class="inline">file_logger</code>,·the200 <code·class="inline">terminal_logger</code>,·the·internal·state·is·not·used.·For·<code·class="inline">file_logger</code>,·the
201 internal·state·is·used·to·save·the·open·file·descriptor.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init</span><span·class="p"·data-group-id="9426840256-1">(</span><span·class="n">File</span><span·class="p"·data-group-id="9426840256-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">201 internal·state·is·used·to·save·the·open·file·descriptor.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init</span><span·class="p"·data-group-id="3733957908-1">(</span><span·class="n">File</span><span·class="p"·data-group-id="3733957908-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
202 ····</span><span·class="p"·data-group-id="9426840256-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="9426840256-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·267,·SHA:·1b8de6a12e9fd8b239d9d0e397c3d307c92db7b8fe39110a7b6088e6ad876f0c·...·]-3">)</span><span·class="p">,</span><span·class="w">202 ····</span><span·class="p"·data-group-id="3733957908-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="3733957908-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·267,·SHA:·4428551f0fab8434ce8385e1c86a69d1b74560fc7e2fa38815289d1abb3470a8·...·]-3">)</span><span·class="p">,</span><span·class="w">
203 ····</span><span·class="p"·data-group-id="9426840256-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="9426840256-4">}</span><span·class="p">.</span></code></pre><h2·id="notifying-about-events"·class="section-heading">203 ····</span><span·class="p"·data-group-id="3733957908-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="3733957908-4">}</span><span·class="p">.</span></code></pre><h2·id="notifying-about-events"·class="section-heading">
204 ··<a·href="#notifying-about-events"·class="hover-link">204 ··<a·href="#notifying-about-events"·class="hover-link">
205 ····<i·class="ri-link-m"·aria-hidden="true"></i>205 ····<i·class="ri-link-m"·aria-hidden="true"></i>
206 ··</a>206 ··</a>
207 ··<span·class="text">Notifying·about·Events</span>207 ··<span·class="text">Notifying·about·Events</span>
208 </h2>208 </h2>
209 <pre><code·class="text">3&gt;·gen_event:notify(error_man,·no_reply).209 <pre><code·class="text">3&gt;·gen_event:notify(error_man,·no_reply).
210 ***Error***·no_reply210 ***Error***·no_reply
211 ok</code></pre><p><code·class="inline">error_man</code>·is·the·name·of·the·event·manager·and·<code·class="inline">no_reply</code>·is·the·event.</p><p>The·event·is·made·into·a·message·and·sent·to·the·event·manager.·When·the·event211 ok</code></pre><p><code·class="inline">error_man</code>·is·the·name·of·the·event·manager·and·<code·class="inline">no_reply</code>·is·the·event.</p><p>The·event·is·made·into·a·message·and·sent·to·the·event·manager.·When·the·event
212 is·received,·the·event·manager·calls·<code·class="inline">handle_event(Event,·State)</code>·for·each212 is·received,·the·event·manager·calls·<code·class="inline">handle_event(Event,·State)</code>·for·each
213 installed·event·handler,·in·the·same·order·as·they·were·added.·The·function·is213 installed·event·handler,·in·the·same·order·as·they·were·added.·The·function·is
214 expected·to·return·a·tuple·<code·class="inline">{ok,State1}</code>,·where·<code·class="inline">State1</code>·is·a·new·value·for·the214 expected·to·return·a·tuple·<code·class="inline">{ok,State1}</code>,·where·<code·class="inline">State1</code>·is·a·new·value·for·the
215 state·of·the·event·handler.</p><p>In·<code·class="inline">terminal_logger</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_event</span><span·class="p"·data-group-id="8096858052-1">(</span><span·class="n">ErrorMsg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="8096858052-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">215 state·of·the·event·handler.</p><p>In·<code·class="inline">terminal_logger</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_event</span><span·class="p"·data-group-id="0077886654-1">(</span><span·class="n">ErrorMsg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="0077886654-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
 216 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0077886654-2">(</span><span·class="s">&quot;***Error***·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0077886654-3">[</span><span·class="n">ErrorMsg</span><span·class="p"·data-group-id="0077886654-3">]</span><span·class="p"·data-group-id="0077886654-2">)</span><span·class="p">,</span><span·class="w">
 217 ····</span><span·class="p"·data-group-id="0077886654-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="0077886654-4">}</span><span·class="p">.</span></code></pre><p>In·<code·class="inline">file_logger</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_event</span><span·class="p"·data-group-id="6317760596-1">(</span><span·class="n">ErrorMsg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="6317760596-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
216 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8096858052-2">(</span><span·class="s">&quot;***Error***·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8096858052-3">[</span><span·class[·...·truncated·by·diffoscope;·len:·114,·SHA:·28bab59c1c448de5d0c637c11e581021715f4f66264a71cd0c70602171b5c1b9·...·]-2">)</span><span·class="p">,</span><span·class="w">218 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6317760596-2">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;***Error***·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·187,·SHA:·1d40c2fddfb4c7c9f61af6b0f13c1d17b4052f8c76458e8a31aa7d0e15665aea·...·]-2">)</span><span·class="p">,</span><span·class="w">
217 ····</span><span·class="p"·data-group-id="8096858052-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="8096858052-4">}</span><span·class="p">.</span></code></pre><p>In·<code·class="inline">file_logger</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_event</span><span·class="p"·data-group-id="9860838255-1">(</span><span·class="n">ErrorMsg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="9860838255-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
218 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9860838255-2">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;***Error***·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9860838255-3">[</span><span·class="n">ErrorMsg</span><span·class="p"·data-group-id="9860838255-3">]</span><span·class="p"·data-group-id="9860838255-2">)</span><span·class="p">,</span><span·class="w"> 
219 ····</span><span·class="p"·data-group-id="9860838255-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="9860838255-4">}</span><span·class="p">.</span></code></pre><h2·id="deleting-an-event-handler"·class="section-heading">219 ····</span><span·class="p"·data-group-id="6317760596-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="6317760596-4">}</span><span·class="p">.</span></code></pre><h2·id="deleting-an-event-handler"·class="section-heading">
220 ··<a·href="#deleting-an-event-handler"·class="hover-link">220 ··<a·href="#deleting-an-event-handler"·class="hover-link">
221 ····<i·class="ri-link-m"·aria-hidden="true"></i>221 ····<i·class="ri-link-m"·aria-hidden="true"></i>
222 ··</a>222 ··</a>
223 ··<span·class="text">Deleting·an·Event·Handler</span>223 ··<span·class="text">Deleting·an·Event·Handler</span>
224 </h2>224 </h2>
225 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">delete_handler</span><span·class="p"·data-group-id="5219775243-1">(</span><span·class="ss">error_man</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">terminal_logger</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5219775243-2">[</span><span·class="[·...·truncated·by·diffoscope;·len:·81,·SHA:·ff0aed2a082134243730cd0ae8f41e25e9876969a7e6f680447148f40a129889·...·]-1">)</span><span·class="p">.</span><span·class="w">225 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">delete_handler</span><span·class="p"·data-group-id="9391776384-1">(</span><span·class="ss">error_man</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">terminal_logger</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9391776384-2">[</span><span·class="[·...·truncated·by·diffoscope;·len:·81,·SHA:·eff3df095152c8bcc1b265d707c722abd376fc42c44834cd518ca06e8f75d171·...·]-1">)</span><span·class="p">.</span><span·class="w">
226 </span><span·class="ss">ok</span></code></pre><p>This·function·sends·a·message·to·the·event·manager·registered·as·<code·class="inline">error_man</code>,226 </span><span·class="ss">ok</span></code></pre><p>This·function·sends·a·message·to·the·event·manager·registered·as·<code·class="inline">error_man</code>,
227 telling·it·to·delete·the·event·handler·<code·class="inline">terminal_logger</code>.·The·event·manager227 telling·it·to·delete·the·event·handler·<code·class="inline">terminal_logger</code>.·The·event·manager
228 calls·the·callback·function·<code·class="inline">terminal_logger:terminate([],·State)</code>,·where·the228 calls·the·callback·function·<code·class="inline">terminal_logger:terminate([],·State)</code>,·where·the
229 argument·<code·class="inline">[]</code>·is·the·third·argument·to·<code·class="inline">delete_handler</code>.·<code·class="inline">terminate/2</code>·is·to·be229 argument·<code·class="inline">[]</code>·is·the·third·argument·to·<code·class="inline">delete_handler</code>.·<code·class="inline">terminate/2</code>·is·to·be
230 the·opposite·of·<code·class="inline">init/1</code>·and·do·any·necessary·cleaning·up.·Its·return·value·is230 the·opposite·of·<code·class="inline">init/1</code>·and·do·any·necessary·cleaning·up.·Its·return·value·is
231 ignored.</p><p>For·<code·class="inline">terminal_logger</code>,·no·cleaning·up·is·necessary:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">terminate</span><span·class="p"·data-group-id="5179321095-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">State</span><span·class="p"·data-group-id="5179321095-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
232 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>For·<code·class="inline">file_logger</code>,·the·file·descriptor·opened·in·<code·class="inline">init</code>·must·be·closed:</p><pre><code·class="makeup·erlang"·translate="no"><spa[·...·truncated·by·diffoscope;·len:·247,·SHA:·3b40f0e96dfa2deffda30dfe6cfdda2dbb71f8a4d663982b7ca55291deedb009·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">231 ignored.</p><p>For·<code·class="inline">terminal_logger</code>,·no·cleaning·up·is·necessary:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">terminate</span><span·class="p"·data-group-id="5018400224-1">(</span><span·class="p">_</span><s[·...·truncated·by·diffoscope;·len:·166,·SHA:·d5a160c9f2ad914c453c99ed857ddd95f490ba76348cb5f85ed844f210d17143·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
 232 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>For·<code·class="inline">file_logger</code>,·the·file·descriptor·opened·in·<code·class="inline">init</code>·must·be·closed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">terminate</span><span·class="p"·data-group-id="1724639712-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="1724639712-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
233 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="4962384233-2">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="4962384233-2">)</span><span·class="p">.</span></code></pre><h2·id="stopping"·class="section-heading">233 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="1724639712-2">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="1724639712-2">)</span><span·class="p">.</span></code></pre><h2·id="stopping"·class="section-heading">
234 ··<a·href="#stopping"·class="hover-link">234 ··<a·href="#stopping"·class="hover-link">
235 ····<i·class="ri-link-m"·aria-hidden="true"></i>235 ····<i·class="ri-link-m"·aria-hidden="true"></i>
236 ··</a>236 ··</a>
237 ··<span·class="text">Stopping</span>237 ··<span·class="text">Stopping</span>
238 </h2>238 </h2>
239 <p>When·an·event·manager·is·stopped,·it·gives·each·of·the·installed·event·handlers239 <p>When·an·event·manager·is·stopped,·it·gives·each·of·the·installed·event·handlers
240 the·chance·to·clean·up·by·calling·<code·class="inline">terminate/2</code>,·the·same·way·as·when·deleting·a240 the·chance·to·clean·up·by·calling·<code·class="inline">terminate/2</code>,·the·same·way·as·when·deleting·a
Offset 249, 33 lines modifiedOffset 249, 33 lines modified
249 this·is·done·is·defined·by·a·<a·href="sup_princ.html#shutdown">shutdown·strategy</a>·set·in249 this·is·done·is·defined·by·a·<a·href="sup_princ.html#shutdown">shutdown·strategy</a>·set·in
250 the·supervisor.</p><h3·id="standalone-event-managers"·class="section-heading">250 the·supervisor.</p><h3·id="standalone-event-managers"·class="section-heading">
251 ··<a·href="#standalone-event-managers"·class="hover-link">251 ··<a·href="#standalone-event-managers"·class="hover-link">
252 ····<i·class="ri-link-m"·aria-hidden="true"></i>252 ····<i·class="ri-link-m"·aria-hidden="true"></i>
253 ··</a>253 ··</a>
254 ··<span·class="text">Standalone·Event·Managers</span>254 ··<span·class="text">Standalone·Event·Managers</span>
255 </h3>255 </h3>
256 <p>An·event·manager·can·also·be·stopped·by·calling:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="3239552905-1">(</span><span·class="ss">error_man</span><span·class="p"·data-group-id="3239552905-1">)</span><span·class="p">.</span><span·class="w">256 <p>An·event·manager·can·also·be·stopped·by·calling:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="3581349056-1">(</span><span·class="ss">error_man</span><span·class="p"·data-group-id="3581349056-1">)</span><span·class="p">.</span><span·class="w">
257 </span><span·class="ss">ok</span></code></pre><h2·id="handling-other-messages"·class="section-heading">257 </span><span·class="ss">ok</span></code></pre><h2·id="handling-other-messages"·class="section-heading">
258 ··<a·href="#handling-other-messages"·class="hover-link">258 ··<a·href="#handling-other-messages"·class="hover-link">
259 ····<i·class="ri-link-m"·aria-hidden="true"></i>259 ····<i·class="ri-link-m"·aria-hidden="true"></i>
260 ··</a>260 ··</a>
261 ··<span·class="text">Handling·Other·Messages</span>261 ··<span·class="text">Handling·Other·Messages</span>
262 </h2>262 </h2>
263 <p>If·the·<code·class="inline">gen_event</code>·process·is·to·be·able·to·receive·other·messages263 <p>If·the·<code·class="inline">gen_event</code>·process·is·to·be·able·to·receive·other·messages
264 than·events,·the·callback·function·<code·class="inline">handle_info(Info,·State)</code>·must·be264 than·events,·the·callback·function·<code·class="inline">handle_info(Info,·State)</code>·must·be
265 implemented·to·handle·them.·Examples·of·other·messages·are·exit265 implemented·to·handle·them.·Examples·of·other·messages·are·exit
266 messages·if·the·event·manager·is·linked·to·other·processes·than·the266 messages·if·the·event·manager·is·linked·to·other·processes·than·the
267 supervisor·(for·example·via·<a·href="../../lib/stdlib-7.0/doc/html/gen_event.html#add_sup_handler/3"><code·class="inline">gen_event:add_sup_handler/3</code></a>)·and·is267 supervisor·(for·example·via·<a·href="../../lib/stdlib-7.0/doc/html/gen_event.html#add_sup_handler/3"><code·class="inline">gen_event:add_sup_handler/3</code></a>)·and·is
268 trapping·exit·signals.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_info</span><span·class="p"·data-group-id="9087202252-1">(</span><span·class="p"·data-group-id="9087202252-2">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reaso[·...·truncated·by·diffoscope;·len:·178,·SHA:·71a04b71c2c764aea0b1d42bdbca2f8aad53ef496c8c1fa71cc285cc9dbba8b9·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">268 trapping·exit·signals.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_info</span><span·class="p"·data-group-id="5027692569-1">(</span><span·class="p"·data-group-id="5027692569-2">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reaso[·...·truncated·by·diffoscope;·len:·178,·SHA:·68b5678c2da147e840ff8a69f9fba1b483c02af4366b071f756f11f2f30f9848·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
269 ····</span><span·class="c1">%%·Code·to·handle·exits·here.</span><span·class="w">269 ····</span><span·class="c1">%%·Code·to·handle·exits·here.</span><span·class="w">
Max diff block lines reached; 3206/42335 bytes (7.57%) of diff not shown.
666 B
html2text {}
Max HTML report size reached
3.14 KB
./usr/share/doc/erlang-doc/html/doc/system/example.html
    
Offset 131, 15 lines modifiedOffset 131, 15 lines modified
  
131 int·bar(int·y)·{131 int·bar(int·y)·{
132 ··return·y*2;132 ··return·y*2;
133 }</code></pre><p>The·functions·are·deliberately·kept·as·simple·as·possible,·for·readability133 }</code></pre><p>The·functions·are·deliberately·kept·as·simple·as·possible,·for·readability
134 reasons.</p><p>From·an·Erlang·perspective,·it·is·preferable·to·be·able·to·call·<code·class="inline">foo</code>·and·<code·class="inline">bar</code>134 reasons.</p><p>From·an·Erlang·perspective,·it·is·preferable·to·be·able·to·call·<code·class="inline">foo</code>·and·<code·class="inline">bar</code>
135 without·having·to·bother·about·that·they·are·C·functions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·Erlang·code</span><span·class="w">135 without·having·to·bother·about·that·they·are·C·functions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·Erlang·code</span><span·class="w">
136 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">136 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
137 </span><span·class="n">Res</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">complex</span><span·class="p">:</span><span·class="nf">foo</span><span·class="p"·data-group-id="6576842661-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="6576842661-1">)</span><span·class="p">,</span><span·class="w">137 </span><span·class="n">Res</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">complex</span><span·class="p">:</span><span·class="nf">foo</span><span·class="p"·data-group-id="4641289499-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="4641289499-1">)</span><span·class="p">,</span><span·class="w">
138 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>Here,·the·communication·with·C·is·hidden·in·the·implementation·of·<code·class="inline">complex.erl</code>.138 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>Here,·the·communication·with·C·is·hidden·in·the·implementation·of·<code·class="inline">complex.erl</code>.
139 In·the·following·sections,·it·is·shown·how·this·module·can·be·implemented·using139 In·the·following·sections,·it·is·shown·how·this·module·can·be·implemented·using
140 the·different·interoperability·mechanisms.</p>140 the·different·interoperability·mechanisms.</p>
141 </div>141 </div>
  
142 <div·class="bottom-actions"·id="bottom-actions">142 <div·class="bottom-actions"·id="bottom-actions">
143 ··<div·class="bottom-actions-item">143 ··<div·class="bottom-actions-item">
Offset 185, 15 lines modifiedOffset 185, 15 lines modified
185 ······<p·class="built-using">185 ······<p·class="built-using">
186 ········Built·using186 ········Built·using
187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
189 ······</p>189 ······</p>
190 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>190 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
191 ····</footer>191 ····</footer>
192 ··</div>192 ··</div>
193 </main>193 </main>
194 </div>194 </div>
195 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>195 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
196 ··<script>196 ··<script>
197 ··let·initialized·=·false;197 ··let·initialized·=·false;
697 B
html2text {}
Max HTML report size reached
368 KB
./usr/share/doc/erlang-doc/html/doc/system/expressions.html
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/doc/system/features.html
    
Offset 235, 15 lines modifiedOffset 235, 15 lines modified
235 ······<p·class="built-using">235 ······<p·class="built-using">
236 ········Built·using236 ········Built·using
237 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the237 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
238 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>238 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
239 ······</p>239 ······</p>
240 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>240 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
241 ····</footer>241 ····</footer>
242 ··</div>242 ··</div>
243 </main>243 </main>
244 </div>244 </div>
245 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>245 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
246 ··<script>246 ··<script>
247 ··let·initialized·=·false;247 ··let·initialized·=·false;
792 B
html2text {}
Max HTML report size reached
215 KB
./usr/share/doc/erlang-doc/html/doc/system/funs.html
Max HTML report size reached
49.6 KB
./usr/share/doc/erlang-doc/html/doc/system/gen_server_concepts.html
    
Offset 157, 63 lines modifiedOffset 157, 63 lines modified
157 ··<a·href="#example"·class="hover-link">157 ··<a·href="#example"·class="hover-link">
158 ····<i·class="ri-link-m"·aria-hidden="true"></i>158 ····<i·class="ri-link-m"·aria-hidden="true"></i>
159 ··</a>159 ··</a>
160 ··<span·class="text">Example</span>160 ··<span·class="text">Example</span>
161 </h2>161 </h2>
162 <p>An·example·of·a·simple·server·written·in·plain·Erlang·is·provided·in162 <p>An·example·of·a·simple·server·written·in·plain·Erlang·is·provided·in
163 <a·href="design_principles.html#ch1">Overview</a>.·The·server·can·be·reimplemented·using163 <a·href="design_principles.html#ch1">Overview</a>.·The·server·can·be·reimplemented·using
164 <code·class="inline">gen_server</code>,·resulting·in·this·callback·module:</p><p><a·href=""·id="ex"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6403368478-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="6403368478-1">)</span><span·class="p">.</span><span·class="w">164 <code·class="inline">gen_server</code>,·resulting·in·this·callback·module:</p><p><a·href=""·id="ex"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0717212559-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="0717212559-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="6403368478-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="6403368478-2">)</span><span·class="p">.</span><span·class="w">165 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="0717212559-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="0717212559-2">)</span><span·class="p">.</span><span·class="w">
166 </span><span·class="w">166 </span><span·class="w">
167 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6403368478-3">(</span><span·class="p"·data-group-id="6403368478-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="6403368478-4">]</span><span·class="p"·data-group-id="6403368478-3">)</span><span·class="p">.</span><span·class="w">167 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0717212559-3">(</span><span·class="p"·data-group-id="0717212559-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="0717212559-4">]</span><span·class="p"·data-group-id="0717212559-3">)</span><span·class="p">.</span><span·class="w">
168 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6403368478-5">(</span><span·class="p"·data-group-id="6403368478-6">[</span><span·class="ss">alloc</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">free</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·116,·SHA:·adaf1cfba9bcac172fbd474dc41eddf696e224613bdf11dc1dbf06e98e3944d3·...·]-5">)</span><span·class="p">.</span><span·class="w">168 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0717212559-5">(</span><span·class="p"·data-group-id="0717212559-6">[</span><span·class="ss">alloc</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">free</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·116,·SHA:·66d309f2e95a45be868d17b4834a7cad5a3ddde5077d3521855c5812fb11e098·...·]-5">)</span><span·class="p">.</span><span·class="w">
169 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6403368478-7">(</span><span·class="p"·data-group-id="6403368478-8">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_call</span><span·class="p">/</sp[·...·truncated·by·diffoscope;·len:·254,·SHA:·4f2201981eaa1ac9b4adba09d69eed77b54ebf404806a803fda8f02a8076f878·...·]-7">)</span><span·class="p">.</span><span·class="w">169 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0717212559-7">(</span><span·class="p"·data-group-id="0717212559-8">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_call</span><span·class="p">/</sp[·...·truncated·by·diffoscope;·len:·254,·SHA:·cf1cc1ed232f35e047de80da09d8cfd214bcb8979550c7d4836c0633dd821ce7·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
170 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="6403368478-9">(</span><span·class="p"·data-group-id="6403368478-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">170 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="0717212559-9">(</span><span·class="p"·data-group-id="0717212559-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
171 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="6403368478-10">(</span><span·class="p"·data-group-id="6403368478-11">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p"·data-group-id="6403368478-11">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·407,·SHA:·96a00a575bf857643075339ab3a211066c8a6eecdf6f02f0b42cfb9b0882b953·...·]-10">)</span><span·class="p">.</span><span·class="w">171 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="0717212559-10">(</span><span·class="p"·data-group-id="0717212559-11">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p"·data-group-id="0717212559-11">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·407,·SHA:·949176ada12e8ec01798a38a3cc654d0301dd01fe994b8c96f0181b806925e58·...·]-10">)</span><span·class="p">.</span><span·class="w">
  
172 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="6403368478-14">(</span><span·class="p"·data-group-id="6403368478-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">172 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="0717212559-14">(</span><span·class="p"·data-group-id="0717212559-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
173 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="6403368478-15">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data-group-id="6403368478-15">)</span><span·class="p">.</span><span·class="w">173 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="0717212559-15">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data-group-id="0717212559-15">)</span><span·class="p">.</span><span·class="w">
  
174 </span><span·class="nf">free</span><span·class="p"·data-group-id="6403368478-16">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="6403368478-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">174 </span><span·class="nf">free</span><span·class="p"·data-group-id="0717212559-16">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="0717212559-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
175 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">cast</span><span·class="p"·data-group-id="6403368478-17">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6403368478-18">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><sp[·...·truncated·by·diffoscope;·len:·92,·SHA:·4f99f5886c400bd55117c8284eecb44c9a8151b16282d08733ab481fb4a190d9·...·]-17">)</span><span·class="p">.</span><span·class="w">175 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">cast</span><span·class="p"·data-group-id="0717212559-17">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0717212559-18">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><sp[·...·truncated·by·diffoscope;·len:·92,·SHA:·67a25569702817ebabc684b6cf58eb56ba2e2e89863874634f80359d59f98bf7·...·]-17">)</span><span·class="p">.</span><span·class="w">
  
176 </span><span·class="nf">init</span><span·class="p"·data-group-id="6403368478-19">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="6403368478-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 </span><span·class="nf">init</span><span·class="p"·data-group-id="0717212559-19">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="0717212559-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ····</span><span·class="p"·data-group-id="6403368478-20">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">channels</span><span·class="p"·data-group-id="6403368478-21">(</span><span·class="p"·data-group-id="6403368478-21">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·ebda093b081b020e74cf4496e4637354ad22d0df1b7c7cfe7c2fa46ad6575581·...·]-20">}</span><span·class="p">.</span><span·class="w">177 ····</span><span·class="p"·data-group-id="0717212559-20">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">channels</span><span·class="p"·data-group-id="0717212559-21">(</span><span·class="p"·data-group-id="0717212559-21">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·fe8095f90f96faf0173a6b9fa0abe9e8b5e69b7712def90e914b7d1196988e37·...·]-20">}</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="6403368478-22">(</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·9058322c267b7bd0fae455e3bd6fa332907e8fdc6c85b1bb7720c5074f1899ed·...·]-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="0717212559-22">(</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·24966a9a731967614181d812abcb6922cdde95cd62dd064ba5d0cafea63e3f0a·...·]-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
179 ····</span><span·class="p"·data-group-id="6403368478-23">{</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="6403368478-23">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·143,·SHA:·b5877e77a33b0e5f6a4a782bf9e535a1684249f6b2dee291566fe7494c88344c·...·]-24">)</span><span·class="p">,</span><span·class="w">179 ····</span><span·class="p"·data-group-id="0717212559-23">{</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="0717212559-23">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·143,·SHA:·5602f845a9749be231b0095420c053bd07dfdd957afa6db3012c76cd024b3206·...·]-24">)</span><span·class="p">,</span><span·class="w">
180 ····</span><span·class="p"·data-group-id="6403368478-25">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="6403368478-25">}</span><span·class="p">.</span><span·class="w">180 ····</span><span·class="p"·data-group-id="0717212559-25">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="0717212559-25">}</span><span·class="p">.</span><span·class="w">
  
181 </span><span·class="nf">handle_cast</span><span·class="p"·data-group-id="6403368478-26">(</span><span·class="p"·data-group-id="6403368478-27">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p"·data-group-id="6403368478-27">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·ae240166af2adfb7ba068fe61d987496e4958a2a717879d490bdf9deb5a1e2c4·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">181 </span><span·class="nf">handle_cast</span><span·class="p"·data-group-id="0717212559-26">(</span><span·class="p"·data-group-id="0717212559-27">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p"·data-group-id="0717212559-27">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·91,·SHA:·7787dd1e74706195f91683c2575c45e65b5ef89de84ed82893d92f28c26954c9·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
182 ····</span><span·class="n">Chs2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">free</span><span·class="p"·data-group-id="6403368478-28">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="6403368478-28">)</span><span·class="p">,</span><span·class="w">182 ····</span><span·class="n">Chs2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">free</span><span·class="p"·data-group-id="0717212559-28">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="0717212559-28">)</span><span·class="p">,</span><span·class="w">
183 ····</span><span·class="p"·data-group-id="6403368478-29">{</span><span·class="ss">noreply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="6403368478-29">}</span><span·class="p">.</span></code></pre><p>The·code·is·explained·in·the·next·sections.</p><h2·id="starting-a-gen_server"·class="section-heading">183 ····</span><span·class="p"·data-group-id="0717212559-29">{</span><span·class="ss">noreply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="0717212559-29">}</span><span·class="p">.</span></code></pre><p>The·code·is·explained·in·the·next·sections.</p><h2·id="starting-a-gen_server"·class="section-heading">
184 ··<a·href="#starting-a-gen_server"·class="hover-link">184 ··<a·href="#starting-a-gen_server"·class="hover-link">
185 ····<i·class="ri-link-m"·aria-hidden="true"></i>185 ····<i·class="ri-link-m"·aria-hidden="true"></i>
186 ··</a>186 ··</a>
187 ··<span·class="text">Starting·a·Gen_Server</span>187 ··<span·class="text">Starting·a·Gen_Server</span>
188 </h2>188 </h2>
189 <p>In·the·example·in·the·previous·section,·<code·class="inline">gen_server</code>·is·started·by·calling189 <p>In·the·example·in·the·previous·section,·<code·class="inline">gen_server</code>·is·started·by·calling
190 <code·class="inline">ch3:start_link()</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">start_link</span><span·class="p"·data-group-id="3961660171-1">(</span><span·class="p"·data-group-id="3961660171-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">190 <code·class="inline">ch3:start_link()</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">start_link</span><span·class="p"·data-group-id="5455475099-1">(</span><span·class="p"·data-group-id="5455475099-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
191 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="3961660171-2">(</span><span·class="p"·data-group-id="3961660171-3">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p"·data-group-id="3961660171-3">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·682,·SHA:·d6aa74ab8608adf397fbac0676745f3741c98a7d209abecec876483adbe76205·...·]-6">}</span></code></pre><p><code·class="inline">start_link/0</code>·calls·function·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/4</code></a>.··This·function191 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="5455475099-2">(</span><span·class="p"·data-group-id="5455475099-3">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p"·data-group-id="5455475099-3">}</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·682,·SHA:·929a6ec3eec2cfd00633642788d260c664a5aa3b1646289a1e79dc817492b4c6·...·]-6">}</span></code></pre><p><code·class="inline">start_link/0</code>·calls·function·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/4</code></a>.··This·function
192 spawns·and·links·to·a·new·process,·a·<code·class="inline">gen_server</code>.</p><ul><li><p>The·first·argument,·<code·class="inline">{local,·ch3}</code>,·specifies·the·name.192 spawns·and·links·to·a·new·process,·a·<code·class="inline">gen_server</code>.</p><ul><li><p>The·first·argument,·<code·class="inline">{local,·ch3}</code>,·specifies·the·name.
193 The·gen_server·is·then·locally·registered·as·<code·class="inline">ch3</code>.</p><p>If·the·name·is·omitted,·the·<code·class="inline">gen_server</code>·is·not·registered.·Instead·its·pid193 The·gen_server·is·then·locally·registered·as·<code·class="inline">ch3</code>.</p><p>If·the·name·is·omitted,·the·<code·class="inline">gen_server</code>·is·not·registered.·Instead·its·pid
194 must·be·used.·The·name·can·also·be·given·as·<code·class="inline">{global,·Name}</code>,·in·which·case194 must·be·used.·The·name·can·also·be·given·as·<code·class="inline">{global,·Name}</code>,·in·which·case
195 the·<code·class="inline">gen_server</code>·is·registered·using·<a·href="../../lib/kernel-10.3/doc/html/global.html#register_name/2"><code·class="inline">global:register_name/2</code></a>.</p></li><li><p>The·second·argument,·<code·class="inline">ch3</code>,·is·the·name·of·the·callback·module,·which·is195 the·<code·class="inline">gen_server</code>·is·registered·using·<a·href="../../lib/kernel-10.3/doc/html/global.html#register_name/2"><code·class="inline">global:register_name/2</code></a>.</p></li><li><p>The·second·argument,·<code·class="inline">ch3</code>,·is·the·name·of·the·callback·module,·which·is
196 the·module·where·the·callback·functions·are·located.</p><p>The·interface·functions·(<code·class="inline">start_link/0</code>,·<code·class="inline">alloc/0</code>,·and·<code·class="inline">free/1</code>)·are·located196 the·module·where·the·callback·functions·are·located.</p><p>The·interface·functions·(<code·class="inline">start_link/0</code>,·<code·class="inline">alloc/0</code>,·and·<code·class="inline">free/1</code>)·are·located
197 in·the·same·module·as·the·callback·functions·(<code·class="inline">init/1</code>,·<code·class="inline">handle_call/3</code>,·and197 in·the·same·module·as·the·callback·functions·(<code·class="inline">init/1</code>,·<code·class="inline">handle_call/3</code>,·and
198 <code·class="inline">handle_cast/2</code>).·It·is·usually·good·programming·practice·to·have·the·code198 <code·class="inline">handle_cast/2</code>).·It·is·usually·good·programming·practice·to·have·the·code
199 corresponding·to·one·process·contained·in·a·single·module.</p></li><li><p>The·third·argument,·<code·class="inline">[]</code>,·is·a·term·that·is·passed·as·is·to·the·callback199 corresponding·to·one·process·contained·in·a·single·module.</p></li><li><p>The·third·argument,·<code·class="inline">[]</code>,·is·a·term·that·is·passed·as·is·to·the·callback
200 function·<code·class="inline">init</code>.·Here,·<code·class="inline">init</code>·does·not·need·any·indata·and·ignores·the200 function·<code·class="inline">init</code>.·Here,·<code·class="inline">init</code>·does·not·need·any·indata·and·ignores·the
201 argument.</p></li><li><p>The·fourth·argument,·<code·class="inline">[]</code>,·is·a·list·of·options.·See·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>201 argument.</p></li><li><p>The·fourth·argument,·<code·class="inline">[]</code>,·is·a·list·of·options.·See·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>
202 for·the·available·options.</p></li></ul><p>If·name·registration·succeeds,·the·new·<code·class="inline">gen_server</code>·process·calls·the·callback202 for·the·available·options.</p></li></ul><p>If·name·registration·succeeds,·the·new·<code·class="inline">gen_server</code>·process·calls·the·callback
203 function·<code·class="inline">ch3:init([])</code>.·<code·class="inline">init</code>·is·expected·to·return·<code·class="inline">{ok,·State}</code>,·where203 function·<code·class="inline">ch3:init([])</code>.·<code·class="inline">init</code>·is·expected·to·return·<code·class="inline">{ok,·State}</code>,·where
204 <code·class="inline">State</code>·is·the·internal·state·of·the·<code·class="inline">gen_server</code>.·In·this·case,·the·state·is204 <code·class="inline">State</code>·is·the·internal·state·of·the·<code·class="inline">gen_server</code>.·In·this·case,·the·state·is
205 the·available·channels.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init</span><span·class="p"·data-group-id="6338325166-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="6338325166-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">205 the·available·channels.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init</span><span·class="p"·data-group-id="5747391047-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="5747391047-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 ····</span><span·class="p"·data-group-id="6338325166-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">channels</span><span·class="p"·data-group-id="6338325166-3">(</span><span·class="p"·data-group-id="6338325166-3">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·16bdfcd3e579cd16595cd6585ae3c54b8e3c23d5c44902dc39a0bf0cadecb04a·...·]-2">}</span><span·class="p">.</span></code></pre><p><a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/4</code></a>·is·synchronous.·It·does·not·return·until·the206 ····</span><span·class="p"·data-group-id="5747391047-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">channels</span><span·class="p"·data-group-id="5747391047-3">(</span><span·class="p"·data-group-id="5747391047-3">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·37099c0ed868b5599cfb9e8ff7b247e708fe46a22d60b826fe85202ff2649878·...·]-2">}</span><span·class="p">.</span></code></pre><p><a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/4</code></a>·is·synchronous.·It·does·not·return·until·the
207 <code·class="inline">gen_server</code>·has·been·initialized·and·is·ready·to·receive·requests.</p><p><a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/4</code></a>·must·be·used·if·the·<code·class="inline">gen_server</code>·is·part·of207 <code·class="inline">gen_server</code>·has·been·initialized·and·is·ready·to·receive·requests.</p><p><a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/4</code></a>·must·be·used·if·the·<code·class="inline">gen_server</code>·is·part·of
208 a·supervision·tree,·meaning·that·it·was·started·by·a·supervisor.·There208 a·supervision·tree,·meaning·that·it·was·started·by·a·supervisor.·There
209 is·another·function,·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start/4"><code·class="inline">gen_server:start/4</code></a>,·to·start·a·standalone209 is·another·function,·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start/4"><code·class="inline">gen_server:start/4</code></a>,·to·start·a·standalone
210 <code·class="inline">gen_server</code>·that·is·not·part·of·a·supervision·tree.</p><h2·id="synchronous-requests-call"·class="section-heading">210 <code·class="inline">gen_server</code>·that·is·not·part·of·a·supervision·tree.</p><h2·id="synchronous-requests-call"·class="section-heading">
211 ··<a·href="#synchronous-requests-call"·class="hover-link">211 ··<a·href="#synchronous-requests-call"·class="hover-link">
212 ····<i·class="ri-link-m"·aria-hidden="true"></i>212 ····<i·class="ri-link-m"·aria-hidden="true"></i>
213 ··</a>213 ··</a>
Offset 221, 32 lines modifiedOffset 221, 32 lines modified
221 </h2>221 </h2>
222 <p>The·synchronous·request·<code·class="inline">alloc()</code>·is·implemented·using·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#call/2"><code·class="inline">gen_server:call/2</code></a>:</p><pre><code·class="text">alloc()·-&gt;222 <p>The·synchronous·request·<code·class="inline">alloc()</code>·is·implemented·using·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#call/2"><code·class="inline">gen_server:call/2</code></a>:</p><pre><code·class="text">alloc()·-&gt;
223 ····gen_server:call(ch3,·alloc).</code></pre><p><code·class="inline">ch3</code>·is·the·name·of·the·<code·class="inline">gen_server</code>·and·must·agree·with·the·name223 ····gen_server:call(ch3,·alloc).</code></pre><p><code·class="inline">ch3</code>·is·the·name·of·the·<code·class="inline">gen_server</code>·and·must·agree·with·the·name
224 used·to·start·it.·<code·class="inline">alloc</code>·is·the·actual·request.</p><p>The·request·is·made·into·a·message·and·sent·to·the·<code·class="inline">gen_server</code>.224 used·to·start·it.·<code·class="inline">alloc</code>·is·the·actual·request.</p><p>The·request·is·made·into·a·message·and·sent·to·the·<code·class="inline">gen_server</code>.
225 When·the·request·is·received,·the·<code·class="inline">gen_server</code>·calls225 When·the·request·is·received,·the·<code·class="inline">gen_server</code>·calls
226 <code·class="inline">handle_call(Request,·From,·State)</code>,·which·is·expected·to·return226 <code·class="inline">handle_call(Request,·From,·State)</code>,·which·is·expected·to·return
227 a·tuple·<code·class="inline">{reply,Reply,State1}</code>.·<code·class="inline">Reply</code>·is·the·reply·that·is·to·be·sent·back227 a·tuple·<code·class="inline">{reply,Reply,State1}</code>.·<code·class="inline">Reply</code>·is·the·reply·that·is·to·be·sent·back
228 to·the·client,·and·<code·class="inline">State1</code>·is·a·new·value·for·the·state·of·the·<code·class="inline">gen_server</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_call</span><span·class="p"·data-group-id="8557196837-1">(</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="8[·...·truncated·by·diffoscope;·len:·9,·SHA:·546e09a6450b9b1586f38c49144fd94252823eee79098576b0c4598e5525fdf9·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">228 to·the·client,·and·<code·class="inline">State1</code>·is·a·new·value·for·the·state·of·the·<code·class="inline">gen_server</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_call</span><span·class="p"·data-group-id="3003018666-1">(</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="3[·...·truncated·by·diffoscope;·len:·9,·SHA:·fb7a85c8dd27a264bf1b814a260ee2a0d6d2b1c66bbb72c497864a6f02285d14·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
229 ····</span><span·class="p"·data-group-id="8557196837-2">{</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="8557196837-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·140,·SHA:·b46c18bb69bbb34717dc407a3afd66468f53bd6f68aab91af63867cdac26fc80·...·]-3">)</span><span·class="p">,</span><span·class="w">229 ····</span><span·class="p"·data-group-id="3003018666-2">{</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="3003018666-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·140,·SHA:·7e5867204fd4a96497750870c2403904fa2b9781d0fadd3cc5e62eb7fcc1f31a·...·]-3">)</span><span·class="p">,</span><span·class="w">
230 ····</span><span·class="p"·data-group-id="8557196837-4">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="8557196837-4">}</span><span·class="p">.</span></code></pre><p>In·this·case,·the·reply·is·the·allocated·channel·<code·class="inline">Ch</code>·and·the·new·state·is·the230 ····</span><span·class="p"·data-group-id="3003018666-4">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="3003018666-4">}</span><span·class="p">.</span></code></pre><p>In·this·case,·the·reply·is·the·allocated·channel·<code·class="inline">Ch</code>·and·the·new·state·is·the
231 set·of·remaining·available·channels·<code·class="inline">Chs2</code>.</p><p>Thus,·the·call·<code·class="inline">ch3:alloc()</code>·returns·the·allocated·channel·<code·class="inline">Ch</code>·and·the231 set·of·remaining·available·channels·<code·class="inline">Chs2</code>.</p><p>Thus,·the·call·<code·class="inline">ch3:alloc()</code>·returns·the·allocated·channel·<code·class="inline">Ch</code>·and·the
232 <code·class="inline">gen_server</code>·then·waits·for·new·requests,·now·with·an·updated·list·of232 <code·class="inline">gen_server</code>·then·waits·for·new·requests,·now·with·an·updated·list·of
233 available·channels.</p><h2·id="asynchronous-requests-cast"·class="section-heading">233 available·channels.</p><h2·id="asynchronous-requests-cast"·class="section-heading">
234 ··<a·href="#asynchronous-requests-cast"·class="hover-link">234 ··<a·href="#asynchronous-requests-cast"·class="hover-link">
235 ····<i·class="ri-link-m"·aria-hidden="true"></i>235 ····<i·class="ri-link-m"·aria-hidden="true"></i>
236 ··</a>236 ··</a>
237 ··<span·class="text">Asynchronous·Requests·-·Cast</span>237 ··<span·class="text">Asynchronous·Requests·-·Cast</span>
238 </h2>238 </h2>
239 <p>The·asynchronous·request·<code·class="inline">free(Ch)</code>·is·implemented·using·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#cast/2"><code·class="inline">gen_server:cast/2</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">free</span><span·class="p"·data-group-id="6578567471-1">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="6578567471-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">239 <p>The·asynchronous·request·<code·class="inline">free(Ch)</code>·is·implemented·using·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#cast/2"><code·class="inline">gen_server:cast/2</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">free</span><span·class="p"·data-group-id="3780539541-1">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="3780539541-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
240 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">cast</span><span·class="p"·data-group-id="6578567471-2">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6578567471-3">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span[·...·truncated·by·diffoscope;·len:·88,·SHA:·4c7abe1ea435447f966157c071368e57f2cbf423397851e818e1e68df1be3662·...·]1-2">)</span><span·class="p">.</span></code></pre><p><code·class="inline">ch3</code>·is·the·name·of·the·<code·class="inline">gen_server</code>.·<code·class="inline">{free,·Ch}</code>·is·the·actual·request.</p><p>The·request·is·made·into·a·message·and·sent·to·the·<code·class="inline">gen_server</code>.240 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">cast</span><span·class="p"·data-group-id="3780539541-2">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3780539541-3">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span[·...·truncated·by·diffoscope;·len:·88,·SHA:·ce9e2fd6c74429dc9e7f08c283ac92b98a08155523ab1cde9494a5bcda09bb97·...·]1-2">)</span><span·class="p">.</span></code></pre><p><code·class="inline">ch3</code>·is·the·name·of·the·<code·class="inline">gen_server</code>.·<code·class="inline">{free,·Ch}</code>·is·the·actual·request.</p><p>The·request·is·made·into·a·message·and·sent·to·the·<code·class="inline">gen_server</code>.
241 <code·class="inline">cast</code>,·and·thus·<code·class="inline">free</code>,·then·returns·<code·class="inline">ok</code>.</p><p>When·the·request·is·received,·the·<code·class="inline">gen_server</code>·calls241 <code·class="inline">cast</code>,·and·thus·<code·class="inline">free</code>,·then·returns·<code·class="inline">ok</code>.</p><p>When·the·request·is·received,·the·<code·class="inline">gen_server</code>·calls
242 <code·class="inline">handle_cast(Request,·State)</code>,·which·is·expected·to·return·a·tuple242 <code·class="inline">handle_cast(Request,·State)</code>,·which·is·expected·to·return·a·tuple
243 <code·class="inline">{noreply,State1}</code>.·<code·class="inline">State1</code>·is·a·new·value·for·the·state·of·the·<code·class="inline">gen_server</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_cast</span><span·class="p"·data-group-id="7381833186-1">(</span><span·class="p"·data-group-id="7381833186-2">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p"·data-group-id="7381833186-2">}</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·87,·SHA:·035d1671cc416d99ff9c707a4d9d180425b993e4c8afc2fce7258230868b046c·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">243 <code·class="inline">{noreply,State1}</code>.·<code·class="inline">State1</code>·is·a·new·value·for·the·state·of·the·<code·class="inline">gen_server</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_cast</span><span·class="p"·data-group-id="7040775869-1">(</span><span·class="p"·data-group-id="7040775869-2">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p"·data-group-id="7040775869-2">}</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·87,·SHA:·ba14148dce34fba18a6bd417d14f6831b4c19b4665378067070dc95f2c6336b6·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
244 ····</span><span·class="n">Chs2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">free</span><span·class="p"·data-group-id="7381833186-3">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="7381833186-3">)</span><span·class="p">,</span><span·class="w">244 ····</span><span·class="n">Chs2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">free</span><span·class="p"·data-group-id="7040775869-3">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="7040775869-3">)</span><span·class="p">,</span><span·class="w">
245 ····</span><span·class="p"·data-group-id="7381833186-4">{</span><span·class="ss">noreply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="7381833186-4">}</span><span·class="p">.</span></code></pre><p>In·this·case,·the·new·state·is·the·updated·list·of·available·channels·<code·class="inline">Chs2</code>.245 ····</span><span·class="p"·data-group-id="7040775869-4">{</span><span·class="ss">noreply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="7040775869-4">}</span><span·class="p">.</span></code></pre><p>In·this·case,·the·new·state·is·the·updated·list·of·available·channels·<code·class="inline">Chs2</code>.
246 The·<code·class="inline">gen_server</code>·is·now·ready·for·new·requests.</p><h2·id="stopping"·class="section-heading">246 The·<code·class="inline">gen_server</code>·is·now·ready·for·new·requests.</p><h2·id="stopping"·class="section-heading">
247 ··<a·href="#stopping"·class="hover-link">247 ··<a·href="#stopping"·class="hover-link">
248 ····<i·class="ri-link-m"·aria-hidden="true"></i>248 ····<i·class="ri-link-m"·aria-hidden="true"></i>
249 ··</a>249 ··</a>
250 ··<span·class="text">Stopping</span>250 ··<span·class="text">Stopping</span>
251 </h2>251 </h2>
252 <h3·id="in-a-supervision-tree"·class="section-heading">252 <h3·id="in-a-supervision-tree"·class="section-heading">
Offset 257, 69 lines modifiedOffset 257, 69 lines modified
257 </h3>257 </h3>
258 <p>If·the·<code·class="inline">gen_server</code>·is·part·of·a·supervision·tree,·no·stop·function·is·needed.258 <p>If·the·<code·class="inline">gen_server</code>·is·part·of·a·supervision·tree,·no·stop·function·is·needed.
259 The·<code·class="inline">gen_server</code>·is·automatically·terminated·by·its·supervisor.··Exactly·how259 The·<code·class="inline">gen_server</code>·is·automatically·terminated·by·its·supervisor.··Exactly·how
260 this·is·done·is·defined·by·a·<a·href="sup_princ.html#shutdown">shutdown·strategy</a>260 this·is·done·is·defined·by·a·<a·href="sup_princ.html#shutdown">shutdown·strategy</a>
261 set·in·the·supervisor.</p><p>If·it·is·necessary·to·clean·up·before·termination,·the·shutdown·strategy261 set·in·the·supervisor.</p><p>If·it·is·necessary·to·clean·up·before·termination,·the·shutdown·strategy
262 must·be·a·time-out·value·and·the·<code·class="inline">gen_server</code>·must·be·set·to·trap·exit·signals262 must·be·a·time-out·value·and·the·<code·class="inline">gen_server</code>·must·be·set·to·trap·exit·signals
263 in·function·<code·class="inline">init</code>.·When·ordered·to·shutdown,·the·<code·class="inline">gen_server</code>·then·calls263 in·function·<code·class="inline">init</code>.·When·ordered·to·shutdown,·the·<code·class="inline">gen_server</code>·then·calls
264 the·callback·function·<code·class="inline">terminate(shutdown,·State)</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init</span><span·class="p"·data-group-id="9473879802-1">(</span><span·class="n">Args</span><span·class="p"·data-group-id="9473879802-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">264 the·callback·function·<code·class="inline">terminate(shutdown,·State)</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init</span><span·class="p"·data-group-id="8032538601-1">(</span><span·class="n">Args</span><span·class="p"·data-group-id="8032538601-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
265 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="w">265 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="w">
266 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="9473879802-2">(</span><span·class="ss">trap_exit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="9473879802-2">)</span><span·class="p">,</span><span·class="w">266 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="8032538601-2">(</span><span·class="ss">trap_exit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="8032538601-2">)</span><span·class="p">,</span><span·class="w">
267 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="w">267 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="w">
268 ····</span><span·class="p"·data-group-id="9473879802-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="9473879802-3">}</span><span·class="p">.</span><span·class="w">268 ····</span><span·class="p"·data-group-id="8032538601-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="8032538601-3">}</span><span·class="p">.</span><span·class="w">
  
269 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">269 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
  
270 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="9473879802-4">(</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="9473879802-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">270 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="8032538601-4">(</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="8032538601-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
271 ····</span><span·class="c1">%%·Code·for·cleaning·up·here</span><span·class="w">271 ····</span><span·class="c1">%%·Code·for·cleaning·up·here</span><span·class="w">
272 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">272 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
273 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><h3·id="standalone-gen_servers"·class="section-heading">273 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><h3·id="standalone-gen_servers"·class="section-heading">
274 ··<a·href="#standalone-gen_servers"·class="hover-link">274 ··<a·href="#standalone-gen_servers"·class="hover-link">
275 ····<i·class="ri-link-m"·aria-hidden="true"></i>275 ····<i·class="ri-link-m"·aria-hidden="true"></i>
276 ··</a>276 ··</a>
277 ··<span·class="text">Standalone·Gen_Servers</span>277 ··<span·class="text">Standalone·Gen_Servers</span>
278 </h3>278 </h3>
279 <p>If·the·<code·class="inline">gen_server</code>·is·not·part·of·a·supervision·tree,·a·stop·function279 <p>If·the·<code·class="inline">gen_server</code>·is·not·part·of·a·supervision·tree,·a·stop·function
280 can·be·useful,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">280 can·be·useful,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
281 </span><span·class="nf">export</span><span·class="p"·data-group-id="0224412022-1">(</span><span·class="p"·data-group-id="0224412022-2">[</span><span·class="ss">stop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="0224412022-2">]</span><span·class="p"·data-group-id="0224412022-1">)</span><span·class="p">.</span><span·class="w">281 </span><span·class="nf">export</span><span·class="p"·data-group-id="2205521117-1">(</span><span·class="p"·data-group-id="2205521117-2">[</span><span·class="ss">stop</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2205521117-2">]</span><span·class="p"·data-group-id="2205521117-1">)</span><span·class="p">.</span><span·class="w">
282 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">282 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
  
283 </span><span·class="nf">stop</span><span·class="p"·data-group-id="0224412022-3">(</span><span·class="p"·data-group-id="0224412022-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">283 </span><span·class="nf">stop</span><span·class="p"·data-group-id="2205521117-3">(</span><span·class="p"·data-group-id="2205521117-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 9081/50030 bytes (18.15%) of diff not shown.
630 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/doc/system/getting_started.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
187 ····</footer>187 ····</footer>
188 ··</div>188 ··</div>
189 </main>189 </main>
190 </div>190 </div>
191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
192 ··<script>192 ··<script>
193 ··let·initialized·=·false;193 ··let·initialized·=·false;
731 B
html2text {}
Max HTML report size reached
34.5 KB
./usr/share/doc/erlang-doc/html/doc/system/included_applications.html
    
Offset 161, 75 lines modifiedOffset 161, 75 lines modified
161 belonging·to·the·primary·application.</p><h2·id="specifying-included-applications"·class="section-heading">161 belonging·to·the·primary·application.</p><h2·id="specifying-included-applications"·class="section-heading">
162 ··<a·href="#specifying-included-applications"·class="hover-link">162 ··<a·href="#specifying-included-applications"·class="hover-link">
163 ····<i·class="ri-link-m"·aria-hidden="true"></i>163 ····<i·class="ri-link-m"·aria-hidden="true"></i>
164 ··</a>164 ··</a>
165 ··<span·class="text">Specifying·Included·Applications</span>165 ··<span·class="text">Specifying·Included·Applications</span>
166 </h2>166 </h2>
167 <p>Which·applications·to·include·is·defined·by·the·<code·class="inline">included_applications</code>·key·in167 <p>Which·applications·to·include·is·defined·by·the·<code·class="inline">included_applications</code>·key·in
168 the·<code·class="inline">.app</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9056648277-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">prim_app</span><span·class="p">,</span><span·class="w">168 the·<code·class="inline">.app</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9423606681-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">prim_app</span><span·class="p">,</span><span·class="w">
169 ·</span><span·class="p"·data-group-id="9056648277-2">[</span><span·class="p"·data-group-id="9056648277-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Tree·application&quot;</span><span·class="p"·data-group-id="9056648277-3">}</span><span·class="p">,</span><span·class="w">169 ·</span><span·class="p"·data-group-id="9423606681-2">[</span><span·class="p"·data-group-id="9423606681-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Tree·application&quot;</span><span·class="p"·data-group-id="9423606681-3">}</span><span·class="p">,</span><span·class="w">
170 ··</span><span·class="p"·data-group-id="9056648277-4">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="9056648277-4">}</span><span·class="p">,</span><span·class="w">170 ··</span><span·class="p"·data-group-id="9423606681-4">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="9423606681-4">}</span><span·class="p">,</span><span·class="w">
171 ··</span><span·class="p"·data-group-id="9056648277-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9056648277-6">[</span><span·class="ss">prim_app_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">pri[·...·truncated·by·diffoscope;·len:·197,·SHA:·c965ba310cfdbd7ce3c8b29a7e4bd234af52d1763ac6f85c53c9e4ed82b00572·...·]-5">}</span><span·class="p">,</span><span·class="w">171 ··</span><span·class="p"·data-group-id="9423606681-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9423606681-6">[</span><span·class="ss">prim_app_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">pri[·...·truncated·by·diffoscope;·len:·197,·SHA:·09ef5a85ec05c597fafb784f7306a7f9e8738b9fd583af2eeaf500df4984c365·...·]-5">}</span><span·class="p">,</span><span·class="w">
172 ··</span><span·class="p"·data-group-id="9056648277-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9056648277-8">[</span><span·class="ss">prim_app_server</span><span·class="p"·data-group-id="9056648277-8">]</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·340762f9b4f11382419a89a6d89d6a3de1be06850810078b8e5e370b1bae936d·...·]-7">}</span><span·class="p">,</span><span·class="w">172 ··</span><span·class="p"·data-group-id="9423606681-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9423606681-8">[</span><span·class="ss">prim_app_server</span><span·class="p"·data-group-id="9423606681-8">]</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·034027525474b1102e2a0f5bbab4ac19a870ba0ac39425ee3596750d55320c1b·...·]-7">}</span><span·class="p">,</span><span·class="w">
173 ··</span><span·class="p"·data-group-id="9056648277-9">{</span><span·class="ss">included_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9056648277-10">[</span><span·class="ss">incl_app</span><span·class="p"·data-group-id="9056648277-10">]</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·1d82d361d12edd230be8e0ce91c5c245284b0b789427835f97bbbd69583f73d6·...·]-9">}</span><span·class="p">,</span><span·class="w">173 ··</span><span·class="p"·data-group-id="9423606681-9">{</span><span·class="ss">included_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9423606681-10">[</span><span·class="ss">incl_app</span><span·class="p"·data-group-id="9423606681-10">]</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·f27c88db6f8ddc263adf5ca401a107e3727bea91d930e4ed2207b0d2bf786364·...·]-9">}</span><span·class="p">,</span><span·class="w">
174 ··</span><span·class="p"·data-group-id="9056648277-11">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9056648277-12">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·183,·SHA:·9963f264a6d85582250ff612acbfce0987409758338d11ee5c270eded7378e6c·...·]-11">}</span><span·class="p">,</span><span·class="w">174 ··</span><span·class="p"·data-group-id="9423606681-11">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9423606681-12">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·183,·SHA:·380999ce4da2e8f0eabd8f7135f478055b51ac4c660632618198c1be38ebcd8e·...·]-11">}</span><span·class="p">,</span><span·class="w">
175 ··</span><span·class="p"·data-group-id="9056648277-13">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9056648277-14">{</span><span·class="ss">prim_app_cb</span><span·class="p">,</span><span·class="p"·data-group-id="9056648277-15">[</span><span·class="p"·data-group-id="9056648277-15">]</span><span·class="p"·data-group-id="9056648277-14">}</span><span·class="p"·data-group-id="9056648277-13">}</span><span·class="p">,</span><span·class="w"> 
176 ··</span><span·class="p"·data-group-id="9056648277-16">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9056648277-17">[</span><span·class="p"·data-group-id="9056648277-18">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/usr/local/log&quot;</span><span·class="p"·data-group-id="9056648277-18">}</span><span·class="p"·data-group-id="9056648277-17">]</span><span·class="p"·data-group-id="9056648277-16">}</span><span·class="w"> 
177 ·</span><span·class="p"·data-group-id="9056648277-2">]</span><span·class="p"·data-group-id="9056648277-1">}</span><span·class="p">.</span></code></pre><h2·id="synchronizing-processes-during-startup"·class="section-heading">175 ··</span><span·class="p"·data-group-id="9423606681-13">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9423606681-14">{</span><span·class="ss">prim_app_cb</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·248,·SHA:·db457f01bd2138fef4ff1fee338c50c87a1dde6e402acbef4cea8e98efbc6e15·...·]">
 176 ··</span><span·class="p"·data-group-id="9423606681-16">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9423606681-17">[</span><span·class="p"·data-group-id="9423606681-18">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/usr/local/log&quot;</span><span·class="p"·data-group-id="9423606681-18">}</span><span·class="p"·data-group-id="9423606681-17">]</span><span·class="p"·data-group-id="9423606681-16">}</span><span·class="w">
 177 ·</span><span·class="p"·data-group-id="9423606681-2">]</span><span·class="p"·data-group-id="9423606681-1">}</span><span·class="p">.</span></code></pre><h2·id="synchronizing-processes-during-startup"·class="section-heading">
178 ··<a·href="#synchronizing-processes-during-startup"·class="hover-link">178 ··<a·href="#synchronizing-processes-during-startup"·class="hover-link">
179 ····<i·class="ri-link-m"·aria-hidden="true"></i>179 ····<i·class="ri-link-m"·aria-hidden="true"></i>
180 ··</a>180 ··</a>
181 ··<span·class="text">Synchronizing·Processes·during·Startup</span>181 ··<span·class="text">Synchronizing·Processes·during·Startup</span>
182 </h2>182 </h2>
183 <p>The·supervisor·tree·of·an·included·application·is·started·as·part·of·the183 <p>The·supervisor·tree·of·an·included·application·is·started·as·part·of·the
184 supervisor·tree·of·the·including·application.·If·there·is·a·need·for184 supervisor·tree·of·the·including·application.·If·there·is·a·need·for
185 synchronization·between·processes·in·the·including·and·included·applications,185 synchronization·between·processes·in·the·including·and·included·applications,
186 this·can·be·achieved·by·using·<em>start·phases</em>.</p><p>Start·phases·are·defined·by·the·<code·class="inline">start_phases</code>·key·in·the·<code·class="inline">.app</code>·file·as·a·list186 this·can·be·achieved·by·using·<em>start·phases</em>.</p><p>Start·phases·are·defined·by·the·<code·class="inline">start_phases</code>·key·in·the·<code·class="inline">.app</code>·file·as·a·list
187 of·tuples·<code·class="inline">{Phase,PhaseArgs}</code>,·where·<code·class="inline">Phase</code>·is·an·atom·and·<code·class="inline">PhaseArgs</code>·is·a187 of·tuples·<code·class="inline">{Phase,PhaseArgs}</code>,·where·<code·class="inline">Phase</code>·is·an·atom·and·<code·class="inline">PhaseArgs</code>·is·a
188 term.</p><p>The·value·of·the·<code·class="inline">mod</code>·key·of·the·including·application·must·be·set·to188 term.</p><p>The·value·of·the·<code·class="inline">mod</code>·key·of·the·including·application·must·be·set·to
189 <code·class="inline">{application_starter,[Module,StartArgs]}</code>,·where·<code·class="inline">Module</code>·as·usual·is·the189 <code·class="inline">{application_starter,[Module,StartArgs]}</code>,·where·<code·class="inline">Module</code>·as·usual·is·the
190 application·callback·module.·<code·class="inline">StartArgs</code>·is·a·term·provided·as·argument·to·the190 application·callback·module.·<code·class="inline">StartArgs</code>·is·a·term·provided·as·argument·to·the
191 callback·function·<code·class="inline">Module:start/2</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3681387604-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">prim_app</span><span·class="p">,</span><span·class="w">191 callback·function·<code·class="inline">Module:start/2</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6346297554-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">prim_app</span><span·class="p">,</span><span·class="w">
192 ·</span><span·class="p"·data-group-id="3681387604-2">[</span><span·class="p"·data-group-id="3681387604-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Tree·application&quot;</span><span·class="p"·data-group-id="3681387604-3">}</span><span·class="p">,</span><span·class="w">192 ·</span><span·class="p"·data-group-id="6346297554-2">[</span><span·class="p"·data-group-id="6346297554-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Tree·application&quot;</span><span·class="p"·data-group-id="6346297554-3">}</span><span·class="p">,</span><span·class="w">
193 ··</span><span·class="p"·data-group-id="3681387604-4">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="3681387604-4">}</span><span·class="p">,</span><span·class="w">193 ··</span><span·class="p"·data-group-id="6346297554-4">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="6346297554-4">}</span><span·class="p">,</span><span·class="w">
194 ··</span><span·class="p"·data-group-id="3681387604-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3681387604-6">[</span><span·class="ss">prim_app_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">pr[·...·truncated·by·diffoscope;·len:·197,·SHA:·508269e2d06021b3ea8d658d22a89dd9d95200f63ee4fd691b2f32fbfb05a4a2·...·]4-5">}</span><span·class="p">,</span><span·class="w">194 ··</span><span·class="p"·data-group-id="6346297554-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6346297554-6">[</span><span·class="ss">prim_app_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">pr[·...·truncated·by·diffoscope;·len:·197,·SHA:·7fc30f6e4159c46b26a44741e0c4a27a7701b399368552609fec9a91421a46b3·...·]4-5">}</span><span·class="p">,</span><span·class="w">
195 ··</span><span·class="p"·data-group-id="3681387604-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3681387604-8">[</span><span·class="ss">prim_app_server</span><span·class="p"·data-group-id="3681387604-8">]</span><span·c[·...·truncated·by·diffoscope;·len:·33,·SHA:·1f876064e4d85f9025795eef4a8683a9dbcd0bf9f4d6ec1416db11c58b908409·...·]4-7">}</span><span·class="p">,</span><span·class="w">195 ··</span><span·class="p"·data-group-id="6346297554-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6346297554-8">[</span><span·class="ss">prim_app_server</span><span·class="p"·data-group-id="6346297554-8">]</span><span·c[·...·truncated·by·diffoscope;·len:·33,·SHA:·0f34c43b34a47958358741a5dc9589ee7f4dba9d8b741e56cb2ed0ac361799b5·...·]4-7">}</span><span·class="p">,</span><span·class="w">
196 ··</span><span·class="p"·data-group-id="3681387604-9">{</span><span·class="ss">included_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3681387604-10">[</span><span·class="ss">incl_app</span><span·class="p"·data-group-id="3681387604-10">]</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·de30c6c7d8965600f121bc899ccc03afbbe8bc569c9f7ef20ef4c56d78e02870·...·]4-9">}</span><span·class="p">,</span><span·class="w">196 ··</span><span·class="p"·data-group-id="6346297554-9">{</span><span·class="ss">included_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6346297554-10">[</span><span·class="ss">incl_app</span><span·class="p"·data-group-id="6346297554-10">]</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·6b4b74cbcb4827a83ec76287f23d55eeea5fa632509721c91f3dc51b4f2edbc7·...·]4-9">}</span><span·class="p">,</span><span·class="w">
197 ··</span><span·class="p"·data-group-id="3681387604-11">{</span><span·class="ss">start_phases</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3681387604-12">[</span><span·class="p"·data-group-id="3681387604-13">{</span><span·class="ss">init</span><span·class="[·...·truncated·by·diffoscope;·len:·581,·SHA:·d8325c66674f03da7e6aa7ca901c278268751270a274b84fd226c652ba0daf95·...·]4-11">}</span><span·class="p">,</span><span·class="w">197 ··</span><span·class="p"·data-group-id="6346297554-11">{</span><span·class="ss">start_phases</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6346297554-12">[</span><span·class="p"·data-group-id="6346297554-13">{</span><span·class="ss">init</span><span·class="[·...·truncated·by·diffoscope;·len:·581,·SHA:·1d1d07b7ccb6d73fb83571324ac29ce2dbdd0ce13d8989b4acf5c0c61d3d1901·...·]4-11">}</span><span·class="p">,</span><span·class="w">
198 ··</span><span·class="p"·data-group-id="3681387604-17">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3681387604-18">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·183,·SHA:·5772587ba783a80412e0f71771271c607dc8c3551e63cf3d7a17eae347728ee5·...·]4-17">}</span><span·class="p">,</span><span·class="w">198 ··</span><span·class="p"·data-group-id="6346297554-17">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6346297554-18">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·183,·SHA:·7394e6ab3d880d60b2cd65cd38237e3edaab9cae647cdb9b0ab7bb44e5d77968·...·]4-17">}</span><span·class="p">,</span><span·class="w">
199 ··</span><span·class="p"·data-group-id="3681387604-19">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3681387604-20">{</span><span·class="ss">application_starter</span><span·class="p">,</span><span·class="p"·data-group-id="368138[·...·truncated·by·diffoscope;·len:·332,·SHA:·5b56e3efba3654c08bc79897e288d1b9ed0c817bee714d89b20bac6643990a5c·...·]4-19">}</span><span·class="p">,</span><span·class="w">199 ··</span><span·class="p"·data-group-id="6346297554-19">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6346297554-20">{</span><span·class="ss">application_starter</span><span·class="p">,</span><span·class="p"·data-group-id="634629[·...·truncated·by·diffoscope;·len:·332,·SHA:·405ad9b56b33627d89c4aa43ea3e6c2fd210a34da47cc9a65011e70e220a7e57·...·]4-19">}</span><span·class="p">,</span><span·class="w">
200 ··</span><span·class="p"·data-group-id="3681387604-23">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3681387604-24">[</span><span·class="p"·data-group-id="3681387604-25">{</span><span·class="ss">file</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·223,·SHA:·05799ffd0e8e1c08255a1be9040dc437370d9cbeb682d2c591bccec8b1faf921·...·]4-23">}</span><span·class="w">200 ··</span><span·class="p"·data-group-id="6346297554-23">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6346297554-24">[</span><span·class="p"·data-group-id="6346297554-25">{</span><span·class="ss">file</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·223,·SHA:·e3fb47b6cfd2a10e2eff3221c943eaee0b4d4365020f990e11f5ba7fb70b5f69·...·]4-23">}</span><span·class="w">
201 ·</span><span·class="p"·data-group-id="3681387604-2">]</span><span·class="p"·data-group-id="3681387604-1">}</span><span·class="p">.</span><span·class="w">201 ·</span><span·class="p"·data-group-id="6346297554-2">]</span><span·class="p"·data-group-id="6346297554-1">}</span><span·class="p">.</span><span·class="w">
  
202 </span><span·class="p"·data-group-id="3681387604-26">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">incl_app</span><span·class="p">,</span><span·class="w">202 </span><span·class="p"·data-group-id="6346297554-26">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">incl_app</span><span·class="p">,</span><span·class="w">
203 ·</span><span·class="p"·data-group-id="3681387604-27">[</span><span·class="p"·data-group-id="3681387604-28">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Included·application&quot;</span><span·class="p"·data-group-id="3681387604-28">}</span><span·class="p">,</span><span·class="w">203 ·</span><span·class="p"·data-group-id="6346297554-27">[</span><span·class="p"·data-group-id="6346297554-28">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Included·application&quot;</span><span·class="p"·data-group-id="6346297554-28">}</span><span·class="p">,</span><span·class="w">
204 ··</span><span·class="p"·data-group-id="3681387604-29">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="3681387604-29">}</span><span·class="p">,</span><span·class="w">204 ··</span><span·class="p"·data-group-id="6346297554-29">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="6346297554-29">}</span><span·class="p">,</span><span·class="w">
205 ··</span><span·class="p"·data-group-id="3681387604-30">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3681387604-31">[</span><span·class="ss">incl_app_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·200,·SHA:·aa346912b71244dde2bc0682803b78397b2604f2922330487c517fd2f508619a·...·]4-30">}</span><span·class="p">,</span><span·class="w">205 ··</span><span·class="p"·data-group-id="6346297554-30">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6346297554-31">[</span><span·class="ss">incl_app_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·200,·SHA:·cc893bc253f36d82f63b27355e00a1e7e287148897220b54ce6954865a48cb8a·...·]4-30">}</span><span·class="p">,</span><span·class="w">
206 ··</span><span·class="p"·data-group-id="3681387604-32">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3681387604-33">[</span><span·class="p"·data-group-id="3681387604-33">]</span><span·class="p"·data-group-id="3681387604-32">}</span><span·class="p">,</span><span·class="w">206 ··</span><span·class="p"·data-group-id="6346297554-32">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6346297554-33">[</span><span·class="p"·data-group-id="6346297554-33">]</span><span·class="p"·data-group-id="6346297554-32">}</span><span·class="p">,</span><span·class="w">
207 ··</span><span·class="p"·data-group-id="3681387604-34">{</span><span·class="ss">start_phases</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3681387604-35">[</span><span·class="p"·data-group-id="3681387604-36">{</span><span·class="ss">go</span><span·class="p"[·...·truncated·by·diffoscope;·len:·265,·SHA:·b5d84e5bc13dbb4437e56aec26a615512049644a5d4036b028fc23c317945b70·...·]4-34">}</span><span·class="p">,</span><span·class="w">207 ··</span><span·class="p"·data-group-id="6346297554-34">{</span><span·class="ss">start_phases</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6346297554-35">[</span><span·class="p"·data-group-id="6346297554-36">{</span><span·class="ss">go</span><span·class="p"[·...·truncated·by·diffoscope;·len:·265,·SHA:·6a9d7f2f380b45bf01d29cc6dbcf3b86b934a8f22a2df88aa3edc2d629329b50·...·]4-34">}</span><span·class="p">,</span><span·class="w">
208 ··</span><span·class="p"·data-group-id="3681387604-38">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3681387604-39">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·183,·SHA:·041bed31e7f5ad75f997dcfce3b283aa1843a06d12bd44d1705b86596261507c·...·]4-38">}</span><span·class="p">,</span><span·class="w">208 ··</span><span·class="p"·data-group-id="6346297554-38">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6346297554-39">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·183,·SHA:·fcf587d8f95d9b246a2c5ec1998972bccc861454aff0fc6823ba1713f22ad777·...·]4-38">}</span><span·class="p">,</span><span·class="w">
209 ··</span><span·class="p"·data-group-id="3681387604-40">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3681387604-41">{</span><span·class="ss">incl_app_cb</span><span·class="p">,</span><span·class="p"·data-group-id="3681387604-42">[</span><span·class="p"·data-group-id="3681387604-42">]</span><span·class="p"·data-group-id="3681387604-41">}</span><span·class="p"·data-group-id="3681387604-40">}</span><span·class="w"> 
210 ·</span><span·class="p"·data-group-id="3681387604-27">]</span><span·class="p"·data-group-id="3681387604-26">}</span><span·class="p">.</span></code></pre><p>When·starting·a·primary·application·with·included·applications,·the·primary209 ··</span><span·class="p"·data-group-id="6346297554-40">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6346297554-41">{</span><span·class="ss">incl_app_cb</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·226,·SHA:·64f459b260014bb51e5a951949c55aed50d2960ee680f30770a18a9e157f31e3·...·]
 210 ·</span><span·class="p"·data-group-id="6346297554-27">]</span><span·class="p"·data-group-id="6346297554-26">}</span><span·class="p">.</span></code></pre><p>When·starting·a·primary·application·with·included·applications,·the·primary
211 application·is·started·the·normal·way,·that·is:</p><ul><li>The·application·controller·creates·an·application·master·for·the·application</li><li>The·application·master·calls·<code·class="inline">Module:start(normal,·StartArgs)</code>·to·start·the211 application·is·started·the·normal·way,·that·is:</p><ul><li>The·application·controller·creates·an·application·master·for·the·application</li><li>The·application·master·calls·<code·class="inline">Module:start(normal,·StartArgs)</code>·to·start·the
212 top·supervisor.</li></ul><p>Then,·for·the·primary·application·and·each·included·application·in·top-down,212 top·supervisor.</li></ul><p>Then,·for·the·primary·application·and·each·included·application·in·top-down,
213 left-to-right·order,·the·application·master·calls213 left-to-right·order,·the·application·master·calls
214 <code·class="inline">Module:start_phase(Phase,·Type,·PhaseArgs)</code>·for·each·phase·defined·for·the214 <code·class="inline">Module:start_phase(Phase,·Type,·PhaseArgs)</code>·for·each·phase·defined·for·the
215 primary·application,·in·that·order.·If·a·phase·is·not·defined·for·an·included215 primary·application,·in·that·order.·If·a·phase·is·not·defined·for·an·included
216 application,·the·function·is·not·called·for·this·phase·and·application.</p><p>The·following·requirements·apply·to·the·<code·class="inline">.app</code>·file·for·an·included·application:</p><ul><li>The·<code·class="inline">{mod,·{Module,StartArgs}}</code>·option·must·be·included.·This·option·is·used216 application,·the·function·is·not·called·for·this·phase·and·application.</p><p>The·following·requirements·apply·to·the·<code·class="inline">.app</code>·file·for·an·included·application:</p><ul><li>The·<code·class="inline">{mod,·{Module,StartArgs}}</code>·option·must·be·included.·This·option·is·used
217 to·find·the·callback·module·<code·class="inline">Module</code>·of·the·application.·<code·class="inline">StartArgs</code>·is217 to·find·the·callback·module·<code·class="inline">Module</code>·of·the·application.·<code·class="inline">StartArgs</code>·is
218 ignored,·as·<code·class="inline">Module:start/2</code>·is·called·only·for·the·primary·application.</li><li>If·the·included·application·itself·contains·included·applications,·instead·the218 ignored,·as·<code·class="inline">Module:start/2</code>·is·called·only·for·the·primary·application.</li><li>If·the·included·application·itself·contains·included·applications,·instead·the
219 <code·class="inline">{mod,·{application_starter,·[Module,StartArgs]}}</code>·option·must·be·included.</li><li>The·<code·class="inline">{start_phases,·[{Phase,PhaseArgs}]}</code>·option·must·be·included,·and·the·set219 <code·class="inline">{mod,·{application_starter,·[Module,StartArgs]}}</code>·option·must·be·included.</li><li>The·<code·class="inline">{start_phases,·[{Phase,PhaseArgs}]}</code>·option·must·be·included,·and·the·set
220 of·specified·phases·must·be·a·subset·of·the·set·of·phases·specified·for·the220 of·specified·phases·must·be·a·subset·of·the·set·of·phases·specified·for·the
221 primary·application.</li></ul><p>When·starting·<code·class="inline">prim_app</code>·as·defined·above,·the·application·controller·calls·the221 primary·application.</li></ul><p>When·starting·<code·class="inline">prim_app</code>·as·defined·above,·the·application·controller·calls·the
222 following·callback·functions·before·<code·class="inline">application:start(prim_app)</code>·returns·a222 following·callback·functions·before·<code·class="inline">application:start(prim_app)</code>·returns·a
223 value:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">application</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="3710842247-1">(</span><span·class="ss">prim_app</span><span·class="p"·data-group-id="3710842247-1">)</span><span·class="w">223 value:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">application</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="6846248078-1">(</span><span·class="ss">prim_app</span><span·class="p"·data-group-id="6846248078-1">)</span><span·class="w">
224 ·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nc">prim_app_cb</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="3710842247-2">(</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3710842247-3">[</span><span·class="p"·data-group-id="3710842247-3">]</span><span·class="p"·data-group-id="3710842247-2">)</span><span·class="w">224 ·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nc">prim_app_cb</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="6846248078-2">(</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6846248078-3">[</span><span·class="p"·data-group-id="6846248078-3">]</span><span·class="p"·data-group-id="6846248078-2">)</span><span·class="w">
225 ·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nc">prim_app_cb</span><span·class="p">:</span><span·class="nf">start_phase</span><span·class="p"·data-group-id="3710842247-4">(</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3710842247-5">[</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·7623c61999c0dc2419461e8711d7de2cc1636d8f1c6a5623c7dbef1251bf8d4e·...·]-4">)</span><span·class="w">225 ·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nc">prim_app_cb</span><span·class="p">:</span><span·class="nf">start_phase</span><span·class="p"·data-group-id="6846248078-4">(</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6846248078-5">[</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·b2446cab9909a924f703dfb6184137a8958b44cf202282e0a2d8f7632209e7ec·...·]-4">)</span><span·class="w">
226 ·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nc">prim_app_cb</span><span·class="p">:</span><span·class="nf">start_phase</span><span·class="p"·data-group-id="3710842247-6">(</span><span·class="ss">go</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3710842247-7">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·bd035951ab0e54b94d5853b69fd9eda99b88acc79c729feb0622c3fb8a94b8bb·...·]-6">)</span><span·class="w">226 ·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nc">prim_app_cb</span><span·class="p">:</span><span·class="nf">start_phase</span><span·class="p"·data-group-id="6846248078-6">(</span><span·class="ss">go</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6846248078-7">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·1848c596c4e1f8fe62becd45a0ab638f77a542facbc8819f0f3b0962d512c2f6·...·]-6">)</span><span·class="w">
227 ·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nc">incl_app_cb</span><span·class="p">:</span><span·class="nf">start_phase</span><span·class="p"·data-group-id="3710842247-8">(</span><span·class="ss">go</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3710842247-9">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·716583688762bea0778ad2125fed18fe0e165fe7d2984d3589549982ab32e950·...·]-8">)</span><span·class="w">227 ·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nc">incl_app_cb</span><span·class="p">:</span><span·class="nf">start_phase</span><span·class="p"·data-group-id="6846248078-8">(</span><span·class="ss">go</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6846248078-9">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·20b1ff0a2dd7c4c3b4d4549a340a218ba3d329ff1ea4cb58949a19677f5aa337·...·]-8">)</span><span·class="w">
228 </span><span·class="ss">ok</span></code></pre>228 </span><span·class="ss">ok</span></code></pre>
229 </div>229 </div>
  
230 <div·class="bottom-actions"·id="bottom-actions">230 <div·class="bottom-actions"·id="bottom-actions">
231 ··<div·class="bottom-actions-item">231 ··<div·class="bottom-actions-item">
  
232 ······<a·href="applications.html"·class="bottom-actions-button"·rel="prev">232 ······<a·href="applications.html"·class="bottom-actions-button"·rel="prev">
Offset 273, 15 lines modifiedOffset 273, 15 lines modified
273 ······<p·class="built-using">273 ······<p·class="built-using">
274 ········Built·using274 ········Built·using
275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
277 ······</p>277 ······</p>
278 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>278 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
279 ····</footer>279 ····</footer>
280 ··</div>280 ··</div>
281 </main>281 </main>
282 </div>282 </div>
283 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>283 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
284 ··<script>284 ··<script>
285 ··let·initialized·=·false;285 ··let·initialized·=·false;
657 B
html2text {}
Max HTML report size reached
1.65 KB
./usr/share/doc/erlang-doc/html/doc/system/install-cross.html
    
Offset 484, 15 lines modifiedOffset 484, 15 lines modified
484 ······<p·class="built-using">484 ······<p·class="built-using">
485 ········Built·using485 ········Built·using
486 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the486 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
487 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>487 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
488 ······</p>488 ······</p>
489 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>489 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
490 ····</footer>490 ····</footer>
491 ··</div>491 ··</div>
492 </main>492 </main>
493 </div>493 </div>
494 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>494 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
495 ··<script>495 ··<script>
496 ··let·initialized·=·false;496 ··let·initialized·=·false;
869 B
html2text {}
Max HTML report size reached
7.64 KB
./usr/share/doc/erlang-doc/html/doc/system/install-win32.html
    
Offset 295, 15 lines modifiedOffset 295, 15 lines modified
295 </span><span·class="gp·unselectable">$·</span><span·class="">cd·erts/emulator295 </span><span·class="gp·unselectable">$·</span><span·class="">cd·erts/emulator
296 </span><span·class="gp·unselectable">$·</span><span·class="">make·debug296 </span><span·class="gp·unselectable">$·</span><span·class="">make·debug
297 </span><span·class="gp·unselectable">$·</span><span·class="">cd·../etc297 </span><span·class="gp·unselectable">$·</span><span·class="">cd·../etc
298 </span><span·class="gp·unselectable">$·</span><span·class="">make·debug298 </span><span·class="gp·unselectable">$·</span><span·class="">make·debug
299 </span></code></pre><p>and·sometimes</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">cd·$ERL_TOP299 </span></code></pre><p>and·sometimes</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">cd·$ERL_TOP
300 </span><span·class="gp·unselectable">$·</span><span·class="">make·local_setup300 </span><span·class="gp·unselectable">$·</span><span·class="">make·local_setup
301 </span></code></pre><p>So·now·when·you·run·<code·class="inline">$ERL_TOP/erl.exe</code>,·you·should·have·a·debug·compiled301 </span></code></pre><p>So·now·when·you·run·<code·class="inline">$ERL_TOP/erl.exe</code>,·you·should·have·a·debug·compiled
302 emulator,·which·you·will·see·if·you·do·a:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="5630712566-1">(</span><span·class="ss">system_version</span><span·class="p"·data-group-id="5630712566-1">)</span><span·class="p">.</span></code></pre><p>in·the·erlang·shell.·If·the·returned·string·contains·<code·class="inline">[debug]</code>,·you302 emulator,·which·you·will·see·if·you·do·a:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="8533146498-1">(</span><span·class="ss">system_version</span><span·class="p"·data-group-id="8533146498-1">)</span><span·class="p">.</span></code></pre><p>in·the·erlang·shell.·If·the·returned·string·contains·<code·class="inline">[debug]</code>,·you
303 got·a·debug·compiled·emulator.</p><p>To·hack·the·erlang·libraries,·you·simply·do·a·<code·class="inline">make·opt</code>·in·the303 got·a·debug·compiled·emulator.</p><p>To·hack·the·erlang·libraries,·you·simply·do·a·<code·class="inline">make·opt</code>·in·the
304 specific·&quot;applications&quot;·directory,·like:</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">cd·$ERL_TOP/lib/stdlib304 specific·&quot;applications&quot;·directory,·like:</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">cd·$ERL_TOP/lib/stdlib
305 </span><span·class="gp·unselectable">$·</span><span·class="">make·opt305 </span><span·class="gp·unselectable">$·</span><span·class="">make·opt
306 </span></code></pre><p>or·even·in·the·source·directory...</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">cd·$ERL_TOP/lib/stdlib/src306 </span></code></pre><p>or·even·in·the·source·directory...</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">cd·$ERL_TOP/lib/stdlib/src
307 </span><span·class="gp·unselectable">$·</span><span·class="">make·opt307 </span><span·class="gp·unselectable">$·</span><span·class="">make·opt
308 </span></code></pre><p>Note·that·you're·expected·to·have·a·fresh·Erlang·in·your·path·when308 </span></code></pre><p>Note·that·you're·expected·to·have·a·fresh·Erlang·in·your·path·when
309 doing·this,·preferably·the·plain·28·you·have·built·in·the·previous309 doing·this,·preferably·the·plain·28·you·have·built·in·the·previous
Offset 318, 19 lines modifiedOffset 318, 19 lines modified
318 </span><span·class="">:$ERL_TOP/erts/etc/win32/wsl_tools:$ERL_TOP/bootstrap/bin:$PATH318 </span><span·class="">:$ERL_TOP/erts/etc/win32/wsl_tools:$ERL_TOP/bootstrap/bin:$PATH
319 </span></code></pre><p>That·should·make·it·possible·to·rebuild·any·library·without·hassle...</p><p>If·you·want·to·copy·a·library·(an·application)·newly·built,·to·a319 </span></code></pre><p>That·should·make·it·possible·to·rebuild·any·library·without·hassle...</p><p>If·you·want·to·copy·a·library·(an·application)·newly·built,·to·a
320 release·area,·you·do·like·with·the·emulator:</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">cd·$ERL_TOP/lib/stdlib320 release·area,·you·do·like·with·the·emulator:</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">cd·$ERL_TOP/lib/stdlib
321 </span><span·class="gp·unselectable">$·</span><span·class="">make·TESTROOT=/tmp/erlang_release·release321 </span><span·class="gp·unselectable">$·</span><span·class="">make·TESTROOT=/tmp/erlang_release·release
322 </span></code></pre><p>Remember·that:</p><ul><li><p>··Windows·specific·C-code·goes·in·the·<code·class="inline">$ERL_TOP/erts/emulator/sys/win32</code>,322 </span></code></pre><p>Remember·that:</p><ul><li><p>··Windows·specific·C-code·goes·in·the·<code·class="inline">$ERL_TOP/erts/emulator/sys/win32</code>,
323 <code·class="inline">$ERL_TOP/erts/emulator/drivers/win32</code>·or·<code·class="inline">$ERL_TOP/erts/etc/win32</code>.</p></li><li><p>··Windows·specific·erlang·code·should·be·used·conditionally·and·the323 <code·class="inline">$ERL_TOP/erts/emulator/drivers/win32</code>·or·<code·class="inline">$ERL_TOP/erts/etc/win32</code>.</p></li><li><p>··Windows·specific·erlang·code·should·be·used·conditionally·and·the
324 host·OS·tested·in·<em>runtime</em>,·the·exactly·same·beam·files·should·be324 host·OS·tested·in·<em>runtime</em>,·the·exactly·same·beam·files·should·be
325 distributed·for·every·platform!·So·write·code·like:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">type</span><span·class="p"·data-group-id="5887317114-1">(</span><span·class="p"·data-group-id="5887317114-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">325 distributed·for·every·platform!·So·write·code·like:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">type</span><span·class="p"·data-group-id="1217084016-1">(</span><span·class="p"·data-group-id="1217084016-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
326 ····</span><span·class="p"·data-group-id="5887317114-2">{</span><span·class="ss">win32</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="5887317114-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">326 ····</span><span·class="p"·data-group-id="1217084016-2">{</span><span·class="ss">win32</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="1217084016-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
327 ········</span><span·class="nf">do_windows_specific</span><span·class="p"·data-group-id="5887317114-3">(</span><span·class="p"·data-group-id="5887317114-3">)</span><span·class="p">;</span><span·class="w">327 ········</span><span·class="nf">do_windows_specific</span><span·class="p"·data-group-id="1217084016-3">(</span><span·class="p"·data-group-id="1217084016-3">)</span><span·class="p">;</span><span·class="w">
328 ····</span><span·class="n">Other</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">328 ····</span><span·class="n">Other</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
329 ········</span><span·class="nf">do_fallback_or_exit</span><span·class="p"·data-group-id="5887317114-4">(</span><span·class="p"·data-group-id="5887317114-4">)</span><span·class="w">329 ········</span><span·class="nf">do_fallback_or_exit</span><span·class="p"·data-group-id="1217084016-4">(</span><span·class="p"·data-group-id="1217084016-4">)</span><span·class="w">
330 </span><span·class="k">end</span><span·class="p">,</span></code></pre></li></ul><p>That's·basically·all·you·need·to·get·going.</p><h2·id="frequently-asked-questions"·class="section-heading">330 </span><span·class="k">end</span><span·class="p">,</span></code></pre></li></ul><p>That's·basically·all·you·need·to·get·going.</p><h2·id="frequently-asked-questions"·class="section-heading">
331 ··<a·href="#frequently-asked-questions"·class="hover-link">331 ··<a·href="#frequently-asked-questions"·class="hover-link">
332 ····<i·class="ri-link-m"·aria-hidden="true"></i>332 ····<i·class="ri-link-m"·aria-hidden="true"></i>
333 ··</a>333 ··</a>
334 ··<span·class="text">Frequently·Asked·Questions</span>334 ··<span·class="text">Frequently·Asked·Questions</span>
335 </h2>335 </h2>
336 <ul><li><p>··Q:·So,·now·I·can·build·Erlang·using·GCC·on·Windows?</p><p>A:·No,·unfortunately·not.·You'll·need·Microsoft's·Visual·C++336 <ul><li><p>··Q:·So,·now·I·can·build·Erlang·using·GCC·on·Windows?</p><p>A:·No,·unfortunately·not.·You'll·need·Microsoft's·Visual·C++
Offset 431, 15 lines modifiedOffset 431, 15 lines modified
431 ······<p·class="built-using">431 ······<p·class="built-using">
432 ········Built·using432 ········Built·using
433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
435 ······</p>435 ······</p>
436 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>436 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
437 ····</footer>437 ····</footer>
438 ··</div>438 ··</div>
439 </main>439 </main>
440 </div>440 </div>
441 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>441 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
442 ··<script>442 ··<script>
443 ··let·initialized·=·false;443 ··let·initialized·=·false;
812 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/doc/system/install.html
    
Offset 661, 15 lines modifiedOffset 661, 15 lines modified
661 ······<p·class="built-using">661 ······<p·class="built-using">
662 ········Built·using662 ········Built·using
663 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the663 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
664 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>664 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
665 ······</p>665 ······</p>
666 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>666 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
667 ····</footer>667 ····</footer>
668 ··</div>668 ··</div>
669 </main>669 </main>
670 </div>670 </div>
671 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>671 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
672 ··<script>672 ··<script>
673 ··let·initialized·=·false;673 ··let·initialized·=·false;
666 B
html2text {}
Max HTML report size reached
1.7 KB
./usr/share/doc/erlang-doc/html/doc/system/installation_guide.html
    
Offset 171, 15 lines modifiedOffset 171, 15 lines modified
171 ······<p·class="built-using">171 ······<p·class="built-using">
172 ········Built·using172 ········Built·using
173 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the173 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
174 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>174 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
175 ······</p>175 ······</p>
176 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>176 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
177 ····</footer>177 ····</footer>
178 ··</div>178 ··</div>
179 </main>179 </main>
180 </div>180 </div>
181 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>181 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
182 ··<script>182 ··<script>
183 ··let·initialized·=·false;183 ··let·initialized·=·false;
910 B
html2text {}
Max HTML report size reached
93.8 KB
./usr/share/doc/erlang-doc/html/doc/system/list_comprehensions.html
    
Offset 117, 36 lines modifiedOffset 117, 36 lines modified
  
117 <h2·id="simple-examples"·class="section-heading">117 <h2·id="simple-examples"·class="section-heading">
118 ··<a·href="#simple-examples"·class="hover-link">118 ··<a·href="#simple-examples"·class="hover-link">
119 ····<i·class="ri-link-m"·aria-hidden="true"></i>119 ····<i·class="ri-link-m"·aria-hidden="true"></i>
120 ··</a>120 ··</a>
121 ··<span·class="text">Simple·Examples</span>121 ··<span·class="text">Simple·Examples</span>
122 </h2>122 </h2>
123 <p>This·section·starts·with·a·simple·example,·showing·a·generator·and·a·filter:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="0310132447-1">[</span><span·class="n">X</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="p"·data-group-id="03101[·...·truncated·by·diffoscope;·len:·651,·SHA:·7918490a30354b725fab6c61eb4e382419e32a540d2a33de50a674e9f7052b47·...·]-1">]</span><span·class="p">.</span><span·class="w">123 <p>This·section·starts·with·a·simple·example,·showing·a·generator·and·a·filter:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="4006396225-1">[</span><span·class="n">X</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="p"·data-group-id="40063[·...·truncated·by·diffoscope;·len:·651,·SHA:·0fe4329896d36d68765d605b382e22674a56ab41c9837bd385d11a0069c9c6de·...·]-1">]</span><span·class="p">.</span><span·class="w">
124 </span><span·class="p"·data-group-id="0310132447-3">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·47b4b5de7e824c43f46c3f6329e6793e867913d5fb2113808a33728745e692db·...·]-3">]</span></code></pre><p>This·is·read·as·follows:·The·list·of·X·such·that·X·is·taken·from·the·list124 </span><span·class="p"·data-group-id="4006396225-3">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·66424302a6636881481521958d0cf1b5214e9e03a5a3a777ee278111de5bdfc8·...·]-3">]</span></code></pre><p>This·is·read·as·follows:·The·list·of·X·such·that·X·is·taken·from·the·list
125 <code·class="inline">[1,2,a,...]</code>·and·X·is·greater·than·3.</p><p>The·notation·<code·class="inline">X·&lt;:-·[1,2,a,...]</code>·is·a·generator·and·the·expression·<code·class="inline">X·&gt;·3</code>·is·a125 <code·class="inline">[1,2,a,...]</code>·and·X·is·greater·than·3.</p><p>The·notation·<code·class="inline">X·&lt;:-·[1,2,a,...]</code>·is·a·generator·and·the·expression·<code·class="inline">X·&gt;·3</code>·is·a
126 filter.</p><p>An·additional·filter,·<a·href="../../erts-16.0/doc/html/erlang.html#is_integer/1"><code·class="inline">is_integer(X)</code></a>,·can·be·added·to126 filter.</p><p>An·additional·filter,·<a·href="../../erts-16.0/doc/html/erlang.html#is_integer/1"><code·class="inline">is_integer(X)</code></a>,·can·be·added·to
127 restrict·the·result·to·integers:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="2842933020-1">[</span><span·class="n">X</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="p"·data-group-id="28429[·...·truncated·by·diffoscope;·len:·862,·SHA:·d1e21765000643f35c6e477347fa1fa7b6061f480c2c25acda4495f2657dd07b·...·]0-1">]</span><span·class="p">.</span><span·class="w">127 restrict·the·result·to·integers:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="0205802550-1">[</span><span·class="n">X</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="p"·data-group-id="02058[·...·truncated·by·diffoscope;·len:·862,·SHA:·a0a6d88310cf185c2d8a0ae5f8bc71d44bd45174693ec86c37e4f0ace56751ee·...·]0-1">]</span><span·class="p">.</span><span·class="w">
128 </span><span·class="p"·data-group-id="2842933020-4">[</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="2842933020-4">]</span></code></pre><p>Generators·can·be·combined·in·two·ways.·For·example,·the·Cartesian·product·of128 </span><span·class="p"·data-group-id="0205802550-4">[</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="0205802550-4">]</span></code></pre><p>Generators·can·be·combined·in·two·ways.·For·example,·the·Cartesian·product·of
129 two·lists·can·be·written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="9657856887-1">[</span><span·class="p"·data-group-id="9657856887-2">{</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="9657856887-2">}</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·741,·SHA:·c8838441ce7afd2b78ecb5bfa5fbdfe8ee069a11411ab62534dd5526f28fcc7a·...·]-1">]</span><span·class="p">.</span><span·class="w">129 two·lists·can·be·written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="6779812222-1">[</span><span·class="p"·data-group-id="6779812222-2">{</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="6779812222-2">}</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·741,·SHA:·a20cb23937c7e56aa4a7b6c9faf4d336aab60750cf13ad2606b5aff16caa6d69·...·]-1">]</span><span·class="p">.</span><span·class="w">
130 </span><span·class="p"·data-group-id="9657856887-5">[</span><span·class="p"·data-group-id="9657856887-6">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="9657856887-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·1011,·SHA:·1bad3ec2c829656315432df44b7c231e76afde516f061fde3e06b7e102a0cc33·...·]-5">]</span></code></pre><p>Alternatively,·two·lists·can·be·zipped·together·using·a·zip·generator·as130 </span><span·class="p"·data-group-id="6779812222-5">[</span><span·class="p"·data-group-id="6779812222-6">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="6779812222-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·1011,·SHA:·4ee62f15b92140e23c339a56258db48b7dc3968b3cef2baab8f1f529b82d972c·...·]-5">]</span></code></pre><p>Alternatively,·two·lists·can·be·zipped·together·using·a·zip·generator·as
131 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="5051562129-1">[</span><span·class="p"·data-group-id="5051562129-2">{</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="5051562129-2">}</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·823,·SHA:·97eadc2887abdeadb4e3b9084af6322f59c7e675602ef446d04d5e2c6094906d·...·]-1">]</span><span·class="p">.</span><span·class="w">131 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="3920072523-1">[</span><span·class="p"·data-group-id="3920072523-2">{</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="3920072523-2">}</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·823,·SHA:·7012576fd1b55ccb394a911069504824f3455aff4682af844b3d9f75014ec760·...·]-1">]</span><span·class="p">.</span><span·class="w">
132 </span><span·class="p"·data-group-id="5051562129-5">[</span><span·class="p"·data-group-id="5051562129-6">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="5051562129-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·395,·SHA:·1e98f83a20c46f4e623d593991575b44a5da62bbcf066aaa1cc34dc96d571b21·...·]-5">]</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Strict·generators·are·used·by·default·in·the·examples.·More·details·and132 </span><span·class="p"·data-group-id="3920072523-5">[</span><span·class="p"·data-group-id="3920072523-6">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="3920072523-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·395,·SHA:·166733fe7c2e90dd3a3c6bd58315829b93bc70ca75d75f529672bd0efa74a9f8·...·]-5">]</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Strict·generators·are·used·by·default·in·the·examples.·More·details·and
133 comparisons·can·be·found·in·<a·href="#strict-and-relaxed-generators">Strict·and·Relaxed·Generators</a>.</p></section><h2·id="quick-sort"·class="section-heading">133 comparisons·can·be·found·in·<a·href="#strict-and-relaxed-generators">Strict·and·Relaxed·Generators</a>.</p></section><h2·id="quick-sort"·class="section-heading">
134 ··<a·href="#quick-sort"·class="hover-link">134 ··<a·href="#quick-sort"·class="hover-link">
135 ····<i·class="ri-link-m"·aria-hidden="true"></i>135 ····<i·class="ri-link-m"·aria-hidden="true"></i>
136 ··</a>136 ··</a>
137 ··<span·class="text">Quick·Sort</span>137 ··<span·class="text">Quick·Sort</span>
138 </h2>138 </h2>
139 <p>The·well-known·quick·sort·routine·can·be·written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sort</span><span·class="p"·data-group-id="2322934549-1">(</span><span·class="p"·data-group-id="2322934549-2">[</span><span·class="p"·data-group-id="2322934549-2">]</span><span·class="p"·data-group-id="2322934549-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·07371e396a5a899d9509f0e8874dd021e901046ee44ccbcfb2fc22e49cde825d·...·]-3">]</span><span·class="p">;</span><span·class="w">139 <p>The·well-known·quick·sort·routine·can·be·written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sort</span><span·class="p"·data-group-id="3048119228-1">(</span><span·class="p"·data-group-id="3048119228-2">[</span><span·class="p"·data-group-id="3048119228-2">]</span><span·class="p"·data-group-id="3048119228-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·39a94d834e4cd7e241aba7e342f96647b8952c79c31a824939edfc4281986234·...·]-3">]</span><span·class="p">;</span><span·class="w">
140 </span><span·class="nf">sort</span><span·class="p"·data-group-id="2322934549-4">(</span><span·class="p"·data-group-id="2322934549-5">[</span><span·class="p">_</span><span·class="p"·data-group-id="2322934549-5">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·9c0b3f9bd0068005abbbab64dc5fe1e049aa593a45187b5f1e15109fd57c5fe5·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">L</span><span·class="p">;</span><span·class="w">140 </span><span·class="nf">sort</span><span·class="p"·data-group-id="3048119228-4">(</span><span·class="p"·data-group-id="3048119228-5">[</span><span·class="p">_</span><span·class="p"·data-group-id="3048119228-5">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·e3a19aa2a4360011c8994f95cd3a8e1b98e94d1b530430b31e41813af5242a85·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">L</span><span·class="p">;</span><span·class="w">
141 </span><span·class="nf">sort</span><span·class="p"·data-group-id="2322934549-6">(</span><span·class="p"·data-group-id="2322934549-7">[</span><span·class="n">Pivot</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="2322934549-7">]</span><span·class="p"·data-group-id="2322934549-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">141 </span><span·class="nf">sort</span><span·class="p"·data-group-id="3048119228-6">(</span><span·class="p"·data-group-id="3048119228-7">[</span><span·class="n">Pivot</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="3048119228-7">]</span><span·class="p"·data-group-id="3048119228-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
142 ····</span><span·class="nf">sort</span><span·class="p"·data-group-id="2322934549-8">(</span><span·class="p"·data-group-id="2322934549-9">[</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·334,·SHA:·7d90d541c7cc0023a8c053e10f65a64c851c2f04000f928f4922040ef751281e·...·]-8">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">142 ····</span><span·class="nf">sort</span><span·class="p"·data-group-id="3048119228-8">(</span><span·class="p"·data-group-id="3048119228-9">[</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·334,·SHA:·b88f164ddafac996b48f27798d236ee6d5b126661d42d7310bd8fc568aa58815·...·]-8">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">
143 ····</span><span·class="p"·data-group-id="2322934549-10">[</span><span·class="n">Pivot</span><span·class="p"·data-group-id="2322934549-10">]</span><span·class="w">·</span><span·class="o">++</span><span·class="w">143 ····</span><span·class="p"·data-group-id="3048119228-10">[</span><span·class="n">Pivot</span><span·class="p"·data-group-id="3048119228-10">]</span><span·class="w">·</span><span·class="o">++</span><span·class="w">
144 ····</span><span·class="nf">sort</span><span·class="p"·data-group-id="2322934549-11">(</span><span·class="p"·data-group-id="2322934549-12">[</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·338,·SHA:·68edf8a6afe77c0aefae276f40c17847d43593903abeb8a22970049cf4fa6e91·...·]-11">)</span><span·class="p">.</span></code></pre><p>The·expression·<code·class="inline">[X·||·X·&lt;:-·T,·X·&lt;·Pivot]</code>·is·the·list·of·all·elements·in·<code·class="inline">T</code>144 ····</span><span·class="nf">sort</span><span·class="p"·data-group-id="3048119228-11">(</span><span·class="p"·data-group-id="3048119228-12">[</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·338,·SHA:·9b4113338965095bd7b54b706937b2ce3bc2e2d4f43121f2953c6b74a4943d6a·...·]-11">)</span><span·class="p">.</span></code></pre><p>The·expression·<code·class="inline">[X·||·X·&lt;:-·T,·X·&lt;·Pivot]</code>·is·the·list·of·all·elements·in·<code·class="inline">T</code>
145 that·are·less·than·<code·class="inline">Pivot</code>.</p><p><code·class="inline">[X·||·X·&lt;:-·T,·X·&gt;=·Pivot]</code>·is·the·list·of·all·elements·in·<code·class="inline">T</code>·that·are·greater145 that·are·less·than·<code·class="inline">Pivot</code>.</p><p><code·class="inline">[X·||·X·&lt;:-·T,·X·&gt;=·Pivot]</code>·is·the·list·of·all·elements·in·<code·class="inline">T</code>·that·are·greater
146 than·or·equal·to·<code·class="inline">Pivot</code>.</p><p>With·the·algorithm·above,·a·list·is·sorted·as·follows:</p><ul><li>A·list·with·zero·or·one·element·is·trivially·sorted.</li><li>For·lists·with·more·than·one·element:<ol><li>The·first·element·in·the·list·is·isolated·as·the·pivot·element.</li><li>The·remaining·list·is·partitioned·into·two·sublists,·such·that:</li></ol><ul><li>The·first·sublist·contains·all·elements·that·are·smaller·than·the·pivot146 than·or·equal·to·<code·class="inline">Pivot</code>.</p><p>With·the·algorithm·above,·a·list·is·sorted·as·follows:</p><ul><li>A·list·with·zero·or·one·element·is·trivially·sorted.</li><li>For·lists·with·more·than·one·element:<ol><li>The·first·element·in·the·list·is·isolated·as·the·pivot·element.</li><li>The·remaining·list·is·partitioned·into·two·sublists,·such·that:</li></ol><ul><li>The·first·sublist·contains·all·elements·that·are·smaller·than·the·pivot
147 element.</li><li>The·second·sublist·contains·all·elements·that·are·greater·than·or·equal·to147 element.</li><li>The·second·sublist·contains·all·elements·that·are·greater·than·or·equal·to
148 the·pivot·element.</li></ul><ol><li>The·sublists·are·recursively·sorted·by·the·same·algorithm·and·the·results148 the·pivot·element.</li></ul><ol><li>The·sublists·are·recursively·sorted·by·the·same·algorithm·and·the·results
149 are·combined,·resulting·in·a·list·consisting·of:</li></ol><ul><li>All·elements·from·the·first·sublist,·that·is·all·elements·smaller·than·the149 are·combined,·resulting·in·a·list·consisting·of:</li></ol><ul><li>All·elements·from·the·first·sublist,·that·is·all·elements·smaller·than·the
150 pivot·element,·in·sorted·order.</li><li>The·pivot·element.</li><li>All·elements·from·the·second·sublist,·that·is·all·elements·greater·than·or150 pivot·element,·in·sorted·order.</li><li>The·pivot·element.</li><li>All·elements·from·the·second·sublist,·that·is·all·elements·greater·than·or
151 equal·to·the·pivot·element,·in·sorted·order.</li></ul></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>While·the·sorting·algorithm·as·shown·above·serves·as·a·nice·example·to151 equal·to·the·pivot·element,·in·sorted·order.</li></ul></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>While·the·sorting·algorithm·as·shown·above·serves·as·a·nice·example·to
Offset 154, 127 lines modifiedOffset 154, 127 lines modified
154 <a·href="../../lib/stdlib-7.0/doc/html/lists.html"><code·class="inline">lists</code></a>·module·contains·sorting·functions·that·are·implemented·in·a·more154 <a·href="../../lib/stdlib-7.0/doc/html/lists.html"><code·class="inline">lists</code></a>·module·contains·sorting·functions·that·are·implemented·in·a·more
155 efficient·way.</p></section><h2·id="permutations"·class="section-heading">155 efficient·way.</p></section><h2·id="permutations"·class="section-heading">
156 ··<a·href="#permutations"·class="hover-link">156 ··<a·href="#permutations"·class="hover-link">
157 ····<i·class="ri-link-m"·aria-hidden="true"></i>157 ····<i·class="ri-link-m"·aria-hidden="true"></i>
158 ··</a>158 ··</a>
159 ··<span·class="text">Permutations</span>159 ··<span·class="text">Permutations</span>
160 </h2>160 </h2>
161 <p>The·following·example·generates·all·permutations·of·the·elements·in·a·list:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">perms</span><span·class="p"·data-group-id="2642474818-1">(</span><span·class="p"·data-group-id="2642474818-2">[</span><span·class="p"·data-group-id="2642474818-2">]</span><span·class="p"·data-group-id="2642474818-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·201,·SHA:·a27a301eb6bcc67d3e8465e0c01f043356b987c0921dc8fc29404e011b29f67f·...·]-3">]</span><span·class="p">;</span><span·class="w">161 <p>The·following·example·generates·all·permutations·of·the·elements·in·a·list:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">perms</span><span·class="p"·data-group-id="0728040721-1">(</span><span·class="p"·data-group-id="0728040721-2">[</span><span·class="p"·data-group-id="0728040721-2">]</span><span·class="p"·data-group-id="0728040721-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·201,·SHA:·4b066ffa127efce45c3a745c9d240afbb19b2b333ccd100f2b57ae8df5010b1c·...·]-3">]</span><span·class="p">;</span><span·class="w">
162 </span><span·class="nf">perms</span><span·class="p"·data-group-id="2642474818-5">(</span><span·class="n">L</span><span·class="p"·data-group-id="2642474818-5">)</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2642474818-6">[</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·853,·SHA:·f8ae64eb0b642e528542c0e186e1a592c16c96b5f65cfdc50ba879e55830825c·...·]-6">]</span><span·class="p">.</span></code></pre><p>This·takes·<code·class="inline">H</code>·from·<code·class="inline">L</code>·in·all·possible·ways.·The·result·is·the·set·of·all·lists162 </span><span·class="nf">perms</span><span·class="p"·data-group-id="0728040721-5">(</span><span·class="n">L</span><span·class="p"·data-group-id="0728040721-5">)</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0728040721-6">[</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·853,·SHA:·3265ab5558d12616d949fd0da50ab8ba5b10bb302828c167c28ee6a9f366afdd·...·]-6">]</span><span·class="p">.</span></code></pre><p>This·takes·<code·class="inline">H</code>·from·<code·class="inline">L</code>·in·all·possible·ways.·The·result·is·the·set·of·all·lists
163 <code·class="inline">[H|T]</code>,·where·<code·class="inline">T</code>·is·the·set·of·all·possible·permutations·of·<code·class="inline">L</code>,·with·<code·class="inline">H</code>163 <code·class="inline">[H|T]</code>,·where·<code·class="inline">T</code>·is·the·set·of·all·possible·permutations·of·<code·class="inline">L</code>,·with·<code·class="inline">H</code>
164 removed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">perms</span><span·class="p"·data-group-id="3571294559-1">(</span><span·class="p"·data-group-id="3571294559-2">[</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">u</span><span·class="p">,</span><span·class="ss">g</span><span·class="p"·data-group-id="3571294559-2">]</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·d1b5dbbfc0033d0daa9a69cf83af31dc0599007c3b31ac7c30fe32a970bda002·...·]-1">)</span><span·class="p">.</span><span·class="w">164 removed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">perms</span><span·class="p"·data-group-id="6669077703-1">(</span><span·class="p"·data-group-id="6669077703-2">[</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">u</span><span·class="p">,</span><span·class="ss">g</span><span·class="p"·data-group-id="6669077703-2">]</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·5ec6c6c2843bae81f21ca66bbd7ed16d1e4d6a12c11bea9e93faf3d1943954b9·...·]-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="3571294559-3">[</span><span·class="p"·data-group-id="3571294559-4">[</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">u</span><span·class="p">,</span><span·class="ss">g</span><span·class="p"·data-group-id="3571294559-4">]</span><span[·...·truncated·by·diffoscope;·len:·1301,·SHA:·47be28ea1aecbe4de851ea94d00da881fdbea550a9e3eba79e50f3f3a73c7196·...·]-3">]</span></code></pre><h2·id="pythagorean-triplets"·class="section-heading">165 </span><span·class="p"·data-group-id="6669077703-3">[</span><span·class="p"·data-group-id="6669077703-4">[</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">u</span><span·class="p">,</span><span·class="ss">g</span><span·class="p"·data-group-id="6669077703-4">]</span><span[·...·truncated·by·diffoscope;·len:·1301,·SHA:·f71cb083b1d9ecdcdf35c3574fee085e0524249cfc95edda4d8d026d9a7541d3·...·]-3">]</span></code></pre><h2·id="pythagorean-triplets"·class="section-heading">
166 ··<a·href="#pythagorean-triplets"·class="hover-link">166 ··<a·href="#pythagorean-triplets"·class="hover-link">
167 ····<i·class="ri-link-m"·aria-hidden="true"></i>167 ····<i·class="ri-link-m"·aria-hidden="true"></i>
168 ··</a>168 ··</a>
169 ··<span·class="text">Pythagorean·Triplets</span>169 ··<span·class="text">Pythagorean·Triplets</span>
170 </h2>170 </h2>
171 <p>Pythagorean·triplets·are·sets·of·integers·<code·class="inline">{A,B,C}</code>·such·that171 <p>Pythagorean·triplets·are·sets·of·integers·<code·class="inline">{A,B,C}</code>·such·that
172 <code·class="inline">A**2·+·B**2·=·C**2</code>.</p><p>The·function·<code·class="inline">pyth(N)</code>·generates·a·list·of·all·integers·<code·class="inline">{A,B,C}</code>·such·that172 <code·class="inline">A**2·+·B**2·=·C**2</code>.</p><p>The·function·<code·class="inline">pyth(N)</code>·generates·a·list·of·all·integers·<code·class="inline">{A,B,C}</code>·such·that
173 <code·class="inline">A**2·+·B**2·=·C**2</code>·and·where·the·sum·of·the·sides·is·equal·to,·or·less·than,173 <code·class="inline">A**2·+·B**2·=·C**2</code>·and·where·the·sum·of·the·sides·is·equal·to,·or·less·than,
174 <code·class="inline">N</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">pyth</span><span·class="p"·data-group-id="1032941208-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="1032941208-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">174 <code·class="inline">N</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">pyth</span><span·class="p"·data-group-id="2141503932-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="2141503932-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
175 ····</span><span·class="p"·data-group-id="1032941208-2">[</span><span·class="w">·</span><span·class="p"·data-group-id="1032941208-3">{</span><span·class="n">A</span><span·class="p">,</span><span·class="n">B</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="103294[·...·truncated·by·diffoscope;·len:·4,·SHA:·12b637dd6a40e81118a123a7dde7d54c584569c273c31ed71ef33fcaa373112a·...·]-3">}</span><span·class="w">·</span><span·class="p">||</span><span·class="w">175 ····</span><span·class="p"·data-group-id="2141503932-2">[</span><span·class="w">·</span><span·class="p"·data-group-id="2141503932-3">{</span><span·class="n">A</span><span·class="p">,</span><span·class="n">B</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="214150[·...·truncated·by·diffoscope;·len:·4,·SHA:·bcbbc9eada524a09e5e5fc8d8c2ef291578291e3e0df5f98e6b898357032afae·...·]-3">}</span><span·class="w">·</span><span·class="p">||</span><span·class="w">
176 ········</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="1032941208-4">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="1032941208-4">)</span><span·class="p">,</span><span·class="w">176 ········</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="2141503932-4">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="2141503932-4">)</span><span·class="p">,</span><span·class="w">
177 ········</span><span·class="n">B</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="1032941208-5">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="1032941208-5">)</span><span·class="p">,</span><span·class="w">177 ········</span><span·class="n">B</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="2141503932-5">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="2141503932-5">)</span><span·class="p">,</span><span·class="w">
178 ········</span><span·class="n">C</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="1032941208-6">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="1032941208-6">)</span><span·class="p">,</span><span·class="w">178 ········</span><span·class="n">C</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="2141503932-6">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="2141503932-6">)</span><span·class="p">,</span><span·class="w">
179 ········</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">+</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="n">N</span><span·class="p">,</span><span·class="w">179 ········</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">+</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="n">N</span><span·class="p">,</span><span·class="w">
180 ········</span><span·class="n">A</span><span·class="o">*</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">*</span><span·class="n">B</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">C</span><span·class="o">*</span><span·class="n">C</span><span·class="w">180 ········</span><span·class="n">A</span><span·class="o">*</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">*</span><span·class="n">B</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">C</span><span·class="o">*</span><span·class="n">C</span><span·class="w">
181 ····</span><span·class="p"·data-group-id="1032941208-2">]</span><span·class="p">.</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="9940094321-1">(</span><span·class="mi">3</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·800f141ed034362da63941fc074318a3295ad6df8feee36b1cf074d6c3a60406·...·]-1">)</span><span·class="p">.</span><span·class="w">181 ····</span><span·class="p"·data-group-id="2141503932-2">]</span><span·class="p">.</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="4490312990-1">(</span><span·class="mi">3</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·ed8ec82f63bb2e3fbbdf5da15d1b1a54894a29859a0b6c8b268db62360815ae5·...·]-1">)</span><span·class="p">.</span><span·class="w">
182 </span><span·class="p"·data-group-id="9940094321-2">[</span><span·class="p"·data-group-id="9940094321-2">]</span><span·class="p">.</span><span·class="gp·unselectable">182 </span><span·class="p"·data-group-id="4490312990-2">[</span><span·class="p"·data-group-id="4490312990-2">]</span><span·class="p">.</span><span·class="gp·unselectable">
183 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="9940094321-3">(</span><span·class="mi">11</span><span·class="p"·data-group-id="9940094321-3">)</span><span·class="p">.</span><span·class="w">183 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="4490312990-3">(</span><span·class="mi">11</span><span·class="p"·data-group-id="4490312990-3">)</span><span·class="p">.</span><span·class="w">
184 </span><span·class="p"·data-group-id="9940094321-4">[</span><span·class="p"·data-group-id="9940094321-4">]</span><span·class="p">.</span><span·class="gp·unselectable">184 </span><span·class="p"·data-group-id="4490312990-4">[</span><span·class="p"·data-group-id="4490312990-4">]</span><span·class="p">.</span><span·class="gp·unselectable">
185 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="9940094321-5">(</span><span·class="mi">12</span><span·class="p"·data-group-id="9940094321-5">)</span><span·class="p">.</span><span·class="w">185 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="4490312990-5">(</span><span·class="mi">12</span><span·class="p"·data-group-id="4490312990-5">)</span><span·class="p">.</span><span·class="w">
186 </span><span·class="p"·data-group-id="9940094321-6">[</span><span·class="p"·data-group-id="9940094321-7">{</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="9940094321-7">}</span><span[·...·truncated·by·diffoscope;·len:·289,·SHA:·82f3e46763b2cc53d5c59981fa0ab903af677eaaa2281e62a66a2dfebe185149·...·]-6">]</span><span·class="gp·unselectable">186 </span><span·class="p"·data-group-id="4490312990-6">[</span><span·class="p"·data-group-id="4490312990-7">{</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="4490312990-7">}</span><span[·...·truncated·by·diffoscope;·len:·289,·SHA:·04d17435a8b1110e7afc85082a02fb51ebdbe26dfbd271cf2dd6adca078a48dd·...·]-6">]</span><span·class="gp·unselectable">
187 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="9940094321-9">(</span><span·class="mi">50</span><span·class="p"·data-group-id="9940094321-9">)</span><span·class="p">.</span><span·class="w">187 &gt;·</span><span·class="nf">pyth</span><span·class="p"·data-group-id="4490312990-9">(</span><span·class="mi">50</span><span·class="p"·data-group-id="4490312990-9">)</span><span·class="p">.</span><span·class="w">
188 </span><span·class="p"·data-group-id="9940094321-10">[</span><span·class="p"·data-group-id="9940094321-11">{</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="9940094321-11">}</span><span·class="p">,</span><span·class="w">188 </span><span·class="p"·data-group-id="4490312990-10">[</span><span·class="p"·data-group-id="4490312990-11">{</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="4490312990-11">}</span><span·class="p">,</span><span·class="w">
189 ·</span><span·class="p"·data-group-id="9940094321-12">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="9940094321-12">}</span><span·class="p">,</span><span·class="w">189 ·</span><span·class="p"·data-group-id="4490312990-12">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="4490312990-12">}</span><span·class="p">,</span><span·class="w">
190 ·</span><span·class="p"·data-group-id="9940094321-13">{</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">12</span><span·class="p">,</span><span·class="mi">13</span><span·class="p"·data-group-id="9940094321-13">}</span><span·class="p">,</span><span·class="w">190 ·</span><span·class="p"·data-group-id="4490312990-13">{</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">12</span><span·class="p">,</span><span·class="mi">13</span><span·class="p"·data-group-id="4490312990-13">}</span><span·class="p">,</span><span·class="w">
191 ·</span><span·class="p"·data-group-id="9940094321-14">{</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="9940094321-14">}</span><span·class="p">,</span><span·class="w">191 ·</span><span·class="p"·data-group-id="4490312990-14">{</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="4490312990-14">}</span><span·class="p">,</span><span·class="w">
192 ·</span><span·class="p"·data-group-id="9940094321-15">{</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="9940094321-15">}</span><span·class="p">,</span><span·class="w">192 ·</span><span·class="p"·data-group-id="4490312990-15">{</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="4490312990-15">}</span><span·class="p">,</span><span·class="w">
193 ·</span><span·class="p"·data-group-id="9940094321-16">{</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">15</span><span·class="p">,</span><span·class="mi">17</span><span·class="p"·data-group-id="9940094321-16">}</span><span·class="p">,</span><span·class="w">193 ·</span><span·class="p"·data-group-id="4490312990-16">{</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">15</span><span·class="p">,</span><span·class="mi">17</span><span·class="p"·data-group-id="4490312990-16">}</span><span·class="p">,</span><span·class="w">
194 ·</span><span·class="p"·data-group-id="9940094321-17">{</span><span·class="mi">9</span><span·class="p">,</span><span·class="mi">12</span><span·class="p">,</span><span·class="mi">15</span><span·class="p"·data-group-id="9940094321-17">}</span><span·class="p">,</span><span·class="w">194 ·</span><span·class="p"·data-group-id="4490312990-17">{</span><span·class="mi">9</span><span·class="p">,</span><span·class="mi">12</span><span·class="p">,</span><span·class="mi">15</span><span·class="p"·data-group-id="4490312990-17">}</span><span·class="p">,</span><span·class="w">
195 ·</span><span·class="p"·data-group-id="9940094321-18">{</span><span·class="mi">12</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">13</span><span·class="p"·data-group-id="9940094321-18">}</span><span·class="p">,</span><span·class="w">195 ·</span><span·class="p"·data-group-id="4490312990-18">{</span><span·class="mi">12</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">13</span><span·class="p"·data-group-id="4490312990-18">}</span><span·class="p">,</span><span·class="w">
196 ·</span><span·class="p"·data-group-id="9940094321-19">{</span><span·class="mi">12</span><span·class="p">,</span><span·class="mi">9</span><span·class="p">,</span><span·class="mi">15</span><span·class="p"·data-group-id="9940094321-19">}</span><span·class="p">,</span><span·class="w">196 ·</span><span·class="p"·data-group-id="4490312990-19">{</span><span·class="mi">12</span><span·class="p">,</span><span·class="mi">9</span><span·class="p">,</span><span·class="mi">15</span><span·class="p"·data-group-id="4490312990-19">}</span><span·class="p">,</span><span·class="w">
197 ·</span><span·class="p"·data-group-id="9940094321-20">{</span><span·class="mi">12</span><span·class="p">,</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">20</span><span·class="p"·data-group-id="9940094321-20">}</span><span·class="p">,</span><span·class="w">197 ·</span><span·class="p"·data-group-id="4490312990-20">{</span><span·class="mi">12</span><span·class="p">,</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">20</span><span·class="p"·data-group-id="4490312990-20">}</span><span·class="p">,</span><span·class="w">
198 ·</span><span·class="p"·data-group-id="9940094321-21">{</span><span·class="mi">15</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">17</span><span·class="p"·data-group-id="9940094321-21">}</span><span·class="p">,</span><span·class="w">198 ·</span><span·class="p"·data-group-id="4490312990-21">{</span><span·class="mi">15</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">17</span><span·class="p"·data-group-id="4490312990-21">}</span><span·class="p">,</span><span·class="w">
199 ·</span><span·class="p"·data-group-id="9940094321-22">{</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">12</span><span·class="p">,</span><span·class="mi">20</span><span·class="p"·data-group-id="9940094321-22">}</span><span·class="p"·data-group-id="9940094321-10">]</span[·...·truncated·by·diffoscope;·len:·282,·SHA:·8ca5b158c971bc3a2c1be3106fd975d4e4779a6efc3f234001223c11a6574711·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">199 ·</span><span·class="p"·data-group-id="4490312990-22">{</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">12</span><span·class="p">,</span><span·class="mi">20</span><span·class="p"·data-group-id="4490312990-22">}</span><span·class="p"·data-group-id="4490312990-10">]</span[·...·truncated·by·diffoscope;·len:·282,·SHA:·b315b5eb10bb39c83e0c2c0a1cc7ff8d3644540fb9653b72ac0bbccd87969fe7·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
200 ···</span><span·class="p"·data-group-id="8951833180-2">[</span><span·class="p"·data-group-id="8951833180-3">{</span><span·class="n">A</span><span·class="p">,</span><span·class="n">B</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="8951833180-3">}</span><span·class="w">·</span><span·class="p">||</span><span·class="w">200 ···</span><span·class="p"·data-group-id="4478707606-2">[</span><span·class="p"·data-group-id="4478707606-3">{</span><span·class="n">A</span><span·class="p">,</span><span·class="n">B</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="4478707606-3">}</span><span·class="w">·</span><span·class="p">||</span><span·class="w">
201 ·······</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="8951833180-4">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">2</span><span·class="p"·data-group-id="8951833180-4">)</span><span·class="p">,</span><span·class="w">201 ·······</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="4478707606-4">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">2</span><span·class="p"·data-group-id="4478707606-4">)</span><span·class="p">,</span><span·class="w">
202 ·······</span><span·class="n">B</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="8951833180-5">(</span><span·class="n">A</span><span·class="o">+</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="8951833180-5">)</span><span·class="p">,</span><span·class="w">202 ·······</span><span·class="n">B</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="4478707606-5">(</span><span·class="n">A</span><span·class="o">+</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="4478707606-5">)</span><span·class="p">,</span><span·class="w">
203 ·······</span><span·class="n">C</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="8951833180-6">(</span><span·class="n">B</span><span·class="o">+</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="8951833180-6">)</span><span·class="p">,</span><span·class="w">203 ·······</span><span·class="n">C</span><span·class="w">·</span><span·class="o">&lt;:-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="4478707606-6">(</span><span·class="n">B</span><span·class="o">+</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="4478707606-6">)</span><span·class="p">,</span><span·class="w">
204 ·······</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">+</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="n">N</span><span·class="p">,</span><span·class="w">204 ·······</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">+</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="n">N</span><span·class="p">,</span><span·class="w">
205 ·······</span><span·class="n">A</span><span·class="o">*</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">*</span><span·class="n">B</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">C</span><span·class="o">*</span><span·class="n">C</span><span·class="w">·</span><span·class="p"·data-group-id="8951833180-2">]</span><span·class="p">.</span></code></pre><h2·id="simplifications-with-list-comprehensions"·class="section-heading">205 ·······</span><span·class="n">A</span><span·class="o">*</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="o">*</span><span·class="n">B</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">C</span><span·class="o">*</span><span·class="n">C</span><span·class="w">·</span><span·class="p"·data-group-id="4478707606-2">]</span><span·class="p">.</span></code></pre><h2·id="simplifications-with-list-comprehensions"·class="section-heading">
206 ··<a·href="#simplifications-with-list-comprehensions"·class="hover-link">206 ··<a·href="#simplifications-with-list-comprehensions"·class="hover-link">
207 ····<i·class="ri-link-m"·aria-hidden="true"></i>207 ····<i·class="ri-link-m"·aria-hidden="true"></i>
208 ··</a>208 ··</a>
209 ··<span·class="text">Simplifications·With·List·Comprehensions</span>209 ··<span·class="text">Simplifications·With·List·Comprehensions</span>
210 </h2>210 </h2>
211 <p>As·an·example,·list·comprehensions·can·be·used·to·simplify·some·of·the·functions211 <p>As·an·example,·list·comprehensions·can·be·used·to·simplify·some·of·the·functions
212 in·<code·class="inline">lists.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">append</span><span·class="p"·data-group-id="3209587854-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="3209587854-1">)</span><span·class="w">···</span><span·class="p">-&gt;</span><span·class="w">··</span><span·class="p"·data-group-id="3209587854-2">[</span><span·class="n">X</span><[·...·truncated·by·diffoscope;·len:·413,·SHA:·e0550c80a65c5e28e75ac9efe049081fa3e62241a1d63f9ca421407ce02ec6cb·...·]-2">]</span><span·class="p">.</span><span·class="w">212 in·<code·class="inline">lists.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">append</span><span·class="p"·data-group-id="4118083226-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="4118083226-1">)</span><span·class="w">···</span><span·class="p">-&gt;</span><span·class="w">··</span><span·class="p"·data-group-id="4118083226-2">[</span><span·class="n">X</span><[·...·truncated·by·diffoscope;·len:·413,·SHA:·24ded1a2f5d7dc67a378d9c804c70b22da23f0735d2731e90176c0edad14a5db·...·]-2">]</span><span·class="p">.</span><span·class="w">
213 </span><span·class="nf">map</span><span·class="p"·data-group-id="3209587854-3">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">L</span><span·class="p"·data-group-id="3209587854-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·441,·SHA:·b630cc969d057d1a0ab4e1d11731eb21882b8d5f0fd3418c52354f15898d092f·...·]-4">]</span><span·class="p">.</span><span·class="w">213 </span><span·class="nf">map</span><span·class="p"·data-group-id="4118083226-3">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">L</span><span·class="p"·data-group-id="4118083226-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·441,·SHA:·f0b2f5e70a4fd8dd861a437e55c6cfe83157bc57ac8b918bb254a45ebfdc7ad2·...·]-4">]</span><span·class="p">.</span><span·class="w">
214 </span><span·class="nf">filter</span><span·class="p"·data-group-id="3209587854-6">(</span><span·class="n">Pred</span><span·class="p">,</span><span·class="w">·</span><span·class="n">L</span><span·class="p"·data-group-id="3209587854-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·515,·SHA:·eb28b4817dcb658f79249ec5b97e5996927dd9c31d65e3cd64e57eb6084d799e·...·]-7">]</span><span·class="p">.</span><span·class="w">214 </span><span·class="nf">filter</span><span·class="p"·data-group-id="4118083226-6">(</span><span·class="n">Pred</span><span·class="p">,</span><span·class="w">·</span><span·class="n">L</span><span·class="p"·data-group-id="4118083226-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·515,·SHA:·4fe8edee7ff77f839cccd36e571e35afdab9d710278979984b6152d0aef87a1f·...·]-7">]</span><span·class="p">.</span><span·class="w">
215 </span><span·class="nf">zip</span><span·class="p"·data-group-id="3209587854-9">(</span><span·class="n">L1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">L2</span><span·class="p"·data-group-id="3209587854-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·674,·SHA:·e022eb9997d3a7083ab83f3ec11a6b239c61bb3ce55ad01deb7aebd4bbdf98a4·...·]-10">]</span><span·class="p">.</span></code></pre><h2·id="variable-bindings-in-list-comprehensions"·class="section-heading">215 </span><span·class="nf">zip</span><span·class="p"·data-group-id="4118083226-9">(</span><span·class="n">L1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">L2</span><span·class="p"·data-group-id="4118083226-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·674,·SHA:·470eabe4d048e35e7e2bd0c7ff3579dda3c3b10aedad3e378b430fbdbdbae59b·...·]-10">]</span><span·class="p">.</span></code></pre><h2·id="variable-bindings-in-list-comprehensions"·class="section-heading">
216 ··<a·href="#variable-bindings-in-list-comprehensions"·class="hover-link">216 ··<a·href="#variable-bindings-in-list-comprehensions"·class="hover-link">
217 ····<i·class="ri-link-m"·aria-hidden="true"></i>217 ····<i·class="ri-link-m"·aria-hidden="true"></i>
218 ··</a>218 ··</a>
219 ··<span·class="text">Variable·Bindings·in·List·Comprehensions</span>219 ··<span·class="text">Variable·Bindings·in·List·Comprehensions</span>
220 </h2>220 </h2>
221 <p>The·scope·rules·for·variables·that·occur·in·list·comprehensions·are·as·follows:</p><ul><li>All·variables·that·occur·in·a·generator·pattern·are·assumed·to·be·&quot;fresh&quot;221 <p>The·scope·rules·for·variables·that·occur·in·list·comprehensions·are·as·follows:</p><ul><li>All·variables·that·occur·in·a·generator·pattern·are·assumed·to·be·&quot;fresh&quot;
222 variables.</li><li>Any·variables·that·are·defined·before·the·list·comprehension,·and·that·are222 variables.</li><li>Any·variables·that·are·defined·before·the·list·comprehension,·and·that·are
223 used·in·filters,·have·the·values·they·had·before·the·list·comprehension.</li><li>Variables·cannot·be·exported·from·a·list·comprehension.</li><li>Within·a·zip·generator,·binding·of·all·variables·happen·at·the·same·time.</li></ul><p>As·an·example·of·these·rules,·suppose·you·want·to·write·the·function·<code·class="inline">select</code>,223 used·in·filters,·have·the·values·they·had·before·the·list·comprehension.</li><li>Variables·cannot·be·exported·from·a·list·comprehension.</li><li>Within·a·zip·generator,·binding·of·all·variables·happen·at·the·same·time.</li></ul><p>As·an·example·of·these·rules,·suppose·you·want·to·write·the·function·<code·class="inline">select</code>,
224 which·selects·certain·elements·from·a·list·of·tuples.·Suppose·you·write224 which·selects·certain·elements·from·a·list·of·tuples.·Suppose·you·write
225 <code·class="inline">select(X,·L)·-&gt;·[Y·||·{X,·Y}·&lt;-·L].</code>·with·the·intention·of·extracting·all225 <code·class="inline">select(X,·L)·-&gt;·[Y·||·{X,·Y}·&lt;-·L].</code>·with·the·intention·of·extracting·all
226 tuples·from·<code·class="inline">L</code>,·where·the·first·item·is·<code·class="inline">X</code>.</p><p>Compiling·this·gives·the·following·diagnostic:</p><pre><code·class="text">./FileName.erl:Line:·Warning:·variable·'X'·shadowed·in·generate</code></pre><p>This·diagnostic·warns·that·the·variable·<code·class="inline">X</code>·in·the·pattern·is·not·the·same·as226 tuples·from·<code·class="inline">L</code>,·where·the·first·item·is·<code·class="inline">X</code>.</p><p>Compiling·this·gives·the·following·diagnostic:</p><pre><code·class="text">./FileName.erl:Line:·Warning:·variable·'X'·shadowed·in·generate</code></pre><p>This·diagnostic·warns·that·the·variable·<code·class="inline">X</code>·in·the·pattern·is·not·the·same·as
227 the·variable·<code·class="inline">X</code>·that·occurs·in·the·function·head.</p><p>Evaluating·<code·class="inline">select</code>·gives·the·following·result:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">select</span><span·class="p"·data-group-id="9457480682-1">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="9457480682-2">[</span><span·class="p"·data-group-id="9457480682-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span[·...·truncated·by·diffoscope;·len:·754,·SHA:·75b591318ca9f68b1a32594b722fcaa92dd6fc2f38ca6af32606793c7b5c29e0·...·]-1">)</span><span·class="p">.</span><span·class="w">227 the·variable·<code·class="inline">X</code>·that·occurs·in·the·function·head.</p><p>Evaluating·<code·class="inline">select</code>·gives·the·following·result:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">select</span><span·class="p"·data-group-id="3779315263-1">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="3779315263-2">[</span><span·class="p"·data-group-id="3779315263-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span[·...·truncated·by·diffoscope;·len:·754,·SHA:·018f99c30014fa9dcb57773f01d6b07684af831f605844ad32e0881136b218ce·...·]-1">)</span><span·class="p">.</span><span·class="w">
228 </span><span·class="p"·data-group-id="9457480682-7">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="9457480682-7">]</span></code></pre><p>This·is·not·the·wanted·result.·To·achieve·the·desired·effect,·<code·class="inline">select</code>·must·be228 </span><span·class="p"·data-group-id="3779315263-7">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="3779315263-7">]</span></code></pre><p>This·is·not·the·wanted·result.·To·achieve·the·desired·effect,·<code·class="inline">select</code>·must·be
229 written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">select</span><span·class="p"·data-group-id="0469347204-1">(</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">L</span><span·class="p"·data-group-id="0469347204-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">··</span><span·class="p"·data-group-id="0469347204-2">[</span><span·class="n">Y</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="0469347204-3">{</span><span·class="n">X1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="0469347204-3">}</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="n">L</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">X1</span><span·class="p"·data-group-id="0469347204-2">]</span><span·class="p">.</span></code></pre><p>The·generator·now·contains·unbound·variables·and·the·test·has·been·moved·into 
230 the·filter.</p><p>This·now·works·as·expected:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">select</span><span·class="p"·data-group-id="2746934517-1">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="2746934517-2">[</span><span·class="p"·data-group-id="2746934517-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="2746934517-3">}</span><span·class="p">,</span><span·class="p"·data-group-id="2746934517-4">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="2746934517-4">}</span><span·class="p">,</span><span·class="p"·data-group-id="2746934517-5">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="2746934517-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="2746934517-6">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="2746934517-6">}</span><span·class="p"·data-group-id="2746934517-2">]</span><span·class="p"·data-group-id="2746934517-1">)</span><span·class="p">.</span><span·class="w"> 
231 </span><span·class="p"·data-group-id="2746934517-7">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="2746934517-7">]</span></code></pre><p>Also·note·that·a·variable·in·a·generator·pattern·will·shadow·a·variable·with·the 
232 same·name·bound·in·a·previous·generator·pattern.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="6173003519-1">[</span><span·class="p"·data-group-id="6173003519-2">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">Y</span><span·class="p"·data-group-id="6173003519-2">}</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="6173003519-3">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="6173003519-3">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="o">=</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="6173003519-4">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="6173003519-4">]</span><span·class="p"·data-group-id="6173003519-1">]</span><span·class="p">.</span><span·class="w"> 
233 </span><span·class="p"·data-group-id="6173003519-5">[</span><span·class="p"·data-group-id="6173003519-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="6173003519-6">}</span><span·class="p">[·...·truncated·by·diffoscope;·len:·1775,·SHA:·5d180c44c2ca9c82710e974e30e36e5e75320ffeca1d580a6618729048299e07·...·]229 written·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">select</span><span·class="p"·data-group-id="1839774881-1">(</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">L</span><span·[·...·truncated·by·diffoscope;·len:·917,·SHA:·b1a2b701eb4c46328135333dcfdaf7914f3bdd6f5f2a3b560b3ad8214268b8aa·...·]
 230 the·filter.</p><p>This·now·works·as·expected:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">select</span><span·class="p"·data-group-id="4619835120-1">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="4619835120-2">[</span><span·class="p"·data-group-id="4619835120-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="4619835120-3">}</span><span·class="p">,</span><span·class="p"·data-group-id="4619835120-4">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="4619835120-4">}</span><span·class="p">,</span><span·class="p"·data-group-id="4619835120-5">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="4619835120-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="4619835120-6">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="4619835120-6">}</span><span·class="p"·data-group-id="4619835120-2">]</span><span·class="p"·data-group-id="4619835120-1">)</span><span·class="p">.</span><span·class="w">
 231 </span><span·class="p"·data-group-id="4619835120-7">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="4619835120-7">]</span></code></pre><p>Also·note·that·a·variable·in·a·generator·pattern·will·shadow·a·variable·with·the
 232 same·name·bound·in·a·previous·generator·pattern.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="9804478070-1">[</span><span·class="p"·data-group-id="9804478070-2">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">Y</span><span·class="p"·data-group-id="9804478070-2">}</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="9804478070-3">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="9804478070-3">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="o">=</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="9804478070-4">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="9804478070-4">]</span><span·class="p"·data-group-id="9804478070-1">]</span><span·class="p">.</span><span·class="w">
 233 </span><span·class="p"·data-group-id="9804478070-5">[</span><span·class="p"·data-group-id="9804478070-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="9804478070-6">}</span><span·class="p">,</span><span·class="p"·data-group-id="9804478070-7">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="9804478070-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="9804478070-8">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="9804478070-8">}</span><span·class="p">,</span><span·class="p"·data-group-id="9804478070-9">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="9804478070-9">}</span><span·class="p">,</span><span·class="p"·data-group-id="9804478070-10">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="9804478070-10">}</span><span·class="p">,</span><span·class="p"·data-group-id="9804478070-11">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="9804478070-11">}</span><span·class="p">,</span><span·class="p"·data-group-id="9804478070-12">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">a</span><span·class="p"·data-group-id="9804478070-12">}</span><span·class="p">,</span><span·class="p"·data-group-id="9804478070-13">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="9804478070-13">}</span><span·class="p">,</span><span·class="p"·data-group-id="9804478070-14">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="9804478070-14">}</span><span·class="p"·data-group-id="9804478070-5">]</span></code></pre><p>A·consequence·of·the·rules·for·importing·variables·into·a·list·comprehensions·is
234 that·certain·pattern·matching·operations·must·be·moved·into·the·filters·and234 that·certain·pattern·matching·operations·must·be·moved·into·the·filters·and
235 cannot·be·written·directly·in·the·generators.</p><p>To·illustrate·this,·do·<em>not</em>·write·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="0378565508-1">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="0378565508-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">235 cannot·be·written·directly·in·the·generators.</p><p>To·illustrate·this,·do·<em>not</em>·write·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="3288538202-1">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="3288538202-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
236 ····</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">236 ····</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
237 ····</span><span·class="p"·data-group-id="0378565508-2">[</span><span·class="w">·</span><span·class="n">Expression</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">PatternInvolving</span><span·class="w">·</span><span·class="n">Y</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·248,·SHA:·a56cb51496cf8a41be4ced8454b665a087b67179f1070d2001db6aa7e5a00ced·...·]-2">]</span><span·class="w">237 ····</span><span·class="p"·data-group-id="3288538202-2">[</span><span·class="w">·</span><span·class="n">Expression</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">PatternInvolving</span><span·class="w">·</span><span·class="n">Y</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·248,·SHA:·8a0534ae24e247fd0ddbf2b5d26a1f12e785e75b5ec55286401458aae5cd1177·...·]-2">]</span><span·class="w">
238 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>Instead,·write·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="4403588434-1">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="4403588434-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">238 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>Instead,·write·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="0266790477-1">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="0266790477-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
239 ····</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">239 ····</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 9791/95180 bytes (10.29%) of diff not shown.
717 B
html2text {}
Max HTML report size reached
56.7 KB
./usr/share/doc/erlang-doc/html/doc/system/listhandling.html
    
Offset 120, 105 lines modifiedOffset 120, 105 lines modified
120 ····<i·class="ri-link-m"·aria-hidden="true"></i>120 ····<i·class="ri-link-m"·aria-hidden="true"></i>
121 ··</a>121 ··</a>
122 ··<span·class="text">Creating·a·List</span>122 ··<span·class="text">Creating·a·List</span>
123 </h2>123 </h2>
124 <p>Lists·can·only·be·built·starting·from·the·end·and·attaching·list·elements·at·the124 <p>Lists·can·only·be·built·starting·from·the·end·and·attaching·list·elements·at·the
125 beginning.·If·you·use·the·<code·class="inline">++</code>·operator·as·follows,·a·new·list·is·created·that125 beginning.·If·you·use·the·<code·class="inline">++</code>·operator·as·follows,·a·new·list·is·created·that
126 is·a·copy·of·the·elements·in·<code·class="inline">List1</code>,·followed·by·<code·class="inline">List2</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">List1</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">List2</span></code></pre><p>Looking·at·how·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#append/2"><code·class="inline">lists:append/2</code></a>·or·<code·class="inline">++</code>·would·be·implemented·in·plain·Erlang,126 is·a·copy·of·the·elements·in·<code·class="inline">List1</code>,·followed·by·<code·class="inline">List2</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">List1</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">List2</span></code></pre><p>Looking·at·how·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#append/2"><code·class="inline">lists:append/2</code></a>·or·<code·class="inline">++</code>·would·be·implemented·in·plain·Erlang,
127 clearly·the·first·list·is·copied:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">append</span><span·class="p"·data-group-id="0819331957-1">(</span><span·class="p"·data-group-id="0819331957-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="0819331957-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·60,·SHA:·92d0a0f1c5159afd0cd1d90f0062753120e500bbc90a74cd3eb88a839ba5b0cc·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">127 clearly·the·first·list·is·copied:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">append</span><span·class="p"·data-group-id="4199447379-1">(</span><span·class="p"·data-group-id="4199447379-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="4199447379-2">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·60,·SHA:·bffe254ece73da3f54db41e20add0dd40566f7929b1953be49c01aa7143e618e·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
128 ····</span><span·class="p"·data-group-id="0819331957-3">[</span><span·class="n">H</span><span·class="p">|</span><span·class="nf">append</span><span·class="p"·data-group-id="0819331957-4">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span><spa[·...·truncated·by·diffoscope;·len:·90,·SHA:·bdc2a94f4d1c3f83ebe5c6e4d37aa63b8225abc7e16f6158464eb3dc3e72f38d·...·]-3">]</span><span·class="p">;</span><span·class="w">128 ····</span><span·class="p"·data-group-id="4199447379-3">[</span><span·class="n">H</span><span·class="p">|</span><span·class="nf">append</span><span·class="p"·data-group-id="4199447379-4">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span><spa[·...·truncated·by·diffoscope;·len:·90,·SHA:·c3cb9c30271d98c9279aded3335e89bcf9369fefa977cd32cd4d0031859d4797·...·]-3">]</span><span·class="p">;</span><span·class="w">
129 </span><span·class="nf">append</span><span·class="p"·data-group-id="0819331957-5">(</span><span·class="p"·data-group-id="0819331957-6">[</span><span·class="p"·data-group-id="0819331957-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span><span·class="p"·data-group-id="0819331957-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">129 </span><span·class="nf">append</span><span·class="p"·data-group-id="4199447379-5">(</span><span·class="p"·data-group-id="4199447379-6">[</span><span·class="p"·data-group-id="4199447379-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tail</span><span·class="p"·data-group-id="4199447379-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
130 ····</span><span·class="n">Tail</span><span·class="p">.</span></code></pre><p>When·recursing·and·building·a·list,·it·is·important·to·ensure·that·you·attach130 ····</span><span·class="n">Tail</span><span·class="p">.</span></code></pre><p>When·recursing·and·building·a·list,·it·is·important·to·ensure·that·you·attach
131 the·new·elements·to·the·beginning·of·the·list.·In·this·way,·you·will·build·<em>one</em>131 the·new·elements·to·the·beginning·of·the·list.·In·this·way,·you·will·build·<em>one</em>
132 list,·not·hundreds·or·thousands·of·copies·of·the·growing·result·list.</p><p>Let·us·first·see·how·it·is·not·to·be·done:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">bad_fib</span><span·class="p"·data-group-id="8760775975-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="8760775975-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">132 list,·not·hundreds·or·thousands·of·copies·of·the·growing·result·list.</p><p>Let·us·first·see·how·it·is·not·to·be·done:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">bad_fib</span><span·class="p"·data-group-id="4647734108-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="4647734108-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
133 ····</span><span·class="nf">bad_fib</span><span·class="p"·data-group-id="8760775975-2">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·131,·SHA:·6b4254745a88cfa68deff12635d5ead05e0de89196fccebc17e4800293db450c·...·]-2">)</span><span·class="p">.</span><span·class="w">133 ····</span><span·class="nf">bad_fib</span><span·class="p"·data-group-id="4647734108-2">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·131,·SHA:·2148d2d3c382857af6a8a8cc5c2a4bfb6ead58a24e0786619bef56e2db6db4a0·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
134 </span><span·class="nf">bad_fib</span><span·class="p"·data-group-id="8760775975-4">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Current</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Next</span><span·cl[·...·truncated·by·diffoscope;·len:·108,·SHA:·49bd457d580cb2898515df074cf847c737b51ed346c73daa751ec0c0f9c79762·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">134 </span><span·class="nf">bad_fib</span><span·class="p"·data-group-id="4647734108-4">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Current</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Next</span><span·cl[·...·truncated·by·diffoscope;·len:·108,·SHA:·da24c4a9f700094362f02b64d438a081e9f557838e68090a4fd018f0431716d9·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
135 ····</span><span·class="n">Fibs</span><span·class="p">;</span><span·class="w">135 ····</span><span·class="n">Fibs</span><span·class="p">;</span><span·class="w">
136 </span><span·class="nf">bad_fib</span><span·class="p"·data-group-id="8760775975-5">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Current</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Next</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·59,·SHA:·55e0472064fb8732e0bc052e15015fcf1ffa5b576e67cda8b4ceeb496fee49c3·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">136 </span><span·class="nf">bad_fib</span><span·class="p"·data-group-id="4647734108-5">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Current</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Next</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·59,·SHA:·2cf7fcf0bdad492e7c9dc5e5eb88aa980e87ba3ec3a3a9bd2f0d25f4948abcdc·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
137 ····</span><span·class="nf">bad_fib</span><span·class="p"·data-group-id="8760775975-6">(</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Next</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·464,·SHA:·9a0bad3ec7793708988c4076ac89f2ee948a13935b3cb6b0a92388ad6c26f917·...·]-6">)</span><span·class="p">.</span></code></pre><p>Here·more·than·one·list·is·built.·In·each·iteration·step·a·new·list·is·created137 ····</span><span·class="nf">bad_fib</span><span·class="p"·data-group-id="4647734108-6">(</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Next</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·464,·SHA:·2b77310aae354f00b229afc83da66fb2e307ac2f086c16abaa460da3b285bc99·...·]-6">)</span><span·class="p">.</span></code></pre><p>Here·more·than·one·list·is·built.·In·each·iteration·step·a·new·list·is·created
138 that·is·one·element·longer·than·the·new·previous·list.</p><p>To·avoid·copying·the·result·in·each·iteration,·build·the·list·in·reverse·order138 that·is·one·element·longer·than·the·new·previous·list.</p><p>To·avoid·copying·the·result·in·each·iteration,·build·the·list·in·reverse·order
139 and·reverse·the·list·when·you·are·done:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="9514641783-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="9514641783-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">139 and·reverse·the·list·when·you·are·done:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="1082836623-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="1082836623-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
140 ····</span><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="9514641783-2">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·130,·SHA:·790611569fc4646e67738e804d2ff926c3cd11007935c8c34b081e4c42952b0d·...·]3-2">)</span><span·class="p">.</span><span·class="w">140 ····</span><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="1082836623-2">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·130,·SHA:·a4199f21d11826b8e56752c14e503030cb1fd47eaaa7b32dc4df8bbe28d5d6c2·...·]3-2">)</span><span·class="p">.</span><span·class="w">
  
141 </span><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="9514641783-4">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Current</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Next</span><span·cl[·...·truncated·by·diffoscope;·len:·107,·SHA:·ef070f39f612bf716ccc3b44d5472cfc3873e703d839ea55611b2193d9f3b177·...·]3-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">141 </span><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="1082836623-4">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Current</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Next</span><span·cl[·...·truncated·by·diffoscope;·len:·107,·SHA:·6cab9badebbe13e6eff7f62457f7ba088a49542405dafc2e57c7618a2e549fc5·...·]3-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
142 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="9514641783-5">(</span><span·class="n">Fibs</span><span·class="p"·data-group-id="9514641783-5">)</span><span·class="p">;</span><span·class="w">142 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="1082836623-5">(</span><span·class="n">Fibs</span><span·class="p"·data-group-id="1082836623-5">)</span><span·class="p">;</span><span·class="w">
143 </span><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="9514641783-6">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Current</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Next</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·58,·SHA:·561358255ea8283ab6def4f2452283801944ca229674c5146da3e983c01449a9·...·]3-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">143 </span><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="1082836623-6">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Current</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Next</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·58,·SHA:·72d5b262493d5f71f26eea98be9cf75898222ee81ec6c8513ab159132e2e7528·...·]3-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
144 ····</span><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="9514641783-7">(</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Next</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·414,·SHA:·a87fa45f0a5a6c71c05de3b21e4bc8babdf0dcfe3aa58869d6ff6d363d0c33ca·...·]3-7">)</span><span·class="p">.</span></code></pre><h2·id="list-comprehensions"·class="section-heading">144 ····</span><span·class="nf">tail_recursive_fib</span><span·class="p"·data-group-id="1082836623-7">(</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Next</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·414,·SHA:·880e510417fcef2b49399d18befc906a3338de9135a9d732e4409dcd2b394726·...·]3-7">)</span><span·class="p">.</span></code></pre><h2·id="list-comprehensions"·class="section-heading">
145 ··<a·href="#list-comprehensions"·class="hover-link">145 ··<a·href="#list-comprehensions"·class="hover-link">
146 ····<i·class="ri-link-m"·aria-hidden="true"></i>146 ····<i·class="ri-link-m"·aria-hidden="true"></i>
147 ··</a>147 ··</a>
148 ··<span·class="text">List·Comprehensions</span>148 ··<span·class="text">List·Comprehensions</span>
149 </h2>149 </h2>
150 <p>A·list·comprehension:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0213667846-1">[</span><span·class="n">Expr</span><span·class="p"·data-group-id="0213667846-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="0213667846-2">)</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·676,·SHA:·2bb1927d0b263766af1e71186353f51af1970ffe40f8e174d605e623e128f6c0·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">150 <p>A·list·comprehension:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4305200139-1">[</span><span·class="n">Expr</span><span·class="p"·data-group-id="4305200139-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="4305200139-2">)</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·676,·SHA:·73e996b8efa9ff25befb1e08e763957dd357b3c02943b1630f1d72e2f3b516ef·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
151 ····</span><span·class="p"·data-group-id="4422413441-3">[</span><span·class="n">Expr</span><span·class="p"·data-group-id="4422413441-4">(</span><span·class="n">E</span><span·class="p"·data-group-id="4422413441-4">)</span><span·class="p">|</span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·233,·SHA:·396599421ebd674c11e4f64df650dcd957991cf397b640d92010f9c986663bf8·...·]-3">]</span><span·class="p">;</span><span·class="w">151 ····</span><span·class="p"·data-group-id="4937240563-3">[</span><span·class="n">Expr</span><span·class="p"·data-group-id="4937240563-4">(</span><span·class="n">E</span><span·class="p"·data-group-id="4937240563-4">)</span><span·class="p">|</span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·233,·SHA:·3320e50cd63444cdfd8823be904b5af5239d138d33ca3f8765f0dfbfea1b01d7·...·]-3">]</span><span·class="p">;</span><span·class="w">
152 </span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"·data-group-id="4422413441-6">(</span><span·class="p"·data-group-id="4422413441-7">[</span><span·class="p"·data-group-id="4422413441-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Expr</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·193,·SHA:·16230f6f73f05aa05e098af492e7286f898bedfd57094c529a02ed2674d32877·...·]-8">]</span><span·class="p">.</span></code></pre><p>If·the·result·of·the·list·comprehension·will·<em>obviously</em>·not·be·used,·a·list152 </span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"·data-group-id="4937240563-6">(</span><span·class="p"·data-group-id="4937240563-7">[</span><span·class="p"·data-group-id="4937240563-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Expr</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·193,·SHA:·8edf2cf1f3fffe02280e2e481e27c708ba94e21c6d7f2e3f97b310aba5773417·...·]-8">]</span><span·class="p">.</span></code></pre><p>If·the·result·of·the·list·comprehension·will·<em>obviously</em>·not·be·used,·a·list
153 will·not·be·constructed.·For·example,·in·this·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7797630469-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="7797630469-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="7797630469-2">)</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·220,·SHA:·10e2f2eea3495bc033e9ac8be4144066d58b5865e7f8f070231188e4f9ce2b2a·...·]-1">]</span><span·class="p">,</span><span·class="w">153 will·not·be·constructed.·For·example,·in·this·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6164525422-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="6164525422-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="6164525422-2">)</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·220,·SHA:·9cc641e945e4258241dcff2eb790f4b08ab2f83f5ab25b77414ab06cf75a6f07·...·]-1">]</span><span·class="p">,</span><span·class="w">
154 </span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>or·in·this·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="n">Var</span><span·class="w">·</span><span·class="k">of</span><span·class="w">154 </span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>or·in·this·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="n">Var</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
155 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">155 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
156 ········</span><span·class="p"·data-group-id="7329582024-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="7329582024-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="7329582024-2">)</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·220,·SHA:·9817cfc17ecec6a672e6000339ed3608db764797a21def1c39339e9516b64177·...·]-1">]</span><span·class="p">;</span><span·class="w">156 ········</span><span·class="p"·data-group-id="6997846511-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="6997846511-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="6997846511-2">)</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·220,·SHA:·ab35b18f320f5b8f7801eb83e9776e00098a3a99ad4c755bee3c50a540c08d26·...·]-1">]</span><span·class="p">;</span><span·class="w">
157 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">157 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
158 </span><span·class="k">end</span><span·class="p">,</span><span·class="w">158 </span><span·class="k">end</span><span·class="p">,</span><span·class="w">
159 </span><span·class="nf">some_function</span><span·class="p"·data-group-id="7329582024-3">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="7329582024-3">)</span><span·class="p">,</span></code></pre><p>the·value·is·not·assigned·to·a·variable,·not·passed·to·another·function,·and·not159 </span><span·class="nf">some_function</span><span·class="p"·data-group-id="6997846511-3">(</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="6997846511-3">)</span><span·class="p">,</span></code></pre><p>the·value·is·not·assigned·to·a·variable,·not·passed·to·another·function,·and·not
160 returned.·This·means·that·there·is·no·need·to·construct·a·list·and·the·compiler160 returned.·This·means·that·there·is·no·need·to·construct·a·list·and·the·compiler
161 will·simplify·the·code·for·the·list·comprehension·to:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">&#39;lc^0&#39;</span><span·class="p"·data-group-id="4052748827-1">(</span><span·class="p"·data-group-id="4052748827-2">[</span><span·class="n">E</span><span·class="p">|</span><span·class="n">Tail</span><span·class="p"·data-group-id="4052748827-2">]</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·63,·SHA:·200da24e10ebc1776bc866fba266f2e973693f78eb2ee80ced61f88b38a29154·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">161 will·simplify·the·code·for·the·list·comprehension·to:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">&#39;lc^0&#39;</span><span·class="p"·data-group-id="2833815840-1">(</span><span·class="p"·data-group-id="2833815840-2">[</span><span·class="n">E</span><span·class="p">|</span><span·class="n">Tail</span><span·class="p"·data-group-id="2833815840-2">]</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·63,·SHA:·8e8ef8000335c8e9485a3e609586cefe48f4c068ad0b5c13de2b11e50bc3f13f·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
162 ····</span><span·class="n">Expr</span><span·class="p"·data-group-id="4052748827-3">(</span><span·class="n">E</span><span·class="p"·data-group-id="4052748827-3">)</span><span·class="p">,</span><span·class="w">162 ····</span><span·class="n">Expr</span><span·class="p"·data-group-id="2833815840-3">(</span><span·class="n">E</span><span·class="p"·data-group-id="2833815840-3">)</span><span·class="p">,</span><span·class="w">
163 ····</span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"·data-group-id="4052748827-4">(</span><span·class="n">Tail</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Expr</span><span·class="p"·data-group-id="4052748827-4">)</span><span·class="p">;</span><span·class="w">163 ····</span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"·data-group-id="2833815840-4">(</span><span·class="n">Tail</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Expr</span><span·class="p"·data-group-id="2833815840-4">)</span><span·class="p">;</span><span·class="w">
164 </span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"·data-group-id="4052748827-5">(</span><span·class="p"·data-group-id="4052748827-6">[</span><span·class="p"·data-group-id="4052748827-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Expr</span><span·class="p"·data-group-id="4052748827-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4052748827-7">[</span><span·class="p"·data-group-id="4052748827-7">]</span><span·class="p">.</span></code></pre><p>The·compiler·also·understands·that·assigning·to·<code·class="inline">_</code>·means·that·the·value·will 
165 not·be·used.·Therefore,·the·code·in·the·following·example·will·also·be·optimized:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·532,·SHA:·82c2020615eb2c65f24cf006b3a28edda8df589814f006324db977c2b41ea0e3·...·]164 </span><span·class="nf">&#39;lc^0&#39;</span><span·class="p"·data-group-id="2833815840-5">(</span><span·class="p"·data-group-id="2833815840-6">[</span><span·class="p"·data-group-id="2833815840-6">]</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·425,·SHA:·ab2f2016c4adbbbf64581280421947d842fe38bb6215027527ed7361e0bbc07f·...·]
 165 not·be·used.·Therefore,·the·code·in·the·following·example·will·also·be·optimized:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9018055584-1">[</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="9018055584-2">(</span><span·class="n">E</span><span·class="p"·data-group-id="9018055584-2">)</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">E</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="n">List</span><span·class="p"·data-group-id="9018055584-1">]</span><span·class="p">,</span><span·class="w">
166 </span><span·class="ss">ok</span><span·class="p">.</span></code></pre><h2·id="deep-and-flat-lists"·class="section-heading">166 </span><span·class="ss">ok</span><span·class="p">.</span></code></pre><h2·id="deep-and-flat-lists"·class="section-heading">
167 ··<a·href="#deep-and-flat-lists"·class="hover-link">167 ··<a·href="#deep-and-flat-lists"·class="hover-link">
168 ····<i·class="ri-link-m"·aria-hidden="true"></i>168 ····<i·class="ri-link-m"·aria-hidden="true"></i>
169 ··</a>169 ··</a>
170 ··<span·class="text">Deep·and·Flat·Lists</span>170 ··<span·class="text">Deep·and·Flat·Lists</span>
171 </h2>171 </h2>
172 <p><a·href="../../lib/stdlib-7.0/doc/html/lists.html#flatten/1"><code·class="inline">lists:flatten/1</code></a>·builds·an·entirely·new·list.·It·is·therefore·expensive,·and172 <p><a·href="../../lib/stdlib-7.0/doc/html/lists.html#flatten/1"><code·class="inline">lists:flatten/1</code></a>·builds·an·entirely·new·list.·It·is·therefore·expensive,·and
173 even·<em>more</em>·expensive·than·the·<code·class="inline">++</code>·operator·(which·copies·its·left·argument,173 even·<em>more</em>·expensive·than·the·<code·class="inline">++</code>·operator·(which·copies·its·left·argument,
174 but·not·its·right·argument).</p><p>In·the·following·situations·it·is·unnecessary·to·call·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#flatten/1"><code·class="inline">lists:flatten/1</code></a>:</p><ul><li>When·sending·data·to·a·port.·Ports·understand·deep·lists·so·there·is·no·reason174 but·not·its·right·argument).</p><p>In·the·following·situations·it·is·unnecessary·to·call·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#flatten/1"><code·class="inline">lists:flatten/1</code></a>:</p><ul><li>When·sending·data·to·a·port.·Ports·understand·deep·lists·so·there·is·no·reason
175 to·flatten·the·list·before·sending·it·to·the·port.</li><li>When·calling·BIFs·that·accept·deep·lists,·such·as175 to·flatten·the·list·before·sending·it·to·the·port.</li><li>When·calling·BIFs·that·accept·deep·lists,·such·as
176 <a·href="../../erts-16.0/doc/html/erlang.html#list_to_binary/1"><code·class="inline">list_to_binary/1</code></a>·or176 <a·href="../../erts-16.0/doc/html/erlang.html#list_to_binary/1"><code·class="inline">list_to_binary/1</code></a>·or
177 <a·href="../../erts-16.0/doc/html/erlang.html#iolist_to_binary/1"><code·class="inline">iolist_to_binary/1</code></a>.</li><li>When·you·know·that·your·list·is·only·one·level·deep.·Use·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#append/1"><code·class="inline">lists:append/1</code></a>177 <a·href="../../erts-16.0/doc/html/erlang.html#iolist_to_binary/1"><code·class="inline">iolist_to_binary/1</code></a>.</li><li>When·you·know·that·your·list·is·only·one·level·deep.·Use·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#append/1"><code·class="inline">lists:append/1</code></a>
178 instead.</li></ul><p><em>Examples:</em></p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">port_command</span><span·class="p"·data-group-id="8832733536-1">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DeepList</span><span·class="p"·data-group-id="8832733536-1">)</span></code></pre><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"[·...·truncated·by·diffoscope;·len:·954,·SHA:·dd9d88438b951a3a72de09765fc2ed25b9a73b4f7de99e938a9eec2566082243·...·]-1">]</span><span·class="p">,</span><span·class="w">178 instead.</li></ul><p><em>Examples:</em></p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">port_command</span><span·class="p"·data-group-id="2246444354-1">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DeepList</span><span·class="p"·data-group-id="2246444354-1">)</span></code></pre><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"[·...·truncated·by·diffoscope;·len:·954,·SHA:·35f8753f4cdf766a1a96db0df3b07fb0dd19fbaa3c1a5d23deef2244fabc6c70·...·]-1">]</span><span·class="p">,</span><span·class="w">
179 </span><span·class="nf">port_command</span><span·class="p"·data-group-id="7727364445-2">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TerminatedStr</span><span·class="p"·data-group-id="7727364445-2">)</span></code></pre><p>Instead:</p><p><strong>DO</strong></p><pre><code·class[·...·truncated·by·diffoscope;·len:·336,·SHA:·f4063280e3ab29e197c9c0181de4a05fc03ca734441b3854b44de01391b54d77·...·]-1">]</span><span·class="p">,</span><span·class="w">179 </span><span·class="nf">port_command</span><span·class="p"·data-group-id="4236841053-2">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TerminatedStr</span><span·class="p"·data-group-id="4236841053-2">)</span></code></pre><p>Instead:</p><p><strong>DO</strong></p><pre><code·class[·...·truncated·by·diffoscope;·len:·336,·SHA:·ac69f39485385c99aef25bac7e3a8c200aa1e9bd5a7a9681d5ed6488a2bfe393·...·]-1">]</span><span·class="p">,</span><span·class="w">
180 </span><span·class="nf">port_command</span><span·class="p"·data-group-id="7148458062-2">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TerminatedStr</span><span·class="p"·data-group-id="7148458062-2">)</span></code></pre><p><strong>DO</strong></p><pre><code·class="makeup·erlang[·...·truncated·by·diffoscope;·len:·832,·SHA:·ccbb893fe6c87e45b87c7cc64df0bc6227c852223c206c6c9c90c9f95b9b39fa·...·]-1">)</span><span·class="p">.</span><span·class="w">180 </span><span·class="nf">port_command</span><span·class="p"·data-group-id="9458449600-2">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TerminatedStr</span><span·class="p"·data-group-id="9458449600-2">)</span></code></pre><p><strong>DO</strong></p><pre><code·class="makeup·erlang[·...·truncated·by·diffoscope;·len:·832,·SHA:·127420fc2ed81144a29860514dbadbb361a6da8652ab48c961545bee50a05b9c·...·]-1">)</span><span·class="p">.</span><span·class="w">
181 </span><span·class="p"·data-group-id="6424245278-6">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="6424245278-6">]</span></code></pre><p><strong>DO·NOT</strong></p><pre><code·clas[·...·truncated·by·diffoscope;·len:·849,·SHA:·cc85435c86ce28b25b4b32b0fad8ae8d6f34af04120a38e9ae66458a7ba6eddc·...·]-1">)</span><span·class="p">.</span><span·class="w">181 </span><span·class="p"·data-group-id="5846422364-6">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="5846422364-6">]</span></code></pre><p><strong>DO·NOT</strong></p><pre><code·clas[·...·truncated·by·diffoscope;·len:·849,·SHA:·d294baabe424fd5618ebb3c03e0ded684526c4ee9835d27246e72319c1bb20e6·...·]-1">)</span><span·class="p">.</span><span·class="w">
182 </span><span·class="p"·data-group-id="7672621054-6">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="7672621054-6">]</span></code></pre><h2·id="recursive-list-functions"·class="section-heading">182 </span><span·class="p"·data-group-id="2757025490-6">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="2757025490-6">]</span></code></pre><h2·id="recursive-list-functions"·class="section-heading">
183 ··<a·href="#recursive-list-functions"·class="hover-link">183 ··<a·href="#recursive-list-functions"·class="hover-link">
184 ····<i·class="ri-link-m"·aria-hidden="true"></i>184 ····<i·class="ri-link-m"·aria-hidden="true"></i>
185 ··</a>185 ··</a>
186 ··<span·class="text">Recursive·List·Functions</span>186 ··<span·class="text">Recursive·List·Functions</span>
187 </h2>187 </h2>
188 <p>There·are·two·basic·ways·to·write·a·function·that·traverses·a·list·and188 <p>There·are·two·basic·ways·to·write·a·function·that·traverses·a·list·and
189 produces·a·new·list.</p><p>The·first·way·is·writing·a·<em>body-recursive</em>·function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Add·42·to·each·integer·in·the·list.</span><span·class="w">189 produces·a·new·list.</p><p>The·first·way·is·writing·a·<em>body-recursive</em>·function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Add·42·to·each·integer·in·the·list.</span><span·class="w">
190 </span><span·class="nf">add_42_body</span><span·class="p"·data-group-id="7546059696-1">(</span><span·class="p"·data-group-id="7546059696-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="7546059696-2">]</span><span·class="p"·data-group-id="7546059696-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">190 </span><span·class="nf">add_42_body</span><span·class="p"·data-group-id="5816665202-1">(</span><span·class="p"·data-group-id="5816665202-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="5816665202-2">]</span><span·class="p"·data-group-id="5816665202-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
191 ····</span><span·class="p"·data-group-id="7546059696-3">[</span><span·class="n">H</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">42</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">add_42_body</span><span[·...·truncated·by·diffoscope;·len:·166,·SHA:·2cbeb2cd8cd57f9115cca28e156904e0f72fa40fb2b6dc22f6b5dc5834ff4672·...·]-3">]</span><span·class="p">;</span><span·class="w">191 ····</span><span·class="p"·data-group-id="5816665202-3">[</span><span·class="n">H</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">42</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">add_42_body</span><span[·...·truncated·by·diffoscope;·len:·166,·SHA:·e2eb2dbca64145eaf484a76e89399cdfb9b3eb7611bbfe038a1bdfecb337c8bc·...·]-3">]</span><span·class="p">;</span><span·class="w">
192 </span><span·class="nf">add_42_body</span><span·class="p"·data-group-id="7546059696-5">(</span><span·class="p"·data-group-id="7546059696-6">[</span><span·class="p"·data-group-id="7546059696-6">]</span><span·class="p"·data-group-id="7546059696-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">192 </span><span·class="nf">add_42_body</span><span·class="p"·data-group-id="5816665202-5">(</span><span·class="p"·data-group-id="5816665202-6">[</span><span·class="p"·data-group-id="5816665202-6">]</span><span·class="p"·data-group-id="5816665202-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="p"·data-group-id="7546059696-7">[</span><span·class="p"·data-group-id="7546059696-7">]</span><span·class="p">.</span></code></pre><p>The·second·way·is·writing·a·<em>tail-recursive</em>·function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Add·42·to·each·integer·in·the·list.</span><span·class="w">193 ····</span><span·class="p"·data-group-id="5816665202-7">[</span><span·class="p"·data-group-id="5816665202-7">]</span><span·class="p">.</span></code></pre><p>The·second·way·is·writing·a·<em>tail-recursive</em>·function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Add·42·to·each·integer·in·the·list.</span><span·class="w">
194 </span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="4229214405-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="4229214405-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">194 </span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="6323172079-1">(</span><span·class="n">List</span><span·class="p"·data-group-id="6323172079-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
195 ····</span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="4229214405-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4229214405-3">[</span><span·class="p"·data-group-id="4229214405-3">]</span><span·class="p"·data-group-id="4229214405-2">)</span><span·class="p">.</span><span·class="w">195 ····</span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="6323172079-2">(</span><span·class="n">List</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6323172079-3">[</span><span·class="p"·data-group-id="6323172079-3">]</span><span·class="p"·data-group-id="6323172079-2">)</span><span·class="p">.</span><span·class="w">
  
196 </span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="4229214405-4">(</span><span·class="p"·data-group-id="4229214405-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="4229214405-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·4d90730a79f60b427bdb1c67ccd7a5b92957c3b3b4535ebfd9ca756649ac4c84·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">196 </span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="6323172079-4">(</span><span·class="p"·data-group-id="6323172079-5">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="6323172079-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·59,·SHA:·0ac003cec75f8266c7bf2a7848c495cf4b8a67b2b8ca9fd35392e905d461efc5·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
197 ····</span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="4229214405-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4229214405-7">[</span><span·class="n">H</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·205,·SHA:·8b13d12582f4836ecc893f3656ffcda9ee9687f25e196adfd4be7272c2fe17e2·...·]-6">)</span><span·class="p">;</span><span·class="w">197 ····</span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="6323172079-6">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6323172079-7">[</span><span·class="n">H</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·205,·SHA:·f5ebfba135f17fa06da292785e38609ca0c96360244c9627f7cb86761c5e3a31·...·]-6">)</span><span·class="p">;</span><span·class="w">
198 </span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="4229214405-8">(</span><span·class="p"·data-group-id="4229214405-9">[</span><span·class="p"·data-group-id="4229214405-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="4229214405-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">198 </span><span·class="nf">add_42_tail</span><span·class="p"·data-group-id="6323172079-8">(</span><span·class="p"·data-group-id="6323172079-9">[</span><span·class="p"·data-group-id="6323172079-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="6323172079-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
199 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="4229214405-10">(</span><span·class="n">Acc</span><span·class="p"·data-group-id="4229214405-10">)</span><span·class="p">.</span></code></pre><p>In·early·version·of·Erlang·the·tail-recursive·function·would·typically199 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="6323172079-10">(</span><span·class="n">Acc</span><span·class="p"·data-group-id="6323172079-10">)</span><span·class="p">.</span></code></pre><p>In·early·version·of·Erlang·the·tail-recursive·function·would·typically
200 be·more·efficient.·In·modern·versions·of·Erlang,·there·is·usually·not200 be·more·efficient.·In·modern·versions·of·Erlang,·there·is·usually·not
201 much·difference·in·performance·between·a·body-recursive·list·function·and201 much·difference·in·performance·between·a·body-recursive·list·function·and
202 tail-recursive·function·that·reverses·the·list·at·the·end.·Therefore,202 tail-recursive·function·that·reverses·the·list·at·the·end.·Therefore,
203 concentrate·on·writing·beautiful·code·and·forget·about·the·performance203 concentrate·on·writing·beautiful·code·and·forget·about·the·performance
204 of·your·list·functions.·In·the·time-critical·parts·of·your·code,204 of·your·list·functions.·In·the·time-critical·parts·of·your·code,
205 <em>measure</em>·before·rewriting·your·code.</p><p>For·a·thorough·discussion·about·tail·and·body·recursion,·see205 <em>measure</em>·before·rewriting·your·code.</p><p>For·a·thorough·discussion·about·tail·and·body·recursion,·see
206 <a·href="http://ferd.ca/erlang-s-tail-recursion-is-not-a-silver-bullet.html">Erlang's·Tail·Recursion·is·Not·a·Silver·Bullet</a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·section·is·about·list·functions·that·<em>construct</em>·lists.·A·tail-recursive206 <a·href="http://ferd.ca/erlang-s-tail-recursion-is-not-a-silver-bullet.html">Erlang's·Tail·Recursion·is·Not·a·Silver·Bullet</a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·section·is·about·list·functions·that·<em>construct</em>·lists.·A·tail-recursive
207 function·that·does·not·construct·a·list·runs·in·constant·space,·while·the207 function·that·does·not·construct·a·list·runs·in·constant·space,·while·the
208 corresponding·body-recursive·function·uses·stack·space·proportional·to·the208 corresponding·body-recursive·function·uses·stack·space·proportional·to·the
209 length·of·the·list.</p></section><p>For·example,·a·function·that·sums·a·list·of·integers,·is·<em>not</em>·to·be·written·as209 length·of·the·list.</p></section><p>For·example,·a·function·that·sums·a·list·of·integers,·is·<em>not</em>·to·be·written·as
210 follows:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">recursive_sum</span><span·class="p"·data-group-id="9924742490-1">(</span><span·class="p"·data-group-id="9924742490-2">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="9924742490-2">]</span><span·class="p"·data-group-id="9924742490-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">H</span><span·class="o">+</span><span·class="nf">recursive_sum</span><span·class="p"·data-group-id="9924742490-3">(</span><span·class="n">T</span><span·class="p"·data-group-id="9924742490-3">)</span><span·class="p">;</span><span·class="w"> 
211 </span><span·class="nf">recursive_sum</span><span·class="p"·data-group-id="9924742490-4">(</span><span·class="p"·data-group-id="9924742490-5">[</span><span·class="p"·data-group-id="9924742490-5">]</span><span·class="p"·data-group-id="9924742490-4">)</span>[·...·truncated·by·diffoscope;·len:·710,·SHA:·86d0b07327fe8ec931e904bf6064a15f9fba289c61f3084cfd4547004df6ccd2·...·]</span><span·class="w">210 follows:</p><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">recursive_sum</span><span·class="p"·data-group-id="7032240191-1">(</span><span·class="p"·data-group-id="7032240191-2">[</span><span·class="n">H</span[·...·truncated·by·diffoscope;·len:·463,·SHA:·24615f2d5f2e231c4c2992977cf074e0a82732389549fe83e5bb386f37d163b5·...·]</span><span·class="w">
 211 </span><span·class="nf">recursive_sum</span><span·class="p"·data-group-id="7032240191-4">(</span><span·class="p"·data-group-id="7032240191-5">[</span><span·class="p"·data-group-id="7032240191-5">]</span><span·class="p"·data-group-id="7032240191-4">)</span><span·class="w">····</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">.</span></code></pre><p>Instead:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sum</span><span·class="p"·data-group-id="2510854561-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="2510854561-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">sum</span><span·class="p"·data-group-id="2510854561-2">(</span><span·class="n">L</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="2510854561-2">)</span><span·class="p">.</span><span·class="w">
  
212 </span><span·class="nf">sum</span><span·class="p"·data-group-id="3284916564-3">(</span><span·class="p"·data-group-id="3284916564-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="3284916564-4">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·462,·SHA:·1417fe0565fcaa3fd476afca866ec0c8066251ccff7622e40e0efd79a3aced81·...·]-5">)</span><span·class="p">;</span><span·class="w">212 </span><span·class="nf">sum</span><span·class="p"·data-group-id="2510854561-3">(</span><span·class="p"·data-group-id="2510854561-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="2510854561-4">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·462,·SHA:·d6f64c23040eca9de0a9076ef4ac1d23c672c9b5ff76382f8bc67ba104516133·...·]-5">)</span><span·class="p">;</span><span·class="w">
213 </span><span·class="nf">sum</span><span·class="p"·data-group-id="3284916564-6">(</span><span·class="p"·data-group-id="3284916564-7">[</span><span·class="p"·data-group-id="3284916564-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="3284916564-6">)</span><span·class="w">····</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p">.</span></code></pre>213 </span><span·class="nf">sum</span><span·class="p"·data-group-id="2510854561-6">(</span><span·class="p"·data-group-id="2510854561-7">[</span><span·class="p"·data-group-id="2510854561-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="2510854561-6">)</span><span·class="w">····</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p">.</span></code></pre>
214 </div>214 </div>
  
215 <div·class="bottom-actions"·id="bottom-actions">215 <div·class="bottom-actions"·id="bottom-actions">
216 ··<div·class="bottom-actions-item">216 ··<div·class="bottom-actions-item">
  
217 ······<a·href="maps.html"·class="bottom-actions-button"·rel="prev">217 ······<a·href="maps.html"·class="bottom-actions-button"·rel="prev">
218 ········<span·class="subheader">218 ········<span·class="subheader">
Offset 261, 15 lines modifiedOffset 261, 15 lines modified
261 ······<p·class="built-using">261 ······<p·class="built-using">
262 ········Built·using262 ········Built·using
263 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the263 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
264 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>264 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
265 ······</p>265 ······</p>
266 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>266 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
267 ····</footer>267 ····</footer>
268 ··</div>268 ··</div>
269 </main>269 </main>
270 </div>270 </div>
271 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>271 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
272 ··<script>272 ··<script>
273 ··let·initialized·=·false;273 ··let·initialized·=·false;
558 B
html2text {}
Max HTML report size reached
59.8 KB
./usr/share/doc/erlang-doc/html/doc/system/macros.html
    
Offset 117, 56 lines modifiedOffset 117, 56 lines modified
  
117 <h2·id="file-inclusion"·class="section-heading">117 <h2·id="file-inclusion"·class="section-heading">
118 ··<a·href="#file-inclusion"·class="hover-link">118 ··<a·href="#file-inclusion"·class="hover-link">
119 ····<i·class="ri-link-m"·aria-hidden="true"></i>119 ····<i·class="ri-link-m"·aria-hidden="true"></i>
120 ··</a>120 ··</a>
121 ··<span·class="text">File·Inclusion</span>121 ··<span·class="text">File·Inclusion</span>
122 </h2>122 </h2>
123 <p>A·file·can·be·included·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="6327537975-1">(</span><span·class="n">File</span><span·class="p"·data-group-id="6327537975-1">)</span><span·class="p">.</span><span·class="w"> 
124 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="6327537975-2">(</span><span·class="n">File</span><span·class="p"·data-group-id="6327537975-2">)</span><span·class="p">.</span></code></pre><p><code·class="inlin[·...·truncated·by·diffoscope;·len:·88,·SHA:·eae51463b245131c3a443f27702d0623faa26c7deeeb9415aa013a52c942d16b·...·]123 <p>A·file·can·be·included·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="9426209591-1">(</span><span·class="n">File</span><span·class="p"·data-group-id="94[·...·truncated·by·diffoscope;·len:·60,·SHA:·1b1810ea926863d867bf340f0e69c69c7c65f49e8d10fdc372dfdb65cc14231a·...·]
 124 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="9426209591-2">(</span><span·class="n">File</span><span·class="p"·data-group-id="9426209591-2">)</span><span·class="p">.</span></code></pre><p><code·class="inline">File</code>,·a·string,·is·to·point·out·a·file.·The·contents·of·this·file·are·included
125 as·is,·at·the·position·of·the·directive.</p><p>Include·files·are·typically·used·for·record·and·macro·definitions·that·are125 as·is,·at·the·position·of·the·directive.</p><p>Include·files·are·typically·used·for·record·and·macro·definitions·that·are
126 shared·by·several·modules.·It·is·recommended·to·use·the·file·name·extension126 shared·by·several·modules.·It·is·recommended·to·use·the·file·name·extension
127 <code·class="inline">.hrl</code>·for·include·files.</p><p><code·class="inline">File</code>·can·start·with·a·path·component·<code·class="inline">$VAR</code>,·for·some·string·<code·class="inline">VAR</code>.·If·that·is127 <code·class="inline">.hrl</code>·for·include·files.</p><p><code·class="inline">File</code>·can·start·with·a·path·component·<code·class="inline">$VAR</code>,·for·some·string·<code·class="inline">VAR</code>.·If·that·is
128 the·case,·the·value·of·the·environment·variable·<code·class="inline">VAR</code>·as·returned·by128 the·case,·the·value·of·the·environment·variable·<code·class="inline">VAR</code>·as·returned·by
129 <code·class="inline">os:getenv(VAR)</code>·is·substituted·for·<code·class="inline">$VAR</code>.·If·<code·class="inline">os:getenv(VAR)</code>·returns·<code·class="inline">false</code>,129 <code·class="inline">os:getenv(VAR)</code>·is·substituted·for·<code·class="inline">$VAR</code>.·If·<code·class="inline">os:getenv(VAR)</code>·returns·<code·class="inline">false</code>,
130 <code·class="inline">$VAR</code>·is·left·as·is.</p><p>If·the·filename·<code·class="inline">File</code>·is·absolute·(possibly·after·variable·substitution),·the130 <code·class="inline">$VAR</code>·is·left·as·is.</p><p>If·the·filename·<code·class="inline">File</code>·is·absolute·(possibly·after·variable·substitution),·the
131 include·file·with·that·name·is·included.·Otherwise,·the·specified·file·is131 include·file·with·that·name·is·included.·Otherwise,·the·specified·file·is
132 searched·for·in·the·following·directories,·and·in·this·order:</p><ol><li>The·current·working·directory</li><li>The·directory·where·the·module·is·being·compiled</li><li>The·directories·given·by·the·<code·class="inline">include</code>·option</li></ol><p>For·details,·see·<a·href="../../erts-16.0/doc/html/erlc_cmd.html">erlc</a>·in·ERTS·and132 searched·for·in·the·following·directories,·and·in·this·order:</p><ol><li>The·current·working·directory</li><li>The·directory·where·the·module·is·being·compiled</li><li>The·directories·given·by·the·<code·class="inline">include</code>·option</li></ol><p>For·details,·see·<a·href="../../erts-16.0/doc/html/erlc_cmd.html">erlc</a>·in·ERTS·and
133 <a·href="../../lib/compiler-9.0/doc/html/compile.html"><code·class="inline">compile</code></a>·in·Compiler.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="1526230680-1">(</span><span·class="s">&quot;my_records.hrl&quot;</span><span·class="p"·data-group-id="1526230680-1">)</span><span·class="p">.</span><span·class="w">133 <a·href="../../lib/compiler-9.0/doc/html/compile.html"><code·class="inline">compile</code></a>·in·Compiler.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="3393374816-1">(</span><span·class="s">&quot;my_records.hrl&quot;</span><span·class="p"·data-group-id="3393374816-1">)</span><span·class="p">.</span><span·class="w">
134 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="1526230680-2">(</span><span·class="s">&quot;incdir/my_records.hrl&quot;</span><span·class="p"·data-group-id="1526230680-2">)</span><span·class="p">.</span><span·class="w">134 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="3393374816-2">(</span><span·class="s">&quot;incdir/my_records.hrl&quot;</span><span·class="p"·data-group-id="3393374816-2">)</span><span·class="p">.</span><span·class="w">
135 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="1526230680-3">(</span><span·class="s">&quot;/home/user/proj/my_records.hrl&quot;</span><span·class="p"·data-group-id="1526230680-3">)</span><span·class="p">.</span><span·class="w">135 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="3393374816-3">(</span><span·class="s">&quot;/home/user/proj/my_records.hrl&quot;</span><span·class="p"·data-group-id="3393374816-3">)</span><span·class="p">.</span><span·class="w">
136 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="1526230680-4">(</span><span·class="s">&quot;$PROJ_ROOT/my_records.hrl&quot;</span><span·class="p"·data-group-id="1526230680-4">)</span><span·class="p">.</span></code></pre><p><code·class="inline">include_lib</code>·is·similar·to·<code·class="inline">include</code>,·but·is·not·to·point·out·an·absolute·file.136 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="3393374816-4">(</span><span·class="s">&quot;$PROJ_ROOT/my_records.hrl&quot;</span><span·class="p"·data-group-id="3393374816-4">)</span><span·class="p">.</span></code></pre><p><code·class="inline">include_lib</code>·is·similar·to·<code·class="inline">include</code>,·but·is·not·to·point·out·an·absolute·file.
137 Instead,·the·first·path·component·(possibly·after·variable·substitution)·is137 Instead,·the·first·path·component·(possibly·after·variable·substitution)·is
138 assumed·to·be·the·name·of·an·application.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="7662949354-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="7662949354-1">)</span><span·class="p">.</span></code></pre><p>The·code·server·uses·<code·class="inline">code:lib_dir(kernel)</code>·to·find·the·directory·of·the·current138 assumed·to·be·the·name·of·an·application.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="2498450396-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="2498450396-1">)</span><span·class="p">.</span></code></pre><p>The·code·server·uses·<code·class="inline">code:lib_dir(kernel)</code>·to·find·the·directory·of·the·current
139 (latest)·version·of·Kernel,·and·then·the·subdirectory·<code·class="inline">include</code>·is·searched·for139 (latest)·version·of·Kernel,·and·then·the·subdirectory·<code·class="inline">include</code>·is·searched·for
140 the·file·<code·class="inline">file.hrl</code>.</p><h2·id="defining-and-using-macros"·class="section-heading">140 the·file·<code·class="inline">file.hrl</code>.</p><h2·id="defining-and-using-macros"·class="section-heading">
141 ··<a·href="#defining-and-using-macros"·class="hover-link">141 ··<a·href="#defining-and-using-macros"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Defining·and·Using·Macros</span>144 ··<span·class="text">Defining·and·Using·Macros</span>
145 </h2>145 </h2>
146 <p>A·macro·is·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="8462244324-1">(</span><span·class="n">Const</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Replacement</span><span·class="p"·data-group-id="8462244324-1">)</span><span·class="p">.</span><span·class="w">146 <p>A·macro·is·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="1892373112-1">(</span><span·class="n">Const</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Replacement</span><span·class="p"·data-group-id="1892373112-1">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="8462244324-2">(</span><span·class="n">Func</span><span·class="p"·data-group-id="8462244324-3">(</span><span·class="n">Var1</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·196,·SHA:·ff2b431af657c99636585e185f793ef98e4dc13d3f5b60c7f86d027455e72bae·...·]-2">)</span><span·class="p">.</span></code></pre><p>A·macro·definition·can·be·placed·anywhere·among·the·attributes·and·function147 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="1892373112-2">(</span><span·class="n">Func</span><span·class="p"·data-group-id="1892373112-3">(</span><span·class="n">Var1</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·196,·SHA:·cda04490c3ecf149f05c727060d313dab47bf243128df9a127efc302954fc471·...·]-2">)</span><span·class="p">.</span></code></pre><p>A·macro·definition·can·be·placed·anywhere·among·the·attributes·and·function
148 declarations·of·a·module,·but·the·definition·must·come·before·any·usage·of·the148 declarations·of·a·module,·but·the·definition·must·come·before·any·usage·of·the
149 macro.</p><p>If·a·macro·is·used·in·several·modules,·it·is·recommended·that·the·macro149 macro.</p><p>If·a·macro·is·used·in·several·modules,·it·is·recommended·that·the·macro
150 definition·is·placed·in·an·include·file.</p><p>A·macro·is·used·as·follows:</p><pre><code·class="text">?Const150 definition·is·placed·in·an·include·file.</p><p>A·macro·is·used·as·follows:</p><pre><code·class="text">?Const
151 ?Func(Arg1,...,ArgN)</code></pre><p>Macros·are·expanded·during·compilation.·A·simple·macro·<code·class="inline">?Const</code>·is·replaced·with151 ?Func(Arg1,...,ArgN)</code></pre><p>Macros·are·expanded·during·compilation.·A·simple·macro·<code·class="inline">?Const</code>·is·replaced·with
152 <code·class="inline">Replacement</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="6127931167-1">(</span><span·class="n">TIMEOUT</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">200</span><span·class="p"·data-group-id="6127931167-1">)</span><span·class="p">.</span><span·class="w">152 <code·class="inline">Replacement</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="8516834502-1">(</span><span·class="n">TIMEOUT</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">200</span><span·class="p"·data-group-id="8516834502-1">)</span><span·class="p">.</span><span·class="w">
153 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">153 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
154 </span><span·class="nf">call</span><span·class="p"·data-group-id="6127931167-2">(</span><span·class="n">Request</span><span·class="p"·data-group-id="6127931167-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">154 </span><span·class="nf">call</span><span·class="p"·data-group-id="8516834502-2">(</span><span·class="n">Request</span><span·class="p"·data-group-id="8516834502-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
155 ····</span><span·class="nc">server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="6127931167-3">(</span><span·class="ss">refserver</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Request</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">TIMEOUT</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·296,·SHA:·7b8957491b3b15d94c4b34f4b7e509a3f1e0a19a6d6bec02ec0a9b863d95bbf6·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">155 ····</span><span·class="nc">server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="8516834502-3">(</span><span·class="ss">refserver</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Request</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">TIMEOUT</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·296,·SHA:·3a0bca48d6cd9ade1aca3144ad3a8517b79bb33f228f31e3bd87777a7ee5bfd5·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
156 ····</span><span·class="nc">server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="5064958509-2">(</span><span·class="ss">refserver</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Request</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">200</span><span·class="p"·data-group-id="5064958509-2">)</span><span·class="p">.</span></code></pre><p>A·macro·<code·class="inline">?Func(Arg1,...,ArgN)</code>·is·replaced·with·<code·class="inline">Replacement</code>,·where·all156 ····</span><span·class="nc">server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="8665052116-2">(</span><span·class="ss">refserver</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Request</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">200</span><span·class="p"·data-group-id="8665052116-2">)</span><span·class="p">.</span></code></pre><p>A·macro·<code·class="inline">?Func(Arg1,...,ArgN)</code>·is·replaced·with·<code·class="inline">Replacement</code>,·where·all
157 occurrences·of·a·variable·<code·class="inline">Var</code>·from·the·macro·definition·are·replaced·with·the157 occurrences·of·a·variable·<code·class="inline">Var</code>·from·the·macro·definition·are·replaced·with·the
158 corresponding·argument·<code·class="inline">Arg</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="7290384021-1">(</span><span·class="n">MACRO1</span><span·class="p"·data-group-id="7290384021-2">(</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="7290384021-2">)</span><sp[·...·truncated·by·diffoscope;·len:·434,·SHA:·23ce8d74ee22e89edaf298c95c6db3d1a65d3c210df004315d57e78265dcfc07·...·]-1">)</span><span·class="p">.</span><span·class="w">158 corresponding·argument·<code·class="inline">Arg</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="9556472024-1">(</span><span·class="n">MACRO1</span><span·class="p"·data-group-id="9556472024-2">(</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="9556472024-2">)</span><sp[·...·truncated·by·diffoscope;·len:·434,·SHA:·4c5abe24e0bd9351118075ca4b2a6e00c00cc2832c3a1498a56a9a72e256084e·...·]-1">)</span><span·class="p">.</span><span·class="w">
159 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">159 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
160 </span><span·class="nf">bar</span><span·class="p"·data-group-id="7290384021-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="7290384021-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">160 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9556472024-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="9556472024-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
161 ····</span><span·class="o">?</span><span·class="n">MACRO1</span><span·class="p"·data-group-id="7290384021-5">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b</span><span·class="p"·data-group-id="7290384021-5">)</span><span·class="p">,</span><span·class="w">161 ····</span><span·class="o">?</span><span·class="n">MACRO1</span><span·class="p"·data-group-id="9556472024-5">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b</span><span·class="p"·data-group-id="9556472024-5">)</span><span·class="p">,</span><span·class="w">
162 ····</span><span·class="o">?</span><span·class="n">MACRO1</span><span·class="p"·data-group-id="7290384021-6">(</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">123</span><span·class="p"·data-group-id="7290384021-6">)</span></code></pre><p>This·is·expanded·to:</p><pre><code·class="makeup·erlang"·translate[·...·truncated·by·diffoscope;·len:·151,·SHA:·ff3d8b2c2d726b60bb377870af5791620705cc15d2fba35a899b9a2d3e8b77ec·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">162 ····</span><span·class="o">?</span><span·class="n">MACRO1</span><span·class="p"·data-group-id="9556472024-6">(</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">123</span><span·class="p"·data-group-id="9556472024-6">)</span></code></pre><p>This·is·expanded·to:</p><pre><code·class="makeup·erlang"·translate[·...·truncated·by·diffoscope;·len:·151,·SHA:·9fae4bb97c196ba5c2d727048ce41fe37e2aef63ea3708659121566ea2ce7b2b·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
163 ····</span><span·class="p"·data-group-id="3075223785-2">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="3075223785-2">}</span><span·class="p">,</span><span·class="w">163 ····</span><span·class="p"·data-group-id="5848537617-2">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="5848537617-2">}</span><span·class="p">,</span><span·class="w">
164 ····</span><span·class="p"·data-group-id="3075223785-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="n">X</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">123</span><span·class="p"·data-group-id="3075223785-3">}</span><span·class="p">.</span></code></pre><p>It·is·good·programming·practice,·but·not·mandatory,·to·ensure·that·a·macro164 ····</span><span·class="p"·data-group-id="5848537617-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="n">X</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">123</span><span·class="p"·data-group-id="5848537617-3">}</span><span·class="p">.</span></code></pre><p>It·is·good·programming·practice,·but·not·mandatory,·to·ensure·that·a·macro
165 definition·is·a·valid·Erlang·syntactic·form.</p><p>To·view·the·result·of·macro·expansion,·a·module·can·be·compiled·with·the·<code·class="inline">'P'</code>165 definition·is·a·valid·Erlang·syntactic·form.</p><p>To·view·the·result·of·macro·expansion,·a·module·can·be·compiled·with·the·<code·class="inline">'P'</code>
166 option.·<code·class="inline">compile:file(File,·['P'])</code>.·This·produces·a·listing·of·the·parsed·code166 option.·<code·class="inline">compile:file(File,·['P'])</code>.·This·produces·a·listing·of·the·parsed·code
167 after·preprocessing·and·parse·transforms,·in·the·file·<code·class="inline">File.P</code>.</p><h2·id="predefined-macros"·class="section-heading">167 after·preprocessing·and·parse·transforms,·in·the·file·<code·class="inline">File.P</code>.</p><h2·id="predefined-macros"·class="section-heading">
168 ··<a·href="#predefined-macros"·class="hover-link">168 ··<a·href="#predefined-macros"·class="hover-link">
169 ····<i·class="ri-link-m"·aria-hidden="true"></i>169 ····<i·class="ri-link-m"·aria-hidden="true"></i>
170 ··</a>170 ··</a>
171 ··<span·class="text">Predefined·Macros</span>171 ··<span·class="text">Predefined·Macros</span>
Offset 185, 29 lines modifiedOffset 185, 29 lines modified
185 ····<i·class="ri-link-m"·aria-hidden="true"></i>185 ····<i·class="ri-link-m"·aria-hidden="true"></i>
186 ··</a>186 ··</a>
187 ··<span·class="text">Macros·Overloading</span>187 ··<span·class="text">Macros·Overloading</span>
188 </h2>188 </h2>
189 <p>It·is·possible·to·overload·macros,·except·for·predefined·macros.·An·overloaded189 <p>It·is·possible·to·overload·macros,·except·for·predefined·macros.·An·overloaded
190 macro·has·more·than·one·definition,·each·with·a·different·number·of·arguments.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Support·for·overloading·of·macros·was·added·in·Erlang·5.7.5/OTP·R13B04.</p></section><p>A·macro·<code·class="inline">?Func(Arg1,...,ArgN)</code>·with·a·(possibly·empty)·list·of·arguments·results190 macro·has·more·than·one·definition,·each·with·a·different·number·of·arguments.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Support·for·overloading·of·macros·was·added·in·Erlang·5.7.5/OTP·R13B04.</p></section><p>A·macro·<code·class="inline">?Func(Arg1,...,ArgN)</code>·with·a·(possibly·empty)·list·of·arguments·results
191 in·an·error·message·if·there·is·at·least·one·definition·of·<code·class="inline">Func</code>·with191 in·an·error·message·if·there·is·at·least·one·definition·of·<code·class="inline">Func</code>·with
192 arguments,·but·none·with·N·arguments.</p><p>Assuming·these·definitions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="8439378636-1">(</span><span·class="n">F0</span><span·class="p"·data-group-id="8439378636-2">(</span><span·class="p"·data-group-id="8439378636-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">c</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·166c59cc53ffa059466261ea641326bc388b4791e8217e08824e280a739861e2·...·]-1">)</span><span·class="p">.</span><span·class="w">192 arguments,·but·none·with·N·arguments.</p><p>Assuming·these·definitions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="5776684197-1">(</span><span·class="n">F0</span><span·class="p"·data-group-id="5776684197-2">(</span><span·class="p"·data-group-id="5776684197-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">c</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·d4d7e98230e42177ea2fd2cff37e8a12cc23ff135aa50f5020fcd1d4203f8a48·...·]-1">)</span><span·class="p">.</span><span·class="w">
193 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="8439378636-3">(</span><span·class="n">F1</span><span·class="p"·data-group-id="8439378636-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="8439378636-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·512cc9cca62ba4001efc9fe13228204ff44fe0576b1b37be16e96552842b3666·...·]-3">)</span><span·class="p">.</span><span·class="w">193 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="5776684197-3">(</span><span·class="n">F1</span><span·class="p"·data-group-id="5776684197-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="5776684197-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·ede372a86898cded4f755ef8bbc043b47903e6b40d18e6ec1b9c7fbe7ab8f037·...·]-3">)</span><span·class="p">.</span><span·class="w">
194 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="8439378636-5">(</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">m</span><span·class="p">:</span><span·class="ss">f</span><span·class="p"·data-group-id="8439378636-5">)</span><span·class="p">.</span></code></pr[·...·truncated·by·diffoscope;·len:·205,·SHA:·ba1e1591adb4e60a15ebbd75fee295c836c80888064c5a20f607420a99ae761c·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">194 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="5776684197-5">(</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">m</span><span·class="p">:</span><span·class="ss">f</span><span·class="p"·data-group-id="5776684197-5">)</span><span·class="p">.</span></code></pr[·...·truncated·by·diffoscope;·len:·205,·SHA:·be27795cb47db6be772ce130ef6d8f8586d4cf3e3bb74385b00cb158ff09d4d3·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
195 ····</span><span·class="o">?</span><span·class="n">F0</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·No,·an·empty·list·of·arguments·expected.</span><span·class="w">195 ····</span><span·class="o">?</span><span·class="n">F0</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·No,·an·empty·list·of·arguments·expected.</span><span·class="w">
  
196 </span><span·class="nf">f1</span><span·class="p"·data-group-id="2159308006-2">(</span><span·class="n">A</span><span·class="p"·data-group-id="2159308006-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">196 </span><span·class="nf">f1</span><span·class="p"·data-group-id="9886934725-2">(</span><span·class="n">A</span><span·class="p"·data-group-id="9886934725-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
197 ····</span><span·class="o">?</span><span·class="n">F1</span><span·class="p"·data-group-id="2159308006-3">(</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p"·data-group-id="2159308006-3">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·No,·exactly·one·argument·expected.</span></code></pre><p>On·the·other·hand,</p><pre><code·class="text">f()·-&gt;197 ····</span><span·class="o">?</span><span·class="n">F1</span><span·class="p"·data-group-id="9886934725-3">(</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p"·data-group-id="9886934725-3">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·No,·exactly·one·argument·expected.</span></code></pre><p>On·the·other·hand,</p><pre><code·class="text">f()·-&gt;
198 ····?C().</code></pre><p>is·expanded·to</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="4811518766-1">(</span><span·class="p"·data-group-id="4811518766-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">198 ····?C().</code></pre><p>is·expanded·to</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="6953758710-1">(</span><span·class="p"·data-group-id="6953758710-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
199 ····</span><span·class="nc">m</span><span·class="p">:</span><span·class="nf">f</span><span·class="p"·data-group-id="4811518766-2">(</span><span·class="p"·data-group-id="4811518766-2">)</span><span·class="p">.</span></code></pre><h2·id="removing-a-macro-definition"·class="section-heading">199 ····</span><span·class="nc">m</span><span·class="p">:</span><span·class="nf">f</span><span·class="p"·data-group-id="6953758710-2">(</span><span·class="p"·data-group-id="6953758710-2">)</span><span·class="p">.</span></code></pre><h2·id="removing-a-macro-definition"·class="section-heading">
200 ··<a·href="#removing-a-macro-definition"·class="hover-link">200 ··<a·href="#removing-a-macro-definition"·class="hover-link">
201 ····<i·class="ri-link-m"·aria-hidden="true"></i>201 ····<i·class="ri-link-m"·aria-hidden="true"></i>
202 ··</a>202 ··</a>
203 ··<span·class="text">Removing·a·macro·definition</span>203 ··<span·class="text">Removing·a·macro·definition</span>
204 </h2>204 </h2>
205 <p>A·definition·of·macro·can·be·removed·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">undef</span><span·class="p"·data-group-id="3344430868-1">(</span><span·class="n">Macro</span><span·class="p"·data-group-id="3344430868-1">)</span><span·class="p">.</span></code></pre><h2·id="conditional-compilation"·class="section-heading">205 <p>A·definition·of·macro·can·be·removed·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">undef</span><span·class="p"·data-group-id="0773538089-1">(</span><span·class="n">Macro</span><span·class="p"·data-group-id="0773538089-1">)</span><span·class="p">.</span></code></pre><h2·id="conditional-compilation"·class="section-heading">
206 ··<a·href="#conditional-compilation"·class="hover-link">206 ··<a·href="#conditional-compilation"·class="hover-link">
207 ····<i·class="ri-link-m"·aria-hidden="true"></i>207 ····<i·class="ri-link-m"·aria-hidden="true"></i>
208 ··</a>208 ··</a>
209 ··<span·class="text">Conditional·Compilation</span>209 ··<span·class="text">Conditional·Compilation</span>
210 </h2>210 </h2>
211 <p>The·following·macro·directives·support·conditional·compilation:</p><ul><li><p><strong><code·class="inline">-ifdef(Macro).</code></strong>·-·Evaluate·the·following·lines·only·if·<code·class="inline">Macro</code>·is211 <p>The·following·macro·directives·support·conditional·compilation:</p><ul><li><p><strong><code·class="inline">-ifdef(Macro).</code></strong>·-·Evaluate·the·following·lines·only·if·<code·class="inline">Macro</code>·is
212 defined.</p></li><li><p><strong><code·class="inline">-ifndef(Macro).</code></strong>·-·Evaluate·the·following·lines·only·if·<code·class="inline">Macro</code>·is·not212 defined.</p></li><li><p><strong><code·class="inline">-ifndef(Macro).</code></strong>·-·Evaluate·the·following·lines·only·if·<code·class="inline">Macro</code>·is·not
Offset 219, 43 lines modifiedOffset 219, 43 lines modified
219 true,·and·the·<code·class="inline">Condition</code>·evaluates·to·true,·the·lines·following·the·<code·class="inline">elif</code>219 true,·and·the·<code·class="inline">Condition</code>·evaluates·to·true,·the·lines·following·the·<code·class="inline">elif</code>
220 are·evaluated·instead.</p></li><li><p><strong><code·class="inline">-endif.</code></strong>·-·Specifies·the·end·of·a·series·of·control·flow·directives.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Macro·directives·cannot·be·used·inside·functions.</p></section><p>Syntactically,·the·<code·class="inline">Condition</code>·in·<code·class="inline">if</code>·and·<code·class="inline">elif</code>·must·be·a220 are·evaluated·instead.</p></li><li><p><strong><code·class="inline">-endif.</code></strong>·-·Specifies·the·end·of·a·series·of·control·flow·directives.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Macro·directives·cannot·be·used·inside·functions.</p></section><p>Syntactically,·the·<code·class="inline">Condition</code>·in·<code·class="inline">if</code>·and·<code·class="inline">elif</code>·must·be·a
221 <a·href="expressions.html#guard-expressions">guard·expression</a>.·Other·constructs·(such·as221 <a·href="expressions.html#guard-expressions">guard·expression</a>.·Other·constructs·(such·as
222 a·<code·class="inline">case</code>·expression)·result·in·a·compilation·error.</p><p>As·opposed·to·the·standard·guard·expressions,·an·expression·in·an·<code·class="inline">if</code>·and222 a·<code·class="inline">case</code>·expression)·result·in·a·compilation·error.</p><p>As·opposed·to·the·standard·guard·expressions,·an·expression·in·an·<code·class="inline">if</code>·and
223 <code·class="inline">elif</code>·also·supports·calling·the·psuedo-function·<code·class="inline">defined(Name)</code>,·which·tests223 <code·class="inline">elif</code>·also·supports·calling·the·psuedo-function·<code·class="inline">defined(Name)</code>,·which·tests
224 whether·the·<code·class="inline">Name</code>·argument·is·the·name·of·a·previously·defined·macro.224 whether·the·<code·class="inline">Name</code>·argument·is·the·name·of·a·previously·defined·macro.
225 <code·class="inline">defined(Name)</code>·evaluates·to·<code·class="inline">true</code>·if·the·macro·is·defined·and·<code·class="inline">false</code>225 <code·class="inline">defined(Name)</code>·evaluates·to·<code·class="inline">true</code>·if·the·macro·is·defined·and·<code·class="inline">false</code>
226 otherwise.·An·attempt·to·call·other·functions·results·in·a·compilation·error.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2072347314-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="2072347314-1">)</span><span·class="p">.</span><span·class="w">226 otherwise.·An·attempt·to·call·other·functions·results·in·a·compilation·error.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4420174754-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="4420174754-1">)</span><span·class="p">.</span><span·class="w">
227 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">227 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
228 </span><span·class="w">228 </span><span·class="w">
229 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="2072347314-2">(</span><span·class="ss">debug</span><span·class="p"·data-group-id="2072347314-2">)</span><span·class="p">.</span><span·class="w">229 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="4420174754-2">(</span><span·class="ss">debug</span><span·class="p"·data-group-id="4420174754-2">)</span><span·class="p">.</span><span·class="w">
230 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="2072347314-3">(</span><span·class="n">LOG</span><span·class="p"·data-group-id="2072347314-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="2072347314-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">io</span><spa[·...·truncated·by·diffoscope;·len:·739,·SHA:·c82da0319417a6293294ab75a48b65585175dbaca97cff225419e95f48be1859·...·]4-3">)</span><span·class="p">.</span><span·class="w">230 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="4420174754-3">(</span><span·class="n">LOG</span><span·class="p"·data-group-id="4420174754-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="4420174754-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">io</span><spa[·...·truncated·by·diffoscope;·len:·739,·SHA:·28a69f8e13fbfcff98c0f3c826268b432e305fff6c9febcd6117b3f6a631b5d2·...·]4-3">)</span><span·class="p">.</span><span·class="w">
231 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">231 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">
232 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="2072347314-7">(</span><span·class="n">LOG</span><span·class="p"·data-group-id="2072347314-8">(</span><span·class="n">X</span><span·class="p"·data-group-id="2072347314-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><s[·...·truncated·by·diffoscope;·len:·38,·SHA:·5b5a554317c796c145a01652cf7060170e2451b16def0e380e28fbabc379c58e·...·]4-7">)</span><span·class="p">.</span><span·class="w">232 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="4420174754-7">(</span><span·class="n">LOG</span><span·class="p"·data-group-id="4420174754-8">(</span><span·class="n">X</span><span·class="p"·data-group-id="4420174754-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><s[·...·truncated·by·diffoscope;·len:·38,·SHA:·ec7d672a040c665f092cb5201436bced135ce4bad657395d4541a1384520540d·...·]4-7">)</span><span·class="p">.</span><span·class="w">
233 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">233 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">
  
234 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>When·trace·output·is·desired,·<code·class="inline">debug</code>·is·to·be·defined·when·the·module·<code·class="inline">m</code>·is234 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>When·trace·output·is·desired,·<code·class="inline">debug</code>·is·to·be·defined·when·the·module·<code·class="inline">m</code>·is
235 compiled:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erlc·-Ddebug·m.erl</span><span·class="w">235 compiled:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erlc·-Ddebug·m.erl</span><span·class="w">
  
236 </span><span·class="ow">or</span><span·class="w">236 </span><span·class="ow">or</span><span·class="w">
  
237 </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nf">c</span><span·class="p"·data-group-id="2019582340-1">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2019582340-2">{</span><span·class="ss">d</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">debug</span><span·[·...·truncated·by·diffoscope;·len:·88,·SHA:·4d57608a392efe432bde3f1c5c2cdfabf840a9fd4244755db9f822c4d18f7894·...·]-1">)</span><span·class="p">.</span><span·class="w">237 </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nf">c</span><span·class="p"·data-group-id="5169261026-1">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5169261026-2">{</span><span·class="ss">d</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">debug</span><span·[·...·truncated·by·diffoscope;·len:·88,·SHA:·bf8bb64662427852da71a44a4f6c65b874364834868bf7a3dd0c559ecd94c5f2·...·]-1">)</span><span·class="p">.</span><span·class="w">
238 </span><span·class="p"·data-group-id="2019582340-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">m</span><span·class="p"·data-group-id="2019582340-3">}</span></code></pre><p><code·class="inline">?LOG(Arg)</code>·is·then·expanded·to·a·call·to·<a·href="../../lib/stdlib-7.0/doc/html/io.html#format/2"><code·class="inline">io:format/2</code></a>·and·provide·the·user238 </span><span·class="p"·data-group-id="5169261026-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">m</span><span·class="p"·data-group-id="5169261026-3">}</span></code></pre><p><code·class="inline">?LOG(Arg)</code>·is·then·expanded·to·a·call·to·<a·href="../../lib/stdlib-7.0/doc/html/io.html#format/2"><code·class="inline">io:format/2</code></a>·and·provide·the·user
239 with·some·simple·trace·output.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1642209044-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="1642209044-1">)</span><span·class="w">239 with·some·simple·trace·output.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5867447977-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="5867447977-1">)</span><span·class="w">
240 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">240 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
241 </span><span·class="p">-</span><span·class="na">if</span><span·class="p"·data-group-id="1642209044-2">(</span><span·class="o">?</span><span·class="n">OTP_RELEASE</span><span·class="w">·</span><span·class="o">&gt;=</span><span·class="w">·</span><span·class="mi">25</span><span·class="p"·data-group-id="1642209044-2">)</span><span·class="p">.</span><span·class="w">241 </span><span·class="p">-</span><span·class="na">if</span><span·class="p"·data-group-id="5867447977-2">(</span><span·class="o">?</span><span·class="n">OTP_RELEASE</span><span·class="w">·</span><span·class="o">&gt;=</span><span·class="w">·</span><span·class="mi">25</span><span·class="p"·data-group-id="5867447977-2">)</span><span·class="p">.</span><span·class="w">
242 </span><span·class="c1">%%·Code·that·will·work·in·OTP·25·or·higher</span><span·class="w">242 </span><span·class="c1">%%·Code·that·will·work·in·OTP·25·or·higher</span><span·class="w">
243 </span><span·class="p">-</span><span·class="na">elif</span><span·class="p"·data-group-id="1642209044-3">(</span><span·class="o">?</span><span·class="n">OTP_RELEASE</span><span·class="w">·</span><span·class="o">&gt;=</span><span·class="w">·</span><span·class="mi">26</span><span·class="p"·data-group-id="1642209044-3">)</span><span·class="p">.</span><span·class="w">243 </span><span·class="p">-</span><span·class="na">elif</span><span·class="p"·data-group-id="5867447977-3">(</span><span·class="o">?</span><span·class="n">OTP_RELEASE</span><span·class="w">·</span><span·class="o">&gt;=</span><span·class="w">·</span><span·class="mi">26</span><span·class="p"·data-group-id="5867447977-3">)</span><span·class="p">.</span><span·class="w">
244 </span><span·class="c1">%%·Code·that·will·work·in·OTP·26·or·higher</span><span·class="w">244 </span><span·class="c1">%%·Code·that·will·work·in·OTP·26·or·higher</span><span·class="w">
245 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">245 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">
246 </span><span·class="c1">%%·Code·that·will·work·in·OTP·24·or·lower.</span><span·class="w">246 </span><span·class="c1">%%·Code·that·will·work·in·OTP·24·or·lower.</span><span·class="w">
247 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">247 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">
248 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>This·code·uses·the·<code·class="inline">OTP_RELEASE</code>·macro·to·conditionally·select·code·depending·on248 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>This·code·uses·the·<code·class="inline">OTP_RELEASE</code>·macro·to·conditionally·select·code·depending·on
249 release.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3553483818-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="3553483818-1">)</span><span·class="w">249 release.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4247749421-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="4247749421-1">)</span><span·class="w">
250 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">250 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
251 </span><span·class="p">-</span><span·class="na">if</span><span·class="p"·data-group-id="3553483818-2">(</span><span·class="o">?</span><span·class="n">OTP_RELEASE</span><span·class="w">·</span><span·class="o">&gt;=</span><span·class="w">·</span><span·class="mi">26</span><span·class="w">·</span><span·class="ow">andalso</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·212,·SHA:·9291f075a8ec104c5f3c6a7c08b1425e10d295397bee682886a3f4585a213b54·...·]-2">)</span><span·class="p">.</span><span·class="w">251 </span><span·class="p">-</span><span·class="na">if</span><span·class="p"·data-group-id="4247749421-2">(</span><span·class="o">?</span><span·class="n">OTP_RELEASE</span><span·class="w">·</span><span·class="o">&gt;=</span><span·class="w">·</span><span·class="mi">26</span><span·class="w">·</span><span·class="ow">andalso</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·212,·SHA:·53d976bce5e39f5ab7af7212857ae318820f8bd8033d594509f4e701b20f9198·...·]-2">)</span><span·class="p">.</span><span·class="w">
252 </span><span·class="c1">%%·Debugging·code·that·requires·OTP·26·or·later.</span><span·class="w">252 </span><span·class="c1">%%·Debugging·code·that·requires·OTP·26·or·later.</span><span·class="w">
253 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">253 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">
254 </span><span·class="c1">%%·Non-debug·code·that·works·in·any·release.</span><span·class="w">254 </span><span·class="c1">%%·Non-debug·code·that·works·in·any·release.</span><span·class="w">
Max diff block lines reached; 18801/60396 bytes (31.13%) of diff not shown.
736 B
html2text {}
Max HTML report size reached
52.9 KB
./usr/share/doc/erlang-doc/html/doc/system/maps.html
    
Offset 148, 16 lines modifiedOffset 148, 16 lines modified
148 single·function·that·constructs·the·map·using·the·map·syntax·and·always·use148 single·function·that·constructs·the·map·using·the·map·syntax·and·always·use
149 it.</p></li><li><p>Always·update·the·map·using·the·<code·class="inline">:=</code>·operator·(that·is,·requiring·that·an149 it.</p></li><li><p>Always·update·the·map·using·the·<code·class="inline">:=</code>·operator·(that·is,·requiring·that·an
150 element·with·that·key·already·exists).·The·<code·class="inline">:=</code>·operator·is·slightly·more150 element·with·that·key·already·exists).·The·<code·class="inline">:=</code>·operator·is·slightly·more
151 efficient,·and·it·helps·catching·mispellings·of·keys.</p></li><li><p>Whenever·possible,·match·multiple·map·elements·at·once.</p></li><li><p>Whenever·possible,·update·multiple·map·elements·at·once.</p></li><li><p>Avoid·default·values·and·the·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·function.·If·there·are·default151 efficient,·and·it·helps·catching·mispellings·of·keys.</p></li><li><p>Whenever·possible,·match·multiple·map·elements·at·once.</p></li><li><p>Whenever·possible,·update·multiple·map·elements·at·once.</p></li><li><p>Avoid·default·values·and·the·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·function.·If·there·are·default
152 values,·sharing·of·keys·between·different·instances·of·the·map·will·be·less152 values,·sharing·of·keys·between·different·instances·of·the·map·will·be·less
153 effective,·and·it·is·not·possible·to·match·multiple·elements·having·default153 effective,·and·it·is·not·possible·to·match·multiple·elements·having·default
154 values·in·one·go.</p></li><li><p>To·avoid·having·to·deal·with·a·map·that·may·lack·some·keys,·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#merge/2"><code·class="inline">maps:merge/2</code></a>·can154 values·in·one·go.</p></li><li><p>To·avoid·having·to·deal·with·a·map·that·may·lack·some·keys,·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#merge/2"><code·class="inline">maps:merge/2</code></a>·can
155 efficiently·add·multiple·default·values.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">DefaultMap</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4444044607-1">#{</span><span·class="ss">shoe_size</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">editor</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·126,·SHA:·7063ebab9de6435ae5e7f48fc95a9d696c9cb332ec87e17c69dd59957d2f4530·...·]-1">}</span><span·class="p">,</span><span·class="w">155 efficiently·add·multiple·default·values.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">DefaultMap</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8518744006-1">#{</span><span·class="ss">shoe_size</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">editor</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·126,·SHA:·4c207bd2bfbe718613b8e15d1c52fd6f93f8f9b94a20d10889a7fc73dc6214bc·...·]-1">}</span><span·class="p">,</span><span·class="w">
156 </span><span·class="n">MapWithDefaultsApplied</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">merge</span><span·class="p"·data-group-id="4444044607-2">(</span><span·class="n">DefaultMap</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OtherMap</span><span·class="p"·data-group-id="4444044607-2">)</span></code></pre></li></ul><h2·id="using-maps-as-dictionaries"·class="section-heading">156 </span><span·class="n">MapWithDefaultsApplied</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">merge</span><span·class="p"·data-group-id="8518744006-2">(</span><span·class="n">DefaultMap</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OtherMap</span><span·class="p"·data-group-id="8518744006-2">)</span></code></pre></li></ul><h2·id="using-maps-as-dictionaries"·class="section-heading">
157 ··<a·href="#using-maps-as-dictionaries"·class="hover-link">157 ··<a·href="#using-maps-as-dictionaries"·class="hover-link">
158 ····<i·class="ri-link-m"·aria-hidden="true"></i>158 ····<i·class="ri-link-m"·aria-hidden="true"></i>
159 ··</a>159 ··</a>
160 ··<span·class="text">Using·Maps·as·Dictionaries</span>160 ··<span·class="text">Using·Maps·as·Dictionaries</span>
161 </h2>161 </h2>
162 <p>Using·a·map·as·a·dictionary·implies·the·following·usage·pattern:</p><ul><li>Keys·are·usually·variables·not·known·at·compile-time.</li><li>There·can·be·any·number·of·elements·in·the·map.</li><li>Usually,·no·more·than·one·element·is·looked·up·or·updated·at·once.</li></ul><p>Given·that·usage·pattern,·the·difference·in·performance·between·using·the·map162 <p>Using·a·map·as·a·dictionary·implies·the·following·usage·pattern:</p><ul><li>Keys·are·usually·variables·not·known·at·compile-time.</li><li>There·can·be·any·number·of·elements·in·the·map.</li><li>Usually,·no·more·than·one·element·is·looked·up·or·updated·at·once.</li></ul><p>Given·that·usage·pattern,·the·difference·in·performance·between·using·the·map
163 syntax·and·the·maps·module·is·usually·small.·Therefore,·which·one·to·use·is163 syntax·and·the·maps·module·is·usually·small.·Therefore,·which·one·to·use·is
Offset 167, 18 lines modifiedOffset 167, 18 lines modified
167 choice.</li></ul><h2·id="using-maps-as-sets"·class="section-heading">167 choice.</li></ul><h2·id="using-maps-as-sets"·class="section-heading">
168 ··<a·href="#using-maps-as-sets"·class="hover-link">168 ··<a·href="#using-maps-as-sets"·class="hover-link">
169 ····<i·class="ri-link-m"·aria-hidden="true"></i>169 ····<i·class="ri-link-m"·aria-hidden="true"></i>
170 ··</a>170 ··</a>
171 ··<span·class="text">Using·Maps·as·Sets</span>171 ··<span·class="text">Using·Maps·as·Sets</span>
172 </h2>172 </h2>
173 <p>Starting·in·OTP·24,·the·<a·href="../../lib/stdlib-7.0/doc/html/sets.html"><code·class="inline">sets</code></a>·module·has·an·option·to·represent·sets·as·maps.173 <p>Starting·in·OTP·24,·the·<a·href="../../lib/stdlib-7.0/doc/html/sets.html"><code·class="inline">sets</code></a>·module·has·an·option·to·represent·sets·as·maps.
174 Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="7857868256-1">(</span><span·class="p"·data-group-id="7857868256-2">[</span><span·class="p"·data-group-id="7857868256-3">{</span><span·class="ss">version</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7857868256-3">}</[·...·truncated·by·diffoscope;·len:·99,·SHA:·d65e007064c738cb2275f0bb0080feea476d9d0e002d34108738cf4a3748ccae·...·]-1">)</span><span·class="p">.</span><span·class="w">174 Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="8896945621-1">(</span><span·class="p"·data-group-id="8896945621-2">[</span><span·class="p"·data-group-id="8896945621-3">{</span><span·class="ss">version</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="8896945621-3">}</[·...·truncated·by·diffoscope;·len:·99,·SHA:·c98e15a16d511696f0176f6cd1676cf6c83f88ebf6e31f6c2d89299e73f5a54a·...·]-1">)</span><span·class="p">.</span><span·class="w">
175 </span><span·class="p"·data-group-id="7857868256-4">#{</span><span·class="p"·data-group-id="7857868256-4">}</span><span·class="gp·unselectable">175 </span><span·class="p"·data-group-id="8896945621-4">#{</span><span·class="p"·data-group-id="8896945621-4">}</span><span·class="gp·unselectable">
176 2&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="7857868256-5">(</span><span·class="p"·data-group-id="7857868256-6">[</span><span·class="ss">x</span><span·class="p">,</span><span·class="ss">y</span><span·class="p">,</span><span·class="ss">z</span><span·class="p"·data-group-id="7857868256-6">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7857868256-7">[</span><span·class="p"·data-group-id="7857868256-8">{</span><span·class="ss">version</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7857868256-8">}</span><span·class="p"·data-group-id="7857868256-7">]</span><span·class="p"·data-group-id="7857868256-5">)</span><span·class="p">.</span><span·class="w"> 
177 </span><span·class="p"·data-group-id="7857868256-9">#{</span><span·class="ss">x</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7857868256-10">[</span><span·class="p"·data-group-id="785786825[·...·truncated·by·diffoscope;·len:·655,·SHA:·48ca5ec11a5f9e347c37bb7ca57a9db12443fc937419eac9bad4abee5a31de67·...·]176 2&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="8896945621-5">(</span><span·class="p"·data-group-id="8896945621-6">[</span><span·class="ss">x</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·557,·SHA:·be498c8d9d13cd68c9fb59a9097f99f4f1413465b64eb08e3d45760941458013·...·]
 177 </span><span·class="p"·data-group-id="8896945621-9">#{</span><span·class="ss">x</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8896945621-10">[</span><span·class="p"·data-group-id="8896945621-10">]</span><span·class="p">,</span><span·class="ss">y</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8896945621-11">[</span><span·class="p"·data-group-id="8896945621-11">]</span><span·class="p">,</span><span·class="ss">z</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8896945621-12">[</span><span·class="p"·data-group-id="8896945621-12">]</span><span·class="p"·data-group-id="8896945621-9">}</span></code></pre><p><code·class="inline">sets</code>·backed·by·maps·is·generally·the·most·efficient·set·representation,·with·a
178 few·possible·exceptions:</p><ul><li><a·href="../../lib/stdlib-7.0/doc/html/ordsets.html#intersection/2"><code·class="inline">ordsets:intersection/2</code></a>·can·be·more·efficient·than·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#intersection/2"><code·class="inline">sets:intersection/2</code></a>.·If178 few·possible·exceptions:</p><ul><li><a·href="../../lib/stdlib-7.0/doc/html/ordsets.html#intersection/2"><code·class="inline">ordsets:intersection/2</code></a>·can·be·more·efficient·than·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#intersection/2"><code·class="inline">sets:intersection/2</code></a>.·If
179 the·intersection·operation·is·frequently·used·and·operations·that·operate·on·a179 the·intersection·operation·is·frequently·used·and·operations·that·operate·on·a
180 single·element·in·a·set·(such·as·<code·class="inline">is_element/2</code>)·are·avoided,·<a·href="../../lib/stdlib-7.0/doc/html/ordsets.html"><code·class="inline">ordsets</code></a>·can180 single·element·in·a·set·(such·as·<code·class="inline">is_element/2</code>)·are·avoided,·<a·href="../../lib/stdlib-7.0/doc/html/ordsets.html"><code·class="inline">ordsets</code></a>·can
181 be·a·better·choice·than·<a·href="../../lib/stdlib-7.0/doc/html/sets.html"><code·class="inline">sets</code></a>.</li><li>If·the·intersection·operation·is·frequently·used·and·operations·that·operate181 be·a·better·choice·than·<a·href="../../lib/stdlib-7.0/doc/html/sets.html"><code·class="inline">sets</code></a>.</li><li>If·the·intersection·operation·is·frequently·used·and·operations·that·operate
182 on·a·single·element·in·a·set·(such·as·<code·class="inline">is_element/2</code>)·must·also·be·efficient,182 on·a·single·element·in·a·set·(such·as·<code·class="inline">is_element/2</code>)·must·also·be·efficient,
183 <a·href="../../lib/stdlib-7.0/doc/html/gb_sets.html"><code·class="inline">gb_sets</code></a>·can·potentially·be·a·better·choice·than·<a·href="../../lib/stdlib-7.0/doc/html/sets.html"><code·class="inline">sets</code></a>.</li><li>If·the·elements·of·the·set·are·integers·in·a·fairly·compact·range,·the·set·can183 <a·href="../../lib/stdlib-7.0/doc/html/gb_sets.html"><code·class="inline">gb_sets</code></a>·can·potentially·be·a·better·choice·than·<a·href="../../lib/stdlib-7.0/doc/html/sets.html"><code·class="inline">sets</code></a>.</li><li>If·the·elements·of·the·set·are·integers·in·a·fairly·compact·range,·the·set·can
184 be·represented·as·an·integer·where·each·bit·represents·an·element·in·the·set.184 be·represented·as·an·integer·where·each·bit·represents·an·element·in·the·set.
Offset 203, 18 lines modifiedOffset 203, 18 lines modified
203 for·the·runtime·system).</p></li><li><p><strong>N</strong>·-·The·number·of·elements·in·the·map.</p></li><li><p><strong>Keys</strong>·-·A·tuple·with·keys·of·the·map:·<code·class="inline">{Key1,...,KeyN}</code>.·The·keys·are203 for·the·runtime·system).</p></li><li><p><strong>N</strong>·-·The·number·of·elements·in·the·map.</p></li><li><p><strong>Keys</strong>·-·A·tuple·with·keys·of·the·map:·<code·class="inline">{Key1,...,KeyN}</code>.·The·keys·are
204 sorted.</p></li><li><p><strong>Value1</strong>·-·The·value·corresponding·to·the·first·key·in·the·key·tuple.</p></li><li><p><strong>ValueN</strong>·-·The·value·corresponding·to·the·last·key·in·the·key·tuple.</p></li></ul><p>As·an·example,·let·us·look·at·how·the·map·<code·class="inline">#{a·=&gt;·foo,·z·=&gt;·bar}</code>·is204 sorted.</p></li><li><p><strong>Value1</strong>·-·The·value·corresponding·to·the·first·key·in·the·key·tuple.</p></li><li><p><strong>ValueN</strong>·-·The·value·corresponding·to·the·last·key·in·the·key·tuple.</p></li></ul><p>As·an·example,·let·us·look·at·how·the·map·<code·class="inline">#{a·=&gt;·foo,·z·=&gt;·bar}</code>·is
205 represented:</p><table><thead><tr><th·style="text-align:·center;">0</th><th·style="text-align:·left;">1</th><th·style="text-align:·center;">2</th><th·style="text-align:·center;">3</th><th·style="text-align:·left;">4</th></tr></thead><tbody><tr><td·style="text-align:·center;"><strong>FLATMAP</strong></td><td·style="text-align:·left;">2</td><td·style="text-align:·center;"><code·class="inline">{a,z}</code></td><td·style="text-align:·center;"><code·class="inline">foo</code></td><td·style="text-align:·left;"><code·class="inline">bar</code></td></tr></tbody></table><p><em>Table:·#{a·=&gt;·foo,·z·=&gt;·bar}</em></p><p>Let·us·update·the·map:·<code·class="inline">M#{q·=&gt;·baz}</code>.·The·map·now·looks·like·this:</p><table><thead><tr><th·style="text-align:·center;">0</th><th·style="text-align:·left;">1</th><th·style="text-align:·center;">2</th><th·style="text-align:·center;">3</th><th·style="text-align:·center;">4</th><th·style="text-align:·center;">5</th></tr></thead><tbody><tr><td·style="text-align:·center;"><strong>FLATMAP</strong></td><td·style="text-align:·left;">3</td><td·style="text-align:·center;"><code·class="inline">{a,q,z}</code></td><td·style="text-align:·center;"><code·class="inline">foo</code></td><td·style="text-align:·center;"><code·class="inline">baz</code></td><td·style="text-align:·center;"><code·class="inline">bar</code></td></tr></tbody></table><p><em>Table:·#{a·=&gt;·foo,·q·=&gt;·baz,·z·=&gt;·bar}</em></p><p>Finally,·change·the·value·of·one·element:·<code·class="inline">M#{z·:=·bird}</code>.·The·map·now·looks205 represented:</p><table><thead><tr><th·style="text-align:·center;">0</th><th·style="text-align:·left;">1</th><th·style="text-align:·center;">2</th><th·style="text-align:·center;">3</th><th·style="text-align:·left;">4</th></tr></thead><tbody><tr><td·style="text-align:·center;"><strong>FLATMAP</strong></td><td·style="text-align:·left;">2</td><td·style="text-align:·center;"><code·class="inline">{a,z}</code></td><td·style="text-align:·center;"><code·class="inline">foo</code></td><td·style="text-align:·left;"><code·class="inline">bar</code></td></tr></tbody></table><p><em>Table:·#{a·=&gt;·foo,·z·=&gt;·bar}</em></p><p>Let·us·update·the·map:·<code·class="inline">M#{q·=&gt;·baz}</code>.·The·map·now·looks·like·this:</p><table><thead><tr><th·style="text-align:·center;">0</th><th·style="text-align:·left;">1</th><th·style="text-align:·center;">2</th><th·style="text-align:·center;">3</th><th·style="text-align:·center;">4</th><th·style="text-align:·center;">5</th></tr></thead><tbody><tr><td·style="text-align:·center;"><strong>FLATMAP</strong></td><td·style="text-align:·left;">3</td><td·style="text-align:·center;"><code·class="inline">{a,q,z}</code></td><td·style="text-align:·center;"><code·class="inline">foo</code></td><td·style="text-align:·center;"><code·class="inline">baz</code></td><td·style="text-align:·center;"><code·class="inline">bar</code></td></tr></tbody></table><p><em>Table:·#{a·=&gt;·foo,·q·=&gt;·baz,·z·=&gt;·bar}</em></p><p>Finally,·change·the·value·of·one·element:·<code·class="inline">M#{z·:=·bird}</code>.·The·map·now·looks
206 like·this:</p><table><thead><tr><th·style="text-align:·center;">0</th><th·style="text-align:·left;">1</th><th·style="text-align:·center;">2</th><th·style="text-align:·center;">3</th><th·style="text-align:·center;">4</th><th·style="text-align:·center;">5</th></tr></thead><tbody><tr><td·style="text-align:·center;"><strong>FLATMAP</strong></td><td·style="text-align:·left;">3</td><td·style="text-align:·center;"><code·class="inline">{a,q,z}</code></td><td·style="text-align:·center;"><code·class="inline">foo</code></td><td·style="text-align:·center;"><code·class="inline">baz</code></td><td·style="text-align:·center;"><code·class="inline">bird</code></td></tr></tbody></table><p><em>Table:·#{a·=&gt;·foo,·q·=&gt;·baz,·z·=&gt;·bird}</em></p><p>When·the·value·for·an·existing·key·is·updated,·the·key·tuple·is·not·updated,206 like·this:</p><table><thead><tr><th·style="text-align:·center;">0</th><th·style="text-align:·left;">1</th><th·style="text-align:·center;">2</th><th·style="text-align:·center;">3</th><th·style="text-align:·center;">4</th><th·style="text-align:·center;">5</th></tr></thead><tbody><tr><td·style="text-align:·center;"><strong>FLATMAP</strong></td><td·style="text-align:·left;">3</td><td·style="text-align:·center;"><code·class="inline">{a,q,z}</code></td><td·style="text-align:·center;"><code·class="inline">foo</code></td><td·style="text-align:·center;"><code·class="inline">baz</code></td><td·style="text-align:·center;"><code·class="inline">bird</code></td></tr></tbody></table><p><em>Table:·#{a·=&gt;·foo,·q·=&gt;·baz,·z·=&gt;·bird}</em></p><p>When·the·value·for·an·existing·key·is·updated,·the·key·tuple·is·not·updated,
207 allowing·the·key·tuple·to·be·shared·with·other·instances·of·the·map·that·have207 allowing·the·key·tuple·to·be·shared·with·other·instances·of·the·map·that·have
208 the·same·keys.·In·fact,·the·key·tuple·can·be·shared·between·all·maps·with·the208 the·same·keys.·In·fact,·the·key·tuple·can·be·shared·between·all·maps·with·the
209 same·keys·with·some·care.·To·arrange·that,·define·a·function·that·returns·a·map.209 same·keys·with·some·care.·To·arrange·that,·define·a·function·that·returns·a·map.
210 For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">new</span><span·class="p"·data-group-id="7404233820-1">(</span><span·class="p"·data-group-id="7404233820-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">210 For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">new</span><span·class="p"·data-group-id="1088091095-1">(</span><span·class="p"·data-group-id="1088091095-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
211 ····</span><span·class="p"·data-group-id="7404233820-2">#{</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·300,·SHA:·7c31581f99e34e3db414e37b1ff3fd0c71fa8b4429715336921a70718d43095e·...·]-2">}</span><span·class="p">.</span></code></pre><p>Defined·like·this,·the·key·tuple·<code·class="inline">{a,b,c}</code>·will·be·a·global·literal.·To·ensure211 ····</span><span·class="p"·data-group-id="1088091095-2">#{</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·300,·SHA:·9d970b031e54a4f3c6b0a55195be2f3cdd4e830aea2c37267263c4e585588c67·...·]-2">}</span><span·class="p">.</span></code></pre><p>Defined·like·this,·the·key·tuple·<code·class="inline">{a,b,c}</code>·will·be·a·global·literal.·To·ensure
212 that·the·key·tuple·is·shared·when·creating·an·instance·of·the·map,·always·call212 that·the·key·tuple·is·shared·when·creating·an·instance·of·the·map,·always·call
213 <code·class="inline">new()</code>·and·modify·the·returned·map:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="p"·data-group-id="0703140087-1">(</span><span·class="n">SOME_MODULE</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="0703140087-2">(</span><span·class="p"·data-group-id="0703140087-2">)</span><span·class="p"·data-group-id="0703140087-1[·...·truncated·by·diffoscope;·len:·229,·SHA:·281a965682bd83c3c51ec5212d8cd015300a6897121a29baca1ab460365ce94e·...·]-3">}</span><span·class="p">.</span></code></pre><p>Using·the·map·syntax·with·small·maps·is·particularly·efficient.·As·long·as·the213 <code·class="inline">new()</code>·and·modify·the·returned·map:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="p"·data-group-id="3302755175-1">(</span><span·class="n">SOME_MODULE</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="3302755175-2">(</span><span·class="p"·data-group-id="3302755175-2">)</span><span·class="p"·data-group-id="3302755175-1[·...·truncated·by·diffoscope;·len:·229,·SHA:·272599210a9edec788f96f124281877a190b29fa06942232130e08cd4d5d988e·...·]-3">}</span><span·class="p">.</span></code></pre><p>Using·the·map·syntax·with·small·maps·is·particularly·efficient.·As·long·as·the
214 keys·are·known·at·compile-time,·the·map·is·updated·in·one·go,·making·the·time·to214 keys·are·known·at·compile-time,·the·map·is·updated·in·one·go,·making·the·time·to
215 update·a·map·essentially·constant·regardless·of·the·number·of·keys·updated.·The215 update·a·map·essentially·constant·regardless·of·the·number·of·keys·updated.·The
216 same·goes·for·matching.·(When·the·keys·are·variables,·one·or·more·of·the·keys216 same·goes·for·matching.·(When·the·keys·are·variables,·one·or·more·of·the·keys
217 could·be·identical,·so·the·operations·need·to·be·performed·sequentially·from217 could·be·identical,·so·the·operations·need·to·be·performed·sequentially·from
218 left·to·right.)</p><p>The·memory·size·for·a·small·map·is·the·size·of·all·keys·and·values·plus·5·words.218 left·to·right.)</p><p>The·memory·size·for·a·small·map·is·the·size·of·all·keys·and·values·plus·5·words.
219 See·<a·href="memory.html">Memory</a>·for·more·information·about·memory·sizes.</p><h3·id="how-large-maps-are-implemented"·class="section-heading">219 See·<a·href="memory.html">Memory</a>·for·more·information·about·memory·sizes.</p><h3·id="how-large-maps-are-implemented"·class="section-heading">
220 ··<a·href="#how-large-maps-are-implemented"·class="hover-link">220 ··<a·href="#how-large-maps-are-implemented"·class="hover-link">
Offset 241, 21 lines modifiedOffset 241, 21 lines modified
241 ··<a·href="#using-the-map-syntax"·class="hover-link">241 ··<a·href="#using-the-map-syntax"·class="hover-link">
242 ····<i·class="ri-link-m"·aria-hidden="true"></i>242 ····<i·class="ri-link-m"·aria-hidden="true"></i>
243 ··</a>243 ··</a>
244 ··<span·class="text">Using·the·Map·Syntax</span>244 ··<span·class="text">Using·the·Map·Syntax</span>
245 </h2>245 </h2>
246 <p>Using·the·map·syntax·is·usually·slightly·more·efficient·than·using·the246 <p>Using·the·map·syntax·is·usually·slightly·more·efficient·than·using·the
247 corresponding·function·in·the·<a·href="../../lib/stdlib-7.0/doc/html/maps.html"><code·class="inline">maps</code></a>·module.</p><p>The·gain·in·efficiency·for·the·map·syntax·is·more·noticeable·for·the·following247 corresponding·function·in·the·<a·href="../../lib/stdlib-7.0/doc/html/maps.html"><code·class="inline">maps</code></a>·module.</p><p>The·gain·in·efficiency·for·the·map·syntax·is·more·noticeable·for·the·following
248 operations·that·can·only·be·achieved·using·the·map·syntax:</p><ul><li>Matching·multiple·literal·keys</li><li>Updating·multiple·literal·keys</li><li>Adding·multiple·literal·keys·to·a·map</li></ul><p>For·example:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Map</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="5784723390-1">#{</span><span·class="ss">x</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">y</span><span·class="w">·</span><span·class="p[·...·truncated·by·diffoscope;·len:·820,·SHA:·d72f27e559552861d134785d0d14894f6576368ce75ca38cc11103d1d163851f·...·]-1">)</span><span·class="p">,</span><span·class="w">248 operations·that·can·only·be·achieved·using·the·map·syntax:</p><ul><li>Matching·multiple·literal·keys</li><li>Updating·multiple·literal·keys</li><li>Adding·multiple·literal·keys·to·a·map</li></ul><p>For·example:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Map</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="2021160157-1">#{</span><span·class="ss">x</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">y</span><span·class="w">·</span><span·class="p[·...·truncated·by·diffoscope;·len:·820,·SHA:·fb3ee1e71321cf149e9b2b8392df9caeab367b95c98b9e404623e446c846a6d1·...·]-1">)</span><span·class="p">,</span><span·class="w">
249 </span><span·class="n">Map3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">update</span><span·class="p"·data-group-id="9639941459-2">(</span><span·class="ss">y</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map2</span><span·class="p"·data-group-id="9639941459-2">)</span><span·class="p">,</span><span·class="w">249 </span><span·class="n">Map3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">update</span><span·class="p"·data-group-id="9931272964-2">(</span><span·class="ss">y</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map2</span><span·class="p"·data-group-id="9931272964-2">)</span><span·class="p">,</span><span·class="w">
250 </span><span·class="n">Map</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">update</span><span·class="p"·data-group-id="9639941459-3">(</span><span·class="ss">z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map3</span><span·class="p"·data-group-id="9639941459-3">)</span></code></pre><p>If·the·map·is·a·small·map,·the·first·example·runs·roughly·three·times·as·fast.</p><p>Note·that·for·variable·keys,·the·elements·are·updated·sequentially·from·left·to250 </span><span·class="n">Map</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">update</span><span·class="p"·data-group-id="9931272964-3">(</span><span·class="ss">z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map3</span><span·class="p"·data-group-id="9931272964-3">)</span></code></pre><p>If·the·map·is·a·small·map,·the·first·example·runs·roughly·three·times·as·fast.</p><p>Note·that·for·variable·keys,·the·elements·are·updated·sequentially·from·left·to
251 right.·For·example,·given·the·following·update·with·variable·keys:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Map</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="1352305788-1">#{</span><span·class="n">Key1</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key2</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·276,·SHA:·4524154bd6c10a58abbde2335b4a975c52638787bfc7f7c2728d07d6f3bac5e2·...·]-1">}</span></code></pre><p>the·compiler·rewrites·it·like·this·to·ensure·that·the·updates·are·applied·from251 right.·For·example,·given·the·following·update·with·variable·keys:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Map</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="0744345923-1">#{</span><span·class="n">Key1</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key2</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·276,·SHA:·8808916e611d9f2b85cd2b5bc038f96ef154ef641070f240fa0ecd0f7080a63d·...·]-1">}</span></code></pre><p>the·compiler·rewrites·it·like·this·to·ensure·that·the·updates·are·applied·from
252 left·to·right:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Map2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="6725788441-1">#{</span><span·class="n">Key1</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="6725788441-1">}</span><span·class="p">,</span><span·class="w">252 left·to·right:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Map2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="0026022915-1">#{</span><span·class="n">Key1</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="0026022915-1">}</span><span·class="p">,</span><span·class="w">
253 </span><span·class="n">Map3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Map2</span><span·class="p"·data-group-id="6725788441-2">#{</span><span·class="n">Key2</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="6725788441-2">}</span><span·class="p">,</span><span·class="w">253 </span><span·class="n">Map3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Map2</span><span·class="p"·data-group-id="0026022915-2">#{</span><span·class="n">Key2</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="0026022915-2">}</span><span·class="p">,</span><span·class="w">
254 </span><span·class="n">Map</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Map3</span><span·class="p"·data-group-id="6725788441-3">#{</span><span·class="n">Key3</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Z</span><span·class="p"·data-group-id="6725788441-3">}</span></code></pre><p>If·a·key·is·known·to·exist·in·a·map,·using·the·<code·class="inline">:=</code>·operator·is·slightly·more254 </span><span·class="n">Map</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Map3</span><span·class="p"·data-group-id="0026022915-3">#{</span><span·class="n">Key3</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Z</span><span·class="p"·data-group-id="0026022915-3">}</span></code></pre><p>If·a·key·is·known·to·exist·in·a·map,·using·the·<code·class="inline">:=</code>·operator·is·slightly·more
255 efficient·than·using·the·<code·class="inline">=&gt;</code>·operator·for·a·small·map.</p><h2·id="using-the-functions-in-the-maps-module"·class="section-heading">255 efficient·than·using·the·<code·class="inline">=&gt;</code>·operator·for·a·small·map.</p><h2·id="using-the-functions-in-the-maps-module"·class="section-heading">
256 ··<a·href="#using-the-functions-in-the-maps-module"·class="hover-link">256 ··<a·href="#using-the-functions-in-the-maps-module"·class="hover-link">
257 ····<i·class="ri-link-m"·aria-hidden="true"></i>257 ····<i·class="ri-link-m"·aria-hidden="true"></i>
258 ··</a>258 ··</a>
259 ··<span·class="text">Using·the·Functions·in·the·maps·Module</span>259 ··<span·class="text">Using·the·Functions·in·the·maps·Module</span>
260 </h2>260 </h2>
261 <p>Here·follows·some·notes·about·most·of·the·functions·in·the·<code·class="inline">maps</code>·module.·For261 <p>Here·follows·some·notes·about·most·of·the·functions·in·the·<code·class="inline">maps</code>·module.·For
Offset 306, 23 lines modifiedOffset 306, 23 lines modified
306 ··<a·href="#maps-get-3"·class="hover-link">306 ··<a·href="#maps-get-3"·class="hover-link">
307 ····<i·class="ri-link-m"·aria-hidden="true"></i>307 ····<i·class="ri-link-m"·aria-hidden="true"></i>
308 ··</a>308 ··</a>
309 ··<span·class="text">maps:get/3</span>309 ··<span·class="text">maps:get/3</span>
310 </h3>310 </h3>
311 <p>As·an·optimization,·the·compiler·will·rewrite·a·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·to·Erlang311 <p>As·an·optimization,·the·compiler·will·rewrite·a·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·to·Erlang
312 code·similar·to·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Result</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Map</span><span·class="w">·</span><span·class="k">of</span><span·class="w">312 code·similar·to·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Result</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Map</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
313 ·············</span><span·class="p"·data-group-id="3170312881-1">#{</span><span·class="n">Key</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Value</span><span·class="p"·data-group-id="3170312881-1">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Value</span><span·class="p">;</span><span·class="w">313 ·············</span><span·class="p"·data-group-id="0148691949-1">#{</span><span·class="n">Key</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Value</span><span·class="p"·data-group-id="0148691949-1">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Value</span><span·class="p">;</span><span·class="w">
314 ·············</span><span·class="p"·data-group-id="3170312881-2">#{</span><span·class="p"·data-group-id="3170312881-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Default</span><span·class="w">314 ·············</span><span·class="p"·data-group-id="0148691949-2">#{</span><span·class="p"·data-group-id="0148691949-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Default</span><span·class="w">
315 ·········</span><span·class="k">end</span></code></pre><p>This·is·reasonably·efficient,·but·if·a·small·map·is·used·as·an·alternative·to315 ·········</span><span·class="k">end</span></code></pre><p>This·is·reasonably·efficient,·but·if·a·small·map·is·used·as·an·alternative·to
316 using·a·record·it·is·often·better·not·to·rely·on·default·values·as·it·prevents316 using·a·record·it·is·often·better·not·to·rely·on·default·values·as·it·prevents
317 sharing·of·keys,·which·may·in·the·end·use·more·memory·than·what·you·save·from317 sharing·of·keys,·which·may·in·the·end·use·more·memory·than·what·you·save·from
318 not·storing·default·values·in·the·map.</p><p>If·default·values·are·nevertheless·required,·instead·of·calling·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>318 not·storing·default·values·in·the·map.</p><p>If·default·values·are·nevertheless·required,·instead·of·calling·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>
319 multiple·times,·consider·putting·the·default·values·in·a·map·and·merging·that319 multiple·times,·consider·putting·the·default·values·in·a·map·and·merging·that
320 map·with·the·other·map:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">DefaultMap</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5352879719-1">#{</span><span·class="n">Key1</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Value2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key2</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·419,·SHA:·7708df62f2b2600062a510533d7c344fb57575c5249f550d940e4ae0469ac65c·...·]-1">}</span><span·class="p">,</span><span·class="w">320 map·with·the·other·map:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">DefaultMap</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5980213551-1">#{</span><span·class="n">Key1</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Value2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key2</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·419,·SHA:·e3404d24ea5cd66e932b84ed994271fa45d960d0b7a66e7ab293aa73ac146b6d·...·]-1">}</span><span·class="p">,</span><span·class="w">
321 </span><span·class="n">MapWithDefaultsApplied</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">merge</span><span·class="p"·data-group-id="5352879719-2">(</span><span·class="n">DefaultMap</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OtherMap</span><span·class="p"·data-group-id="5352879719-2">)</span></code></pre><p>This·helps·share·keys·between·the·default·map·and·the·one·you·applied·defaults321 </span><span·class="n">MapWithDefaultsApplied</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">merge</span><span·class="p"·data-group-id="5980213551-2">(</span><span·class="n">DefaultMap</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OtherMap</span><span·class="p"·data-group-id="5980213551-2">)</span></code></pre><p>This·helps·share·keys·between·the·default·map·and·the·one·you·applied·defaults
322 to,·as·long·as·the·default·map·contains·<em>all</em>·the·keys·that·will·ever·be·used322 to,·as·long·as·the·default·map·contains·<em>all</em>·the·keys·that·will·ever·be·used
323 and·not·just·the·ones·with·default·values.·Whether·this·is·faster·than·calling323 and·not·just·the·ones·with·default·values.·Whether·this·is·faster·than·calling
324 <a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·multiple·times·depends·on·the·size·of·the·map·and·the·number·of324 <a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·multiple·times·depends·on·the·size·of·the·map·and·the·number·of
325 default·values.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Before·OTP·26.0·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·was·implemented·by·calling·the·function·instead325 default·values.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Before·OTP·26.0·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#get/3"><code·class="inline">maps:get/3</code></a>·was·implemented·by·calling·the·function·instead
326 of·rewriting·it·as·an·Erlang·expression.·It·is·now·slightly·faster·but·can·no326 of·rewriting·it·as·an·Erlang·expression.·It·is·now·slightly·faster·but·can·no
327 longer·be·traced.</p></section><h3·id="maps-intersect-2-maps-intersect_with-3"·class="section-heading">327 longer·be·traced.</p></section><h3·id="maps-intersect-2-maps-intersect_with-3"·class="section-heading">
328 ··<a·href="#maps-intersect-2-maps-intersect_with-3"·class="hover-link">328 ··<a·href="#maps-intersect-2-maps-intersect_with-3"·class="hover-link">
Offset 410, 29 lines modifiedOffset 410, 29 lines modified
410 ··<a·href="#maps-put-3"·class="hover-link">410 ··<a·href="#maps-put-3"·class="hover-link">
411 ····<i·class="ri-link-m"·aria-hidden="true"></i>411 ····<i·class="ri-link-m"·aria-hidden="true"></i>
412 ··</a>412 ··</a>
413 ··<span·class="text">maps:put/3</span>413 ··<span·class="text">maps:put/3</span>
414 </h3>414 </h3>
415 <p><a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·is·implemented·in·C.</p><p>If·the·key·is·known·to·already·exist·in·the·map,·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#update/3"><code·class="inline">maps:update/3</code></a>·is·slightly415 <p><a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·is·implemented·in·C.</p><p>If·the·key·is·known·to·already·exist·in·the·map,·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#update/3"><code·class="inline">maps:update/3</code></a>·is·slightly
416 more·efficient·than·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>.</p><p>If·the·compiler·can·determine·that·the·third·argument·is·always·a·map,·it416 more·efficient·than·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>.</p><p>If·the·compiler·can·determine·that·the·third·argument·is·always·a·map,·it
417 will·rewrite·the·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·to·use·the·map·syntax·for·updating·the·map.</p><p>For·example,·consider·the·following·function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_known_map</span><span·class="p"·data-group-id="4606687281-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·288,·SHA:·aa8400fcfb5bbfc0b6dab91daa88d013c3cca490b091912d35d934befad212fd·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">417 will·rewrite·the·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·to·use·the·map·syntax·for·updating·the·map.</p><p>For·example,·consider·the·following·function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_known_map</span><span·class="p"·data-group-id="9686119663-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·288,·SHA:·5502c2078d41fb90da5a80138b4042e37ccff18a577a41986a7c892925e9d1ac·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
418 ····</span><span·class="n">Map1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="4606687281-3">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map0</span><span·class="p"·data-group-id="4606687281-3">)</span><span·class="p">,</span><span·class="w">418 ····</span><span·class="n">Map1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="9686119663-3">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map0</span><span·class="p"·data-group-id="9686119663-3">)</span><span·class="p">,</span><span·class="w">
419 ····</span><span·class="n">Map2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="4606687281-4">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="4606687281-4">)</span><span·class="p">,</span><span·class="w">419 ····</span><span·class="n">Map2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="9686119663-4">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="9686119663-4">)</span><span·class="p">,</span><span·class="w">
420 ····</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="4606687281-5">(</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map2</span><span·class="p"·data-group-id="4606687281-5">)</span><span·class="p">.</span></code></pre><p>The·compiler·first·rewrites·each·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·to·use·the·map420 ····</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="9686119663-5">(</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map2</span><span·class="p"·data-group-id="9686119663-5">)</span><span·class="p">.</span></code></pre><p>The·compiler·first·rewrites·each·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·to·use·the·map
421 syntax,·and·subsequently·combines·the·three·update·operations·to·a421 syntax,·and·subsequently·combines·the·three·update·operations·to·a
422 single·update·operation:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_known_map</span><span·class="p"·data-group-id="6293719407-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·288,·SHA:·e0fbbbc8ed15c8968b3b79e51ef94cbce8c8e103297bac35535b885ada65833c·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">422 single·update·operation:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_known_map</span><span·class="p"·data-group-id="0132263690-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·288,·SHA:·04d0f0d2d952e86e121ca0c13455434a468ad5f0ef0b2b67175b23cd9f9bd1e4·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
423 ····</span><span·class="n">Map0</span><span·class="p"·data-group-id="6293719407-3">#{</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·279,·SHA:·38a2db8f3182e01a2fb281fe272f41e1096123af0a239c7ea1f2a6cb7ba23eb8·...·]-3">}</span><span·class="p">.</span></code></pre><p>If·the·compiler·cannot·determine·that·the·third·argument·is·always·a423 ····</span><span·class="n">Map0</span><span·class="p"·data-group-id="0132263690-3">#{</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·279,·SHA:·1c5801b4f58a20fbb4001362de3cfc67f421b4225cab0c524787f2aa7d8dc82a·...·]-3">}</span><span·class="p">.</span></code></pre><p>If·the·compiler·cannot·determine·that·the·third·argument·is·always·a
424 map,·it·retains·the·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·call.·For·example,·given·this424 map,·it·retains·the·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·call.·For·example,·given·this
425 function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_map</span><span·class="p"·data-group-id="9411898875-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·50,·SHA:·d128b0e8481e082cbcafa47f07448b141101e351944d9baee8eecede5c324626·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">425 function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_map</span><span·class="p"·data-group-id="1539370441-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·50,·SHA:·4cc4ec90aa2382dc7eaf21afe8727b70ba1b0cfb83d3ca773e5944c85a6f36a5·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
426 ····</span><span·class="n">Map1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="9411898875-2">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map0</span><span·class="p"·data-group-id="9411898875-2">)</span><span·class="p">,</span><span·class="w">426 ····</span><span·class="n">Map1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="1539370441-2">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map0</span><span·class="p"·data-group-id="1539370441-2">)</span><span·class="p">,</span><span·class="w">
427 ····</span><span·class="n">Map2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="9411898875-3">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="9411898875-3">)</span><span·class="p">,</span><span·class="w">427 ····</span><span·class="n">Map2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="1539370441-3">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map1</span><span·class="p"·data-group-id="1539370441-3">)</span><span·class="p">,</span><span·class="w">
428 ····</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="9411898875-4">(</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map2</span><span·class="p"·data-group-id="9411898875-4">)</span><span·class="p">.</span></code></pre><p>the·compiler·keeps·the·first·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>,·but·rewrites428 ····</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="1539370441-4">(</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map2</span><span·class="p"·data-group-id="1539370441-4">)</span><span·class="p">.</span></code></pre><p>the·compiler·keeps·the·first·call·to·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>,·but·rewrites
429 and·combines·the·other·two·calls:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_map</span><span·class="p"·data-group-id="8519526733-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·49,·SHA:·17a2ae7efe06ee1542af6a944d887a11c8e1cc27f395b451c7de6863ab52b67f·...·]3-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">429 and·combines·the·other·two·calls:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_to_map</span><span·class="p"·data-group-id="6800674773-1">(</span><span·class="n">Map0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·49,·SHA:·02354444298f4cd5600d4dc02998161a5fc80459d40927bc758f19090a0e5383·...·]3-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
430 ····</span><span·class="n">Map1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="8519526733-2">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map0</span><span·class="p"·data-group-id="8519526733-2">)</span><span·class="p">,</span><span·class="w">430 ····</span><span·class="n">Map1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">put</span><span·class="p"·data-group-id="6800674773-2">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Map0</span><span·class="p"·data-group-id="6800674773-2">)</span><span·class="p">,</span><span·class="w">
431 ····</span><span·class="n">Map1</span><span·class="p"·data-group-id="8519526733-3">#{</span><span·class="ss">b</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">c</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·105,·SHA:·2a764e14fb0c27f4b7f31b6b95773af876bf602256dcfa1c2e62e3d11be5156c·...·]3-3">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>The·rewriting·of·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·to·the·map·syntax·was·introduced·in431 ····</span><span·class="n">Map1</span><span·class="p"·data-group-id="6800674773-3">#{</span><span·class="ss">b</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">B</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">c</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·105,·SHA:·36823e37beb1e2efc2ef34a53aa0b4f1a048b9c009eb6fe17483ad4d96ef74c8·...·]3-3">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>The·rewriting·of·<a·href="../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·to·the·map·syntax·was·introduced·in
432 Erlang/OTP·28.</p></section><h3·id="maps-remove-2"·class="section-heading">432 Erlang/OTP·28.</p></section><h3·id="maps-remove-2"·class="section-heading">
433 ··<a·href="#maps-remove-2"·class="hover-link">433 ··<a·href="#maps-remove-2"·class="hover-link">
434 ····<i·class="ri-link-m"·aria-hidden="true"></i>434 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Max diff block lines reached; 928/53347 bytes (1.74%) of diff not shown.
756 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/doc/system/memory.html
    
Offset 218, 15 lines modifiedOffset 218, 15 lines modified
218 ······<p·class="built-using">218 ······<p·class="built-using">
219 ········Built·using219 ········Built·using
220 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the220 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
221 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>221 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
222 ······</p>222 ······</p>
223 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>223 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
224 ····</footer>224 ····</footer>
225 ··</div>225 ··</div>
226 </main>226 </main>
227 </div>227 </div>
228 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>228 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
229 ··<script>229 ··<script>
230 ··let·initialized·=·false;230 ··let·initialized·=·false;
770 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/doc/system/misc.html
    
Offset 237, 15 lines modifiedOffset 237, 15 lines modified
237 ······<p·class="built-using">237 ······<p·class="built-using">
238 ········Built·using238 ········Built·using
239 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the239 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
240 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>240 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
241 ······</p>241 ······</p>
242 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>242 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
243 ····</footer>243 ····</footer>
244 ··</div>244 ··</div>
245 </main>245 </main>
246 </div>246 </div>
247 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>247 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
248 ··<script>248 ··<script>
249 ··let·initialized·=·false;249 ··let·initialized·=·false;
772 B
html2text {}
Max HTML report size reached
25.2 KB
./usr/share/doc/erlang-doc/html/doc/system/modules.html
    
Offset 118, 20 lines modifiedOffset 118, 20 lines modified
118 <h2·id="module-syntax"·class="section-heading">118 <h2·id="module-syntax"·class="section-heading">
119 ··<a·href="#module-syntax"·class="hover-link">119 ··<a·href="#module-syntax"·class="hover-link">
120 ····<i·class="ri-link-m"·aria-hidden="true"></i>120 ····<i·class="ri-link-m"·aria-hidden="true"></i>
121 ··</a>121 ··</a>
122 ··<span·class="text">Module·Syntax</span>122 ··<span·class="text">Module·Syntax</span>
123 </h2>123 </h2>
124 <p>Erlang·code·is·divided·into·<em>modules</em>.·A·module·consists·of·a·sequence·of124 <p>Erlang·code·is·divided·into·<em>modules</em>.·A·module·consists·of·a·sequence·of
125 attributes·and·function·declarations,·each·terminated·by·a·period·(<code·class="inline">.</code>).</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8993548518-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="8993548518-1">)</span><span·class="p">.</span><span·class="w">··········</span><span·class="c1">%·module·attribute</span><span·class="w">125 attributes·and·function·declarations,·each·terminated·by·a·period·(<code·class="inline">.</code>).</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6489112481-1">(</span><span·class="ss">m</span><span·class="p"·data-group-id="6489112481-1">)</span><span·class="p">.</span><span·class="w">··········</span><span·class="c1">%·module·attribute</span><span·class="w">
126 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8993548518-2">(</span><span·class="p"·data-group-id="8993548518-3">[</span><span·class="ss">fact</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="8993548518-3">]</span><span·class="p"·data-group-id="8993548518-2">)</span><span·class="p">.</span><span·class="w">···</span><span·class="c1">%·module·attribute</span><span·class="w">126 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6489112481-2">(</span><span·class="p"·data-group-id="6489112481-3">[</span><span·class="ss">fact</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="6489112481-3">]</span><span·class="p"·data-group-id="6489112481-2">)</span><span·class="p">.</span><span·class="w">···</span><span·class="c1">%·module·attribute</span><span·class="w">
  
127 </span><span·class="nf">fact</span><span·class="p"·data-group-id="8993548518-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="8993548518-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">N</span><span·class="o">&gt;</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">··</span><span·class="c1">%·beginning·of·function·declaration</span><span·class="w">127 </span><span·class="nf">fact</span><span·class="p"·data-group-id="6489112481-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="6489112481-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">N</span><span·class="o">&gt;</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">··</span><span·class="c1">%·beginning·of·function·declaration</span><span·class="w">
128 ····</span><span·class="n">N</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="nf">fact</span><span·class="p"·data-group-id="8993548518-5">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="8993548518-5">)</span><span·class="p">;</span><span·class="w">···</span><span·class="c1">%··|</span><span·class="w">128 ····</span><span·class="n">N</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="nf">fact</span><span·class="p"·data-group-id="6489112481-5">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="6489112481-5">)</span><span·class="p">;</span><span·class="w">···</span><span·class="c1">%··|</span><span·class="w">
129 </span><span·class="nf">fact</span><span·class="p"·data-group-id="8993548518-6">(</span><span·class="mi">0</span><span·class="p"·data-group-id="8993548518-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">···········</span><span·class="c1">%··|</span><span·class="w">129 </span><span·class="nf">fact</span><span·class="p"·data-group-id="6489112481-6">(</span><span·class="mi">0</span><span·class="p"·data-group-id="6489112481-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">···········</span><span·class="c1">%··|</span><span·class="w">
130 ····</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">···············</span><span·class="c1">%·end·of·function·declaration</span></code></pre><p>For·a·description·of·function·declarations,·see130 ····</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">···············</span><span·class="c1">%·end·of·function·declaration</span></code></pre><p>For·a·description·of·function·declarations,·see
131 <a·href="ref_man_functions.html">Function·Declaration·Syntax</a>.</p><h2·id="module-attributes"·class="section-heading">131 <a·href="ref_man_functions.html">Function·Declaration·Syntax</a>.</p><h2·id="module-attributes"·class="section-heading">
132 ··<a·href="#module-attributes"·class="hover-link">132 ··<a·href="#module-attributes"·class="hover-link">
133 ····<i·class="ri-link-m"·aria-hidden="true"></i>133 ····<i·class="ri-link-m"·aria-hidden="true"></i>
134 ··</a>134 ··</a>
135 ··<span·class="text">Module·Attributes</span>135 ··<span·class="text">Module·Attributes</span>
136 </h2>136 </h2>
Offset 176, 71 lines modifiedOffset 176, 71 lines modified
176 meaning.</p></section></li></ul><h3·id="behaviour-module-attribute"·class="section-heading">176 meaning.</p></section></li></ul><h3·id="behaviour-module-attribute"·class="section-heading">
177 ··<a·href="#behaviour-module-attribute"·class="hover-link">177 ··<a·href="#behaviour-module-attribute"·class="hover-link">
178 ····<i·class="ri-link-m"·aria-hidden="true"></i>178 ····<i·class="ri-link-m"·aria-hidden="true"></i>
179 ··</a>179 ··</a>
180 ··<span·class="text">Behaviour·Module·Attribute</span>180 ··<span·class="text">Behaviour·Module·Attribute</span>
181 </h3>181 </h3>
182 <p>It·is·possible·to·specify·that·the·module·is·the·callback·module·for·a182 <p>It·is·possible·to·specify·that·the·module·is·the·callback·module·for·a
183 <em>behaviour</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="2431012314-1">(</span><span·class="n">Behaviour</span><span·class="p"·data-group-id="2431012314-1">)</span><span·class="p">.</span></code></pre><p>The·atom·<code·class="inline">Behaviour</code>·gives·the·name·of·the·behaviour,·which·can·be·a183 <em>behaviour</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="2238768688-1">(</span><span·class="n">Behaviour</span><span·class="p"·data-group-id="2238768688-1">)</span><span·class="p">.</span></code></pre><p>The·atom·<code·class="inline">Behaviour</code>·gives·the·name·of·the·behaviour,·which·can·be·a
184 user-defined·behaviour·or·one·of·the·following·OTP·standard·behaviours:</p><ul><li><code·class="inline">gen_server</code></li><li><code·class="inline">gen_statem</code></li><li><code·class="inline">gen_event</code></li><li><code·class="inline">supervisor</code></li></ul><p>The·spelling·<code·class="inline">behavior</code>·is·also·accepted.</p><p>The·callback·functions·of·the·module·can·be·specified·either·directly·by·the184 user-defined·behaviour·or·one·of·the·following·OTP·standard·behaviours:</p><ul><li><code·class="inline">gen_server</code></li><li><code·class="inline">gen_statem</code></li><li><code·class="inline">gen_event</code></li><li><code·class="inline">supervisor</code></li></ul><p>The·spelling·<code·class="inline">behavior</code>·is·also·accepted.</p><p>The·callback·functions·of·the·module·can·be·specified·either·directly·by·the
185 exported·function·<code·class="inline">behaviour_info/1</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">behaviour_info</span><span·class="p"·data-group-id="4999364028-1">(</span><span·class="ss">callbacks</span><span·class="p"·data-group-id="4999364028-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Callbacks</span><span·class="p">.</span></code></pre><p>[·...·truncated·by·diffoscope;·len:·368,·SHA:·3dc5d1e2b274ac449a7ed6cfaddde0c27223f95b7648f552fafc73f6da3732ad·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Result</span><span·class="p">.</span></code></pre><p>Here,·<code·class="inline">Arguments</code>·is·a·list·of·zero·or·more·arguments.·The·<code·class="inline">-callback</code>·attribute185 exported·function·<code·class="inline">behaviour_info/1</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">behaviour_info</span><span·class="p"·data-group-id="1565984635-1">(</span><span·class="ss">callbacks</span><span·class="p"·data-group-id="1565984635-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Callbacks</span><span·class="p">.</span></code></pre><p>[·...·truncated·by·diffoscope;·len:·368,·SHA:·6ff59f9787b41bf03a43a443acef706011db723109ab06544698ac6e1b4a9e81·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Result</span><span·class="p">.</span></code></pre><p>Here,·<code·class="inline">Arguments</code>·is·a·list·of·zero·or·more·arguments.·The·<code·class="inline">-callback</code>·attribute
186 is·to·be·preferred·since·the·extra·type·information·can·be·used·by·tools·to186 is·to·be·preferred·since·the·extra·type·information·can·be·used·by·tools·to
187 produce·documentation·or·find·discrepancies.</p><p>Read·more·about·behaviours·and·callback·modules·in187 produce·documentation·or·find·discrepancies.</p><p>Read·more·about·behaviours·and·callback·modules·in
188 <a·href="../../doc/system/design_principles.html#behaviours">OTP·Design·Principles</a>.</p><h3·id="record-definitions"·class="section-heading">188 <a·href="../../doc/system/design_principles.html#behaviours">OTP·Design·Principles</a>.</p><h3·id="record-definitions"·class="section-heading">
189 ··<a·href="#record-definitions"·class="hover-link">189 ··<a·href="#record-definitions"·class="hover-link">
190 ····<i·class="ri-link-m"·aria-hidden="true"></i>190 ····<i·class="ri-link-m"·aria-hidden="true"></i>
191 ··</a>191 ··</a>
192 ··<span·class="text">Record·Definitions</span>192 ··<span·class="text">Record·Definitions</span>
193 </h3>193 </h3>
194 <p>The·same·syntax·as·for·module·attributes·is·used·for·record·definitions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="4683428827-1">(</span><span·class="n">Record</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fields</span><span·class="p"·data-group-id="4683428827-1">)</span><span·class="p">.</span></code></pre><p>Record·definitions·are·allowed·anywhere·in·a·module,·also·among·the·function194 <p>The·same·syntax·as·for·module·attributes·is·used·for·record·definitions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="5274286519-1">(</span><span·class="n">Record</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fields</span><span·class="p"·data-group-id="5274286519-1">)</span><span·class="p">.</span></code></pre><p>Record·definitions·are·allowed·anywhere·in·a·module,·also·among·the·function
195 declarations.·Read·more·in·<a·href="ref_man_records.html">Records</a>.</p><h3·id="preprocessor"·class="section-heading">195 declarations.·Read·more·in·<a·href="ref_man_records.html">Records</a>.</p><h3·id="preprocessor"·class="section-heading">
196 ··<a·href="#preprocessor"·class="hover-link">196 ··<a·href="#preprocessor"·class="hover-link">
197 ····<i·class="ri-link-m"·aria-hidden="true"></i>197 ····<i·class="ri-link-m"·aria-hidden="true"></i>
198 ··</a>198 ··</a>
199 ··<span·class="text">Preprocessor</span>199 ··<span·class="text">Preprocessor</span>
200 </h3>200 </h3>
201 <p>The·same·syntax·as·for·module·attributes·is·used·by·the·preprocessor,·which201 <p>The·same·syntax·as·for·module·attributes·is·used·by·the·preprocessor,·which
202 supports·file·inclusion,·macros,·and·conditional·compilation:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="8285868774-1">(</span><span·class="s">&quot;SomeFile.hrl&quot;</span><span·class="p"·data-group-id="8285868774-1">)</span><span·class="p">.</span><span·class="w">202 supports·file·inclusion,·macros,·and·conditional·compilation:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="0444094237-1">(</span><span·class="s">&quot;SomeFile.hrl&quot;</span><span·class="p"·data-group-id="0444094237-1">)</span><span·class="p">.</span><span·class="w">
203 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="8285868774-2">(</span><span·class="n">Macro</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Replacement</span><span·class="p"·data-group-id="8285868774-2">)</span><span·class="p">.</span></code></pre><p>Read·more·in·<a·href="macros.html">Preprocessor</a>.</p><h3·id="setting-file-and-line"·class="section-heading">203 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="0444094237-2">(</span><span·class="n">Macro</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Replacement</span><span·class="p"·data-group-id="0444094237-2">)</span><span·class="p">.</span></code></pre><p>Read·more·in·<a·href="macros.html">Preprocessor</a>.</p><h3·id="setting-file-and-line"·class="section-heading">
204 ··<a·href="#setting-file-and-line"·class="hover-link">204 ··<a·href="#setting-file-and-line"·class="hover-link">
205 ····<i·class="ri-link-m"·aria-hidden="true"></i>205 ····<i·class="ri-link-m"·aria-hidden="true"></i>
206 ··</a>206 ··</a>
207 ··<span·class="text">Setting·File·and·Line</span>207 ··<span·class="text">Setting·File·and·Line</span>
208 </h3>208 </h3>
209 <p>The·same·syntax·as·for·module·attributes·is·used·for·changing·the·pre-defined209 <p>The·same·syntax·as·for·module·attributes·is·used·for·changing·the·pre-defined
210 macros·<code·class="inline">?FILE</code>·and·<code·class="inline">?LINE</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">file</span><span·class="p"·data-group-id="3310771928-1">(</span><span·class="n">File</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Line</span><span·class="p"·data-group-id="3310771928-1">)</span><span·class="p">.</span></code></pre><p>This·attribute·is·used·by·tools,·such·as·Yecc,·to·inform·the·compiler·that·the210 macros·<code·class="inline">?FILE</code>·and·<code·class="inline">?LINE</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">file</span><span·class="p"·data-group-id="9027951255-1">(</span><span·class="n">File</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Line</span><span·class="p"·data-group-id="9027951255-1">)</span><span·class="p">.</span></code></pre><p>This·attribute·is·used·by·tools,·such·as·Yecc,·to·inform·the·compiler·that·the
211 source·program·is·generated·by·another·tool.·It·also·indicates·the211 source·program·is·generated·by·another·tool.·It·also·indicates·the
212 correspondence·of·source·files·to·lines·of·the·original·user-written·file,·from212 correspondence·of·source·files·to·lines·of·the·original·user-written·file,·from
213 which·the·source·program·is·produced.</p><h3·id="types-and-function-specifications"·class="section-heading">213 which·the·source·program·is·produced.</p><h3·id="types-and-function-specifications"·class="section-heading">
214 ··<a·href="#types-and-function-specifications"·class="hover-link">214 ··<a·href="#types-and-function-specifications"·class="hover-link">
215 ····<i·class="ri-link-m"·aria-hidden="true"></i>215 ····<i·class="ri-link-m"·aria-hidden="true"></i>
216 ··</a>216 ··</a>
217 ··<span·class="text">Types·and·function·specifications</span>217 ··<span·class="text">Types·and·function·specifications</span>
218 </h3>218 </h3>
219 <p>A·similar·syntax·as·for·module·attributes·is·used·for·specifying·types·and219 <p>A·similar·syntax·as·for·module·attributes·is·used·for·specifying·types·and
220 function·specifications:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">my_type</span><span·class="p"·data-group-id="8109124408-1">(</span><span·class="p"·data-group-id="8109124408-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="8109124408-2">(</span><span·class="p"·data-group-id="8109124408-2">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8109124408-3">(</span><span·class="p"·data-group-id="8109124408-3">)</span><span·class="p">.</span><span·class="w"> 
221 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">my_function</span><span·class="p"·data-group-id="8109124408-4">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="8109124408-5">(</span><[·...·truncated·by·diffoscope;·len:·467,·SHA:·64ee45233437cc516f9b88d4a2a551d1ee6ac0864d925d79bb08b37874b7bb53·...·]220 function·specifications:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">my_type</span><span·class="p"·data-group-id="7383244640-1">(</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·512,·SHA:·55d5406729631a96cacdb3ea41ce796aabff544974ee8ebfdf4b333a0faaed5e·...·]
 221 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">my_function</span><span·class="p"·data-group-id="7383244640-4">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="7383244640-5">(</span><span·class="p"·data-group-id="7383244640-5">)</span><span·class="p"·data-group-id="7383244640-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7383244640-6">(</span><span·class="p"·data-group-id="7383244640-6">)</span><span·class="p">.</span></code></pre><p>Read·more·in·<a·href="typespec.html">Types·and·Function·specifications</a>.</p><p>The·description·is·based·on
222 <a·href="http://www.erlang.org/eeps/eep-0008.html">EEP8·-·Types·and·function·specifications</a>,222 <a·href="http://www.erlang.org/eeps/eep-0008.html">EEP8·-·Types·and·function·specifications</a>,
223 which·is·not·to·be·further·updated.</p><h3·id="documentation-attributes"·class="section-heading">223 which·is·not·to·be·further·updated.</p><h3·id="documentation-attributes"·class="section-heading">
224 ··<a·href="#documentation-attributes"·class="hover-link">224 ··<a·href="#documentation-attributes"·class="hover-link">
225 ····<i·class="ri-link-m"·aria-hidden="true"></i>225 ····<i·class="ri-link-m"·aria-hidden="true"></i>
226 ··</a>226 ··</a>
227 ··<span·class="text">Documentation·attributes</span>227 ··<span·class="text">Documentation·attributes</span>
228 </h3>228 </h3>
229 <p>The·module·attribute·<code·class="inline">-doc(Documentation)</code>·is·used·to·provide·user·documentation229 <p>The·module·attribute·<code·class="inline">-doc(Documentation)</code>·is·used·to·provide·user·documentation
230 for·a·function/type/callback:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">doc</span><span·class="p"·data-group-id="9295416288-1">(</span><span·class="s">&quot;Example·documentation&quot;</span><span·class="p"·data-group-id="9295416288-1">)</span><span·class="p">.</span><span·class="w">230 for·a·function/type/callback:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">doc</span><span·class="p"·data-group-id="0125186128-1">(</span><span·class="s">&quot;Example·documentation&quot;</span><span·class="p"·data-group-id="0125186128-1">)</span><span·class="p">.</span><span·class="w">
231 </span><span·class="nf">example</span><span·class="p"·data-group-id="9295416288-2">(</span><span·class="p"·data-group-id="9295416288-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>The·attribute·should·be·placed·just·before·the·entity·it·documents.The231 </span><span·class="nf">example</span><span·class="p"·data-group-id="0125186128-2">(</span><span·class="p"·data-group-id="0125186128-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>The·attribute·should·be·placed·just·before·the·entity·it·documents.The
232 parenthesis·are·optional·around·<code·class="inline">Documentation</code>.·The·allowed·values·for232 parenthesis·are·optional·around·<code·class="inline">Documentation</code>.·The·allowed·values·for
233 <code·class="inline">Documentation</code>·are:</p><ul><li><p><strong><a·href="data_types.html#string">literal·string</a>·or233 <code·class="inline">Documentation</code>·are:</p><ul><li><p><strong><a·href="data_types.html#string">literal·string</a>·or
234 <a·href="expressions.html#unicode-segments">utf-8·encoded·binary·string</a></strong>·-·The·string234 <a·href="expressions.html#unicode-segments">utf-8·encoded·binary·string</a></strong>·-·The·string
235 documenting·the·entity.·Any·literal·string·is·allowed,·so·both235 documenting·the·entity.·Any·literal·string·is·allowed,·so·both
236 <a·href="data_types.html#tqstring">triple·quoted·strings</a>·and236 <a·href="data_types.html#tqstring">triple·quoted·strings</a>·and
237 <a·href="data_types.html#sigil">sigils</a>·that·translate·to·literal·strings·can·be·used.237 <a·href="data_types.html#sigil">sigils</a>·that·translate·to·literal·strings·can·be·used.
238 The·following·examples·are·equivalent:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">doc</span><span·class="p"·data-group-id="1132934557-1">(</span><span·class="s">&quot;Example·\&quot;docs\&quot;&quot;</span><span·class="p"·data-group-id="1132934557-1">)</span><span·class="p">.</span><span·class="w">238 The·following·examples·are·equivalent:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">doc</span><span·class="p"·data-group-id="6028401195-1">(</span><span·class="s">&quot;Example·\&quot;docs\&quot;&quot;</span><span·class="p"·data-group-id="6028401195-1">)</span><span·class="p">.</span><span·class="w">
239 </span><span·class="p">-</span><span·class="na">doc</span><span·class="p"·data-group-id="1132934557-2">(</span><span·class="p"·data-group-id="1132934557-3">&lt;&lt;</span><span·class="s">&quot;Example·\&quot;docs\&quot;&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="1132934557-3">&gt;&gt;</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·dfd7ba1f2459de3c607731e2bcb7d27572aacfd1ce7a4fa20d04b8853db830ea·...·]-2">)</span><span·class="p">.</span><span·class="w">239 </span><span·class="p">-</span><span·class="na">doc</span><span·class="p"·data-group-id="6028401195-2">(</span><span·class="p"·data-group-id="6028401195-3">&lt;&lt;</span><span·class="s">&quot;Example·\&quot;docs\&quot;&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="6028401195-3">&gt;&gt;</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·91ba5f64100f695d7233b615a16b241ba855b3193f30bc8fc3e810e50b0588f1·...·]-2">)</span><span·class="p">.</span><span·class="w">
240 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">~S/Example·&quot;docs&quot;/</span><span·class="p">.</span><span·class="w">240 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">~S/Example·&quot;docs&quot;/</span><span·class="p">.</span><span·class="w">
241 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="s">&quot;241 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="s">&quot;
242 ···Example·&quot;</span><span·class="ss">docs</span><span·class="s">&quot;242 ···Example·&quot;</span><span·class="ss">docs</span><span·class="s">&quot;
243 ···&quot;</span><span·class="s">&quot;&quot;</span><span·class="w">243 ···&quot;</span><span·class="s">&quot;&quot;</span><span·class="w">
244 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">~B|Example·&quot;docs&quot;|</span><span·class="p">.</span></code></pre><p>For·clarity·it·is·recommended·to·use·either·normal·<code·class="inline">&quot;strings&quot;</code>·or·triple244 </span><span·class="p">-</span><span·class="na">doc</span><span·class="w">·</span><span·class="s">~B|Example·&quot;docs&quot;|</span><span·class="p">.</span></code></pre><p>For·clarity·it·is·recommended·to·use·either·normal·<code·class="inline">&quot;strings&quot;</code>·or·triple
245 quoted·strings·for·documentation·attributes.</p></li><li><p><strong><code·class="inline">{file,</code>·<a·href="../../lib/kernel-10.3/doc/html/file.html#t:name/0"><code·class="inline">file:name/0</code></a>·<code·class="inline">}</code></strong>·-·Read·the·contents·of·filename·and·use245 quoted·strings·for·documentation·attributes.</p></li><li><p><strong><code·class="inline">{file,</code>·<a·href="../../lib/kernel-10.3/doc/html/file.html#t:name/0"><code·class="inline">file:name/0</code></a>·<code·class="inline">}</code></strong>·-·Read·the·contents·of·filename·and·use
246 that·as·the·documentation·string.</p></li><li><p><strong><code·class="inline">false</code></strong>·-·Set·the·current·entity·as·hidden,·that·is,·it·should·not·be246 that·as·the·documentation·string.</p></li><li><p><strong><code·class="inline">false</code></strong>·-·Set·the·current·entity·as·hidden,·that·is,·it·should·not·be
Offset 253, 15 lines modifiedOffset 253, 15 lines modified
253 ··<a·href="#the-feature-directive"·class="hover-link">253 ··<a·href="#the-feature-directive"·class="hover-link">
254 ····<i·class="ri-link-m"·aria-hidden="true"></i>254 ····<i·class="ri-link-m"·aria-hidden="true"></i>
255 ··</a>255 ··</a>
256 ··<span·class="text">The·feature·directive</span>256 ··<span·class="text">The·feature·directive</span>
257 </h2>257 </h2>
258 <p>While·not·a·module·attribute,·but·rather·a·directive·(since·it·might·affect258 <p>While·not·a·module·attribute,·but·rather·a·directive·(since·it·might·affect
259 syntax),·there·is·the·<code·class="inline">-feature(..)</code>·directive·used·for·enabling·and·disabling259 syntax),·there·is·the·<code·class="inline">-feature(..)</code>·directive·used·for·enabling·and·disabling
260 <a·href="../../doc/system/features.html#features">features</a>.</p><p>The·syntax·is·similar·to·that·of·an·attribute,·but·has·two·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">feature</span><span·class="p"·data-group-id="2041336574-1">(</span><span·class="n">FeatureName</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">enable</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">disable</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·8ca71c4afa4a7b3dd4a75a2b41d17c8490f5cbfa9c04631bc05fc535695d2715·...·]-1">)</span><span·class="p">.</span></code></pre><p>Note·that·the·<a·href="macros.html#feature-directive">feature·directive</a>·can·only·appear260 <a·href="../../doc/system/features.html#features">features</a>.</p><p>The·syntax·is·similar·to·that·of·an·attribute,·but·has·two·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">feature</span><span·class="p"·data-group-id="2993894845-1">(</span><span·class="n">FeatureName</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">enable</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">disable</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·ac2c74a1605e0636605126c45bcb45d908ddbfac56622b4c334a1ca129d4514f·...·]-1">)</span><span·class="p">.</span></code></pre><p>Note·that·the·<a·href="macros.html#feature-directive">feature·directive</a>·can·only·appear
261 in·a·prefix·of·the·module.</p><h2·id="comments"·class="section-heading">261 in·a·prefix·of·the·module.</p><h2·id="comments"·class="section-heading">
262 ··<a·href="#comments"·class="hover-link">262 ··<a·href="#comments"·class="hover-link">
263 ····<i·class="ri-link-m"·aria-hidden="true"></i>263 ····<i·class="ri-link-m"·aria-hidden="true"></i>
264 ··</a>264 ··</a>
265 ··<span·class="text">Comments</span>265 ··<span·class="text">Comments</span>
266 </h2>266 </h2>
267 <p>Comments·can·be·placed·anywhere·in·a·module·except·within·strings·and267 <p>Comments·can·be·placed·anywhere·in·a·module·except·within·strings·and
Offset 347, 15 lines modifiedOffset 347, 15 lines modified
347 ······<p·class="built-using">347 ······<p·class="built-using">
348 ········Built·using348 ········Built·using
349 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the349 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
350 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>350 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
351 ······</p>351 ······</p>
352 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>352 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
353 ····</footer>353 ····</footer>
354 ··</div>354 ··</div>
355 </main>355 </main>
356 </div>356 </div>
357 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>357 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
358 ··<script>358 ··<script>
359 ··let·initialized·=·false;359 ··let·initialized·=·false;
666 B
html2text {}
Max HTML report size reached
17.4 KB
./usr/share/doc/erlang-doc/html/doc/system/nif.html
    
Offset 133, 26 lines modifiedOffset 133, 26 lines modified
133 ··<span·class="text">Erlang·Program</span>133 ··<span·class="text">Erlang·Program</span>
134 </h2>134 </h2>
135 <p>Even·if·all·functions·of·a·module·are·NIFs,·an·Erlang·module·is·still·needed·for135 <p>Even·if·all·functions·of·a·module·are·NIFs,·an·Erlang·module·is·still·needed·for
136 two·reasons:</p><ul><li>The·NIF·library·must·be·explicitly·loaded·by·Erlang·code·in·the·same·module.</li><li>All·NIFs·of·a·module·must·have·an·Erlang·implementation·as·well.</li></ul><p>Normally·these·are·minimal·stub·implementations·that·throw·an·exception.·But136 two·reasons:</p><ul><li>The·NIF·library·must·be·explicitly·loaded·by·Erlang·code·in·the·same·module.</li><li>All·NIFs·of·a·module·must·have·an·Erlang·implementation·as·well.</li></ul><p>Normally·these·are·minimal·stub·implementations·that·throw·an·exception.·But
137 they·can·also·be·used·as·fallback·implementations·for·functions·that·do·not·have137 they·can·also·be·used·as·fallback·implementations·for·functions·that·do·not·have
138 native·implementations·on·some·architectures.</p><p>NIF·libraries·are·loaded·by·calling·<a·href="../../erts-16.0/doc/html/erlang.html#load_nif/2"><code·class="inline">erlang:load_nif/2</code></a>,·with·the·name·of·the138 native·implementations·on·some·architectures.</p><p>NIF·libraries·are·loaded·by·calling·<a·href="../../erts-16.0/doc/html/erlang.html#load_nif/2"><code·class="inline">erlang:load_nif/2</code></a>,·with·the·name·of·the
139 shared·library·as·argument.·The·second·argument·can·be·any·term·that·will·be139 shared·library·as·argument.·The·second·argument·can·be·any·term·that·will·be
140 passed·on·to·the·library·and·used·for·initialization:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7001136592-1">(</span><span·class="ss">complex6</span><span·class="p"·data-group-id="7001136592-1">)</span><span·class="p">.</span><span·class="w">140 passed·on·to·the·library·and·used·for·initialization:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9414390542-1">(</span><span·class="ss">complex6</span><span·class="p"·data-group-id="9414390542-1">)</span><span·class="p">.</span><span·class="w">
141 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7001136592-2">(</span><span·class="p"·data-group-id="7001136592-3">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·112,·SHA:·5729b9566dc269145493400972dd8b176d14818c507de6801426701490995e02·...·]2-2">)</span><span·class="p">.</span><span·class="w">141 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9414390542-2">(</span><span·class="p"·data-group-id="9414390542-3">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·112,·SHA:·26885b84284796da279410c2c067e8ae1160dfdd3c4cfc107118b9f925a6e224·...·]2-2">)</span><span·class="p">.</span><span·class="w">
142 </span><span·class="p">-</span><span·class="na">nifs</span><span·class="p"·data-group-id="7001136592-4">(</span><span·class="p"·data-group-id="7001136592-5">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·112,·SHA:·90bc3e228ec8c6628544791a8c060908935ba2aacdde4f505fc20f84961bb2e2·...·]2-4">)</span><span·class="p">.</span><span·class="w">142 </span><span·class="p">-</span><span·class="na">nifs</span><span·class="p"·data-group-id="9414390542-4">(</span><span·class="p"·data-group-id="9414390542-5">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·112,·SHA:·025636e21425c0922e3022b5ef4161e8952d8520054dc1c67f0106adcfb9a128·...·]2-4">)</span><span·class="p">.</span><span·class="w">
143 </span><span·class="p">-</span><span·class="na">on_load</span><span·class="p"·data-group-id="7001136592-6">(</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7001136592-6">)</span><span·class="p">.</span><span·class="w">143 </span><span·class="p">-</span><span·class="na">on_load</span><span·class="p"·data-group-id="9414390542-6">(</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9414390542-6">)</span><span·class="p">.</span><span·class="w">
  
144 </span><span·class="nf">init</span><span·class="p"·data-group-id="7001136592-7">(</span><span·class="p"·data-group-id="7001136592-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">144 </span><span·class="nf">init</span><span·class="p"·data-group-id="9414390542-7">(</span><span·class="p"·data-group-id="9414390542-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
145 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">load_nif</span><span·class="p"·data-group-id="7001136592-8">(</span><span·class="s">&quot;./complex6_nif&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="7001136592-8">)</span><span·class="p">.</span><span·class="w">145 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">load_nif</span><span·class="p"·data-group-id="9414390542-8">(</span><span·class="s">&quot;./complex6_nif&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="9414390542-8">)</span><span·class="p">.</span><span·class="w">
  
146 </span><span·class="nf">foo</span><span·class="p"·data-group-id="7001136592-9">(</span><span·class="p">_</span><span·class="n">X</span><span·class="p"·data-group-id="7001136592-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">146 </span><span·class="nf">foo</span><span·class="p"·data-group-id="9414390542-9">(</span><span·class="p">_</span><span·class="n">X</span><span·class="p"·data-group-id="9414390542-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
147 ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">nif_error</span><span·class="p"·data-group-id="7001136592-10">(</span><span·class="ss">nif_library_not_loaded</span><span·class="p"·data-group-id="7001136592-10">)</span><span·class="p">.</span><span·class="w">147 ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">nif_error</span><span·class="p"·data-group-id="9414390542-10">(</span><span·class="ss">nif_library_not_loaded</span><span·class="p"·data-group-id="9414390542-10">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="nf">bar</span><span·class="p"·data-group-id="7001136592-11">(</span><span·class="p">_</span><span·class="n">Y</span><span·class="p"·data-group-id="7001136592-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">148 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9414390542-11">(</span><span·class="p">_</span><span·class="n">Y</span><span·class="p"·data-group-id="9414390542-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
149 ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">nif_error</span><span·class="p"·data-group-id="7001136592-12">(</span><span·class="ss">nif_library_not_loaded</span><span·class="p"·data-group-id="7001136592-12">)</span><span·class="p">.</span></code></pre><p>Here,·the·directive·<code·class="inline">on_load</code>·is·used·to·get·function·<code·class="inline">init</code>·to·be·automatically149 ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">nif_error</span><span·class="p"·data-group-id="9414390542-12">(</span><span·class="ss">nif_library_not_loaded</span><span·class="p"·data-group-id="9414390542-12">)</span><span·class="p">.</span></code></pre><p>Here,·the·directive·<code·class="inline">on_load</code>·is·used·to·get·function·<code·class="inline">init</code>·to·be·automatically
150 called·when·the·module·is·loaded.·If·<code·class="inline">init</code>·returns·anything·other·than·<code·class="inline">ok</code>,150 called·when·the·module·is·loaded.·If·<code·class="inline">init</code>·returns·anything·other·than·<code·class="inline">ok</code>,
151 such·when·the·loading·of·the·NIF·library·fails·in·this·example,·the·module·is151 such·when·the·loading·of·the·NIF·library·fails·in·this·example,·the·module·is
152 unloaded·and·calls·to·functions·within·it,·fail.</p><p>Loading·the·NIF·library·overrides·the·stub·implementations·and·cause·calls·to152 unloaded·and·calls·to·functions·within·it,·fail.</p><p>Loading·the·NIF·library·overrides·the·stub·implementations·and·cause·calls·to
153 <code·class="inline">foo</code>·and·<code·class="inline">bar</code>·to·be·dispatched·to·the·NIF·implementations·instead.</p><h2·id="nif-library-code"·class="section-heading">153 <code·class="inline">foo</code>·and·<code·class="inline">bar</code>·to·be·dispatched·to·the·NIF·implementations·instead.</p><h2·id="nif-library-code"·class="section-heading">
154 ··<a·href="#nif-library-code"·class="hover-link">154 ··<a·href="#nif-library-code"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
Offset 209, 23 lines modifiedOffset 209, 23 lines modified
209 ··<a·href="#running-the-example"·class="hover-link">209 ··<a·href="#running-the-example"·class="hover-link">
210 ····<i·class="ri-link-m"·aria-hidden="true"></i>210 ····<i·class="ri-link-m"·aria-hidden="true"></i>
211 ··</a>211 ··</a>
212 ··<span·class="text">Running·the·Example</span>212 ··<span·class="text">Running·the·Example</span>
213 </h2>213 </h2>
214 <p><em>Step·1.</em>·Compile·the·C·code:</p><pre><code·class="text">unix&gt;·gcc·-o·complex6_nif.so·-fpic·-shared·complex.c·complex6_nif.c214 <p><em>Step·1.</em>·Compile·the·C·code:</p><pre><code·class="text">unix&gt;·gcc·-o·complex6_nif.so·-fpic·-shared·complex.c·complex6_nif.c
215 windows&gt;·cl·-LD·-MD·-Fe·complex6_nif.dll·complex.c·complex6_nif.c</code></pre><p><em>Step·2:</em>·Start·Erlang·and·compile·the·Erlang·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="ss">erl</span><span·class="w">215 windows&gt;·cl·-LD·-MD·-Fe·complex6_nif.dll·complex.c·complex6_nif.c</code></pre><p><em>Step·2:</em>·Start·Erlang·and·compile·the·Erlang·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="ss">erl</span><span·class="w">
216 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R13B04</span><span·class="w">·</span><span·class="p"·data-group-id="8529944947-1">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.7</span><span·class="p">.</span><span·class="mi">5</span><span·class="p"·data-group-id="8529944947-1">)</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·1130,·SHA:·b8665b7c94d371772edd2556ae6d472722fda021d8563b5c3953fdca238c6c57·...·]-6">]</span><span·class="w">216 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R13B04</span><span·class="w">·</span><span·class="p"·data-group-id="5580946300-1">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.7</span><span·class="p">.</span><span·class="mi">5</span><span·class="p"·data-group-id="5580946300-1">)</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·1130,·SHA:·0152091e3166b1c5411ac7c952f4f618eaff4c4c3a3498a20c0f832076c31999·...·]-6">]</span><span·class="w">
  
217 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">7.5</span><span·class="w">··</span><span·class="p"·data-group-id="8529944947-7">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="8529944947-7">)</span><span·class="gp·unselectable">217 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">7.5</span><span·class="w">··</span><span·class="p"·data-group-id="5580946300-7">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="5580946300-7">)</span><span·class="gp·unselectable">
218 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="8529944947-8">(</span><span·class="ss">complex6</span><span·class="p"·data-group-id="8529944947-8">)</span><span·class="p">.</span><span·class="w">218 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="5580946300-8">(</span><span·class="ss">complex6</span><span·class="p"·data-group-id="5580946300-8">)</span><span·class="p">.</span><span·class="w">
219 </span><span·class="p"·data-group-id="8529944947-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex6</span><span·class="p"·data-group-id="8529944947-9">}</span></code></pre><p><em>Step·3:</em>·Run·the·example:</p><pre><code·class="makeup·erlang"·translate="no[·...·truncated·by·diffoscope;·len:·247,·SHA:·5e7d8a88da1dd2337d42dd580940682738e7ac5d632e25f4eb553ea20973d074·...·]-1">)</span><span·class="p">.</span><span·class="w">219 </span><span·class="p"·data-group-id="5580946300-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">complex6</span><span·class="p"·data-group-id="5580946300-9">}</span></code></pre><p><em>Step·3:</em>·Run·the·example:</p><pre><code·class="makeup·erlang"·translate="no[·...·truncated·by·diffoscope;·len:·247,·SHA:·0e35db0a3088e979179949b67d7de2fc15e3810d617f541a26668f34e0266ec1·...·]-1">)</span><span·class="p">.</span><span·class="w">
220 </span><span·class="mi">4</span><span·class="gp·unselectable">220 </span><span·class="mi">4</span><span·class="gp·unselectable">
221 4&gt;·</span><span·class="nc">complex6</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="1887860784-2">(</span><span·class="mi">5</span><span·class="p"·data-group-id="1887860784-2">)</span><span·class="p">.</span><span·class="w">221 4&gt;·</span><span·class="nc">complex6</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="9750447207-2">(</span><span·class="mi">5</span><span·class="p"·data-group-id="9750447207-2">)</span><span·class="p">.</span><span·class="w">
222 </span><span·class="mi">10</span><span·class="gp·unselectable">222 </span><span·class="mi">10</span><span·class="gp·unselectable">
223 5&gt;·</span><span·class="nc">complex6</span><span·class="p">:</span><span·class="nf">foo</span><span·class="p"·data-group-id="1887860784-3">(</span><span·class="s">&quot;not·an·integer&quot;</span><span·class="p"·data-group-id="1887860784-3">)</span><span·class="p">.</span><span·class="w">223 5&gt;·</span><span·class="nc">complex6</span><span·class="p">:</span><span·class="nf">foo</span><span·class="p"·data-group-id="9750447207-3">(</span><span·class="s">&quot;not·an·integer&quot;</span><span·class="p"·data-group-id="9750447207-3">)</span><span·class="p">.</span><span·class="w">
224 </span><span·class="gt">**·exception·error:·bad·argument224 </span><span·class="gt">**·exception·error:·bad·argument
225 ·····in·function··complex6:foo/1225 ·····in·function··complex6:foo/1
226 ········called·as·comlpex6:foo(&quot;not·an·integer&quot;)</span></code></pre>226 ········called·as·comlpex6:foo(&quot;not·an·integer&quot;)</span></code></pre>
227 </div>227 </div>
  
228 <div·class="bottom-actions"·id="bottom-actions">228 <div·class="bottom-actions"·id="bottom-actions">
229 ··<div·class="bottom-actions-item">229 ··<div·class="bottom-actions-item">
Offset 271, 15 lines modifiedOffset 271, 15 lines modified
271 ······<p·class="built-using">271 ······<p·class="built-using">
272 ········Built·using272 ········Built·using
273 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the273 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
274 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>274 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
275 ······</p>275 ······</p>
276 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>276 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
277 ····</footer>277 ····</footer>
278 ··</div>278 ··</div>
279 </main>279 </main>
280 </div>280 </div>
281 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>281 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
282 ··<script>282 ··<script>
283 ··let·initialized·=·false;283 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
25.1 KB
./usr/share/doc/erlang-doc/html/doc/system/nominals.html
    
Offset 123, 55 lines modifiedOffset 123, 55 lines modified
123 </h2>123 </h2>
124 <p>For·<a·href="typespec.html#type-declarations-of-user-defined-types">user-defined·types</a>124 <p>For·<a·href="typespec.html#type-declarations-of-user-defined-types">user-defined·types</a>
125 defined·with·<code·class="inline">-type</code>,·the·Erlang·compiler·will·ignore·their·type·names.·This125 defined·with·<code·class="inline">-type</code>,·the·Erlang·compiler·will·ignore·their·type·names.·This
126 means·the·Erlang·compiler·uses·a·structural·type·system.·Two·types·are·seen·as126 means·the·Erlang·compiler·uses·a·structural·type·system.·Two·types·are·seen·as
127 equivalent·if·their·structures·are·the·same.·Type·comparison·is·based·on·the127 equivalent·if·their·structures·are·the·same.·Type·comparison·is·based·on·the
128 structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·In·the128 structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·In·the
129 following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent,·and·neither·differs129 following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent,·and·neither·differs
130 from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="8271457080-1">(</span><span·class="p"·data-group-id="8271457080-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8271457080-2">(</span><span·class="p"·data-group-id="8271457080-2">)</span><span·class="p">.</span><span·class="w"> 
131 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="8271457080-3">(</span><span·class="p"·data-group-id="8271457080-3">)</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·312,·SHA:·b9f2efa8b4539df9ca6b158de49715ed87fac942237684fca5fb7006e450f8a1·...·]130 from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="5281098618[·...·truncated·by·diffoscope;·len:·338,·SHA:·4ed5a4f23b6d1814157707642bc8c808240b2c65c5aecc6ff08b4277416636cf·...·]
 131 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="5281098618-3">(</span><span·class="p"·data-group-id="5281098618-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5281098618-4">(</span><span·class="p"·data-group-id="5281098618-4">)</span><span·class="p">.</span></code></pre><p>Nominal·typing·is·an·alternative·type·system.·Two·nominal·types·are·equivalent
132 if·and·only·if·they·are·declared·with·the·same·type·name.·The·syntax·for132 if·and·only·if·they·are·declared·with·the·same·type·name.·The·syntax·for
133 declaring·nominal·types·is·<code·class="inline">-nominal</code>.</p><p>If·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·defined·as·nominal·types,·they·will·no·longer·be133 declaring·nominal·types·is·<code·class="inline">-nominal</code>.</p><p>If·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·defined·as·nominal·types,·they·will·no·longer·be
134 compatible.·When·a·function·expects·type·<code·class="inline">meter()</code>,·passing·in·type·<code·class="inline">foot()</code>134 compatible.·When·a·function·expects·type·<code·class="inline">meter()</code>,·passing·in·type·<code·class="inline">foot()</code>
135 will·result·in·a·warning·raised·by·the·type·checker.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="3640291221-1">(</span><span·class="p"·data-group-id="3640291221-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3640291221-2">(</span><span·class="p"·data-group-id="3640291221-2">)</span><span·class="p">.</span><span·class="w"> 
136 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="3640291221-3">(</span><span·class="p"·data-group-id="3640291221-3">)</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·317,·SHA:·cb5539bff7610cb13e0864dea93c870991fa7ac0a64385e7dfd83fbfd63ca824·...·]135 will·result·in·a·warning·raised·by·the·type·checker.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="8314420583-1"[·...·truncated·by·diffoscope;·len:·335,·SHA:·ede8435316d40eb6769f2f96320ef7bef51a78e7607fbc0fb34b433fe66c52f1·...·]
 136 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="8314420583-3">(</span><span·class="p"·data-group-id="8314420583-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8314420583-4">(</span><span·class="p"·data-group-id="8314420583-4">)</span><span·class="p">.</span></code></pre><p>The·main·use·case·of·nominal·types·is·to·prevent·accidental·misuse·of·types·with
137 the·same·structure.·Within·OTP,·nominal·type-checking·is·done·in·Dialyzer.·The137 the·same·structure.·Within·OTP,·nominal·type-checking·is·done·in·Dialyzer.·The
138 Erlang·compiler·does·not·perform·nominal·type-checking.</p><h2·id="nominal-type-checking-rules"·class="section-heading">138 Erlang·compiler·does·not·perform·nominal·type-checking.</p><h2·id="nominal-type-checking-rules"·class="section-heading">
139 ··<a·href="#nominal-type-checking-rules"·class="hover-link">139 ··<a·href="#nominal-type-checking-rules"·class="hover-link">
140 ····<i·class="ri-link-m"·aria-hidden="true"></i>140 ····<i·class="ri-link-m"·aria-hidden="true"></i>
141 ··</a>141 ··</a>
142 ··<span·class="text">Nominal·Type-Checking·Rules</span>142 ··<span·class="text">Nominal·Type-Checking·Rules</span>
143 </h2>143 </h2>
144 <p>In·general,·if·two·nominal·types·have·different·names,·and·one·is·not·derived144 <p>In·general,·if·two·nominal·types·have·different·names,·and·one·is·not·derived
145 from·the·other,·they·are·not·compatible.·Dialyzer's·nominal·type-checking145 from·the·other,·they·are·not·compatible.·Dialyzer's·nominal·type-checking
146 aligns·with·the·examples'·expected·results·in·this·section.</p><p>If·we·continue·from·the·example·above:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="2510756794-1">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="2510756794-2">(</span><span·class="p"·data-group-id="2510756794-2">)</span><span·class="p"·data-group-id="2510756794-1">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·155,·SHA:·20d7f6bce971eba1cb47b8ab6631638b57c2939d96010436e6846c568f692f6c·...·]-3">)</span><span·class="p">.</span><span·class="w">146 aligns·with·the·examples'·expected·results·in·this·section.</p><p>If·we·continue·from·the·example·above:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="9776720990-1">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="9776720990-2">(</span><span·class="p"·data-group-id="9776720990-2">)</span><span·class="p"·data-group-id="9776720990-1">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·155,·SHA:·bb0b3ac6fecc162db640c079b2608bd747af1a21d561bd075be17c75a913a7df·...·]-3">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="2510756794-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="2510756794-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="p">.</span><span·class="w">147 </span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="9776720990-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="9776720990-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="p">.</span><span·class="w">
148 </span><span·class="w">148 </span><span·class="w">
149 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="2510756794-5">(</span><span·class="p"·data-group-id="2510756794-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="2510756794-6">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·56ceec0c4044eb5eab9c271d5ea16177fc46347a578265c7e0ad94059d783a1a·...·]-6">)</span><span·class="p">.</span><span·class="w">149 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="9776720990-5">(</span><span·class="p"·data-group-id="9776720990-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="9776720990-6">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·2b1bc82c8a6698bcc6a442b1315e6fd124cc92ae6d4b6170c0cfd56c6858b77a·...·]-6">)</span><span·class="p">.</span><span·class="w">
150 </span><span·class="nf">foo</span><span·class="p"·data-group-id="2510756794-7">(</span><span·class="p"·data-group-id="2510756794-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="2510756794-8">(</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·51,·SHA:·fec1d236edf79b366381aa7b38e87492644ffd7c2a965720eb0886e7a0507b69·...·]-8">)</span><span·class="p">.</span></code></pre><p>A·type·checker·that·performs·nominal·type-checking·should·raise·a·warning.150 </span><span·class="nf">foo</span><span·class="p"·data-group-id="9776720990-7">(</span><span·class="p"·data-group-id="9776720990-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="9776720990-8">(</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·51,·SHA:·a0cc8848798d08e5e47e703d46a65167f54aefcd3fa2ffc2ce6d5c5445fae303·...·]-8">)</span><span·class="p">.</span></code></pre><p>A·type·checker·that·performs·nominal·type-checking·should·raise·a·warning.
151 According·to·the·specification,·<code·class="inline">foo/0</code>·should·return·a·<code·class="inline">foot()</code>·type.·However,151 According·to·the·specification,·<code·class="inline">foo/0</code>·should·return·a·<code·class="inline">foot()</code>·type.·However,
152 the·function·<code·class="inline">int_to_meter/1</code>·returns·a·<code·class="inline">meter()</code>·type,·so·<code·class="inline">foo/0</code>·will·also152 the·function·<code·class="inline">int_to_meter/1</code>·returns·a·<code·class="inline">meter()</code>·type,·so·<code·class="inline">foo/0</code>·will·also
153 return·a·<code·class="inline">meter()</code>·type.·Because·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·incompatible153 return·a·<code·class="inline">meter()</code>·type.·Because·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·incompatible
154 nominal·types,·Dialyzer·raises·the·following·warning·for·<code·class="inline">foo/0</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Invalid</span><span·class="w">·</span><span·class="ss">type</span><span·class="w">·</span><span·class="ss">specification</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">.</span><span·class="w">154 nominal·types,·Dialyzer·raises·the·following·warning·for·<code·class="inline">foo/0</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Invalid</span><span·class="w">·</span><span·class="ss">type</span><span·class="w">·</span><span·class="ss">specification</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">.</span><span·class="w">
155 </span><span·class="n">The</span><span·class="w">·</span><span·class="ss">success</span><span·class="w">·</span><span·class="ss">typing</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="0349100548-1">(</span><span·class="p"·data-group-id="0349100548-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0349100548-2">(</span><span·class="nf">meter</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·357,·SHA:·774ad9883c741d87e754b18c422e08a3d6cf893453115ea3d091c3a1916fe742·...·]-2">)</span><span·class="w">155 </span><span·class="n">The</span><span·class="w">·</span><span·class="ss">success</span><span·class="w">·</span><span·class="ss">typing</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="7935863425-1">(</span><span·class="p"·data-group-id="7935863425-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7935863425-2">(</span><span·class="nf">meter</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·357,·SHA:·a845d7064b5c25972229deefb1c25b346dd60d3c7e1c8c4ecc0b8dadde1111ac·...·]-2">)</span><span·class="w">
156 </span><span·class="n">But</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">spec</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="0349100548-5">(</span><span·class="p"·data-group-id="0349100548-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="0349100548-6">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·7a37d5931d994941000a4109f1050c53f35f88702a688abf19f218e546802291·...·]-6">)</span><span·class="w">156 </span><span·class="n">But</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">spec</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="7935863425-5">(</span><span·class="p"·data-group-id="7935863425-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="7935863425-6">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·ae2aca1e867c28398d1a45cecce3d5e0f6d40497b8459fe8e03f8e66a797b8f2·...·]-6">)</span><span·class="w">
157 </span><span·class="n">The</span><span·class="w">·</span><span·class="ss">return</span><span·class="w">·</span><span·class="ss">types</span><span·class="w">·</span><span·class="ss">do</span><span·class="w">·</span><span·class="ow">not</span><span·class="w">·</span><span·class="ss">overlap</span></code></pre><p>On·the·other·hand,·a·nominal·type·is·compatible·with·a·non-opaque,·non-nominal157 </span><span·class="n">The</span><span·class="w">·</span><span·class="ss">return</span><span·class="w">·</span><span·class="ss">types</span><span·class="w">·</span><span·class="ss">do</span><span·class="w">·</span><span·class="ow">not</span><span·class="w">·</span><span·class="ss">overlap</span></code></pre><p>On·the·other·hand,·a·nominal·type·is·compatible·with·a·non-opaque,·non-nominal
158 type·with·the·same·structure.·This·compatibility·goes·both·ways,·meaning·that158 type·with·the·same·structure.·This·compatibility·goes·both·ways,·meaning·that
159 passing·a·structural·type·when·a·nominal·type·is·expected·is·allowed,·and159 passing·a·structural·type·when·a·nominal·type·is·expected·is·allowed,·and
160 vice·versa.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">qaz</span><span·class="p"·data-group-id="2571751539-1">(</span><span·class="p"·data-group-id="2571751539-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2571751539-2">(</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·3dfcb245c2c087d471e7b3a693aa085441014d7c6052f09383f06c26c0813c43·...·]-2">)</span><span·class="p">.</span><span·class="w">160 vice·versa.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">qaz</span><span·class="p"·data-group-id="8661115703-1">(</span><span·class="p"·data-group-id="8661115703-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8661115703-2">(</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·4d9a30928897f2abb6893b80166389fd5c9a3c2da794bfadb244a139cd421118·...·]-2">)</span><span·class="p">.</span><span·class="w">
161 </span><span·class="nf">qaz</span><span·class="p"·data-group-id="2571751539-3">(</span><span·class="p"·data-group-id="2571751539-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="2571751539-4">(</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·51,·SHA:·dbd41792199e8df539911ae3477cd482343a3702c40c86d68689c544844a81c6·...·]-4">)</span><span·class="p">.</span></code></pre><p>A·type·checker·that·performs·nominal·type-checking·should·not·raise·a·warning161 </span><span·class="nf">qaz</span><span·class="p"·data-group-id="8661115703-3">(</span><span·class="p"·data-group-id="8661115703-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">int_to_meter</span><span·class="p"·data-group-id="8661115703-4">(</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·51,·SHA:·472d9bc177175cf1e2df6fa656ea27bc3685866d77f0e94568a199586ebd951c·...·]-4">)</span><span·class="p">.</span></code></pre><p>A·type·checker·that·performs·nominal·type-checking·should·not·raise·a·warning
162 in·this·case.·The·specification·says·that·<code·class="inline">qaz/0</code>·should·return·an·<code·class="inline">integer()</code>162 in·this·case.·The·specification·says·that·<code·class="inline">qaz/0</code>·should·return·an·<code·class="inline">integer()</code>
163 type.·However,·the·function·<code·class="inline">int_to_meter/1</code>·returns·a·<code·class="inline">meter()</code>·type,·so163 type.·However,·the·function·<code·class="inline">int_to_meter/1</code>·returns·a·<code·class="inline">meter()</code>·type,·so
164 <code·class="inline">qaz/0</code>·will·also·return·a·<code·class="inline">meter()</code>·type.·<code·class="inline">integer()</code>·is·not·a·nominal·type.164 <code·class="inline">qaz/0</code>·will·also·return·a·<code·class="inline">meter()</code>·type.·<code·class="inline">integer()</code>·is·not·a·nominal·type.
165 The·structure·of·<code·class="inline">meter()</code>·is·compatible·with·<code·class="inline">integer()</code>.·Dialyzer·can165 The·structure·of·<code·class="inline">meter()</code>·is·compatible·with·<code·class="inline">integer()</code>.·Dialyzer·can
166 analyze·the·function·above·without·raising·a·warning.</p><p>There·is·one·exception·where·two·nominal·types·with·different·names·can·be166 analyze·the·function·above·without·raising·a·warning.</p><p>There·is·one·exception·where·two·nominal·types·with·different·names·can·be
167 compatible:·when·one·is·derived·from·the·other.·For·nominal·types·<code·class="inline">s()</code>·and167 compatible:·when·one·is·derived·from·the·other.·For·nominal·types·<code·class="inline">s()</code>·and
168 <code·class="inline">t()</code>,·<code·class="inline">s()</code>·can·be·derived·from·<code·class="inline">t()</code>·in·the·two·following·ways:</p><ol><li>If·<code·class="inline">s()</code>·is·directly·derived·from·<code·class="inline">t()</code>.</li></ol><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">s</span><span·class="p"·data-group-id="1359750125-1">(</span><span·class="p"·data-group-id="1359750125-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">t</span><span·class="p"·data-group-id="1359750125-2">(</span><span·c[·...·truncated·by·diffoscope;·len:·719,·SHA:·d15e527ff656472e7035a0063014c4f047688c8146e02075881f27255ec3990d·...·]-2">)</span><span·class="p">.</span><span·class="w">168 <code·class="inline">t()</code>,·<code·class="inline">s()</code>·can·be·derived·from·<code·class="inline">t()</code>·in·the·two·following·ways:</p><ol><li>If·<code·class="inline">s()</code>·is·directly·derived·from·<code·class="inline">t()</code>.</li></ol><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">s</span><span·class="p"·data-group-id="5505073049-1">(</span><span·class="p"·data-group-id="5505073049-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">t</span><span·class="p"·data-group-id="5505073049-2">(</span><span·c[·...·truncated·by·diffoscope;·len:·719,·SHA:·66d71d3e54f45a3c5cb4455919b3a9f47b882cb8b742e03156fe53be0a19a412·...·]-2">)</span><span·class="p">.</span><span·class="w">
169 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">nominal_1</span><span·class="p"·data-group-id="4817407866-3">(</span><span·class="p"·data-group-id="4817407866-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">nominal_2</span><span·class="p"·data-group-id="4817407866-4">(</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·bc26c86451d23be6fa6a2525be284283072465527626c0b30861ffa07d503bcb·...·]-4">)</span><span·class="p">.</span><span·class="w">169 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">nominal_1</span><span·class="p"·data-group-id="9269119917-3">(</span><span·class="p"·data-group-id="9269119917-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">nominal_2</span><span·class="p"·data-group-id="9269119917-4">(</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·9cdfea7b8f5796bbe60ade446a11bb5ee6ae83c0c89e08381fb5e3442cfcb9ca·...·]-4">)</span><span·class="p">.</span><span·class="w">
170 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">nominal_2</span><span·class="p"·data-group-id="4817407866-5">(</span><span·class="p"·data-group-id="4817407866-5">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">t</span><span·class="p"·data-group-id="4817407866-6">(</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·eca6852e7d785af348cadb083a7e70c46bff0fa3b7a8e7a8e48ad3897dd8b2e7·...·]-6">)</span><span·class="p">.</span></code></pre><p>In·both·cases,·<code·class="inline">s()</code>·and·<code·class="inline">t()</code>·are·compatible·nominal·types·even·though·they170 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">nominal_2</span><span·class="p"·data-group-id="9269119917-5">(</span><span·class="p"·data-group-id="9269119917-5">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">t</span><span·class="p"·data-group-id="9269119917-6">(</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·b4b0c90eb70ae45be9f17d8b97eac976147c935b5f4a261f508dfeccb8eab307·...·]-6">)</span><span·class="p">.</span></code></pre><p>In·both·cases,·<code·class="inline">s()</code>·and·<code·class="inline">t()</code>·are·compatible·nominal·types·even·though·they
171 have·different·names.·Defining·them·in·different·modules·does·not·affect171 have·different·names.·Defining·them·in·different·modules·does·not·affect
172 compatiblity.</p><p>In·summary,·nominal·type-checking·rules·are·as·follows:</p><p>A·function·that·has·a·<code·class="inline">-spec</code>·that·states·an·argument·or·a·return·type·to·be172 compatiblity.</p><p>In·summary,·nominal·type-checking·rules·are·as·follows:</p><p>A·function·that·has·a·<code·class="inline">-spec</code>·that·states·an·argument·or·a·return·type·to·be
173 nominal·type·<code·class="inline">a/0</code>·(or·any·other·arity),·accepts·or·may·return:</p><ul><li>Nominal·type·<code·class="inline">a/0</code></li><li>A·compatible·nominal·type·<code·class="inline">b/0</code></li><li>A·compatible·structural·type</li></ul><p>A·function·that·has·a·<code·class="inline">-spec</code>·that·states·an·argument·or·a·return·type·to·be·a173 nominal·type·<code·class="inline">a/0</code>·(or·any·other·arity),·accepts·or·may·return:</p><ul><li>Nominal·type·<code·class="inline">a/0</code></li><li>A·compatible·nominal·type·<code·class="inline">b/0</code></li><li>A·compatible·structural·type</li></ul><p>A·function·that·has·a·<code·class="inline">-spec</code>·that·states·an·argument·or·a·return·type·to·be·a
174 structural·type·<code·class="inline">b/0</code>·(or·any·other·arity),·accepts·or·may·return:</p><ul><li>A·compatible·structural·type</li><li>A·compatible·nominal·type</li></ul><p><strong>When·deciding·if·a·type·should·be·nominal,·here·are·some·suggestions:</strong></p><ul><li>If·there·are·other·types·in·the·same·module·with·the·same·structure,·and·they174 structural·type·<code·class="inline">b/0</code>·(or·any·other·arity),·accepts·or·may·return:</p><ul><li>A·compatible·structural·type</li><li>A·compatible·nominal·type</li></ul><p><strong>When·deciding·if·a·type·should·be·nominal,·here·are·some·suggestions:</strong></p><ul><li>If·there·are·other·types·in·the·same·module·with·the·same·structure,·and·they
175 should·never·be·mixed,·all·of·them·can·benefit·from·being·nominal·types.</li><li>If·a·type·represents·a·unit·like·meter,·second,·byte,·and·so·on,·defining·it175 should·never·be·mixed,·all·of·them·can·benefit·from·being·nominal·types.</li><li>If·a·type·represents·a·unit·like·meter,·second,·byte,·and·so·on,·defining·it
176 as·a·nominal·type·is·always·more·useful·than·<code·class="inline">-type</code>.·You·get·the·nice176 as·a·nominal·type·is·always·more·useful·than·<code·class="inline">-type</code>.·You·get·the·nice
177 guarantee·that·you·cannot·mix·them·up·with·other·units·defined·as·nominal177 guarantee·that·you·cannot·mix·them·up·with·other·units·defined·as·nominal
Offset 224, 15 lines modifiedOffset 224, 15 lines modified
224 ······<p·class="built-using">224 ······<p·class="built-using">
225 ········Built·using225 ········Built·using
226 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the226 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
227 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>227 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
228 ······</p>228 ······</p>
229 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>229 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
230 ····</footer>230 ····</footer>
231 ··</div>231 ··</div>
232 </main>232 </main>
233 </div>233 </div>
234 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>234 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
235 ··<script>235 ··<script>
236 ··let·initialized·=·false;236 ··let·initialized·=·false;
692 B
html2text {}
Max HTML report size reached
10.6 KB
./usr/share/doc/erlang-doc/html/doc/system/opaques.html
    
Offset 124, 24 lines modifiedOffset 124, 24 lines modified
124 <p>The·main·use·case·for·opacity·in·Erlang·is·to·hide·the·implementation·of·a·data124 <p>The·main·use·case·for·opacity·in·Erlang·is·to·hide·the·implementation·of·a·data
125 type,·enabling·evolving·the·API·while·minimizing·the·risk·of·breaking·consumers.125 type,·enabling·evolving·the·API·while·minimizing·the·risk·of·breaking·consumers.
126 The·runtime·does·not·check·opacity.·Dialyzer·provides·some·opacity-checking,·but126 The·runtime·does·not·check·opacity.·Dialyzer·provides·some·opacity-checking,·but
127 the·rest·is·up·to·convention.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Since·Erlang/OTP·28,·Dialyzer·checks·opaques·in·their·defining·module·in·the127 the·rest·is·up·to·convention.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Since·Erlang/OTP·28,·Dialyzer·checks·opaques·in·their·defining·module·in·the
128 same·way·as·nominals.·Outside·of·the·defining·module,·Dialyzer·checks128 same·way·as·nominals.·Outside·of·the·defining·module,·Dialyzer·checks
129 opaques·for·opacity·violations.</p></section><p>This·document·explains·what·Erlang·opacity·is·(and·the·trade-offs·involved)·via129 opaques·for·opacity·violations.</p></section><p>This·document·explains·what·Erlang·opacity·is·(and·the·trade-offs·involved)·via
130 the·example·of·the·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#t:set/0"><code·class="inline">sets:set()</code></a>·data·type.·This·type·<em>was</em>130 the·example·of·the·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#t:set/0"><code·class="inline">sets:set()</code></a>·data·type.·This·type·<em>was</em>
131 defined·in·the·<code·class="inline">sets</code>·module·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">opaque</span><span·class="w">·</span><span·class="nf">set</span><span·class="p"·data-group-id="0862278116-1">(</span><span·class="n">Element</span><span·class="p"·data-group-id="0862278116-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">set</span><span·class="p"·data-group-id="0862278116-2">{</span><span·class="ss">segs</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">segs</span><span·class="p"·data-group-id="0862278116-3">(</span><span·class="n">Element</span><span·class="p"·data-group-id="0862278116-3">)</span><span·class="p"·data-group-id="0862278116-2">}</span><span·class="p">.</span></code></pre><p>OTP·24·changed·the·definition·to·the·following·in 
132 <a·href="https://github.com/erlang/otp/commit/e66941e8d7c47b973dff94c0308ea85a6be1958e">this·commit</a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">opaque</span><span·class="w">·</span><span·class="nf">set</[·...·truncated·by·diffoscope;·len:·1135,·SHA:·dd7db7f37fe5ee5384b38720253426d929ca20c35798123d80ee10aad0b50220·...·]131 defined·in·the·<code·class="inline">sets</code>·module·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">opaque</span><span·class="w">·</span><span·class="nf">set</span><span·class="p"·data-group-id="942[·...·truncated·by·diffoscope;·len:·732,·SHA:·156d08286f7949d1fbb9f52f43360332f837f4f08c6a1b2950d65285bef1db55·...·]
 132 <a·href="https://github.com/erlang/otp/commit/e66941e8d7c47b973dff94c0308ea85a6be1958e">this·commit</a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">opaque</span><span·class="w">·</span><span·class="nf">set</span><span·class="p"·data-group-id="1508259150-1">(</span><span·class="n">Element</span><span·class="p"·data-group-id="1508259150-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">set</span><span·class="p"·data-group-id="1508259150-2">{</span><span·class="ss">segs</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">segs</span><span·class="p"·data-group-id="1508259150-3">(</span><span·class="n">Element</span><span·class="p"·data-group-id="1508259150-3">)</span><span·class="p"·data-group-id="1508259150-2">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="1508259150-4">#{</span><span·class="n">Element</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="o">?</span><span·class="n">VALUE</span><span·class="p"·data-group-id="1508259150-4">}</span><span·class="p">.</span></code></pre><p>And·this·change·was·safer·and·more·backwards-compatible·than·if·the·type·had
133 been·defined·with·<code·class="inline">-type</code>·instead·of·<code·class="inline">-opaque</code>.·Here·is·why:·when·a·module133 been·defined·with·<code·class="inline">-type</code>·instead·of·<code·class="inline">-opaque</code>.·Here·is·why:·when·a·module
134 defines·an·<code·class="inline">-opaque</code>,·the·contract·is·that·only·the·defining·module·should·rely134 defines·an·<code·class="inline">-opaque</code>,·the·contract·is·that·only·the·defining·module·should·rely
135 on·the·definition·of·the·type:·no·other·modules·should·rely·on·the·definition.</p><p>This·means·that·code·that·pattern-matched·on·<code·class="inline">set</code>·as·a·record/tuple·technically135 on·the·definition·of·the·type:·no·other·modules·should·rely·on·the·definition.</p><p>This·means·that·code·that·pattern-matched·on·<code·class="inline">set</code>·as·a·record/tuple·technically
136 broke·the·contract,·and·opted·in·to·being·potentially·broken·when·the·definition136 broke·the·contract,·and·opted·in·to·being·potentially·broken·when·the·definition
137 of·<code·class="inline">set()</code>·changed.·Before·OTP·24,·this·code·printed·<code·class="inline">ok</code>.·In·OTP·24·it·may137 of·<code·class="inline">set()</code>·changed.·Before·OTP·24,·this·code·printed·<code·class="inline">ok</code>.·In·OTP·24·it·may
138 error:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="6281241125-1">(</span><span·class="p"·data-group-id="6281241125-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">138 error:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="0204096473-1">(</span><span·class="p"·data-group-id="0204096473-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
139 ····</span><span·class="n">Set</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="6281241125-2">(</span><span·class="n">Set</span><span·class="p"·data-group-id="6281241125-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">139 ····</span><span·class="n">Set</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="0204096473-2">(</span><span·class="n">Set</span><span·class="p"·data-group-id="0204096473-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
140 ········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6281241125-3">(</span><span·class="s">&quot;ok&quot;</span><span·class="p"·data-group-id="6281241125-3">)</span><span·class="w">140 ········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0204096473-3">(</span><span·class="s">&quot;ok&quot;</span><span·class="p"·data-group-id="0204096473-3">)</span><span·class="w">
141 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p><strong>When·working·with·an·opaque·defined·in·another·module,·here·are·some141 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p><strong>When·working·with·an·opaque·defined·in·another·module,·here·are·some
142 recommendations:</strong></p><ul><li>Don't·examine·the·underlying·type·using·pattern-matching,·guards,·or·functions142 recommendations:</strong></p><ul><li>Don't·examine·the·underlying·type·using·pattern-matching,·guards,·or·functions
143 that·reveal·the·type,·such·as·<a·href="../../erts-16.0/doc/html/erlang.html#tuple_size/1"><code·class="inline">tuple_size/1</code></a>·.·One·exception143 that·reveal·the·type,·such·as·<a·href="../../erts-16.0/doc/html/erlang.html#tuple_size/1"><code·class="inline">tuple_size/1</code></a>·.·One·exception
144 is·that·<code·class="inline">=:=</code>·and·<code·class="inline">=/=</code>·can·be·used·between·two·opaques·with·the·same·name,·or144 is·that·<code·class="inline">=:=</code>·and·<code·class="inline">=/=</code>·can·be·used·between·two·opaques·with·the·same·name,·or
145 between·an·opaque·and·<code·class="inline">any()</code>,·as·those·comparisons·do·not·reveal·underlying145 between·an·opaque·and·<code·class="inline">any()</code>,·as·those·comparisons·do·not·reveal·underlying
146 types.</li><li>Use·functions·provided·by·the·module·for·working·with·the·type.·For146 types.</li><li>Use·functions·provided·by·the·module·for·working·with·the·type.·For
147 example,·<code·class="inline">sets</code>·module·provides·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#new/0"><code·class="inline">sets:new/0</code></a>,·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#add_element/2"><code·class="inline">sets:add_element/2</code></a>,147 example,·<code·class="inline">sets</code>·module·provides·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#new/0"><code·class="inline">sets:new/0</code></a>,·<a·href="../../lib/stdlib-7.0/doc/html/sets.html#add_element/2"><code·class="inline">sets:add_element/2</code></a>,
Offset 213, 15 lines modifiedOffset 213, 15 lines modified
213 ······<p·class="built-using">213 ······<p·class="built-using">
214 ········Built·using214 ········Built·using
215 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the215 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
216 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>216 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
217 ······</p>217 ······</p>
218 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>218 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
219 ····</footer>219 ····</footer>
220 ··</div>220 ··</div>
221 </main>221 </main>
222 </div>222 </div>
223 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>223 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
224 ··<script>224 ··<script>
225 ··let·initialized·=·false;225 ··let·initialized·=·false;
823 B
html2text {}
Max HTML report size reached
3.01 KB
./usr/share/doc/erlang-doc/html/doc/system/otp-patch-apply.html
    
Offset 201, 15 lines modifiedOffset 201, 15 lines modified
201 ··</a>201 ··</a>
202 ··<span·class="text">Sanity·check</span>202 ··<span·class="text">Sanity·check</span>
203 </h2>203 </h2>
204 <p>The·application·dependencies·can·be·checked·using·the·Erlang·shell.204 <p>The·application·dependencies·can·be·checked·using·the·Erlang·shell.
205 Application·dependencies·are·verified·among·installed·applications·by205 Application·dependencies·are·verified·among·installed·applications·by
206 <code·class="inline">otp_patch_apply</code>,·but·these·are·not·necessarily·those·actually·loaded.206 <code·class="inline">otp_patch_apply</code>,·but·these·are·not·necessarily·those·actually·loaded.
207 By·calling·<code·class="inline">system_information:sanity_check()</code>·one·can·validate207 By·calling·<code·class="inline">system_information:sanity_check()</code>·one·can·validate
208 dependencies·among·applications·actually·loaded.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">system_information</span><span·class="p">:</span><span·class="nf">sanity_check</span><span·class="p"·data-group-id="9895761747-1">(</span><span·class="p"·data-group-id="9895761747-1">)</span><span·class="p">.</span><span·class="w">208 dependencies·among·applications·actually·loaded.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">system_information</span><span·class="p">:</span><span·class="nf">sanity_check</span><span·class="p"·data-group-id="3505057853-1">(</span><span·class="p"·data-group-id="3505057853-1">)</span><span·class="p">.</span><span·class="w">
209 </span><span·class="ss">ok</span></code></pre><p>Please·take·a·look·at·the·reference·of·<a·href="../../lib/runtime_tools-2.2/doc/html/system_information.html#sanity_check/0"·title="">sanity_check()</a>·for·more209 </span><span·class="ss">ok</span></code></pre><p>Please·take·a·look·at·the·reference·of·<a·href="../../lib/runtime_tools-2.2/doc/html/system_information.html#sanity_check/0"·title="">sanity_check()</a>·for·more
210 information.</p>210 information.</p>
211 </div>211 </div>
  
212 <div·class="bottom-actions"·id="bottom-actions">212 <div·class="bottom-actions"·id="bottom-actions">
213 ··<div·class="bottom-actions-item">213 ··<div·class="bottom-actions-item">
  
Offset 254, 15 lines modifiedOffset 254, 15 lines modified
254 ······<p·class="built-using">254 ······<p·class="built-using">
255 ········Built·using255 ········Built·using
256 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the256 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
257 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>257 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
258 ······</p>258 ······</p>
259 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>259 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
260 ····</footer>260 ····</footer>
261 ··</div>261 ··</div>
262 </main>262 </main>
263 </div>263 </div>
264 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>264 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
265 ··<script>265 ··<script>
266 ··let·initialized·=·false;266 ··let·initialized·=·false;
727 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/doc/system/overview.html
    
Offset 307, 15 lines modifiedOffset 307, 15 lines modified
307 ······<p·class="built-using">307 ······<p·class="built-using">
308 ········Built·using308 ········Built·using
309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
311 ······</p>311 ······</p>
312 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>312 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
313 ····</footer>313 ····</footer>
314 ··</div>314 ··</div>
315 </main>315 </main>
316 </div>316 </div>
317 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>317 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
318 ··<script>318 ··<script>
319 ··let·initialized·=·false;319 ··let·initialized·=·false;
731 B
html2text {}
Max HTML report size reached
5.03 KB
./usr/share/doc/erlang-doc/html/doc/system/patterns.html
    
Offset 128, 18 lines modifiedOffset 128, 18 lines modified
128 succeeds,·any·unbound·variables·in·the·pattern·become·bound.·If·the·matching128 succeeds,·any·unbound·variables·in·the·pattern·become·bound.·If·the·matching
129 fails,·an·exception·is·raised.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">X</span><span·class="p">.</span><span·class="w">129 fails,·an·exception·is·raised.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">X</span><span·class="p">.</span><span·class="w">
130 </span><span·class="gt">**·1:1:·variable·&#39;X&#39;·is·unbound·**</span><span·class="gp·unselectable">130 </span><span·class="gt">**·1:1:·variable·&#39;X&#39;·is·unbound·**</span><span·class="gp·unselectable">
131 2&gt;·</span><span·class="n">X</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">.</span><span·class="w">131 2&gt;·</span><span·class="n">X</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">.</span><span·class="w">
132 </span><span·class="mi">2</span><span·class="gp·unselectable">132 </span><span·class="mi">2</span><span·class="gp·unselectable">
133 3&gt;·</span><span·class="n">X</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">133 3&gt;·</span><span·class="n">X</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">
134 </span><span·class="mi">3</span><span·class="gp·unselectable">134 </span><span·class="mi">3</span><span·class="gp·unselectable">
135 4&gt;·</span><span·class="p"·data-group-id="0230098435-1">{</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="0230098435-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·179,·SHA:·802909f59875432c28de8e70b9efbfa84af63c1e8c2c2e7ec21ac779bca48af2·...·]-2">}</span><span·class="p">.</span><span·class="w">135 4&gt;·</span><span·class="p"·data-group-id="6700732546-1">{</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="6700732546-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·179,·SHA:·c8df67f287ef5a77d877e94c04ea8c01e29039ef75ab688543beaf5f4e5ace60·...·]-2">}</span><span·class="p">.</span><span·class="w">
136 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·{1,2}</span><span·class="gp·unselectable">136 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·{1,2}</span><span·class="gp·unselectable">
137 5&gt;·</span><span·class="p"·data-group-id="0230098435-3">{</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="0230098435-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·179,·SHA:·ed08ced60172984bd7edc48eb4d66297fa160d207098be55edf660a0148df09e·...·]-4">}</span><span·class="p">.</span><span·class="w">137 5&gt;·</span><span·class="p"·data-group-id="6700732546-3">{</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="6700732546-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·179,·SHA:·19a44340019505c2338fe5c9116c409c32ce8ec207805727c004cb6ad7b394fe·...·]-4">}</span><span·class="p">.</span><span·class="w">
138 </span><span·class="p"·data-group-id="0230098435-5">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="0230098435-5">}</span><span·class="gp·unselectable">138 </span><span·class="p"·data-group-id="6700732546-5">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="6700732546-5">}</span><span·class="gp·unselectable">
139 6&gt;·</span><span·class="n">Y</span><span·class="p">.</span><span·class="w">139 6&gt;·</span><span·class="n">Y</span><span·class="p">.</span><span·class="w">
140 </span><span·class="mi">3</span></code></pre>140 </span><span·class="mi">3</span></code></pre>
141 </div>141 </div>
  
142 <div·class="bottom-actions"·id="bottom-actions">142 <div·class="bottom-actions"·id="bottom-actions">
143 ··<div·class="bottom-actions-item">143 ··<div·class="bottom-actions-item">
  
Offset 184, 15 lines modifiedOffset 184, 15 lines modified
184 ······<p·class="built-using">184 ······<p·class="built-using">
185 ········Built·using185 ········Built·using
186 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the186 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
187 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>187 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
188 ······</p>188 ······</p>
189 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>189 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
190 ····</footer>190 ····</footer>
191 ··</div>191 ··</div>
192 </main>192 </main>
193 </div>193 </div>
194 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>194 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
195 ··<script>195 ··<script>
196 ··let·initialized·=·false;196 ··let·initialized·=·false;
521 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/doc/system/ports.html
    
Offset 225, 15 lines modifiedOffset 225, 15 lines modified
225 ······<p·class="built-using">225 ······<p·class="built-using">
226 ········Built·using226 ········Built·using
227 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the227 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
228 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>228 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
229 ······</p>229 ······</p>
230 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>230 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
231 ····</footer>231 ····</footer>
232 ··</div>232 ··</div>
233 </main>233 </main>
234 </div>234 </div>
235 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>235 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
236 ··<script>236 ··<script>
237 ··let·initialized·=·false;237 ··let·initialized·=·false;
754 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/doc/system/profiling.html
    
Offset 311, 15 lines modifiedOffset 311, 15 lines modified
311 ······<p·class="built-using">311 ······<p·class="built-using">
312 ········Built·using312 ········Built·using
313 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the313 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
314 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>314 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
315 ······</p>315 ······</p>
316 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>316 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
317 ····</footer>317 ····</footer>
318 ··</div>318 ··</div>
319 </main>319 </main>
320 </div>320 </div>
321 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>321 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
322 ··<script>322 ··<script>
323 ··let·initialized·=·false;323 ··let·initialized·=·false;
741 B
html2text {}
Max HTML report size reached
71.4 KB
./usr/share/doc/erlang-doc/html/doc/system/prog_ex_records.html
    
Offset 122, 105 lines modifiedOffset 122, 105 lines modified
122 ··<span·class="text">Records·and·Tuples</span>122 ··<span·class="text">Records·and·Tuples</span>
123 </h2>123 </h2>
124 <p>The·main·advantage·of·using·records·rather·than·tuples·is·that·fields·in·a124 <p>The·main·advantage·of·using·records·rather·than·tuples·is·that·fields·in·a
125 record·are·accessed·by·name,·whereas·fields·in·a·tuple·are·accessed·by·position.125 record·are·accessed·by·name,·whereas·fields·in·a·tuple·are·accessed·by·position.
126 To·illustrate·these·differences,·suppose·that·you·want·to·represent·a·person126 To·illustrate·these·differences,·suppose·that·you·want·to·represent·a·person
127 with·the·tuple·<code·class="inline">{Name,·Address,·Phone}</code>.</p><p>To·write·functions·that·manipulate·this·data,·remember·the·following:</p><ul><li>The·<code·class="inline">Name</code>·field·is·the·first·element·of·the·tuple.</li><li>The·<code·class="inline">Address</code>·field·is·the·second·element.</li><li>The·<code·class="inline">Phone</code>·field·is·the·third·element.</li></ul><p>For·example,·to·extract·data·from·a·variable·<code·class="inline">P</code>·that·contains·such·a·tuple,·you127 with·the·tuple·<code·class="inline">{Name,·Address,·Phone}</code>.</p><p>To·write·functions·that·manipulate·this·data,·remember·the·following:</p><ul><li>The·<code·class="inline">Name</code>·field·is·the·first·element·of·the·tuple.</li><li>The·<code·class="inline">Address</code>·field·is·the·second·element.</li><li>The·<code·class="inline">Phone</code>·field·is·the·third·element.</li></ul><p>For·example,·to·extract·data·from·a·variable·<code·class="inline">P</code>·that·contains·such·a·tuple,·you
128 can·write·the·following·code·and·then·use·pattern·matching·to·extract·the128 can·write·the·following·code·and·then·use·pattern·matching·to·extract·the
129 relevant·fields:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="7969136296-1">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">P</span><span·class="p"·data-group-id="7969136296-1">)</span><span·class="p">,</span><span·class="w">129 relevant·fields:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="4992246016-1">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">P</span><span·class="p"·data-group-id="4992246016-1">)</span><span·class="p">,</span><span·class="w">
130 </span><span·class="n">Address</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="7969136296-2">(</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">P</span><span·class="p"·data-group-id="7969136296-2">)</span><span·class="p">,</span><span·class="w">130 </span><span·class="n">Address</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="4992246016-2">(</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">P</span><span·class="p"·data-group-id="4992246016-2">)</span><span·class="p">,</span><span·class="w">
131 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>Such·code·is·difficult·to·read·and·understand,·and·errors·occur·if·the·numbering131 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>Such·code·is·difficult·to·read·and·understand,·and·errors·occur·if·the·numbering
132 of·the·elements·in·the·tuple·is·wrong.·If·the·data·representation·of·the·fields132 of·the·elements·in·the·tuple·is·wrong.·If·the·data·representation·of·the·fields
133 is·changed,·by·re-ordering,·adding,·or·removing·fields,·all·references·to·the133 is·changed,·by·re-ordering,·adding,·or·removing·fields,·all·references·to·the
134 person·tuple·must·be·checked·and·possibly·modified.</p><p>Records·allow·references·to·the·fields·by·name,·instead·of·by·position.·In·the134 person·tuple·must·be·checked·and·possibly·modified.</p><p>Records·allow·references·to·the·fields·by·name,·instead·of·by·position.·In·the
135 following·example,·a·record·instead·of·a·tuple·is·used·to·store·the·data:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="1107459877-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1107459877-2">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·987bb744722e202afb6afbe965ca33c67980d0353bb3d8f61503b27b452dc607·...·]-1">)</span><span·class="p">.</span></code></pre><p>This·enables·references·to·the·fields·of·the·record·by·name.·For·example,·if·<code·class="inline">P</code>135 following·example,·a·record·instead·of·a·tuple·is·used·to·store·the·data:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="5608203740-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5608203740-2">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·664b7af6ee1c49891b82c678b64d47b5efccd9f57e4d6c233849ece88b3a049e·...·]-1">)</span><span·class="p">.</span></code></pre><p>This·enables·references·to·the·fields·of·the·record·by·name.·For·example,·if·<code·class="inline">P</code>
136 is·a·variable·whose·value·is·a·<code·class="inline">person</code>·record,·the·following·code·access·the136 is·a·variable·whose·value·is·a·<code·class="inline">person</code>·record,·the·following·code·access·the
137 name·and·address·fields·of·the·records:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">137 name·and·address·fields·of·the·records:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">
138 </span><span·class="n">Address</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">address</span><span·class="p">,</span><span·class="w">138 </span><span·class="n">Address</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">address</span><span·class="p">,</span><span·class="w">
139 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>Internally,·records·are·represented·using·tagged·tuples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4284153893-1">{</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Phone</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·66,·SHA:·dd108d3e2266cb3529cf33e5c44c1507d87aa7064f4acd5e8ac9f20681170ed3·...·]-1">}</span></code></pre><h2·id="defining-a-record"·class="section-heading">139 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>Internally,·records·are·represented·using·tagged·tuples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2742111478-1">{</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Phone</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·66,·SHA:·3b1e9354f6e59dabd71664e24e98fa9fd255eda4358db157520331a82282d155·...·]-1">}</span></code></pre><h2·id="defining-a-record"·class="section-heading">
140 ··<a·href="#defining-a-record"·class="hover-link">140 ··<a·href="#defining-a-record"·class="hover-link">
141 ····<i·class="ri-link-m"·aria-hidden="true"></i>141 ····<i·class="ri-link-m"·aria-hidden="true"></i>
142 ··</a>142 ··</a>
143 ··<span·class="text">Defining·a·Record</span>143 ··<span·class="text">Defining·a·Record</span>
144 </h2>144 </h2>
145 <p>This·following·definition·of·a·<code·class="inline">person</code>·is·used·in·several·examples·in·this145 <p>This·following·definition·of·a·<code·class="inline">person</code>·is·used·in·several·examples·in·this
146 section.·Three·fields·are·included,·<code·class="inline">name</code>,·<code·class="inline">phone</code>,·and·<code·class="inline">address</code>.·The·default146 section.·Three·fields·are·included,·<code·class="inline">name</code>,·<code·class="inline">phone</code>,·and·<code·class="inline">address</code>.·The·default
147 values·for·<code·class="inline">name</code>·and·<code·class="inline">phone</code>·is·&quot;&quot;·and·[],·respectively.·The·default·value·for147 values·for·<code·class="inline">name</code>·and·<code·class="inline">phone</code>·is·&quot;&quot;·and·[],·respectively.·The·default·value·for
148 <code·class="inline">address</code>·is·the·atom·<code·class="inline">undefined</code>,·since·no·default·value·is·supplied·for·this148 <code·class="inline">address</code>·is·the·atom·<code·class="inline">undefined</code>,·since·no·default·value·is·supplied·for·this
149 field:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="3988315487-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3988315487-2">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3988315487-3">[</span><span·class="p"·data-group-id="3988315487-3">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">address</span><span·class="p"·data-group-id="3988315487-2">}</span><span·class="p"·data-group-id="3988315487-1">)</span><span·class="p">.</span></code></pre><p>The·record·must·be·defined·in·the·shell·to·enable·use·of·the·record·syntax·in 
150 the·examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">rd</span><span·class="p"·data-group-id="4716770308-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">[·...·truncated·by·diffoscope;·len:·676,·SHA:·5208677e117c0858c838043c68bc3339647c5b8b21d8159837c6e9cba212c763·...·]149 field:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="3491535956-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·732,·SHA:·6695cdd77f8e3b2aeb05ac67ba8697c03ab5336f8037600885c4d9c23a5f58e7·...·]
 150 the·examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">rd</span><span·class="p"·data-group-id="1321092641-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1321092641-2">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1321092641-3">[</span><span·class="p"·data-group-id="1321092641-3">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">address</span><span·class="p"·data-group-id="1321092641-2">}</span><span·class="p"·data-group-id="1321092641-1">)</span><span·class="p">.</span><span·class="w">
151 </span><span·class="ss">person</span></code></pre><p>This·is·because·record·definitions·are·only·available·at·compile·time,·not·at151 </span><span·class="ss">person</span></code></pre><p>This·is·because·record·definitions·are·only·available·at·compile·time,·not·at
152 runtime.·For·details·on·records·in·the·shell,·see·the·<a·href="../../lib/stdlib-7.0/doc/html/shell.html"><code·class="inline">shell</code></a>·manual·page·in152 runtime.·For·details·on·records·in·the·shell,·see·the·<a·href="../../lib/stdlib-7.0/doc/html/shell.html"><code·class="inline">shell</code></a>·manual·page·in
153 STDLIB.</p><h2·id="creating-a-record"·class="section-heading">153 STDLIB.</p><h2·id="creating-a-record"·class="section-heading">
154 ··<a·href="#creating-a-record"·class="hover-link">154 ··<a·href="#creating-a-record"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">Creating·a·Record</span>157 ··<span·class="text">Creating·a·Record</span>
158 </h2>158 </h2>
159 <p>A·new·<code·class="inline">person</code>·record·is·created·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="4342295941-1">{</span><span·class="ss">phone</span><span·class="o">=</span><span·class="p"·data-group-id="4342295941-2">[</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">2</span><span[·...·truncated·by·diffoscope;·len:·475,·SHA:·ccac6826898f21f929152891237d025e1c8af19a3229c6222221f034970b7717·...·]-1">}</span><span·class="p">.</span><span·class="w">159 <p>A·new·<code·class="inline">person</code>·record·is·created·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="7032956786-1">{</span><span·class="ss">phone</span><span·class="o">=</span><span·class="p"·data-group-id="7032956786-2">[</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">2</span><span[·...·truncated·by·diffoscope;·len:·475,·SHA:·89e81af1520b9093205f844b09056b84b92075dfda514257b48b202edf9de72c·...·]-1">}</span><span·class="p">.</span><span·class="w">
160 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="4342295941-3">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Robert&quot;</span><span·class="p">,</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">[·...·truncated·by·diffoscope;·len:·707,·SHA:·75b2da0cefd7e36453e9c2322c42419e43795981eb92e7292f5e3cdb0176f8e6·...·]-3">}</span></code></pre><p>As·the·<code·class="inline">address</code>·field·was·omitted,·its·default·value·is·used.</p><p>From·Erlang·5.1/OTP·R8B,·a·value·to·all·fields·in·a·record·can·be·set·with·the160 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="7032956786-3">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Robert&quot;</span><span·class="p">,</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">[·...·truncated·by·diffoscope;·len:·707,·SHA:·d7976565e9a4e1e794857a79d29613005512253367376ff73ae2719cba0ef48a·...·]-3">}</span></code></pre><p>As·the·<code·class="inline">address</code>·field·was·omitted,·its·default·value·is·used.</p><p>From·Erlang·5.1/OTP·R8B,·a·value·to·all·fields·in·a·record·can·be·set·with·the
161 special·field·<code·class="inline">_</code>.·<code·class="inline">_</code>·means·&quot;all·fields·not·explicitly·specified&quot;.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="5290318808-1">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Jakob&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·126,·SHA:·667619649d6ca6bcace32f820fd0b1f65724b3cc9204e395f54cfcf645d7a472·...·]-1">}</span><span·class="p">.</span><span·class="w">161 special·field·<code·class="inline">_</code>.·<code·class="inline">_</code>·means·&quot;all·fields·not·explicitly·specified&quot;.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="9322820199-1">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Jakob&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·126,·SHA:·55c06456da0e8374656da8eae1b04535d7a646883ccaa01d79ce77966007aaa2·...·]-1">}</span><span·class="p">.</span><span·class="w">
162 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="5290318808-2">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Jakob&quot;</span><span·class="p">,</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">=[·...·truncated·by·diffoscope;·len:·269,·SHA:·12b4a08596b5b6c721506d4bb1e37c11e979a32df4df96c4c963eb65cd3afcc2·...·]-2">}</span></code></pre><p>It·is·primarily·intended·to·be·used·in·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#match/2"><code·class="inline">ets:match/2</code></a>·and162 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="9322820199-2">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Jakob&quot;</span><span·class="p">,</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">=[·...·truncated·by·diffoscope;·len:·269,·SHA:·e9707fd137aedb70385b4f155292ec971a4a5aab62e34b341d5aba1938734c3a·...·]-2">}</span></code></pre><p>It·is·primarily·intended·to·be·used·in·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#match/2"><code·class="inline">ets:match/2</code></a>·and
163 <a·href="../../lib/mnesia-4.24/doc/html/mnesia.html#match_object/3"><code·class="inline">mnesia:match_object/3</code></a>,·to·set·record·fields·to·the·atom·<code·class="inline">'_'</code>.·(This·is·a163 <a·href="../../lib/mnesia-4.24/doc/html/mnesia.html#match_object/3"><code·class="inline">mnesia:match_object/3</code></a>,·to·set·record·fields·to·the·atom·<code·class="inline">'_'</code>.·(This·is·a
164 wildcard·in·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#match/2"><code·class="inline">ets:match/2</code></a>.)</p><h2·id="accessing-a-record-field"·class="section-heading">164 wildcard·in·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#match/2"><code·class="inline">ets:match/2</code></a>.)</p><h2·id="accessing-a-record-field"·class="section-heading">
165 ··<a·href="#accessing-a-record-field"·class="hover-link">165 ··<a·href="#accessing-a-record-field"·class="hover-link">
166 ····<i·class="ri-link-m"·aria-hidden="true"></i>166 ····<i·class="ri-link-m"·aria-hidden="true"></i>
167 ··</a>167 ··</a>
168 ··<span·class="text">Accessing·a·Record·Field</span>168 ··<span·class="text">Accessing·a·Record·Field</span>
169 </h2>169 </h2>
170 <p>The·following·example·shows·how·to·access·a·record·field:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="9673686589-1">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Joe&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·568,·SHA:·f8cb0d4078e63ecceeb3e33ec262c09b438ad45b2eebd324fe04474978ce8631·...·]-1">}</span><span·class="p">.</span><span·class="w">170 <p>The·following·example·shows·how·to·access·a·record·field:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="3602037431-1">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Joe&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·568,·SHA:·ddff0179b212690f850ff00c3a40ccca99591f76fb0e47e8f131a9c770f3f63b·...·]-1">}</span><span·class="p">.</span><span·class="w">
171 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="9673686589-3">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Joe&quot;</span><span·class="p">,</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">=</[·...·truncated·by·diffoscope;·len:·704,·SHA:·0a7f93861ffbf80c4865d9b9a6737e8a684cad5ac6853275a4007214901b67aa·...·]-3">}</span><span·class="gp·unselectable">171 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="3602037431-3">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Joe&quot;</span><span·class="p">,</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">=</[·...·truncated·by·diffoscope;·len:·704,·SHA:·fa005b6a1c5f69ba3086b8928c6a3c65ec86133e512ba2b886d1cebe7b81f74f·...·]-3">}</span><span·class="gp·unselectable">
172 &gt;·</span><span·class="n">P</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">name</span><span·class="p">.</span><span·class="w">172 &gt;·</span><span·class="n">P</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">name</span><span·class="p">.</span><span·class="w">
173 </span><span·class="s">&quot;Joe&quot;</span></code></pre><h2·id="updating-a-record"·class="section-heading">173 </span><span·class="s">&quot;Joe&quot;</span></code></pre><h2·id="updating-a-record"·class="section-heading">
174 ··<a·href="#updating-a-record"·class="hover-link">174 ··<a·href="#updating-a-record"·class="hover-link">
175 ····<i·class="ri-link-m"·aria-hidden="true"></i>175 ····<i·class="ri-link-m"·aria-hidden="true"></i>
176 ··</a>176 ··</a>
177 ··<span·class="text">Updating·a·Record</span>177 ··<span·class="text">Updating·a·Record</span>
178 </h2>178 </h2>
179 <p>The·following·example·shows·how·to·update·a·record:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">P1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="8518726967-1">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="s">&quot;Joe&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</span><span·class="o">=</span><span·class="p"·data-group-id="8518726967-2[·...·truncated·by·diffoscope;·len:·373,·SHA:·cb2123a344620b97c881fbf702ababc35a2c7a47368f50b7563e67864728b65d·...·]-1">}</span><span·class="p">.</span><span·class="w">179 <p>The·following·example·shows·how·to·update·a·record:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">P1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="6155581316-1">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="s">&quot;Joe&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</span><span·class="o">=</span><span·class="p"·data-group-id="6155581316-2[·...·truncated·by·diffoscope;·len:·373,·SHA:·7bd6efda4b1803e918af9dc091a0bdece9d91290dd6f900f20d1ed72c355a9b5·...·]-1">}</span><span·class="p">.</span><span·class="w">
180 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="8518726967-3">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Joe&quot;</span><span·class="p">,</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">=</[·...·truncated·by·diffoscope;·len:·469,·SHA:·355b537a6eadde78a3c55140fef6edf9aea6dc35f631ae1796458ac7b2318ee6·...·]-3">}</span><span·class="gp·unselectable">180 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="6155581316-3">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Joe&quot;</span><span·class="p">,</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">=</[·...·truncated·by·diffoscope;·len:·469,·SHA:·85bea1e4609239ac995a6a2f6fc025cd31e4b234ed6b97113e9766a486fcb4ea·...·]-3">}</span><span·class="gp·unselectable">
181 &gt;·</span><span·class="n">P2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P1</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="8518726967-5">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="s">&quot;Robert&quot;</span><span·class="p"·data-group-id="8518726967-5">}</span><span·class="p">.</span><span·class="w">181 &gt;·</span><span·class="n">P2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P1</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="6155581316-5">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="s">&quot;Robert&quot;</span><span·class="p"·data-group-id="6155581316-5">}</span><span·class="p">.</span><span·class="w">
182 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="8518726967-6">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Robert&quot;</span><span·class="p">,</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">[·...·truncated·by·diffoscope;·len:·472,·SHA:·cbd7f76cb908624067acc14944a28cc43639c6a21d315f632619a1979c4ec1c0·...·]-6">}</span></code></pre><h2·id="type-testing"·class="section-heading">182 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="6155581316-6">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Robert&quot;</span><span·class="p">,</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">[·...·truncated·by·diffoscope;·len:·472,·SHA:·60e64af2caf40fcb643636178156ed162d4aab5f62bd17dc753be11ec33016bd·...·]-6">}</span></code></pre><h2·id="type-testing"·class="section-heading">
183 ··<a·href="#type-testing"·class="hover-link">183 ··<a·href="#type-testing"·class="hover-link">
184 ····<i·class="ri-link-m"·aria-hidden="true"></i>184 ····<i·class="ri-link-m"·aria-hidden="true"></i>
185 ··</a>185 ··</a>
186 ··<span·class="text">Type·Testing</span>186 ··<span·class="text">Type·Testing</span>
187 </h2>187 </h2>
188 <p>The·following·example·shows·that·the·guard·succeeds·if·<code·class="inline">P</code>·is·record·of·type188 <p>The·following·example·shows·that·the·guard·succeeds·if·<code·class="inline">P</code>·is·record·of·type
189 <code·class="inline">person</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="8195446462-1">(</span><span·class="n">P</span><span·class="p"·data-group-id="8195446462-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_record</span><span·class="p"·data-group-id="8195446462-2">(</s[·...·truncated·by·diffoscope;·len:·147,·SHA:·82b0cb5b86152f60ba44046c60c30fe4c85a53af5afc2c5bf01969ccde21e1a0·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">a_person</span><span·class="p">;</span><span·class="w">189 <code·class="inline">person</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="4948909651-1">(</span><span·class="n">P</span><span·class="p"·data-group-id="4948909651-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_record</span><span·class="p"·data-group-id="4948909651-2">(</s[·...·truncated·by·diffoscope;·len:·147,·SHA:·8748355f4f4a63b71e8765d4d414c28f6ca11784635f72aba898a65047c21da1·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">a_person</span><span·class="p">;</span><span·class="w">
190 </span><span·class="nf">foo</span><span·class="p"·data-group-id="8195446462-3">(</span><span·class="p">_</span><span·class="p"·data-group-id="8195446462-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">not_a_person</span><span·class="p">.</span></code></pre><h2·id="pattern-matching"·class="section-heading">190 </span><span·class="nf">foo</span><span·class="p"·data-group-id="4948909651-3">(</span><span·class="p">_</span><span·class="p"·data-group-id="4948909651-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">not_a_person</span><span·class="p">.</span></code></pre><h2·id="pattern-matching"·class="section-heading">
191 ··<a·href="#pattern-matching"·class="hover-link">191 ··<a·href="#pattern-matching"·class="hover-link">
192 ····<i·class="ri-link-m"·aria-hidden="true"></i>192 ····<i·class="ri-link-m"·aria-hidden="true"></i>
193 ··</a>193 ··</a>
194 ··<span·class="text">Pattern·Matching</span>194 ··<span·class="text">Pattern·Matching</span>
195 </h2>195 </h2>
196 <p>Matching·can·be·used·in·combination·with·records,·as·shown·in·the·following196 <p>Matching·can·be·used·in·combination·with·records,·as·shown·in·the·following
197 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">P3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="3794936369-1">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="s">&quot;Joe&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</span><span·class="o">=</span><span·class="p"·data-group-id="3794936369-2[·...·truncated·by·diffoscope;·len:·373,·SHA:·b6dacba815f70ad8935425a90dc6239e6c8d952db1f8f4528228db983ffda6e2·...·]-1">}</span><span·class="p">.</span><span·class="w">197 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">P3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="8420268043-1">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="s">&quot;Joe&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</span><span·class="o">=</span><span·class="p"·data-group-id="8420268043-2[·...·truncated·by·diffoscope;·len:·373,·SHA:·914afe56360d640d7d42d15182e1d23df78a9676fe8f4d7f4ffe3d4c67c9c60e·...·]-1">}</span><span·class="p">.</span><span·class="w">
198 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="3794936369-3">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Joe&quot;</span><span·class="p">,</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">=</[·...·truncated·by·diffoscope;·len:·469,·SHA:·49542d34b0405874667acd7fa4a5e7d2cf1d233f1663a6fb472abafb0f0aa608·...·]-3">}</span><span·class="gp·unselectable">198 </span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="8420268043-3">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Joe&quot;</span><span·class="p">,</span><span·class="ss">phone</span><span·class="w">·</span><span·class="o">=</[·...·truncated·by·diffoscope;·len:·469,·SHA:·1f57bdedd95d408157a9f69308e49ad5e288a2ca50a4da2722abe26d2f9e60d7·...·]-3">}</span><span·class="gp·unselectable">
199 &gt;·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="3794936369-5">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="3794936369-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">.</span><span·class="w">199 &gt;·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="8420268043-5">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="8420268043-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">.</span><span·class="w">
200 </span><span·class="s">&quot;Joe&quot;</span></code></pre><p>The·following·function·takes·a·list·of·<code·class="inline">person</code>·records·and·searches·for·the200 </span><span·class="s">&quot;Joe&quot;</span></code></pre><p>The·following·function·takes·a·list·of·<code·class="inline">person</code>·records·and·searches·for·the
201 phone·number·of·a·person·with·a·particular·name:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">find_phone</span><span·class="p"·data-group-id="9335995519-1">(</span><span·class="p"·data-group-id="9335995519-2">[</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="9335995519-3">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="n">Name</[·...·truncated·by·diffoscope;·len:·452,·SHA:·f7ce1ea561284a8cbb9658b583daedad36d4bec6b08b3cb7a399f84a8d0609a9·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">201 phone·number·of·a·person·with·a·particular·name:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">find_phone</span><span·class="p"·data-group-id="7075548721-1">(</span><span·class="p"·data-group-id="7075548721-2">[</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="7075548721-3">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="n">Name</[·...·truncated·by·diffoscope;·len:·452,·SHA:·fd7ed26f3f84ff1236db70bc042e350318d7a710bcefb7d164012ff81fa92a96·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
202 ····</span><span·class="p"·data-group-id="9335995519-4">{</span><span·class="ss">found</span><span·class="p">,</span><span·class="w">··</span><span·class="n">Phone</span><span·class="p"·data-group-id="9335995519-4">}</span><span·class="p">;</span><span·class="w">202 ····</span><span·class="p"·data-group-id="7075548721-4">{</span><span·class="ss">found</span><span·class="p">,</span><span·class="w">··</span><span·class="n">Phone</span><span·class="p"·data-group-id="7075548721-4">}</span><span·class="p">;</span><span·class="w">
203 </span><span·class="nf">find_phone</span><span·class="p"·data-group-id="9335995519-5">(</span><span·class="p"·data-group-id="9335995519-6">[</span><span·class="p">_</span><span·class="p">|</span><span·class="w">·</span><span·class="n">T</span><span·class="p"·data-group-id="9335995519-6">]</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·84,·SHA:·cca3aff06842d9ef980965a3a260606874e778efea2381e7766b4fd560daf45b·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">203 </span><span·class="nf">find_phone</span><span·class="p"·data-group-id="7075548721-5">(</span><span·class="p"·data-group-id="7075548721-6">[</span><span·class="p">_</span><span·class="p">|</span><span·class="w">·</span><span·class="n">T</span><span·class="p"·data-group-id="7075548721-6">]</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·84,·SHA:·d7eaa8eb8916e52eb5a9aeaa72097a9b791716461e7049a9943018dffe5398eb·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
204 ····</span><span·class="nf">find_phone</span><span·class="p"·data-group-id="9335995519-7">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="9335995519-7">)</span><span·class="p">;</span><span·class="w">204 ····</span><span·class="nf">find_phone</span><span·class="p"·data-group-id="7075548721-7">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="7075548721-7">)</span><span·class="p">;</span><span·class="w">
205 </span><span·class="nf">find_phone</span><span·class="p"·data-group-id="9335995519-8">(</span><span·class="p"·data-group-id="9335995519-9">[</span><span·class="p"·data-group-id="9335995519-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="9335995519-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">205 </span><span·class="nf">find_phone</span><span·class="p"·data-group-id="7075548721-8">(</span><span·class="p"·data-group-id="7075548721-9">[</span><span·class="p"·data-group-id="7075548721-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="7075548721-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 ····</span><span·class="ss">not_found</span><span·class="p">.</span></code></pre><p>The·fields·referred·to·in·the·pattern·can·be·given·in·any·order.</p><h2·id="nested-records"·class="section-heading">206 ····</span><span·class="ss">not_found</span><span·class="p">.</span></code></pre><p>The·fields·referred·to·in·the·pattern·can·be·given·in·any·order.</p><h2·id="nested-records"·class="section-heading">
207 ··<a·href="#nested-records"·class="hover-link">207 ··<a·href="#nested-records"·class="hover-link">
208 ····<i·class="ri-link-m"·aria-hidden="true"></i>208 ····<i·class="ri-link-m"·aria-hidden="true"></i>
209 ··</a>209 ··</a>
210 ··<span·class="text">Nested·Records</span>210 ··<span·class="text">Nested·Records</span>
211 </h2>211 </h2>
212 <p>The·value·of·a·field·in·a·record·can·be·an·instance·of·a·record.·Retrieval·of212 <p>The·value·of·a·field·in·a·record·can·be·an·instance·of·a·record.·Retrieval·of
213 nested·data·can·be·done·stepwise,·or·in·a·single·step,·as·shown·in·the·following213 nested·data·can·be·done·stepwise,·or·in·a·single·step,·as·shown·in·the·following
214 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7155241086-1">(</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7155241086-2">{</span><span·class="ss">first</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Robert&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">last</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;Ericsson&quot;</span><span·class="p"·data-group-id="7155241086-2">}</span><span·class="p"·data-group-id="7155241086-1">)</span><span·class="p">.</span><span·class="w"> 
215 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7155241086-3">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7155241086-4">{</span><span·class[·...·truncated·by·diffoscope;·len:·420,·SHA:·dcc2612044a4f8dbcaaf312a3d8a7c7b152d2ec378a75ebe658adfbc97c3a963·...·]">)</span><span·class="p">.</span><span·class="w">214 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="8427077053-1">(</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·469,·SHA:·302412dd37e3595054ef7ce910e677f8eb43f8774f19a04e4b28ef6921dbc752·...·]">)</span><span·class="p">.</span><span·class="w">
 215 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="8427077053-3">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8427077053-4">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">name</span><span·class="p"·data-group-id="8427077053-5">{</span><span·class="p"·data-group-id="8427077053-5">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</span><span·class="p"·data-group-id="8427077053-4">}</span><span·class="p"·data-group-id="8427077053-3">)</span><span·class="p">.</span><span·class="w">
  
216 </span><span·class="nf">demo</span><span·class="p"·data-group-id="7155241086-6">(</span><span·class="p"·data-group-id="7155241086-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">216 </span><span·class="nf">demo</span><span·class="p"·data-group-id="8427077053-6">(</span><span·class="p"·data-group-id="8427077053-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
217 ··</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="7155241086-7">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">name</span><span·class="p"·data-group-id="7155241086-8">{</span><span·class="ss">first</span><span·class="o">=</span>[·...·truncated·by·diffoscope;·len:·381,·SHA:·4b0ecaaf641ec3ecce70875605798014271b717fcddadabc66b56838b1e608fe·...·]-7">}</span><span·class="p">,</span><span·class="w">217 ··</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="8427077053-7">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">name</span><span·class="p"·data-group-id="8427077053-8">{</span><span·class="ss">first</span><span·class="o">=</span>[·...·truncated·by·diffoscope;·len:·381,·SHA:·bbfc9d582b9a88f4d0778b983e049527673a7ba33109ee201e7a2080358a6a89·...·]-7">}</span><span·class="p">,</span><span·class="w">
218 ··</span><span·class="n">First</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7155241086-9">(</span><span·class="n">P</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">name</span><span·class="p"·data-group-id="7155241086-9">)</span><span·class="o">#</span><span·class="ss">name</span><span·class="p">.</span><span·class="ss">first</span><span·class="p">.</span></code></pre><p>Here,·<code·class="inline">demo()</code>·evaluates·to·<code·class="inline">&quot;Robert&quot;</code>.</p><h2·id="a-longer-example"·class="section-heading">218 ··</span><span·class="n">First</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8427077053-9">(</span><span·class="n">P</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">name</span><span·class="p"·data-group-id="8427077053-9">)</span><span·class="o">#</span><span·class="ss">name</span><span·class="p">.</span><span·class="ss">first</span><span·class="p">.</span></code></pre><p>Here,·<code·class="inline">demo()</code>·evaluates·to·<code·class="inline">&quot;Robert&quot;</code>.</p><h2·id="a-longer-example"·class="section-heading">
219 ··<a·href="#a-longer-example"·class="hover-link">219 ··<a·href="#a-longer-example"·class="hover-link">
220 ····<i·class="ri-link-m"·aria-hidden="true"></i>220 ····<i·class="ri-link-m"·aria-hidden="true"></i>
221 ··</a>221 ··</a>
222 ··<span·class="text">A·Longer·Example</span>222 ··<span·class="text">A·Longer·Example</span>
223 </h2>223 </h2>
224 <p>Comments·are·embedded·in·the·following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·File:·person.hrl</span><span·class="w">224 <p>Comments·are·embedded·in·the·following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·File:·person.hrl</span><span·class="w">
  
Offset 230, 48 lines modifiedOffset 230, 48 lines modified
230 </span><span·class="c1">%%····name:··A·string·(default·is·undefined).</span><span·class="w">230 </span><span·class="c1">%%····name:··A·string·(default·is·undefined).</span><span·class="w">
231 </span><span·class="c1">%%····age:···An·integer·(default·is·undefined).</span><span·class="w">231 </span><span·class="c1">%%····age:···An·integer·(default·is·undefined).</span><span·class="w">
232 </span><span·class="c1">%%····phone:·A·list·of·integers·(default·is·[]).</span><span·class="w">232 </span><span·class="c1">%%····phone:·A·list·of·integers·(default·is·[]).</span><span·class="w">
233 </span><span·class="c1">%%····dict:··A·dictionary·containing·various·information</span><span·class="w">233 </span><span·class="c1">%%····dict:··A·dictionary·containing·various·information</span><span·class="w">
234 </span><span·class="c1">%%···········about·the·person.</span><span·class="w">234 </span><span·class="c1">%%···········about·the·person.</span><span·class="w">
235 </span><span·class="c1">%%···········A·{Key,·Value}·list·(default·is·the·empty·list).</span><span·class="w">235 </span><span·class="c1">%%···········A·{Key,·Value}·list·(default·is·the·empty·list).</span><span·class="w">
236 </span><span·class="c1">%%------------------------------------------------------------</span><span·class="w">236 </span><span·class="c1">%%------------------------------------------------------------</span><span·class="w">
237 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="3836368135-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3836368135-2">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">age</span>[·...·truncated·by·diffoscope;·len:·878,·SHA:·fa152310d18cd2b9c28bfc926991f7ce8f778cd29c113c6cfe6e70b1b1aaa0ed·...·]-1">)</span><span·class="p">.</span><span·class="w">237 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="9168787105-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9168787105-2">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">age</span>[·...·truncated·by·diffoscope;·len:·878,·SHA:·3a9dbdbcbea6234744d5a50911d305569c7094364a20ad956c08508f5e72123d·...·]-1">)</span><span·class="p">.</span><span·class="w">
238 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="4382295902-2">(</span><span·class="s">&quot;person.hrl&quot;</span><span·class="p"·data-group-id="4382295902-2">)</span><span·class="p">.</span><span·class="w">238 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="5689391834-2">(</span><span·class="s">&quot;person.hrl&quot;</span><span·class="p"·data-group-id="5689391834-2">)</span><span·class="p">.</span><span·class="w">
239 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="4382295902-3">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="4382295902-3">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·For·test·purposes·only.</span><span·class="w">239 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="5689391834-3">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="5689391834-3">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·For·test·purposes·only.</span><span·class="w">
  
240 </span><span·class="c1">%%·This·creates·an·instance·of·a·person.</span><span·class="w">240 </span><span·class="c1">%%·This·creates·an·instance·of·a·person.</span><span·class="w">
241 </span><span·class="c1">%%···Note:·The·phone·number·is·not·supplied·so·the</span><span·class="w">241 </span><span·class="c1">%%···Note:·The·phone·number·is·not·supplied·so·the</span><span·class="w">
242 </span><span·class="c1">%%·········default·value·[]·will·be·used.</span><span·class="w">242 </span><span·class="c1">%%·········default·value·[]·will·be·used.</span><span·class="w">
  
243 </span><span·class="nf">make_hacker_without_phone</span><span·class="p"·data-group-id="4382295902-4">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Age</span><span·class="p"·data-group-id="4382295902-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">243 </span><span·class="nf">make_hacker_without_phone</span><span·class="p"·data-group-id="5689391834-4">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Age</span><span·class="p"·data-group-id="5689391834-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
244 ···</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="4382295902-5">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">age</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Age</span><span·class="p">,</span><span·class="w">244 ···</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="5689391834-5">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">age</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Age</span><span·class="p">,</span><span·class="w">
245 ···········</span><span·class="ss">dict</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4382295902-6">[</span><span·class="p"·data-group-id="4382295902-7">{</span><span·class="ss">computer_knowledge</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">excellent</span><span·class="p"·data-group-id="4382295902-7">}</span><span·class="p">,</span><span·class="w">245 ···········</span><span·class="ss">dict</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5689391834-6">[</span><span·class="p"·data-group-id="5689391834-7">{</span><span·class="ss">computer_knowledge</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">excellent</span><span·class="p"·data-group-id="5689391834-7">}</span><span·class="p">,</span><span·class="w">
246 ···················</span><span·class="p"·data-group-id="4382295902-8">{</span><span·class="ss">drinks</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">coke</span><span·class="p"·data-group-id="4382295902-8">}</span><span·class="p"·data-group-id="4382295902-6">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·2289076751443691f18d75648fc4f1355332b4e4ff3d9c405916f1067bf06aab·...·]-5">}</span><span·class="p">.</span><span·class="w">246 ···················</span><span·class="p"·data-group-id="5689391834-8">{</span><span·class="ss">drinks</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">coke</span><span·class="p"·data-group-id="5689391834-8">}</span><span·class="p"·data-group-id="5689391834-6">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·c723ded6561ef38842e7e28d96f6ff9e8cccc89b069f35c34f4e7385303389d1·...·]-5">}</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 13270/72312 bytes (18.35%) of diff not shown.
659 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/doc/system/programming_examples.html
    
Offset 163, 15 lines modifiedOffset 163, 15 lines modified
163 ······<p·class="built-using">163 ······<p·class="built-using">
164 ········Built·using164 ········Built·using
165 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the165 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
166 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>166 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
167 ······</p>167 ······</p>
168 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>168 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
169 ····</footer>169 ····</footer>
170 ··</div>170 ··</div>
171 </main>171 </main>
172 </div>172 </div>
173 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>173 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
174 ··<script>174 ··<script>
175 ··let·initialized·=·false;175 ··let·initialized·=·false;
650 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/doc/system/readme.html
    
Offset 165, 15 lines modifiedOffset 165, 15 lines modified
165 ······<p·class="built-using">165 ······<p·class="built-using">
166 ········Built·using166 ········Built·using
167 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the167 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
168 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>168 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
169 ······</p>169 ······</p>
170 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>170 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
171 ····</footer>171 ····</footer>
172 ··</div>172 ··</div>
173 </main>173 </main>
174 </div>174 </div>
175 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>175 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
176 ··<script>176 ··<script>
177 ··let·initialized·=·false;177 ··let·initialized·=·false;
736 B
html2text {}
Max HTML report size reached
85.5 KB
./usr/share/doc/erlang-doc/html/doc/system/records_macros.html
    
Offset 124, 40 lines modifiedOffset 124, 40 lines modified
124 </h2>124 </h2>
125 <p>To·illustrate·this,·the·messenger·example·from·the·previous·section·is·divided125 <p>To·illustrate·this,·the·messenger·example·from·the·previous·section·is·divided
126 into·the·following·five·files:</p><ul><li><p><code·class="inline">mess_config.hrl</code></p><p>Header·file·for·configuration·data</p></li><li><p><code·class="inline">mess_interface.hrl</code></p><p>Interface·definitions·between·the·client·and·the·messenger</p></li><li><p><code·class="inline">user_interface.erl</code></p><p>Functions·for·the·user·interface</p></li><li><p><code·class="inline">mess_client.erl</code></p><p>Functions·for·the·client·side·of·the·messenger</p></li><li><p><code·class="inline">mess_server.erl</code></p><p>Functions·for·the·server·side·of·the·messenger</p></li></ul><p>While·doing·this,·the·message·passing·interface·between·the·shell,·the·client,126 into·the·following·five·files:</p><ul><li><p><code·class="inline">mess_config.hrl</code></p><p>Header·file·for·configuration·data</p></li><li><p><code·class="inline">mess_interface.hrl</code></p><p>Interface·definitions·between·the·client·and·the·messenger</p></li><li><p><code·class="inline">user_interface.erl</code></p><p>Functions·for·the·user·interface</p></li><li><p><code·class="inline">mess_client.erl</code></p><p>Functions·for·the·client·side·of·the·messenger</p></li><li><p><code·class="inline">mess_server.erl</code></p><p>Functions·for·the·server·side·of·the·messenger</p></li></ul><p>While·doing·this,·the·message·passing·interface·between·the·shell,·the·client,
127 and·the·server·is·cleaned·up·and·is·defined·using·<em>records</em>.·Also,·<em>macros</em>·are127 and·the·server·is·cleaned·up·and·is·defined·using·<em>records</em>.·Also,·<em>macros</em>·are
128 introduced:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%----FILE·mess_config.hrl----</span><span·class="w">128 introduced:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%----FILE·mess_config.hrl----</span><span·class="w">
  
129 </span><span·class="c1">%%%·Configure·the·location·of·the·server·node,</span><span·class="w">129 </span><span·class="c1">%%%·Configure·the·location·of·the·server·node,</span><span·class="w">
130 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="3906364899-1">(</span><span·class="ss">server_node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">messenger@super</span><span·class="p"·data-group-id="3906364899-1">)</span><span·class="p">.</span><span·class="w">130 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="5217763551-1">(</span><span·class="ss">server_node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">messenger@super</span><span·class="p"·data-group-id="5217763551-1">)</span><span·class="p">.</span><span·class="w">
  
131 </span><span·class="c1">%%%----END·FILE----</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%----FILE·mess_interface.hrl----</span><span·class="w">131 </span><span·class="c1">%%%----END·FILE----</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%----FILE·mess_interface.hrl----</span><span·class="w">
  
132 </span><span·class="c1">%%%·Message·interface·between·client·and·server·and·client·shell·for</span><span·class="w">132 </span><span·class="c1">%%%·Message·interface·between·client·and·server·and·client·shell·for</span><span·class="w">
133 </span><span·class="c1">%%%·messenger·program</span><span·class="w">133 </span><span·class="c1">%%%·messenger·program</span><span·class="w">
  
134 </span><span·class="c1">%%%Messages·from·Client·to·server·received·in·server/1·function.</span><span·class="w">134 </span><span·class="c1">%%%Messages·from·Client·to·server·received·in·server/1·function.</span><span·class="w">
135 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6954285765-1">(</span><span·class="ss">logon</span><span·class="p">,</span><span·class="p"·data-group-id="6954285765-2">{</span><span·class="ss">client_pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">username</span><span·class="p[·...·truncated·by·diffoscope;·len:·79,·SHA:·a732dc99343e827ed581b3d733369f7c61321d6b7861396e885da6d418afa866·...·]5-1">)</span><span·class="p">.</span><span·class="w">135 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7567445425-1">(</span><span·class="ss">logon</span><span·class="p">,</span><span·class="p"·data-group-id="7567445425-2">{</span><span·class="ss">client_pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">username</span><span·class="p[·...·truncated·by·diffoscope;·len:·79,·SHA:·bd270192917d5ea13dfd36ac297c20fd229ee11c7b818973bde303db3472079b·...·]5-1">)</span><span·class="p">.</span><span·class="w">
136 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6954285765-3">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="6954285765-4">{</span><span·class="ss">client_pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">to_name</span><span·class="[·...·truncated·by·diffoscope;·len:·159,·SHA:·4ad42d68d1b82ed2250f2070fe44091304c38590776befbb828d901fd2d54016·...·]5-3">)</span><span·class="p">.</span><span·class="w">136 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7567445425-3">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="7567445425-4">{</span><span·class="ss">client_pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">to_name</span><span·class="[·...·truncated·by·diffoscope;·len:·159,·SHA:·ffa76e0383f1ad11197f7d6738d88aabe9a0a70e9fc7ace7b658ea01c0f7a681·...·]5-3">)</span><span·class="p">.</span><span·class="w">
137 </span><span·class="c1">%%%·{&#39;EXIT&#39;,·ClientPid,·Reason}··(client·terminated·or·unreachable.</span><span·class="w">137 </span><span·class="c1">%%%·{&#39;EXIT&#39;,·ClientPid,·Reason}··(client·terminated·or·unreachable.</span><span·class="w">
  
138 </span><span·class="c1">%%%·Messages·from·Server·to·Client,·received·in·await_result/0·function</span><span·class="w">138 </span><span·class="c1">%%%·Messages·from·Server·to·Client,·received·in·await_result/0·function</span><span·class="w">
139 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6954285765-5">(</span><span·class="ss">abort_client</span><span·class="p">,</span><span·class="p"·data-group-id="6954285765-6">{</span><span·class="ss">message</span><span·class="p"·data-group-id="6954285765-6">}</span><span·class="p"·data-group-id="695428[·...·truncated·by·diffoscope;·len:·3,·SHA:·f3457dabe1b412ed6374d56fe8fe3b969c761b77dcc80ecc0964b7c7641d219b·...·]5-5">)</span><span·class="p">.</span><span·class="w">139 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7567445425-5">(</span><span·class="ss">abort_client</span><span·class="p">,</span><span·class="p"·data-group-id="7567445425-6">{</span><span·class="ss">message</span><span·class="p"·data-group-id="7567445425-6">}</span><span·class="p"·data-group-id="756744[·...·truncated·by·diffoscope;·len:·3,·SHA:·2d86377d4cc3e6c85bab00dd407f8c5b657c239c6af3109de6cdf4d418aa2d89·...·]5-5">)</span><span·class="p">.</span><span·class="w">
140 </span><span·class="c1">%%%·Messages·are:·user_exists_at_other_node,</span><span·class="w">140 </span><span·class="c1">%%%·Messages·are:·user_exists_at_other_node,</span><span·class="w">
141 </span><span·class="c1">%%%···············you_are_not_logged_on</span><span·class="w">141 </span><span·class="c1">%%%···············you_are_not_logged_on</span><span·class="w">
142 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6954285765-7">(</span><span·class="ss">server_reply</span><span·class="p">,</span><span·class="p"·data-group-id="6954285765-8">{</span><span·class="ss">message</span><span·class="p"·data-group-id="6954285765-8">}</span><span·class="p"·data-group-id="695428[·...·truncated·by·diffoscope;·len:·3,·SHA:·f3457dabe1b412ed6374d56fe8fe3b969c761b77dcc80ecc0964b7c7641d219b·...·]5-7">)</span><span·class="p">.</span><span·class="w">142 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7567445425-7">(</span><span·class="ss">server_reply</span><span·class="p">,</span><span·class="p"·data-group-id="7567445425-8">{</span><span·class="ss">message</span><span·class="p"·data-group-id="7567445425-8">}</span><span·class="p"·data-group-id="756744[·...·truncated·by·diffoscope;·len:·3,·SHA:·2d86377d4cc3e6c85bab00dd407f8c5b657c239c6af3109de6cdf4d418aa2d89·...·]5-7">)</span><span·class="p">.</span><span·class="w">
143 </span><span·class="c1">%%%·Messages·are:·logged_on</span><span·class="w">143 </span><span·class="c1">%%%·Messages·are:·logged_on</span><span·class="w">
144 </span><span·class="c1">%%%···············receiver_not_found</span><span·class="w">144 </span><span·class="c1">%%%···············receiver_not_found</span><span·class="w">
145 </span><span·class="c1">%%%···············sent··(Message·has·been·sent·(no·guarantee)</span><span·class="w">145 </span><span·class="c1">%%%···············sent··(Message·has·been·sent·(no·guarantee)</span><span·class="w">
146 </span><span·class="c1">%%%·Messages·from·Server·to·Client·received·in·client/1·function</span><span·class="w">146 </span><span·class="c1">%%%·Messages·from·Server·to·Client·received·in·client/1·function</span><span·class="w">
147 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6954285765-9">(</span><span·class="ss">message_from</span><span·class="p">,</span><span·class="p"·data-group-id="6954285765-10">{</span><span·class="ss">from_name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">message</span><span·cl[·...·truncated·by·diffoscope;·len:·86,·SHA:·f7c805421c78fd357d27ef8f5e132eaff39d0c4b2fc48584cfab8aeed4aed684·...·]5-9">)</span><span·class="p">.</span><span·class="w">147 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7567445425-9">(</span><span·class="ss">message_from</span><span·class="p">,</span><span·class="p"·data-group-id="7567445425-10">{</span><span·class="ss">from_name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">message</span><span·cl[·...·truncated·by·diffoscope;·len:·86,·SHA:·8f386bfab0a37954a90c92c2cbca2c6f7f2be1551c5fba78384fec5ba70b3ec5·...·]5-9">)</span><span·class="p">.</span><span·class="w">
  
148 </span><span·class="c1">%%%·Messages·from·shell·to·Client·received·in·client/1·function</span><span·class="w">148 </span><span·class="c1">%%%·Messages·from·shell·to·Client·received·in·client/1·function</span><span·class="w">
149 </span><span·class="c1">%%%·spawn(mess_client,·client,·[server_node(),·Name])</span><span·class="w">149 </span><span·class="c1">%%%·spawn(mess_client,·client,·[server_node(),·Name])</span><span·class="w">
150 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6954285765-11">(</span><span·class="ss">message_to</span><span·class="p">,</span><span·class="p"·data-group-id="6954285765-12">{</span><span·class="ss">to_name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">message</span><span·class[·...·truncated·by·diffoscope;·len:·83,·SHA:·1044058604b642bef40c59c7a62c878540af047e53ded8ed31da1bdc99eb4138·...·]5-11">)</span><span·class="p">.</span><span·class="w">150 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7567445425-11">(</span><span·class="ss">message_to</span><span·class="p">,</span><span·class="p"·data-group-id="7567445425-12">{</span><span·class="ss">to_name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">message</span><span·class[·...·truncated·by·diffoscope;·len:·83,·SHA:·0409fd28f398d927280740d6d7614e4c92ca0e9451e361001457b9417bb148fd·...·]5-11">)</span><span·class="p">.</span><span·class="w">
151 </span><span·class="c1">%%%·logoff</span><span·class="w">151 </span><span·class="c1">%%%·logoff</span><span·class="w">
  
152 </span><span·class="c1">%%%----END·FILE----</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%----FILE·user_interface.erl----</span><span·class="w">152 </span><span·class="c1">%%%----END·FILE----</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%----FILE·user_interface.erl----</span><span·class="w">
  
153 </span><span·class="c1">%%%·User·interface·to·the·messenger·program</span><span·class="w">153 </span><span·class="c1">%%%·User·interface·to·the·messenger·program</span><span·class="w">
154 </span><span·class="c1">%%%·login(Name)</span><span·class="w">154 </span><span·class="c1">%%%·login(Name)</span><span·class="w">
155 </span><span·class="c1">%%%·····One·user·at·a·time·can·log·in·from·each·Erlang·node·in·the</span><span·class="w">155 </span><span·class="c1">%%%·····One·user·at·a·time·can·log·in·from·each·Erlang·node·in·the</span><span·class="w">
Offset 170, 177 lines modifiedOffset 170, 177 lines modified
170 </span><span·class="c1">%%%·····Logs·off·anybody·at·that·node</span><span·class="w">170 </span><span·class="c1">%%%·····Logs·off·anybody·at·that·node</span><span·class="w">
  
171 </span><span·class="c1">%%%·message(ToName,·Message)</span><span·class="w">171 </span><span·class="c1">%%%·message(ToName,·Message)</span><span·class="w">
172 </span><span·class="c1">%%%·····sends·Message·to·ToName.·Error·messages·if·the·user·of·this</span><span·class="w">172 </span><span·class="c1">%%%·····sends·Message·to·ToName.·Error·messages·if·the·user·of·this</span><span·class="w">
173 </span><span·class="c1">%%%·····function·is·not·logged·on·or·if·ToName·is·not·logged·on·at</span><span·class="w">173 </span><span·class="c1">%%%·····function·is·not·logged·on·or·if·ToName·is·not·logged·on·at</span><span·class="w">
174 </span><span·class="c1">%%%·····any·node.</span><span·class="w">174 </span><span·class="c1">%%%·····any·node.</span><span·class="w">
175 </span><span·class="w">175 </span><span·class="w">
176 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9318629055-1">(</span><span·class="ss">user_interface</span><span·class="p"·data-group-id="9318629055-1">)</span><span·class="p">.</span><span·class="w">176 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7706893262-1">(</span><span·class="ss">user_interface</span><span·class="p"·data-group-id="7706893262-1">)</span><span·class="p">.</span><span·class="w">
177 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9318629055-2">(</span><span·class="p"·data-group-id="9318629055-3">[</span><span·class="ss">logon</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logoff</span><span·class="p">/</span><[·...·truncated·by·diffoscope;·len:·246,·SHA:·ba046aea0f6e1b153cd1d4e54af2aaafbe16ebb9853de46d164ed45aee47b371·...·]-2">)</span><span·class="p">.</span><span·class="w">177 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7706893262-2">(</span><span·class="p"·data-group-id="7706893262-3">[</span><span·class="ss">logon</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logoff</span><span·class="p">/</span><[·...·truncated·by·diffoscope;·len:·246,·SHA:·2cf6a2b709d2bb4d65a632d4f4530138dba17338f5935e85ad8ba53650ea6425·...·]-2">)</span><span·class="p">.</span><span·class="w">
178 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="9318629055-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="9318629055-4">)</span><span·class="p">.</span><span·class="w">178 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="7706893262-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="7706893262-4">)</span><span·class="p">.</span><span·class="w">
179 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="9318629055-5">(</span><span·class="s">&quot;mess_config.hrl&quot;</span><span·class="p"·data-group-id="9318629055-5">)</span><span·class="p">.</span><span·class="w">179 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="7706893262-5">(</span><span·class="s">&quot;mess_config.hrl&quot;</span><span·class="p"·data-group-id="7706893262-5">)</span><span·class="p">.</span><span·class="w">
  
180 </span><span·class="nf">logon</span><span·class="p"·data-group-id="9318629055-6">(</span><span·class="n">Name</span><span·class="p"·data-group-id="9318629055-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">180 </span><span·class="nf">logon</span><span·class="p"·data-group-id="7706893262-6">(</span><span·class="n">Name</span><span·class="p"·data-group-id="7706893262-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
181 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">whereis</span><span·class="p"·data-group-id="9318629055-7">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="9318629055-7">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">181 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">whereis</span><span·class="p"·data-group-id="7706893262-7">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="7706893262-7">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
182 ········</span><span·class="ss">undefined</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">182 ········</span><span·class="ss">undefined</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
183 ············</span><span·class="nf">register</span><span·class="p"·data-group-id="9318629055-8">(</span><span·class="ss">mess_client</span><span·class="p">,</span><span·class="w">183 ············</span><span·class="nf">register</span><span·class="p"·data-group-id="7706893262-8">(</span><span·class="ss">mess_client</span><span·class="p">,</span><span·class="w">
184 ·····················</span><span·class="nf">spawn</span><span·class="p"·data-group-id="9318629055-9">(</span><span·class="ss">mess_client</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">client</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9318629055-10">[</span><span·class="o">?</[·...·truncated·by·diffoscope;·len:·263,·SHA:·1064023860c7e74c24ac0d1738fba6defc5b37253acccb2cd8479f63c672b39a·...·]-8">)</span><span·class="p">;</span><span·class="w">184 ·····················</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7706893262-9">(</span><span·class="ss">mess_client</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">client</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7706893262-10">[</span><span·class="o">?</[·...·truncated·by·diffoscope;·len:·263,·SHA:·a6f724d0bb6b59c34d483a531cc29e77b572bec0facb50e8cde0238c063732f6·...·]-8">)</span><span·class="p">;</span><span·class="w">
185 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">already_logged_on</span><span·class="w">185 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">already_logged_on</span><span·class="w">
186 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">186 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
187 </span><span·class="nf">logoff</span><span·class="p"·data-group-id="9318629055-11">(</span><span·class="p"·data-group-id="9318629055-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">187 </span><span·class="nf">logoff</span><span·class="p"·data-group-id="7706893262-11">(</span><span·class="p"·data-group-id="7706893262-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
188 ····</span><span·class="ss">mess_client</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">logoff</span><span·class="p">.</span><span·class="w">188 ····</span><span·class="ss">mess_client</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">logoff</span><span·class="p">.</span><span·class="w">
  
189 </span><span·class="nf">message</span><span·class="p"·data-group-id="9318629055-12">(</span><span·class="n">ToName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Message</span><span·class="p"·data-group-id="9318629055-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">189 </span><span·class="nf">message</span><span·class="p"·data-group-id="7706893262-12">(</span><span·class="n">ToName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Message</span><span·class="p"·data-group-id="7706893262-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
190 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">whereis</span><span·class="p"·data-group-id="9318629055-13">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="9318629055-13">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="c1">%·Test·if·the·client·is·running</span><span·class="w">190 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">whereis</span><span·class="p"·data-group-id="7706893262-13">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="7706893262-13">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="c1">%·Test·if·the·client·is·running</span><span·class="w">
191 ········</span><span·class="ss">undefined</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">191 ········</span><span·class="ss">undefined</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
192 ············</span><span·class="ss">not_logged_on</span><span·class="p">;</span><span·class="w">192 ············</span><span·class="ss">not_logged_on</span><span·class="p">;</span><span·class="w">
193 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">mess_client</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">message_to</span><span·class="p"·data-group-id="9318629055-14">{</span><span·class="ss">to_name</span><span·class="o">=</span><span·class="n">ToName</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">Message</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·29182b6b40ff231456fb9169dd85701b55e9a5819b0b0d3f89e2ee634d75938a·...·]-14">}</span><span·class="p">,</span><span·class="w">193 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">mess_client</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">message_to</span><span·class="p"·data-group-id="7706893262-14">{</span><span·class="ss">to_name</span><span·class="o">=</span><span·class="n">ToName</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">Message</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·e901506702f4c4fc9fd9d185883a633dc223faedde5c6bb82b043cb55f246f6c·...·]-14">}</span><span·class="p">,</span><span·class="w">
194 ·············</span><span·class="ss">ok</span><span·class="w">194 ·············</span><span·class="ss">ok</span><span·class="w">
195 </span><span·class="k">end</span><span·class="p">.</span><span·class="w">195 </span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
196 </span><span·class="c1">%%%----END·FILE----</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%----FILE·mess_client.erl----</span><span·class="w">196 </span><span·class="c1">%%%----END·FILE----</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%----FILE·mess_client.erl----</span><span·class="w">
  
197 </span><span·class="c1">%%%·The·client·process·which·runs·on·each·user·node</span><span·class="w">197 </span><span·class="c1">%%%·The·client·process·which·runs·on·each·user·node</span><span·class="w">
198 </span><span·class="w">198 </span><span·class="w">
199 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6093834985-1">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="6093834985-1">)</span><span·class="p">.</span><span·class="w">199 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1399208207-1">(</span><span·class="ss">mess_client</span><span·class="p"·data-group-id="1399208207-1">)</span><span·class="p">.</span><span·class="w">
200 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6093834985-2">(</span><span·class="p"·data-group-id="6093834985-3">[</span><span·class="ss">client</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="6093834985-3">]</span><span·class="p"·data-group-id="6093834985-2">)</span><span·class="p">.</span><span·class="w">200 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1399208207-2">(</span><span·class="p"·data-group-id="1399208207-3">[</span><span·class="ss">client</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="1399208207-3">]</span><span·class="p"·data-group-id="1399208207-2">)</span><span·class="p">.</span><span·class="w">
201 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="6093834985-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="6093834985-4">)</span><span·class="p">.</span><span·class="w">201 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="1399208207-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="1399208207-4">)</span><span·class="p">.</span><span·class="w">
  
202 </span><span·class="nf">client</span><span·class="p"·data-group-id="6093834985-5">(</span><span·class="n">Server_Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="6093834985-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">202 </span><span·class="nf">client</span><span·class="p"·data-group-id="1399208207-5">(</span><span·class="n">Server_Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="1399208207-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
203 ····</span><span·class="p"·data-group-id="6093834985-6">{</span><span·class="ss">messenger</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="6093834985-6">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·476,·SHA:·6e91bc27b5233915c4e53b27cd5428e55e861f7fe0ae69195be35209f23e1917·...·]-7">}</span><span·class="p">,</span><span·class="w">203 ····</span><span·class="p"·data-group-id="1399208207-6">{</span><span·class="ss">messenger</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="1399208207-6">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·476,·SHA:·38f43f2eea0c5b5baf9b99fec6d1b5cf15b9607d30335776cc8f715207e66abd·...·]-7">}</span><span·class="p">,</span><span·class="w">
204 ····</span><span·class="nf">await_result</span><span·class="p"·data-group-id="6093834985-9">(</span><span·class="p"·data-group-id="6093834985-9">)</span><span·class="p">,</span><span·class="w">204 ····</span><span·class="nf">await_result</span><span·class="p"·data-group-id="1399208207-9">(</span><span·class="p"·data-group-id="1399208207-9">)</span><span·class="p">,</span><span·class="w">
205 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="6093834985-10">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="6093834985-10">)</span><span·class="p">.</span><span·class="w">205 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="1399208207-10">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="1399208207-10">)</span><span·class="p">.</span><span·class="w">
  
206 </span><span·class="nf">client</span><span·class="p"·data-group-id="6093834985-11">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="6093834985-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">206 </span><span·class="nf">client</span><span·class="p"·data-group-id="1399208207-11">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="1399208207-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
207 ····</span><span·class="k">receive</span><span·class="w">207 ····</span><span·class="k">receive</span><span·class="w">
208 ········</span><span·class="ss">logoff</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 ········</span><span·class="ss">logoff</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="6093834985-12">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="6093834985-12">)</span><span·class="p">;</span><span·class="w">209 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="1399208207-12">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="1399208207-12">)</span><span·class="p">;</span><span·class="w">
210 ········</span><span·class="o">#</span><span·class="ss">message_to</span><span·class="p"·data-group-id="6093834985-13">{</span><span·class="ss">to_name</span><span·class="o">=</span><span·class="n">ToName</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">Message</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·8af6b90cd48e2ffec27d4a1da98c3ad21ec9ab2c421e71eab828805654159088·...·]-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">210 ········</span><span·class="o">#</span><span·class="ss">message_to</span><span·class="p"·data-group-id="1399208207-13">{</span><span·class="ss">to_name</span><span·class="o">=</span><span·class="n">ToName</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">Message</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·22992de70bdc354de7055befa1b03e0f565943e5688c6f57879c49f4cab491bf·...·]-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
211 ············</span><span·class="p"·data-group-id="6093834985-14">{</span><span·class="ss">messenger</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="6093834985-14">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">211 ············</span><span·class="p"·data-group-id="1399208207-14">{</span><span·class="ss">messenger</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="1399208207-14">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">
212 ················</span><span·class="o">#</span><span·class="ss">message</span><span·class="p"·data-group-id="6093834985-15">{</span><span·class="ss">client_pid</span><span·class="o">=</span><span·class="nf">self</span><span·class="p"·data-group-id="6093834985-16">(</span><span·class="p"·data-group-id="6093834985-16">)</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·267,·SHA:·f32099a13e3053bdefbff103bc8a5b1328c8854312f62b5e88ed1c6cec8e530a·...·]-15">}</span><span·class="p">,</span><span·class="w">212 ················</span><span·class="o">#</span><span·class="ss">message</span><span·class="p"·data-group-id="1399208207-15">{</span><span·class="ss">client_pid</span><span·class="o">=</span><span·class="nf">self</span><span·class="p"·data-group-id="1399208207-16">(</span><span·class="p"·data-group-id="1399208207-16">)</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·267,·SHA:·013624b1e65b3130f3fab2166b10312b9bb0372d4a6f9590053c014ba2cc80fe·...·]-15">}</span><span·class="p">,</span><span·class="w">
213 ············</span><span·class="nf">await_result</span><span·class="p"·data-group-id="6093834985-17">(</span><span·class="p"·data-group-id="6093834985-17">)</span><span·class="p">;</span><span·class="w">213 ············</span><span·class="nf">await_result</span><span·class="p"·data-group-id="1399208207-17">(</span><span·class="p"·data-group-id="1399208207-17">)</span><span·class="p">;</span><span·class="w">
214 ········</span><span·class="p"·data-group-id="6093834985-18">{</span><span·class="ss">message_from</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FromName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Message</span><span·class="p"·data-group-id="609383498[·...·truncated·by·diffoscope;·len:·1,·SHA:·ef2d127de37b942baad06145e54b0c619a1f22327b2ebbcfbec78f5564afe39d·...·]-18">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 ········</span><span·class="p"·data-group-id="1399208207-18">{</span><span·class="ss">message_from</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FromName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Message</span><span·class="p"·data-group-id="139920820[·...·truncated·by·diffoscope;·len:·1,·SHA:·7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451·...·]-18">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
215 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6093834985-19">(</span><span·class="s">&quot;Message·from·</span><span·class="si">~p</span><span·class="s">:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·247,·SHA:·93b6237a0d72e0f9e8dd161ab1316ce8bf78e1b6be5571c7a536930fb1b63ef9·...·]-19">)</span><span·class="w">215 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1399208207-19">(</span><span·class="s">&quot;Message·from·</span><span·class="si">~p</span><span·class="s">:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·247,·SHA:·7b73bb78683f1ef71a767dd21dbb218c7ab7ad20a7be4d1a44dd2b08366bb82e·...·]-19">)</span><span·class="w">
216 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">216 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
217 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="6093834985-21">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="6093834985-21">)</span><span·class="p">.</span><span·class="w">217 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="1399208207-21">(</span><span·class="n">Server_Node</span><span·class="p"·data-group-id="1399208207-21">)</span><span·class="p">.</span><span·class="w">
  
218 </span><span·class="c1">%%%·wait·for·a·response·from·the·server</span><span·class="w">218 </span><span·class="c1">%%%·wait·for·a·response·from·the·server</span><span·class="w">
219 </span><span·class="nf">await_result</span><span·class="p"·data-group-id="6093834985-22">(</span><span·class="p"·data-group-id="6093834985-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">219 </span><span·class="nf">await_result</span><span·class="p"·data-group-id="1399208207-22">(</span><span·class="p"·data-group-id="1399208207-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
220 ····</span><span·class="k">receive</span><span·class="w">220 ····</span><span·class="k">receive</span><span·class="w">
221 ········</span><span·class="o">#</span><span·class="ss">abort_client</span><span·class="p"·data-group-id="6093834985-23">{</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">Why</span><span·class="p"·data-group-id="6093834985-23">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">221 ········</span><span·class="o">#</span><span·class="ss">abort_client</span><span·class="p"·data-group-id="1399208207-23">{</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">Why</span><span·class="p"·data-group-id="1399208207-23">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
222 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6093834985-24">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6093834985-25">[</span><span·class="n">Why</[·...·truncated·by·diffoscope;·len:·100,·SHA:·739aad43160bae21fd4b704a57d27035c7bb6edd55303062ccb2a8ae2abc40c3·...·]-24">)</span><span·class="p">,</span><span·class="w">222 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1399208207-24">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1399208207-25">[</span><span·class="n">Why</[·...·truncated·by·diffoscope;·len:·100,·SHA:·ba53a217f87ca3a59f1e9275d23bde39222ba8c5ebef19379caac421f0e700c2·...·]-24">)</span><span·class="p">,</span><span·class="w">
223 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="6093834985-26">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="6093834985-26">)</span><span·class="p">;</span><span·class="w">223 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="1399208207-26">(</span><span·class="ss">normal</span><span·class="p"·data-group-id="1399208207-26">)</span><span·class="p">;</span><span·class="w">
224 ········</span><span·class="o">#</span><span·class="ss">server_reply</span><span·class="p"·data-group-id="6093834985-27">{</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">What</span><span·class="p"·data-group-id="6093834985-27">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">224 ········</span><span·class="o">#</span><span·class="ss">server_reply</span><span·class="p"·data-group-id="1399208207-27">{</span><span·class="ss">message</span><span·class="o">=</span><span·class="n">What</span><span·class="p"·data-group-id="1399208207-27">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
225 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6093834985-28">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6093834985-29">[</span><span·class="n">What<[·...·truncated·by·diffoscope;·len:·101,·SHA:·5c15fd82f5d5cfa710754202be2555f6dd2bdc09b729fc4762099fa5710de297·...·]-28">)</span><span·class="w">225 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1399208207-28">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1399208207-29">[</span><span·class="n">What<[·...·truncated·by·diffoscope;·len:·101,·SHA:·c08bbdd932197f6676c24af53833fea0b9fccc5aa131e8e876a6e4c376156bb3·...·]-28">)</span><span·class="w">
226 ····</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">226 ····</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
227 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6093834985-30">(</span><span·class="s">&quot;No·response·from·server</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6093834985-31">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·71,·SHA:·b9b5da9dbcfe633e354468abba18d9984c647d84618fc15834038f28598aaa86·...·]-30">)</span><span·class="p">,</span><span·class="w">227 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1399208207-30">(</span><span·class="s">&quot;No·response·from·server</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1399208207-31">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·71,·SHA:·f005b80d0f123c8ca373fd9334835960ea9a1e7f5103d472d7c2c63116d3ca2a·...·]-30">)</span><span·class="p">,</span><span·class="w">
228 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="6093834985-32">(</span><span·class="ss">timeout</span><span·class="p"·data-group-id="6093834985-32">)</span><span·class="w">228 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="1399208207-32">(</span><span·class="ss">timeout</span><span·class="p"·data-group-id="1399208207-32">)</span><span·class="w">
229 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">229 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
230 </span><span·class="c1">%%%----END·FILE---</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%----FILE·mess_server.erl----</span><span·class="w">230 </span><span·class="c1">%%%----END·FILE---</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%----FILE·mess_server.erl----</span><span·class="w">
  
231 </span><span·class="c1">%%%·This·is·the·server·process·of·the·messenger·service</span><span·class="w">231 </span><span·class="c1">%%%·This·is·the·server·process·of·the·messenger·service</span><span·class="w">
232 </span><span·class="w">232 </span><span·class="w">
233 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7503877282-1">(</span><span·class="ss">mess_server</span><span·class="p"·data-group-id="7503877282-1">)</span><span·class="p">.</span><span·class="w">233 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4148945399-1">(</span><span·class="ss">mess_server</span><span·class="p"·data-group-id="4148945399-1">)</span><span·class="p">.</span><span·class="w">
234 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7503877282-2">(</span><span·class="p"·data-group-id="7503877282-3">[</span><span·class="ss">start_server</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">server</span><span·class="p">/<[·...·truncated·by·diffoscope;·len:·125,·SHA:·ed29cfe9ccfc8b205d42bd68260d316ac54b8551bf43ab8ec1d899b1963258e3·...·]-2">)</span><span·class="p">.</span><span·class="w">234 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4148945399-2">(</span><span·class="p"·data-group-id="4148945399-3">[</span><span·class="ss">start_server</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">server</span><span·class="p">/<[·...·truncated·by·diffoscope;·len:·125,·SHA:·b4da8e3a32d0146dadefc407b4e0c1f63d53f37fe3c3a8accf617d3ab53f2214·...·]-2">)</span><span·class="p">.</span><span·class="w">
235 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="7503877282-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="7503877282-4">)</span><span·class="p">.</span><span·class="w">235 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="4148945399-4">(</span><span·class="s">&quot;mess_interface.hrl&quot;</span><span·class="p"·data-group-id="4148945399-4">)</span><span·class="p">.</span><span·class="w">
  
236 </span><span·class="nf">server</span><span·class="p"·data-group-id="7503877282-5">(</span><span·class="p"·data-group-id="7503877282-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">236 </span><span·class="nf">server</span><span·class="p"·data-group-id="4148945399-5">(</span><span·class="p"·data-group-id="4148945399-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
237 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="7503877282-6">(</span><span·class="ss">trap_exit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="7503877282-6">)</span><span·class="p">,</span><span·class="w">237 ····</span><span·class="nf">process_flag</span><span·class="p"·data-group-id="4148945399-6">(</span><span·class="ss">trap_exit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="4148945399-6">)</span><span·class="p">,</span><span·class="w">
238 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="7503877282-7">(</span><span·class="p"·data-group-id="7503877282-8">[</span><span·class="p"·data-group-id="7503877282-8">]</span><span·class="p"·data-group-id="7503877282-7">)</span><span·class="p">.</span><span·class="w">238 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="4148945399-7">(</span><span·class="p"·data-group-id="4148945399-8">[</span><span·class="p"·data-group-id="4148945399-8">]</span><span·class="p"·data-group-id="4148945399-7">)</span><span·class="p">.</span><span·class="w">
  
239 </span><span·class="c1">%%%·the·user·list·has·the·format·[{ClientPid1,·Name1},{ClientPid22,·Name2},...]</span><span·class="w">239 </span><span·class="c1">%%%·the·user·list·has·the·format·[{ClientPid1,·Name1},{ClientPid22,·Name2},...]</span><span·class="w">
240 </span><span·class="nf">server</span><span·class="p"·data-group-id="7503877282-9">(</span><span·class="n">User_List</span><span·class="p"·data-group-id="7503877282-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">240 </span><span·class="nf">server</span><span·class="p"·data-group-id="4148945399-9">(</span><span·class="n">User_List</span><span·class="p"·data-group-id="4148945399-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
241 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="7503877282-10">(</span><span·class="s">&quot;User·list·=·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7503877282-11">[</span><span·cla[·...·truncated·by·diffoscope;·len:·118,·SHA:·92795015033c20457385ef374658c375005ccbb81dc72506135bfdf9580ce029·...·]-10">)</span><span·class="p">,</span><span·class="w">241 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4148945399-10">(</span><span·class="s">&quot;User·list·=·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4148945399-11">[</span><span·cla[·...·truncated·by·diffoscope;·len:·118,·SHA:·ae6d97559c880094a078e29f8b055f1c9daaf166ccfc34e71c0bc325559d2b4b·...·]-10">)</span><span·class="p">,</span><span·class="w">
242 ····</span><span·class="k">receive</span><span·class="w">242 ····</span><span·class="k">receive</span><span·class="w">
Max diff block lines reached; 35666/86701 bytes (41.14%) of diff not shown.
685 B
html2text {}
Max HTML report size reached
22.5 KB
./usr/share/doc/erlang-doc/html/doc/system/ref_man_functions.html
    
Offset 120, 51 lines modifiedOffset 120, 51 lines modified
120 ····<i·class="ri-link-m"·aria-hidden="true"></i>120 ····<i·class="ri-link-m"·aria-hidden="true"></i>
121 ··</a>121 ··</a>
122 ··<span·class="text">Function·Declaration·Syntax</span>122 ··<span·class="text">Function·Declaration·Syntax</span>
123 </h2>123 </h2>
124 <p>A·<em>function·declaration</em>·is·a·sequence·of·function·clauses·separated·by124 <p>A·<em>function·declaration</em>·is·a·sequence·of·function·clauses·separated·by
125 semicolons,·and·terminated·by·a·period·(<code·class="inline">.</code>).</p><p>A·<em>function·clause</em>·consists·of·a·<em>clause·head</em>·and·a·<em>clause·body</em>,·separated·by125 semicolons,·and·terminated·by·a·period·(<code·class="inline">.</code>).</p><p>A·<em>function·clause</em>·consists·of·a·<em>clause·head</em>·and·a·<em>clause·body</em>,·separated·by
126 <code·class="inline">-&gt;</code>.</p><p>A·clause·<em>head</em>·consists·of·the·function·name,·an·argument·list,·and·an·optional126 <code·class="inline">-&gt;</code>.</p><p>A·clause·<em>head</em>·consists·of·the·function·name,·an·argument·list,·and·an·optional
127 guard·sequence·beginning·with·the·keyword·<code·class="inline">when</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Name</span><span·class="p"·data-group-id="4842130392-1">(</span><span·class="n">Pattern11</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="n">Pattern1N</span><span·class="p"·data-group-id="4842130392-1">)</sp[·...·truncated·by·diffoscope;·len:·204,·SHA:·b5fa2385eb9546d26e216e6f39ed51c3f611713a413b0a598403ec1072991ad9·...·]-2">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">127 guard·sequence·beginning·with·the·keyword·<code·class="inline">when</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Name</span><span·class="p"·data-group-id="8362451757-1">(</span><span·class="n">Pattern11</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="n">Pattern1N</span><span·class="p"·data-group-id="8362451757-1">)</sp[·...·truncated·by·diffoscope;·len:·204,·SHA:·566a80b360e8f310ed5343b0a87465562af0f23794e3a3d985f460f52c6f94f0·...·]-2">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
128 ····</span><span·class="n">Body1</span><span·class="p">;</span><span·class="w">128 ····</span><span·class="n">Body1</span><span·class="p">;</span><span·class="w">
129 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">;</span><span·class="w">129 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">;</span><span·class="w">
130 </span><span·class="n">Name</span><span·class="p"·data-group-id="4842130392-3">(</span><span·class="n">PatternK1</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="n">PatternKN</span><span·class="p"·data-group-id="4842130392-3">)</sp[·...·truncated·by·diffoscope;·len:·204,·SHA:·a8f42d246bb93df01a1e1cdac72453153e28b4c92bc773445326824370dda0f1·...·]-4">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">130 </span><span·class="n">Name</span><span·class="p"·data-group-id="8362451757-3">(</span><span·class="n">PatternK1</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="n">PatternKN</span><span·class="p"·data-group-id="8362451757-3">)</sp[·...·truncated·by·diffoscope;·len:·204,·SHA:·52921148145ee4ec50680e636ec11ddfbd2b4bbc57bca4f1d94960b1a24b6969·...·]-4">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
131 ····</span><span·class="n">BodyK</span><span·class="p">.</span></code></pre><p>The·function·name·is·an·atom.·Each·argument·is·a·pattern.</p><p>The·number·of·arguments·<code·class="inline">N</code>·is·the·<em>arity</em>·of·the·function.·A·function·is131 ····</span><span·class="n">BodyK</span><span·class="p">.</span></code></pre><p>The·function·name·is·an·atom.·Each·argument·is·a·pattern.</p><p>The·number·of·arguments·<code·class="inline">N</code>·is·the·<em>arity</em>·of·the·function.·A·function·is
132 uniquely·defined·by·the·module·name,·function·name,·and·arity.·That·is,·two132 uniquely·defined·by·the·module·name,·function·name,·and·arity.·That·is,·two
133 functions·with·the·same·name·and·in·the·same·module,·but·with·different·arities133 functions·with·the·same·name·and·in·the·same·module,·but·with·different·arities
134 are·two·different·functions.</p><p>A·function·named·<code·class="inline">f</code>·in·module·<code·class="inline">mod</code>·and·with·arity·<code·class="inline">N</code>·is·often·denoted·as134 are·two·different·functions.</p><p>A·function·named·<code·class="inline">f</code>·in·module·<code·class="inline">mod</code>·and·with·arity·<code·class="inline">N</code>·is·often·denoted·as
135 <code·class="inline">mod:f/N</code>.</p><p>A·clause·<em>body</em>·consists·of·a·sequence·of·expressions·separated·by·comma·(<code·class="inline">,</code>):</p><pre><code·class="text">Expr1,135 <code·class="inline">mod:f/N</code>.</p><p>A·clause·<em>body</em>·consists·of·a·sequence·of·expressions·separated·by·comma·(<code·class="inline">,</code>):</p><pre><code·class="text">Expr1,
136 ...,136 ...,
137 ExprN</code></pre><p>Valid·Erlang·expressions·and·guard·sequences·are·described·in137 ExprN</code></pre><p>Valid·Erlang·expressions·and·guard·sequences·are·described·in
138 <a·href="expressions.html">Expressions</a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fact</span><span·class="p"·data-group-id="9935444595-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="9935444595-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">··</span><span·class="c1">%·first·clause·head</span><span·class="w">138 <a·href="expressions.html">Expressions</a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fact</span><span·class="p"·data-group-id="7191042223-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="7191042223-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">··</span><span·class="c1">%·first·clause·head</span><span·class="w">
139 ····</span><span·class="n">N</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="nf">fact</span><span·class="p"·data-group-id="9935444595-2">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="9935444595-2">)</span><span·class="p">;</span><span·class="w">·····</span><span·class="c1">%·first·clause·body</span><span·class="w">139 ····</span><span·class="n">N</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="nf">fact</span><span·class="p"·data-group-id="7191042223-2">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="7191042223-2">)</span><span·class="p">;</span><span·class="w">·····</span><span·class="c1">%·first·clause·body</span><span·class="w">
  
140 </span><span·class="nf">fact</span><span·class="p"·data-group-id="9935444595-3">(</span><span·class="mi">0</span><span·class="p"·data-group-id="9935444595-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·············</span><span·class="c1">%·second·clause·head</span><span·class="w">140 </span><span·class="nf">fact</span><span·class="p"·data-group-id="7191042223-3">(</span><span·class="mi">0</span><span·class="p"·data-group-id="7191042223-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·············</span><span·class="c1">%·second·clause·head</span><span·class="w">
141 ····</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">·················</span><span·class="c1">%·second·clause·body</span></code></pre><p><a·href=""·id="eval"></a></p><h2·id="function-evaluation"·class="section-heading">141 ····</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">·················</span><span·class="c1">%·second·clause·body</span></code></pre><p><a·href=""·id="eval"></a></p><h2·id="function-evaluation"·class="section-heading">
142 ··<a·href="#function-evaluation"·class="hover-link">142 ··<a·href="#function-evaluation"·class="hover-link">
143 ····<i·class="ri-link-m"·aria-hidden="true"></i>143 ····<i·class="ri-link-m"·aria-hidden="true"></i>
144 ··</a>144 ··</a>
145 ··<span·class="text">Function·Evaluation</span>145 ··<span·class="text">Function·Evaluation</span>
146 </h2>146 </h2>
147 <p>When·a·function·<code·class="inline">M:F/N</code>·is·called,·first·the·code·for·the·function·is·located.147 <p>When·a·function·<code·class="inline">M:F/N</code>·is·called,·first·the·code·for·the·function·is·located.
148 If·the·function·cannot·be·found,·an·<code·class="inline">undef</code>·runtime·error·occurs.·Notice·that148 If·the·function·cannot·be·found,·an·<code·class="inline">undef</code>·runtime·error·occurs.·Notice·that
149 the·function·must·be·exported·to·be·visible·outside·the·module·it·is·defined·in.</p><p>If·the·function·is·found,·the·function·clauses·are·scanned·sequentially·until·a149 the·function·must·be·exported·to·be·visible·outside·the·module·it·is·defined·in.</p><p>If·the·function·is·found,·the·function·clauses·are·scanned·sequentially·until·a
150 clause·is·found·that·fulfills·both·of·the·following·two·conditions:</p><ol><li>The·patterns·in·the·clause·head·can·be·successfully·matched·against·the·given150 clause·is·found·that·fulfills·both·of·the·following·two·conditions:</p><ol><li>The·patterns·in·the·clause·head·can·be·successfully·matched·against·the·given
151 arguments.</li><li>The·guard·sequence,·if·any,·is·true.</li></ol><p>If·such·a·clause·cannot·be·found,·a·<code·class="inline">function_clause</code>·runtime·error·occurs.</p><p>If·such·a·clause·is·found,·the·corresponding·clause·body·is·evaluated.·That·is,151 arguments.</li><li>The·guard·sequence,·if·any,·is·true.</li></ol><p>If·such·a·clause·cannot·be·found,·a·<code·class="inline">function_clause</code>·runtime·error·occurs.</p><p>If·such·a·clause·is·found,·the·corresponding·clause·body·is·evaluated.·That·is,
152 the·expressions·in·the·body·are·evaluated·sequentially·and·the·value·of·the·last152 the·expressions·in·the·body·are·evaluated·sequentially·and·the·value·of·the·last
153 expression·is·returned.</p><p>Consider·the·function·<code·class="inline">fact</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9679176535-1">(</span><span·class="ss">mod</span><span·class="p"·data-group-id="9679176535-1">)</span><span·class="p">.</span><span·class="w">153 expression·is·returned.</p><p>Consider·the·function·<code·class="inline">fact</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9271760665-1">(</span><span·class="ss">mod</span><span·class="p"·data-group-id="9271760665-1">)</span><span·class="p">.</span><span·class="w">
154 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9679176535-2">(</span><span·class="p"·data-group-id="9679176535-3">[</span><span·class="ss">fact</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9679176535-3">]</span><span·class="p"·data-group-id="9679176535-2">)</span><span·class="p">.</span><span·class="w">154 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9271760665-2">(</span><span·class="p"·data-group-id="9271760665-3">[</span><span·class="ss">fact</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9271760665-3">]</span><span·class="p"·data-group-id="9271760665-2">)</span><span·class="p">.</span><span·class="w">
  
155 </span><span·class="nf">fact</span><span·class="p"·data-group-id="9679176535-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="9679176535-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">155 </span><span·class="nf">fact</span><span·class="p"·data-group-id="9271760665-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="9271760665-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
156 ····</span><span·class="n">N</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="nf">fact</span><span·class="p"·data-group-id="9679176535-5">(</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="9679176535-5">)</span><span·class="p">;</span><span·class="w">156 ····</span><span·class="n">N</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="nf">fact</span><span·class="p"·data-group-id="9271760665-5">(</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="9271760665-5">)</span><span·class="p">;</span><span·class="w">
157 </span><span·class="nf">fact</span><span·class="p"·data-group-id="9679176535-6">(</span><span·class="mi">0</span><span·class="p"·data-group-id="9679176535-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">157 </span><span·class="nf">fact</span><span·class="p"·data-group-id="9271760665-6">(</span><span·class="mi">0</span><span·class="p"·data-group-id="9271760665-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
158 ····</span><span·class="mi">1</span><span·class="p">.</span></code></pre><p>Assume·that·you·want·to·calculate·the·factorial·for·1:</p><pre><code·class="text">1&gt;·mod:fact(1).</code></pre><p>Evaluation·starts·at·the·first·clause.·The·pattern·<code·class="inline">N</code>·is·matched·against158 ····</span><span·class="mi">1</span><span·class="p">.</span></code></pre><p>Assume·that·you·want·to·calculate·the·factorial·for·1:</p><pre><code·class="text">1&gt;·mod:fact(1).</code></pre><p>Evaluation·starts·at·the·first·clause.·The·pattern·<code·class="inline">N</code>·is·matched·against
159 argument·1.·The·matching·succeeds·and·the·guard·(<code·class="inline">N·&gt;·0</code>)·is·true,·thus·<code·class="inline">N</code>·is159 argument·1.·The·matching·succeeds·and·the·guard·(<code·class="inline">N·&gt;·0</code>)·is·true,·thus·<code·class="inline">N</code>·is
160 bound·to·1,·and·the·corresponding·body·is·evaluated:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">N</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="nf">fact</span><span·class="p"·data-group-id="9737966827-1">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="9737966827-1">)</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9[·...·truncated·by·diffoscope;·len:·288,·SHA:·5744f4106ff19a1f45885d691d64519e64bbbf2f966fec51c74a5dc121525ead·...·]-2">)</span><span·class="w">160 bound·to·1,·and·the·corresponding·body·is·evaluated:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">N</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="nf">fact</span><span·class="p"·data-group-id="7845491855-1">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="7845491855-1">)</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·288,·SHA:·2bda8b4366eb9d4176b2b04c996c7131969fb33183d9a9ad97bee73104ce5430·...·]-2">)</span><span·class="w">
161 </span><span·class="mi">1</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="nf">fact</span><span·class="p"·data-group-id="9737966827-3">(</span><span·class="mi">0</span><span·class="p"·data-group-id="9737966827-3">)</span></code></pre><p>Now,·<code·class="inline">fact(0)</code>·is·called,·and·the·function·clauses·are·scanned161 </span><span·class="mi">1</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="nf">fact</span><span·class="p"·data-group-id="7845491855-3">(</span><span·class="mi">0</span><span·class="p"·data-group-id="7845491855-3">)</span></code></pre><p>Now,·<code·class="inline">fact(0)</code>·is·called,·and·the·function·clauses·are·scanned
162 sequentially·again.·First,·the·pattern·<code·class="inline">N</code>·is·matched·against·0.·The162 sequentially·again.·First,·the·pattern·<code·class="inline">N</code>·is·matched·against·0.·The
163 matching·succeeds,·but·the·guard·(<code·class="inline">N·&gt;·0</code>)·is·false.·Second,·the163 matching·succeeds,·but·the·guard·(<code·class="inline">N·&gt;·0</code>)·is·false.·Second,·the
164 pattern·<code·class="inline">0</code>·is·matched·against·the·argument·<code·class="inline">0</code>.·The·matching·succeeds164 pattern·<code·class="inline">0</code>·is·matched·against·the·argument·<code·class="inline">0</code>.·The·matching·succeeds
165 and·the·body·is·evaluated:</p><pre><code·class="text">1·*·fact(0)·=&gt;165 and·the·body·is·evaluated:</p><pre><code·class="text">1·*·fact(0)·=&gt;
166 1·*·1·=&gt;166 1·*·1·=&gt;
167 1</code></pre><p>Evaluation·has·succeed·and·<code·class="inline">mod:fact(1)</code>·returns·1.</p><p>If·<code·class="inline">mod:fact/1</code>·is·called·with·a·negative·number·as·argument,·no·clause·head167 1</code></pre><p>Evaluation·has·succeed·and·<code·class="inline">mod:fact(1)</code>·returns·1.</p><p>If·<code·class="inline">mod:fact/1</code>·is·called·with·a·negative·number·as·argument,·no·clause·head
168 matches.·A·<code·class="inline">function_clause</code>·runtime·error·occurs.</p><h2·id="tail-recursion"·class="section-heading">168 matches.·A·<code·class="inline">function_clause</code>·runtime·error·occurs.</p><h2·id="tail-recursion"·class="section-heading">
Offset 173, 17 lines modifiedOffset 173, 17 lines modified
173 ··</a>173 ··</a>
174 ··<span·class="text">Tail·recursion</span>174 ··<span·class="text">Tail·recursion</span>
175 </h2>175 </h2>
176 <p>If·the·last·expression·of·a·function·body·is·a·function·call,·a176 <p>If·the·last·expression·of·a·function·body·is·a·function·call,·a
177 <em>tail-recursive·call</em>·is·done.·This·is·to·ensure·that·no·system177 <em>tail-recursive·call</em>·is·done.·This·is·to·ensure·that·no·system
178 resources,·for·example,·call·stack,·are·consumed.·This·means·that·an178 resources,·for·example,·call·stack,·are·consumed.·This·means·that·an
179 infinite·loop·using·tail-recursive·calls·will·not·exhaust·the·call179 infinite·loop·using·tail-recursive·calls·will·not·exhaust·the·call
180 stack·and·can·(in·principle)·run·forever.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="9664296193-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="9664296193-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">180 stack·and·can·(in·principle)·run·forever.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="3629203761-1">(</span><span·class="n">N</span><span·class="p"·data-group-id="3629203761-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
181 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9664296193-2">(</span><span·class="s">&quot;</span><span·class="si">~w</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9664296193-3">[</span><span·class="n">N</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·f89e806266daf2842da8eb81349b4a172bbbbafb8e50f4606c3bd212b8950c99·...·]-2">)</span><span·class="p">,</span><span·class="w">181 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3629203761-2">(</span><span·class="s">&quot;</span><span·class="si">~w</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3629203761-3">[</span><span·class="n">N</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·34b8d723db0594ff7c37ab6de8fcd4fac47a3c68d2598b7a3e6cea13651b2b17·...·]-2">)</span><span·class="p">,</span><span·class="w">
182 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="9664296193-4">(</span><span·class="n">N</span><span·class="o">+</span><span·class="mi">1</span><span·class="p"·data-group-id="9664296193-4">)</span><span·class="p">.</span></code></pre><p>The·earlier·factorial·example·is·a·counter-example.·It·is·not182 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="3629203761-4">(</span><span·class="n">N</span><span·class="o">+</span><span·class="mi">1</span><span·class="p"·data-group-id="3629203761-4">)</span><span·class="p">.</span></code></pre><p>The·earlier·factorial·example·is·a·counter-example.·It·is·not
183 tail-recursive,·since·a·multiplication·is·done·on·the·result·of·the·recursive183 tail-recursive,·since·a·multiplication·is·done·on·the·result·of·the·recursive
184 call·to·<code·class="inline">fact(N-1)</code>.</p><h2·id="built-in-functions-bifs"·class="section-heading">184 call·to·<code·class="inline">fact(N-1)</code>.</p><h2·id="built-in-functions-bifs"·class="section-heading">
185 ··<a·href="#built-in-functions-bifs"·class="hover-link">185 ··<a·href="#built-in-functions-bifs"·class="hover-link">
186 ····<i·class="ri-link-m"·aria-hidden="true"></i>186 ····<i·class="ri-link-m"·aria-hidden="true"></i>
187 ··</a>187 ··</a>
188 ··<span·class="text">Built-In·Functions·(BIFs)</span>188 ··<span·class="text">Built-In·Functions·(BIFs)</span>
189 </h2>189 </h2>
Offset 191, 17 lines modifiedOffset 191, 17 lines modified
191 system.·BIFs·do·things·that·are·difficult·or·impossible·to·implement191 system.·BIFs·do·things·that·are·difficult·or·impossible·to·implement
192 in·Erlang.·Most·of·the·BIFs·belong·to·module·<a·href="../../erts-16.0/doc/html/erlang.html"><code·class="inline">erlang</code></a>,·but·there192 in·Erlang.·Most·of·the·BIFs·belong·to·module·<a·href="../../erts-16.0/doc/html/erlang.html"><code·class="inline">erlang</code></a>,·but·there
193 are·also·BIFs·belonging·to·a·few·other·modules,·for·example·<a·href="../../lib/stdlib-7.0/doc/html/lists.html"><code·class="inline">lists</code></a>193 are·also·BIFs·belonging·to·a·few·other·modules,·for·example·<a·href="../../lib/stdlib-7.0/doc/html/lists.html"><code·class="inline">lists</code></a>
194 and·<a·href="../../lib/stdlib-7.0/doc/html/ets.html"><code·class="inline">ets</code></a>.</p><p>The·most·commonly·used·BIFs·belonging·to·<a·href="../../erts-16.0/doc/html/erlang.html"><code·class="inline">erlang</code></a>·are·<em>auto-imported</em>.·They·do194 and·<a·href="../../lib/stdlib-7.0/doc/html/ets.html"><code·class="inline">ets</code></a>.</p><p>The·most·commonly·used·BIFs·belonging·to·<a·href="../../erts-16.0/doc/html/erlang.html"><code·class="inline">erlang</code></a>·are·<em>auto-imported</em>.·They·do
195 not·need·to·be·prefixed·with·the·module·name.·Which·BIFs·that·are·auto-imported195 not·need·to·be·prefixed·with·the·module·name.·Which·BIFs·that·are·auto-imported
196 is·specified·in·the·<a·href="../../erts-16.0/doc/html/erlang.html"><code·class="inline">erlang</code></a>·module·in·ERTS.·For·example,·standard-type196 is·specified·in·the·<a·href="../../erts-16.0/doc/html/erlang.html"><code·class="inline">erlang</code></a>·module·in·ERTS.·For·example,·standard-type
197 conversion·BIFs·like·<code·class="inline">atom_to_list</code>·and·BIFs·allowed·in·guards·can·be·called197 conversion·BIFs·like·<code·class="inline">atom_to_list</code>·and·BIFs·allowed·in·guards·can·be·called
198 without·specifying·the·module·name.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="3286757528-1">(</span><span·class="p"·data-group-id="3286757528-2">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="3286757528-2">}</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·b188efa9a31c47c3167f8a10330aea0f00e71dc11fe3ca088713389aea489935·...·]-1">)</span><span·class="p">.</span><span·class="w">198 without·specifying·the·module·name.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">tuple_size</span><span·class="p"·data-group-id="1594443473-1">(</span><span·class="p"·data-group-id="1594443473-2">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="1594443473-2">}</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·5d3dfaf6e453bcf06ce7082ca683645c6884a74b8f2d3958f217a7d7a05f09f7·...·]-1">)</span><span·class="p">.</span><span·class="w">
199 </span><span·class="mi">3</span><span·class="gp·unselectable">199 </span><span·class="mi">3</span><span·class="gp·unselectable">
200 2&gt;·</span><span·class="nf">atom_to_list</span><span·class="p"·data-group-id="3286757528-3">(</span><span·class="ss">&#39;Erlang&#39;</span><span·class="p"·data-group-id="3286757528-3">)</span><span·class="p">.</span><span·class="w">200 2&gt;·</span><span·class="nf">atom_to_list</span><span·class="p"·data-group-id="1594443473-3">(</span><span·class="ss">&#39;Erlang&#39;</span><span·class="p"·data-group-id="1594443473-3">)</span><span·class="p">.</span><span·class="w">
201 </span><span·class="s">&quot;Erlang&quot;</span></code></pre>201 </span><span·class="s">&quot;Erlang&quot;</span></code></pre>
202 </div>202 </div>
  
203 <div·class="bottom-actions"·id="bottom-actions">203 <div·class="bottom-actions"·id="bottom-actions">
204 ··<div·class="bottom-actions-item">204 ··<div·class="bottom-actions-item">
  
205 ······<a·href="documentation.html"·class="bottom-actions-button"·rel="prev">205 ······<a·href="documentation.html"·class="bottom-actions-button"·rel="prev">
Offset 245, 15 lines modifiedOffset 245, 15 lines modified
245 ······<p·class="built-using">245 ······<p·class="built-using">
246 ········Built·using246 ········Built·using
247 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the247 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
248 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>248 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
249 ······</p>249 ······</p>
250 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>250 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
251 ····</footer>251 ····</footer>
252 ··</div>252 ··</div>
253 </main>253 </main>
254 </div>254 </div>
255 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>255 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
256 ··<script>256 ··<script>
257 ··let·initialized·=·false;257 ··let·initialized·=·false;
632 B
html2text {}
Max HTML report size reached
6.65 KB
./usr/share/doc/erlang-doc/html/doc/system/ref_man_processes.html
    
Offset 125, 18 lines modifiedOffset 125, 18 lines modified
125 (grow·and·shrink·dynamically)·with·small·memory·footprint,·fast·to·create·and125 (grow·and·shrink·dynamically)·with·small·memory·footprint,·fast·to·create·and
126 terminate,·and·the·scheduling·overhead·is·low.</p><h2·id="process-creation"·class="section-heading">126 terminate,·and·the·scheduling·overhead·is·low.</p><h2·id="process-creation"·class="section-heading">
127 ··<a·href="#process-creation"·class="hover-link">127 ··<a·href="#process-creation"·class="hover-link">
128 ····<i·class="ri-link-m"·aria-hidden="true"></i>128 ····<i·class="ri-link-m"·aria-hidden="true"></i>
129 ··</a>129 ··</a>
130 ··<span·class="text">Process·Creation</span>130 ··<span·class="text">Process·Creation</span>
131 </h2>131 </h2>
132 <p>A·process·is·created·by·calling·<a·href="../../erts-16.0/doc/html/erlang.html#spawn/3"><code·class="inline">spawn()</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">spawn</span><span·class="p"·data-group-id="1275338917-1">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Args</span><span·class="p"·data-group-id="1275338917-1">)</span><s[·...·truncated·by·diffoscope;·len:·194,·SHA:·d5283a2dd040c3580be714b00205bed00c8115054a488645e4a7b8501f65ebe5·...·]7-2">)</span><span·class="w">132 <p>A·process·is·created·by·calling·<a·href="../../erts-16.0/doc/html/erlang.html#spawn/3"><code·class="inline">spawn()</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">spawn</span><span·class="p"·data-group-id="3384517067-1">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Args</span><span·class="p"·data-group-id="3384517067-1">)</span><s[·...·truncated·by·diffoscope;·len:·194,·SHA:·022be2e7c8003b61321f3674e90bc0149cc22aaa947f45c1921e35dcbc1a3968·...·]7-2">)</span><span·class="w">
133 ··</span><span·class="n">Module</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="1275338917-3">(</span><span·class="p"·data-group-id="1275338917-3">)</span><span·class="w">133 ··</span><span·class="n">Module</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="3384517067-3">(</span><span·class="p"·data-group-id="3384517067-3">)</span><span·class="w">
134 ··</span><span·class="n">Args</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1275338917-4">[</span><span·class="n">Arg1</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="n">ArgN</span><span·class="p"·data-group-id="1275338917-4">]</span><span·class="w">134 ··</span><span·class="n">Args</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3384517067-4">[</span><span·class="n">Arg1</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="n">ArgN</span><span·class="p"·data-group-id="3384517067-4">]</span><span·class="w">
135 ····</span><span·class="n">ArgI</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="1275338917-5">(</span><span·class="p"·data-group-id="1275338917-5">)</span></code></pre><p><code·class="inline">spawn()</code>·creates·a·new·process·and·returns·the·pid.</p><p>The·new·process·starts·executing·in·<code·class="inline">Module:Name(Arg1,...,ArgN)</code>·where·the135 ····</span><span·class="n">ArgI</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3384517067-5">(</span><span·class="p"·data-group-id="3384517067-5">)</span></code></pre><p><code·class="inline">spawn()</code>·creates·a·new·process·and·returns·the·pid.</p><p>The·new·process·starts·executing·in·<code·class="inline">Module:Name(Arg1,...,ArgN)</code>·where·the
136 arguments·are·the·elements·of·the·(possible·empty)·<code·class="inline">Args</code>·argument·list.</p><p>There·exist·a·number·of·different·<code·class="inline">spawn</code>·BIFs:</p><ul><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn/4"><code·class="inline">spawn/1,2,3,4</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_link/4"><code·class="inline">spawn_link/1,2,3,4</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_monitor/4"><code·class="inline">spawn_monitor/1,2,3,4</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_opt/5"><code·class="inline">spawn_opt/2,3,4,5</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_request/5"><code·class="inline">spawn_request/1,2,3,4,5</code></a></li></ul><h2·id="registered-processes"·class="section-heading">136 arguments·are·the·elements·of·the·(possible·empty)·<code·class="inline">Args</code>·argument·list.</p><p>There·exist·a·number·of·different·<code·class="inline">spawn</code>·BIFs:</p><ul><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn/4"><code·class="inline">spawn/1,2,3,4</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_link/4"><code·class="inline">spawn_link/1,2,3,4</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_monitor/4"><code·class="inline">spawn_monitor/1,2,3,4</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_opt/5"><code·class="inline">spawn_opt/2,3,4,5</code></a></li><li><a·href="../../erts-16.0/doc/html/erlang.html#spawn_request/5"><code·class="inline">spawn_request/1,2,3,4,5</code></a></li></ul><h2·id="registered-processes"·class="section-heading">
137 ··<a·href="#registered-processes"·class="hover-link">137 ··<a·href="#registered-processes"·class="hover-link">
138 ····<i·class="ri-link-m"·aria-hidden="true"></i>138 ····<i·class="ri-link-m"·aria-hidden="true"></i>
139 ··</a>139 ··</a>
140 ··<span·class="text">Registered·Processes</span>140 ··<span·class="text">Registered·Processes</span>
141 </h2>141 </h2>
142 <p>Besides·addressing·a·process·by·using·its·pid,·there·are·also·BIFs·for142 <p>Besides·addressing·a·process·by·using·its·pid,·there·are·also·BIFs·for
Offset 648, 15 lines modifiedOffset 648, 15 lines modified
648 ······<p·class="built-using">648 ······<p·class="built-using">
649 ········Built·using649 ········Built·using
650 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the650 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
651 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>651 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
652 ······</p>652 ······</p>
653 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>653 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
654 ····</footer>654 ····</footer>
655 ··</div>655 ··</div>
656 </main>656 </main>
657 </div>657 </div>
658 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>658 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
659 ··<script>659 ··<script>
660 ··let·initialized·=·false;660 ··let·initialized·=·false;
653 B
html2text {}
Max HTML report size reached
31.8 KB
./usr/share/doc/erlang-doc/html/doc/system/ref_man_records.html
    
Offset 123, 17 lines modifiedOffset 123, 17 lines modified
123 ····<i·class="ri-link-m"·aria-hidden="true"></i>123 ····<i·class="ri-link-m"·aria-hidden="true"></i>
124 ··</a>124 ··</a>
125 ··<span·class="text">Defining·Records</span>125 ··<span·class="text">Defining·Records</span>
126 </h2>126 </h2>
127 <p>A·record·definition·consists·of·the·name·of·the·record,·followed·by·the·field127 <p>A·record·definition·consists·of·the·name·of·the·record,·followed·by·the·field
128 names·of·the·record.·Record·and·field·names·must·be·atoms.·Each·field·can·be128 names·of·the·record.·Record·and·field·names·must·be·atoms.·Each·field·can·be
129 given·an·optional·default·value.·If·no·default·value·is·supplied,·<code·class="inline">undefined</code>·is129 given·an·optional·default·value.·If·no·default·value·is·supplied,·<code·class="inline">undefined</code>·is
130 used.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="8276646704-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8276646704-2">{</span><span·class="n">Field1</span><span·class="w">·</span><span·class="p"·data-group-id="8276646704-3">[</span>[·...·truncated·by·diffoscope;·len:·117,·SHA:·47def380a1aedad0614f1813bb5b7e9b20910dcbc12231905e560a45d7f1907f·...·]-3">]</span><span·class="p">,</span><span·class="w">130 used.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0685912735-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0685912735-2">{</span><span·class="n">Field1</span><span·class="w">·</span><span·class="p"·data-group-id="0685912735-3">[</span>[·...·truncated·by·diffoscope;·len:·117,·SHA:·f0561a1b0085a58f9180f852ae5c27e66b197cd72a54d294ea2b65d3d9fceea9·...·]-3">]</span><span·class="p">,</span><span·class="w">
131 ···············</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">131 ···············</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
132 ···············</span><span·class="n">FieldN</span><span·class="w">·</span><span·class="p"·data-group-id="8276646704-4">[</span><span·class="o">=</span><span·class="w">·</span><span·class="n">ExprN</span><span·class="p"·data-group-id="8276646704-4">]</span><span·class="p"·data-group-id="8276646704-2">}</span><span·class="p"·data-group-id="8276646704-1">)</span><span·class="p">.</span></code></pre><p>The·default·value·for·a·field·is·an·arbitrary·expression,·except·that·it·must132 ···············</span><span·class="n">FieldN</span><span·class="w">·</span><span·class="p"·data-group-id="0685912735-4">[</span><span·class="o">=</span><span·class="w">·</span><span·class="n">ExprN</span><span·class="p"·data-group-id="0685912735-4">]</span><span·class="p"·data-group-id="0685912735-2">}</span><span·class="p"·data-group-id="0685912735-1">)</span><span·class="p">.</span></code></pre><p>The·default·value·for·a·field·is·an·arbitrary·expression,·except·that·it·must
133 not·use·any·variables.</p><p>A·record·definition·can·be·placed·anywhere·among·the·attributes·and·function133 not·use·any·variables.</p><p>A·record·definition·can·be·placed·anywhere·among·the·attributes·and·function
134 declarations·of·a·module,·but·the·definition·must·come·before·any·usage·of·the134 declarations·of·a·module,·but·the·definition·must·come·before·any·usage·of·the
135 record.</p><p>If·a·record·is·used·in·several·modules,·it·is·recommended·that·the·record135 record.</p><p>If·a·record·is·used·in·several·modules,·it·is·recommended·that·the·record
136 definition·is·placed·in·an·include·file.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Starting·from·Erlang/OTP·26,·records·can·be·defined·in·the·Erlang·shell136 definition·is·placed·in·an·include·file.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Starting·from·Erlang/OTP·26,·records·can·be·defined·in·the·Erlang·shell
137 using·the·syntax·described·in·this·section.·In·earlier·releases,·it·was137 using·the·syntax·described·in·this·section.·In·earlier·releases,·it·was
138 necessary·to·use·the·<a·href="../../lib/stdlib-7.0/doc/html/shell.html"><code·class="inline">shell</code></a>·built-in·function·<code·class="inline">rd/2</code>.</p></section><h2·id="creating-records"·class="section-heading">138 necessary·to·use·the·<a·href="../../lib/stdlib-7.0/doc/html/shell.html"><code·class="inline">shell</code></a>·built-in·function·<code·class="inline">rd/2</code>.</p></section><h2·id="creating-records"·class="section-heading">
139 ··<a·href="#creating-records"·class="hover-link">139 ··<a·href="#creating-records"·class="hover-link">
Offset 143, 32 lines modifiedOffset 143, 32 lines modified
143 </h2>143 </h2>
144 <p>The·following·expression·creates·a·new·<code·class="inline">Name</code>·record·where·the·value·of·each144 <p>The·following·expression·creates·a·new·<code·class="inline">Name</code>·record·where·the·value·of·each
145 field·<code·class="inline">FieldI</code>·is·the·value·of·evaluating·the·corresponding·expression·<code·class="inline">ExprI</code>:</p><pre><code·class="text">#Name{Field1=Expr1,·...,·FieldK=ExprK}</code></pre><p>The·fields·can·be·in·any·order,·not·necessarily·the·same·order·as·in·the·record145 field·<code·class="inline">FieldI</code>·is·the·value·of·evaluating·the·corresponding·expression·<code·class="inline">ExprI</code>:</p><pre><code·class="text">#Name{Field1=Expr1,·...,·FieldK=ExprK}</code></pre><p>The·fields·can·be·in·any·order,·not·necessarily·the·same·order·as·in·the·record
146 definition,·and·fields·can·be·omitted.·Omitted·fields·get·their·respective146 definition,·and·fields·can·be·omitted.·Omitted·fields·get·their·respective
147 default·value·instead.</p><p>If·several·fields·are·to·be·assigned·the·same·value,·the·following·construction147 default·value·instead.</p><p>If·several·fields·are·to·be·assigned·the·same·value,·the·following·construction
148 can·be·used:</p><pre><code·class="text">#Name{Field1=Expr1,·...,·FieldK=ExprK,·_=ExprL}</code></pre><p>Omitted·fields·then·get·the·value·of·evaluating·<code·class="inline">ExprL</code>·instead·of·their·default148 can·be·used:</p><pre><code·class="text">#Name{Field1=Expr1,·...,·FieldK=ExprK,·_=ExprL}</code></pre><p>Omitted·fields·then·get·the·value·of·evaluating·<code·class="inline">ExprL</code>·instead·of·their·default
149 values.·This·feature·is·primarily·intended·to·be·used·to·create·patterns·for·ETS149 values.·This·feature·is·primarily·intended·to·be·used·to·create·patterns·for·ETS
150 and·Mnesia·match·functions.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="4747876535-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4747876535-2">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·c17b5275ab3bbde048ea5186b698ad09789765fae753b59f1ebda2e295ca0ae0·...·]-1">)</span><span·class="p">.</span><span·class="w">150 and·Mnesia·match·functions.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0286823829-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0286823829-2">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·a623500b70d50e8be4be70b4275ccdd52a69795f6c766a07675456c66fa90f73·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
151 </span><span·class="nf">lookup</span><span·class="p"·data-group-id="4747876535-3">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p"·data-group-id="4747876535-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">151 </span><span·class="nf">lookup</span><span·class="p"·data-group-id="0286823829-3">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p"·data-group-id="0286823829-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
152 ····</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match_object</span><span·class="p"·data-group-id="4747876535-4">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="4747876535-5">{</span><span·class="ss">name</span><span·class="o">=</span><[·...·truncated·by·diffoscope;·len:·251,·SHA:·079b3a86db2d69693797e1968ddcd4bd5a0608886596a9a6abb1a2b73451417c·...·]-4">)</span><span·class="p">.</span></code></pre><h2·id="accessing-record-fields"·class="section-heading">152 ····</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match_object</span><span·class="p"·data-group-id="0286823829-4">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="0286823829-5">{</span><span·class="ss">name</span><span·class="o">=</span><[·...·truncated·by·diffoscope;·len:·251,·SHA:·ebf9cd52debc3a1aed490d1af347ed5f42281cb32995740271b772d2de2e77e2·...·]-4">)</span><span·class="p">.</span></code></pre><h2·id="accessing-record-fields"·class="section-heading">
153 ··<a·href="#accessing-record-fields"·class="hover-link">153 ··<a·href="#accessing-record-fields"·class="hover-link">
154 ····<i·class="ri-link-m"·aria-hidden="true"></i>154 ····<i·class="ri-link-m"·aria-hidden="true"></i>
155 ··</a>155 ··</a>
156 ··<span·class="text">Accessing·Record·Fields</span>156 ··<span·class="text">Accessing·Record·Fields</span>
157 </h2>157 </h2>
158 <pre><code·class="text">Expr#Name.Field</code></pre><p>Returns·the·value·of·the·specified·field.·<code·class="inline">Expr</code>·is·to·evaluate·to·a·<code·class="inline">Name</code>158 <pre><code·class="text">Expr#Name.Field</code></pre><p>Returns·the·value·of·the·specified·field.·<code·class="inline">Expr</code>·is·to·evaluate·to·a·<code·class="inline">Name</code>
159 record.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="5562866223-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5562866223-2">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</span[·...·truncated·by·diffoscope;·len:·174,·SHA:·c7e9b64f60f5c0e0519cbdba596ef3c2ae5c38a2bb296bc0e3c4b9ffc9c8acdb·...·]-1">)</span><span·class="p">.</span><span·class="w">159 record.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="5955922436-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5955922436-2">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</span[·...·truncated·by·diffoscope;·len:·174,·SHA:·e9a9bc41fd978ba5689063fb417cb4fc3ff13ebf7ce1591357ef27c00703e817·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
160 </span><span·class="nf">get_person_name</span><span·class="p"·data-group-id="5562866223-3">(</span><span·class="n">Person</span><span·class="p"·data-group-id="5562866223-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">160 </span><span·class="nf">get_person_name</span><span·class="p"·data-group-id="5955922436-3">(</span><span·class="n">Person</span><span·class="p"·data-group-id="5955922436-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
161 ····</span><span·class="n">Person</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">name</span><span·class="p">.</span></code></pre><p>The·following·expression·returns·the·position·of·the·specified·field·in·the161 ····</span><span·class="n">Person</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">name</span><span·class="p">.</span></code></pre><p>The·following·expression·returns·the·position·of·the·specified·field·in·the
162 tuple·representation·of·the·record:</p><pre><code·class="text">#Name.Field</code></pre><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="3221290045-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3221290045-2">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·3940ad65a7356684787b32da210ae24fb459e9b76e081e4f73d6832b8ef1ce6b·...·]-1">)</span><span·class="p">.</span><span·class="w">162 tuple·representation·of·the·record:</p><pre><code·class="text">#Name.Field</code></pre><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="9796435659-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9796435659-2">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">phone</spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·15bfee4bfc42e378f5b563506cc7a79795d794e9ff2c346e25299c123e4c0c21·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
163 </span><span·class="nf">lookup</span><span·class="p"·data-group-id="3221290045-3">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">List</span><span·class="p"·data-group-id="3221290045-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">163 </span><span·class="nf">lookup</span><span·class="p"·data-group-id="9796435659-3">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">List</span><span·class="p"·data-group-id="9796435659-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
164 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">keyfind</span><span·class="p"·data-group-id="3221290045-4">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·63,·SHA:·d32cb464a721cd3f9f6d870632c1464cd79ee211c6a79e16cf462c882139e02e·...·]-4">)</span><span·class="p">.</span></code></pre><h2·id="updating-records"·class="section-heading">164 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">keyfind</span><span·class="p"·data-group-id="9796435659-4">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·63,·SHA:·540abd0fb32de1a4c2ac2d96ef8df7d9a2ee5bb35d595aee1910d76e93aa5169·...·]-4">)</span><span·class="p">.</span></code></pre><h2·id="updating-records"·class="section-heading">
165 ··<a·href="#updating-records"·class="hover-link">165 ··<a·href="#updating-records"·class="hover-link">
166 ····<i·class="ri-link-m"·aria-hidden="true"></i>166 ····<i·class="ri-link-m"·aria-hidden="true"></i>
167 ··</a>167 ··</a>
168 ··<span·class="text">Updating·Records</span>168 ··<span·class="text">Updating·Records</span>
169 </h2>169 </h2>
170 <pre><code·class="text">Expr#Name{Field1=Expr1,·...,·FieldK=ExprK}</code></pre><p><code·class="inline">Expr</code>·is·to·evaluate·to·a·<code·class="inline">Name</code>·record.·A·copy·of·this·record·is·returned,170 <pre><code·class="text">Expr#Name{Field1=Expr1,·...,·FieldK=ExprK}</code></pre><p><code·class="inline">Expr</code>·is·to·evaluate·to·a·<code·class="inline">Name</code>·record.·A·copy·of·this·record·is·returned,
171 with·the·value·of·each·specified·field·<code·class="inline">FieldI</code>·changed·to·the·value·of171 with·the·value·of·each·specified·field·<code·class="inline">FieldI</code>·changed·to·the·value·of
Offset 178, 51 lines modifiedOffset 178, 51 lines modified
178 ····<i·class="ri-link-m"·aria-hidden="true"></i>178 ····<i·class="ri-link-m"·aria-hidden="true"></i>
179 ··</a>179 ··</a>
180 ··<span·class="text">Records·in·Guards</span>180 ··<span·class="text">Records·in·Guards</span>
181 </h2>181 </h2>
182 <p>Since·record·expressions·are·expanded·to·tuple·expressions,·creating182 <p>Since·record·expressions·are·expanded·to·tuple·expressions,·creating
183 records·and·accessing·record·fields·are·allowed·in·guards.·However,183 records·and·accessing·record·fields·are·allowed·in·guards.·However,
184 all·subexpressions·(for·initializing·fields),·must·be·valid·guard184 all·subexpressions·(for·initializing·fields),·must·be·valid·guard
185 expressions·as·well.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle</span><span·class="p"·data-group-id="7552730560-1">(</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="7552730560-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·442,·SHA:·744464b2a1182f31f193a634058d79ed1f2c0cb1c4064050f3023d77531a1521·...·]-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">185 expressions·as·well.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle</span><span·class="p"·data-group-id="1790200762-1">(</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="1790200762-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·442,·SHA:·e1138a99828cf846a7f8b410a31b97aa1f9845169b934700790922d151e1f3dd·...·]-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
186 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">186 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
  
187 </span><span·class="nf">handle</span><span·class="p"·data-group-id="7552730560-3">(</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="7552730560-3">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">running</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">187 </span><span·class="nf">handle</span><span·class="p"·data-group-id="1790200762-3">(</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="1790200762-3">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">running</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
188 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>There·is·also·a·type·test·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#is_record/2"><code·class="inline">is_record(Term,·RecordTag)</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">is_person</span><span·class="p"·data-group-id="0705512050-1">(</span><span·class="n">P</span><span·class="p"·data-group-id="0705512050-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_record</span><span·class="p"·data-group-id="0705512050-2">(</s[·...·truncated·by·diffoscope;·len:·147,·SHA:·f8502ae880d73884b44034bd868c582db36ae806356c9758ca6f402d95dbf39f·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">188 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>There·is·also·a·type·test·BIF·<a·href="../../erts-16.0/doc/html/erlang.html#is_record/2"><code·class="inline">is_record(Term,·RecordTag)</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">is_person</span><span·class="p"·data-group-id="2904438554-1">(</span><span·class="n">P</span><span·class="p"·data-group-id="2904438554-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_record</span><span·class="p"·data-group-id="2904438554-2">(</s[·...·truncated·by·diffoscope;·len:·147,·SHA:·f3ca42c0699a93b7bde16e9fb9b367a172d30de8319654f0c0a6b37c2f738e42·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
189 ····</span><span·class="ss">true</span><span·class="p">;</span><span·class="w">189 ····</span><span·class="ss">true</span><span·class="p">;</span><span·class="w">
190 </span><span·class="nf">is_person</span><span·class="p"·data-group-id="0705512050-3">(</span><span·class="p">_</span><span·class="n">P</span><span·class="p"·data-group-id="0705512050-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">190 </span><span·class="nf">is_person</span><span·class="p"·data-group-id="2904438554-3">(</span><span·class="p">_</span><span·class="n">P</span><span·class="p"·data-group-id="2904438554-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
191 ····</span><span·class="ss">false</span><span·class="p">.</span></code></pre><h2·id="records-in-patterns"·class="section-heading">191 ····</span><span·class="ss">false</span><span·class="p">.</span></code></pre><h2·id="records-in-patterns"·class="section-heading">
192 ··<a·href="#records-in-patterns"·class="hover-link">192 ··<a·href="#records-in-patterns"·class="hover-link">
193 ····<i·class="ri-link-m"·aria-hidden="true"></i>193 ····<i·class="ri-link-m"·aria-hidden="true"></i>
194 ··</a>194 ··</a>
195 ··<span·class="text">Records·in·Patterns</span>195 ··<span·class="text">Records·in·Patterns</span>
196 </h2>196 </h2>
197 <p>A·pattern·that·matches·a·certain·record·is·created·in·the·same·way·as·a·record197 <p>A·pattern·that·matches·a·certain·record·is·created·in·the·same·way·as·a·record
198 is·created:</p><pre><code·class="text">#Name{Field1=Expr1,·...,·FieldK=ExprK}</code></pre><p>In·this·case,·one·or·more·of·<code·class="inline">Expr1</code>·...·<code·class="inline">ExprK</code>·can·be·unbound·variables.</p><h2·id="nested-records"·class="section-heading">198 is·created:</p><pre><code·class="text">#Name{Field1=Expr1,·...,·FieldK=ExprK}</code></pre><p>In·this·case,·one·or·more·of·<code·class="inline">Expr1</code>·...·<code·class="inline">ExprK</code>·can·be·unbound·variables.</p><h2·id="nested-records"·class="section-heading">
199 ··<a·href="#nested-records"·class="hover-link">199 ··<a·href="#nested-records"·class="hover-link">
200 ····<i·class="ri-link-m"·aria-hidden="true"></i>200 ····<i·class="ri-link-m"·aria-hidden="true"></i>
201 ··</a>201 ··</a>
202 ··<span·class="text">Nested·Records</span>202 ··<span·class="text">Nested·Records</span>
203 </h2>203 </h2>
204 <p>Assume·the·following·record·definitions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7930951413-1">(</span><span·class="ss">nrec0</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7930951413-2">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;nested0&quot;</span><span·class="p"·data-group-id="7930951413-2">}</span><span·class="p"·data-group-id="7930951413-1">)</span><span·class="p">.</span><span·class="w"> 
205 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7930951413-3">(</span><span·class="ss">nrec1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7930951413-4">{</span><span·class="[·...·truncated·by·diffoscope;·len:·485,·SHA:·0b6193e177ecba76d559d74f9a9f5238f04fab92aa97ad9b05c8b6bc897fcf9f·...·]">)</span><span·class="p">.</span><span·class="w">204 <p>Assume·the·following·record·definitions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="8287549896-1">(</span><span·class="ss">nrec0</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·313,·SHA:·86602e1b4d3b3a89847b508d8eabfb34dcabc850217c09a0a6c2910c0b6915fc·...·]">)</span><span·class="p">.</span><span·class="w">
 205 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="8287549896-3">(</span><span·class="ss">nrec1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8287549896-4">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;nested1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">nrec0</span><span·class="o">=</span><span·class="o">#</span><span·class="ss">nrec0</span><span·class="p"·data-group-id="8287549896-5">{</span><span·class="p"·data-group-id="8287549896-5">}</span><span·class="p"·data-group-id="8287549896-4">}</span><span·class="p"·data-group-id="8287549896-3">)</span><span·class="p">.</span><span·class="w">
206 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7930951413-6">(</span><span·class="ss">nrec2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7930951413-7">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·392,·SHA:·90fca2fef7d47966b63d8c4dbdee1e2fb76bba62e9839f6b138f65b00cbb712a·...·]-6">)</span><span·class="p">.</span><span·class="w">206 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="8287549896-6">(</span><span·class="ss">nrec2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8287549896-7">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·392,·SHA:·054afa38c457aaf1b6965995f3d36f39cef0bb12b93adb2663cc7945cc174fe5·...·]-6">)</span><span·class="p">.</span><span·class="w">
  
207 </span><span·class="n">N2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">nrec2</span><span·class="p"·data-group-id="7930951413-9">{</span><span·class="p"·data-group-id="7930951413-9">}</span><span·class="p">,</span></code></pre><p>Accessing·or·updating·nested·records·can·be·written·without·parentheses:</p><pre><code·class="text">&quot;nested0&quot;·=·N2#nrec2.nrec1#nrec1.nrec0#nrec0.name,207 </span><span·class="n">N2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">nrec2</span><span·class="p"·data-group-id="8287549896-9">{</span><span·class="p"·data-group-id="8287549896-9">}</span><span·class="p">,</span></code></pre><p>Accessing·or·updating·nested·records·can·be·written·without·parentheses:</p><pre><code·class="text">&quot;nested0&quot;·=·N2#nrec2.nrec1#nrec1.nrec0#nrec0.name,
208 ····N0n·=·N2#nrec2.nrec1#nrec1.nrec0#nrec0{name·=·&quot;nested0a&quot;},</code></pre><p>which·is·equivalent·to:</p><pre><code·class="text">&quot;nested0&quot;·=·((N2#nrec2.nrec1)#nrec1.nrec0)#nrec0.name,208 ····N0n·=·N2#nrec2.nrec1#nrec1.nrec0#nrec0{name·=·&quot;nested0a&quot;},</code></pre><p>which·is·equivalent·to:</p><pre><code·class="text">&quot;nested0&quot;·=·((N2#nrec2.nrec1)#nrec1.nrec0)#nrec0.name,
209 N0n·=·((N2#nrec2.nrec1)#nrec1.nrec0)#nrec0{name·=·&quot;nested0a&quot;},</code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Before·Erlang/OTP·R14,·parentheses·were·necessary·when·accessing·or·updating209 N0n·=·((N2#nrec2.nrec1)#nrec1.nrec0)#nrec0{name·=·&quot;nested0a&quot;},</code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Before·Erlang/OTP·R14,·parentheses·were·necessary·when·accessing·or·updating
210 nested·records.</p></section><h2·id="internal-representation-of-records"·class="section-heading">210 nested·records.</p></section><h2·id="internal-representation-of-records"·class="section-heading">
211 ··<a·href="#internal-representation-of-records"·class="hover-link">211 ··<a·href="#internal-representation-of-records"·class="hover-link">
212 ····<i·class="ri-link-m"·aria-hidden="true"></i>212 ····<i·class="ri-link-m"·aria-hidden="true"></i>
213 ··</a>213 ··</a>
214 ··<span·class="text">Internal·Representation·of·Records</span>214 ··<span·class="text">Internal·Representation·of·Records</span>
215 </h2>215 </h2>
216 <p>Record·expressions·are·translated·to·tuple·expressions·during·compilation.·A216 <p>Record·expressions·are·translated·to·tuple·expressions·during·compilation.·A
217 record·defined·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="5540562915-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5540562915-2">{</span><span·class="n">Field1</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FieldN</span><span·class="p"·data-group-id="5540562915-2">}</span><span·class="p"·data-group-id="5540562915-1">)</span><span·class="p">.</span></code></pre><p>is·internally·represented·by·the·tuple:</p><pre><code·class="text">{Name,·Value1,·...,·ValueN}</code></pre><p>Here·each·<code·class="inline">ValueI</code>·is·the·default·value·for·<code·class="inline">FieldI</code>.</p><p>To·each·module·using·records,·a·pseudo·function·is·added·during·compilation·to 
218 obtain·information·about·records:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">record_info</span><span·class="p"·data-group-id="5474400967-1">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Record</span><span·class="p"·data-group-id="5474400967-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5474400967-2">[</span><span·class="n">Field</span><span·class="p"·data-group-id="5474400967-2">]</span><span·class="w"> 
219 </span><span·class="nf">record_info</span><span·class="p"·data-group-id="5474400967-3">(</span><span·class="nb">size</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Record</span><span·class="p"·data-group-id="5474400967-3">)</span><sp[·...·truncated·by·diffoscope;·len:·216,·SHA:·dbe5cd2b032485dac7384e2d3ff22e1357da302e3c3e9f59d7f5b684c3d56890·...·]217 record·defined·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0974126781-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·721,·SHA:·5179cb915f87057bb03e48db4d68124188fb60c457efedf1a88c5f110ecd3cf3·...·]
 218 obtain·information·about·records:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">record_info</span><span·class="p"·data-group-id="3994968225-1">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Record</span><span·class="p"·data-group-id="3994968225-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3994968225-2">[</span><span·class="n">Field</span><span·class="p"·data-group-id="3994968225-2">]</span><span·class="w">
 219 </span><span·class="nf">record_info</span><span·class="p"·data-group-id="3994968225-3">(</span><span·class="nb">size</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Record</span><span·class="p"·data-group-id="3994968225-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Size</span></code></pre><p><code·class="inline">Size</code>·is·the·size·of·the·tuple·representation,·that·is,·one·more·than·the
220 number·of·fields.</p>220 number·of·fields.</p>
221 </div>221 </div>
  
222 <div·class="bottom-actions"·id="bottom-actions">222 <div·class="bottom-actions"·id="bottom-actions">
223 ··<div·class="bottom-actions-item">223 ··<div·class="bottom-actions-item">
  
224 ······<a·href="macros.html"·class="bottom-actions-button"·rel="prev">224 ······<a·href="macros.html"·class="bottom-actions-button"·rel="prev">
Offset 266, 15 lines modifiedOffset 266, 15 lines modified
266 ······<p·class="built-using">266 ······<p·class="built-using">
267 ········Built·using267 ········Built·using
268 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the268 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
269 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>269 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
270 ······</p>270 ······</p>
271 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>271 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
272 ····</footer>272 ····</footer>
273 ··</div>273 ··</div>
274 </main>274 </main>
275 </div>275 </div>
276 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>276 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
277 ··<script>277 ··<script>
278 ··let·initialized·=·false;278 ··let·initialized·=·false;
694 B
html2text {}
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/doc/system/reference_manual.html
    
Offset 209, 15 lines modifiedOffset 209, 15 lines modified
209 ······<p·class="built-using">209 ······<p·class="built-using">
210 ········Built·using210 ········Built·using
211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
213 ······</p>213 ······</p>
214 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>214 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
215 ····</footer>215 ····</footer>
216 ··</div>216 ··</div>
217 </main>217 </main>
218 </div>218 </div>
219 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>219 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
220 ··<script>220 ··<script>
221 ··let·initialized·=·false;221 ··let·initialized·=·false;
787 B
html2text {}
Max HTML report size reached
68.8 KB
./usr/share/doc/erlang-doc/html/doc/system/release_handling.html
    
Offset 223, 38 lines modifiedOffset 223, 38 lines modified
223 ··<span·class="text">update</span>223 ··<span·class="text">update</span>
224 </h3>224 </h3>
225 <p>If·a·more·complex·change·has·been·made,·for·example,·a·change·to·the·format·of225 <p>If·a·more·complex·change·has·been·made,·for·example,·a·change·to·the·format·of
226 the·internal·state·of·a·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>,·simple·code·replacement·is·not·sufficient.226 the·internal·state·of·a·<a·href="../../lib/stdlib-7.0/doc/html/gen_server.html"><code·class="inline">gen_server</code></a>,·simple·code·replacement·is·not·sufficient.
227 Instead,·it·is·necessary·to:</p><ul><li>Suspend·the·processes·using·the·module·(to·avoid·that·they·try·to·handle·any227 Instead,·it·is·necessary·to:</p><ul><li>Suspend·the·processes·using·the·module·(to·avoid·that·they·try·to·handle·any
228 requests·before·the·code·replacement·is·completed).</li><li>Ask·them·to·transform·the·internal·state·format·and·switch·to·the·new·version228 requests·before·the·code·replacement·is·completed).</li><li>Ask·them·to·transform·the·internal·state·format·and·switch·to·the·new·version
229 of·the·module.</li><li>Remove·the·old·version.</li><li>Resume·the·processes.</li></ul><p>This·is·called·<em>synchronized·code·replacement</em>·and·for·this·the·following229 of·the·module.</li><li>Remove·the·old·version.</li><li>Resume·the·processes.</li></ul><p>This·is·called·<em>synchronized·code·replacement</em>·and·for·this·the·following
230 instructions·are·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6053266452-1">{</span><span·class="ss">update</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6053266452-2">{</span><span·class="ss">advanced</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Extra</span><span·class="p"·data-group-id="6053266452-2">}</span><span·class="p"·data-group-id="6053266452-1">}</span><span·class="w"> 
231 </span><span·class="p"·data-group-id="6053266452-3">{</span><span·class="ss">update</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">supervisor</span><span·c[·...·truncated·by·diffoscope;·len:·190,·SHA:·b5abce628f00c308d099e7c926ed23f00fcef02f3f04086bbeaa7d9a38a9ce9d·...·]230 instructions·are·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5107191690-1">{</span><span·class="ss">update</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·309,·SHA:·2336106a5afdcb4548ea8ff41ff86e5613d5fbe2fd43da6adada43978b61974e·...·]
 231 </span><span·class="p"·data-group-id="5107191690-3">{</span><span·class="ss">update</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="5107191690-3">}</span></code></pre><p><code·class="inline">update</code>·with·argument·<code·class="inline">{advanced,Extra}</code>·is·used·when·changing·the·internal
232 state·of·a·behaviour·as·described·above.·It·causes·behaviour·processes·to·call232 state·of·a·behaviour·as·described·above.·It·causes·behaviour·processes·to·call
233 the·callback·function·<code·class="inline">code_change/3</code>,·passing·the·term·<code·class="inline">Extra</code>·and·some·other233 the·callback·function·<code·class="inline">code_change/3</code>,·passing·the·term·<code·class="inline">Extra</code>·and·some·other
234 information·as·arguments.·See·the·manual·pages·for·the·respective·behaviours·and234 information·as·arguments.·See·the·manual·pages·for·the·respective·behaviours·and
235 <a·href="appup_cookbook.html#int_state">Appup·Cookbook</a>.</p><p><code·class="inline">update</code>·with·argument·<code·class="inline">supervisor</code>·is·used·when·changing·the·start235 <a·href="appup_cookbook.html#int_state">Appup·Cookbook</a>.</p><p><code·class="inline">update</code>·with·argument·<code·class="inline">supervisor</code>·is·used·when·changing·the·start
236 specification·of·a·supervisor.·See·<a·href="appup_cookbook.html#sup">Appup·Cookbook</a>.</p><p>When·a·module·is·to·be·updated,·the·release·handler·finds·which·processes·that236 specification·of·a·supervisor.·See·<a·href="appup_cookbook.html#sup">Appup·Cookbook</a>.</p><p>When·a·module·is·to·be·updated,·the·release·handler·finds·which·processes·that
237 are·<em>using</em>·the·module·by·traversing·the·supervision·tree·of·each·running237 are·<em>using</em>·the·module·by·traversing·the·supervision·tree·of·each·running
238 application·and·checking·all·the·child·specifications:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6890153276-1">{</span><span·class="n">Id</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StartFunc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Restart</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·222,·SHA:·1280356b6acd2025c2c9d4669a09e0669c12f80929fccb72d2d6dd5c4c4a06de·...·]-1">}</span></code></pre><p>A·process·uses·a·module·if·the·name·is·listed·in·<code·class="inline">Modules</code>·in·the·child238 application·and·checking·all·the·child·specifications:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3071654600-1">{</span><span·class="n">Id</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StartFunc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Restart</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·222,·SHA:·4d10cd5a4e120973165834956347fd5bc363869adb42c839268c2f89f981336e·...·]-1">}</span></code></pre><p>A·process·uses·a·module·if·the·name·is·listed·in·<code·class="inline">Modules</code>·in·the·child
239 specification·for·the·process.</p><p>If·<code·class="inline">Modules=dynamic</code>,·which·is·the·case·for·event·managers,·the·event·manager239 specification·for·the·process.</p><p>If·<code·class="inline">Modules=dynamic</code>,·which·is·the·case·for·event·managers,·the·event·manager
240 process·informs·the·release·handler·about·the·list·of·currently·installed·event240 process·informs·the·release·handler·about·the·list·of·currently·installed·event
241 handlers·(<code·class="inline">gen_event</code>),·and·it·is·checked·if·the·module·name·is·in·this·list241 handlers·(<code·class="inline">gen_event</code>),·and·it·is·checked·if·the·module·name·is·in·this·list
242 instead.</p><p>The·release·handler·suspends,·asks·for·code·change,·and·resumes·processes·by242 instead.</p><p>The·release·handler·suspends,·asks·for·code·change,·and·resumes·processes·by
243 calling·the·functions·<code·class="inline">sys:suspend/1,2</code>,·<code·class="inline">sys:change_code/4,5</code>,·and243 calling·the·functions·<code·class="inline">sys:suspend/1,2</code>,·<code·class="inline">sys:change_code/4,5</code>,·and
244 <code·class="inline">sys:resume/1,2</code>,·respectively.</p><h3·id="add_module-and-delete_module"·class="section-heading">244 <code·class="inline">sys:resume/1,2</code>,·respectively.</p><h3·id="add_module-and-delete_module"·class="section-heading">
245 ··<a·href="#add_module-and-delete_module"·class="hover-link">245 ··<a·href="#add_module-and-delete_module"·class="hover-link">
246 ····<i·class="ri-link-m"·aria-hidden="true"></i>246 ····<i·class="ri-link-m"·aria-hidden="true"></i>
247 ··</a>247 ··</a>
248 ··<span·class="text">add_module·and·delete_module</span>248 ··<span·class="text">add_module·and·delete_module</span>
249 </h3>249 </h3>
250 <p>If·a·new·module·is·introduced,·the·following·instruction·is·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3204952861-1">{</span><span·class="ss">add_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p"·data-group-id="3204952861-1">}</span></code></pre><p>This·instruction·loads·module·<code·class="inline">Module</code>.·When·running·Erlang·in250 <p>If·a·new·module·is·introduced,·the·following·instruction·is·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0781969486-1">{</span><span·class="ss">add_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p"·data-group-id="0781969486-1">}</span></code></pre><p>This·instruction·loads·module·<code·class="inline">Module</code>.·When·running·Erlang·in
251 embedded·mode·it·is·necessary·to·use·this·this·instruction.·It·is·not251 embedded·mode·it·is·necessary·to·use·this·this·instruction.·It·is·not
252 strictly·required·when·running·Erlang·in·interactive·mode,·since·the252 strictly·required·when·running·Erlang·in·interactive·mode,·since·the
253 code·server·automatically·searches·for·and·loads·unloaded·modules.</p><p>The·opposite·of·<code·class="inline">add_module</code>·is·<code·class="inline">delete_module</code>,·which·unloads·a·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0301654565-1">{</span><span·class="nb">delete_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p"·data-group-id="0301654565-1">}</span></code></pre><p>Any·process,·in·any·application,·with·<code·class="inline">Module</code>·as·residence·module,·is253 code·server·automatically·searches·for·and·loads·unloaded·modules.</p><p>The·opposite·of·<code·class="inline">add_module</code>·is·<code·class="inline">delete_module</code>,·which·unloads·a·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2918899693-1">{</span><span·class="nb">delete_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p"·data-group-id="2918899693-1">}</span></code></pre><p>Any·process,·in·any·application,·with·<code·class="inline">Module</code>·as·residence·module,·is
254 killed·when·the·instruction·is·evaluated.·Therefore,·the·user·must254 killed·when·the·instruction·is·evaluated.·Therefore,·the·user·must
255 ensure·that·all·such·processes·are·terminated·before·deleting·module255 ensure·that·all·such·processes·are·terminated·before·deleting·module
256 <code·class="inline">Module</code>·to·avoid·a·situation·with·failing·supervisor·restarts.</p><h3·id="application-instructions"·class="section-heading">256 <code·class="inline">Module</code>·to·avoid·a·situation·with·failing·supervisor·restarts.</p><h3·id="application-instructions"·class="section-heading">
257 ··<a·href="#application-instructions"·class="hover-link">257 ··<a·href="#application-instructions"·class="hover-link">
258 ····<i·class="ri-link-m"·aria-hidden="true"></i>258 ····<i·class="ri-link-m"·aria-hidden="true"></i>
259 ··</a>259 ··</a>
260 ··<span·class="text">Application·Instructions</span>260 ··<span·class="text">Application·Instructions</span>
Offset 341, 60 lines modifiedOffset 341, 60 lines modified
341 <code·class="inline">.app</code>·file.</li><li>Each·<code·class="inline">UpFromVsn</code>·is·a·previous·version·of·the·application·to·upgrade·from.</li><li>Each·<code·class="inline">DownToVsn</code>·is·a·previous·version·of·the·application·to·downgrade·to.</li><li>Each·<code·class="inline">Instructions</code>·is·a·list·of·release·handling·instructions.</li></ul><p><code·class="inline">UpFromVsn</code>·and·<code·class="inline">DownToVsn</code>·can·also·be·specified·as·regular·expressions.·For341 <code·class="inline">.app</code>·file.</li><li>Each·<code·class="inline">UpFromVsn</code>·is·a·previous·version·of·the·application·to·upgrade·from.</li><li>Each·<code·class="inline">DownToVsn</code>·is·a·previous·version·of·the·application·to·downgrade·to.</li><li>Each·<code·class="inline">Instructions</code>·is·a·list·of·release·handling·instructions.</li></ul><p><code·class="inline">UpFromVsn</code>·and·<code·class="inline">DownToVsn</code>·can·also·be·specified·as·regular·expressions.·For
342 more·information·about·the·syntax·and·contents·of·the·<code·class="inline">.appup</code>·file,·see342 more·information·about·the·syntax·and·contents·of·the·<code·class="inline">.appup</code>·file,·see
343 <a·href="../../lib/sasl-4.3/doc/html/appup.html"><code·class="inline">appup</code></a>·in·SASL.</p><p><a·href="appup_cookbook.html">Appup·Cookbook</a>·includes·examples·of·<code·class="inline">.appup</code>·files·for343 <a·href="../../lib/sasl-4.3/doc/html/appup.html"><code·class="inline">appup</code></a>·in·SASL.</p><p><a·href="appup_cookbook.html">Appup·Cookbook</a>·includes·examples·of·<code·class="inline">.appup</code>·files·for
344 typical·upgrade/downgrade·cases.</p><p><em>Example:</em>·Consider·the·release·<code·class="inline">ch_rel-1</code>·from344 typical·upgrade/downgrade·cases.</p><p><em>Example:</em>·Consider·the·release·<code·class="inline">ch_rel-1</code>·from
345 <a·href="release_structure.html#ch_rel">Releases</a>.·Assume·you·want·to·add·a·function345 <a·href="release_structure.html#ch_rel">Releases</a>.·Assume·you·want·to·add·a·function
346 <code·class="inline">available/0</code>·to·server·<code·class="inline">ch3</code>,·which·returns·the·number·of·available·channels346 <code·class="inline">available/0</code>·to·server·<code·class="inline">ch3</code>,·which·returns·the·number·of·available·channels
347 (when·trying·out·the·example,·make·the·change·in·a·copy·of·the·original347 (when·trying·out·the·example,·make·the·change·in·a·copy·of·the·original
348 directory,·to·ensure·that·the·first·version·is·still·available):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7042637481-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="7042637481-1">)</span><span·class="p">.</span><span·class="w">348 directory,·to·ensure·that·the·first·version·is·still·available):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7939590995-1">(</span><span·class="ss">ch3</span><span·class="p"·data-group-id="7939590995-1">)</span><span·class="p">.</span><span·class="w">
349 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="7042637481-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="7042637481-2">)</span><span·class="p">.</span><span·class="w">349 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="7939590995-2">(</span><span·class="ss">gen_server</span><span·class="p"·data-group-id="7939590995-2">)</span><span·class="p">.</span><span·class="w">
350 </span><span·class="w">350 </span><span·class="w">
351 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7042637481-3">(</span><span·class="p"·data-group-id="7042637481-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7042637481-4">]</span><span·class="p"·data-group-id="7042637481-3">)</span><span·class="p">.</span><span·class="w">351 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7939590995-3">(</span><span·class="p"·data-group-id="7939590995-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7939590995-4">]</span><span·class="p"·data-group-id="7939590995-3">)</span><span·class="p">.</span><span·class="w">
352 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7042637481-5">(</span><span·class="p"·data-group-id="7042637481-6">[</span><span·class="ss">alloc</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">free</span><span·class="p">/</span><spa[·...·truncated·by·diffoscope;·len:·115,·SHA:·99c6b1bd8d4b1345b91fa4b015d1286c60d817ff46c53e1c6fecf30d61eb8aef·...·]-5">)</span><span·class="p">.</span><span·class="w">352 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7939590995-5">(</span><span·class="p"·data-group-id="7939590995-6">[</span><span·class="ss">alloc</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">free</span><span·class="p">/</span><spa[·...·truncated·by·diffoscope;·len:·115,·SHA:·2675db51fa50c24799effe542f66894a7c0c7329dae1b22b326b254a0237eddc·...·]-5">)</span><span·class="p">.</span><span·class="w">
353 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7042637481-7">(</span><span·class="p"·data-group-id="7042637481-8">[</span><span·class="ss">available</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7042637481-8">]</span><span·class="p"·data-group-id="7042637481-7">)</span><span·class="p">.</span><span·class="w">353 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7939590995-7">(</span><span·class="p"·data-group-id="7939590995-8">[</span><span·class="ss">available</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7939590995-8">]</span><span·class="p"·data-group-id="7939590995-7">)</span><span·class="p">.</span><span·class="w">
354 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7042637481-9">(</span><span·class="p"·data-group-id="7042637481-10">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_call</span><span·class="p">/</sp[·...·truncated·by·diffoscope;·len:·255,·SHA:·ee881a4c36c4c800e6529e69c3ac8327ac4a8666f195df863935a7fe699f2495·...·]-9">)</span><span·class="p">.</span><span·class="w">354 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7939590995-9">(</span><span·class="p"·data-group-id="7939590995-10">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_call</span><span·class="p">/</sp[·...·truncated·by·diffoscope;·len:·255,·SHA:·43a0558d8943873e521acbaa25346e7c8e73995e2e124b6872df91da0a864caa·...·]-9">)</span><span·class="p">.</span><span·class="w">
  
355 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="7042637481-11">(</span><span·class="p"·data-group-id="7042637481-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">355 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="7939590995-11">(</span><span·class="p"·data-group-id="7939590995-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
356 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="7042637481-12">(</span><span·class="p"·data-group-id="7042637481-13">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p"·data-group-id="7042637481-13">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·406,·SHA:·d9ca3dba1c26513c267b1fc081bcb411ed29bc68cc9380200f0bc1b8c73c7108·...·]-12">)</span><span·class="p">.</span><span·class="w">356 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="7939590995-12">(</span><span·class="p"·data-group-id="7939590995-13">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p"·data-group-id="7939590995-13">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·406,·SHA:·0dd8b6ab0a3242e0a60ad00d2914729edcacc92af9dc40954afb0d8d98ffe1a4·...·]-12">)</span><span·class="p">.</span><span·class="w">
  
357 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="7042637481-16">(</span><span·class="p"·data-group-id="7042637481-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">357 </span><span·class="nf">alloc</span><span·class="p"·data-group-id="7939590995-16">(</span><span·class="p"·data-group-id="7939590995-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
358 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="7042637481-17">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data-group-id="7042637481-17">)</span><span·class="p">.</span><span·class="w">358 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="7939590995-17">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">alloc</span><span·class="p"·data-group-id="7939590995-17">)</span><span·class="p">.</span><span·class="w">
  
359 </span><span·class="nf">free</span><span·class="p"·data-group-id="7042637481-18">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="7042637481-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">359 </span><span·class="nf">free</span><span·class="p"·data-group-id="7939590995-18">(</span><span·class="n">Ch</span><span·class="p"·data-group-id="7939590995-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
360 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">cast</span><span·class="p"·data-group-id="7042637481-19">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7042637481-20">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><spa[·...·truncated·by·diffoscope;·len:·91,·SHA:·d1d80ae8fc9e57fb92480309301ef9eaee6e36f0418f7b36816bd2bfcac43d84·...·]-19">)</span><span·class="p">.</span><span·class="w">360 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">cast</span><span·class="p"·data-group-id="7939590995-19">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7939590995-20">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><spa[·...·truncated·by·diffoscope;·len:·91,·SHA:·76b20b2d6ae7606b54fe62d085dfdd9879a1a55c015adcf26c12875586db3971·...·]-19">)</span><span·class="p">.</span><span·class="w">
  
361 </span><span·class="nf">available</span><span·class="p"·data-group-id="7042637481-21">(</span><span·class="p"·data-group-id="7042637481-21">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">361 </span><span·class="nf">available</span><span·class="p"·data-group-id="7939590995-21">(</span><span·class="p"·data-group-id="7939590995-21">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
362 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="7042637481-22">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">available</span><span·class="p"·data-group-id="7042637481-22">)</span><span·class="p">.</span><span·class="w">362 ····</span><span·class="nc">gen_server</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="7939590995-22">(</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">available</span><span·class="p"·data-group-id="7939590995-22">)</span><span·class="p">.</span><span·class="w">
  
363 </span><span·class="nf">init</span><span·class="p"·data-group-id="7042637481-23">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="7042637481-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">363 </span><span·class="nf">init</span><span·class="p"·data-group-id="7939590995-23">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="7939590995-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
364 ····</span><span·class="p"·data-group-id="7042637481-24">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">channels</span><span·class="p"·data-group-id="7042637481-25">(</span><span·class="p"·data-group-id="7042637481-25">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·02363ded449a428fac34dc72a04ae1a9e9faa0ceff2deca07eff0bfe3c6b58e8·...·]-24">}</span><span·class="p">.</span><span·class="w">364 ····</span><span·class="p"·data-group-id="7939590995-24">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">channels</span><span·class="p"·data-group-id="7939590995-25">(</span><span·class="p"·data-group-id="7939590995-25">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·5b55b551f1903599d9d7227c618bb1d8b21b1359a95708693b556791e9c18d28·...·]-24">}</span><span·class="p">.</span><span·class="w">
  
365 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="7042637481-26">(</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·9,·SHA:·2bd63eec2f23cc25a407cd9f596608a5f1c1133a28e7656ab169a464d9a3487c·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">365 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="7939590995-26">(</span><span·class="ss">alloc</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·9,·SHA:·9e27ef00e0e58fd4231fb550f3866f5e6c6307d2260827636b456c2b02ab04a8·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
366 ····</span><span·class="p"·data-group-id="7042637481-27">{</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="7042637481-27">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·142,·SHA:·0c849b7bff04fcc39dfdba878455d14b26b4448e2c65b549a27abe77423260bd·...·]-28">)</span><span·class="p">,</span><span·class="w">366 ····</span><span·class="p"·data-group-id="7939590995-27">{</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="7939590995-27">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·142,·SHA:·95f7c89061671b930a7536b2c41664eec8034611a0b57e00c5f434129388cb8f·...·]-28">)</span><span·class="p">,</span><span·class="w">
367 ····</span><span·class="p"·data-group-id="7042637481-29">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="7042637481-29">}</span><span·class="p">;</span><span·class="w">367 ····</span><span·class="p"·data-group-id="7939590995-29">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="7939590995-29">}</span><span·class="p">;</span><span·class="w">
368 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="7042637481-30">(</span><span·class="ss">available</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·b12cdf88439e32e5e683bd5954f4b7e63c8c5ada58198d98ecbfb2ee52451dc5·...·]-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">368 </span><span·class="nf">handle_call</span><span·class="p"·data-group-id="7939590995-30">(</span><span·class="ss">available</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·561cca36461fb23f346c815df10625f040742cc3e781b1ceb5a7429fd192188d·...·]-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
369 ····</span><span·class="n">N</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">available</span><span·class="p"·data-group-id="7042637481-31">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="7042637481-31">)</span><span·class="p">,</span><span·class="w">369 ····</span><span·class="n">N</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">available</span><span·class="p"·data-group-id="7939590995-31">(</span><span·class="n">Chs</span><span·class="p"·data-group-id="7939590995-31">)</span><span·class="p">,</span><span·class="w">
370 ····</span><span·class="p"·data-group-id="7042637481-32">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="7042637481-32">}</span><span·class="p">.</span><span·class="w">370 ····</span><span·class="p"·data-group-id="7939590995-32">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="7939590995-32">}</span><span·class="p">.</span><span·class="w">
  
371 </span><span·class="nf">handle_cast</span><span·class="p"·data-group-id="7042637481-33">(</span><span·class="p"·data-group-id="7042637481-34">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p"·data-group-id="7042637481-34">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·90,·SHA:·03564badea5ffb7cf7367302ba1f338d02b1e04aa7553bcf18a62d9109cf2cf4·...·]-33">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">371 </span><span·class="nf">handle_cast</span><span·class="p"·data-group-id="7939590995-33">(</span><span·class="p"·data-group-id="7939590995-34">{</span><span·class="ss">free</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ch</span><span·class="p"·data-group-id="7939590995-34">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·90,·SHA:·a54a0263612c92042d6052620474fa0157b6ddcd90d1608b895005239363bdcb·...·]-33">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
372 ····</span><span·class="n">Chs2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">free</span><span·class="p"·data-group-id="7042637481-35">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="7042637481-35">)</span><span·class="p">,</span><span·class="w">372 ····</span><span·class="n">Chs2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">free</span><span·class="p"·data-group-id="7939590995-35">(</span><span·class="n">Ch</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs</span><span·class="p"·data-group-id="7939590995-35">)</span><span·class="p">,</span><span·class="w">
373 ····</span><span·class="p"·data-group-id="7042637481-36">{</span><span·class="ss">noreply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="7042637481-36">}</span><span·class="p">.</span></code></pre><p>A·new·version·of·the·<code·class="inline">ch_app.app</code>·file·must·now·be·created,·where·the·version·is373 ····</span><span·class="p"·data-group-id="7939590995-36">{</span><span·class="ss">noreply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chs2</span><span·class="p"·data-group-id="7939590995-36">}</span><span·class="p">.</span></code></pre><p>A·new·version·of·the·<code·class="inline">ch_app.app</code>·file·must·now·be·created,·where·the·version·is
374 updated:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8672237202-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">374 updated:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4725493174-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">
375 ·</span><span·class="p"·data-group-id="8672237202-2">[</span><span·class="p"·data-group-id="8672237202-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Channel·allocator&quot;</span><span·class="p"·data-group-id="8672237202-3">}</span><span·class="p">,</span><span·class="w">375 ·</span><span·class="p"·data-group-id="4725493174-2">[</span><span·class="p"·data-group-id="4725493174-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Channel·allocator&quot;</span><span·class="p"·data-group-id="4725493174-3">}</span><span·class="p">,</span><span·class="w">
376 ··</span><span·class="p"·data-group-id="8672237202-4">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;2&quot;</span><span·class="p"·data-group-id="8672237202-4">}</span><span·class="p">,</span><span·class="w">376 ··</span><span·class="p"·data-group-id="4725493174-4">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;2&quot;</span><span·class="p"·data-group-id="4725493174-4">}</span><span·class="p">,</span><span·class="w">
377 ··</span><span·class="p"·data-group-id="8672237202-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8672237202-6">[</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_sup<[·...·truncated·by·diffoscope;·len:·175,·SHA:·4633c9fd0eacb15b44526be9f0d9b8ea4218496f1ada4f5c99420c3dcb1e8d34·...·]-5">}</span><span·class="p">,</span><span·class="w">377 ··</span><span·class="p"·data-group-id="4725493174-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4725493174-6">[</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_sup<[·...·truncated·by·diffoscope;·len:·175,·SHA:·2e038510998ffe7f8afc8ac81e5fb4dc42e35f1f05e6eb996566a7cafdfd582f·...·]-5">}</span><span·class="p">,</span><span·class="w">
378 ··</span><span·class="p"·data-group-id="8672237202-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8672237202-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="8672237202-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·5660676c51b8fac603051a4f0f973fbc0fb04b9100233eed51c8f5923f392682·...·]-7">}</span><span·class="p">,</span><span·class="w">378 ··</span><span·class="p"·data-group-id="4725493174-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4725493174-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="4725493174-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·148351b871ab9d178bc66ef779acc9beadd5dd687444627d92c8a58bd04a5e7b·...·]-7">}</span><span·class="p">,</span><span·class="w">
379 ··</span><span·class="p"·data-group-id="8672237202-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8672237202-10">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·183,·SHA:·f7002a380c0dfc5be0d1be87b322ae4ae4d3b3e1ca68ddcd96391478e036a786·...·]-9">}</span><span·class="p">,</span><span·class="w">379 ··</span><span·class="p"·data-group-id="4725493174-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4725493174-10">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·183,·SHA:·46d04d62d4509bf50d640f2d1b9144ea1a67ab88d326139870632c7961490704·...·]-9">}</span><span·class="p">,</span><span·class="w">
380 ··</span><span·class="p"·data-group-id="8672237202-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8672237202-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="8672237202-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·3dab85b91efcfbb3e9f6252faec5759ec2cf217563b8eb6a9ec882747404c5a3·...·]-11">}</span><span·class="w">380 ··</span><span·class="p"·data-group-id="4725493174-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4725493174-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="4725493174-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·60678ecb29a7f23ac6f7a321a28e59f41fd5de0a3119b9a19026fb8bf25b9b34·...·]-11">}</span><span·class="w">
381 ·</span><span·class="p"·data-group-id="8672237202-2">]</span><span·class="p"·data-group-id="8672237202-1">}</span><span·class="p">.</span></code></pre><p>To·upgrade·<code·class="inline">ch_app</code>·from·<code·class="inline">&quot;1&quot;</code>·to·<code·class="inline">&quot;2&quot;</code>·(and·to·downgrade·from·<code·class="inline">&quot;2&quot;</code>·to·<code·class="inline">&quot;1&quot;</code>),381 ·</span><span·class="p"·data-group-id="4725493174-2">]</span><span·class="p"·data-group-id="4725493174-1">}</span><span·class="p">.</span></code></pre><p>To·upgrade·<code·class="inline">ch_app</code>·from·<code·class="inline">&quot;1&quot;</code>·to·<code·class="inline">&quot;2&quot;</code>·(and·to·downgrade·from·<code·class="inline">&quot;2&quot;</code>·to·<code·class="inline">&quot;1&quot;</code>),
382 you·only·need·to·load·the·new·(old)·version·of·the·<code·class="inline">ch3</code>·callback·module.·Create382 you·only·need·to·load·the·new·(old)·version·of·the·<code·class="inline">ch3</code>·callback·module.·Create
383 the·application·upgrade·file·<code·class="inline">ch_app.appup</code>·in·the·<code·class="inline">ebin</code>·directory:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4782516417-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">383 the·application·upgrade·file·<code·class="inline">ch_app.appup</code>·in·the·<code·class="inline">ebin</code>·directory:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4136482235-1">{</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">
384 ·</span><span·class="p"·data-group-id="4782516417-2">[</span><span·class="p"·data-group-id="4782516417-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4782516417-4">[</span><span·class="p"·data-group-id="4782516417-5">[·...·truncated·by·diffoscope;·len:·318,·SHA:·935d9b4ecb73eebe42c3ebc028737409f817b17942fb3576a44b3decdd2a6f25·...·]-2">]</span><span·class="p">,</span><span·class="w">384 ·</span><span·class="p"·data-group-id="4136482235-2">[</span><span·class="p"·data-group-id="4136482235-3">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4136482235-4">[</span><span·class="p"·data-group-id="4136482235-5">[·...·truncated·by·diffoscope;·len:·318,·SHA:·6fe8951ab6e7cbfa6890c48f9601052558843146a6d15b832c5ff628dc9ad431·...·]-2">]</span><span·class="p">,</span><span·class="w">
385 ·</span><span·class="p"·data-group-id="4782516417-6">[</span><span·class="p"·data-group-id="4782516417-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4782516417-8">[</span><span·class="p"·data-group-id="4782516417-9">[·...·truncated·by·diffoscope;·len:·318,·SHA:·fcc908adda0564891d21858e809598a459b2279e8c18bc753781db1ef87413f0·...·]-6">]</span><span·class="w">385 ·</span><span·class="p"·data-group-id="4136482235-6">[</span><span·class="p"·data-group-id="4136482235-7">{</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4136482235-8">[</span><span·class="p"·data-group-id="4136482235-9">[·...·truncated·by·diffoscope;·len:·318,·SHA:·49f50585bc4ed6d91913a96a81e5a0c22518c7b26418a7016a15a3984bbacad6·...·]-6">]</span><span·class="w">
386 </span><span·class="p"·data-group-id="4782516417-1">}</span><span·class="p">.</span></code></pre><p><a·href=""·id="relup"></a></p><h2·id="release-upgrade-file"·class="section-heading">386 </span><span·class="p"·data-group-id="4136482235-1">}</span><span·class="p">.</span></code></pre><p><a·href=""·id="relup"></a></p><h2·id="release-upgrade-file"·class="section-heading">
387 ··<a·href="#release-upgrade-file"·class="hover-link">387 ··<a·href="#release-upgrade-file"·class="hover-link">
388 ····<i·class="ri-link-m"·aria-hidden="true"></i>388 ····<i·class="ri-link-m"·aria-hidden="true"></i>
389 ··</a>389 ··</a>
390 ··<span·class="text">Release·Upgrade·File</span>390 ··<span·class="text">Release·Upgrade·File</span>
391 </h2>391 </h2>
392 <p>To·define·how·to·upgrade/downgrade·between·the·new·version·and·previous·versions392 <p>To·define·how·to·upgrade/downgrade·between·the·new·version·and·previous·versions
393 of·a·release,·a·<em>release·upgrade·file</em>,·or·in·short·<code·class="inline">.relup</code>·file,·is·to·be393 of·a·release,·a·<em>release·upgrade·file</em>,·or·in·short·<code·class="inline">.relup</code>·file,·is·to·be
Offset 405, 22 lines modifiedOffset 405, 22 lines modified
405 are·to·be·added·and·deleted,·and·which·applications·that·must·be·upgraded·and/or405 are·to·be·added·and·deleted,·and·which·applications·that·must·be·upgraded·and/or
406 downgraded.·The·instructions·for·this·are·fetched·from·the·<code·class="inline">.appup</code>·files·and406 downgraded.·The·instructions·for·this·are·fetched·from·the·<code·class="inline">.appup</code>·files·and
407 transformed·into·a·single·list·of·low-level·instructions·in·the·right·order.</p><p>If·the·<code·class="inline">relup</code>·file·is·relatively·simple,·it·can·be·created·manually.·It·is·only407 transformed·into·a·single·list·of·low-level·instructions·in·the·right·order.</p><p>If·the·<code·class="inline">relup</code>·file·is·relatively·simple,·it·can·be·created·manually.·It·is·only
408 to·contain·low-level·instructions.</p><p>For·details·about·the·syntax·and·contents·of·the·release·upgrade·file,·see408 to·contain·low-level·instructions.</p><p>For·details·about·the·syntax·and·contents·of·the·release·upgrade·file,·see
409 <a·href="../../lib/sasl-4.3/doc/html/relup.html"><code·class="inline">relup</code></a>·in·SASL.</p><p><em>Example,·continued·from·the·previous·section:</em>·You·have·a·new·version·&quot;2&quot;·of409 <a·href="../../lib/sasl-4.3/doc/html/relup.html"><code·class="inline">relup</code></a>·in·SASL.</p><p><em>Example,·continued·from·the·previous·section:</em>·You·have·a·new·version·&quot;2&quot;·of
410 <code·class="inline">ch_app</code>·and·an·<code·class="inline">.appup</code>·file.·A·new·version·of·the·<code·class="inline">.rel</code>·file·is·also·needed.410 <code·class="inline">ch_app</code>·and·an·<code·class="inline">.appup</code>·file.·A·new·version·of·the·<code·class="inline">.rel</code>·file·is·also·needed.
411 This·time·the·file·is·called·<code·class="inline">ch_rel-2.rel</code>·and·the·release·version·string·is411 This·time·the·file·is·called·<code·class="inline">ch_rel-2.rel</code>·and·the·release·version·string·is
412 changed·from·&quot;A&quot;·to·&quot;B&quot;:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5356933203-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">412 changed·from·&quot;A&quot;·to·&quot;B&quot;:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9937302137-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">
413 ·</span><span·class="p"·data-group-id="5356933203-2">{</span><span·class="s">&quot;ch_rel&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;B&quot;</span><span·class="p"·data-group-id="5356933203-2">}</span><span·class="p">,</span><span·class="w">413 ·</span><span·class="p"·data-group-id="9937302137-2">{</span><span·class="s">&quot;ch_rel&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;B&quot;</span><span·class="p"·data-group-id="9937302137-2">}</span><span·class="p">,</span><span·class="w">
414 ·</span><span·class="p"·data-group-id="5356933203-3">{</span><span·class="ss">erts</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;14.2.5&quot;</span><span·class="p"·data-group-id="5356933203-3">}</span><span·class="p">,</span><span·class="w">414 ·</span><span·class="p"·data-group-id="9937302137-3">{</span><span·class="ss">erts</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;14.2.5&quot;</span><span·class="p"·data-group-id="9937302137-3">}</span><span·class="p">,</span><span·class="w">
415 ·</span><span·class="p"·data-group-id="5356933203-4">[</span><span·class="p"·data-group-id="5356933203-5">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;9.2.4&quot;</span><span·class="p"·data-group-id="5356933203-5">}</span><span·class="p">,</span><span·class="w">415 ·</span><span·class="p"·data-group-id="9937302137-4">[</span><span·class="p"·data-group-id="9937302137-5">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;9.2.4&quot;</span><span·class="p"·data-group-id="9937302137-5">}</span><span·class="p">,</span><span·class="w">
416 ··</span><span·class="p"·data-group-id="5356933203-6">{</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;5.2.3&quot;</span><span·class="p"·data-group-id="5356933203-6">}</span><span·class="p">,</span><span·class="w">416 ··</span><span·class="p"·data-group-id="9937302137-6">{</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;5.2.3&quot;</span><span·class="p"·data-group-id="9937302137-6">}</span><span·class="p">,</span><span·class="w">
417 ··</span><span·class="p"·data-group-id="5356933203-7">{</span><span·class="ss">sasl</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;4.2.1&quot;</span><span·class="p"·data-group-id="5356933203-7">}</span><span·class="p">,</span><span·class="w">417 ··</span><span·class="p"·data-group-id="9937302137-7">{</span><span·class="ss">sasl</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;4.2.1&quot;</span><span·class="p"·data-group-id="9937302137-7">}</span><span·class="p">,</span><span·class="w">
418 ··</span><span·class="p"·data-group-id="5356933203-8">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;2&quot;</span><span·class="p"·data-group-id="5356933203-8">}</span><span·class="p"·data-group-id="5356933203-4">]</span><span·class="w">418 ··</span><span·class="p"·data-group-id="9937302137-8">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;2&quot;</span><span·class="p"·data-group-id="9937302137-8">}</span><span·class="p"·data-group-id="9937302137-4">]</span><span·class="w">
419 </span><span·class="p"·data-group-id="5356933203-1">}</span><span·class="p">.</span></code></pre><p>Now·the·<code·class="inline">relup</code>·file·can·be·generated:</p><pre><code·class="text">1&gt;·systools:make_relup(&quot;ch_rel-2&quot;,·[&quot;ch_rel-1&quot;],·[&quot;ch_rel-1&quot;]).419 </span><span·class="p"·data-group-id="9937302137-1">}</span><span·class="p">.</span></code></pre><p>Now·the·<code·class="inline">relup</code>·file·can·be·generated:</p><pre><code·class="text">1&gt;·systools:make_relup(&quot;ch_rel-2&quot;,·[&quot;ch_rel-1&quot;],·[&quot;ch_rel-1&quot;]).
420 ok</code></pre><p>This·generates·a·<code·class="inline">relup</code>·file·with·instructions·for·how·to·upgrade·from·version420 ok</code></pre><p>This·generates·a·<code·class="inline">relup</code>·file·with·instructions·for·how·to·upgrade·from·version
421 &quot;A&quot;·(&quot;ch_rel-1&quot;)·to·version·&quot;B&quot;·(&quot;ch_rel-2&quot;)·and·how·to·downgrade·from·version421 &quot;A&quot;·(&quot;ch_rel-1&quot;)·to·version·&quot;B&quot;·(&quot;ch_rel-2&quot;)·and·how·to·downgrade·from·version
422 &quot;B&quot;·to·version·&quot;A&quot;.</p><p>Both·the·old·and·new·versions·of·the·<code·class="inline">.app</code>·and·<code·class="inline">.rel</code>·files·must·be·in·the·code422 &quot;B&quot;·to·version·&quot;A&quot;.</p><p>Both·the·old·and·new·versions·of·the·<code·class="inline">.app</code>·and·<code·class="inline">.rel</code>·files·must·be·in·the·code
423 path,·as·well·as·the·<code·class="inline">.appup</code>·and·(new)·<code·class="inline">.beam</code>·files.·The·code·path·can·be423 path,·as·well·as·the·<code·class="inline">.appup</code>·and·(new)·<code·class="inline">.beam</code>·files.·The·code·path·can·be
424 extended·by·using·the·option·<code·class="inline">path</code>:</p><pre><code·class="text">1&gt;·systools:make_relup(&quot;ch_rel-2&quot;,·[&quot;ch_rel-1&quot;],·[&quot;ch_rel-1&quot;],424 extended·by·using·the·option·<code·class="inline">path</code>:</p><pre><code·class="text">1&gt;·systools:make_relup(&quot;ch_rel-2&quot;,·[&quot;ch_rel-1&quot;],·[&quot;ch_rel-1&quot;],
425 [{path,[&quot;../ch_rel-1&quot;,425 [{path,[&quot;../ch_rel-1&quot;,
426 &quot;../ch_rel-1/lib/ch_app-1/ebin&quot;]}]).426 &quot;../ch_rel-1/lib/ch_app-1/ebin&quot;]}]).
Offset 433, 25 lines modifiedOffset 433, 25 lines modified
433 <p>When·you·have·made·a·new·version·of·a·release,·a·release·package·can·be·created433 <p>When·you·have·made·a·new·version·of·a·release,·a·release·package·can·be·created
434 with·this·new·version·and·transferred·to·the·target·environment.</p><p>To·install·the·new·version·of·the·release·in·runtime,·the·<em>release434 with·this·new·version·and·transferred·to·the·target·environment.</p><p>To·install·the·new·version·of·the·release·in·runtime,·the·<em>release
435 handler</em>·is·used.·This·is·a·process·belonging·to·the·SASL·application,435 handler</em>·is·used.·This·is·a·process·belonging·to·the·SASL·application,
Max diff block lines reached; 23158/69654 bytes (33.25%) of diff not shown.
688 B
html2text {}
Max HTML report size reached
19.5 KB
./usr/share/doc/erlang-doc/html/doc/system/release_structure.html
    
Offset 136, 37 lines modifiedOffset 136, 37 lines modified
136 ··<a·href="#release-resource-file"·class="hover-link">136 ··<a·href="#release-resource-file"·class="hover-link">
137 ····<i·class="ri-link-m"·aria-hidden="true"></i>137 ····<i·class="ri-link-m"·aria-hidden="true"></i>
138 ··</a>138 ··</a>
139 ··<span·class="text">Release·Resource·File</span>139 ··<span·class="text">Release·Resource·File</span>
140 </h2>140 </h2>
141 <p>To·define·a·release,·create·a·<em>release·resource·file</em>,·or·in·short·a·<code·class="inline">.rel</code>141 <p>To·define·a·release,·create·a·<em>release·resource·file</em>,·or·in·short·a·<code·class="inline">.rel</code>
142 file.·In·the·file,·specify·the·name·and·version·of·the·release,·which·ERTS142 file.·In·the·file,·specify·the·name·and·version·of·the·release,·which·ERTS
143 version·it·is·based·on,·and·which·applications·it·consists·of:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4985935037-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4985935037-2">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="n">Vsn</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·273,·SHA:·4444f6c2caa88c7c528e84e40ae6f7ebc4ceea6c11bfb80ff596216c0b973a42·...·]-3">}</span><span·class="p">,</span><span·class="w">143 version·it·is·based·on,·and·which·applications·it·consists·of:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8323626256-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8323626256-2">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="n">Vsn</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·273,·SHA:·550a1097d45528c0ca586ab0955d4667d75f5d7fedee10afbf87b8a8cf21e12b·...·]-3">}</span><span·class="p">,</span><span·class="w">
144 ·</span><span·class="p"·data-group-id="4985935037-4">[</span><span·class="p"·data-group-id="4985935037-5">{</span><span·class="n">Application1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AppVsn1</span><span·class="p"·data-group-id="4985935037-5">}</span><span·class="p">,</span><span·class="w">144 ·</span><span·class="p"·data-group-id="8323626256-4">[</span><span·class="p"·data-group-id="8323626256-5">{</span><span·class="n">Application1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AppVsn1</span><span·class="p"·data-group-id="8323626256-5">}</span><span·class="p">,</span><span·class="w">
145 ···</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">145 ···</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
146 ··</span><span·class="p"·data-group-id="4985935037-6">{</span><span·class="n">ApplicationN</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AppVsnN</span><span·class="p"·data-group-id="4985935037-6">}</span><span·class="p"·data-group-id="4985935037-4">]</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·561c80c24bd2bca442c16b6ce522cf10513ec919698f26dffa512828e8c45ce4·...·]-1">}</span><span·class="p">.</span></code></pre><p><code·class="inline">Name</code>,·<code·class="inline">Vsn</code>,·<code·class="inline">EVsn</code>,·and·<code·class="inline">AppVsn</code>·are·strings.</p><p>The·file·must·be·named·<code·class="inline">Rel.rel</code>,·where·<code·class="inline">Rel</code>·is·a·unique·name.</p><p>Each·<code·class="inline">Application</code>·(atom)·and·<code·class="inline">AppVsn</code>·is·the·name·and·version·of·an·application146 ··</span><span·class="p"·data-group-id="8323626256-6">{</span><span·class="n">ApplicationN</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AppVsnN</span><span·class="p"·data-group-id="8323626256-6">}</span><span·class="p"·data-group-id="8323626256-4">]</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·ce0235caca17223e453ec4d187c47603d89bae0c7674a890c87f2fc0943e6f13·...·]-1">}</span><span·class="p">.</span></code></pre><p><code·class="inline">Name</code>,·<code·class="inline">Vsn</code>,·<code·class="inline">EVsn</code>,·and·<code·class="inline">AppVsn</code>·are·strings.</p><p>The·file·must·be·named·<code·class="inline">Rel.rel</code>,·where·<code·class="inline">Rel</code>·is·a·unique·name.</p><p>Each·<code·class="inline">Application</code>·(atom)·and·<code·class="inline">AppVsn</code>·is·the·name·and·version·of·an·application
147 included·in·the·release.·The·minimal·release·based·on·Erlang/OTP·consists·of·the147 included·in·the·release.·The·minimal·release·based·on·Erlang/OTP·consists·of·the
148 Kernel·and·STDLIB·applications,·so·these·applications·must·be·included·in·the148 Kernel·and·STDLIB·applications,·so·these·applications·must·be·included·in·the
149 list.</p><p>If·the·release·is·to·be·upgraded,·it·must·also·include·the·SASL·application.</p><p><a·href=""·id="ch_rel"></a></p><p>Here·is·an·example·showing·the·<code·class="inline">.app</code>·file·for·a·release·of·<code·class="inline">ch_app</code>·from149 list.</p><p>If·the·release·is·to·be·upgraded,·it·must·also·include·the·SASL·application.</p><p><a·href=""·id="ch_rel"></a></p><p>Here·is·an·example·showing·the·<code·class="inline">.app</code>·file·for·a·release·of·<code·class="inline">ch_app</code>·from
150 the·<a·href="applications.html#ch_app">Applications</a>·section:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7969567872-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">150 the·<a·href="applications.html#ch_app">Applications</a>·section:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3989619405-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">
151 ·</span><span·class="p"·data-group-id="7969567872-2">[</span><span·class="p"·data-group-id="7969567872-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Channel·allocator&quot;</span><span·class="p"·data-group-id="7969567872-3">}</span><span·class="p">,</span><span·class="w">151 ·</span><span·class="p"·data-group-id="3989619405-2">[</span><span·class="p"·data-group-id="3989619405-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Channel·allocator&quot;</span><span·class="p"·data-group-id="3989619405-3">}</span><span·class="p">,</span><span·class="w">
152 ··</span><span·class="p"·data-group-id="7969567872-4">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="7969567872-4">}</span><span·class="p">,</span><span·class="w">152 ··</span><span·class="p"·data-group-id="3989619405-4">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="3989619405-4">}</span><span·class="p">,</span><span·class="w">
153 ··</span><span·class="p"·data-group-id="7969567872-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7969567872-6">[</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_sup<[·...·truncated·by·diffoscope;·len:·175,·SHA:·7975572c6d8164c907e6be87a402f86a68e7424df1470721bf41a7b9ce3a6b1c·...·]-5">}</span><span·class="p">,</span><span·class="w">153 ··</span><span·class="p"·data-group-id="3989619405-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3989619405-6">[</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ch_sup<[·...·truncated·by·diffoscope;·len:·175,·SHA:·59cefc748abe57281d62bbf30a7bb85aff3fd13f07d73521e4362a9ffe9a5511·...·]-5">}</span><span·class="p">,</span><span·class="w">
154 ··</span><span·class="p"·data-group-id="7969567872-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7969567872-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="7969567872-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·098469428400e3500240a55781cc0dd9dac019e4a1ddb16a60452e35ab5561f0·...·]-7">}</span><span·class="p">,</span><span·class="w">154 ··</span><span·class="p"·data-group-id="3989619405-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3989619405-8">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="3989619405-8">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·fd10918fb35729fd30124f724769c47b80b3b6088d51ad7e9dd3cdeb8e630fdb·...·]-7">}</span><span·class="p">,</span><span·class="w">
155 ··</span><span·class="p"·data-group-id="7969567872-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7969567872-10">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·183,·SHA:·e34e2e99ddaf270e9f3ff5df8aca25133dca540a89bfb5873aef7b1e06c43e9b·...·]-9">}</span><span·class="p">,</span><span·class="w">155 ··</span><span·class="p"·data-group-id="3989619405-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3989619405-10">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·183,·SHA:·60058d828081dd7f197799c09beaa7b26b1674d979283b90fe4c7ccc1a3de9ac·...·]-9">}</span><span·class="p">,</span><span·class="w">
156 ··</span><span·class="p"·data-group-id="7969567872-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7969567872-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="7969567872-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·8052cf7d425a417841215f399228bb2b095d87e9f4916504ffdd9d0dac38d05c·...·]-11">}</span><span·class="w">156 ··</span><span·class="p"·data-group-id="3989619405-11">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3989619405-12">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="p"·data-group-id="3989619405-13">[</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·390669ca140a0b92832c438a54d4921da713c1fdbe42f07275d967b3b63cd463·...·]-11">}</span><span·class="w">
157 ·</span><span·class="p"·data-group-id="7969567872-2">]</span><span·class="p"·data-group-id="7969567872-1">}</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">.rel</code>·file·must·also·contain·<code·class="inline">kernel</code>,·<code·class="inline">stdlib</code>,·and·<code·class="inline">sasl</code>,·as·these157 ·</span><span·class="p"·data-group-id="3989619405-2">]</span><span·class="p"·data-group-id="3989619405-1">}</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">.rel</code>·file·must·also·contain·<code·class="inline">kernel</code>,·<code·class="inline">stdlib</code>,·and·<code·class="inline">sasl</code>,·as·these
158 applications·are·required·by·<code·class="inline">ch_app</code>.·The·file·is·called·<code·class="inline">ch_rel-1.rel</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1906983028-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">158 applications·are·required·by·<code·class="inline">ch_app</code>.·The·file·is·called·<code·class="inline">ch_rel-1.rel</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2101014439-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">
159 ·</span><span·class="p"·data-group-id="1906983028-2">{</span><span·class="s">&quot;ch_rel&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id="1906983028-2">}</span><span·class="p">,</span><span·class="w">159 ·</span><span·class="p"·data-group-id="2101014439-2">{</span><span·class="s">&quot;ch_rel&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id="2101014439-2">}</span><span·class="p">,</span><span·class="w">
160 ·</span><span·class="p"·data-group-id="1906983028-3">{</span><span·class="ss">erts</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;14.2.5&quot;</span><span·class="p"·data-group-id="1906983028-3">}</span><span·class="p">,</span><span·class="w">160 ·</span><span·class="p"·data-group-id="2101014439-3">{</span><span·class="ss">erts</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;14.2.5&quot;</span><span·class="p"·data-group-id="2101014439-3">}</span><span·class="p">,</span><span·class="w">
161 ·</span><span·class="p"·data-group-id="1906983028-4">[</span><span·class="p"·data-group-id="1906983028-5">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;9.2.4&quot;</span><span·class="p"·data-group-id="1906983028-5">}</span><span·class="p">,</span><span·class="w">161 ·</span><span·class="p"·data-group-id="2101014439-4">[</span><span·class="p"·data-group-id="2101014439-5">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;9.2.4&quot;</span><span·class="p"·data-group-id="2101014439-5">}</span><span·class="p">,</span><span·class="w">
162 ··</span><span·class="p"·data-group-id="1906983028-6">{</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;5.2.3&quot;</span><span·class="p"·data-group-id="1906983028-6">}</span><span·class="p">,</span><span·class="w">162 ··</span><span·class="p"·data-group-id="2101014439-6">{</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;5.2.3&quot;</span><span·class="p"·data-group-id="2101014439-6">}</span><span·class="p">,</span><span·class="w">
163 ··</span><span·class="p"·data-group-id="1906983028-7">{</span><span·class="ss">sasl</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;4.2.1&quot;</span><span·class="p"·data-group-id="1906983028-7">}</span><span·class="p">,</span><span·class="w">163 ··</span><span·class="p"·data-group-id="2101014439-7">{</span><span·class="ss">sasl</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;4.2.1&quot;</span><span·class="p"·data-group-id="2101014439-7">}</span><span·class="p">,</span><span·class="w">
164 ··</span><span·class="p"·data-group-id="1906983028-8">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="1906983028-8">}</span><span·class="p"·data-group-id="1906983028-4">]</span><span·class="w">164 ··</span><span·class="p"·data-group-id="2101014439-8">{</span><span·class="ss">ch_app</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="2101014439-8">}</span><span·class="p"·data-group-id="2101014439-4">]</span><span·class="w">
165 </span><span·class="p"·data-group-id="1906983028-1">}</span><span·class="p">.</span></code></pre><p><a·href=""·id="boot"></a></p><h2·id="generating-boot-scripts"·class="section-heading">165 </span><span·class="p"·data-group-id="2101014439-1">}</span><span·class="p">.</span></code></pre><p><a·href=""·id="boot"></a></p><h2·id="generating-boot-scripts"·class="section-heading">
166 ··<a·href="#generating-boot-scripts"·class="hover-link">166 ··<a·href="#generating-boot-scripts"·class="hover-link">
167 ····<i·class="ri-link-m"·aria-hidden="true"></i>167 ····<i·class="ri-link-m"·aria-hidden="true"></i>
168 ··</a>168 ··</a>
169 ··<span·class="text">Generating·Boot·Scripts</span>169 ··<span·class="text">Generating·Boot·Scripts</span>
170 </h2>170 </h2>
171 <p><a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·in·the·SASL·application·includes·tools·to·build·and·check171 <p><a·href="../../lib/sasl-4.3/doc/html/systools.html"><code·class="inline">systools</code></a>·in·the·SASL·application·includes·tools·to·build·and·check
172 releases.·The·functions·read·the·<code·class="inline">.rel</code>·and·<code·class="inline">.app</code>·files·and·perform172 releases.·The·functions·read·the·<code·class="inline">.rel</code>·and·<code·class="inline">.app</code>·files·and·perform
Offset 190, 17 lines modifiedOffset 190, 17 lines modified
190 ··<a·href="#creating-a-release-package"·class="hover-link">190 ··<a·href="#creating-a-release-package"·class="hover-link">
191 ····<i·class="ri-link-m"·aria-hidden="true"></i>191 ····<i·class="ri-link-m"·aria-hidden="true"></i>
192 ··</a>192 ··</a>
193 ··<span·class="text">Creating·a·Release·Package</span>193 ··<span·class="text">Creating·a·Release·Package</span>
194 </h2>194 </h2>
195 <p>The·<a·href="../../lib/sasl-4.3/doc/html/systools.html#make_tar/2"><code·class="inline">systools:make_tar/1,2</code></a>·function·takes·a195 <p>The·<a·href="../../lib/sasl-4.3/doc/html/systools.html#make_tar/2"><code·class="inline">systools:make_tar/1,2</code></a>·function·takes·a
196 <code·class="inline">.rel</code>·file·as·input·and·creates·a·zipped·tar·file·with·the·code·for196 <code·class="inline">.rel</code>·file·as·input·and·creates·a·zipped·tar·file·with·the·code·for
197 the·specified·applications,·a·<em>release·package</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">systools</span><span·class="p">:</span><span·class="nf">make_script</span><span·class="p"·data-group-id="5284519152-1">(</span><span·class="s">&quot;ch_rel-1&quot;</span><span·class="p"·data-group-id="5284519152-1">)</span><span·class="p">.</span><span·class="w">197 the·specified·applications,·a·<em>release·package</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">systools</span><span·class="p">:</span><span·class="nf">make_script</span><span·class="p"·data-group-id="9390812157-1">(</span><span·class="s">&quot;ch_rel-1&quot;</span><span·class="p"·data-group-id="9390812157-1">)</span><span·class="p">.</span><span·class="w">
198 </span><span·class="ss">ok</span><span·class="gp·unselectable">198 </span><span·class="ss">ok</span><span·class="gp·unselectable">
199 2&gt;·</span><span·class="nc">systools</span><span·class="p">:</span><span·class="nf">make_tar</span><span·class="p"·data-group-id="5284519152-2">(</span><span·class="s">&quot;ch_rel-1&quot;</span><span·class="p"·data-group-id="5284519152-2">)</span><span·class="p">.</span><span·class="w">199 2&gt;·</span><span·class="nc">systools</span><span·class="p">:</span><span·class="nf">make_tar</span><span·class="p"·data-group-id="9390812157-2">(</span><span·class="s">&quot;ch_rel-1&quot;</span><span·class="p"·data-group-id="9390812157-2">)</span><span·class="p">.</span><span·class="w">
200 </span><span·class="ss">ok</span></code></pre><p>The·release·package·by·default·contains:</p><ul><li>The·<code·class="inline">.app</code>·files</li><li>The·<code·class="inline">.rel</code>·file</li><li>The·object·code·for·all·applications,·structured·according·to·the200 </span><span·class="ss">ok</span></code></pre><p>The·release·package·by·default·contains:</p><ul><li>The·<code·class="inline">.app</code>·files</li><li>The·<code·class="inline">.rel</code>·file</li><li>The·object·code·for·all·applications,·structured·according·to·the
201 <a·href="applications.html#app_dir">application·directory·structure</a></li><li>The·binary·boot·script·renamed·to·<code·class="inline">start.boot</code></li></ul><pre><code·class="text">%·tar·tf·ch_rel-1.tar201 <a·href="applications.html#app_dir">application·directory·structure</a></li><li>The·binary·boot·script·renamed·to·<code·class="inline">start.boot</code></li></ul><pre><code·class="text">%·tar·tf·ch_rel-1.tar
202 lib/kernel-9.2.4/ebin/kernel.app202 lib/kernel-9.2.4/ebin/kernel.app
203 lib/kernel-9.2.4/ebin/application.beam203 lib/kernel-9.2.4/ebin/application.beam
204 ...204 ...
205 lib/stdlib-5.2.3/ebin/stdlib.app205 lib/stdlib-5.2.3/ebin/stdlib.app
206 lib/stdlib-5.2.3/ebin/argparse.beam206 lib/stdlib-5.2.3/ebin/argparse.beam
Offset 351, 15 lines modifiedOffset 351, 15 lines modified
351 ······<p·class="built-using">351 ······<p·class="built-using">
352 ········Built·using352 ········Built·using
353 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the353 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
354 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>354 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
355 ······</p>355 ······</p>
356 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>356 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
357 ····</footer>357 ····</footer>
358 ··</div>358 ··</div>
359 </main>359 </main>
360 </div>360 </div>
361 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>361 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
362 ··<script>362 ··<script>
363 ··let·initialized·=·false;363 ··let·initialized·=·false;
686 B
html2text {}
Max HTML report size reached
115 KB
./usr/share/doc/erlang-doc/html/doc/system/robustness.html
    
Offset 128, 68 lines modifiedOffset 128, 68 lines modified
128 </h2>128 </h2>
129 <p>Before·improving·the·messenger·program,·let·us·look·at·some·general·principles,129 <p>Before·improving·the·messenger·program,·let·us·look·at·some·general·principles,
130 using·the·ping·pong·program·as·an·example.·Recall·that·when·&quot;ping&quot;·finishes,·it130 using·the·ping·pong·program·as·an·example.·Recall·that·when·&quot;ping&quot;·finishes,·it
131 tells·&quot;pong&quot;·that·it·has·done·so·by·sending·the·atom·<code·class="inline">finished</code>·as·a·message·to131 tells·&quot;pong&quot;·that·it·has·done·so·by·sending·the·atom·<code·class="inline">finished</code>·as·a·message·to
132 &quot;pong&quot;·so·that·&quot;pong&quot;·can·also·finish.·Another·way·to·let·&quot;pong&quot;·finish·is·to132 &quot;pong&quot;·so·that·&quot;pong&quot;·can·also·finish.·Another·way·to·let·&quot;pong&quot;·finish·is·to
133 make·&quot;pong&quot;·exit·if·it·does·not·receive·a·message·from·ping·within·a·certain133 make·&quot;pong&quot;·exit·if·it·does·not·receive·a·message·from·ping·within·a·certain
134 time.·This·can·be·done·by·adding·a·<em>time-out</em>·to·<code·class="inline">pong</code>·as·shown·in·the134 time.·This·can·be·done·by·adding·a·<em>time-out</em>·to·<code·class="inline">pong</code>·as·shown·in·the
135 following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2092252471-1">(</span><span·class="ss">tut19</span><span·class="p"·data-group-id="2092252471-1">)</span><span·class="p">.</span><span·class="w">135 following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8746560812-1">(</span><span·class="ss">tut19</span><span·class="p"·data-group-id="8746560812-1">)</span><span·class="p">.</span><span·class="w">
136 </span><span·class="w">136 </span><span·class="w">
137 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2092252471-2">(</span><span·class="p"·data-group-id="2092252471-3">[</span><span·class="ss">start_ping</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_pong</span><span·class="p">[·...·truncated·by·diffoscope;·len:·378,·SHA:·773f63a4bd3c684eddde2a602a993a15536e713fb421b93b8ec6122bb3265b85·...·]-2">)</span><span·class="p">.</span><span·class="w">137 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8746560812-2">(</span><span·class="p"·data-group-id="8746560812-3">[</span><span·class="ss">start_ping</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_pong</span><span·class="p">[·...·truncated·by·diffoscope;·len:·378,·SHA:·fb6d89f81e974749c17814bdf2af67cf193ad7c13e350fb6f478ebaba9ad1a31·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
138 </span><span·class="nf">ping</span><span·class="p"·data-group-id="2092252471-4">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Node</span><span·class="p"·data-group-id="2092252471-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">138 </span><span·class="nf">ping</span><span·class="p"·data-group-id="8746560812-4">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Node</span><span·class="p"·data-group-id="8746560812-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
139 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2092252471-5">(</span><span·class="s">&quot;ping·finished</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2092252471-6">[</span><span·class="p"·data-group-id="20922[·...·truncated·by·diffoscope;·len:·58,·SHA:·ee6e8b48395e8c3176d4fb918347527a7d6aecbd41b20e70243418f7bbfb0758·...·]-5">)</span><span·class="p">;</span><span·class="w">139 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8746560812-5">(</span><span·class="s">&quot;ping·finished</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8746560812-6">[</span><span·class="p"·data-group-id="87465[·...·truncated·by·diffoscope;·len:·58,·SHA:·a5189ab837399056c06afefe54ba973830f9f7c87a675f84991e055696ce11d6·...·]-5">)</span><span·class="p">;</span><span·class="w">
  
140 </span><span·class="nf">ping</span><span·class="p"·data-group-id="2092252471-7">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Node</span><span·class="p"·data-group-id="2092252471-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">140 </span><span·class="nf">ping</span><span·class="p"·data-group-id="8746560812-7">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Node</span><span·class="p"·data-group-id="8746560812-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
141 ····</span><span·class="p"·data-group-id="2092252471-8">{</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Node</span><span·class="p"·data-group-id="2092252471-8">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·305,·SHA:·85fc7fd188e0fee73f18b21ccf2e07056c534441d545fcce1442c418b68f6d7e·...·]-9">}</span><span·class="p">,</span><span·class="w">141 ····</span><span·class="p"·data-group-id="8746560812-8">{</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Node</span><span·class="p"·data-group-id="8746560812-8">}</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·305,·SHA:·e9c19cba0e23aa5f3b647e0531147b13cb7f9e9c4363d23df69ae8f152d818e4·...·]-9">}</span><span·class="p">,</span><span·class="w">
142 ····</span><span·class="k">receive</span><span·class="w">142 ····</span><span·class="k">receive</span><span·class="w">
143 ········</span><span·class="ss">pong</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">143 ········</span><span·class="ss">pong</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
144 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2092252471-11">(</span><span·class="s">&quot;Ping·received·pong</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2092252471-12">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·ffcc9068797b54335e447448457b54596267a8e9aa8e39954848cb5b71f1025e·...·]-11">)</span><span·class="w">144 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8746560812-11">(</span><span·class="s">&quot;Ping·received·pong</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8746560812-12">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·322e39e696a17c9dab196cd1702005d99d8b0287a80059a0ea3d1ab5672145f5·...·]-11">)</span><span·class="w">
145 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">145 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
146 ····</span><span·class="nf">ping</span><span·class="p"·data-group-id="2092252471-13">(</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Node</span><span·class="p"·data-group-id="2[·...·truncated·by·diffoscope;·len:·9,·SHA:·db5d79c42759810b67384515eba347160ec78b1915ccf22314328d07093366c1·...·]-13">)</span><span·class="p">.</span><span·class="w">146 ····</span><span·class="nf">ping</span><span·class="p"·data-group-id="8746560812-13">(</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Node</span><span·class="p"·data-group-id="8[·...·truncated·by·diffoscope;·len:·9,·SHA:·ff2be0f3d76fa6e5d4e745ad0968ceb33f019f0b7ed8839fb583c7a9473a3dc6·...·]-13">)</span><span·class="p">.</span><span·class="w">
  
147 </span><span·class="nf">pong</span><span·class="p"·data-group-id="2092252471-14">(</span><span·class="p"·data-group-id="2092252471-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">147 </span><span·class="nf">pong</span><span·class="p"·data-group-id="8746560812-14">(</span><span·class="p"·data-group-id="8746560812-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
148 ····</span><span·class="k">receive</span><span·class="w">148 ····</span><span·class="k">receive</span><span·class="w">
149 ········</span><span·class="p"·data-group-id="2092252471-15">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ping_PID</span><span·class="p"·data-group-id="2092252471-15">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">149 ········</span><span·class="p"·data-group-id="8746560812-15">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ping_PID</span><span·class="p"·data-group-id="8746560812-15">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
150 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2092252471-16">(</span><span·class="s">&quot;Pong·received·ping</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2092252471-17">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·1d0bb857a4298ddb9a6913940c7b4251bf9afbb261e904972e7e34b3e90ec060·...·]-16">)</span><span·class="p">,</span><span·class="w">150 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8746560812-16">(</span><span·class="s">&quot;Pong·received·ping</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8746560812-17">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·18303a9fbc63ebc2c1a6a182f88ae07400688e4401cb8714b8712dcdfc788f4d·...·]-16">)</span><span·class="p">,</span><span·class="w">
151 ············</span><span·class="n">Ping_PID</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">151 ············</span><span·class="n">Ping_PID</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">
152 ············</span><span·class="nf">pong</span><span·class="p"·data-group-id="2092252471-18">(</span><span·class="p"·data-group-id="2092252471-18">)</span><span·class="w">152 ············</span><span·class="nf">pong</span><span·class="p"·data-group-id="8746560812-18">(</span><span·class="p"·data-group-id="8746560812-18">)</span><span·class="w">
153 ····</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">153 ····</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
154 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2092252471-19">(</span><span·class="s">&quot;Pong·timed·out</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2092252471-20">[</span><span·class="p"·data-group-id="20[·...·truncated·by·diffoscope;·len:·62,·SHA:·2b6f5ed6bbf184d4e098dd945196a7a335e6e18b4e5f87f246b85157906dd235·...·]-19">)</span><span·class="w">154 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8746560812-19">(</span><span·class="s">&quot;Pong·timed·out</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8746560812-20">[</span><span·class="p"·data-group-id="87[·...·truncated·by·diffoscope;·len:·62,·SHA:·d71110eebf6ed626eeadbb818ea37b5ed5303016539498715ca2c5510e08a80c·...·]-19">)</span><span·class="w">
155 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">155 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
156 </span><span·class="nf">start_pong</span><span·class="p"·data-group-id="2092252471-21">(</span><span·class="p"·data-group-id="2092252471-21">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">156 </span><span·class="nf">start_pong</span><span·class="p"·data-group-id="8746560812-21">(</span><span·class="p"·data-group-id="8746560812-21">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
157 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="2092252471-22">(</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="2092252471-23">(</span><span·class="ss">tut19</span><span·class="p">,</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·282,·SHA:·b79071373102a65c5cd55e4e6bdd9691ef84da35139401ebb1334e8de6024353·...·]-22">)</span><span·class="p">.</span><span·class="w">157 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="8746560812-22">(</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="8746560812-23">(</span><span·class="ss">tut19</span><span·class="p">,</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·282,·SHA:·58597f5b65dcaab508c9fd53a71a27e23637fdce46e11cd0562a77a014935890·...·]-22">)</span><span·class="p">.</span><span·class="w">
  
158 </span><span·class="nf">start_ping</span><span·class="p"·data-group-id="2092252471-25">(</span><span·class="n">Pong_Node</span><span·class="p"·data-group-id="2092252471-25">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">158 </span><span·class="nf">start_ping</span><span·class="p"·data-group-id="8746560812-25">(</span><span·class="n">Pong_Node</span><span·class="p"·data-group-id="8746560812-25">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
159 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="2092252471-26">(</span><span·class="ss">tut19</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2092252471-27">[</span><span·class="mi">3</span><[·...·truncated·by·diffoscope;·len:·174,·SHA:·14b4f9a23ed3cd5e37ecbb9901ae5f95e1b7744e6ad1ce656847ef69564493a6·...·]-26">)</span><span·class="p">.</span></code></pre><p>After·this·is·compiled·and·the·file·<code·class="inline">tut19.beam</code>·is·copied·to·the·necessary159 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="8746560812-26">(</span><span·class="ss">tut19</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8746560812-27">[</span><span·class="mi">3</span><[·...·truncated·by·diffoscope;·len:·174,·SHA:·9577010cb26080906f2d35ab541b0ffa04a61e7dd2fa17d0f5f43f0d416554ed·...·]-26">)</span><span·class="p">.</span></code></pre><p>After·this·is·compiled·and·the·file·<code·class="inline">tut19.beam</code>·is·copied·to·the·necessary
160 directories,·the·following·is·seen·on·(pong@kosken):</p><pre><code·class="text">(pong@kosken)1&gt;·tut19:start_pong().160 directories,·the·following·is·seen·on·(pong@kosken):</p><pre><code·class="text">(pong@kosken)1&gt;·tut19:start_pong().
161 true161 true
162 Pong·received·ping162 Pong·received·ping
163 Pong·received·ping163 Pong·received·ping
164 Pong·received·ping164 Pong·received·ping
165 Pong·timed·out</code></pre><p>And·the·following·is·seen·on·(ping@gollum):</p><pre><code·class="text">(ping@gollum)1&gt;·tut19:start_ping(pong@kosken).165 Pong·timed·out</code></pre><p>And·the·following·is·seen·on·(ping@gollum):</p><pre><code·class="text">(ping@gollum)1&gt;·tut19:start_ping(pong@kosken).
166 &lt;0.36.0&gt;166 &lt;0.36.0&gt;
167 Ping·received·pong167 Ping·received·pong
168 Ping·received·pong168 Ping·received·pong
169 Ping·received·pong169 Ping·received·pong
170 ping·finished</code></pre><p>The·time-out·is·set·in:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">pong</span><span·class="p"·data-group-id="6408171884-1">(</span><span·class="p"·data-group-id="6408171884-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">170 ping·finished</code></pre><p>The·time-out·is·set·in:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">pong</span><span·class="p"·data-group-id="8778492295-1">(</span><span·class="p"·data-group-id="8778492295-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
171 ····</span><span·class="k">receive</span><span·class="w">171 ····</span><span·class="k">receive</span><span·class="w">
172 ········</span><span·class="p"·data-group-id="6408171884-2">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ping_PID</span><span·class="p"·data-group-id="6408171884-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">172 ········</span><span·class="p"·data-group-id="8778492295-2">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ping_PID</span><span·class="p"·data-group-id="8778492295-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
173 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6408171884-3">(</span><span·class="s">&quot;Pong·received·ping</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6408171884-4">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·63,·SHA:·90d5ada26f603c991f73685947d488787c702532558c70a2e718ba6cec8344b1·...·]-3">)</span><span·class="p">,</span><span·class="w">173 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8778492295-3">(</span><span·class="s">&quot;Pong·received·ping</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8778492295-4">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·63,·SHA:·b81840a162edf6ff4337a1e71faaa44f1d32eae02601e452bdead28113f21607·...·]-3">)</span><span·class="p">,</span><span·class="w">
174 ············</span><span·class="n">Ping_PID</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">174 ············</span><span·class="n">Ping_PID</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">
175 ············</span><span·class="nf">pong</span><span·class="p"·data-group-id="6408171884-5">(</span><span·class="p"·data-group-id="6408171884-5">)</span><span·class="w">175 ············</span><span·class="nf">pong</span><span·class="p"·data-group-id="8778492295-5">(</span><span·class="p"·data-group-id="8778492295-5">)</span><span·class="w">
176 ····</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 ····</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6408171884-6">(</span><span·class="s">&quot;Pong·timed·out</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6408171884-7">[</span><span·class="p"·data-group-id="6408[·...·truncated·by·diffoscope;·len:·59,·SHA:·7bcf72a96dcccb89b8506076553c25bb3b9e60e27026b36f1c1af61495481e7c·...·]-6">)</span><span·class="w">177 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8778492295-6">(</span><span·class="s">&quot;Pong·timed·out</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8778492295-7">[</span><span·class="p"·data-group-id="8778[·...·truncated·by·diffoscope;·len:·59,·SHA:·616d8f60c430cb6d1daeddf0c550e1247e61e8f7b28962f90202362a6939acd2·...·]-6">)</span><span·class="w">
178 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·time-out·(<code·class="inline">after·5000</code>)·is·started·when·<code·class="inline">receive</code>·is·entered.·The·time-out178 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·time-out·(<code·class="inline">after·5000</code>)·is·started·when·<code·class="inline">receive</code>·is·entered.·The·time-out
179 is·canceled·if·<code·class="inline">{ping,Ping_PID}</code>·is·received.·If·<code·class="inline">{ping,Ping_PID}</code>·is·not179 is·canceled·if·<code·class="inline">{ping,Ping_PID}</code>·is·received.·If·<code·class="inline">{ping,Ping_PID}</code>·is·not
180 received,·the·actions·following·the·time-out·are·done·after·5000·milliseconds.180 received,·the·actions·following·the·time-out·are·done·after·5000·milliseconds.
181 <code·class="inline">after</code>·must·be·last·in·the·<code·class="inline">receive</code>,·that·is,·preceded·by·all·other·message181 <code·class="inline">after</code>·must·be·last·in·the·<code·class="inline">receive</code>,·that·is,·preceded·by·all·other·message
182 reception·specifications·in·the·<code·class="inline">receive</code>.·It·is·also·possible·to·call·a182 reception·specifications·in·the·<code·class="inline">receive</code>.·It·is·also·possible·to·call·a
183 function·that·returned·an·integer·for·the·time-out:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">after</span><span·class="w">·</span><span·class="nf">pong_timeout</span><span·class="p"·data-group-id="6312412117-1">(</span><span·class="p"·data-group-id="6312412117-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span></code></pre><p>In·general,·there·are·better·ways·than·using·time-outs·to·supervise·parts·of·a183 function·that·returned·an·integer·for·the·time-out:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">after</span><span·class="w">·</span><span·class="nf">pong_timeout</span><span·class="p"·data-group-id="9114327493-1">(</span><span·class="p"·data-group-id="9114327493-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span></code></pre><p>In·general,·there·are·better·ways·than·using·time-outs·to·supervise·parts·of·a
184 distributed·Erlang·system.·Time-outs·are·usually·appropriate·to·supervise184 distributed·Erlang·system.·Time-outs·are·usually·appropriate·to·supervise
185 external·events,·for·example,·if·you·have·expected·a·message·from·some·external185 external·events,·for·example,·if·you·have·expected·a·message·from·some·external
186 system·within·a·specified·time.·For·example,·a·time-out·can·be·used·to·log·a186 system·within·a·specified·time.·For·example,·a·time-out·can·be·used·to·log·a
187 user·out·of·the·messenger·system·if·they·have·not·accessed·it·for,·say,·ten187 user·out·of·the·messenger·system·if·they·have·not·accessed·it·for,·say,·ten
188 minutes.</p><h2·id="error-handling"·class="section-heading">188 minutes.</p><h2·id="error-handling"·class="section-heading">
189 ··<a·href="#error-handling"·class="hover-link">189 ··<a·href="#error-handling"·class="hover-link">
190 ····<i·class="ri-link-m"·aria-hidden="true"></i>190 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 209, 96 lines modifiedOffset 209, 96 lines modified
209 something·called·a·<em>signal</em>·to·all·the·processes·it·has·links·to.</p><p>The·signal·carries·information·about·the·pid·it·was·sent·from·and·the·exit209 something·called·a·<em>signal</em>·to·all·the·processes·it·has·links·to.</p><p>The·signal·carries·information·about·the·pid·it·was·sent·from·and·the·exit
210 reason.</p><p>The·default·behaviour·of·a·process·that·receives·a·normal·exit·is·to·ignore·the210 reason.</p><p>The·default·behaviour·of·a·process·that·receives·a·normal·exit·is·to·ignore·the
211 signal.</p><p>The·default·behaviour·in·the·two·other·cases·(that·is,·abnormal·exit)·above·is211 signal.</p><p>The·default·behaviour·in·the·two·other·cases·(that·is,·abnormal·exit)·above·is
212 to:</p><ul><li>Bypass·all·messages·to·the·receiving·process.</li><li>Kill·the·receiving·process.</li><li>Propagate·the·same·error·signal·to·the·links·of·the·killed·process.</li></ul><p>In·this·way·you·can·connect·all·processes·in·a·transaction·together·using·links.212 to:</p><ul><li>Bypass·all·messages·to·the·receiving·process.</li><li>Kill·the·receiving·process.</li><li>Propagate·the·same·error·signal·to·the·links·of·the·killed·process.</li></ul><p>In·this·way·you·can·connect·all·processes·in·a·transaction·together·using·links.
213 If·one·of·the·processes·exits·abnormally,·all·the·processes·in·the·transaction213 If·one·of·the·processes·exits·abnormally,·all·the·processes·in·the·transaction
214 are·killed.·As·it·is·often·wanted·to·create·a·process·and·link·to·it·at·the·same214 are·killed.·As·it·is·often·wanted·to·create·a·process·and·link·to·it·at·the·same
215 time,·there·is·a·special·BIF,·<a·href="../../erts-16.0/doc/html/erlang.html#spawn_link/1">spawn_link</a>·that·does·the215 time,·there·is·a·special·BIF,·<a·href="../../erts-16.0/doc/html/erlang.html#spawn_link/1">spawn_link</a>·that·does·the
216 same·as·<code·class="inline">spawn</code>,·but·also·creates·a·link·to·the·spawned·process.</p><p>Now·an·example·of·the·ping·pong·example·using·links·to·terminate·&quot;pong&quot;:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0165974238-1">(</span><span·class="ss">tut20</span><span·class="p"·data-group-id="0165974238-1">)</span><span·class="p">.</span><span·class="w">216 same·as·<code·class="inline">spawn</code>,·but·also·creates·a·link·to·the·spawned·process.</p><p>Now·an·example·of·the·ping·pong·example·using·links·to·terminate·&quot;pong&quot;:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8552207142-1">(</span><span·class="ss">tut20</span><span·class="p"·data-group-id="8552207142-1">)</span><span·class="p">.</span><span·class="w">
217 </span><span·class="w">217 </span><span·class="w">
218 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0165974238-2">(</span><span·class="p"·data-group-id="0165974238-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">··</span><span·class="ss">ping</span><span·class="p">/</span><s[·...·truncated·by·diffoscope;·len:·242,·SHA:·d8742d8476a4309edf10db0716d7b25c87027cf3344afa17667c7b80284377f2·...·]-2">)</span><span·class="p">.</span><span·class="w">218 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8552207142-2">(</span><span·class="p"·data-group-id="8552207142-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">··</span><span·class="ss">ping</span><span·class="p">/</span><s[·...·truncated·by·diffoscope;·len:·242,·SHA:·0c133e1c2ca2b63e7cc2872c6646800f96c430c5c766874594418e77ab4bc596·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
219 </span><span·class="nf">ping</span><span·class="p"·data-group-id="0165974238-4">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="0165974238-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">219 </span><span·class="nf">ping</span><span·class="p"·data-group-id="8552207142-4">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="8552207142-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
220 ····</span><span·class="nf">link</span><span·class="p"·data-group-id="0165974238-5">(</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="0165974238-5">)</span><span·class="p">,</span><span·class="w">220 ····</span><span·class="nf">link</span><span·class="p"·data-group-id="8552207142-5">(</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="8552207142-5">)</span><span·class="p">,</span><span·class="w">
221 ····</span><span·class="nf">ping1</span><span·class="p"·data-group-id="0165974238-6">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="0165974238-6">)</span><span·class="p">.</span><span·class="w">221 ····</span><span·class="nf">ping1</span><span·class="p"·data-group-id="8552207142-6">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="8552207142-6">)</span><span·class="p">.</span><span·class="w">
  
222 </span><span·class="nf">ping1</span><span·class="p"·data-group-id="0165974238-7">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="0165974238-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">222 </span><span·class="nf">ping1</span><span·class="p"·data-group-id="8552207142-7">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="8552207142-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
223 ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="0165974238-8">(</span><span·class="ss">ping</span><span·class="p"·data-group-id="0165974238-8">)</span><span·class="p">;</span><span·class="w">223 ····</span><span·class="nf">exit</span><span·class="p"·data-group-id="8552207142-8">(</span><span·class="ss">ping</span><span·class="p"·data-group-id="8552207142-8">)</span><span·class="p">;</span><span·class="w">
  
224 </span><span·class="nf">ping1</span><span·class="p"·data-group-id="0165974238-9">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="0165974238-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">224 </span><span·class="nf">ping1</span><span·class="p"·data-group-id="8552207142-9">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="8552207142-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
225 ····</span><span·class="n">Pong_Pid</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="0165974238-10">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="0165974238-11">(</span><span·class="p"·data-group-id="0165974238-11">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·4fd44ad1b83505090188148d883fa7abe34c23e8f380dd0b234fcf19448a9c05·...·]-10">}</span><span·class="p">,</span><span·class="w">225 ····</span><span·class="n">Pong_Pid</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="8552207142-10">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="8552207142-11">(</span><span·class="p"·data-group-id="8552207142-11">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·fca61f508bc7935427b37983154bc8531dd23770e48abb4482991ae4ff19cca5·...·]-10">}</span><span·class="p">,</span><span·class="w">
226 ····</span><span·class="k">receive</span><span·class="w">226 ····</span><span·class="k">receive</span><span·class="w">
227 ········</span><span·class="ss">pong</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">227 ········</span><span·class="ss">pong</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
228 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0165974238-12">(</span><span·class="s">&quot;Ping·received·pong</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0165974238-13">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·9bf9fbc37dfc550e2d957eaf830a8ef07fd32dfae605420c0aab357eb7266087·...·]-12">)</span><span·class="w">228 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8552207142-12">(</span><span·class="s">&quot;Ping·received·pong</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8552207142-13">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·bdc35b1ba6cc4a307308d27dba3fd1d95190e8e6b819ec6dedcc1b0ca36d5649·...·]-12">)</span><span·class="w">
229 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">229 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
230 ····</span><span·class="nf">ping1</span><span·class="p"·data-group-id="0165974238-14">(</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="01[·...·truncated·by·diffoscope;·len:·8,·SHA:·602cf06d3996b1fb01c90e119ec8a567a5e4c175890cb856e7158fe9f0c305b5·...·]-14">)</span><span·class="p">.</span><span·class="w">230 ····</span><span·class="nf">ping1</span><span·class="p"·data-group-id="8552207142-14">(</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="85[·...·truncated·by·diffoscope;·len:·8,·SHA:·f000295e664bd696f6614e6c7ef33adcd053879b34a487e66520b15f1e88c7b8·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
231 </span><span·class="nf">pong</span><span·class="p"·data-group-id="0165974238-15">(</span><span·class="p"·data-group-id="0165974238-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">231 </span><span·class="nf">pong</span><span·class="p"·data-group-id="8552207142-15">(</span><span·class="p"·data-group-id="8552207142-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ····</span><span·class="k">receive</span><span·class="w">232 ····</span><span·class="k">receive</span><span·class="w">
233 ········</span><span·class="p"·data-group-id="0165974238-16">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ping_PID</span><span·class="p"·data-group-id="0165974238-16">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">233 ········</span><span·class="p"·data-group-id="8552207142-16">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ping_PID</span><span·class="p"·data-group-id="8552207142-16">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
234 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0165974238-17">(</span><span·class="s">&quot;Pong·received·ping</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0165974238-18">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·76e9bd1bc29b1ab30037baff34042f1df3a24d26e211d24e27b2d7ed7d7c8cd9·...·]-17">)</span><span·class="p">,</span><span·class="w">234 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8552207142-17">(</span><span·class="s">&quot;Pong·received·ping</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8552207142-18">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·6de2d53be2aac5b7876d0229faae81da3db15da57d592f4c33605e2f95aff46a·...·]-17">)</span><span·class="p">,</span><span·class="w">
235 ············</span><span·class="n">Ping_PID</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">235 ············</span><span·class="n">Ping_PID</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">
236 ············</span><span·class="nf">pong</span><span·class="p"·data-group-id="0165974238-19">(</span><span·class="p"·data-group-id="0165974238-19">)</span><span·class="w">236 ············</span><span·class="nf">pong</span><span·class="p"·data-group-id="8552207142-19">(</span><span·class="p"·data-group-id="8552207142-19">)</span><span·class="w">
237 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">237 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
238 </span><span·class="nf">start</span><span·class="p"·data-group-id="0165974238-20">(</span><span·class="n">Ping_Node</span><span·class="p"·data-group-id="0165974238-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">238 </span><span·class="nf">start</span><span·class="p"·data-group-id="8552207142-20">(</span><span·class="n">Ping_Node</span><span·class="p"·data-group-id="8552207142-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
239 ····</span><span·class="n">PongPID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="0165974238-21">(</span><span·class="ss">tut20</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0165974238-22">[</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·69,·SHA:·619932cc05217ef2eda87bec9c980f4bf740c58ad12ad938e0451264a7eb1e5a·...·]-21">)</span><span·class="p">,</span><span·class="w">239 ····</span><span·class="n">PongPID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="8552207142-21">(</span><span·class="ss">tut20</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8552207142-22">[</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·69,·SHA:·6c70d857aea6abfb60d73c8d509b3b6884592f1793dc067eeb6b60b3acd3e6e7·...·]-21">)</span><span·class="p">,</span><span·class="w">
240 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="0165974238-23">(</span><span·class="n">Ping_Node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tut20</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·252,·SHA:·afa9393627902dfeadf1da70e47f46b7d17ec909eae8c9bf13a560a226890916·...·]-23">)</span><span·class="p">.</span></code></pre><pre><code·class="text">(s1@bill)3&gt;·tut20:start(s2@kosken).240 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="8552207142-23">(</span><span·class="n">Ping_Node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tut20</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·252,·SHA:·1f3440044445ea9a4307206b412adb06a74d8c7fe1fbab425b47b579126226cb·...·]-23">)</span><span·class="p">.</span></code></pre><pre><code·class="text">(s1@bill)3&gt;·tut20:start(s2@kosken).
241 Pong·received·ping241 Pong·received·ping
242 &lt;3820.41.0&gt;242 &lt;3820.41.0&gt;
243 Ping·received·pong243 Ping·received·pong
244 Pong·received·ping244 Pong·received·ping
245 Ping·received·pong245 Ping·received·pong
246 Pong·received·ping246 Pong·received·ping
247 Ping·received·pong</code></pre><p>This·is·a·slight·modification·of·the·ping·pong·program·where·both·processes·are247 Ping·received·pong</code></pre><p>This·is·a·slight·modification·of·the·ping·pong·program·where·both·processes·are
248 spawned·from·the·same·<code·class="inline">start/1</code>·function,·and·the·&quot;ping&quot;·process·can·be·spawned248 spawned·from·the·same·<code·class="inline">start/1</code>·function,·and·the·&quot;ping&quot;·process·can·be·spawned
249 on·a·separate·node.·Notice·the·use·of·the·<code·class="inline">link</code>·BIF.·&quot;Ping&quot;·calls249 on·a·separate·node.·Notice·the·use·of·the·<code·class="inline">link</code>·BIF.·&quot;Ping&quot;·calls
250 <a·href="../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit(ping)</code></a>·when·it·finishes·and·this·causes·an·exit·signal·to·be250 <a·href="../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit(ping)</code></a>·when·it·finishes·and·this·causes·an·exit·signal·to·be
251 sent·to·&quot;pong&quot;,·which·also·terminates.</p><p>It·is·possible·to·modify·the·default·behaviour·of·a·process·so·that·it·does·not251 sent·to·&quot;pong&quot;,·which·also·terminates.</p><p>It·is·possible·to·modify·the·default·behaviour·of·a·process·so·that·it·does·not
252 get·killed·when·it·receives·abnormal·exit·signals.·Instead,·all·signals·are252 get·killed·when·it·receives·abnormal·exit·signals.·Instead,·all·signals·are
253 turned·into·normal·messages·on·the·format·<code·class="inline">{'EXIT',FromPID,Reason}</code>·and·added·to253 turned·into·normal·messages·on·the·format·<code·class="inline">{'EXIT',FromPID,Reason}</code>·and·added·to
254 the·end·of·the·receiving·process'·message·queue.·This·behaviour·is·set·by:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">process_flag</span><span·class="p"·data-group-id="4485404093-1">(</span><span·class="ss">trap_exit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="4485404093-1">)</span></code></pre><p>There·are·several·other·process·flags,·see·<a·href="../../erts-16.0/doc/html/erlang.html#process_flag/2">erlang(3)</a>.254 the·end·of·the·receiving·process'·message·queue.·This·behaviour·is·set·by:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">process_flag</span><span·class="p"·data-group-id="5948369386-1">(</span><span·class="ss">trap_exit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="5948369386-1">)</span></code></pre><p>There·are·several·other·process·flags,·see·<a·href="../../erts-16.0/doc/html/erlang.html#process_flag/2">erlang(3)</a>.
255 Changing·the·default·behaviour·of·a·process·in·this·way·is·usually·not·done·in255 Changing·the·default·behaviour·of·a·process·in·this·way·is·usually·not·done·in
256 standard·user·programs,·but·is·left·to·the·supervisory·programs·in·OTP.·However,256 standard·user·programs,·but·is·left·to·the·supervisory·programs·in·OTP.·However,
257 the·ping·pong·program·is·modified·to·illustrate·exit·trapping.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9683473686-1">(</span><span·class="ss">tut21</span><span·class="p"·data-group-id="9683473686-1">)</span><span·class="p">.</span><span·class="w">257 the·ping·pong·program·is·modified·to·illustrate·exit·trapping.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0449381132-1">(</span><span·class="ss">tut21</span><span·class="p"·data-group-id="0449381132-1">)</span><span·class="p">.</span><span·class="w">
258 </span><span·class="w">258 </span><span·class="w">
259 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9683473686-2">(</span><span·class="p"·data-group-id="9683473686-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">··</span><span·class="ss">ping</span><span·class="p">/</span><s[·...·truncated·by·diffoscope;·len:·242,·SHA:·08abfc67f9e8e2abcb874128bd2824bdb0f4e62d29f10272e3eeabf9640b4297·...·]-2">)</span><span·class="p">.</span><span·class="w">259 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0449381132-2">(</span><span·class="p"·data-group-id="0449381132-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">··</span><span·class="ss">ping</span><span·class="p">/</span><s[·...·truncated·by·diffoscope;·len:·242,·SHA:·66932262738a61fdb27bba3d1bab6ce15b246b27412a7953fa554f8e0fc65a5d·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
260 </span><span·class="nf">ping</span><span·class="p"·data-group-id="9683473686-4">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="9683473686-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">260 </span><span·class="nf">ping</span><span·class="p"·data-group-id="0449381132-4">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pong_Pid</span><span·class="p"·data-group-id="0449381132-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 73431/116479 bytes (63.04%) of diff not shown.
793 B
html2text {}
Max HTML report size reached
1.33 KB
./usr/share/doc/erlang-doc/html/doc/system/search.html
    
Offset 131, 15 lines modifiedOffset 131, 15 lines modified
131 ······<p·class="built-using">131 ······<p·class="built-using">
132 ········Built·using132 ········Built·using
133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
135 ······</p>135 ······</p>
136 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>136 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
137 ····</footer>137 ····</footer>
138 ··</div>138 ··</div>
139 </main>139 </main>
140 </div>140 </div>
141 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>141 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
142 ··<script>142 ··<script>
143 ··let·initialized·=·false;143 ··let·initialized·=·false;
551 B
html2text {}
Max HTML report size reached
428 KB
./usr/share/doc/erlang-doc/html/doc/system/seq_prog.html
Max HTML report size reached
198 KB
./usr/share/doc/erlang-doc/html/doc/system/spec_proc.html
Max HTML report size reached
370 KB
./usr/share/doc/erlang-doc/html/doc/system/statem.html
Max HTML report size reached
65.2 KB
./usr/share/doc/erlang-doc/html/doc/system/sup_princ.html
    
Offset 128, 48 lines modifiedOffset 128, 48 lines modified
128 the·order·specified·by·this·list,·and·are·terminated·in·the·reverse·order.</p><h2·id="example"·class="section-heading">128 the·order·specified·by·this·list,·and·are·terminated·in·the·reverse·order.</p><h2·id="example"·class="section-heading">
129 ··<a·href="#example"·class="hover-link">129 ··<a·href="#example"·class="hover-link">
130 ····<i·class="ri-link-m"·aria-hidden="true"></i>130 ····<i·class="ri-link-m"·aria-hidden="true"></i>
131 ··</a>131 ··</a>
132 ··<span·class="text">Example</span>132 ··<span·class="text">Example</span>
133 </h2>133 </h2>
134 <p>The·callback·module·for·a·supervisor·starting·the·server·from134 <p>The·callback·module·for·a·supervisor·starting·the·server·from
135 <a·href="gen_server_concepts.html#ex">gen_server·Behaviour</a>·can·look·as·follows:</p><p><a·href=""·id="ex"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7414407049-1">(</span><span·class="ss">ch_sup</span><span·class="p"·data-group-id="7414407049-1">)</span><span·class="p">.</span><span·class="w">135 <a·href="gen_server_concepts.html#ex">gen_server·Behaviour</a>·can·look·as·follows:</p><p><a·href=""·id="ex"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4730634312-1">(</span><span·class="ss">ch_sup</span><span·class="p"·data-group-id="4730634312-1">)</span><span·class="p">.</span><span·class="w">
136 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="7414407049-2">(</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="7414407049-2">)</span><span·class="p">.</span><span·class="w">136 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="4730634312-2">(</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="4730634312-2">)</span><span·class="p">.</span><span·class="w">
137 </span><span·class="w">137 </span><span·class="w">
138 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7414407049-3">(</span><span·class="p"·data-group-id="7414407049-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7414407049-4">]</span><span·class="p"·data-group-id="7414407049-3">)</span><span·class="p">.</span><span·class="w"> 
139 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7414407049-5">(</span><span·class="p"·data-group-id="7414407049-6">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="7414407049-6">]</span><span·class="p"·data-group-id="7414407049-5">)</span><span·class="p">.</span><span·class="w">138 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4730634312-3">(</span><span·class="p"·data-group-id="4730634312-4">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="4730634312-4">]</span><span·class="p"·data-group-id="4730634312-3">)</span><span·class="p">.</span><span·class="w">
 139 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4730634312-5">(</span><span·class="p"·data-group-id="4730634312-6">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4730634312-6">]</span><span·class="p"·data-group-id="4730634312-5">)</span><span·class="p">.</span><span·class="w">
  
140 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="7414407049-7">(</span><span·class="p"·data-group-id="7414407049-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">140 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="4730634312-7">(</span><span·class="p"·data-group-id="4730634312-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
141 ····</span><span·class="nc">supervisor</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="7414407049-8">(</span><span·class="ss">ch_sup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7414407049-9">[</span><span·class="p"·data-group-id="7414407049-9">]</span><span·class="p"·data-group-id="7414407049-8">)</span><span·class="p">.</span><span·class="w">141 ····</span><span·class="nc">supervisor</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="4730634312-8">(</span><span·class="ss">ch_sup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4730634312-9">[</span><span·class="p"·data-group-id="4730634312-9">]</span><span·class="p"·data-group-id="4730634312-8">)</span><span·class="p">.</span><span·class="w">
  
142 </span><span·class="nf">init</span><span·class="p"·data-group-id="7414407049-10">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="7414407049-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">142 </span><span·class="nf">init</span><span·class="p"·data-group-id="4730634312-10">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="4730634312-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
143 ····</span><span·class="n">SupFlags</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7414407049-11">#{</span><span·class="ss">strategy</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">one_for_one</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">intensity</span><span·cl[·...·truncated·by·diffoscope;·len:·313,·SHA:·7206b0671fdbb642b82208ebbc5dafd6568a226b56614fff1ce568590296c05d·...·]-11">}</span><span·class="p">,</span><span·class="w">143 ····</span><span·class="n">SupFlags</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4730634312-11">#{</span><span·class="ss">strategy</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">one_for_one</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">intensity</span><span·cl[·...·truncated·by·diffoscope;·len:·313,·SHA:·ee4d9019e67b16c5a220fbc49cec978d23f36882db60c3b8c2d1bc61124e2df7·...·]-11">}</span><span·class="p">,</span><span·class="w">
144 ····</span><span·class="n">ChildSpecs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7414407049-12">[</span><span·class="p"·data-group-id="7414407049-13">#{</span><span·class="ss">id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">144 ····</span><span·class="n">ChildSpecs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4730634312-12">[</span><span·class="p"·data-group-id="4730634312-13">#{</span><span·class="ss">id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">
145 ····················</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7414407049-14">{</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_link</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7414407049-15">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·73,·SHA:·356aa9cae6bffaa48080c2ce9921561e38a5f2d4ac223ac81e66576230bf5907·...·]-14">}</span><span·class="p">,</span><span·class="w">145 ····················</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4730634312-14">{</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_link</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4730634312-15">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·73,·SHA:·cb4becc6252df9558893ef7361717dedf2ff598250d4c23c1a14a2ceae67a31a·...·]-14">}</span><span·class="p">,</span><span·class="w">
146 ····················</span><span·class="ss">restart</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">permanent</span><span·class="p">,</span><span·class="w">146 ····················</span><span·class="ss">restart</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">permanent</span><span·class="p">,</span><span·class="w">
147 ····················</span><span·class="ss">shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">brutal_kill</span><span·class="p">,</span><span·class="w">147 ····················</span><span·class="ss">shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">brutal_kill</span><span·class="p">,</span><span·class="w">
148 ····················</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">worker</span><span·class="p">,</span><span·class="w">148 ····················</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">worker</span><span·class="p">,</span><span·class="w">
149 ····················</span><span·class="ss">modules</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7414407049-16">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="7414407049-16">]</span><span·class="p"·data-group-id="7414407049-13">}</span><span·class="p"·data-group-id="7414407049-12">]</span><span·class="p">,</span><span·class="w">149 ····················</span><span·class="ss">modules</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4730634312-16">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="4730634312-16">]</span><span·class="p"·data-group-id="4730634312-13">}</span><span·class="p"·data-group-id="4730634312-12">]</span><span·class="p">,</span><span·class="w">
150 ····</span><span·class="p"·data-group-id="7414407049-17">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7414407049-18">{</span><span·class="n">SupFlags</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ChildSpecs[·...·truncated·by·diffoscope;·len:·102,·SHA:·98061ea374feb92400f35aab3840af4c6e607ce72fdba153f20fc39fd2a2e7ed·...·]-17">}</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">SupFlags</code>·variable·in·the·return·value·from·<code·class="inline">init/1</code>·represents·the150 ····</span><span·class="p"·data-group-id="4730634312-17">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4730634312-18">{</span><span·class="n">SupFlags</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ChildSpecs[·...·truncated·by·diffoscope;·len:·102,·SHA:·5c288d84f0e7c196a108003a4087653f3a6ac1e7e558e8532b7f9344de500dc3·...·]-17">}</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">SupFlags</code>·variable·in·the·return·value·from·<code·class="inline">init/1</code>·represents·the
151 <a·href="sup_princ.html#flags">supervisor·flags</a>.</p><p>The·<code·class="inline">ChildSpecs</code>·variable·in·the·return·value·from·<code·class="inline">init/1</code>·is·a·list·of151 <a·href="sup_princ.html#flags">supervisor·flags</a>.</p><p>The·<code·class="inline">ChildSpecs</code>·variable·in·the·return·value·from·<code·class="inline">init/1</code>·is·a·list·of
152 <a·href="sup_princ.html#spec">child·specifications</a>.</p><p><a·href=""·id="flags"></a></p><h2·id="supervisor-flags"·class="section-heading">152 <a·href="sup_princ.html#spec">child·specifications</a>.</p><p><a·href=""·id="flags"></a></p><h2·id="supervisor-flags"·class="section-heading">
153 ··<a·href="#supervisor-flags"·class="hover-link">153 ··<a·href="#supervisor-flags"·class="hover-link">
154 ····<i·class="ri-link-m"·aria-hidden="true"></i>154 ····<i·class="ri-link-m"·aria-hidden="true"></i>
155 ··</a>155 ··</a>
156 ··<span·class="text">Supervisor·Flags</span>156 ··<span·class="text">Supervisor·Flags</span>
157 </h2>157 </h2>
158 <p>This·is·the·type·definition·for·the·supervisor·flags:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sup_flags</span><span·class="p"·data-group-id="4766587967-1">(</span><span·class="p"·data-group-id="4766587967-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4766587967-2">#{</span><span·class="ss">strategy</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·eb14291fe02eb47d1524c2ee5ecd9949300a44ea89bb6abca4ef59d3ac21e4cf·...·]-3">)</span><span·class="p">,</span><span·class="w">···········</span><span·class="c1">%·optional</span><span·class="w">158 <p>This·is·the·type·definition·for·the·supervisor·flags:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sup_flags</span><span·class="p"·data-group-id="7098106113-1">(</span><span·class="p"·data-group-id="7098106113-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7098106113-2">#{</span><span·class="ss">strategy</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·bdd8bbc84d8f5f159edadc888842ed587549975179197118134afd1cff924f41·...·]-3">)</span><span·class="p">,</span><span·class="w">···········</span><span·class="c1">%·optional</span><span·class="w">
159 ················</span><span·class="ss">intensity</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">non_neg_integer</span><span·class="p"·data-group-id="4766587967-4">(</span><span·class="p"·data-group-id="4766587967-4">)</span><span·class="p">,</span><span·class="w">···</span><span·class="c1">%·optional</span><span·class="w">159 ················</span><span·class="ss">intensity</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">non_neg_integer</span><span·class="p"·data-group-id="7098106113-4">(</span><span·class="p"·data-group-id="7098106113-4">)</span><span·class="p">,</span><span·class="w">···</span><span·class="c1">%·optional</span><span·class="w">
160 ················</span><span·class="ss">period</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">pos_integer</span><span·class="p"·data-group-id="4766587967-5">(</span><span·class="p"·data-group-id="4766587967-5">)</span><span·class="p">,</span><span·class="w">··········</span><span·class="c1">%·optional</span><span·class="w">160 ················</span><span·class="ss">period</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">pos_integer</span><span·class="p"·data-group-id="7098106113-5">(</span><span·class="p"·data-group-id="7098106113-5">)</span><span·class="p">,</span><span·class="w">··········</span><span·class="c1">%·optional</span><span·class="w">
161 ················</span><span·class="ss">auto_shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">auto_shutdown</span><span·class="p"·data-group-id="4766587967-6">(</span><span·class="p"·data-group-id="4766587967-6">)</span><span·class="p"·data-group-id="4766587967-2">}</span><span·class="w">·</span><span·class="c1">%·optional</span><span·class="w">161 ················</span><span·class="ss">auto_shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">auto_shutdown</span><span·class="p"·data-group-id="7098106113-6">(</span><span·class="p"·data-group-id="7098106113-6">)</span><span·class="p"·data-group-id="7098106113-2">}</span><span·class="w">·</span><span·class="c1">%·optional</span><span·class="w">
162 ····</span><span·class="nf">strategy</span><span·class="p"·data-group-id="4766587967-7">(</span><span·class="p"·data-group-id="4766587967-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">one_for_all</span><span·class="w">162 ····</span><span·class="nf">strategy</span><span·class="p"·data-group-id="7098106113-7">(</span><span·class="p"·data-group-id="7098106113-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">one_for_all</span><span·class="w">
163 ···············</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">one_for_one</span><span·class="w">163 ···············</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">one_for_one</span><span·class="w">
164 ···············</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">rest_for_one</span><span·class="w">164 ···············</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">rest_for_one</span><span·class="w">
165 ···············</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">simple_one_for_one</span><span·class="w">165 ···············</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">simple_one_for_one</span><span·class="w">
166 ····</span><span·class="nf">auto_shutdown</span><span·class="p"·data-group-id="4766587967-8">(</span><span·class="p"·data-group-id="4766587967-8">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">never</span><span·class="w">166 ····</span><span·class="nf">auto_shutdown</span><span·class="p"·data-group-id="7098106113-8">(</span><span·class="p"·data-group-id="7098106113-8">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">never</span><span·class="w">
167 ····················</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">any_significant</span><span·class="w">167 ····················</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">any_significant</span><span·class="w">
168 ····················</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">all_significant</span></code></pre><ul><li><code·class="inline">strategy</code>·specifies·the·<a·href="sup_princ.html#strategy">restart·strategy</a>.</li><li><code·class="inline">intensity</code>·and·<code·class="inline">period</code>·specify·the168 ····················</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">all_significant</span></code></pre><ul><li><code·class="inline">strategy</code>·specifies·the·<a·href="sup_princ.html#strategy">restart·strategy</a>.</li><li><code·class="inline">intensity</code>·and·<code·class="inline">period</code>·specify·the
169 <a·href="sup_princ.html#max_intensity">maximum·restart·intensity</a>.</li><li><code·class="inline">auto_shutdown</code>·specifies·whether·and·when·a·supervisor·should169 <a·href="sup_princ.html#max_intensity">maximum·restart·intensity</a>.</li><li><code·class="inline">auto_shutdown</code>·specifies·whether·and·when·a·supervisor·should
170 <a·href="sup_princ.html#automatic-shutdown">automatically·shut·itself·down</a>.</li></ul><p><a·href=""·id="strategy"></a></p><h2·id="restart-strategy"·class="section-heading">170 <a·href="sup_princ.html#automatic-shutdown">automatically·shut·itself·down</a>.</li></ul><p><a·href=""·id="strategy"></a></p><h2·id="restart-strategy"·class="section-heading">
171 ··<a·href="#restart-strategy"·class="hover-link">171 ··<a·href="#restart-strategy"·class="hover-link">
172 ····<i·class="ri-link-m"·aria-hidden="true"></i>172 ····<i·class="ri-link-m"·aria-hidden="true"></i>
173 ··</a>173 ··</a>
Offset 408, 28 lines modifiedOffset 408, 28 lines modified
408 exhaust·the·<a·href="sup_princ.html#max_intensity">Maximum·Restart·Intensity</a>·of·the408 exhaust·the·<a·href="sup_princ.html#max_intensity">Maximum·Restart·Intensity</a>·of·the
409 parent·supervisor.</p></section><p><a·href=""·id="spec"></a></p><h2·id="child-specification"·class="section-heading">409 parent·supervisor.</p></section><p><a·href=""·id="spec"></a></p><h2·id="child-specification"·class="section-heading">
410 ··<a·href="#child-specification"·class="hover-link">410 ··<a·href="#child-specification"·class="hover-link">
411 ····<i·class="ri-link-m"·aria-hidden="true"></i>411 ····<i·class="ri-link-m"·aria-hidden="true"></i>
412 ··</a>412 ··</a>
413 ··<span·class="text">Child·Specification</span>413 ··<span·class="text">Child·Specification</span>
414 </h2>414 </h2>
415 <p>The·type·definition·for·a·child·specification·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">child_spec</span><span·class="p"·data-group-id="8918920103-1">(</span><span·class="p"·data-group-id="8918920103-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8918920103-2">#{</span><span·class="ss">id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">child_id</span><span·class="p"·data-group-id="8918920103-3">(</span><span·class="p"·data-group-id="8918920103-3">)</span><span·class="p">,</span><span·class="w">·············</span><span·class="c1">%·mandatory</span><span·class="w"> 
416 ·················</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">mfargs</span><span·class="p"·data-group-id="8918920103-4">(</span><span·class="p"·data-group-id="8918920103-4"[·...·truncated·by·diffoscope;·len:·49,·SHA:·c1348d10958a20c35f38d142a04c14e1c06497b5a79bf818fd20ae814b33f142·...·]············</span><span·class="c1">%·mandatory</span><span·class="w">415 <p>The·type·definition·for·a·child·specification·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">child_spec</span><span·class="p"·data-group-id="5488546755-1">(</span><span·class="p"·data-group-id="5488546755-1">)</span><[·...·truncated·by·diffoscope;·len:·406,·SHA:·098ec17fc94df4a71b95fa42a84749b69006409aec4cdd0e4d18c25204cd85eb·...·]············</span><span·class="c1">%·mandatory</span><span·class="w">
 416 ·················</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">mfargs</span><span·class="p"·data-group-id="5488546755-4">(</span><span·class="p"·data-group-id="5488546755-4">)</span><span·class="p">,</span><span·class="w">············</span><span·class="c1">%·mandatory</span><span·class="w">
417 ·················</span><span·class="ss">restart</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">restart</span><span·class="p"·data-group-id="8918920103-5">(</span><span·class="p"·data-group-id="8918920103-5">)</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·optional</span><span·class="w">417 ·················</span><span·class="ss">restart</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">restart</span><span·class="p"·data-group-id="5488546755-5">(</span><span·class="p"·data-group-id="5488546755-5">)</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·optional</span><span·class="w">
418 ·················</span><span·class="ss">significant</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">significant</span><span·class="p"·data-group-id="8918920103-6">(</span><span·class="p"·data-group-id="8918920103-6">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·optional</span><span·class="w"> 
419 ·················</span><span·class="ss">shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="8918920103-7">(</span><span·class="p"·data-group-id="8918920103-7">)</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%·optional</span><span·class="w"> 
420 ·················</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">worker</span><span·class="p"·data-group-id="8918920103-8">(</span><span·class="p"·data-group-id="8918920103-8">)</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·19,·SHA:·cdc41c3b86f778a70c395180e042b4243a73269f3386d415d4b2c2ecbdfd1fa7·...·]·</span><span·class="c1">%·optional</span><span·class="w">418 ·················</span><span·class="ss">significant</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">significant</span><span·class="p"·data-group-id="5488546755-6">(</span><span·class="p"·data-group-id="5488546755-6">)</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·19,·SHA:·887e09d9f57385f2929afb80f23f02203796ca6431e1f51107d90a29beb84747·...·]·</span><span·class="c1">%·optional</span><span·class="w">
 419 ·················</span><span·class="ss">shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="5488546755-7">(</span><span·class="p"·data-group-id="5488546755-7">)</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%·optional</span><span·class="w">
 420 ·················</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">worker</span><span·class="p"·data-group-id="5488546755-8">(</span><span·class="p"·data-group-id="5488546755-8">)</span><span·class="p">,</span><span·class="w">·············</span><span·class="c1">%·optional</span><span·class="w">
421 ·················</span><span·class="ss">modules</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">modules</span><span·class="p"·data-group-id="8918920103-9">(</span><span·class="p"·data-group-id="8918920103-9">)</span><span·class="p"·data-group-id="8918920103-2">}</span><span·class="w">·········</span><span·class="c1">%·optional</span><span·class="w">421 ·················</span><span·class="ss">modules</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">modules</span><span·class="p"·data-group-id="5488546755-9">(</span><span·class="p"·data-group-id="5488546755-9">)</span><span·class="p"·data-group-id="5488546755-2">}</span><span·class="w">·········</span><span·class="c1">%·optional</span><span·class="w">
422 ····</span><span·class="nf">child_id</span><span·class="p"·data-group-id="8918920103-10">(</span><span·class="p"·data-group-id="8918920103-10">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="8918920103-11">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·5982d6aa44cd9bbd7a4d37a759c1498c178aee66a5f20abe2c81da0fbf62b51f·...·]-11">)</span><span·class="w">422 ····</span><span·class="nf">child_id</span><span·class="p"·data-group-id="5488546755-10">(</span><span·class="p"·data-group-id="5488546755-10">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="5488546755-11">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·8d5e0d695f1ddb7608128b6cb1b488c0f2be1af9b6982dc34aa2ccb1bb620b04·...·]-11">)</span><span·class="w">
423 ····</span><span·class="nf">mfargs</span><span·class="p"·data-group-id="8918920103-12">(</span><span·class="p"·data-group-id="8918920103-12">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8918920103-13">{</span><span·class="n">M</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·962,·SHA:·8277609d458bdba2f9f739b32e143cfa14fb68fb448c54cd3bc422851dfbe773·...·]-13">}</span><span·class="w">423 ····</span><span·class="nf">mfargs</span><span·class="p"·data-group-id="5488546755-12">(</span><span·class="p"·data-group-id="5488546755-12">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5488546755-13">{</span><span·class="n">M</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·962,·SHA:·736545ded38079a98bdb78271f3e9ffee60ace5bc34b00e56fef2056f1176f76·...·]-13">}</span><span·class="w">
424 ····</span><span·class="nf">modules</span><span·class="p"·data-group-id="8918920103-18">(</span><span·class="p"·data-group-id="8918920103-18">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8918920103-19">[</span><span·class="nf">module</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·126,·SHA:·8db977eea522050cbbb3407b8cda7408e9c27a00ca6f46bb85bfe927db6874c5·...·]-19">]</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">dynamic</span><span·class="w">424 ····</span><span·class="nf">modules</span><span·class="p"·data-group-id="5488546755-18">(</span><span·class="p"·data-group-id="5488546755-18">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5488546755-19">[</span><span·class="nf">module</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·126,·SHA:·8ba787b8d067e739946b3a08e653f391b32199d363d8ba37f2ceff9692fa4ab4·...·]-19">]</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">dynamic</span><span·class="w">
425 ····</span><span·class="nf">restart</span><span·class="p"·data-group-id="8918920103-21">(</span><span·class="p"·data-group-id="8918920103-21">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">permanent</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">transient</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">temporary</span><span·class="w">425 ····</span><span·class="nf">restart</span><span·class="p"·data-group-id="5488546755-21">(</span><span·class="p"·data-group-id="5488546755-21">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">permanent</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">transient</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">temporary</span><span·class="w">
426 ····</span><span·class="nf">significant</span><span·class="p"·data-group-id="8918920103-22">(</span><span·class="p"·data-group-id="8918920103-22">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">boolean</span><span·class="p"·data-group-id="8918920103-23">(</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·7dda6861e3c87a5969d7faff067a60a22933c9be22eb9937edd811791fd7de99·...·]-23">)</span><span·class="w">426 ····</span><span·class="nf">significant</span><span·class="p"·data-group-id="5488546755-22">(</span><span·class="p"·data-group-id="5488546755-22">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">boolean</span><span·class="p"·data-group-id="5488546755-23">(</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·785efa5c8dd634666d9583903059aa11367e46d29282384ea2c59dde36288ae5·...·]-23">)</span><span·class="w">
427 ····</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="8918920103-24">(</span><span·class="p"·data-group-id="8918920103-24">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">brutal_kill</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·126,·SHA:·81abd452324afa4490dbd45acc8a5966a0c21837d30774eb724ecf5a0695e7db·...·]-25">)</span><span·class="w">427 ····</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="5488546755-24">(</span><span·class="p"·data-group-id="5488546755-24">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">brutal_kill</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·126,·SHA:·5a1fda5b4e10aceb43b4fd5a155f2e64e5785f481c3a131ee546841615287b9f·...·]-25">)</span><span·class="w">
428 ····</span><span·class="nf">worker</span><span·class="p"·data-group-id="8918920103-26">(</span><span·class="p"·data-group-id="8918920103-26">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">worker</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">supervisor</span></code></pre><ul><li><p><code·class="inline">id</code>·is·used·to·identify·the·child·specification·internally·by·the·supervisor.</p><p>The·<code·class="inline">id</code>·key·is·mandatory.</p><p>Note·that·this·identifier·occasionally·has·been·called·&quot;name&quot;.·As·far·as428 ····</span><span·class="nf">worker</span><span·class="p"·data-group-id="5488546755-26">(</span><span·class="p"·data-group-id="5488546755-26">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">worker</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">supervisor</span></code></pre><ul><li><p><code·class="inline">id</code>·is·used·to·identify·the·child·specification·internally·by·the·supervisor.</p><p>The·<code·class="inline">id</code>·key·is·mandatory.</p><p>Note·that·this·identifier·occasionally·has·been·called·&quot;name&quot;.·As·far·as
429 possible,·the·terms·&quot;identifier&quot;·or·&quot;id&quot;·are·now·used·but·in·order·to·keep429 possible,·the·terms·&quot;identifier&quot;·or·&quot;id&quot;·are·now·used·but·in·order·to·keep
430 backwards·compatibility,·some·occurrences·of·&quot;name&quot;·can·still·be·found,·for430 backwards·compatibility,·some·occurrences·of·&quot;name&quot;·can·still·be·found,·for
431 example·in·error·messages.</p></li><li><p><code·class="inline">start</code>·defines·the·function·call·used·to·start·the·child·process.·It·is·a431 example·in·error·messages.</p></li><li><p><code·class="inline">start</code>·defines·the·function·call·used·to·start·the·child·process.·It·is·a
432 module-function-arguments·tuple·used·as·<a·href="../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,·F,·A)</code></a>.</p><p>It·is·to·be·(or·result·in)·a·call·to·any·of·the·following:</p><ul><li><a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link/2,3</code></a></li><li><a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/3,4</code></a></li><li><a·href="../../lib/stdlib-7.0/doc/html/gen_statem.html#start_link/4"><code·class="inline">gen_statem:start_link/3,4</code></a></li><li><a·href="../../lib/stdlib-7.0/doc/html/gen_event.html#start_link/2"><code·class="inline">gen_event:start_link/0,1,2</code></a></li><li>A·function·compliant·with·these·functions.·For·details,·see432 module-function-arguments·tuple·used·as·<a·href="../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,·F,·A)</code></a>.</p><p>It·is·to·be·(or·result·in)·a·call·to·any·of·the·following:</p><ul><li><a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link/2,3</code></a></li><li><a·href="../../lib/stdlib-7.0/doc/html/gen_server.html#start_link/4"><code·class="inline">gen_server:start_link/3,4</code></a></li><li><a·href="../../lib/stdlib-7.0/doc/html/gen_statem.html#start_link/4"><code·class="inline">gen_statem:start_link/3,4</code></a></li><li><a·href="../../lib/stdlib-7.0/doc/html/gen_event.html#start_link/2"><code·class="inline">gen_event:start_link/0,1,2</code></a></li><li>A·function·compliant·with·these·functions.·For·details,·see
433 <a·href="../../lib/stdlib-7.0/doc/html/supervisor.html"><code·class="inline">supervisor</code></a>.</li></ul><p>The·<code·class="inline">start</code>·key·is·mandatory.</p></li><li><p><a·href=""·id="restart"></a>·<code·class="inline">restart</code>·defines·when·a·terminated·child·process·is·to·be433 <a·href="../../lib/stdlib-7.0/doc/html/supervisor.html"><code·class="inline">supervisor</code></a>.</li></ul><p>The·<code·class="inline">start</code>·key·is·mandatory.</p></li><li><p><a·href=""·id="restart"></a>·<code·class="inline">restart</code>·defines·when·a·terminated·child·process·is·to·be
434 restarted.</p><ul><li>A·<code·class="inline">permanent</code>·child·process·is·always·restarted.</li><li>A·<code·class="inline">temporary</code>·child·process·is·never·restarted·(not·even·when·the·supervisor434 restarted.</p><ul><li>A·<code·class="inline">permanent</code>·child·process·is·always·restarted.</li><li>A·<code·class="inline">temporary</code>·child·process·is·never·restarted·(not·even·when·the·supervisor
435 restart·strategy·is·<code·class="inline">rest_for_one</code>·or·<code·class="inline">one_for_all</code>·and·a·sibling·death435 restart·strategy·is·<code·class="inline">rest_for_one</code>·or·<code·class="inline">one_for_all</code>·and·a·sibling·death
Offset 457, 53 lines modifiedOffset 457, 53 lines modified
457 <code·class="inline">supervisor</code>,·the·default·value·<code·class="inline">infinity</code>·will·be·used.</p></li><li><p><code·class="inline">type</code>·specifies·whether·the·child·process·is·a·supervisor·or·a·worker.</p><p>The·<code·class="inline">type</code>·key·is·optional.·If·it·is·not·given,·the·default·value·<code·class="inline">worker</code>457 <code·class="inline">supervisor</code>,·the·default·value·<code·class="inline">infinity</code>·will·be·used.</p></li><li><p><code·class="inline">type</code>·specifies·whether·the·child·process·is·a·supervisor·or·a·worker.</p><p>The·<code·class="inline">type</code>·key·is·optional.·If·it·is·not·given,·the·default·value·<code·class="inline">worker</code>
458 will·be·used.</p></li><li><p><code·class="inline">modules</code>·has·to·be·a·list·consisting·of·a·single·element.·The·value458 will·be·used.</p></li><li><p><code·class="inline">modules</code>·has·to·be·a·list·consisting·of·a·single·element.·The·value
459 of·that·element·depends·on·the·behaviour·of·the·process:</p><ul><li>If·the·child·process·is·a·<code·class="inline">gen_event</code>,·the·element·has·to·be·the·atom459 of·that·element·depends·on·the·behaviour·of·the·process:</p><ul><li>If·the·child·process·is·a·<code·class="inline">gen_event</code>,·the·element·has·to·be·the·atom
460 <code·class="inline">dynamic</code>.</li><li>Otherwise,·the·element·should·be·<code·class="inline">Module</code>,·where·<code·class="inline">Module</code>·is·the460 <code·class="inline">dynamic</code>.</li><li>Otherwise,·the·element·should·be·<code·class="inline">Module</code>,·where·<code·class="inline">Module</code>·is·the
461 name·of·the·callback·module.</li></ul><p>This·information·is·used·by·the·release·handler·during·upgrades·and461 name·of·the·callback·module.</li></ul><p>This·information·is·used·by·the·release·handler·during·upgrades·and
462 downgrades;·see·<a·href="release_handling.html">Release·Handling</a>.</p><p>The·<code·class="inline">modules</code>·key·is·optional.·If·it·is·not·given,·it·defaults·to·<code·class="inline">[M]</code>,·where462 downgrades;·see·<a·href="release_handling.html">Release·Handling</a>.</p><p>The·<code·class="inline">modules</code>·key·is·optional.·If·it·is·not·given,·it·defaults·to·<code·class="inline">[M]</code>,·where
463 <code·class="inline">M</code>·comes·from·the·child's·start·<code·class="inline">{M,F,A}</code>.</p></li></ul><p><em>Example:</em>·The·child·specification·to·start·the·server·<code·class="inline">ch3</code>·in·the·previous463 <code·class="inline">M</code>·comes·from·the·child's·start·<code·class="inline">{M,F,A}</code>.</p></li></ul><p><em>Example:</em>·The·child·specification·to·start·the·server·<code·class="inline">ch3</code>·in·the·previous
464 example·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1996758914-1">#{</span><span·class="ss">id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">464 example·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7224526288-1">#{</span><span·class="ss">id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">
465 ··</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1996758914-2">{</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_link</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1996758914-3">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·fd01821096d63abd91521702fe33690fb498bb7b9310d4c340093ba137767571·...·]-2">}</span><span·class="p">,</span><span·class="w">465 ··</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7224526288-2">{</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_link</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7224526288-3">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·652ddd16fff9d8f09a22efa2dc1790dc222185c3907627d0f6cb74cb59477057·...·]-2">}</span><span·class="p">,</span><span·class="w">
466 ··</span><span·class="ss">restart</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">permanent</span><span·class="p">,</span><span·class="w">466 ··</span><span·class="ss">restart</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">permanent</span><span·class="p">,</span><span·class="w">
467 ··</span><span·class="ss">shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">brutal_kill</span><span·class="p">,</span><span·class="w">467 ··</span><span·class="ss">shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">brutal_kill</span><span·class="p">,</span><span·class="w">
468 ··</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">worker</span><span·class="p">,</span><span·class="w">468 ··</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">worker</span><span·class="p">,</span><span·class="w">
469 ··</span><span·class="ss">modules</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1996758914-4">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="1996758914-4">]</span><span·class="p"·data-group-id="1996758914-1">}</span></code></pre><p>or·simplified,·relying·on·the·default·values:</p><pre><code·class="text">#{id·=&gt;·ch3,469 ··</span><span·class="ss">modules</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7224526288-4">[</span><span·class="ss">ch3</span><span·class="p"·data-group-id="7224526288-4">]</span><span·class="p"·data-group-id="7224526288-1">}</span></code></pre><p>or·simplified,·relying·on·the·default·values:</p><pre><code·class="text">#{id·=&gt;·ch3,
470 ··start·=&gt;·{ch3,·start_link,·[]},470 ··start·=&gt;·{ch3,·start_link,·[]},
471 ··shutdown·=&gt;·brutal_kill}</code></pre><p>Example:·A·child·specification·to·start·the·event·manager·from·the·chapter·about471 ··shutdown·=&gt;·brutal_kill}</code></pre><p>Example:·A·child·specification·to·start·the·event·manager·from·the·chapter·about
472 <a·href="events.html#mgr">gen_event</a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5701629534-1">#{</span><span·class="ss">id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">error_man</span><span·class="p">,</span><span·class="w">472 <a·href="events.html#mgr">gen_event</a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5060564724-1">#{</span><span·class="ss">id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">error_man</span><span·class="p">,</span><span·class="w">
473 ··</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5701629534-2">{</span><span·class="ss">gen_event</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_link</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5701629534-3">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·290,·SHA:·06f9ddc48b6ca4080e7bc27d9ad7a004f6d210fa76db34a3d0e41fccf544c5e1·...·]4-2">}</span><span·class="p">,</span><span·class="w">473 ··</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5060564724-2">{</span><span·class="ss">gen_event</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_link</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5060564724-3">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·290,·SHA:·d4c8f39b276ec492b64c0d3d166793969044c1932eeccdad02e4ba68208cd173·...·]4-2">}</span><span·class="p">,</span><span·class="w">
474 ··</span><span·class="ss">modules</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">dynamic</span><span·class="p"·data-group-id="5701629534-1">}</span></code></pre><p>Both·server·and·event·manager·are·registered·processes·which·can·be·expected·to474 ··</span><span·class="ss">modules</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">dynamic</span><span·class="p"·data-group-id="5060564724-1">}</span></code></pre><p>Both·server·and·event·manager·are·registered·processes·which·can·be·expected·to
475 be·always·accessible.·Thus·they·are·specified·to·be·<code·class="inline">permanent</code>.</p><p><code·class="inline">ch3</code>·does·not·need·to·do·any·cleaning·up·before·termination.·Thus,·no·shutdown475 be·always·accessible.·Thus·they·are·specified·to·be·<code·class="inline">permanent</code>.</p><p><code·class="inline">ch3</code>·does·not·need·to·do·any·cleaning·up·before·termination.·Thus,·no·shutdown
476 time·is·needed,·but·<code·class="inline">brutal_kill</code>·is·sufficient.·<code·class="inline">error_man</code>·can·need·some·time476 time·is·needed,·but·<code·class="inline">brutal_kill</code>·is·sufficient.·<code·class="inline">error_man</code>·can·need·some·time
477 for·the·event·handlers·to·clean·up,·thus·the·shutdown·time·is·set·to·5000·ms477 for·the·event·handlers·to·clean·up,·thus·the·shutdown·time·is·set·to·5000·ms
478 (which·is·the·default·value).</p><p>Example:·A·child·specification·to·start·another·supervisor:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6417407724-1">#{</span><span·class="ss">id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">sup</span><span·class="p">,</span><span·class="w">478 (which·is·the·default·value).</p><p>Example:·A·child·specification·to·start·another·supervisor:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7263911291-1">#{</span><span·class="ss">id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">sup</span><span·class="p">,</span><span·class="w">
479 ··</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6417407724-2">{</span><span·class="ss">sup</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_link</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6417407724-3">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·6539973f41316225719cb7578e732a973fb28a14c8e061f1bbbbc726f207e6bd·...·]-2">}</span><span·class="p">,</span><span·class="w">479 ··</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7263911291-2">{</span><span·class="ss">sup</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_link</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7263911291-3">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·2f044e54de06da87a2087a2ed42555d896fdb350878ca965c135c7dfe4fe5cf4·...·]-2">}</span><span·class="p">,</span><span·class="w">
480 ··</span><span·class="ss">restart</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">transient</span><span·class="p">,</span><span·class="w">480 ··</span><span·class="ss">restart</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">transient</span><span·class="p">,</span><span·class="w">
481 ··</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="6417407724-1">}</span><span·class="w">·</span><span·class="c1">%·will·cause·default·shutdown=&gt;infinity</span></code></pre><p><a·href=""·id="super_tree"></a></p><h2·id="starting-a-supervisor"·class="section-heading">481 ··</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">supervisor</span><span·class="p"·data-group-id="7263911291-1">}</span><span·class="w">·</span><span·class="c1">%·will·cause·default·shutdown=&gt;infinity</span></code></pre><p><a·href=""·id="super_tree"></a></p><h2·id="starting-a-supervisor"·class="section-heading">
482 ··<a·href="#starting-a-supervisor"·class="hover-link">482 ··<a·href="#starting-a-supervisor"·class="hover-link">
483 ····<i·class="ri-link-m"·aria-hidden="true"></i>483 ····<i·class="ri-link-m"·aria-hidden="true"></i>
484 ··</a>484 ··</a>
485 ··<span·class="text">Starting·a·Supervisor</span>485 ··<span·class="text">Starting·a·Supervisor</span>
486 </h2>486 </h2>
487 <p>In·the·previous·example,·the·supervisor·is·started·by·calling487 <p>In·the·previous·example,·the·supervisor·is·started·by·calling
488 <code·class="inline">ch_sup:start_link()</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">start_link</span><span·class="p"·data-group-id="2977704833-1">(</span><span·class="p"·data-group-id="2977704833-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">488 <code·class="inline">ch_sup:start_link()</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">start_link</span><span·class="p"·data-group-id="3711631283-1">(</span><span·class="p"·data-group-id="3711631283-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
489 ····</span><span·class="nc">supervisor</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="2977704833-2">(</span><span·class="ss">ch_sup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2977704833-3">[</span><span·class="p"·data-group-id="2977704833-3">]</span><span·class="p"·data-group-id="2977704833-2">)</span><span·class="p">.</span></code></pre><p><code·class="inline">ch_sup:start_link</code>·calls·function·<a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/2"><code·class="inline">supervisor:start_link/2</code></a>,·which·spawns·and489 ····</span><span·class="nc">supervisor</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="3711631283-2">(</span><span·class="ss">ch_sup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3711631283-3">[</span><span·class="p"·data-group-id="3711631283-3">]</span><span·class="p"·data-group-id="3711631283-2">)</span><span·class="p">.</span></code></pre><p><code·class="inline">ch_sup:start_link</code>·calls·function·<a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/2"><code·class="inline">supervisor:start_link/2</code></a>,·which·spawns·and
490 links·to·a·new·process,·a·supervisor.</p><ul><li>The·first·argument,·<code·class="inline">ch_sup</code>,·is·the·name·of·the·callback·module,·that·is,·the490 links·to·a·new·process,·a·supervisor.</p><ul><li>The·first·argument,·<code·class="inline">ch_sup</code>,·is·the·name·of·the·callback·module,·that·is,·the
491 module·where·the·<code·class="inline">init</code>·callback·function·is·located.</li><li>The·second·argument,·<code·class="inline">[]</code>,·is·a·term·that·is·passed·as·is·to·the·callback491 module·where·the·<code·class="inline">init</code>·callback·function·is·located.</li><li>The·second·argument,·<code·class="inline">[]</code>,·is·a·term·that·is·passed·as·is·to·the·callback
492 function·<code·class="inline">init</code>.·Here,·<code·class="inline">init</code>·does·not·need·any·data·and·ignores·the·argument.</li></ul><p>In·this·case,·the·supervisor·is·not·registered.·Instead·its·pid·must·be·used.·A492 function·<code·class="inline">init</code>.·Here,·<code·class="inline">init</code>·does·not·need·any·data·and·ignores·the·argument.</li></ul><p>In·this·case,·the·supervisor·is·not·registered.·Instead·its·pid·must·be·used.·A
493 name·can·be·specified·by·calling493 name·can·be·specified·by·calling
494 <a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link({local,·Name},·Module,·Args)</code></a>494 <a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link({local,·Name},·Module,·Args)</code></a>
495 or495 or
496 <a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link({global,·Name},·Module,·Args)</code></a>.</p><p>The·new·supervisor·process·calls·the·callback·function·<code·class="inline">ch_sup:init([])</code>.·<code·class="inline">init</code>496 <a·href="../../lib/stdlib-7.0/doc/html/supervisor.html#start_link/3"><code·class="inline">supervisor:start_link({global,·Name},·Module,·Args)</code></a>.</p><p>The·new·supervisor·process·calls·the·callback·function·<code·class="inline">ch_sup:init([])</code>.·<code·class="inline">init</code>
497 has·to·return·<code·class="inline">{ok,·{SupFlags,·ChildSpecs}}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init</span><span·class="p"·data-group-id="1603098551-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="1603098551-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">497 has·to·return·<code·class="inline">{ok,·{SupFlags,·ChildSpecs}}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init</span><span·class="p"·data-group-id="9996729943-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="9996729943-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
498 ····</span><span·class="n">SupFlags</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1603098551-2">#{</span><span·class="p"·data-group-id="1603098551-2">}</span><span·class="p">,</span><span·class="w">498 ····</span><span·class="n">SupFlags</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9996729943-2">#{</span><span·class="p"·data-group-id="9996729943-2">}</span><span·class="p">,</span><span·class="w">
499 ····</span><span·class="n">ChildSpecs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1603098551-3">[</span><span·class="p"·data-group-id="1603098551-4">#{</span><span·class="ss">id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">499 ····</span><span·class="n">ChildSpecs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9996729943-3">[</span><span·class="p"·data-group-id="9996729943-4">#{</span><span·class="ss">id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">
500 ····················</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1603098551-5">{</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_link</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1603098551-6">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·a3a29a97c2452c0e0092f0d234d61ea69fdcc064c37573037dbc28d87feaee75·...·]-5">}</span><span·class="p">,</span><span·class="w">500 ····················</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9996729943-5">{</span><span·class="ss">ch3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_link</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9996729943-6">[</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·6b9be35e2e28f36218d1faeabaf9e1e037fcbff7bfb2651a1d4899597933f706·...·]-5">}</span><span·class="p">,</span><span·class="w">
501 ····················</span><span·class="ss">shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">brutal_kill</span><span·class="p"·data-group-id="1603098551-4">}</span><span·class="p"·data-group-id="1603098551-3">]</span><span·class="p">,</span><span·class="w">501 ····················</span><span·class="ss">shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">brutal_kill</span><span·class="p"·data-group-id="9996729943-4">}</span><span·class="p"·data-group-id="9996729943-3">]</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 12715/65907 bytes (19.29%) of diff not shown.
759 B
html2text {}
Max HTML report size reached
1.66 KB
./usr/share/doc/erlang-doc/html/doc/system/system_limits.html
    
Offset 217, 15 lines modifiedOffset 217, 15 lines modified
217 ······<p·class="built-using">217 ······<p·class="built-using">
218 ········Built·using218 ········Built·using
219 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the219 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
220 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>220 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
221 ······</p>221 ······</p>
222 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>222 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
223 ····</footer>223 ····</footer>
224 ··</div>224 ··</div>
225 </main>225 </main>
226 </div>226 </div>
227 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>227 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
228 ··<script>228 ··<script>
229 ··let·initialized·=·false;229 ··let·initialized·=·false;
881 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/doc/system/system_principles.html
    
Offset 266, 15 lines modifiedOffset 266, 15 lines modified
266 ······<p·class="built-using">266 ······<p·class="built-using">
267 ········Built·using267 ········Built·using
268 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the268 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
269 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>269 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
270 ······</p>270 ······</p>
271 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>271 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
272 ····</footer>272 ····</footer>
273 ··</div>273 ··</div>
274 </main>274 </main>
275 </div>275 </div>
276 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>276 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
277 ··<script>277 ··<script>
278 ··let·initialized·=·false;278 ··let·initialized·=·false;
739 B
html2text {}
Max HTML report size reached
71.4 KB
./usr/share/doc/erlang-doc/html/doc/system/tablesdatabases.html
    
Offset 146, 73 lines modifiedOffset 146, 73 lines modified
146 ····<i·class="ri-link-m"·aria-hidden="true"></i>146 ····<i·class="ri-link-m"·aria-hidden="true"></i>
147 ··</a>147 ··</a>
148 ··<span·class="text">Deleting·an·Element</span>148 ··<span·class="text">Deleting·an·Element</span>
149 </h3>149 </h3>
150 <p>The·<code·class="inline">delete</code>·operation·is·considered·successful·if·the·element·was·not·present150 <p>The·<code·class="inline">delete</code>·operation·is·considered·successful·if·the·element·was·not·present
151 in·the·table.·Hence·all·attempts·to·check·that·the·element·is·present·in·the151 in·the·table.·Hence·all·attempts·to·check·that·the·element·is·present·in·the
152 Ets/Mnesia·table·before·deletion·are·unnecessary.·Here·follows·an·example·for152 Ets/Mnesia·table·before·deletion·are·unnecessary.·Here·follows·an·example·for
153 Ets·tables:</p><p><strong>DO</strong></p><pre><code·class="text">ets:delete(Tab,·Key),</code></pre><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">lookup</span><span·class="p"·data-group-id="0222716461-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="0222716461-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">153 Ets·tables:</p><p><strong>DO</strong></p><pre><code·class="text">ets:delete(Tab,·Key),</code></pre><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">lookup</span><span·class="p"·data-group-id="8152451788-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="8152451788-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
154 ····</span><span·class="p"·data-group-id="0222716461-2">[</span><span·class="p"·data-group-id="0222716461-2">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">154 ····</span><span·class="p"·data-group-id="8152451788-2">[</span><span·class="p"·data-group-id="8152451788-2">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
155 ········</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">155 ········</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
156 ····</span><span·class="p"·data-group-id="0222716461-3">[</span><span·class="p">_</span><span·class="p">|</span><span·class="p">_</span><span·class="p"·data-group-id="0222716461-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">156 ····</span><span·class="p"·data-group-id="8152451788-3">[</span><span·class="p">_</span><span·class="p">|</span><span·class="p">_</span><span·class="p"·data-group-id="8152451788-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
157 ········</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="0222716461-4">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="0222716461-4">)</span><span·class="w">157 ········</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="8152451788-4">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="8152451788-4">)</span><span·class="w">
158 </span><span·class="k">end</span><span·class="p">,</span></code></pre><h3·id="fetching-data"·class="section-heading">158 </span><span·class="k">end</span><span·class="p">,</span></code></pre><h3·id="fetching-data"·class="section-heading">
159 ··<a·href="#fetching-data"·class="hover-link">159 ··<a·href="#fetching-data"·class="hover-link">
160 ····<i·class="ri-link-m"·aria-hidden="true"></i>160 ····<i·class="ri-link-m"·aria-hidden="true"></i>
161 ··</a>161 ··</a>
162 ··<span·class="text">Fetching·Data</span>162 ··<span·class="text">Fetching·Data</span>
163 </h3>163 </h3>
164 <p>Do·not·fetch·data·that·you·already·have.</p><p>Consider·that·you·have·a·module·that·handles·the·abstract·data·type·<code·class="inline">Person</code>.164 <p>Do·not·fetch·data·that·you·already·have.</p><p>Consider·that·you·have·a·module·that·handles·the·abstract·data·type·<code·class="inline">Person</code>.
165 You·export·the·interface·function·<code·class="inline">print_person/1</code>,·which·uses·the·internal165 You·export·the·interface·function·<code·class="inline">print_person/1</code>,·which·uses·the·internal
166 functions·<code·class="inline">print_name/1</code>,·<code·class="inline">print_age/1</code>,·and·<code·class="inline">print_occupation/1</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>If·the·function·<code·class="inline">print_name/1</code>,·and·so·on,·had·been·interface·functions,·the166 functions·<code·class="inline">print_name/1</code>,·<code·class="inline">print_age/1</code>,·and·<code·class="inline">print_occupation/1</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>If·the·function·<code·class="inline">print_name/1</code>,·and·so·on,·had·been·interface·functions,·the
167 situation·would·have·been·different,·as·you·do·not·want·the·user·of·the167 situation·would·have·been·different,·as·you·do·not·want·the·user·of·the
168 interface·to·know·about·the·internal·data·representation.</p></section><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%·Interface·function</span><span·class="w">168 interface·to·know·about·the·internal·data·representation.</p></section><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%·Interface·function</span><span·class="w">
169 </span><span·class="nf">print_person</span><span·class="p"·data-group-id="8063520697-1">(</span><span·class="n">PersonId</span><span·class="p"·data-group-id="8063520697-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">169 </span><span·class="nf">print_person</span><span·class="p"·data-group-id="4299143986-1">(</span><span·class="n">PersonId</span><span·class="p"·data-group-id="4299143986-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
170 ····</span><span·class="c1">%%·Look·up·the·person·in·the·named·table·person,</span><span·class="w">170 ····</span><span·class="c1">%%·Look·up·the·person·in·the·named·table·person,</span><span·class="w">
171 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">lookup</span><span·class="p"·data-group-id="8063520697-2">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PersonId</span><span·class="p"·data-group-id="8063520697-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">171 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">lookup</span><span·class="p"·data-group-id="4299143986-2">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PersonId</span><span·class="p"·data-group-id="4299143986-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
172 ········</span><span·class="p"·data-group-id="8063520697-3">[</span><span·class="n">Person</span><span·class="p"·data-group-id="8063520697-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">172 ········</span><span·class="p"·data-group-id="4299143986-3">[</span><span·class="n">Person</span><span·class="p"·data-group-id="4299143986-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
173 ············</span><span·class="nf">print_name</span><span·class="p"·data-group-id="8063520697-4">(</span><span·class="n">Person</span><span·class="p"·data-group-id="8063520697-4">)</span><span·class="p">,</span><span·class="w">173 ············</span><span·class="nf">print_name</span><span·class="p"·data-group-id="4299143986-4">(</span><span·class="n">Person</span><span·class="p"·data-group-id="4299143986-4">)</span><span·class="p">,</span><span·class="w">
174 ············</span><span·class="nf">print_age</span><span·class="p"·data-group-id="8063520697-5">(</span><span·class="n">Person</span><span·class="p"·data-group-id="8063520697-5">)</span><span·class="p">,</span><span·class="w">174 ············</span><span·class="nf">print_age</span><span·class="p"·data-group-id="4299143986-5">(</span><span·class="n">Person</span><span·class="p"·data-group-id="4299143986-5">)</span><span·class="p">,</span><span·class="w">
175 ············</span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="8063520697-6">(</span><span·class="n">Person</span><span·class="p"·data-group-id="8063520697-6">)</span><span·class="p">;</span><span·class="w">175 ············</span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="4299143986-6">(</span><span·class="n">Person</span><span·class="p"·data-group-id="4299143986-6">)</span><span·class="p">;</span><span·class="w">
176 ········</span><span·class="p"·data-group-id="8063520697-7">[</span><span·class="p"·data-group-id="8063520697-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 ········</span><span·class="p"·data-group-id="4299143986-7">[</span><span·class="p"·data-group-id="4299143986-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8063520697-8">(</span><span·class="s">&quot;No·person·with·ID·=·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8063520697-9">[</span><sp[·...·truncated·by·diffoscope;·len:·122,·SHA:·d12e81bcddcb1d88f216ee10e6342ab900e2a2fbdc3dccf0dbecaeb81a9cfafd·...·]-8">)</span><span·class="w">177 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4299143986-8">(</span><span·class="s">&quot;No·person·with·ID·=·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4299143986-9">[</span><sp[·...·truncated·by·diffoscope;·len:·122,·SHA:·47216fc97877db6e2a4cb17cde063359f7bcd428d0c71249badf51a7ceb10771·...·]-8">)</span><span·class="w">
178 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">178 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
179 </span><span·class="c1">%%%·Internal·functions</span><span·class="w">179 </span><span·class="c1">%%%·Internal·functions</span><span·class="w">
180 </span><span·class="nf">print_name</span><span·class="p"·data-group-id="8063520697-10">(</span><span·class="n">Person</span><span·class="p"·data-group-id="8063520697-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">180 </span><span·class="nf">print_name</span><span·class="p"·data-group-id="4299143986-10">(</span><span·class="n">Person</span><span·class="p"·data-group-id="4299143986-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
181 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8063520697-11">(</span><span·class="s">&quot;No·person·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8063520697-12">[</span><span·class[·...·truncated·by·diffoscope;·len:·219,·SHA:·927c53e2871e9ed51d5bd6aceb1b7fc41bd6951728166293836ff09627c4c096·...·]-11">)</span><span·class="p">.</span><span·class="w">181 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4299143986-11">(</span><span·class="s">&quot;No·person·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4299143986-12">[</span><span·class[·...·truncated·by·diffoscope;·len:·219,·SHA:·0c2d05a81a6921f90e8dcaee256c3fa1f3f7d39f79395ed11950e8da4e7e42b6·...·]-11">)</span><span·class="p">.</span><span·class="w">
  
182 </span><span·class="nf">print_age</span><span·class="p"·data-group-id="8063520697-13">(</span><span·class="n">Person</span><span·class="p"·data-group-id="8063520697-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">182 </span><span·class="nf">print_age</span><span·class="p"·data-group-id="4299143986-13">(</span><span·class="n">Person</span><span·class="p"·data-group-id="4299143986-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
183 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8063520697-14">(</span><span·class="s">&quot;No·person·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8063520697-15">[</span><span·class[·...·truncated·by·diffoscope;·len:·218,·SHA:·1d80dee324edd69cf53b0e8465adf3d88e1715341a0c4eee5f0a03a4e5340e71·...·]-14">)</span><span·class="p">.</span><span·class="w">183 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4299143986-14">(</span><span·class="s">&quot;No·person·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4299143986-15">[</span><span·class[·...·truncated·by·diffoscope;·len:·218,·SHA:·646b27d93799d504ca98b0134c80974e6ea41b4f46372f3824fe172c470cbe97·...·]-14">)</span><span·class="p">.</span><span·class="w">
  
184 </span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="8063520697-16">(</span><span·class="n">Person</span><span·class="p"·data-group-id="8063520697-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">184 </span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="4299143986-16">(</span><span·class="n">Person</span><span·class="p"·data-group-id="4299143986-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
185 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8063520697-17">(</span><span·class="s">&quot;No·person·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8063520697-18">[</span><span·class[·...·truncated·by·diffoscope;·len:·225,·SHA:·55c40b25ca40c13ab35cb25953a8d5dea755e36338bb6856c40bc17abb87b383·...·]-17">)</span><span·class="p">.</span></code></pre><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%·Interface·function</span><span·class="w">185 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4299143986-17">(</span><span·class="s">&quot;No·person·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4299143986-18">[</span><span·class[·...·truncated·by·diffoscope;·len:·225,·SHA:·ec509757b1797c9804a7138f607b26e9a7f1d0d69d52c6c4e7ec2dec6cc4bcf3·...·]-17">)</span><span·class="p">.</span></code></pre><p><strong>DO·NOT</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%·Interface·function</span><span·class="w">
186 </span><span·class="nf">print_person</span><span·class="p"·data-group-id="4867630080-1">(</span><span·class="n">PersonId</span><span·class="p"·data-group-id="4867630080-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">186 </span><span·class="nf">print_person</span><span·class="p"·data-group-id="9863373986-1">(</span><span·class="n">PersonId</span><span·class="p"·data-group-id="9863373986-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
187 ····</span><span·class="c1">%%·Look·up·the·person·in·the·named·table·person,</span><span·class="w">187 ····</span><span·class="c1">%%·Look·up·the·person·in·the·named·table·person,</span><span·class="w">
188 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">lookup</span><span·class="p"·data-group-id="4867630080-2">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PersonId</span><span·class="p"·data-group-id="4867630080-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">188 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">lookup</span><span·class="p"·data-group-id="9863373986-2">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PersonId</span><span·class="p"·data-group-id="9863373986-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
189 ········</span><span·class="p"·data-group-id="4867630080-3">[</span><span·class="n">Person</span><span·class="p"·data-group-id="4867630080-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">189 ········</span><span·class="p"·data-group-id="9863373986-3">[</span><span·class="n">Person</span><span·class="p"·data-group-id="9863373986-3">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
190 ············</span><span·class="nf">print_name</span><span·class="p"·data-group-id="4867630080-4">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="4867630080-4">)</span><span·class="p">,</span><span·class="w">190 ············</span><span·class="nf">print_name</span><span·class="p"·data-group-id="9863373986-4">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="9863373986-4">)</span><span·class="p">,</span><span·class="w">
191 ············</span><span·class="nf">print_age</span><span·class="p"·data-group-id="4867630080-5">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="4867630080-5">)</span><span·class="p">,</span><span·class="w">191 ············</span><span·class="nf">print_age</span><span·class="p"·data-group-id="9863373986-5">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="9863373986-5">)</span><span·class="p">,</span><span·class="w">
192 ············</span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="4867630080-6">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="4867630080-6">)</span><span·class="p">;</span><span·class="w">192 ············</span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="9863373986-6">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="9863373986-6">)</span><span·class="p">;</span><span·class="w">
193 ········</span><span·class="p"·data-group-id="4867630080-7">[</span><span·class="p"·data-group-id="4867630080-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">193 ········</span><span·class="p"·data-group-id="9863373986-7">[</span><span·class="p"·data-group-id="9863373986-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
194 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4867630080-8">(</span><span·class="s">&quot;No·person·with·ID·=·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4867630080-9">[</span><sp[·...·truncated·by·diffoscope;·len:·122,·SHA:·15b075ee466288f4a05519dbea4fbe48894170d130bf80b50074a5bb047f5f5b·...·]-8">)</span><span·class="w">194 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9863373986-8">(</span><span·class="s">&quot;No·person·with·ID·=·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9863373986-9">[</span><sp[·...·truncated·by·diffoscope;·len:·122,·SHA:·f278fc6e48b82b95fdd6ff98362c57bbfba7d527d12cae5b2324400d84fcb23f·...·]-8">)</span><span·class="w">
195 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">195 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
196 </span><span·class="c1">%%%·Internal·functions</span><span·class="w">196 </span><span·class="c1">%%%·Internal·functions</span><span·class="w">
197 </span><span·class="nf">print_name</span><span·class="p"·data-group-id="4867630080-10">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="4867630080-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">197 </span><span·class="nf">print_name</span><span·class="p"·data-group-id="9863373986-10">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="9863373986-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
198 ····</span><span·class="p"·data-group-id="4867630080-11">[</span><span·class="n">Person</span><span·class="p"·data-group-id="4867630080-11">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">lookup</sp[·...·truncated·by·diffoscope;·len:·207,·SHA:·3657c9d2ecec220dbaad25936a98c51d318a4a7b53b21309d7b505c6294b3f4d·...·]-12">)</span><span·class="p">,</span><span·class="w">198 ····</span><span·class="p"·data-group-id="9863373986-11">[</span><span·class="n">Person</span><span·class="p"·data-group-id="9863373986-11">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">lookup</sp[·...·truncated·by·diffoscope;·len:·207,·SHA:·aa9e73fdcbc71ff4144d44631703219ed48bb6350b6b2e30e5f9ae4a3f45d813·...·]-12">)</span><span·class="p">,</span><span·class="w">
199 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4867630080-13">(</span><span·class="s">&quot;No·person·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4867630080-14">[</span><span·class[·...·truncated·by·diffoscope;·len:·219,·SHA:·a41d2f15855286818db5acb957b9c6e7b7d157b7c7befb1f0d5f7bc62fa571d0·...·]-13">)</span><span·class="p">.</span><span·class="w">199 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9863373986-13">(</span><span·class="s">&quot;No·person·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9863373986-14">[</span><span·class[·...·truncated·by·diffoscope;·len:·219,·SHA:·12a4c39edac028571c3b7306125f9207a708542e7c2979624d01e204824714a3·...·]-13">)</span><span·class="p">.</span><span·class="w">
  
200 </span><span·class="nf">print_age</span><span·class="p"·data-group-id="4867630080-15">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="4867630080-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">200 </span><span·class="nf">print_age</span><span·class="p"·data-group-id="9863373986-15">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="9863373986-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
201 ····</span><span·class="p"·data-group-id="4867630080-16">[</span><span·class="n">Person</span><span·class="p"·data-group-id="4867630080-16">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">lookup</sp[·...·truncated·by·diffoscope;·len:·207,·SHA:·f55cbc2f7db487b0f21d66de5e2e1ca02c810c992d02109202f81044e3650b72·...·]-17">)</span><span·class="p">,</span><span·class="w">201 ····</span><span·class="p"·data-group-id="9863373986-16">[</span><span·class="n">Person</span><span·class="p"·data-group-id="9863373986-16">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">lookup</sp[·...·truncated·by·diffoscope;·len:·207,·SHA:·f1467b43dce86c610ad3ffe553c988250a53bc0fb2738f7458c82870cdb42c83·...·]-17">)</span><span·class="p">,</span><span·class="w">
202 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4867630080-18">(</span><span·class="s">&quot;No·person·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4867630080-19">[</span><span·class[·...·truncated·by·diffoscope;·len:·218,·SHA:·bf83387d144fa99baddd45c83d559fa80e71d3a4d1f4a298819031429e8218df·...·]-18">)</span><span·class="p">.</span><span·class="w">202 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9863373986-18">(</span><span·class="s">&quot;No·person·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9863373986-19">[</span><span·class[·...·truncated·by·diffoscope;·len:·218,·SHA:·b06ecadb2ca058c195c01438f765b129542d080e9e7c50fb27ced68b3f9795fa·...·]-18">)</span><span·class="p">.</span><span·class="w">
  
203 </span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="4867630080-20">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="4867630080-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">203 </span><span·class="nf">print_occupation</span><span·class="p"·data-group-id="9863373986-20">(</span><span·class="n">PersonID</span><span·class="p"·data-group-id="9863373986-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
204 ····</span><span·class="p"·data-group-id="4867630080-21">[</span><span·class="n">Person</span><span·class="p"·data-group-id="4867630080-21">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">lookup</sp[·...·truncated·by·diffoscope;·len:·207,·SHA:·3f85ee0f191c128b4262683f7b25e17dbc428459a2904fa8835f86870948a469·...·]-22">)</span><span·class="p">,</span><span·class="w">204 ····</span><span·class="p"·data-group-id="9863373986-21">[</span><span·class="n">Person</span><span·class="p"·data-group-id="9863373986-21">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">lookup</sp[·...·truncated·by·diffoscope;·len:·207,·SHA:·7f141f4fa23e2d61c72f9fbb30114b4f3f0eea1666b53105e91fffe4b08d4a08·...·]-22">)</span><span·class="p">,</span><span·class="w">
205 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4867630080-23">(</span><span·class="s">&quot;No·person·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4867630080-24">[</span><span·class[·...·truncated·by·diffoscope;·len:·225,·SHA:·6a3c252690474e38db415297cbabf5ae63097032d81eeff2ca6c7d86ae383643·...·]-23">)</span><span·class="p">.</span></code></pre><h3·id="non-persistent-database-storage"·class="section-heading">205 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9863373986-23">(</span><span·class="s">&quot;No·person·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9863373986-24">[</span><span·class[·...·truncated·by·diffoscope;·len:·225,·SHA:·440870288b07365a0831b68bbc4defcb27961fd3d5fbd58be642b8e7b967a70b·...·]-23">)</span><span·class="p">.</span></code></pre><h3·id="non-persistent-database-storage"·class="section-heading">
206 ··<a·href="#non-persistent-database-storage"·class="hover-link">206 ··<a·href="#non-persistent-database-storage"·class="hover-link">
207 ····<i·class="ri-link-m"·aria-hidden="true"></i>207 ····<i·class="ri-link-m"·aria-hidden="true"></i>
208 ··</a>208 ··</a>
209 ··<span·class="text">Non-Persistent·Database·Storage</span>209 ··<span·class="text">Non-Persistent·Database·Storage</span>
210 </h3>210 </h3>
211 <p>For·non-persistent·database·storage,·prefer·Ets·tables·over·Mnesia211 <p>For·non-persistent·database·storage,·prefer·Ets·tables·over·Mnesia
212 <code·class="inline">local_content</code>·tables.·Even·the·Mnesia·<code·class="inline">dirty_write</code>·operations·carry·a·fixed212 <code·class="inline">local_content</code>·tables.·Even·the·Mnesia·<code·class="inline">dirty_write</code>·operations·carry·a·fixed
Offset 226, 38 lines modifiedOffset 226, 38 lines modified
226 </h3>226 </h3>
227 <p>Assuming·an·Ets·table·that·uses·<code·class="inline">idno</code>·as·key·and·contains·the·following:</p><pre><code·class="text">[#person{idno·=·1,·name·=·&quot;Adam&quot;,··age·=·31,·occupation·=·&quot;mailman&quot;},227 <p>Assuming·an·Ets·table·that·uses·<code·class="inline">idno</code>·as·key·and·contains·the·following:</p><pre><code·class="text">[#person{idno·=·1,·name·=·&quot;Adam&quot;,··age·=·31,·occupation·=·&quot;mailman&quot;},
228 ·#person{idno·=·2,·name·=·&quot;Bryan&quot;,·age·=·31,·occupation·=·&quot;cashier&quot;},228 ·#person{idno·=·2,·name·=·&quot;Bryan&quot;,·age·=·31,·occupation·=·&quot;cashier&quot;},
229 ·#person{idno·=·3,·name·=·&quot;Bryan&quot;,·age·=·35,·occupation·=·&quot;banker&quot;},229 ·#person{idno·=·3,·name·=·&quot;Bryan&quot;,·age·=·35,·occupation·=·&quot;banker&quot;},
230 ·#person{idno·=·4,·name·=·&quot;Carl&quot;,··age·=·25,·occupation·=·&quot;mailman&quot;}]</code></pre><p>If·you·<em>must</em>·return·all·data·stored·in·the·Ets·table,·you·can·use230 ·#person{idno·=·4,·name·=·&quot;Carl&quot;,··age·=·25,·occupation·=·&quot;mailman&quot;}]</code></pre><p>If·you·<em>must</em>·return·all·data·stored·in·the·Ets·table,·you·can·use
231 <a·href="../../lib/stdlib-7.0/doc/html/ets.html#tab2list/1"><code·class="inline">ets:tab2list/1</code></a>.·However,·usually·you·are·only·interested·in·a·subset·of·the231 <a·href="../../lib/stdlib-7.0/doc/html/ets.html#tab2list/1"><code·class="inline">ets:tab2list/1</code></a>.·However,·usually·you·are·only·interested·in·a·subset·of·the
232 information·in·which·case·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#tab2list/1"><code·class="inline">ets:tab2list/1</code></a>·is·expensive.·If·you·only·want·to232 information·in·which·case·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#tab2list/1"><code·class="inline">ets:tab2list/1</code></a>·is·expensive.·If·you·only·want·to
233 extract·one·field·from·each·record,·for·example,·the·age·of·every·person,·then:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="3653843546-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3653843546-2">[</span><span·class="p"·data-group-id="3653843546-3">{</span><span·class="o">#</span><span·class="ss">person</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·671e619c10ab1b4c02c4f9c86ef1cbbcb2560791512b852b6d5a522359c6802b·...·]-4">{</span><span·class="ss">idno</span><span·class="o">=</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">233 extract·one·field·from·each·record,·for·example,·the·age·of·every·person,·then:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="5089861513-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5089861513-2">[</span><span·class="p"·data-group-id="5089861513-3">{</span><span·class="o">#</span><span·class="ss">person</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·afebf556b993b7de3d4036f00202528ba12d6a79991468f10382cc85fa47ff59·...·]-4">{</span><span·class="ss">idno</span><span·class="o">=</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">
234 ··························</span><span·class="ss">name</span><span·class="o">=</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">234 ··························</span><span·class="ss">name</span><span·class="o">=</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">
235 ··························</span><span·class="ss">age</span><span·class="o">=</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">235 ··························</span><span·class="ss">age</span><span·class="o">=</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
236 ··························</span><span·class="ss">occupation</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="3653843546-4">}</span><span·class="p">,</span><span·class="w">236 ··························</span><span·class="ss">occupation</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="5089861513-4">}</span><span·class="p">,</span><span·class="w">
237 ················</span><span·class="p"·data-group-id="3653843546-5">[</span><span·class="p"·data-group-id="3653843546-5">]</span><span·class="p">,</span><span·class="w">237 ················</span><span·class="p"·data-group-id="5089861513-5">[</span><span·class="p"·data-group-id="5089861513-5">]</span><span·class="p">,</span><span·class="w">
238 ················</span><span·class="p"·data-group-id="3653843546-6">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="3653843546-6">]</span><span·class="p"·data-group-id="3653843546-3">}</span><span·class="p"·data-group-id="3653843546-2">]</span><span·class="p"·data-group-id="36538435[·...·truncated·by·diffoscope;·len:·434,·SHA:·8ae25a18efa6625283afd62eed871ff99b706ed0df7ce2312c6bc52e4f8d2e62·...·]-1">)</span><span·class="p">,</span><span·class="w">238 ················</span><span·class="p"·data-group-id="5089861513-6">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="5089861513-6">]</span><span·class="p"·data-group-id="5089861513-3">}</span><span·class="p"·data-group-id="5089861513-2">]</span><span·class="p"·data-group-id="50898615[·...·truncated·by·diffoscope;·len:·434,·SHA:·79cb10c632f04c4edd9b7877d3a4938ac5bbe1bd1b89501ac07abdb41b313721·...·]-1">)</span><span·class="p">,</span><span·class="w">
239 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="6600271634-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6600271634-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="6600271634-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·919,·SHA:·06f422027844e1f560e333cf64dbdb3bb158f2ac4dd0b961741ad843c32e555a·...·]-4">{</span><span·class="ss">idno</span><span·class="o">=</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">239 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="2964976402-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2964976402-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="2964976402-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·919,·SHA:·4e47b93dbf64e4fb72f1b9d948a5da4a92158fee596363db66c6e39b0d91edac·...·]-4">{</span><span·class="ss">idno</span><span·class="o">=</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">
240 ··························</span><span·class="ss">name</span><span·class="o">=</span><span·class="s">&quot;Bryan&quot;</span><span·class="p">,</span><span·class="w">240 ··························</span><span·class="ss">name</span><span·class="o">=</span><span·class="s">&quot;Bryan&quot;</span><span·class="p">,</span><span·class="w">
241 ··························</span><span·class="ss">age</span><span·class="o">=</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">241 ··························</span><span·class="ss">age</span><span·class="o">=</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
242 ··························</span><span·class="ss">occupation</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="6158549941-4">}</span><span·class="p">,</span><span·class="w">242 ··························</span><span·class="ss">occupation</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="0098960303-4">}</span><span·class="p">,</span><span·class="w">
243 ················</span><span·class="p"·data-group-id="6158549941-5">[</span><span·class="p"·data-group-id="6158549941-5">]</span><span·class="p">,</span><span·class="w">243 ················</span><span·class="p"·data-group-id="0098960303-5">[</span><span·class="p"·data-group-id="0098960303-5">]</span><span·class="p">,</span><span·class="w">
244 ················</span><span·class="p"·data-group-id="6158549941-6">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="6158549941-6">]</span><span·class="p"·data-group-id="6158549941-3">}</span><span·class="p"·data-group-id="6158549941-2">]</span><span·class="p"·data-group-id="61585499[·...·truncated·by·diffoscope;·len:·410,·SHA:·83e0e2a1ec1dc9c0d387625a27d8b0473212fb93c1c503e0b1e3fe8baa27b4c6·...·]-1">)</span><span·class="p">,</span><span·class="w">244 ················</span><span·class="p"·data-group-id="0098960303-6">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="0098960303-6">]</span><span·class="p"·data-group-id="0098960303-3">}</span><span·class="p"·data-group-id="0098960303-2">]</span><span·class="p"·data-group-id="00989603[·...·truncated·by·diffoscope;·len:·410,·SHA:·2354399ce9a2a9bdc7cf99b4a1191b31873b8262248470baf21c5f4afcb4d0ef·...·]-1">)</span><span·class="p">,</span><span·class="w">
245 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="0350318770-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0350318770-3">(</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="0350318770-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="k">case</span><span·class="w">·</span><span·class="n">X</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">name</span><span·class="w">·</span><span·class="k">of</span><span·class="w">245 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="9336821258-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9336821258-3">(</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="9336821258-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="k">case</span><span·class="w">·</span><span·class="n">X</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">name</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
246 ································</span><span·class="s">&quot;Bryan&quot;</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">246 ································</span><span·class="s">&quot;Bryan&quot;</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
247 ····································</span><span·class="p"·data-group-id="0350318770-4">[</span><span·class="n">X</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">age</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="0350318770-4">]</span><span·class="p">;</span><span·class="w">247 ····································</span><span·class="p"·data-group-id="9336821258-4">[</span><span·class="n">X</span><span·class="o">#</span><span·class="ss">person</span><span·class="p">.</span><span·class="ss">age</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="9336821258-4">]</span><span·class="p">;</span><span·class="w">
248 ·································</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">248 ·································</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
249 ·····································</span><span·class="n">Acc</span><span·class="w">249 ·····································</span><span·class="n">Acc</span><span·class="w">
250 ···························</span><span·class="k">end</span><span·class="w">250 ···························</span><span·class="k">end</span><span·class="w">
251 ·············</span><span·class="k">end</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0350318770-5">[</span><span·class="p"·data-group-id="0350318770-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TabList</span><span·class="p"·data-group-id="0350318770-2">)</span></code></pre><p>If·you·need·all·information·stored·in·the·Ets·table·about·persons·named·&quot;Bryan&quot;,251 ·············</span><span·class="k">end</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9336821258-5">[</span><span·class="p"·data-group-id="9336821258-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TabList</span><span·class="p"·data-group-id="9336821258-2">)</span></code></pre><p>If·you·need·all·information·stored·in·the·Ets·table·about·persons·named·&quot;Bryan&quot;,
252 then:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="7211842763-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7211842763-2">[</span><span·class="p"·data-group-id="7211842763-3">{</span><span·class="o">#</span><span·class="ss">person</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·1caa9d4d89b32f2389056a80cd6b1521504668775530a771246b8dff2736fb36·...·]-4">{</span><span·class="ss">idno</span><span·class="o">=</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">252 then:</p><p><strong>DO</strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="3632344242-1">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3632344242-2">[</span><span·class="p"·data-group-id="3632344242-3">{</span><span·class="o">#</span><span·class="ss">person</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·6be12c5209544d8338dabc99d8aab3fb7dfae614f104f9924be54224ef67d0bb·...·]-4">{</span><span·class="ss">idno</span><span·class="o">=</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">
253 ··························</span><span·class="ss">name</span><span·class="o">=</span><span·class="s">&quot;Bryan&quot;</span><span·class="p">,</span><span·class="w">253 ··························</span><span·class="ss">name</span><span·class="o">=</span><span·class="s">&quot;Bryan&quot;</span><span·class="p">,</span><span·class="w">
254 ··························</span><span·class="ss">age</span><span·class="o">=</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">254 ··························</span><span·class="ss">age</span><span·class="o">=</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">
255 ··························</span><span·class="ss">occupation</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="7211842763-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7211842763-5">[</span><span·class="p"·data-group-id="7211842763-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·689,·SHA:·4ed3327d946d85b555f94ba2bebf3d414793f1cea808b9f066747f9b5013eee3·...·]-1">)</span><span·class="p">,</span><span·class="w">255 ··························</span><span·class="ss">occupation</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="3632344242-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3632344242-5">[</span><span·class="p"·data-group-id="3632344242-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3[·...·truncated·by·diffoscope;·len:·689,·SHA:·a7a8a9a614189bd61a818ea30030012bc43e583911f59d82d21a5bf960b73891·...·]-1">)</span><span·class="p">,</span><span·class="w">
256 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">filter</span><span·class="p"·data-group-id="9893761959-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9893761959-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="9893761959-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·411,·SHA:·71803020075b70e0b02d0e4742a4f222e1af2a67f8a8d2c0b1532367d1a16ffa·...·]-2">)</span><span·class="p">,</span></code></pre><h3·id="ordered_set-tables"·class="section-heading">256 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">filter</span><span·class="p"·data-group-id="5111282236-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5111282236-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="5111282236-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·411,·SHA:·48228668e4720853a9d5c65b38c08ef2997a2cbe3fd9bcc00f3d077fddd00a1d·...·]-2">)</span><span·class="p">,</span></code></pre><h3·id="ordered_set-tables"·class="section-heading">
257 ··<a·href="#ordered_set-tables"·class="hover-link">257 ··<a·href="#ordered_set-tables"·class="hover-link">
258 ····<i·class="ri-link-m"·aria-hidden="true"></i>258 ····<i·class="ri-link-m"·aria-hidden="true"></i>
259 ··</a>259 ··</a>
260 ··<span·class="text"><code·class="inline">ordered_set</code>·Tables</span>260 ··<span·class="text"><code·class="inline">ordered_set</code>·Tables</span>
261 </h3>261 </h3>
262 <p>If·the·data·in·the·table·is·to·be·accessed·so·that·the·order·of·the·keys·in·the262 <p>If·the·data·in·the·table·is·to·be·accessed·so·that·the·order·of·the·keys·in·the
263 table·is·significant,·the·table·type·<code·class="inline">ordered_set</code>·can·be·used·instead·of·the263 table·is·significant,·the·table·type·<code·class="inline">ordered_set</code>·can·be·used·instead·of·the
Offset 293, 20 lines modifiedOffset 293, 20 lines modified
293 Clearly,·the·second·table·would·have·to·be·kept·consistent·with·the·master293 Clearly,·the·second·table·would·have·to·be·kept·consistent·with·the·master
294 table.·Mnesia·can·do·this·for·you,·but·a·home-brew·index·table·can·be·very294 table.·Mnesia·can·do·this·for·you,·but·a·home-brew·index·table·can·be·very
295 efficient·compared·to·the·overhead·involved·in·using·Mnesia.</p><p>An·index·table·for·the·table·in·the·previous·examples·would·have·to·be·a·bag·(as295 efficient·compared·to·the·overhead·involved·in·using·Mnesia.</p><p>An·index·table·for·the·table·in·the·previous·examples·would·have·to·be·a·bag·(as
296 keys·would·appear·more·than·once)·and·can·have·the·following·contents:</p><pre><code·class="text">[#index_entry{name=&quot;Adam&quot;,·idno=1},296 keys·would·appear·more·than·once)·and·can·have·the·following·contents:</p><pre><code·class="text">[#index_entry{name=&quot;Adam&quot;,·idno=1},
297 ·#index_entry{name=&quot;Bryan&quot;,·idno=2},297 ·#index_entry{name=&quot;Bryan&quot;,·idno=2},
298 ·#index_entry{name=&quot;Bryan&quot;,·idno=3},298 ·#index_entry{name=&quot;Bryan&quot;,·idno=3},
299 ·#index_entry{name=&quot;Carl&quot;,·idno=4}]</code></pre><p>Given·this·index·table,·a·lookup·of·the·<code·class="inline">age</code>·fields·for·all·persons·named299 ·#index_entry{name=&quot;Carl&quot;,·idno=4}]</code></pre><p>Given·this·index·table,·a·lookup·of·the·<code·class="inline">age</code>·fields·for·all·persons·named
300 &quot;Bryan&quot;·can·be·done·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">MatchingIDs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">lookup</span><span·class="p"·data-group-id="9206588223-1">(</span><span·class="n">IndexTable</span><span·class="p">,</span><span·class="s">&quot;Bryan&quot;</span><span·class="p"·data-group-id="9206588223-1">)</span><span·class="p">,</span><span·class="w">300 &quot;Bryan&quot;·can·be·done·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">MatchingIDs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">lookup</span><span·class="p"·data-group-id="0063259801-1">(</span><span·class="n">IndexTable</span><span·class="p">,</span><span·class="s">&quot;Bryan&quot;</span><span·class="p"·data-group-id="0063259801-1">)</span><span·class="p">,</span><span·class="w">
301 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="9206588223-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9206588223-3">(</span><span·class="o">#</span><span·class="ss">index_entry</span><span·class="p"·data-group-id="9206588223-4">{</span><span·class="ss">idno</span><span·class="w[·...·truncated·by·diffoscope;·len:·177,·SHA:·0e58a65c9b8388ce87020a7dbb4ec067a53ef125b4f0b3cdfe619246a5eeaa35·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">301 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="0063259801-2">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0063259801-3">(</span><span·class="o">#</span><span·class="ss">index_entry</span><span·class="p"·data-group-id="0063259801-4">{</span><span·class="ss">idno</span><span·class="w[·...·truncated·by·diffoscope;·len:·177,·SHA:·2c5e98b134bb954e13588ab3d102a78017a34710af75081dd2ed5524d70386ca·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
302 ·················</span><span·class="p"·data-group-id="9206588223-5">[</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="9206588223-6">{</span><span·class="ss">age</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Age</span><s[·...·truncated·by·diffoscope;·len:·458,·SHA:·5591282a81ce6a65aef0155bd5388a89c63a0d0c7c37cf404935a7fae17bf723·...·]-7">)</span><span·class="p">,</span><span·class="w">302 ·················</span><span·class="p"·data-group-id="0063259801-5">[</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="0063259801-6">{</span><span·class="ss">age</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Age</span><s[·...·truncated·by·diffoscope;·len:·458,·SHA:·e0b241d877e522eb6a79dd10722a5c41cf1d91828aaa1a736925efe006e4a6df·...·]-7">)</span><span·class="p">,</span><span·class="w">
303 ·················</span><span·class="n">Age</span><span·class="w">303 ·················</span><span·class="n">Age</span><span·class="w">
304 ··········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">304 ··········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
305 ··········</span><span·class="n">MatchingIDs</span><span·class="p"·data-group-id="9206588223-2">)</span><span·class="p">,</span></code></pre><p>Notice·that·this·code·does·not·use·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#match/2"><code·class="inline">ets:match/2</code></a>,·but·instead·uses·the305 ··········</span><span·class="n">MatchingIDs</span><span·class="p"·data-group-id="0063259801-2">)</span><span·class="p">,</span></code></pre><p>Notice·that·this·code·does·not·use·<a·href="../../lib/stdlib-7.0/doc/html/ets.html#match/2"><code·class="inline">ets:match/2</code></a>,·but·instead·uses·the
306 <a·href="../../lib/stdlib-7.0/doc/html/ets.html#lookup/2"><code·class="inline">ets:lookup/2</code></a>·call.·The·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#map/2"><code·class="inline">lists:map/2</code></a>·call·is·only·used·to·traverse·the·<code·class="inline">idno</code>s306 <a·href="../../lib/stdlib-7.0/doc/html/ets.html#lookup/2"><code·class="inline">ets:lookup/2</code></a>·call.·The·<a·href="../../lib/stdlib-7.0/doc/html/lists.html#map/2"><code·class="inline">lists:map/2</code></a>·call·is·only·used·to·traverse·the·<code·class="inline">idno</code>s
Max diff block lines reached; 16968/72356 bytes (23.45%) of diff not shown.
601 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/doc/system/tutorial.html
    
Offset 184, 15 lines modifiedOffset 184, 15 lines modified
184 ······<p·class="built-using">184 ······<p·class="built-using">
185 ········Built·using185 ········Built·using
186 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the186 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
187 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>187 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
188 ······</p>188 ······</p>
189 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>189 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
190 ····</footer>190 ····</footer>
191 ··</div>191 ··</div>
192 </main>192 </main>
193 </div>193 </div>
194 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>194 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
195 ··<script>195 ··<script>
196 ··let·initialized·=·false;196 ··let·initialized·=·false;
707 B
html2text {}
Max HTML report size reached
71.4 KB
./usr/share/doc/erlang-doc/html/doc/system/typespec.html
    
Offset 238, 128 lines modifiedOffset 238, 128 lines modified
238 and·optional·<code·class="inline">(=&gt;)</code>·association·types.·If·an·association·type·is·mandatory,·an238 and·optional·<code·class="inline">(=&gt;)</code>·association·types.·If·an·association·type·is·mandatory,·an
239 association·with·that·type·needs·to·be·present.·In·the·case·of·an·optional239 association·with·that·type·needs·to·be·present.·In·the·case·of·an·optional
240 association·type·it·is·not·required·for·the·key·type·to·be·present.</p><p>The·notation·<code·class="inline">#{}</code>·specifies·the·singleton·type·for·the·empty·map.·Note·that240 association·type·it·is·not·required·for·the·key·type·to·be·present.</p><p>The·notation·<code·class="inline">#{}</code>·specifies·the·singleton·type·for·the·empty·map.·Note·that
241 this·notation·is·not·a·shorthand·for·the·<a·href="../../erts-16.0/doc/html/erlang.html#t:map/0"><code·class="inline">map/0</code></a>·type.</p><p>For·convenience,·the·following·types·are·also·built-in.·They·can·be·thought·as241 this·notation·is·not·a·shorthand·for·the·<a·href="../../erts-16.0/doc/html/erlang.html#t:map/0"><code·class="inline">map/0</code></a>·type.</p><p>For·convenience,·the·following·types·are·also·built-in.·They·can·be·thought·as
242 predefined·aliases·for·the·type·unions·also·shown·in·the·table.</p><p><a·href=""·id="builtin_types"></a></p><table><thead><tr><th·style="text-align:·left;">Built-in·type</th><th·style="text-align:·left;">Defined·as</th></tr></thead><tbody><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:term/0"><code·class="inline">term/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:any/0"><code·class="inline">any/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:binary/0"><code·class="inline">binary/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:_*8&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_binary/0"><code·class="inline">nonempty_binary/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:8,·_:_*8&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:bitstring/0"><code·class="inline">bitstring/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:_*1&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_bitstring/0"><code·class="inline">nonempty_bitstring/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:1,·_:_*1&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:boolean/0"><code·class="inline">boolean/0</code></a></td><td·style="text-align:·left;"><code·class="inline">'false'</code>·|·<code·class="inline">'true'</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..255</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:char/0"><code·class="inline">char/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..16#10ffff</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nil/0"><code·class="inline">nil/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:number/0"><code·class="inline">number/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>·|·<a·href="../../erts-16.0/doc/html/erlang.html#t:float/0"><code·class="inline">float/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[any()]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:maybe_improper_list/0"><code·class="inline">maybe_improper_list/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:maybe_improper_list/2"><code·class="inline">maybe_improper_list(any(),·any())</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_list/0"><code·class="inline">nonempty_list/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_list/1"><code·class="inline">nonempty_list(any())</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:string/0"><code·class="inline">string/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[char()]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_string/0"><code·class="inline">nonempty_string/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[char(),...]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:iodata/0"><code·class="inline">iodata/0</code></a></td><td·style="text-align:·left;"><code·class="inline">iolist()</code>·|·<code·class="inline">binary()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:iolist/0"><code·class="inline">iolist/0</code></a></td><td·style="text-align:·left;"><code·class="inline">maybe_improper_list(byte()</code>·|·<code·class="inline">binary()</code>·|·<code·class="inline">iolist(),·binary()</code>·|·<code·class="inline">[])</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:map/0"><code·class="inline">map/0</code></a></td><td·style="text-align:·left;"><code·class="inline">#{any()·=&gt;·any()}</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:function/0"><code·class="inline">function/0</code></a></td><td·style="text-align:·left;"><code·class="inline">fun()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:module/0"><code·class="inline">module/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:atom/0"><code·class="inline">atom/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:mfa/0"><code·class="inline">mfa/0</code></a></td><td·style="text-align:·left;"><code·class="inline">{module(),atom(),arity()}</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:arity/0"><code·class="inline">arity/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..255</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:identifier/0"><code·class="inline">identifier/0</code></a></td><td·style="text-align:·left;"><code·class="inline">pid()</code>·|·<code·class="inline">port()</code>·|·<code·class="inline">reference()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#node/0"><code·class="inline">node/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:atom/0"><code·class="inline">atom/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:timeout/0"><code·class="inline">timeout/0</code></a></td><td·style="text-align:·left;"><code·class="inline">'infinity'</code>·|·<code·class="inline">non_neg_integer()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:no_return/0"><code·class="inline">no_return/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:none/0"><code·class="inline">none/0</code></a></td></tr></tbody></table><p><em>Table:·Built-in·types,·predefined·aliases</em></p><p>In·addition,·the·following·three·built-in·types·exist·and·can·be·thought·as242 predefined·aliases·for·the·type·unions·also·shown·in·the·table.</p><p><a·href=""·id="builtin_types"></a></p><table><thead><tr><th·style="text-align:·left;">Built-in·type</th><th·style="text-align:·left;">Defined·as</th></tr></thead><tbody><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:term/0"><code·class="inline">term/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:any/0"><code·class="inline">any/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:binary/0"><code·class="inline">binary/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:_*8&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_binary/0"><code·class="inline">nonempty_binary/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:8,·_:_*8&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:bitstring/0"><code·class="inline">bitstring/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:_*1&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_bitstring/0"><code·class="inline">nonempty_bitstring/0</code></a></td><td·style="text-align:·left;"><code·class="inline">&lt;&lt;_:1,·_:_*1&gt;&gt;</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:boolean/0"><code·class="inline">boolean/0</code></a></td><td·style="text-align:·left;"><code·class="inline">'false'</code>·|·<code·class="inline">'true'</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..255</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:char/0"><code·class="inline">char/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..16#10ffff</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nil/0"><code·class="inline">nil/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:number/0"><code·class="inline">number/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>·|·<a·href="../../erts-16.0/doc/html/erlang.html#t:float/0"><code·class="inline">float/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[any()]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:maybe_improper_list/0"><code·class="inline">maybe_improper_list/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:maybe_improper_list/2"><code·class="inline">maybe_improper_list(any(),·any())</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_list/0"><code·class="inline">nonempty_list/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_list/1"><code·class="inline">nonempty_list(any())</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:string/0"><code·class="inline">string/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[char()]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:nonempty_string/0"><code·class="inline">nonempty_string/0</code></a></td><td·style="text-align:·left;"><code·class="inline">[char(),...]</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:iodata/0"><code·class="inline">iodata/0</code></a></td><td·style="text-align:·left;"><code·class="inline">iolist()</code>·|·<code·class="inline">binary()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:iolist/0"><code·class="inline">iolist/0</code></a></td><td·style="text-align:·left;"><code·class="inline">maybe_improper_list(byte()</code>·|·<code·class="inline">binary()</code>·|·<code·class="inline">iolist(),·binary()</code>·|·<code·class="inline">[])</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:map/0"><code·class="inline">map/0</code></a></td><td·style="text-align:·left;"><code·class="inline">#{any()·=&gt;·any()}</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:function/0"><code·class="inline">function/0</code></a></td><td·style="text-align:·left;"><code·class="inline">fun()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:module/0"><code·class="inline">module/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:atom/0"><code·class="inline">atom/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:mfa/0"><code·class="inline">mfa/0</code></a></td><td·style="text-align:·left;"><code·class="inline">{module(),atom(),arity()}</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:arity/0"><code·class="inline">arity/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..255</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:identifier/0"><code·class="inline">identifier/0</code></a></td><td·style="text-align:·left;"><code·class="inline">pid()</code>·|·<code·class="inline">port()</code>·|·<code·class="inline">reference()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#node/0"><code·class="inline">node/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:atom/0"><code·class="inline">atom/0</code></a></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:timeout/0"><code·class="inline">timeout/0</code></a></td><td·style="text-align:·left;"><code·class="inline">'infinity'</code>·|·<code·class="inline">non_neg_integer()</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:no_return/0"><code·class="inline">no_return/0</code></a></td><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:none/0"><code·class="inline">none/0</code></a></td></tr></tbody></table><p><em>Table:·Built-in·types,·predefined·aliases</em></p><p>In·addition,·the·following·three·built-in·types·exist·and·can·be·thought·as
243 defined·below,·though·strictly·their·&quot;type·definition&quot;·is·not·valid·syntax243 defined·below,·though·strictly·their·&quot;type·definition&quot;·is·not·valid·syntax
244 according·to·the·type·language·defined·above.</p><table><thead><tr><th·style="text-align:·left;">Built-in·type</th><th·style="text-align:·left;">Can·be·thought·defined·by·the·syntax</th></tr></thead><tbody><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:pos_integer/0"><code·class="inline">pos_integer/0</code></a></td><td·style="text-align:·left;"><code·class="inline">1..</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:neg_integer/0"><code·class="inline">neg_integer/0</code></a></td><td·style="text-align:·left;"><code·class="inline">..-1</code></td></tr></tbody></table><p><em>Table:·Additional·built-in·types</em></p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·following·built-in·list·types·also·exist,·but·they·are·expected·to·be244 according·to·the·type·language·defined·above.</p><table><thead><tr><th·style="text-align:·left;">Built-in·type</th><th·style="text-align:·left;">Can·be·thought·defined·by·the·syntax</th></tr></thead><tbody><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></td><td·style="text-align:·left;"><code·class="inline">0..</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:pos_integer/0"><code·class="inline">pos_integer/0</code></a></td><td·style="text-align:·left;"><code·class="inline">1..</code></td></tr><tr><td·style="text-align:·left;"><a·href="../../erts-16.0/doc/html/erlang.html#t:neg_integer/0"><code·class="inline">neg_integer/0</code></a></td><td·style="text-align:·left;"><code·class="inline">..-1</code></td></tr></tbody></table><p><em>Table:·Additional·built-in·types</em></p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·following·built-in·list·types·also·exist,·but·they·are·expected·to·be
245 rarely·used.·Hence,·they·have·long·names:</p></section><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">nonempty_maybe_improper_list</span><span·class="p"·data-group-id="2108711736-1">(</span><span·class="p"·data-group-id="2108711736-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">nonempty_maybe_improper_list</span><span·class="p"·data-group-id="21[·...·truncated·by·diffoscope;·len:·374,·SHA:·49370aa5bd39919b7982537155a1e549f7ecb641910345c99af8e11e9bcead61·...·]6-2">)</span><span·class="w">245 rarely·used.·Hence,·they·have·long·names:</p></section><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">nonempty_maybe_improper_list</span><span·class="p"·data-group-id="8101475976-1">(</span><span·class="p"·data-group-id="8101475976-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">nonempty_maybe_improper_list</span><span·class="p"·data-group-id="81[·...·truncated·by·diffoscope;·len:·374,·SHA:·6e170e3c9881f46180ac061a54a187d4418e0fdf0c8b0aaf00cde71df8f3ae14·...·]6-2">)</span><span·class="w">
246 </span><span·class="nf">nonempty_improper_list</span><span·class="p"·data-group-id="2108711736-5">(</span><span·class="n">Type1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type2</span><span·class="p"·data-group-id="2108711736-5">)</span><span·class="w">246 </span><span·class="nf">nonempty_improper_list</span><span·class="p"·data-group-id="8101475976-5">(</span><span·class="n">Type1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type2</span><span·class="p"·data-group-id="8101475976-5">)</span><span·class="w">
247 </span><span·class="nf">nonempty_maybe_improper_list</span><span·class="p"·data-group-id="2108711736-6">(</span><span·class="n">Type1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type2</span><span·class="p"·data-group-id="2108711736-6">)</span></code></pre><p>where·the·last·two·types·define·the·set·of·Erlang·terms·one·would·expect.</p><p>Also·for·convenience,·record·notation·is·allowed·to·be·used.·Records·are247 </span><span·class="nf">nonempty_maybe_improper_list</span><span·class="p"·data-group-id="8101475976-6">(</span><span·class="n">Type1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type2</span><span·class="p"·data-group-id="8101475976-6">)</span></code></pre><p>where·the·last·two·types·define·the·set·of·Erlang·terms·one·would·expect.</p><p>Also·for·convenience,·record·notation·is·allowed·to·be·used.·Records·are
248 shorthands·for·the·corresponding·tuples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Record</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p">#</span><span·class="n">Erlang_Atom</span><span·class="p"·data-group-id="9174015681-1">{</span><span·class="p"·data-group-id="9174015681-1">}</span><span·class="w">248 shorthands·for·the·corresponding·tuples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Record</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p">#</span><span·class="n">Erlang_Atom</span><span·class="p"·data-group-id="0295677097-1">{</span><span·class="p"·data-group-id="0295677097-1">}</span><span·class="w">
249 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p">#</span><span·class="n">Erlang_Atom</span><span·class="p"·data-group-id="9174015681-2">{</span><span·class="n">Fields</span><span·class="p"·data-group-id="9174015681-2">}</span></code></pre><p>Records·are·extended·to·possibly·contain·type·information.·This·is·described·in249 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p">#</span><span·class="n">Erlang_Atom</span><span·class="p"·data-group-id="0295677097-2">{</span><span·class="n">Fields</span><span·class="p"·data-group-id="0295677097-2">}</span></code></pre><p>Records·are·extended·to·possibly·contain·type·information.·This·is·described·in
250 <a·href="typespec.html#typeinrecords">Type·Information·in·Record·Declarations</a>.</p><h3·id="redefining-built-in-types"·class="section-heading">250 <a·href="typespec.html#typeinrecords">Type·Information·in·Record·Declarations</a>.</p><h3·id="redefining-built-in-types"·class="section-heading">
251 ··<a·href="#redefining-built-in-types"·class="hover-link">251 ··<a·href="#redefining-built-in-types"·class="hover-link">
252 ····<i·class="ri-link-m"·aria-hidden="true"></i>252 ····<i·class="ri-link-m"·aria-hidden="true"></i>
253 ··</a>253 ··</a>
254 ··<span·class="text">Redefining·built-in·types</span>254 ··<span·class="text">Redefining·built-in·types</span>
255 </h3>255 </h3>
256 <section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Starting·from·Erlang/OTP·26,·it·is·permitted·to·define·a·type·having·the·same256 <section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Starting·from·Erlang/OTP·26,·it·is·permitted·to·define·a·type·having·the·same
257 name·as·a·built-in·type.</p></section><p>It·is·recommended·to·avoid·deliberately·reusing·built-in·names·because·it·can·be257 name·as·a·built-in·type.</p></section><p>It·is·recommended·to·avoid·deliberately·reusing·built-in·names·because·it·can·be
258 confusing.·However,·when·an·Erlang/OTP·release·introduces·a·new·type,·code·that258 confusing.·However,·when·an·Erlang/OTP·release·introduces·a·new·type,·code·that
259 happened·to·define·its·own·type·having·the·same·name·will·continue·to·work.</p><p>As·an·example,·imagine·that·the·Erlang/OTP·42·release·introduces·a·new·type259 happened·to·define·its·own·type·having·the·same·name·will·continue·to·work.</p><p>As·an·example,·imagine·that·the·Erlang/OTP·42·release·introduces·a·new·type
260 <code·class="inline">gadget()</code>·defined·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">gadget</span><span·class="p"·data-group-id="7339473010-1">(</span><span·class="p"·data-group-id="7339473010-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7339473010-2">{</span><span·class="ss">&#39;gadget&#39[·...·truncated·by·diffoscope;·len:·236,·SHA:·c2e38186510633e4c4ea8127c11b34bda979f51a459bb7a4c77bfc641e211123·...·]-2">}</span><span·class="p">.</span></code></pre><p>Further·imagine·that·some·code·has·its·own·(different)·definition·of·<code·class="inline">gadget()</code>,260 <code·class="inline">gadget()</code>·defined·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">gadget</span><span·class="p"·data-group-id="6470978826-1">(</span><span·class="p"·data-group-id="6470978826-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="6470978826-2">{</span><span·class="ss">&#39;gadget&#39[·...·truncated·by·diffoscope;·len:·236,·SHA:·885ce248adf8f2359551b9d32280b9c2ee75aa711aad50cef7f1aaff02ffec3d·...·]-2">}</span><span·class="p">.</span></code></pre><p>Further·imagine·that·some·code·has·its·own·(different)·definition·of·<code·class="inline">gadget()</code>,
261 for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">gadget</span><span·class="p"·data-group-id="7320383287-1">(</span><span·class="p"·data-group-id="7320383287-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7320383287-2">#{</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·bac1296e9f6420bd1a4a4e34e7cae1e0243b6bf6af1662127303b146c1dca6fa·...·]-2">}</span><span·class="p">.</span></code></pre><p>Since·redefinitions·are·allowed,·the·code·will·still·compile·(but·with·a261 for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">gadget</span><span·class="p"·data-group-id="3809377780-1">(</span><span·class="p"·data-group-id="3809377780-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3809377780-2">#{</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·b3fa9b724b4b973adc5612d81d1c1700b9fc47bcb113723404e6a85dc255b6f7·...·]-2">}</span><span·class="p">.</span></code></pre><p>Since·redefinitions·are·allowed,·the·code·will·still·compile·(but·with·a
262 warning),·and·Dialyzer·will·not·emit·any·additional·warnings.</p><h2·id="type-declarations-of-user-defined-types"·class="section-heading">262 warning),·and·Dialyzer·will·not·emit·any·additional·warnings.</p><h2·id="type-declarations-of-user-defined-types"·class="section-heading">
263 ··<a·href="#type-declarations-of-user-defined-types"·class="hover-link">263 ··<a·href="#type-declarations-of-user-defined-types"·class="hover-link">
264 ····<i·class="ri-link-m"·aria-hidden="true"></i>264 ····<i·class="ri-link-m"·aria-hidden="true"></i>
265 ··</a>265 ··</a>
266 ··<span·class="text">Type·Declarations·of·User-Defined·Types</span>266 ··<span·class="text">Type·Declarations·of·User-Defined·Types</span>
267 </h2>267 </h2>
268 <p>As·seen,·the·basic·syntax·of·a·type·is·an·atom·followed·by·closed·parentheses.268 <p>As·seen,·the·basic·syntax·of·a·type·is·an·atom·followed·by·closed·parentheses.
269 New·types·are·declared·using·<code·class="inline">-type</code>,·<a·href="opaques.html"><code·class="inline">-opaque</code></a>,·and269 New·types·are·declared·using·<code·class="inline">-type</code>,·<a·href="opaques.html"><code·class="inline">-opaque</code></a>,·and
270 <a·href="nominals.html"><code·class="inline">-nominal</code></a>·attributes·as·in·the·following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">my_struct_type</span><span·class="p"·data-group-id="5259406558-1">(</span><span·class="p"·data-group-id="5259406558-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">.</span><span·class="w">270 <a·href="nominals.html"><code·class="inline">-nominal</code></a>·attributes·as·in·the·following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">my_struct_type</span><span·class="p"·data-group-id="7390294079-1">(</span><span·class="p"·data-group-id="7390294079-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">.</span><span·class="w">
271 </span><span·class="p">-</span><span·class="na">opaque</span><span·class="w">·</span><span·class="nf">my_opaq_type</span><span·class="p"·data-group-id="5259406558-2">(</span><span·class="p"·data-group-id="5259406558-2">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">.</span><span·class="w">271 </span><span·class="p">-</span><span·class="na">opaque</span><span·class="w">·</span><span·class="nf">my_opaq_type</span><span·class="p"·data-group-id="7390294079-2">(</span><span·class="p"·data-group-id="7390294079-2">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">.</span><span·class="w">
272 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">my_nominal_type</span><span·class="p"·data-group-id="5259406558-3">(</span><span·class="p"·data-group-id="5259406558-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">.</span></code></pre><p>The·type·name·is·the·atom·<code·class="inline">my_struct_type</code>,·followed·by·parentheses.·<code·class="inline">Type</code>·is·a272 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">my_nominal_type</span><span·class="p"·data-group-id="7390294079-3">(</span><span·class="p"·data-group-id="7390294079-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">.</span></code></pre><p>The·type·name·is·the·atom·<code·class="inline">my_struct_type</code>,·followed·by·parentheses.·<code·class="inline">Type</code>·is·a
273 type·as·defined·in·the·previous·section.·A·current·restriction·is·that·<code·class="inline">Type</code>273 type·as·defined·in·the·previous·section.·A·current·restriction·is·that·<code·class="inline">Type</code>
274 can·contain·only·predefined·types,·or·user-defined·types·which·are·either·of·the274 can·contain·only·predefined·types,·or·user-defined·types·which·are·either·of·the
275 following:</p><ul><li>Module-local·type,·that·is,·with·a·definition·that·is·present·in·the·code·of275 following:</p><ul><li>Module-local·type,·that·is,·with·a·definition·that·is·present·in·the·code·of
276 the·module</li><li>Remote·type,·that·is,·type·defined·in,·and·exported·by,·other·modules;·more276 the·module</li><li>Remote·type,·that·is,·type·defined·in,·and·exported·by,·other·modules;·more
277 about·this·soon.</li></ul><p>For·module-local·types,·the·restriction·that·their·definition·exists·in·the277 about·this·soon.</li></ul><p>For·module-local·types,·the·restriction·that·their·definition·exists·in·the
278 module·is·enforced·by·the·compiler·and·results·in·a·compilation·error.·(A278 module·is·enforced·by·the·compiler·and·results·in·a·compilation·error.·(A
279 similar·restriction·currently·exists·for·records.)</p><p>Type·declarations·can·also·be·parameterized·by·including·type·variables·between279 similar·restriction·currently·exists·for·records.)</p><p>Type·declarations·can·also·be·parameterized·by·including·type·variables·between
280 the·parentheses.·The·syntax·of·type·variables·is·the·same·as·Erlang·variables,280 the·parentheses.·The·syntax·of·type·variables·is·the·same·as·Erlang·variables,
281 that·is,·starts·with·an·upper-case·letter.·These·variables·is·to281 that·is,·starts·with·an·upper-case·letter.·These·variables·is·to
282 appear·on·the·RHS·of·the·definition.·A·concrete·example·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">orddict</span><span·class="p"·data-group-id="1056854952-1">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Val</span><span·class="p"·data-group-id="1056854952-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·cla[·...·truncated·by·diffoscope;·len:·315,·SHA:·8b621f2f42e7b55be089d5731bdc1d0f510090eee5b6d0cade5867b5c7e3564f·...·]-2">]</span><span·class="p">.</span></code></pre><p>A·module·can·export·some·types·to·declare·that·other·modules·are·allowed·to282 appear·on·the·RHS·of·the·definition.·A·concrete·example·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">orddict</span><span·class="p"·data-group-id="4839776095-1">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Val</span><span·class="p"·data-group-id="4839776095-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·cla[·...·truncated·by·diffoscope;·len:·315,·SHA:·bd3b8fcf10990519c1426df92a1c028c56d923064d6751b340fe368c39bd46d6·...·]-2">]</span><span·class="p">.</span></code></pre><p>A·module·can·export·some·types·to·declare·that·other·modules·are·allowed·to
283 refer·to·them·as·<em>remote·types</em>.·This·declaration·has·the·following·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">export_type</span><span·class="p"·data-group-id="1164076955-1">(</span><span·class="p"·data-group-id="1164076955-2">[</span><span·class="n">T1</span><span·class="o">/</span><span·class="n">A1</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class=[·...·truncated·by·diffoscope;·len:·964,·SHA:·586cd1c5461155bba017dc9e101544779ff7188a06272d17ee229e7838e26092·...·]-1">)</span><span·class="p">.</span></code></pre><p>Assuming·that·these·types·are·exported·from·module·<code·class="inline">'mod'</code>,·you·can·refer·to283 refer·to·them·as·<em>remote·types</em>.·This·declaration·has·the·following·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">export_type</span><span·class="p"·data-group-id="1312814653-1">(</span><span·class="p"·data-group-id="1312814653-2">[</span><span·class="n">T1</span><span·class="o">/</span><span·class="n">A1</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class=[·...·truncated·by·diffoscope;·len:·964,·SHA:·55db171ac9db7e579f82b76281a1de71b9f7c78d0b19be42d035f5faa58e93e4·...·]-1">)</span><span·class="p">.</span></code></pre><p>Assuming·that·these·types·are·exported·from·module·<code·class="inline">'mod'</code>,·you·can·refer·to
284 them·from·other·modules·using·remote·type·expressions·like·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mod</span><span·class="p">:</span><span·class="nf">my_struct_type</span><span·class="p"·data-group-id="2366857145-1">(</span><span·class="p"·data-group-id="2366857145-1">)</span><span·class="w">284 them·from·other·modules·using·remote·type·expressions·like·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mod</span><span·class="p">:</span><span·class="nf">my_struct_type</span><span·class="p"·data-group-id="4273332128-1">(</span><span·class="p"·data-group-id="4273332128-1">)</span><span·class="w">
285 </span><span·class="nc">mod</span><span·class="p">:</span><span·class="nf">orddict</span><span·class="p"·data-group-id="2366857145-2">(</span><span·class="nf">atom</span><span·class="p"·data-group-id="2366857145-3">(</span><span·class="p"·data-group-id="2366857145-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·123,·SHA:·b7e558ae00d5d154226c068d237674871bb07a7626e4df545979091be1503b4a·...·]-2">)</span></code></pre><p>It·is·not·allowed·to·refer·to·types·that·are·not·declared·as·exported.</p><p>Types·declared·as·<code·class="inline">opaque</code>·represent·sets·of·terms·whose·structure·is·not285 </span><span·class="nc">mod</span><span·class="p">:</span><span·class="nf">orddict</span><span·class="p"·data-group-id="4273332128-2">(</span><span·class="nf">atom</span><span·class="p"·data-group-id="4273332128-3">(</span><span·class="p"·data-group-id="4273332128-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·123,·SHA:·9a1afea6afc2cf7a679b3f67f88f4a74c11789019f878c43f155c3a5a2b22ff6·...·]-2">)</span></code></pre><p>It·is·not·allowed·to·refer·to·types·that·are·not·declared·as·exported.</p><p>Types·declared·as·<code·class="inline">opaque</code>·represent·sets·of·terms·whose·structure·is·not
286 supposed·to·be·visible·from·outside·of·their·defining·module.·That·is,·only·the286 supposed·to·be·visible·from·outside·of·their·defining·module.·That·is,·only·the
287 module·defining·them·is·allowed·to·depend·on·their·term·structure.·Consequently,287 module·defining·them·is·allowed·to·depend·on·their·term·structure.·Consequently,
288 such·types·do·not·make·much·sense·as·module·local·-·module·local·types·are·not288 such·types·do·not·make·much·sense·as·module·local·-·module·local·types·are·not
289 accessible·by·other·modules·anyway·-·and·is·always·to·be·exported.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Nominal·types·were·introduced·in·Erlang/OTP·28.</p></section><p>Types·declared·as·<code·class="inline">nominal</code>·are·type-checked·according·to·the·user-defined289 accessible·by·other·modules·anyway·-·and·is·always·to·be·exported.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Nominal·types·were·introduced·in·Erlang/OTP·28.</p></section><p>Types·declared·as·<code·class="inline">nominal</code>·are·type-checked·according·to·the·user-defined
290 names·instead·of·their·structure.·That·is,·<code·class="inline">-nominal·feet()·::·integer()</code>·and290 names·instead·of·their·structure.·That·is,·<code·class="inline">-nominal·feet()·::·integer()</code>·and
291 <code·class="inline">-nominal·meter()·::·integer()</code>·are·not·the·same·type,·while·if·<code·class="inline">-type</code>·is291 <code·class="inline">-nominal·meter()·::·integer()</code>·are·not·the·same·type,·while·if·<code·class="inline">-type</code>·is
292 used·it·would·be.</p><p>Read·more·on·<a·href="opaques.html">Opaques</a>·and·<a·href="nominals.html">Nominals</a></p><p><a·href=""·id="typeinrecords"></a></p><h2·id="type-information-in-record-declarations"·class="section-heading">292 used·it·would·be.</p><p>Read·more·on·<a·href="opaques.html">Opaques</a>·and·<a·href="nominals.html">Nominals</a></p><p><a·href=""·id="typeinrecords"></a></p><h2·id="type-information-in-record-declarations"·class="section-heading">
293 ··<a·href="#type-information-in-record-declarations"·class="hover-link">293 ··<a·href="#type-information-in-record-declarations"·class="hover-link">
294 ····<i·class="ri-link-m"·aria-hidden="true"></i>294 ····<i·class="ri-link-m"·aria-hidden="true"></i>
295 ··</a>295 ··</a>
296 ··<span·class="text">Type·Information·in·Record·Declarations</span>296 ··<span·class="text">Type·Information·in·Record·Declarations</span>
297 </h2>297 </h2>
298 <p>The·types·of·record·fields·can·be·specified·in·the·declaration·of·the·record.298 <p>The·types·of·record·fields·can·be·specified·in·the·declaration·of·the·record.
299 The·syntax·for·this·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6641775810-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6641775810-2">{</span><span·class="ss">field1</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><spa[·...·truncated·by·diffoscope;·len:·422,·SHA:·20b9798e21d86f9a75f000ad6c113a2595c0e485815af5e4f44f588c6a097690·...·]-1">)</span><span·class="p">.</span></code></pre><p>For·fields·without·type·annotations,·their·type·defaults·to·<code·class="inline">any()</code>.·That·is,·the299 The·syntax·for·this·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="1378643509-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1378643509-2">{</span><span·class="ss">field1</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><spa[·...·truncated·by·diffoscope;·len:·422,·SHA:·1829451ea3d7d44e92fba62798eb7e5a505ac8f02b17e1a5728c34dd9938cc10·...·]-1">)</span><span·class="p">.</span></code></pre><p>For·fields·without·type·annotations,·their·type·defaults·to·<code·class="inline">any()</code>.·That·is,·the
300 previous·example·is·a·shorthand·for·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0169015474-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0169015474-2">{</span><span·class="ss">field1</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">field2</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">any</span><span·class="p"·data-group-id="0169015474-3">(</span><span·class="p"·data-group-id="0169015474-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">field3</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type3</span><span·class="p"·data-group-id="0169015474-2">}</span><span·class="p"·data-group-id="0169015474-1">)</span><span·class="p">.</span></code></pre><p>In·the·presence·of·initial·values·for·fields,·the·type·must·be·declared·after 
301 the·initialization,·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0450145273-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·996,·SHA:·0405ee67f8a739ed052a3aada25af7089e105b39122c61dc53071b7e1cfa3f15·...·]300 previous·example·is·a·shorthand·for·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6348501347-1">(</span><span·class="ss">rec</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·967,·SHA:·521b4385bd30a1ac71126c999491d3c2b86f13c07d46e286538bc76c5da7130b·...·]
 301 the·initialization,·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="3721055328-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3721055328-2">{</span><span·class="ss">field1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3721055328-3">[</span><span·class="p"·data-group-id="3721055328-3">]</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">field2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">field3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">42</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Type3</span><span·class="p"·data-group-id="3721055328-2">}</span><span·class="p"·data-group-id="3721055328-1">)</span><span·class="p">.</span></code></pre><p>The·initial·values·for·fields·are·to·be·compatible·with·(that·is,·a·member·of)
302 the·corresponding·types.·This·is·checked·by·the·compiler·and·results·in·a302 the·corresponding·types.·This·is·checked·by·the·compiler·and·results·in·a
303 compilation·error·if·a·violation·is·detected.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Before·Erlang/OTP·19,·for·fields·without·initial·values,·the·singleton·type303 compilation·error·if·a·violation·is·detected.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Before·Erlang/OTP·19,·for·fields·without·initial·values,·the·singleton·type
304 <code·class="inline">'undefined'</code>·was·added·to·all·declared·types.·In·other·words,·the·following304 <code·class="inline">'undefined'</code>·was·added·to·all·declared·types.·In·other·words,·the·following
305 two·record·declarations·had·identical·effects:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7115334846-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7115334846-2">{</span><span·class="ss">f1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·239,·SHA:·0aee85b7454a834e93058294fc5a7cbc11f81736f72d47a2d9944b85eaa35396·...·]-3">)</span><span·class="p">,</span><span·class="w">305 two·record·declarations·had·identical·effects:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="5681861079-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5681861079-2">{</span><span·class="ss">f1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·239,·SHA:·54fe3fd5669a587150b2def1c1a359ec0fc64e3c8331dd50cf02c9ae65183b99·...·]-3">)</span><span·class="p">,</span><span·class="w">
306 ·············</span><span·class="ss">f2</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">float</span><span·class="p"·data-group-id="7115334846-4">(</span><span·class="p"·data-group-id="7115334846-4">)</span><span·class="p">,</span><span·class="w">306 ·············</span><span·class="ss">f2</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">float</span><span·class="p"·data-group-id="5681861079-4">(</span><span·class="p"·data-group-id="5681861079-4">)</span><span·class="p">,</span><span·class="w">
307 ·············</span><span·class="ss">f3</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;a&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;b&#39;</span><span·class="p"·data-group-id="7115334846-2">}</span><span·class="p"·data-group-id="7115334846-1">)</span><span·class="p">.</span><span·class="w">307 ·············</span><span·class="ss">f3</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;a&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;b&#39;</span><span·class="p"·data-group-id="5681861079-2">}</span><span·class="p"·data-group-id="5681861079-1">)</span><span·class="p">.</span><span·class="w">
308 </span><span·class="w">308 </span><span·class="w">
309 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7115334846-5">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7115334846-6">{</span><span·class="ss">f1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·239,·SHA:·621ec9b01e859f2696d13b54c8524e9b5e7f9d35b70b067e6ac144d35f01b35b·...·]-7">)</span><span·class="p">,</span><span·class="w">309 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="5681861079-5">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5681861079-6">{</span><span·class="ss">f1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·239,·SHA:·4de6aa7955d907eb46163f954ea1a27b3bc05bf0bcc648934939ca0710875763·...·]-7">)</span><span·class="p">,</span><span·class="w">
310 ··············</span><span·class="ss">f2</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;undefined&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">float</span><span·class="p"·data-group-id="7115334846-8">(</span><span·class="p"·data-group-id="7115334846-8">)</span><span·class="p">,</span><span·class="w">310 ··············</span><span·class="ss">f2</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;undefined&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">float</span><span·class="p"·data-group-id="5681861079-8">(</span><span·class="p"·data-group-id="5681861079-8">)</span><span·class="p">,</span><span·class="w">
311 ··············</span><span·class="ss">f3</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;undefined&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;a&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;b&#39;</span><span·class="p"·data-group-id="7115334846-6">}</span><span·class="p"·data-group-id="7115334846-5">)</span><span·class="p">.</span></code></pre><p>This·is·no·longer·the·case.·If·you·require·<code·class="inline">'undefined'</code>·in·your·record·field311 ··············</span><span·class="ss">f3</span><span·class="w">······</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;undefined&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;a&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;b&#39;</span><span·class="p"·data-group-id="5681861079-6">}</span><span·class="p"·data-group-id="5681861079-5">)</span><span·class="p">.</span></code></pre><p>This·is·no·longer·the·case.·If·you·require·<code·class="inline">'undefined'</code>·in·your·record·field
312 type,·you·must·explicitly·add·it·to·the·typespec,·as·in·the·2nd·example.</p></section><p>Any·record,·containing·type·information·or·not,·once·defined,·can·be·used·as·a312 type,·you·must·explicitly·add·it·to·the·typespec,·as·in·the·2nd·example.</p></section><p>Any·record,·containing·type·information·or·not,·once·defined,·can·be·used·as·a
313 type·using·the·following·syntax:</p><pre><code·class="text">#rec{}</code></pre><p>In·addition,·the·record·fields·can·be·further·specified·when·using·a·record·type313 type·using·the·following·syntax:</p><pre><code·class="text">#rec{}</code></pre><p>In·addition,·the·record·fields·can·be·further·specified·when·using·a·record·type
314 by·adding·type·information·about·the·field·as·follows:</p><pre><code·class="text">#rec{some_field·::·Type}</code></pre><p>Any·unspecified·fields·are·assumed·to·have·the·type·in·the·original·record314 by·adding·type·information·about·the·field·as·follows:</p><pre><code·class="text">#rec{some_field·::·Type}</code></pre><p>Any·unspecified·fields·are·assumed·to·have·the·type·in·the·original·record
315 declaration.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>When·records·are·used·to·create·patterns·for·ETS·and·Mnesia·match·functions,315 declaration.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>When·records·are·used·to·create·patterns·for·ETS·and·Mnesia·match·functions,
316 Dialyzer·may·need·some·help·not·to·emit·bad·warnings.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">height</span><span·class="p"·data-group-id="7865756235-1">(</span><span·class="p"·data-group-id="7865756235-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">pos_integer</span><span·class="p"·data-group-id="7865756235-2">(</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·d65948965ec30045f3ac5ccf2972b62b0c710682a3d5495192ccdcf289be9f4e·...·]-2">)</span><span·class="p">.</span><span·class="w">316 Dialyzer·may·need·some·help·not·to·emit·bad·warnings.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">height</span><span·class="p"·data-group-id="4245412227-1">(</span><span·class="p"·data-group-id="4245412227-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">pos_integer</span><span·class="p"·data-group-id="4245412227-2">(</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·611001cacd71388953b2bcc7f66662833ee2195b32d5bbc6062754d2dee229b6·...·]-2">)</span><span·class="p">.</span><span·class="w">
317 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="7865756235-3">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7865756235-4">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><sp[·...·truncated·by·diffoscope;·len:·561,·SHA:·e6d202bcc16cc37da7e51ae8931bc4d6ae99341df0539d2245a2d7870cc45996·...·]-3">)</span><span·class="p">.</span><span·class="w">317 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="4245412227-3">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4245412227-4">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><sp[·...·truncated·by·diffoscope;·len:·561,·SHA:·8ac9a7a68789df7fd786e6766b58ee7fc2d556822b8b31f55a4ecc22d6c60d53·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
318 </span><span·class="nf">lookup</span><span·class="p"·data-group-id="7865756235-7">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p"·data-group-id="7865756235-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">318 </span><span·class="nf">lookup</span><span·class="p"·data-group-id="4245412227-7">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p"·data-group-id="4245412227-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
319 ····</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match_object</span><span·class="p"·data-group-id="7865756235-8">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="7865756235-9">{</span><span·class="ss">name</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·347,·SHA:·7a8aa5fcbe751c2ae36d4f98a5d2896a55a4bc71817eb53075a5c7e5cf0195fc·...·]-8">)</span><span·class="p">.</span></code></pre><p>Dialyzer·will·emit·a·warning·since·<code·class="inline">'_'</code>·is·not·in·the·type·of·record·field319 ····</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match_object</span><span·class="p"·data-group-id="4245412227-8">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="4245412227-9">{</span><span·class="ss">name</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·347,·SHA:·912d366b1279b14cb9699d7f6719ac2d0a79a34111514179f762d89bc7c85087·...·]-8">)</span><span·class="p">.</span></code></pre><p>Dialyzer·will·emit·a·warning·since·<code·class="inline">'_'</code>·is·not·in·the·type·of·record·field
320 <code·class="inline">height</code>.</p><p>The·recommended·way·of·dealing·with·this·is·to·declare·the·smallest·record320 <code·class="inline">height</code>.</p><p>The·recommended·way·of·dealing·with·this·is·to·declare·the·smallest·record
321 field·types·to·accommodate·all·your·needs,·and·then·create·refinements·as321 field·types·to·accommodate·all·your·needs,·and·then·create·refinements·as
322 needed.·The·modified·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="1422631793-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1422631793-2">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><sp[·...·truncated·by·diffoscope;·len:·668,·SHA:·00acd34c089eaebf6cd673a8951f409604c9bae86b302fd64771921df1bd6780·...·]-1">)</span><span·class="p">.</span><span·class="w">322 needed.·The·modified·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="9174783830-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9174783830-2">{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><sp[·...·truncated·by·diffoscope;·len:·668,·SHA:·780c5c2a2ef1e2bd7617510820f82af5a49068860eebbbb846e202ee448970e3·...·]-1">)</span><span·class="p">.</span><span·class="w">
323 </span><span·class="w">323 </span><span·class="w">
324 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">person</span><span·class="p"·data-group-id="1422631793-5">(</span><span·class="p"·data-group-id="1422631793-5">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·325,·SHA:·37882caf238edb0c0c6669ebc3620ec5a3fba675627df4c9c23745a1d6fcc5cc·...·]-6">}</span><span·class="p">.</span></code></pre><p>In·specifications·and·type·declarations·the·type·<code·class="inline">person()</code>·is·to·be·preferred324 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">person</span><span·class="p"·data-group-id="9174783830-5">(</span><span·class="p"·data-group-id="9174783830-5">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·325,·SHA:·003956c1cd0b9bd65365ae906b53f08ff5809ab530acc4b6abfb49697e6e2482·...·]-6">}</span><span·class="p">.</span></code></pre><p>In·specifications·and·type·declarations·the·type·<code·class="inline">person()</code>·is·to·be·preferred
325 before·<code·class="inline">#person{}</code>.</p></section><h2·id="specifications-for-functions"·class="section-heading">325 before·<code·class="inline">#person{}</code>.</p></section><h2·id="specifications-for-functions"·class="section-heading">
326 ··<a·href="#specifications-for-functions"·class="hover-link">326 ··<a·href="#specifications-for-functions"·class="hover-link">
327 ····<i·class="ri-link-m"·aria-hidden="true"></i>327 ····<i·class="ri-link-m"·aria-hidden="true"></i>
328 ··</a>328 ··</a>
329 ··<span·class="text">Specifications·for·Functions</span>329 ··<span·class="text">Specifications·for·Functions</span>
330 </h2>330 </h2>
331 <p>A·specification·(or·contract)·for·a·function·is·given·using·the·<code·class="inline">-spec</code>331 <p>A·specification·(or·contract)·for·a·function·is·given·using·the·<code·class="inline">-spec</code>
332 attribute.·The·general·format·is·as·follows:</p><pre><code·class="text">-spec·Function(ArgType1,·...,·ArgTypeN)·-&gt;·ReturnType.</code></pre><p>An·implementation·of·the·function·with·the·same·name·<code·class="inline">Function</code>·must·exist·in332 attribute.·The·general·format·is·as·follows:</p><pre><code·class="text">-spec·Function(ArgType1,·...,·ArgTypeN)·-&gt;·ReturnType.</code></pre><p>An·implementation·of·the·function·with·the·same·name·<code·class="inline">Function</code>·must·exist·in
333 the·current·module,·and·the·arity·of·the·function·must·match·the·number·of333 the·current·module,·and·the·arity·of·the·function·must·match·the·number·of
334 arguments,·otherwise·the·compilation·fails.</p><p>The·following·longer·format·with·module·name·is·also·valid·as·long·as·<code·class="inline">Module</code>334 arguments,·otherwise·the·compilation·fails.</p><p>The·following·longer·format·with·module·name·is·also·valid·as·long·as·<code·class="inline">Module</code>
335 is·the·name·of·the·current·module.·This·can·be·useful·for·documentation335 is·the·name·of·the·current·module.·This·can·be·useful·for·documentation
336 purposes.</p><pre><code·class="text">-spec·Module:Function(ArgType1,·...,·ArgTypeN)·-&gt;·ReturnType.</code></pre><p>Also,·for·documentation·purposes,·argument·names·can·be·given:</p><pre><code·class="text">-spec·Function(ArgName1·::·Type1,·...,·ArgNameN·::·TypeN)·-&gt;·RT.</code></pre><p>A·function·specification·can·be·overloaded.·That·is,·it·can·have·several·types,336 purposes.</p><pre><code·class="text">-spec·Module:Function(ArgType1,·...,·ArgTypeN)·-&gt;·ReturnType.</code></pre><p>Also,·for·documentation·purposes,·argument·names·can·be·given:</p><pre><code·class="text">-spec·Function(ArgName1·::·Type1,·...,·ArgNameN·::·TypeN)·-&gt;·RT.</code></pre><p>A·function·specification·can·be·overloaded.·That·is,·it·can·have·several·types,
337 separated·by·a·semicolon·(<code·class="inline">;</code>).·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="6747215260-1">(</span><span·class="n">T1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">T2</span><span·class="p"·data-group-id="6747215260-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">T3</span><span·class="p">;</span><span·class="w">337 separated·by·a·semicolon·(<code·class="inline">;</code>).·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="0258363559-1">(</span><span·class="n">T1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">T2</span><span·class="p"·data-group-id="0258363559-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">T3</span><span·class="p">;</span><span·class="w">
338 ·········</span><span·class="p"·data-group-id="6747215260-2">(</span><span·class="n">T4</span><span·class="p">,</span><span·class="w">·</span><span·class="n">T5</span><span·class="p"·data-group-id="6747215260-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">T6</span><span·class="p">.</span></code></pre><p>A·current·restriction,·which·currently·results·in·a·warning·by·Dialyzer,·is·that338 ·········</span><span·class="p"·data-group-id="0258363559-2">(</span><span·class="n">T4</span><span·class="p">,</span><span·class="w">·</span><span·class="n">T5</span><span·class="p"·data-group-id="0258363559-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">T6</span><span·class="p">.</span></code></pre><p>A·current·restriction,·which·currently·results·in·a·warning·by·Dialyzer,·is·that
339 the·domains·of·the·argument·types·cannot·overlap.·For·example,·the·following339 the·domains·of·the·argument·types·cannot·overlap.·For·example,·the·following
340 specification·results·in·a·warning:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="3823465382-1">(</span><span·class="nf">pos_integer</span><span·class="p"·data-group-id="3823465382-2">(</span><span·class="p"·data-group-id="3823465382-2">)</span><span·class="p"·data-group-id="3823465382-1">)</span><span·class="w">·</span><span·class="p">[·...·truncated·by·diffoscope;·len:·164,·SHA:·d7ce55b25b5d33f33071e8f89a0a7e6470ecf397afbef513d032036c9d1b4c4d·...·]2-3">)</span><span·class="p">;</span><span·class="w">340 specification·results·in·a·warning:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="7584338532-1">(</span><span·class="nf">pos_integer</span><span·class="p"·data-group-id="7584338532-2">(</span><span·class="p"·data-group-id="7584338532-2">)</span><span·class="p"·data-group-id="7584338532-1">)</span><span·class="w">·</span><span·class="p">[·...·truncated·by·diffoscope;·len:·164,·SHA:·5e2eaf43e30b719044ee47738f619232116b4b18b7422e7ddee0dfcdb6d3b4de·...·]2-3">)</span><span·class="p">;</span><span·class="w">
341 ·········</span><span·class="p"·data-group-id="3823465382-4">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="3823465382-5">(</span><span·class="p"·data-group-id="3823465382-5">)</span><span·class="p"·data-group-id="3823465382-4">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·a4acc1ca95a9e677a72567342182c045a6508ec974aa5fbd6cff3203c19a9840·...·]2-6">)</span><span·class="p">.</span></code></pre><p>Type·variables·can·be·used·in·specifications·to·specify·relations·for·the·input341 ·········</span><span·class="p"·data-group-id="7584338532-4">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="7584338532-5">(</span><span·class="p"·data-group-id="7584338532-5">)</span><span·class="p"·data-group-id="7584338532-4">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·4956c3415e36496f99653224444cf5e0b10077e66d639fc97bab356bb03c7197·...·]2-6">)</span><span·class="p">.</span></code></pre><p>Type·variables·can·be·used·in·specifications·to·specify·relations·for·the·input
342 and·output·arguments·of·a·function.·For·example,·the·following·specification342 and·output·arguments·of·a·function.·For·example,·the·following·specification
343 defines·the·type·of·a·polymorphic·identity·function:</p><pre><code·class="text">-spec·id(X)·-&gt;·X.</code></pre><p>Notice·that·the·above·specification·does·not·restrict·the·input·and·output·type343 defines·the·type·of·a·polymorphic·identity·function:</p><pre><code·class="text">-spec·id(X)·-&gt;·X.</code></pre><p>Notice·that·the·above·specification·does·not·restrict·the·input·and·output·type
344 in·any·way.·These·types·can·be·constrained·by·guard-like·subtype·constraints·and344 in·any·way.·These·types·can·be·constrained·by·guard-like·subtype·constraints·and
345 provide·bounded·quantification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">id</span><span·class="p"·data-group-id="5848397538-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="5848397538-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="k">when</span><span·[·...·truncated·by·diffoscope;·len:·261,·SHA:·cd3d7ab66a366add28c1df4fba51e9aba917a3b3fccca3f07ad238c6b114c1d1·...·]-2">)</span><span·class="p">.</span></code></pre><p>Currently,·the·<code·class="inline">::</code>·constraint·(read·as·&quot;is·a·subtype·of&quot;)·is·the·only·guard345 provide·bounded·quantification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">id</span><span·class="p"·data-group-id="8624316203-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="8624316203-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="k">when</span><span·[·...·truncated·by·diffoscope;·len:·261,·SHA:·e6ce67a6aedc9eb3efc0bfe6cd49eb3b20d2a8888053bbcfcc20a5f5adc9c656·...·]-2">)</span><span·class="p">.</span></code></pre><p>Currently,·the·<code·class="inline">::</code>·constraint·(read·as·&quot;is·a·subtype·of&quot;)·is·the·only·guard
346 constraint·that·can·be·used·in·the·<code·class="inline">when</code>·part·of·a·<code·class="inline">-spec</code>·attribute.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·above·function·specification·uses·multiple·occurrences·of·the·same·type346 constraint·that·can·be·used·in·the·<code·class="inline">when</code>·part·of·a·<code·class="inline">-spec</code>·attribute.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·above·function·specification·uses·multiple·occurrences·of·the·same·type
347 variable.·That·provides·more·type·information·than·the·following·function347 variable.·That·provides·more·type·information·than·the·following·function
348 specification,·where·the·type·variables·are·missing:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">id</span><span·class="p"·data-group-id="1305604164-1">(</span><span·class="nf">tuple</span><span·class="p"·data-group-id="1305604164-2">(</span><span·class="p"·data-group-id="1305604164-2">)</span><span·class="p"·data-group-id="1305604164-1">)</span><span·class="w">·</span><span·class="p">-&gt;<[·...·truncated·by·diffoscope;·len:·153,·SHA:·eab4568000170e2f0341a06186b8d0b47edfb80e783e7242bab0fb6346199f20·...·]-3">)</span><span·class="p">.</span></code></pre><p>The·latter·specification·says·that·the·function·takes·some·tuple·and·returns348 specification,·where·the·type·variables·are·missing:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">id</span><span·class="p"·data-group-id="6397338008-1">(</span><span·class="nf">tuple</span><span·class="p"·data-group-id="6397338008-2">(</span><span·class="p"·data-group-id="6397338008-2">)</span><span·class="p"·data-group-id="6397338008-1">)</span><span·class="w">·</span><span·class="p">-&gt;<[·...·truncated·by·diffoscope;·len:·153,·SHA:·66680d71200b132a8fd1bc9b3eb756ddf079b6394e1689795e5b21691dd60392·...·]-3">)</span><span·class="p">.</span></code></pre><p>The·latter·specification·says·that·the·function·takes·some·tuple·and·returns
349 some·tuple.·The·specification·with·the·<code·class="inline">X</code>·type·variable·specifies·that·the349 some·tuple.·The·specification·with·the·<code·class="inline">X</code>·type·variable·specifies·that·the
350 function·takes·a·tuple·and·returns·<em>the·same</em>·tuple.</p><p>However,·it·is·up·to·the·tools·that·process·the·specifications·to·choose350 function·takes·a·tuple·and·returns·<em>the·same</em>·tuple.</p><p>However,·it·is·up·to·the·tools·that·process·the·specifications·to·choose
351 whether·to·take·this·extra·information·into·account·or·not.</p></section><p>The·scope·of·a·<code·class="inline">::</code>·constraint·is·the·<code·class="inline">(...)·-&gt;·RetType</code>·specification·after351 whether·to·take·this·extra·information·into·account·or·not.</p></section><p>The·scope·of·a·<code·class="inline">::</code>·constraint·is·the·<code·class="inline">(...)·-&gt;·RetType</code>·specification·after
352 which·it·appears.·To·avoid·confusion,·it·is·suggested·that·different·variables352 which·it·appears.·To·avoid·confusion,·it·is·suggested·that·different·variables
353 are·used·in·different·constituents·of·an·overloaded·contract,·as·shown·in·the353 are·used·in·different·constituents·of·an·overloaded·contract,·as·shown·in·the
354 following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="6648430814-1">(</span><span·class="p"·data-group-id="6648430814-2">{</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6648430814-3">(</span><span·class="p"·data-group-id="6648430814-3">)</span><span·class="p"·data-group-id="6648430814-2">}</span><span·class="p"·data-group-id="6648430814-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="6648430814-4">(</span><span·class="p"·data-group-id="6648430814-4">)</span><span·class="p">;</span><span·class="w"> 
355 ·········</span><span·class="p"·data-group-id="6648430814-5">(</span><span·class="p"·data-group-id="6648430814-6">[</span><span·class="n">Y</span><span·class="p"·data-group-id="6648430814-6">]</span><span·class="p"·data-group-id="6648430814-5">)</span><spa[·...·truncated·by·diffoscope;·len:·543,·SHA:·e7759bb256eea41f875694e08486cad45c4eed398fd26e9510a090529fb90f7a·...·]354 following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="5185278941-1">(</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·807,·SHA:·836e9d8dcdff0ae346620b975f34ae7d1a3dd23afd28df76edbf4bf7db833240·...·]
 355 ·········</span><span·class="p"·data-group-id="5185278941-5">(</span><span·class="p"·data-group-id="5185278941-6">[</span><span·class="n">Y</span><span·class="p"·data-group-id="5185278941-6">]</span><span·class="p"·data-group-id="5185278941-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Y</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Y</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">number</span><span·class="p"·data-group-id="5185278941-7">(</span><span·class="p"·data-group-id="5185278941-7">)</span><span·class="p">.</span></code></pre><p>Some·functions·in·Erlang·are·not·meant·to·return;·either·because·they·define
356 servers·or·because·they·are·used·to·throw·exceptions,·as·in·the·following356 servers·or·because·they·are·used·to·throw·exceptions,·as·in·the·following
357 function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_error</span><span·class="p"·data-group-id="9898692600-1">(</span><span·class="n">Err</span><span·class="p"·data-group-id="9898692600-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">throw</span><span·class="p"·data-group-id="9898692600-2">(</sp[·...·truncated·by·diffoscope;·len:·253,·SHA:·83b7896136e7582f43232b884245553fbd1485b1f6bcd89d3ae8dbb00b9ca982·...·]-2">)</span><span·class="p">.</span></code></pre><p>For·such·functions,·it·is·recommended·to·use·the·special·<a·href="../../erts-16.0/doc/html/erlang.html#t:no_return/0"><code·class="inline">no_return/0</code></a>·type357 function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_error</span><span·class="p"·data-group-id="7267376535-1">(</span><span·class="n">Err</span><span·class="p"·data-group-id="7267376535-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">throw</span><span·class="p"·data-group-id="7267376535-2">(</sp[·...·truncated·by·diffoscope;·len:·253,·SHA:·03ca8ce3b1f69b9123bb8ee929f0580a8144318e6a652e1080a03ecf99f446b0·...·]-2">)</span><span·class="p">.</span></code></pre><p>For·such·functions,·it·is·recommended·to·use·the·special·<a·href="../../erts-16.0/doc/html/erlang.html#t:no_return/0"><code·class="inline">no_return/0</code></a>·type
358 for·their·&quot;return&quot;,·through·a·contract·of·the·following·form:</p><pre><code·class="text">-spec·my_error(term())·-&gt;·no_return().</code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Erlang·uses·the·shorthand·version·<code·class="inline">_</code>·as·an·anonymous·type·variable·equivalent358 for·their·&quot;return&quot;,·through·a·contract·of·the·following·form:</p><pre><code·class="text">-spec·my_error(term())·-&gt;·no_return().</code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Erlang·uses·the·shorthand·version·<code·class="inline">_</code>·as·an·anonymous·type·variable·equivalent
359 to·<a·href="../../erts-16.0/doc/html/erlang.html#t:term/0"><code·class="inline">term/0</code></a>·or·<a·href="../../erts-16.0/doc/html/erlang.html#t:any/0"><code·class="inline">any/0</code></a>.·For·example,·the·following·function</p><pre><code·class="text">-spec·Function(string(),·_)·-&gt;·string().</code></pre><p>is·equivalent·to:</p><pre><code·class="text">-spec·Function(string(),·any())·-&gt;·string().</code></pre></section>359 to·<a·href="../../erts-16.0/doc/html/erlang.html#t:term/0"><code·class="inline">term/0</code></a>·or·<a·href="../../erts-16.0/doc/html/erlang.html#t:any/0"><code·class="inline">any/0</code></a>.·For·example,·the·following·function</p><pre><code·class="text">-spec·Function(string(),·_)·-&gt;·string().</code></pre><p>is·equivalent·to:</p><pre><code·class="text">-spec·Function(string(),·any())·-&gt;·string().</code></pre></section>
360 </div>360 </div>
  
Max diff block lines reached; 738/72347 bytes (1.02%) of diff not shown.
610 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/doc/system/upgrade.html
    
Offset 215, 15 lines modifiedOffset 215, 15 lines modified
215 ······<p·class="built-using">215 ······<p·class="built-using">
216 ········Built·using216 ········Built·using
217 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the217 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
218 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>218 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
219 ······</p>219 ······</p>
220 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>220 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
221 ····</footer>221 ····</footer>
222 ··</div>222 ··</div>
223 </main>223 </main>
224 </div>224 </div>
225 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>225 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
226 ··<script>226 ··<script>
227 ··let·initialized·=·false;227 ··let·initialized·=·false;
753 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/doc/system/versions.html
    
Offset 329, 15 lines modifiedOffset 329, 15 lines modified
329 ······<p·class="built-using">329 ······<p·class="built-using">
330 ········Built·using330 ········Built·using
331 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the331 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
332 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>332 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
333 ······</p>333 ······</p>
334 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>334 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
335 ····</footer>335 ····</footer>
336 ··</div>336 ··</div>
337 </main>337 </main>
338 </div>338 </div>
339 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>339 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
340 ··<script>340 ··<script>
341 ··let·initialized·=·false;341 ··let·initialized·=·false;
762 B
html2text {}
Max HTML report size reached
16.8 KB
./usr/share/doc/erlang-doc/html/doc/upcoming_incompatibilities.html
    
Offset 149, 45 lines modifiedOffset 149, 45 lines modified
149 occurrences·of·<code·class="inline">maybe</code>·without·quotes.</p><p><a·href=""·id="float_matching"></a></p><h3·id="0-0-and-0-0-will-no-longer-be-exactly-equal"·class="section-heading">149 occurrences·of·<code·class="inline">maybe</code>·without·quotes.</p><p><a·href=""·id="float_matching"></a></p><h3·id="0-0-and-0-0-will-no-longer-be-exactly-equal"·class="section-heading">
150 ··<a·href="#0-0-and-0-0-will-no-longer-be-exactly-equal"·class="hover-link">150 ··<a·href="#0-0-and-0-0-will-no-longer-be-exactly-equal"·class="hover-link">
151 ····<i·class="ri-link-m"·aria-hidden="true"></i>151 ····<i·class="ri-link-m"·aria-hidden="true"></i>
152 ··</a>152 ··</a>
153 ··<span·class="text">0.0·and·-0.0·will·no·longer·be·exactly·equal</span>153 ··<span·class="text">0.0·and·-0.0·will·no·longer·be·exactly·equal</span>
154 </h3>154 </h3>
155 <p>Currently,·the·floating·point·numbers·<code·class="inline">0.0</code>·and·<code·class="inline">-0.0</code>·have·distinct·internal155 <p>Currently,·the·floating·point·numbers·<code·class="inline">0.0</code>·and·<code·class="inline">-0.0</code>·have·distinct·internal
156 representations.·That·can·be·seen·if·they·are·converted·to·binaries:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="2494776151-1">&lt;&lt;</span><span·class="mf">0.0</span><span·class="o">/</span><span·class="nb">float</span><span·class="p"·data-group-id="2494776151-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">156 representations.·That·can·be·seen·if·they·are·converted·to·binaries:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="6411024209-1">&lt;&lt;</span><span·class="mf">0.0</span><span·class="o">/</span><span·class="nb">float</span><span·class="p"·data-group-id="6411024209-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="2494776151-2">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·182,·SHA:·80af2480d58b4367e985d64b2dc0d1d4939b0391b3ded9f580a8f9db3e088c83·...·]-2">&gt;&gt;</span><span·class="gp·unselectable">157 </span><span·class="p"·data-group-id="6411024209-2">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·182,·SHA:·504b56f9e1581eaf745953f091e821e910996c65a7215e876e3d72a856d5d96a·...·]-2">&gt;&gt;</span><span·class="gp·unselectable">
158 2&gt;·</span><span·class="p"·data-group-id="2494776151-3">&lt;&lt;</span><span·class="o">-</span><span·class="mf">0.0</span><span·class="o">/</span><span·class="nb">float</span><span·class="p"·data-group-id="2494776151-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">158 2&gt;·</span><span·class="p"·data-group-id="6411024209-3">&lt;&lt;</span><span·class="o">-</span><span·class="mf">0.0</span><span·class="o">/</span><span·class="nb">float</span><span·class="p"·data-group-id="6411024209-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">
159 </span><span·class="p"·data-group-id="2494776151-4">&lt;&lt;</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><spa[·...·truncated·by·diffoscope;·len:·184,·SHA:·e5944ae62150ad79c0237f98bb8727a5a55951a59cc3fdf70f8761c100c74aae·...·]-4">&gt;&gt;</span></code></pre><p>However,·when·they·are·matched·against·each·other·or·compared·using·the·<code·class="inline">=:=</code>159 </span><span·class="p"·data-group-id="6411024209-4">&lt;&lt;</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><spa[·...·truncated·by·diffoscope;·len:·184,·SHA:·e78135fb18da9d88e4e8618eab24bdee2641a4b8afc94da6de47ecdd4162a7d7·...·]-4">&gt;&gt;</span></code></pre><p>However,·when·they·are·matched·against·each·other·or·compared·using·the·<code·class="inline">=:=</code>
160 operator,·they·are·considered·to·be·equal.·Thus,·<code·class="inline">0.0·=:=·-0.0</code>·currently160 operator,·they·are·considered·to·be·equal.·Thus,·<code·class="inline">0.0·=:=·-0.0</code>·currently
161 returns·<code·class="inline">true</code>.</p><p>In·Erlang/OTP·27,·<code·class="inline">0.0·=:=·-0.0</code>·will·return·<code·class="inline">false</code>,·and·matching·<code·class="inline">0.0</code>·against161 returns·<code·class="inline">true</code>.</p><p>In·Erlang/OTP·27,·<code·class="inline">0.0·=:=·-0.0</code>·will·return·<code·class="inline">false</code>,·and·matching·<code·class="inline">0.0</code>·against
162 <code·class="inline">-0.0</code>·will·fail.·When·used·as·map·keys,·<code·class="inline">0.0</code>·and·<code·class="inline">-0.0</code>·will·be·considered·to162 <code·class="inline">-0.0</code>·will·fail.·When·used·as·map·keys,·<code·class="inline">0.0</code>·and·<code·class="inline">-0.0</code>·will·be·considered·to
163 be·distinct.</p><p>The·<code·class="inline">==</code>·operator·will·continue·to·return·<code·class="inline">true</code>·for·<code·class="inline">0.0·==·-0.0</code>.</p><p>To·help·to·find·code·that·might·need·to·be·revised,·in·OTP·27·there·will·be·a163 be·distinct.</p><p>The·<code·class="inline">==</code>·operator·will·continue·to·return·<code·class="inline">true</code>·for·<code·class="inline">0.0·==·-0.0</code>.</p><p>To·help·to·find·code·that·might·need·to·be·revised,·in·OTP·27·there·will·be·a
164 new·compiler·warning·when·matching·against·<code·class="inline">0.0</code>·or·comparing·to·that·value164 new·compiler·warning·when·matching·against·<code·class="inline">0.0</code>·or·comparing·to·that·value
165 using·the·<code·class="inline">=:=</code>·operator.·The·warning·can·be·suppressed·by·matching·against165 using·the·<code·class="inline">=:=</code>·operator.·The·warning·can·be·suppressed·by·matching·against
166 <code·class="inline">+0.0</code>·instead·of·<code·class="inline">0.0</code>.</p><p>We·plan·to·introduce·the·same·warning·in·OTP·26.1,·but·by·default·it·will·be166 <code·class="inline">+0.0</code>·instead·of·<code·class="inline">0.0</code>.</p><p>We·plan·to·introduce·the·same·warning·in·OTP·26.1,·but·by·default·it·will·be
167 disabled.</p><p><a·href=""·id="singleton_typevars"></a></p><h3·id="singleton-type-variables-will-become-a-compile-time-error"·class="section-heading">167 disabled.</p><p><a·href=""·id="singleton_typevars"></a></p><h3·id="singleton-type-variables-will-become-a-compile-time-error"·class="section-heading">
168 ··<a·href="#singleton-type-variables-will-become-a-compile-time-error"·class="hover-link">168 ··<a·href="#singleton-type-variables-will-become-a-compile-time-error"·class="hover-link">
169 ····<i·class="ri-link-m"·aria-hidden="true"></i>169 ····<i·class="ri-link-m"·aria-hidden="true"></i>
170 ··</a>170 ··</a>
171 ··<span·class="text">Singleton·type·variables·will·become·a·compile-time·error</span>171 ··<span·class="text">Singleton·type·variables·will·become·a·compile-time·error</span>
172 </h3>172 </h3>
173 <p>Before·Erlang/OTP·26,·the·compiler·would·silenty·accept·the·following·spec:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">f</span><span·class="p"·data-group-id="5857120569-1">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="5857120569-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="5857120569-2">(</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·5827c073a23e57dceddfc5698d573563f5d705dd10ae56c4a1cdebc8963c4892·...·]-2">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">173 <p>Before·Erlang/OTP·26,·the·compiler·would·silenty·accept·the·following·spec:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">f</span><span·class="p"·data-group-id="8009614047-1">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="8009614047-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="8009614047-2">(</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·6676296080438df407cb10865f14994bfe330bba627164202466e9d0f4d43dd7·...·]-2">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">
174 ····</span><span·class="n">Opts</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="5857120569-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Unknown</span><span·class="p"·data-group-id="5857120569-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·196,·SHA:·94ed4e108fcaf319b2795b7b80179d50e8bbdba1f7ac6a8e5e03ef114907935d·...·]-4">}</span><span·class="p">.</span><span·class="w">174 ····</span><span·class="n">Opts</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="8009614047-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Unknown</span><span·class="p"·data-group-id="8009614047-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·196,·SHA:·18bd1d57568b6fa33804aef48d3191084eb6c54d59814a49119bced143776fd0·...·]-4">}</span><span·class="p">.</span><span·class="w">
175 </span><span·class="nf">f</span><span·class="p"·data-group-id="5857120569-5">(</span><span·class="p">_</span><span·class="p"·data-group-id="5857120569-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">error</span><span·class="p">.</span></code></pre><p>In·OTP·26,·the·compiler·emits·a·warning·pointing·out·that·the·type·variable175 </span><span·class="nf">f</span><span·class="p"·data-group-id="8009614047-5">(</span><span·class="p">_</span><span·class="p"·data-group-id="8009614047-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">error</span><span·class="p">.</span></code></pre><p>In·OTP·26,·the·compiler·emits·a·warning·pointing·out·that·the·type·variable
176 <code·class="inline">Unknown</code>·is·unbound:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">t</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">6</span><span·class="p">:</span><span·class="mi">18</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">type</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;Unknown&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">only</span><span·class="w">·</span><span·class="ss">used</span><span·class="w">·</span><span·class="nf">once</span><span·class="w">·</span><span·class="p"·data-group-id="2880566104-1">(</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p"·data-group-id="2880566104-1">)</span><span·class="w">176 <code·class="inline">Unknown</code>·is·unbound:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">t</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">6</span><span·class="p">:</span><span·class="mi">18</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">type</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;Unknown&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">only</span><span·class="w">·</span><span·class="ss">used</span><span·class="w">·</span><span·class="nf">once</span><span·class="w">·</span><span·class="p"·data-group-id="4625377907-1">(</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p"·data-group-id="4625377907-1">)</span><span·class="w">
177 </span><span·class="c1">%····6|·····Opts·::·{ok,·Unknown}·|·{error,·Unknown}.</span><span·class="w">177 </span><span·class="c1">%····6|·····Opts·::·{ok,·Unknown}·|·{error,·Unknown}.</span><span·class="w">
178 </span><span·class="c1">%·····|··················^</span></code></pre><p>In·OTP·27,·that·warning·will·become·an·error.</p><p><a·href=""·id="escripts_will_be_compiled"></a></p><h3·id="escripts-will-be-compiled-by-default"·class="section-heading">178 </span><span·class="c1">%·····|··················^</span></code></pre><p>In·OTP·27,·that·warning·will·become·an·error.</p><p><a·href=""·id="escripts_will_be_compiled"></a></p><h3·id="escripts-will-be-compiled-by-default"·class="section-heading">
179 ··<a·href="#escripts-will-be-compiled-by-default"·class="hover-link">179 ··<a·href="#escripts-will-be-compiled-by-default"·class="hover-link">
180 ····<i·class="ri-link-m"·aria-hidden="true"></i>180 ····<i·class="ri-link-m"·aria-hidden="true"></i>
181 ··</a>181 ··</a>
182 ··<span·class="text">Escripts·will·be·compiled·by·default</span>182 ··<span·class="text">Escripts·will·be·compiled·by·default</span>
183 </h3>183 </h3>
184 <p>Escripts·will·be·compiled·by·default·instead·of·interpreted.·That·means·that·the184 <p>Escripts·will·be·compiled·by·default·instead·of·interpreted.·That·means·that·the
185 <code·class="inline">compiler</code>·application·must·be·available.</p><p>The·old·behavior·of·interpreting·escripts·can·be·restored·by·adding·the185 <code·class="inline">compiler</code>·application·must·be·available.</p><p>The·old·behavior·of·interpreting·escripts·can·be·restored·by·adding·the
186 following·line·to·the·script·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">mode</span><span·class="p"·data-group-id="1566992015-1">(</span><span·class="ss">interpret</span><span·class="p"·data-group-id="1566992015-1">)</span><span·class="p">.</span></code></pre><p>In·OTP·28,·support·for·interpreting·an·escript·will·be·removed.</p><h3·id="code_path_choice-will-default-to-strict"·class="section-heading">186 following·line·to·the·script·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">mode</span><span·class="p"·data-group-id="9777109654-1">(</span><span·class="ss">interpret</span><span·class="p"·data-group-id="9777109654-1">)</span><span·class="p">.</span></code></pre><p>In·OTP·28,·support·for·interpreting·an·escript·will·be·removed.</p><h3·id="code_path_choice-will-default-to-strict"·class="section-heading">
187 ··<a·href="#code_path_choice-will-default-to-strict"·class="hover-link">187 ··<a·href="#code_path_choice-will-default-to-strict"·class="hover-link">
188 ····<i·class="ri-link-m"·aria-hidden="true"></i>188 ····<i·class="ri-link-m"·aria-hidden="true"></i>
189 ··</a>189 ··</a>
190 ··<span·class="text">-code_path_choice·will·default·to·strict</span>190 ··<span·class="text">-code_path_choice·will·default·to·strict</span>
191 </h3>191 </h3>
192 <p>This·command·line·option·controls·if·paths·given·in·the·command·line,·boot192 <p>This·command·line·option·controls·if·paths·given·in·the·command·line,·boot
193 scripts,·and·the·code·server·should·be·interpreted·as·is·strict·or·relaxed.</p><p>OTP·26·and·earlier·defaults·to·<code·class="inline">relaxed</code>,·which·means·<code·class="inline">-pa·myapp/ebin</code>·would193 scripts,·and·the·code·server·should·be·interpreted·as·is·strict·or·relaxed.</p><p>OTP·26·and·earlier·defaults·to·<code·class="inline">relaxed</code>,·which·means·<code·class="inline">-pa·myapp/ebin</code>·would
Offset 231, 18 lines modifiedOffset 231, 18 lines modified
231 &quot;231 &quot;
232 String·Content232 String·Content
233 &quot;233 &quot;
234 %%234 %%
235 %%·In·OTP·27·it·is·instead·interpreted·as·a235 %%·In·OTP·27·it·is·instead·interpreted·as·a
236 %%·Triple-Quoted·String·equivalent·to236 %%·Triple-Quoted·String·equivalent·to
237 &quot;String·Content&quot;</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="s">&quot;&quot;</span><span·class="s">&quot;&quot;</span><span·class="w">237 &quot;String·Content&quot;</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="s">&quot;&quot;</span><span·class="s">&quot;&quot;</span><span·class="w">
238 </span><span·class="o">++</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="0998678529-1">(</span><span·class="p"·data-group-id="0998678529-1">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">238 </span><span·class="o">++</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="7269787928-1">(</span><span·class="p"·data-group-id="7269787928-1">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">
239 </span><span·class="s">&quot;&quot;</span><span·class="s">&quot;&quot;</span><span·class="w">239 </span><span·class="s">&quot;&quot;</span><span·class="s">&quot;&quot;</span><span·class="w">
240 </span><span·class="c1">%%·Became</span><span·class="w">240 </span><span·class="c1">%%·Became</span><span·class="w">
241 </span><span·class="s">&quot;&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="0998678529-2">(</span><span·class="p"·data-group-id="0998678529-2">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="w">241 </span><span·class="s">&quot;&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="7269787928-2">(</span><span·class="p"·data-group-id="7269787928-2">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="w">
242 </span><span·class="c1">%%</span><span·class="w">242 </span><span·class="c1">%%</span><span·class="w">
243 </span><span·class="c1">%%·In·OTP·27·it·is·instead·interpreted·as·a</span><span·class="w">243 </span><span·class="c1">%%·In·OTP·27·it·is·instead·interpreted·as·a</span><span·class="w">
244 </span><span·class="c1">%%·Triple-Quoted·String·(triple-or-more)·equivalent·to</span><span·class="w">244 </span><span·class="c1">%%·Triple-Quoted·String·(triple-or-more)·equivalent·to</span><span·class="w">
245 </span><span·class="s">&quot;++·foo()·++&quot;</span></code></pre><p>From·Erlang/OTP·26.1·up·to·27.0·the·compiler·issues·a·warning·for·a·sequence·of245 </span><span·class="s">&quot;++·foo()·++&quot;</span></code></pre><p>From·Erlang/OTP·26.1·up·to·27.0·the·compiler·issues·a·warning·for·a·sequence·of
246 3·or·more·double-quote·characters·since·that·is·almost·certainly·a·mistake·or246 3·or·more·double-quote·characters·since·that·is·almost·certainly·a·mistake·or
247 something·like·a·result·of·bad·automatic·code·generation.·If·a·users·gets·that247 something·like·a·result·of·bad·automatic·code·generation.·If·a·users·gets·that
248 warning,·the·code·should·be·corrected·for·example·by·inserting·appropriate248 warning,·the·code·should·be·corrected·for·example·by·inserting·appropriate
Offset 358, 15 lines modifiedOffset 358, 15 lines modified
358 ······<p·class="built-using">358 ······<p·class="built-using">
359 ········Built·using359 ········Built·using
360 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the360 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
361 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>361 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
362 ······</p>362 ······</p>
363 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>363 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
364 ····</footer>364 ····</footer>
365 ··</div>365 ··</div>
366 </main>366 </main>
367 </div>367 </div>
368 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>368 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
369 ··<script>369 ··<script>
370 ··let·initialized·=·false;370 ··let·initialized·=·false;
716 B
html2text {}
Max HTML report size reached
1.39 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/404.html
    
Offset 139, 15 lines modifiedOffset 139, 15 lines modified
139 ······<p·class="built-using">139 ······<p·class="built-using">
140 ········Built·using140 ········Built·using
141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
143 ······</p>143 ······</p>
144 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>144 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
145 ····</footer>145 ····</footer>
146 ··</div>146 ··</div>
147 </main>147 </main>
148 </div>148 </div>
149 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>149 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
150 ··<script>150 ··<script>
151 ··let·initialized·=·false;151 ··let·initialized·=·false;
604 B
html2text {}
Max HTML report size reached
1.6 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/absform.html
    
Offset 518, 15 lines modifiedOffset 518, 15 lines modified
518 ······<p·class="built-using">518 ······<p·class="built-using">
519 ········Built·using519 ········Built·using
520 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the520 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
521 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>521 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
522 ······</p>522 ······</p>
523 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>523 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
524 ····</footer>524 ····</footer>
525 ··</div>525 ··</div>
526 </main>526 </main>
527 </div>527 </div>
528 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>528 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
529 ··<script>529 ··<script>
530 ··let·initialized·=·false;530 ··let·initialized·=·false;
818 B
html2text {}
Max HTML report size reached
1.73 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/alt_disco.html
    
Offset 202, 15 lines modifiedOffset 202, 15 lines modified
202 ······<p·class="built-using">202 ······<p·class="built-using">
203 ········Built·using203 ········Built·using
204 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the204 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
205 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>205 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
206 ······</p>206 ······</p>
207 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>207 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
208 ····</footer>208 ····</footer>
209 ··</div>209 ··</div>
210 </main>210 </main>
211 </div>211 </div>
212 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>212 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
213 ··<script>213 ··<script>
214 ··let·initialized·=·false;214 ··let·initialized·=·false;
942 B
html2text {}
Max HTML report size reached
55.3 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/alt_dist.html
    
Offset 237, 50 lines modifiedOffset 237, 50 lines modified
237 <code·class="inline">uds_dist</code>·example·using·a·port·driver·written·in·C,·<code·class="inline">erl_uds_dist</code>·is·written237 <code·class="inline">uds_dist</code>·example·using·a·port·driver·written·in·C,·<code·class="inline">erl_uds_dist</code>·is·written
238 entirely·in·Erlang.</p><h3·id="exported-callback-functions"·class="section-heading">238 entirely·in·Erlang.</p><h3·id="exported-callback-functions"·class="section-heading">
239 ··<a·href="#exported-callback-functions"·class="hover-link">239 ··<a·href="#exported-callback-functions"·class="hover-link">
240 ····<i·class="ri-link-m"·aria-hidden="true"></i>240 ····<i·class="ri-link-m"·aria-hidden="true"></i>
241 ··</a>241 ··</a>
242 ··<span·class="text">Exported·Callback·Functions</span>242 ··<span·class="text">Exported·Callback·Functions</span>
243 </h3>243 </h3>
244 <p>The·following·functions·are·mandatory:</p><ul><li><pre·id="listen"><code·class="makeup·erlang"·translate="no"><span·class="nf">listen</span><span·class="p"·data-group-id="9317657568-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="9317657568-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">244 <p>The·following·functions·are·mandatory:</p><ul><li><pre·id="listen"><code·class="makeup·erlang"·translate="no"><span·class="nf">listen</span><span·class="p"·data-group-id="8957721978-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="8957721978-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
245 </span><span·class="err"> </span><span·class="err"> </span><span·class="p"·data-group-id="9317657568-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9317657568-3">{</span><span·class="n">Listen</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Address</span>[·...·truncated·by·diffoscope;·len:·455,·SHA:·56dad142a317ba4d5a133766bace03ac44d34f33eafe6026d202a7159d9a2fde·...·]8-4">}</span><span·class="w">245 </span><span·class="err"> </span><span·class="err"> </span><span·class="p"·data-group-id="8957721978-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8957721978-3">{</span><span·class="n">Listen</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Address</span>[·...·truncated·by·diffoscope;·len:·455,·SHA:·b571ac4d11a907c6aad98313e6e87e7d77129c42e36b0ff9fa297a1994980342·...·]8-4">}</span><span·class="w">
246 </span><span·class="nf">listen</span><span·class="p"·data-group-id="9317657568-5">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="n">Host</span><span·class="p"·data-group-id="9317657568-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">246 </span><span·class="nf">listen</span><span·class="p"·data-group-id="8957721978-5">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="n">Host</span><span·class="p"·data-group-id="8957721978-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
247 </span><span·class="err"> </span><span·class="err"> </span><span·class="p"·data-group-id="9317657568-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9317657568-7">{</span><span·class="n">Listen</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Address</span>[·...·truncated·by·diffoscope;·len:·455,·SHA:·da76114819032fcebba3806c8bf7e8058855081e355fce770c70cbb07ace0f56·...·]8-8">}</span></code></pre><p><code·class="inline">listen/2</code>·is·called·once·in·order·to·listen·for·incoming·connection·requests.247 </span><span·class="err"> </span><span·class="err"> </span><span·class="p"·data-group-id="8957721978-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8957721978-7">{</span><span·class="n">Listen</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Address</span>[·...·truncated·by·diffoscope;·len:·455,·SHA:·74ca4783eaf3fcedb79ded6a2aedffad982cd0dfb193863a055cda5ba4a2c41f·...·]8-8">}</span></code></pre><p><code·class="inline">listen/2</code>·is·called·once·in·order·to·listen·for·incoming·connection·requests.
248 The·call·is·made·when·the·distribution·is·brought·up.·The·argument·<code·class="inline">Name</code>·is248 The·call·is·made·when·the·distribution·is·brought·up.·The·argument·<code·class="inline">Name</code>·is
249 the·part·of·the·node·name·before·the·<code·class="inline">@</code>·sign·in·the·full·node·name.·It·can·be249 the·part·of·the·node·name·before·the·<code·class="inline">@</code>·sign·in·the·full·node·name.·It·can·be
250 either·an·atom·or·a·string.·The·argument·<code·class="inline">Host</code>·is·the·part·of·the·node·name250 either·an·atom·or·a·string.·The·argument·<code·class="inline">Host</code>·is·the·part·of·the·node·name
251 after·the·<code·class="inline">@</code>·sign·in·the·full·node·name.·It·is·always·a·string.</p><p>The·return·value·consists·of·a·<code·class="inline">Listen</code>·handle·(which·is·later·passed·to·the251 after·the·<code·class="inline">@</code>·sign·in·the·full·node·name.·It·is·always·a·string.</p><p>The·return·value·consists·of·a·<code·class="inline">Listen</code>·handle·(which·is·later·passed·to·the
252 <a·href="alt_dist.html#accept"><code·class="inline">accept/1</code></a>·callback),·<code·class="inline">Address</code>·which·is·a252 <a·href="alt_dist.html#accept"><code·class="inline">accept/1</code></a>·callback),·<code·class="inline">Address</code>·which·is·a
253 <code·class="inline">#net_address{}</code>·record·with·information·about·the·address·for·the·node·(the253 <code·class="inline">#net_address{}</code>·record·with·information·about·the·address·for·the·node·(the
254 <code·class="inline">#net_address{}</code>·record·is·defined·in·<code·class="inline">kernel/include/net_address.hrl</code>),·and254 <code·class="inline">#net_address{}</code>·record·is·defined·in·<code·class="inline">kernel/include/net_address.hrl</code>),·and
255 <code·class="inline">Creation</code>·which·(currently)·is·an·integer·<code·class="inline">1</code>,·<code·class="inline">2</code>,·or·<code·class="inline">3</code>.</p><p>If·<a·href="epmd_cmd.html"><code·class="inline">epmd</code></a>·is·to·be·used·for·node·discovery,·you·typically·want255 <code·class="inline">Creation</code>·which·(currently)·is·an·integer·<code·class="inline">1</code>,·<code·class="inline">2</code>,·or·<code·class="inline">3</code>.</p><p>If·<a·href="epmd_cmd.html"><code·class="inline">epmd</code></a>·is·to·be·used·for·node·discovery,·you·typically·want
256 to·use·the·<code·class="inline">erl_epmd</code>·module·(part·of·the·<code·class="inline">kernel</code>·application)·in·order·to256 to·use·the·<code·class="inline">erl_epmd</code>·module·(part·of·the·<code·class="inline">kernel</code>·application)·in·order·to
257 register·the·listen·port·with·<code·class="inline">epmd</code>·and·retrieve·<code·class="inline">Creation</code>·to·use.</p></li><li><pre·id="address"><code·class="makeup·erlang"·translate="no"><span·class="nf">address</span><span·class="p"·data-group-id="9731338887-1">(</span><span·class="p"·data-group-id="9731338887-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">257 register·the·listen·port·with·<code·class="inline">epmd</code>·and·retrieve·<code·class="inline">Creation</code>·to·use.</p></li><li><pre·id="address"><code·class="makeup·erlang"·translate="no"><span·class="nf">address</span><span·class="p"·data-group-id="6992922181-1">(</span><span·class="p"·data-group-id="6992922181-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
258 </span><span·class="err"> </span><span·class="err"> </span><span·class="n">Address</span></code></pre><p><code·class="inline">address/0</code>·is·called·in·order·to·get·the·<code·class="inline">Address</code>·part·of·the258 </span><span·class="err"> </span><span·class="err"> </span><span·class="n">Address</span></code></pre><p><code·class="inline">address/0</code>·is·called·in·order·to·get·the·<code·class="inline">Address</code>·part·of·the
259 <a·href="alt_dist.html#listen"><code·class="inline">listen/2</code></a>·function·without·creating·a·listen·socket.259 <a·href="alt_dist.html#listen"><code·class="inline">listen/2</code></a>·function·without·creating·a·listen·socket.
260 All·fields·except·<code·class="inline">address</code>·have·to·be·set·in·the·returned·record</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">address</span><span·class="p"·data-group-id="6362147737-1">(</span><span·class="p"·data-group-id="6362147737-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">260 All·fields·except·<code·class="inline">address</code>·have·to·be·set·in·the·returned·record</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">address</span><span·class="p"·data-group-id="6121273859-1">(</span><span·class="p"·data-group-id="6121273859-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
261 ····</span><span·class="p"·data-group-id="6362147737-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Host</span><span·class="p"·data-group-id="6362147737-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·172,·SHA:·eafd889fbb3e46f9d90dc37f3c0bceeb71236ca02bfdb8cbc8f3aefe2802a5a8·...·]-3">)</span><span·class="p">,</span><span·class="w">261 ····</span><span·class="p"·data-group-id="6121273859-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Host</span><span·class="p"·data-group-id="6121273859-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·172,·SHA:·ada6db4e8c4a250f7afa160e83017d46783de353196666f867c18aae860e9a33·...·]-3">)</span><span·class="p">,</span><span·class="w">
262 ····</span><span·class="o">#</span><span·class="ss">net_address</span><span·class="p"·data-group-id="6362147737-4">{</span><span·class="w">·</span><span·class="ss">host</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Host</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">protocol</span><spa[·...·truncated·by·diffoscope;·len:·610,·SHA:·f97d48fe192d7e05f7c076895f00bd672357dedd9a31c4b2784420a20bb2ce48·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">262 ····</span><span·class="o">#</span><span·class="ss">net_address</span><span·class="p"·data-group-id="6121273859-4">{</span><span·class="w">·</span><span·class="ss">host</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Host</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">protocol</span><spa[·...·truncated·by·diffoscope;·len:·610,·SHA:·330b337e272b2fa1030a28ad3a1045a5e138b3708bf6a321842a2d2f51ecb4e1·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
263 </span><span·class="err"> </span><span·class="err"> </span><span·class="n">AcceptorPid</span></code></pre><p><code·class="inline">accept/1</code>·should·spawn·a·process·that·accepts·connections.·This·process263 </span><span·class="err"> </span><span·class="err"> </span><span·class="n">AcceptorPid</span></code></pre><p><code·class="inline">accept/1</code>·should·spawn·a·process·that·accepts·connections.·This·process
264 should·preferably·execute·on·<code·class="inline">max</code>·priority.·The·process·identifier·of·this264 should·preferably·execute·on·<code·class="inline">max</code>·priority.·The·process·identifier·of·this
265 process·should·be·returned.</p><p>The·<code·class="inline">Listen</code>·argument·will·be·the·same·as·the·<code·class="inline">Listen</code>·handle·part·of·the265 process·should·be·returned.</p><p>The·<code·class="inline">Listen</code>·argument·will·be·the·same·as·the·<code·class="inline">Listen</code>·handle·part·of·the
266 return·value·of·the·<a·href="alt_dist.html#listen"><code·class="inline">listen/1</code></a>·callback·above.266 return·value·of·the·<a·href="alt_dist.html#listen"><code·class="inline">listen/1</code></a>·callback·above.
267 <code·class="inline">accept/1</code>·is·called·only·once·when·the·distribution·protocol·is·started.</p><p>The·caller·of·this·function·is·a·representative·for·<code·class="inline">net_kernel</code>·(this·may·or267 <code·class="inline">accept/1</code>·is·called·only·once·when·the·distribution·protocol·is·started.</p><p>The·caller·of·this·function·is·a·representative·for·<code·class="inline">net_kernel</code>·(this·may·or
268 may·not·be·the·process·registered·as·<code·class="inline">net_kernel</code>)·and·is·in·this·document268 may·not·be·the·process·registered·as·<code·class="inline">net_kernel</code>)·and·is·in·this·document
269 identified·as·<code·class="inline">Kernel</code>.·When·a·connection·has·been·accepted·by·the·acceptor269 identified·as·<code·class="inline">Kernel</code>.·When·a·connection·has·been·accepted·by·the·acceptor
270 process,·it·needs·to·inform·<code·class="inline">Kernel</code>·about·the·accepted·connection.·This·is270 process,·it·needs·to·inform·<code·class="inline">Kernel</code>·about·the·accepted·connection.·This·is
271 done·by·passing·a·message·of·the·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Kernel</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="4610840429-1">{</span><span·class="ss">accept</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AcceptorPid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DistController</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·157,·SHA:·c75fc673775ef3fd5ab674f0dadc1cd4e16f2b38f0734ed00c2d57202c80fa60·...·]-1">}</span></code></pre><p><code·class="inline">DistController</code>·is·either·the·process·or·port·identifier·of·the·distribution271 done·by·passing·a·message·of·the·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Kernel</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3149908595-1">{</span><span·class="ss">accept</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AcceptorPid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DistController</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·157,·SHA:·e32a8ff10745db8a47f166ac05560ef6243bd0f6191700643eb0c58e075e2295·...·]-1">}</span></code></pre><p><code·class="inline">DistController</code>·is·either·the·process·or·port·identifier·of·the·distribution
272 controller·for·the·connection.·The·distribution·controller·should·be·created272 controller·for·the·connection.·The·distribution·controller·should·be·created
273 by·the·acceptor·processes·when·a·new·connection·is·accepted.·Its·job·is·to273 by·the·acceptor·processes·when·a·new·connection·is·accepted.·Its·job·is·to
274 dispatch·traffic·on·the·connection.</p><p><code·class="inline">Kernel</code>·responds·with·one·of·the·following·messages:</p><ul><li><p><strong><code·class="inline">{Kernel,·controller,·SupervisorPid}</code></strong>·-·The·request·was·accepted·and274 dispatch·traffic·on·the·connection.</p><p><code·class="inline">Kernel</code>·responds·with·one·of·the·following·messages:</p><ul><li><p><strong><code·class="inline">{Kernel,·controller,·SupervisorPid}</code></strong>·-·The·request·was·accepted·and
275 <code·class="inline">SupervisorPid</code>·is·the·process·identifier·of·the·connection·supervisor275 <code·class="inline">SupervisorPid</code>·is·the·process·identifier·of·the·connection·supervisor
276 process·(which·is·created·in·the276 process·(which·is·created·in·the
277 <a·href="alt_dist.html#accept_connection"><code·class="inline">accept_connection/5</code></a>·callback).</p></li><li><p><strong><code·class="inline">{Kernel,·unsupported_protocol}</code></strong>·-·The·request·was·rejected.·This·is·a277 <a·href="alt_dist.html#accept_connection"><code·class="inline">accept_connection/5</code></a>·callback).</p></li><li><p><strong><code·class="inline">{Kernel,·unsupported_protocol}</code></strong>·-·The·request·was·rejected.·This·is·a
278 fatal·error.·The·acceptor·process·should·terminate.</p></li></ul><p>When·an·accept·sequence·has·been·completed·the·acceptor·process·is·expected·to278 fatal·error.·The·acceptor·process·should·terminate.</p></li></ul><p>When·an·accept·sequence·has·been·completed·the·acceptor·process·is·expected·to
279 continue·accepting·further·requests.</p></li><li><pre·id="accept_connection"><code·class="makeup·erlang"·translate="no"><span·class="nf">accept_connection</span><span·class="p"·data-group-id="9859979233-1">(</span><span·class="n">AcceptorPid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DistCtrl</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MyNode</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·155,·SHA:·b7863a6ae2986a2d26144e843b53d7013bfa6e3db8b1cb6bf343410a711f0bcf·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">279 continue·accepting·further·requests.</p></li><li><pre·id="accept_connection"><code·class="makeup·erlang"·translate="no"><span·class="nf">accept_connection</span><span·class="p"·data-group-id="7622689115-1">(</span><span·class="n">AcceptorPid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DistCtrl</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MyNode</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·155,·SHA:·82bd2c1d8dd03458c0da68a7855462f11c8470231f722628135200e7c47f2f34·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
280 </span><span·class="err"> </span><span·class="err"> </span><span·class="n">ConnectionSupervisorPid</span></code></pre><p><code·class="inline">accept_connection/5</code>·should·spawn·a·process·that·will·perform·the·Erlang280 </span><span·class="err"> </span><span·class="err"> </span><span·class="n">ConnectionSupervisorPid</span></code></pre><p><code·class="inline">accept_connection/5</code>·should·spawn·a·process·that·will·perform·the·Erlang
281 distribution·handshake·for·the·connection.·If·the·handshake·successfully281 distribution·handshake·for·the·connection.·If·the·handshake·successfully
282 completes·it·should·continue·to·function·as·a·connection·supervisor.·This282 completes·it·should·continue·to·function·as·a·connection·supervisor.·This
283 process·should·preferably·execute·on·<code·class="inline">max</code>·priority·and·should·be·linked·to283 process·should·preferably·execute·on·<code·class="inline">max</code>·priority·and·should·be·linked·to
284 the·caller.·The·<code·class="inline">dist_util:net_ticker_spawn_options()</code>·function·can·be·called284 the·caller.·The·<code·class="inline">dist_util:net_ticker_spawn_options()</code>·function·can·be·called
285 to·get·spawn·options·suitable·for·this·process·which·can·be·passed·directly·to285 to·get·spawn·options·suitable·for·this·process·which·can·be·passed·directly·to
286 <a·href="erlang.html#spawn_opt/4"><code·class="inline">erlang:spawn_opt/4</code></a>.·<code·class="inline">dist_util:net_ticker_spawn_options()</code>·will·by·default286 <a·href="erlang.html#spawn_opt/4"><code·class="inline">erlang:spawn_opt/4</code></a>.·<code·class="inline">dist_util:net_ticker_spawn_options()</code>·will·by·default
Offset 294, 15 lines modifiedOffset 294, 15 lines modified
294 <code·class="inline">dist_util:handshake_other_started(HsData)</code>.</p></li><li><p><strong><code·class="inline">Allowed</code></strong>·-·To·be·passed·along·to294 <code·class="inline">dist_util:handshake_other_started(HsData)</code>.</p></li><li><p><strong><code·class="inline">Allowed</code></strong>·-·To·be·passed·along·to
295 <code·class="inline">dist_util:handshake_other_started(HsData)</code>.</p></li><li><p><strong><code·class="inline">SetupTime</code></strong>·-·Time·used·for·creating·a·setup·timer·by·a·call·to295 <code·class="inline">dist_util:handshake_other_started(HsData)</code>.</p></li><li><p><strong><code·class="inline">SetupTime</code></strong>·-·Time·used·for·creating·a·setup·timer·by·a·call·to
296 <code·class="inline">dist_util:start_timer(SetupTime)</code>.·The·timer·should·be·passed·along·to296 <code·class="inline">dist_util:start_timer(SetupTime)</code>.·The·timer·should·be·passed·along·to
297 <code·class="inline">dist_util:handshake_other_started(HsData)</code>.</p></li></ul><p>The·created·process·should·provide·callbacks·and·other·information·needed·for297 <code·class="inline">dist_util:handshake_other_started(HsData)</code>.</p></li></ul><p>The·created·process·should·provide·callbacks·and·other·information·needed·for
298 the·handshake·in·a·<a·href="alt_dist.html#hs_data_record"><code·class="inline">#hs_data{}</code></a>·record·and·call298 the·handshake·in·a·<a·href="alt_dist.html#hs_data_record"><code·class="inline">#hs_data{}</code></a>·record·and·call
299 <code·class="inline">dist_util:handshake_other_started(HsData)</code>·with·this·record.</p><p><code·class="inline">dist_util:handshake_other_started(HsData)</code>·will·perform·the·handshake·and·if299 <code·class="inline">dist_util:handshake_other_started(HsData)</code>·with·this·record.</p><p><code·class="inline">dist_util:handshake_other_started(HsData)</code>·will·perform·the·handshake·and·if
300 the·handshake·successfully·completes·this·process·will·then·continue·in·a300 the·handshake·successfully·completes·this·process·will·then·continue·in·a
301 connection·supervisor·loop·as·long·as·the·connection·is·up.</p></li><li><pre·id="setup"><code·class="makeup·erlang"·translate="no"><span·class="nf">setup</span><span·class="p"·data-group-id="2522446744-1">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MyNode</span><span·class="p">,</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·153,·SHA:·52397c8d884ee91b58cf89678a6396b097f0decf8ffb72c4a115618b20cba7ba·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">301 connection·supervisor·loop·as·long·as·the·connection·is·up.</p></li><li><pre·id="setup"><code·class="makeup·erlang"·translate="no"><span·class="nf">setup</span><span·class="p"·data-group-id="7023818951-1">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MyNode</span><span·class="p">,</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·153,·SHA:·7a7d132ad4d383eab97041a71b9f633ba0810b54e72e63e0f3abd3727fabd3fc·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
302 </span><span·class="err"> </span><span·class="err"> </span><span·class="n">ConnectionSupervisorPid</span></code></pre><p><code·class="inline">setup/5</code>·should·spawn·a·process·that·connects·to·<code·class="inline">Node</code>.·When·connection·has302 </span><span·class="err"> </span><span·class="err"> </span><span·class="n">ConnectionSupervisorPid</span></code></pre><p><code·class="inline">setup/5</code>·should·spawn·a·process·that·connects·to·<code·class="inline">Node</code>.·When·connection·has
303 been·established·it·should·perform·the·Erlang·distribution·handshake·for·the303 been·established·it·should·perform·the·Erlang·distribution·handshake·for·the
304 connection.·If·the·handshake·successfully·completes·it·should·continue·to304 connection.·If·the·handshake·successfully·completes·it·should·continue·to
305 function·as·a·connection·supervisor.·This·process·should·preferably·execute·on305 function·as·a·connection·supervisor.·This·process·should·preferably·execute·on
306 <code·class="inline">max</code>·priority·and·should·be·linked·to·the·caller.·The306 <code·class="inline">max</code>·priority·and·should·be·linked·to·the·caller.·The
307 <code·class="inline">dist_util:net_ticker_spawn_options()</code>·function·can·be·called·to·get·spawn307 <code·class="inline">dist_util:net_ticker_spawn_options()</code>·function·can·be·called·to·get·spawn
308 options·suitable·for·this·process·which·can·be·passed·directly·to308 options·suitable·for·this·process·which·can·be·passed·directly·to
Offset 320, 23 lines modifiedOffset 320, 23 lines modified
320 may·not·be·the·process·registered·as·<code·class="inline">net_kernel</code>)·and·is·in·this·document320 may·not·be·the·process·registered·as·<code·class="inline">net_kernel</code>)·and·is·in·this·document
321 identified·as·<code·class="inline">Kernel</code>.</p><p>This·function·should,·besides·spawning·the·connection·supervisor,·also·create321 identified·as·<code·class="inline">Kernel</code>.</p><p>This·function·should,·besides·spawning·the·connection·supervisor,·also·create
322 a·distribution·controller.·The·distribution·controller·is·either·a·process·or322 a·distribution·controller.·The·distribution·controller·is·either·a·process·or
323 a·port·which·is·responsible·for·dispatching·traffic.</p><p>The·created·process·should·provide·callbacks·and·other·information·needed·for323 a·port·which·is·responsible·for·dispatching·traffic.</p><p>The·created·process·should·provide·callbacks·and·other·information·needed·for
324 the·handshake·in·a·<a·href="alt_dist.html#hs_data_record"><code·class="inline">#hs_data{}</code></a>·record·and·call324 the·handshake·in·a·<a·href="alt_dist.html#hs_data_record"><code·class="inline">#hs_data{}</code></a>·record·and·call
325 <code·class="inline">dist_util:handshake_we_started(HsData)</code>·with·this·record.</p><p><code·class="inline">dist_util:handshake_we_started(HsData)</code>·will·perform·the·handshake·and·the325 <code·class="inline">dist_util:handshake_we_started(HsData)</code>·with·this·record.</p><p><code·class="inline">dist_util:handshake_we_started(HsData)</code>·will·perform·the·handshake·and·the
326 handshake·successfully·completes·this·process·will·then·continue·in·a326 handshake·successfully·completes·this·process·will·then·continue·in·a
327 connection·supervisor·loop·as·long·as·the·connection·is·up.</p></li><li><pre·id="close"><code·class="makeup·erlang"·translate="no"><span·class="nf">close</span><span·class="p"·data-group-id="9866072673-1">(</span><span·class="n">Listen</span><span·class="p"·data-group-id="9866072673-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">327 connection·supervisor·loop·as·long·as·the·connection·is·up.</p></li><li><pre·id="close"><code·class="makeup·erlang"·translate="no"><span·class="nf">close</span><span·class="p"·data-group-id="6034121651-1">(</span><span·class="n">Listen</span><span·class="p"·data-group-id="6034121651-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
328 </span><span·class="err"> </span><span·class="err"> </span><span·class="nf">void</span><span·class="p"·data-group-id="9866072673-2">(</span><span·class="p"·data-group-id="9866072673-2">)</span></code></pre><p>Called·in·order·to·close·the·<code·class="inline">Listen</code>·handle·that·originally·was·passed·from328 </span><span·class="err"> </span><span·class="err"> </span><span·class="nf">void</span><span·class="p"·data-group-id="6034121651-2">(</span><span·class="p"·data-group-id="6034121651-2">)</span></code></pre><p>Called·in·order·to·close·the·<code·class="inline">Listen</code>·handle·that·originally·was·passed·from
329 the·<a·href="alt_dist.html#listen"><code·class="inline">listen/1</code></a>·callback.</p></li><li><pre·id="select"><code·class="makeup·erlang"·translate="no"><span·class="nf">select</span><span·class="p"·data-group-id="9234413363-1">(</span><span·class="n">NodeName</span><span·class="p"·data-group-id="9234413363-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">329 the·<a·href="alt_dist.html#listen"><code·class="inline">listen/1</code></a>·callback.</p></li><li><pre·id="select"><code·class="makeup·erlang"·translate="no"><span·class="nf">select</span><span·class="p"·data-group-id="5542763094-1">(</span><span·class="n">NodeName</span><span·class="p"·data-group-id="5542763094-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
330 </span><span·class="err"> </span><span·class="err"> </span><span·class="nf">boolean</span><span·class="p"·data-group-id="9234413363-2">(</span><span·class="p"·data-group-id="9234413363-2">)</span></code></pre><p>Return·<code·class="inline">true</code>·if·the·host·name·part·of·the·<code·class="inline">NodeName</code>·is·valid·for·use·with330 </span><span·class="err"> </span><span·class="err"> </span><span·class="nf">boolean</span><span·class="p"·data-group-id="5542763094-2">(</span><span·class="p"·data-group-id="5542763094-2">)</span></code></pre><p>Return·<code·class="inline">true</code>·if·the·host·name·part·of·the·<code·class="inline">NodeName</code>·is·valid·for·use·with
331 this·protocol;·otherwise,·<code·class="inline">false</code>.</p></li></ul><p>There·are·also·two·optional·functions·that·may·be·exported:</p><ul><li><pre·id="setopts"><code·class="makeup·erlang"·translate="no"><span·class="nf">setopts</span><span·class="p"·data-group-id="0181888897-1">(</span><span·class="n">Listen</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opts</span><span·class="p"·data-group-id="0181888897-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
332 </span><span·class="err"> </span><span·class="err"> </span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0181888897-2">{</span><span·class="ss">error</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·216,·SHA:·87702d8d1132882060bf670a990e5812271bc6c9d78c9a2cd1d7d09d4fc2d650·...·]331 this·protocol;·otherwise,·<code·class="inline">false</code>.</p></li></ul><p>There·are·also·two·optional·functions·that·may·be·exported:</p><ul><li><pre·id="setopts"><code·class="makeup·erlang"·translate="no"><span·class="nf">setopts</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·262,·SHA:·ca535e339bce5a6236ccbde280aa2b359285db48e62daeff38966a3413199596·...·]
 332 </span><span·class="err"> </span><span·class="err"> </span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7177276582-2">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Error</span><span·class="p"·data-group-id="7177276582-2">}</span></code></pre><p>The·argument·<code·class="inline">Listen</code>·is·the·handle·originally·passed·from·the
333 <a·href="alt_dist.html#listen"><code·class="inline">listen/1</code></a>·callback.·The·argument·<code·class="inline">Opts</code>·is·a·list·of333 <a·href="alt_dist.html#listen"><code·class="inline">listen/1</code></a>·callback.·The·argument·<code·class="inline">Opts</code>·is·a·list·of
334 options·to·set·on·future·connections.</p></li><li><pre·id="getopts"><code·class="makeup·erlang"·translate="no"><span·class="nf">getopts</span><span·class="p"·data-group-id="7437690945-1">(</span><span·class="n">Listen</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opts</span><span·class="p"·data-group-id="7437690945-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
335 </span><span·class="err"> </span><span·class="err"> </span><span·class="p"·data-group-id="7437690945-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OptionValues</span><span·class="p"·data-group-id="7437[·...·truncated·by·diffoscope;·len:·405,·SHA:·b5b139cf2e9f5221f82408609f234290a7431cfff59ed5d09305ffd80e135742·...·]334 options·to·set·on·future·connections.</p></li><li><pre·id="getopts"><code·class="makeup·erlang"·translate="no"><span·class="nf">getopts</span><span·class="p"·data-group-id="2383472248-1">(</span><span·class="n">Listen</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·164,·SHA:·45e67dd8444696b3759422cf38166644e34f0f5d6675ebe0998d886086b55247·...·]
 335 </span><span·class="err"> </span><span·class="err"> </span><span·class="p"·data-group-id="2383472248-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OptionValues</span><span·class="p"·data-group-id="2383472248-2">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2383472248-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Error</span><span·class="p"·data-group-id="2383472248-3">}</span></code></pre><p>The·argument·<code·class="inline">Listen</code>·is·the·handle·originally·passed·from·the
336 <a·href="alt_dist.html#listen"><code·class="inline">listen/1</code></a>·callback.·The·argument·<code·class="inline">Opts</code>·is·a·list·of336 <a·href="alt_dist.html#listen"><code·class="inline">listen/1</code></a>·callback.·The·argument·<code·class="inline">Opts</code>·is·a·list·of
337 options·to·read·for·future·connections.</p></li></ul><p><a·href=""·id="hs_data_record"></a></p><h3·id="the-hs_data-record"·class="section-heading">337 options·to·read·for·future·connections.</p></li></ul><p><a·href=""·id="hs_data_record"></a></p><h3·id="the-hs_data-record"·class="section-heading">
338 ··<a·href="#the-hs_data-record"·class="hover-link">338 ··<a·href="#the-hs_data-record"·class="hover-link">
339 ····<i·class="ri-link-m"·aria-hidden="true"></i>339 ····<i·class="ri-link-m"·aria-hidden="true"></i>
340 ··</a>340 ··</a>
341 ··<span·class="text">The·#hs_data{}·Record</span>341 ··<span·class="text">The·#hs_data{}·Record</span>
342 </h3>342 </h3>
Offset 350, 44 lines modifiedOffset 350, 44 lines modified
350 <a·href="alt_dist.html#accept_connection"><code·class="inline">accept_connection/5</code></a>.</p></li><li><p><strong><code·class="inline"·id="hs_data_other_node">other_node</code></strong>·-·Name·of·the·other·node.·This·field350 <a·href="alt_dist.html#accept_connection"><code·class="inline">accept_connection/5</code></a>.</p></li><li><p><strong><code·class="inline"·id="hs_data_other_node">other_node</code></strong>·-·Name·of·the·other·node.·This·field
351 is·only·mandatory·when·this·node·initiates·the·connection.·That·is,·when351 is·only·mandatory·when·this·node·initiates·the·connection.·That·is,·when
352 connection·is·set·up·via·<a·href="alt_dist.html#setup"><code·class="inline">setup/5</code></a>.</p></li><li><p><strong><code·class="inline"·id="hs_data_this_node">this_node</code></strong>·-·The·node·name·of·this·node.</p></li><li><p><strong><code·class="inline"·id="hs_data_socket">socket</code></strong>·-·The·identifier·of·the·distribution352 connection·is·set·up·via·<a·href="alt_dist.html#setup"><code·class="inline">setup/5</code></a>.</p></li><li><p><strong><code·class="inline"·id="hs_data_this_node">this_node</code></strong>·-·The·node·name·of·this·node.</p></li><li><p><strong><code·class="inline"·id="hs_data_socket">socket</code></strong>·-·The·identifier·of·the·distribution
353 controller.</p></li><li><p><strong><code·class="inline"·id="hs_data_timer">timer</code></strong>·-·The·timer·created·using353 controller.</p></li><li><p><strong><code·class="inline"·id="hs_data_timer">timer</code></strong>·-·The·timer·created·using
354 <code·class="inline">dist_util:start_timer/1</code>.</p></li><li><p><strong><code·class="inline"·id="hs_data_allowed">allowed</code></strong>·-·Information·passed·as·<code·class="inline">Allowed</code>·to354 <code·class="inline">dist_util:start_timer/1</code>.</p></li><li><p><strong><code·class="inline"·id="hs_data_allowed">allowed</code></strong>·-·Information·passed·as·<code·class="inline">Allowed</code>·to
355 <code·class="inline">accept_connection/5</code>.·This·field·is·only·mandatory·when·the·remote·node355 <code·class="inline">accept_connection/5</code>.·This·field·is·only·mandatory·when·the·remote·node
356 initiated·the·connection.·That·is,·when·the·connection·is·set·up·via356 initiated·the·connection.·That·is,·when·the·connection·is·set·up·via
357 <a·href="alt_dist.html#accept_connection"><code·class="inline">accept_connection/5</code></a>.</p></li><li><p><strong><code·class="inline"·id="hs_data_f_send">f_send</code></strong>·-·A·fun·with·the·following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="2240447943-1">(</span><span·class="n">DistCtrlr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2240447943-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2240447943-2">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Error</span><span·class="p"·data-group-id="2240447943-2">}</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller·and·<code·class="inline">Data</code> 
358 is·io·data·to·pass·to·the·other·side.</p><p>Only·used·during·handshake·phase.</p></li><li><p><strong><code·class="inline"·id="hs_data_f_recv">f_recv</code></strong>·-·A·fun·with·the·following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><s[·...·truncated·by·diffoscope;·len:·1023,·SHA:·83166b401a0b18be5af411c57610139f2967544e23a4e6a2af0570c16b0f216e·...·]357 <a·href="alt_dist.html#accept_connection"><code·class="inline">accept_connection/5</code></a>.</p></li><li><p><strong><code·class="inline"·id="hs_data_f_send">f_send</code></strong>·-·A·fun·with·the·following·signature:</p><pre><code·class="makeup·erlang"·[·...·truncated·by·diffoscope;·len:·809,·SHA:·c186492d8517dcd66975418be05893b8ac5b546b3267d0a1b7086419d8d94c6b·...·]
 358 is·io·data·to·pass·to·the·other·side.</p><p>Only·used·during·handshake·phase.</p></li><li><p><strong><code·class="inline"·id="hs_data_f_recv">f_recv</code></strong>·-·A·fun·with·the·following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="4075455248-1">(</span><span·class="n">DistCtrlr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Length</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Timeout</span><span·class="p"·data-group-id="4075455248-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4075455248-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Packet</span><span·class="p"·data-group-id="4075455248-2">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4075455248-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="4075455248-3">}</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller.·If
359 <code·class="inline">Length</code>·is·<code·class="inline">0</code>,·all·available·bytes·should·be·returned.·If·<code·class="inline">Length·&gt;·0</code>,359 <code·class="inline">Length</code>·is·<code·class="inline">0</code>,·all·available·bytes·should·be·returned.·If·<code·class="inline">Length·&gt;·0</code>,
360 exactly·<code·class="inline">Length</code>·bytes·should·be·returned,·or·an·error;·possibly·discarding360 exactly·<code·class="inline">Length</code>·bytes·should·be·returned,·or·an·error;·possibly·discarding
361 less·than·<code·class="inline">Length</code>·bytes·of·data·when·the·connection·is·closed·from·the·other361 less·than·<code·class="inline">Length</code>·bytes·of·data·when·the·connection·is·closed·from·the·other
362 side.·It·is·used·for·passive·receive·of·data·from·the·other·end.</p><p>Only·used·during·handshake·phase.</p></li><li><p><strong><code·class="inline"·id="hs_data_f_setopts_pre_nodeup">f_setopts_pre_nodeup</code></strong>·-·A·fun·with·the362 side.·It·is·used·for·passive·receive·of·data·from·the·other·end.</p><p>Only·used·during·handshake·phase.</p></li><li><p><strong><code·class="inline"·id="hs_data_f_setopts_pre_nodeup">f_setopts_pre_nodeup</code></strong>·-·A·fun·with·the
363 following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="0761686593-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="0761686593-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">|</span[·...·truncated·by·diffoscope;·len:·224,·SHA:·92b71d0a66e346339858a09a0a329c0224b666bb394b0187c50cd0d49ec54dba·...·]-2">}</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller.·Called363 following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="1202282255-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="1202282255-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">|</span[·...·truncated·by·diffoscope;·len:·224,·SHA:·80ebed3103c8f2c198a92009aaa52ed10997ce439e18b09ff9d1e04b679667fd·...·]-2">}</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller.·Called
364 just·before·the·distribution·channel·is·taken·up·for·normal·traffic.</p><p>Only·used·during·handshake·phase.</p></li><li><p><strong><code·class="inline"·id="hs_data_f_setopts_post_nodeup">f_setopts_post_nodeup</code></strong>·-·A·fun·with364 just·before·the·distribution·channel·is·taken·up·for·normal·traffic.</p><p>Only·used·during·handshake·phase.</p></li><li><p><strong><code·class="inline"·id="hs_data_f_setopts_post_nodeup">f_setopts_post_nodeup</code></strong>·-·A·fun·with
365 the·following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="0777046992-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="0777046992-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">|</span[·...·truncated·by·diffoscope;·len:·223,·SHA:·d3813924066783f84c5ff22737d65097a47cdd2efe70b65b8fda594f27654cf7·...·]2-2">}</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller.·Called365 the·following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="8530856742-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="8530856742-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">|</span[·...·truncated·by·diffoscope;·len:·223,·SHA:·456ae97109f2f5151718cb12f72dc8fc334c7e3752bce42e6108e40b94514ab0·...·]2-2">}</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller.·Called
366 just·after·distribution·channel·has·been·taken·up·for·normal·traffic.</p><p>Only·used·during·handshake·phase.</p></li><li><p><strong><code·class="inline"·id="hs_data_f_getll">f_getll</code></strong>·-·A·fun·with·the·following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="3686179071-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="3686179071-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">ID</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller·and·<code·class="inline">ID</code>·is366 just·after·distribution·channel·has·been·taken·up·for·normal·traffic.</p><p>Only·used·during·handshake·phase.</p></li><li><p><strong><code·class="inline"·id="hs_data_f_getll">f_getll</code></strong>·-·A·fun·with·the·following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="8790685736-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="8790685736-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">ID</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller·and·<code·class="inline">ID</code>·is
367 the·identifier·of·the·low·level·entity·that·handles·the·connection·(often367 the·identifier·of·the·low·level·entity·that·handles·the·connection·(often
368 <code·class="inline">DistCtrlr</code>·itself).</p><p>Only·used·during·handshake·phase.</p></li><li><p><strong><code·class="inline"·id="hs_data_f_address">f_address</code></strong>·-·A·fun·with·the·following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="4504285105-1">(</span><span·class="n">DistCtrlr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="4504285105-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">NetAddress</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller,·<code·class="inline">Node</code>·is368 <code·class="inline">DistCtrlr</code>·itself).</p><p>Only·used·during·handshake·phase.</p></li><li><p><strong><code·class="inline"·id="hs_data_f_address">f_address</code></strong>·-·A·fun·with·the·following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="4903322888-1">(</span><span·class="n">DistCtrlr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="4903322888-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">NetAddress</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller,·<code·class="inline">Node</code>·is
369 the·node·name·of·the·node·on·the·other·end,·and·<code·class="inline">NetAddress</code>·is·a369 the·node·name·of·the·node·on·the·other·end,·and·<code·class="inline">NetAddress</code>·is·a
370 <code·class="inline">#net_address{}</code>·record·with·information·about·the·address·for·the·<code·class="inline">Node</code>·on370 <code·class="inline">#net_address{}</code>·record·with·information·about·the·address·for·the·<code·class="inline">Node</code>·on
371 the·other·end·of·the·connection.·The·<code·class="inline">#net_address{}</code>·record·is·defined·in371 the·other·end·of·the·connection.·The·<code·class="inline">#net_address{}</code>·record·is·defined·in
372 <code·class="inline">kernel/include/net_address.hrl</code>.</p><p>Only·used·during·handshake·phase.</p></li><li><p><strong><code·class="inline"·id="hs_data_mf_tick">mf_tick</code></strong>·-·A·fun·with·the·following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="3342188000-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="3342188000-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">void</span><span·class="p"·data-group-id="3342188000-2">[·...·truncated·by·diffoscope;·len:·49,·SHA:·11639005273985f39034f2e38e98344ab12935e609f1c55c3b54ef73c4d5234c·...·]-2">)</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller.·This372 <code·class="inline">kernel/include/net_address.hrl</code>.</p><p>Only·used·during·handshake·phase.</p></li><li><p><strong><code·class="inline"·id="hs_data_mf_tick">mf_tick</code></strong>·-·A·fun·with·the·following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6628675912-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="6628675912-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">void</span><span·class="p"·data-group-id="6628675912-2">[·...·truncated·by·diffoscope;·len:·49,·SHA:·ace1189c5f17004aa1423d3cc3211fd48e0d812299d944ee80b49c6c9de6980b·...·]-2">)</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller.·This
373 function·should·send·information·over·the·connection·that·is·not·interpreted373 function·should·send·information·over·the·connection·that·is·not·interpreted
374 by·the·other·end·while·increasing·the·statistics·of·received·packets·on·the374 by·the·other·end·while·increasing·the·statistics·of·received·packets·on·the
375 other·end.·This·is·usually·implemented·by·sending·an·empty·packet.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>It·is·of·vital·importance·that·this·operation·does·not·block·the·caller·for375 other·end.·This·is·usually·implemented·by·sending·an·empty·packet.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>It·is·of·vital·importance·that·this·operation·does·not·block·the·caller·for
376 a·long·time.·This·since·it·is·called·from·the·connection·supervisor.</p></section><p>Used·when·connection·is·up.</p></li><li><p><strong><code·class="inline"·id="hs_data_mf_getstat">mf_getstat</code></strong>·-·A·fun·with·the·following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6841281542-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="6841281542-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6841281542-2">{</span><span·class="ss">ok<[·...·truncated·by·diffoscope;·len:·280,·SHA:·b45c6886f19115f8f6be1413a7eb43b97f337c6b2a5f7f8e53bd88593a2cdfb8·...·]-2">}</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller,·<code·class="inline">Received</code>376 a·long·time.·This·since·it·is·called·from·the·connection·supervisor.</p></section><p>Used·when·connection·is·up.</p></li><li><p><strong><code·class="inline"·id="hs_data_mf_getstat">mf_getstat</code></strong>·-·A·fun·with·the·following·signature:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="2633081467-1">(</span><span·class="n">DistCtrlr</span><span·class="p"·data-group-id="2633081467-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2633081467-2">{</span><span·class="ss">ok<[·...·truncated·by·diffoscope;·len:·280,·SHA:·2af94f65f2ba2f8c5ecd733983cee93a0f8963112225533aed222448a08510d9·...·]-2">}</span></code></pre><p>where·<code·class="inline">DistCtrlr</code>·is·the·identifier·of·the·distribution·controller,·<code·class="inline">Received</code>
377 is·received·packets,·<code·class="inline">Sent</code>·is·sent·packets,·and·<code·class="inline">PendSend</code>·is·amount·of·data377 is·received·packets,·<code·class="inline">Sent</code>·is·sent·packets,·and·<code·class="inline">PendSend</code>·is·amount·of·data
378 in·queue·to·be·sent·(typically·in·bytes,·but·<code·class="inline">dist_util</code>·only·checks·whether378 in·queue·to·be·sent·(typically·in·bytes,·but·<code·class="inline">dist_util</code>·only·checks·whether
379 the·value·is·non-zero·to·know·there·is·data·in·queue)·or·a·<a·href="erlang.html#t:boolean/0"><code·class="inline">boolean/0</code></a>379 the·value·is·non-zero·to·know·there·is·data·in·queue)·or·a·<a·href="erlang.html#t:boolean/0"><code·class="inline">boolean/0</code></a>
380 indicating·whether·there·are·packets·in·queue·to·be·sent.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>It·is·of·vital·importance·that·this·operation·does·not·block·the·caller·for380 indicating·whether·there·are·packets·in·queue·to·be·sent.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>It·is·of·vital·importance·that·this·operation·does·not·block·the·caller·for
381 a·long·time.·This·since·it·is·called·from·the·connection·supervisor.</p></section><p>Used·when·connection·is·up.</p></li><li><p><strong><code·class="inline"·id="hs_data_request_type">request_type</code></strong>·-·The·request·<code·class="inline">Type</code>·as·passed·to381 a·long·time.·This·since·it·is·called·from·the·connection·supervisor.</p></section><p>Used·when·connection·is·up.</p></li><li><p><strong><code·class="inline"·id="hs_data_request_type">request_type</code></strong>·-·The·request·<code·class="inline">Type</code>·as·passed·to
382 <a·href="alt_dist.html#setup"><code·class="inline">setup/5</code></a>.·This·is·only·mandatory·when·the·connection·has382 <a·href="alt_dist.html#setup"><code·class="inline">setup/5</code></a>.·This·is·only·mandatory·when·the·connection·has
Max diff block lines reached; 3563/55733 bytes (6.39%) of diff not shown.
780 B
html2text {}
Max HTML report size reached
1.31 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/api-reference.html
    
Offset 241, 15 lines modifiedOffset 241, 15 lines modified
241 ······<p·class="built-using">241 ······<p·class="built-using">
242 ········Built·using242 ········Built·using
243 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the243 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
244 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>244 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
245 ······</p>245 ······</p>
246 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>246 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
247 ····</footer>247 ····</footer>
248 ··</div>248 ··</div>
249 </main>249 </main>
250 </div>250 </div>
251 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>251 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
252 ··<script>252 ··<script>
253 ··let·initialized·=·false;253 ··let·initialized·=·false;
502 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/atomics.html
    
Offset 643, 15 lines modifiedOffset 643, 15 lines modified
643 ······<p·class="built-using">643 ······<p·class="built-using">
644 ········Built·using644 ········Built·using
645 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the645 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
646 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>646 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
647 ······</p>647 ······</p>
648 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>648 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
649 ····</footer>649 ····</footer>
650 ··</div>650 ··</div>
651 </main>651 </main>
652 </div>652 </div>
653 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>653 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
654 ··<script>654 ··<script>
655 ··let·initialized·=·false;655 ··let·initialized·=·false;
583 B
html2text {}
Max HTML report size reached
3.82 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/automaticyieldingofccode.html
    
Offset 209, 17 lines modifiedOffset 209, 17 lines modified
209 they·have·to·follow·certain·restrictions.·The·convention·for·making209 they·have·to·follow·certain·restrictions.·The·convention·for·making
210 this·clear·is·to·have·a·comment·above·the·function·that·explains·that210 this·clear·is·to·have·a·comment·above·the·function·that·explains·that
211 the·function·is·transformed·by·YCF·(see·<code·class="inline">maps_values_1_helper</code>·in211 the·function·is·transformed·by·YCF·(see·<code·class="inline">maps_values_1_helper</code>·in
212 <code·class="inline">erl_map.c</code>·for·an·example).·If·only·the·transformed·version·of·the212 <code·class="inline">erl_map.c</code>·for·an·example).·If·only·the·transformed·version·of·the
213 function·is·used,·the·convention·is·to·&quot;comment·out&quot;·the·source·for·the213 function·is·used,·the·convention·is·to·&quot;comment·out&quot;·the·source·for·the
214 function·by·surrounding·it·with·the·following·<code·class="inline">#ifdef</code>·(this·way,·one214 function·by·surrounding·it·with·the·following·<code·class="inline">#ifdef</code>·(this·way,·one
215 will·not·get·warnings·about·unused·functions):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">#</span><span·class="ss">ifdef</span><span·class="w">·</span><span·class="n">INCLUDE_YCF_TRANSFORMED_ONLY_FUNCTIONS</span><span·class="w">215 will·not·get·warnings·about·unused·functions):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">#</span><span·class="ss">ifdef</span><span·class="w">·</span><span·class="n">INCLUDE_YCF_TRANSFORMED_ONLY_FUNCTIONS</span><span·class="w">
216 </span><span·class="ss">void</span><span·class="w">·</span><span·class="nf">my_fun</span><span·class="p"·data-group-id="3154859693-1">(</span><span·class="p"·data-group-id="3154859693-1">)</span><span·class="w">·</span><span·class="p"·data-group-id="3154859693-2">{</span><span·class="w">216 </span><span·class="ss">void</span><span·class="w">·</span><span·class="nf">my_fun</span><span·class="p"·data-group-id="5840090326-1">(</span><span·class="p"·data-group-id="5840090326-1">)</span><span·class="w">·</span><span·class="p"·data-group-id="5840090326-2">{</span><span·class="w">
217 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">217 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
218 </span><span·class="p"·data-group-id="3154859693-2">}</span><span·class="w">218 </span><span·class="p"·data-group-id="5840090326-2">}</span><span·class="w">
219 </span><span·class="p">#</span><span·class="ss">endif</span><span·class="w">·</span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="n">INCLUDE_YCF_TRANSFORMED_ONLY_FUNCTIONS</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span></code></pre><p>While·editing·the·function·one·can·define219 </span><span·class="p">#</span><span·class="ss">endif</span><span·class="w">·</span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="n">INCLUDE_YCF_TRANSFORMED_ONLY_FUNCTIONS</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span></code></pre><p>While·editing·the·function·one·can·define
220 <code·class="inline">INCLUDE_YCF_TRANSFORMED_ONLY_FUNCTIONS</code>·so·that·one·can·see·errors220 <code·class="inline">INCLUDE_YCF_TRANSFORMED_ONLY_FUNCTIONS</code>·so·that·one·can·see·errors
221 and·warnings·in·the·non-transformed·source.</p><h3·id="where-to-place-ycf-transformed-functions"·class="section-heading">221 and·warnings·in·the·non-transformed·source.</p><h3·id="where-to-place-ycf-transformed-functions"·class="section-heading">
222 ··<a·href="#where-to-place-ycf-transformed-functions"·class="hover-link">222 ··<a·href="#where-to-place-ycf-transformed-functions"·class="hover-link">
223 ····<i·class="ri-link-m"·aria-hidden="true"></i>223 ····<i·class="ri-link-m"·aria-hidden="true"></i>
224 ··</a>224 ··</a>
225 ··<span·class="text">Where·to·Place·YCF·Transformed·Functions</span>225 ··<span·class="text">Where·to·Place·YCF·Transformed·Functions</span>
Offset 365, 15 lines modifiedOffset 365, 15 lines modified
365 ······<p·class="built-using">365 ······<p·class="built-using">
366 ········Built·using366 ········Built·using
367 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the367 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
368 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>368 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
369 ······</p>369 ······</p>
370 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>370 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
371 ····</footer>371 ····</footer>
372 ··</div>372 ··</div>
373 </main>373 </main>
374 </div>374 </div>
375 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>375 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
376 ··<script>376 ··<script>
377 ··let·initialized·=·false;377 ··let·initialized·=·false;
663 B
html2text {}
Max HTML report size reached
284 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/beam_makeops.html
Max HTML report size reached
45.9 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/beamasm.html
    
Offset 145, 26 lines modifiedOffset 145, 26 lines modified
145 </h2>145 </h2>
146 <p>The·code·is·loaded·very·similarly·to·how·it·is·loaded·for·the·interpreter.·Each·beam146 <p>The·code·is·loaded·very·similarly·to·how·it·is·loaded·for·the·interpreter.·Each·beam
147 file·is·parsed·and·then·optimized·through·the·transformations·described·in147 file·is·parsed·and·then·optimized·through·the·transformations·described·in
148 <a·href="beam_makeops.html#defining-transformation-rules">beam_makeops</a>.·The·transformations148 <a·href="beam_makeops.html#defining-transformation-rules">beam_makeops</a>.·The·transformations
149 used·in·BeamAsm·are·much·simpler·than·the·interpreter's,·as·most·of·the149 used·in·BeamAsm·are·much·simpler·than·the·interpreter's,·as·most·of·the
150 transformations·for·the·interpreter·are·done·only·to·eliminate·the·instruction150 transformations·for·the·interpreter·are·done·only·to·eliminate·the·instruction
151 dispatch·overhead.</p><p>Then·each·instruction·is·encoded·using·the·C++·functions·in·the151 dispatch·overhead.</p><p>Then·each·instruction·is·encoded·using·the·C++·functions·in·the
152 <code·class="inline">jit/$ARCH/instr_*.cpp</code>·files.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">void</span><span·class="w">·</span><span·class="n">BeamModuleAssembler</span><span·class="p">:</span><span·class="p">:</span><span·class="nf">emit_is_nonempty_list</span><span·class="p"·data-group-id="4450180525-1">(</span><span·class="ss">const</span><span·class="w">·</span><span·class="n">ArgVal</span><span·class="w">·</span><span·class="err">&amp;</span><span·class="n">Fail</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">const<[·...·truncated·by·diffoscope;·len:·257,·SHA:·2d048837a5ea9f90f066676083b68b608a3c40ac0fa12674f6049120bfc1ecdc·...·]-2">{</span><span·class="w">152 <code·class="inline">jit/$ARCH/instr_*.cpp</code>·files.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">void</span><span·class="w">·</span><span·class="n">BeamModuleAssembler</span><span·class="p">:</span><span·class="p">:</span><span·class="nf">emit_is_nonempty_list</span><span·class="p"·data-group-id="9913462527-1">(</span><span·class="ss">const</span><span·class="w">·</span><span·class="n">ArgVal</span><span·class="w">·</span><span·class="err">&amp;</span><span·class="n">Fail</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">const<[·...·truncated·by·diffoscope;·len:·257,·SHA:·943c4731900955fe9e97b86660820d8a18a42ec881e0483395f5f46f475a3543·...·]-2">{</span><span·class="w">
153 ··</span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">test</span><span·class="p"·data-group-id="4450180525-3">(</span><span·class="nf">getArgRef</span><span·class="p"·data-group-id="4450180525-4">(</span><span·class="n">Src</span><span·class="p"·data-group-id="4450180525-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">imm<[·...·truncated·by·diffoscope;·len:·327,·SHA:·23208d786021277a4f462f25ae6276264dd7d0345c30f0eeb025f5102dc1c017·...·]-3">)</span><span·class="p">;</span><span·class="w">153 ··</span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">test</span><span·class="p"·data-group-id="9913462527-3">(</span><span·class="nf">getArgRef</span><span·class="p"·data-group-id="9913462527-4">(</span><span·class="n">Src</span><span·class="p"·data-group-id="9913462527-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">imm<[·...·truncated·by·diffoscope;·len:·327,·SHA:·463d5086b7614822d1775447fb6435c2f9938469e7e1efed16508470d76a5dea·...·]-3">)</span><span·class="p">;</span><span·class="w">
154 ··</span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">jne</span><span·class="p"·data-group-id="4450180525-6">(</span><span·class="ss">labels</span><span·class="p"·data-group-id="4450180525-7">[</span><span·class="n">Fail</span><span·class="p">.</span><span·class="nf">getLabel</span><span·class="p"·data-group-id="4450180525-8">(</span><span·class="p"[·...·truncated·by·diffoscope;·len:·132,·SHA:·68ac55958e82dbd5122966f862548feb425a34976de061a80ac150fc79535c59·...·]-6">)</span><span·class="p">;</span><span·class="w">154 ··</span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">jne</span><span·class="p"·data-group-id="9913462527-6">(</span><span·class="ss">labels</span><span·class="p"·data-group-id="9913462527-7">[</span><span·class="n">Fail</span><span·class="p">.</span><span·class="nf">getLabel</span><span·class="p"·data-group-id="9913462527-8">(</span><span·class="p"[·...·truncated·by·diffoscope;·len:·132,·SHA:·07b41b638cdd2febfaaceb43431fbbc5ec03ef58aa02ce87d1aadf344dc8d785·...·]-6">)</span><span·class="p">;</span><span·class="w">
155 </span><span·class="p"·data-group-id="4450180525-2">}</span></code></pre><p><a·href="https://github.com/asmjit/asmjit">asmjit</a>·provides·a·fairly·straightforward155 </span><span·class="p"·data-group-id="9913462527-2">}</span></code></pre><p><a·href="https://github.com/asmjit/asmjit">asmjit</a>·provides·a·fairly·straightforward
156 mapping·from·a·C++·function·call·to·the·x86·assembly·instruction.·The·above156 mapping·from·a·C++·function·call·to·the·x86·assembly·instruction.·The·above
157 instruction·tests·if·the·value·in·the·<code·class="inline">Src</code>·register·is·a·non-empty·list·and·if157 instruction·tests·if·the·value·in·the·<code·class="inline">Src</code>·register·is·a·non-empty·list·and·if
158 it·is·not·then·it·jumps·to·the·fail·label.</p><p>For·comparison,·the·interpreter·has·8·combinations·and·specializations·of158 it·is·not·then·it·jumps·to·the·fail·label.</p><p>For·comparison,·the·interpreter·has·8·combinations·and·specializations·of
159 this·implementation·to·minimize·the·instruction·dispatch·overhead·for159 this·implementation·to·minimize·the·instruction·dispatch·overhead·for
160 common·patterns.</p><p>The·original·register·allocation·done·by·the·Erlang·compiler·is·used·to·manage·the160 common·patterns.</p><p>The·original·register·allocation·done·by·the·Erlang·compiler·is·used·to·manage·the
161 liveness·of·values·and·the·physical·registers·are·statically·allocated·to·keep161 liveness·of·values·and·the·physical·registers·are·statically·allocated·to·keep
162 the·necessary·process·state.·At·the·moment·this·is·the·static·register162 the·necessary·process·state.·At·the·moment·this·is·the·static·register
163 allocation·on·x86-64:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">rbx</span><span·class="p">:</span><span·class="w">·</span><span·class="n">ErtsSchedulerRegisters</span><span·class="w">·</span><span·class="nf">struct</span><span·class="w">·</span><span·class="p"·data-group-id="9803141397-1">(</span><span·class="ss">contains</span><span·class="w">·</span><span·class="ss">x</span><span·class="o">/</span><span·class="nb">float</span><span·class="w">·</span><span·class="ss">registers</span><span·class="w">·</span><span·class="ow">an[·...·truncated·by·diffoscope;·len:·157,·SHA:·03fc451d3c67c32f6d3d5e80c9a151f5177d44b68e9a1e249dbce7006fd7671d·...·]-1">)</span><span·class="w">163 allocation·on·x86-64:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">rbx</span><span·class="p">:</span><span·class="w">·</span><span·class="n">ErtsSchedulerRegisters</span><span·class="w">·</span><span·class="nf">struct</span><span·class="w">·</span><span·class="p"·data-group-id="2623129933-1">(</span><span·class="ss">contains</span><span·class="w">·</span><span·class="ss">x</span><span·class="o">/</span><span·class="nb">float</span><span·class="w">·</span><span·class="ss">registers</span><span·class="w">·</span><span·class="ow">an[·...·truncated·by·diffoscope;·len:·157,·SHA:·e73bff27e9f197215d580a5ab0ee5750e9d7c2e35d0a3e2d036eec6ca6a3d163·...·]-1">)</span><span·class="w">
164 </span><span·class="nc">rbp</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Current</span><span·class="w">·</span><span·class="ss">frame</span><span·class="w">·</span><span·class="ss">pointer</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="err">`</span><span·class="ss">perf</span><span·class="err">`</span><span·class="w">·</span><span·class="ss">support</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">enabled</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">otherwise</span><span·class="w">·</span><span·class="ss">this</span><span·class="w">164 </span><span·class="nc">rbp</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Current</span><span·class="w">·</span><span·class="ss">frame</span><span·class="w">·</span><span·class="ss">pointer</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="err">`</span><span·class="ss">perf</span><span·class="err">`</span><span·class="w">·</span><span·class="ss">support</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">enabled</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">otherwise</span><span·class="w">·</span><span·class="ss">this</span><span·class="w">
165 ·····</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">an</span><span·class="w">·</span><span·class="ss">optional</span><span·class="w">·</span><span·class="ss">save</span><span·class="w">·</span><span·class="ss">slot</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="n">Erlang</span><span·class="w">·</span><span·class="ss">stack</span><span·class="w">·</span><span·class="ss">pointer</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="ss">executing</span><span·class="w">·</span><span·class="n">C</span><span·class="w">165 ·····</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">an</span><span·class="w">·</span><span·class="ss">optional</span><span·class="w">·</span><span·class="ss">save</span><span·class="w">·</span><span·class="ss">slot</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="n">Erlang</span><span·class="w">·</span><span·class="ss">stack</span><span·class="w">·</span><span·class="ss">pointer</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="ss">executing</span><span·class="w">·</span><span·class="n">C</span><span·class="w">
166 ·····</span><span·class="ss">code</span><span·class="p">.</span><span·class="w">166 ·····</span><span·class="ss">code</span><span·class="p">.</span><span·class="w">
167 </span><span·class="nc">r12</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Active</span><span·class="w">·</span><span·class="ss">code</span><span·class="w">·</span><span·class="ss">index</span><span·class="w">167 </span><span·class="nc">r12</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Active</span><span·class="w">·</span><span·class="ss">code</span><span·class="w">·</span><span·class="ss">index</span><span·class="w">
168 </span><span·class="nc">r13</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Current</span><span·class="w">·</span><span·class="ss">running</span><span·class="w">·</span><span·class="ss">process</span><span·class="w">168 </span><span·class="nc">r13</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Current</span><span·class="w">·</span><span·class="ss">running</span><span·class="w">·</span><span·class="ss">process</span><span·class="w">
169 </span><span·class="nc">r14</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Remaining</span><span·class="w">·</span><span·class="ss">reductions</span><span·class="w">169 </span><span·class="nc">r14</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Remaining</span><span·class="w">·</span><span·class="ss">reductions</span><span·class="w">
170 </span><span·class="nc">r15</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Erlang</span><span·class="w">·</span><span·class="ss">heap</span><span·class="w">·</span><span·class="ss">pointer</span></code></pre><p>Note·that·all·of·these·are·callee·save·registers·under·the·System·V·and·Windows170 </span><span·class="nc">r15</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Erlang</span><span·class="w">·</span><span·class="ss">heap</span><span·class="w">·</span><span·class="ss">pointer</span></code></pre><p>Note·that·all·of·these·are·callee·save·registers·under·the·System·V·and·Windows
Offset 183, 21 lines modifiedOffset 183, 21 lines modified
183 shared·and·only·the·arguments·to·the·instructions·vary.·Using·as·little·memory·as183 shared·and·only·the·arguments·to·the·instructions·vary.·Using·as·little·memory·as
184 possible·has·many·advantages;·less·memory·is·used,·loading·time·decreases,184 possible·has·many·advantages;·less·memory·is·used,·loading·time·decreases,
185 higher·cache·hit-rate.</p><p>In·BeamAsm·we·need·to·achieve·something·similar·since·the·load-time·of·a·module185 higher·cache·hit-rate.</p><p>In·BeamAsm·we·need·to·achieve·something·similar·since·the·load-time·of·a·module
186 scales·almost·linearly·with·the·amount·of·memory·it·uses.·Early·BeamAsm·prototypes186 scales·almost·linearly·with·the·amount·of·memory·it·uses.·Early·BeamAsm·prototypes
187 used·about·double·the·amount·of·memory·for·code·as·the·interpreter,·while·current187 used·about·double·the·amount·of·memory·for·code·as·the·interpreter,·while·current
188 versions·use·about·10%·more.·How·was·this·achieved?</p><p>In·BeamAsm·we·heavily·use·shared·code·fragments·to·try·to·emit·as·much·code·as188 versions·use·about·10%·more.·How·was·this·achieved?</p><p>In·BeamAsm·we·heavily·use·shared·code·fragments·to·try·to·emit·as·much·code·as
189 possible·as·global·shared·fragments·instead·of·duplicating·the·code·unnecessarily.189 possible·as·global·shared·fragments·instead·of·duplicating·the·code·unnecessarily.
190 For·instance,·the·return·instruction·looks·something·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Label</span><span·class="w">·</span><span·class="ss">yield</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">newLabel</span><span·class="p"·data-group-id="5127795612-1">(</span><span·class="p"·data-group-id="5127795612-1">)</span><span·class="p">;</span><span·class="w">190 For·instance,·the·return·instruction·looks·something·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Label</span><span·class="w">·</span><span·class="ss">yield</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">newLabel</span><span·class="p"·data-group-id="1416426522-1">(</span><span·class="p"·data-group-id="1416426522-1">)</span><span·class="p">;</span><span·class="w">
  
191 </span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="n">Decrement</span><span·class="w">·</span><span·class="ss">reduction</span><span·class="w">·</span><span·class="ss">counter</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">191 </span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="n">Decrement</span><span·class="w">·</span><span·class="ss">reduction</span><span·class="w">·</span><span·class="ss">counter</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">
192 </span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">dec</span><span·class="p"·data-group-id="5127795612-2">(</span><span·class="n">FCALLS</span><span·class="p"·data-group-id="5127795612-2">)</span><span·class="p">;</span><span·class="w">192 </span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">dec</span><span·class="p"·data-group-id="1416426522-2">(</span><span·class="n">FCALLS</span><span·class="p"·data-group-id="1416426522-2">)</span><span·class="p">;</span><span·class="w">
193 </span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="n">If</span><span·class="w">·</span><span·class="n">FCALLS</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">jump</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">yield</span><span·class="o">-</span><span·class="ss">on</span><span·class="o">-</span><span·class="ss">return</span><span·class="w">·</span><span·class="ss">fragment</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">193 </span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="n">If</span><span·class="w">·</span><span·class="n">FCALLS</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">jump</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">yield</span><span·class="o">-</span><span·class="ss">on</span><span·class="o">-</span><span·class="ss">return</span><span·class="w">·</span><span·class="ss">fragment</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">
194 </span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">jl</span><span·class="p"·data-group-id="5127795612-3">(</span><span·class="nf">resolve_fragment</span><span·class="p"·data-group-id="5127795612-4">(</span><span·class="ss">ga</span><span·class="p">-&gt;</span><span·class="nf">get_dispatch_return</span><span·class="p"·data-group-id="5127795612-5"[·...·truncated·by·diffoscope;·len:·155,·SHA:·f7072d70175f4676a42076ae950fb78e64f3e7b44553de4ecd2ac2276eb5a5e1·...·]2-3">)</span><span·class="p">;</span><span·class="w">194 </span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">jl</span><span·class="p"·data-group-id="1416426522-3">(</span><span·class="nf">resolve_fragment</span><span·class="p"·data-group-id="1416426522-4">(</span><span·class="ss">ga</span><span·class="p">-&gt;</span><span·class="nf">get_dispatch_return</span><span·class="p"·data-group-id="1416426522-5"[·...·truncated·by·diffoscope;·len:·155,·SHA:·b3b9975b9583abe7627a0d1ccd427826985ea658931a6701a1fef971dd29f94c·...·]2-3">)</span><span·class="p">;</span><span·class="w">
195 </span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">ret</span><span·class="p"·data-group-id="5127795612-6">(</span><span·class="p"·data-group-id="5127795612-6">)</span><span·class="p">;</span></code></pre><p>The·code·above·is·not·exactly·what·is·emitted,·but·close·enough.·The·thing·to·note195 </span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">ret</span><span·class="p"·data-group-id="1416426522-6">(</span><span·class="p"·data-group-id="1416426522-6">)</span><span·class="p">;</span></code></pre><p>The·code·above·is·not·exactly·what·is·emitted,·but·close·enough.·The·thing·to·note
196 is·that·the·code·for·doing·the·context·switch·is·never·emitted.·Instead,·we·jump196 is·that·the·code·for·doing·the·context·switch·is·never·emitted.·Instead,·we·jump
197 to·a·global·fragment·that·all·return·instructions·share.·This·greatly·reduces197 to·a·global·fragment·that·all·return·instructions·share.·This·greatly·reduces
198 the·amount·of·code·that·has·to·be·emitted·for·each·module.</p><h2·id="running-erlang-code"·class="section-heading">198 the·amount·of·code·that·has·to·be·emitted·for·each·module.</p><h2·id="running-erlang-code"·class="section-heading">
199 ··<a·href="#running-erlang-code"·class="hover-link">199 ··<a·href="#running-erlang-code"·class="hover-link">
200 ····<i·class="ri-link-m"·aria-hidden="true"></i>200 ····<i·class="ri-link-m"·aria-hidden="true"></i>
201 ··</a>201 ··</a>
202 ··<span·class="text">Running·Erlang·code</span>202 ··<span·class="text">Running·Erlang·code</span>
Offset 239, 43 lines modifiedOffset 239, 43 lines modified
239 ··<a·href="#running-c-code"·class="hover-link">239 ··<a·href="#running-c-code"·class="hover-link">
240 ····<i·class="ri-link-m"·aria-hidden="true"></i>240 ····<i·class="ri-link-m"·aria-hidden="true"></i>
241 ··</a>241 ··</a>
242 ··<span·class="text">Running·C·code</span>242 ··<span·class="text">Running·C·code</span>
243 </h2>243 </h2>
244 <p>As·Erlang·stacks·can·be·very·small,·we·have·to·switch·over·to·a·different·stack244 <p>As·Erlang·stacks·can·be·very·small,·we·have·to·switch·over·to·a·different·stack
245 when·we·need·to·execute·C·code·(which·may·expect·a·much·larger·stack).·This·is245 when·we·need·to·execute·C·code·(which·may·expect·a·much·larger·stack).·This·is
246 done·through·<code·class="inline">emit_enter_runtime</code>·and·<code·class="inline">emit_leave_runtime</code>,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">mov_arg</span><span·class="p"·data-group-id="0308250141-1">(</span><span·class="n">ARG4</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NumFree</span><span·class="p"·data-group-id="0308250141-1">)</span><span·class="p">;</span><span·class="w">246 done·through·<code·class="inline">emit_enter_runtime</code>·and·<code·class="inline">emit_leave_runtime</code>,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">mov_arg</span><span·class="p"·data-group-id="2330771685-1">(</span><span·class="n">ARG4</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NumFree</span><span·class="p"·data-group-id="2330771685-1">)</span><span·class="p">;</span><span·class="w">
  
247 </span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="n">Move</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="n">C</span><span·class="w">·</span><span·class="ss">stack</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="ss">swap</span><span·class="w">·</span><span·class="ss">out</span><span·class="w">·</span><span·class="ss">our</span><span·class="w">·</span><span·class="ss">current</span><span·class="w">·</span><span·class="ss">reductions</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stack</span><span·class="o">-</span><span·class="p">,</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">247 </span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="n">Move</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="n">C</span><span·class="w">·</span><span·class="ss">stack</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="ss">swap</span><span·class="w">·</span><span·class="ss">out</span><span·class="w">·</span><span·class="ss">our</span><span·class="w">·</span><span·class="ss">current</span><span·class="w">·</span><span·class="ss">reductions</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stack</span><span·class="o">-</span><span·class="p">,</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">
248 ·</span><span·class="o">*</span><span·class="w">·</span><span·class="ss">heap</span><span·class="w">·</span><span·class="ss">pointer</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">process</span><span·class="w">·</span><span·class="ss">structure</span><span·class="p">.</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">248 ·</span><span·class="o">*</span><span·class="w">·</span><span·class="ss">heap</span><span·class="w">·</span><span·class="ss">pointer</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">process</span><span·class="w">·</span><span·class="ss">structure</span><span·class="p">.</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">
249 </span><span·class="ss">emit_enter_runtime</span><span·class="o">&lt;</span><span·class="n">Update</span><span·class="p">:</span><span·class="p">:</span><span·class="ss">eReductions</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Update</span><span·class="p">:</span><span·class="p">:</span><span·class="ss">eStack</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Update</span><span·class="p">:</span><span·class="p">:</span><span·class="ss">eHeap</span><span·class="o">&gt;</span><span·class="p"·data-group-id="0308250141-2">(</span><span·class="p"·data-group-id="0308250141-2">)</span><span·class="p">;</span><span·class="w">249 </span><span·class="ss">emit_enter_runtime</span><span·class="o">&lt;</span><span·class="n">Update</span><span·class="p">:</span><span·class="p">:</span><span·class="ss">eReductions</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Update</span><span·class="p">:</span><span·class="p">:</span><span·class="ss">eStack</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Update</span><span·class="p">:</span><span·class="p">:</span><span·class="ss">eHeap</span><span·class="o">&gt;</span><span·class="p"·data-group-id="2330771685-2">(</span><span·class="p"·data-group-id="2330771685-2">)</span><span·class="p">;</span><span·class="w">
  
250 </span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">mov</span><span·class="p"·data-group-id="0308250141-3">(</span><span·class="n">ARG1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">c_p</span><span·class="p"·data-group-id="0308250141-3">)</span><span·class="p">;</span><span·class="w">250 </span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">mov</span><span·class="p"·data-group-id="2330771685-3">(</span><span·class="n">ARG1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">c_p</span><span·class="p"·data-group-id="2330771685-3">)</span><span·class="p">;</span><span·class="w">
251 </span><span·class="nf">load_x_reg_array</span><span·class="p"·data-group-id="0308250141-4">(</span><span·class="n">ARG2</span><span·class="p"·data-group-id="0308250141-4">)</span><span·class="p">;</span><span·class="w">251 </span><span·class="nf">load_x_reg_array</span><span·class="p"·data-group-id="2330771685-4">(</span><span·class="n">ARG2</span><span·class="p"·data-group-id="2330771685-4">)</span><span·class="p">;</span><span·class="w">
252 </span><span·class="nf">make_move_patch</span><span·class="p"·data-group-id="0308250141-5">(</span><span·class="n">ARG3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">lambdas</span><span·class="p"·data-group-id="0308250141-6">[</span><span·class="n">Fun</span><span·class="p">.</span><span·class="nf">getValue[·...·truncated·by·diffoscope;·len:·262,·SHA:·75bc83514ccaeb73de252e1bb04a6b94282072353ef23a66571ec5ac8678487d·...·]-5">)</span><span·class="p">;</span><span·class="w">252 </span><span·class="nf">make_move_patch</span><span·class="p"·data-group-id="2330771685-5">(</span><span·class="n">ARG3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">lambdas</span><span·class="p"·data-group-id="2330771685-6">[</span><span·class="n">Fun</span><span·class="p">.</span><span·class="nf">getValue[·...·truncated·by·diffoscope;·len:·262,·SHA:·074c2ed1c8a4b36b9dd365e1b97f06e96f76255d89886773b01d04b01fe1b59b·...·]-5">)</span><span·class="p">;</span><span·class="w">
  
253 </span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="n">Call</span><span·class="w">·</span><span·class="err">`</span><span·class="ss">new_fun</span><span·class="err">`</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">asserting</span><span·class="w">·</span><span·class="ss">that</span><span·class="w">·</span><span·class="ss">we</span><span·class="err">&#39;</span><span·class="ss">re</span><span·class="w">·</span><span·class="ss">on</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="n">C</span><span·class="w">·</span><span·class="ss">stack</span><span·class="p">.</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">253 </span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="n">Call</span><span·class="w">·</span><span·class="err">`</span><span·class="ss">new_fun</span><span·class="err">`</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">asserting</span><span·class="w">·</span><span·class="ss">that</span><span·class="w">·</span><span·class="ss">we</span><span·class="err">&#39;</span><span·class="ss">re</span><span·class="w">·</span><span·class="ss">on</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="n">C</span><span·class="w">·</span><span·class="ss">stack</span><span·class="p">.</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">
254 </span><span·class="ss">runtime_call</span><span·class="o">&lt;</span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="p"·data-group-id="0308250141-8">(</span><span·class="ss">new_fun</span><span·class="p"·data-group-id="0308250141-8">)</span><span·class="p">;</span><span·class="w">254 </span><span·class="ss">runtime_call</span><span·class="o">&lt;</span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="p"·data-group-id="2330771685-8">(</span><span·class="ss">new_fun</span><span·class="p"·data-group-id="2330771685-8">)</span><span·class="p">;</span><span·class="w">
  
255 </span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="n">Move</span><span·class="w">·</span><span·class="ss">back</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="n">C</span><span·class="w">·</span><span·class="ss">stack</span><span·class="p">,</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="ss">read</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">updated</span><span·class="w">·</span><span·class="ss">values</span><span·class="w">·</span><span·class="ss">from</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">process</span><span·class="w">255 </span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="n">Move</span><span·class="w">·</span><span·class="ss">back</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="n">C</span><span·class="w">·</span><span·class="ss">stack</span><span·class="p">,</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="ss">read</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">updated</span><span·class="w">·</span><span·class="ss">values</span><span·class="w">·</span><span·class="ss">from</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">process</span><span·class="w">
256 ·</span><span·class="o">*</span><span·class="w">·</span><span·class="ss">structure</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">256 ·</span><span·class="o">*</span><span·class="w">·</span><span·class="ss">structure</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">
257 </span><span·class="ss">emit_leave_runtime</span><span·class="o">&lt;</span><span·class="n">Update</span><span·class="p">:</span><span·class="p">:</span><span·class="ss">eReductions</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Update</span><span·class="p">:</span><span·class="p">:</span><span·class="ss">eStack</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Update</span><span·class="p">:</span><span·class="p">:</span><span·class="ss">eHeap</span><span·class="o">&gt;</span><span·class="p"·data-group-id="0308250141-9">(</span><span·class="p"·data-group-id="0308250141-9">)</span><span·class="p">;</span><span·class="w">257 </span><span·class="ss">emit_leave_runtime</span><span·class="o">&lt;</span><span·class="n">Update</span><span·class="p">:</span><span·class="p">:</span><span·class="ss">eReductions</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Update</span><span·class="p">:</span><span·class="p">:</span><span·class="ss">eStack</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Update</span><span·class="p">:</span><span·class="p">:</span><span·class="ss">eHeap</span><span·class="o">&gt;</span><span·class="p"·data-group-id="2330771685-9">(</span><span·class="p"·data-group-id="2330771685-9">)</span><span·class="p">;</span><span·class="w">
  
258 </span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">mov</span><span·class="p"·data-group-id="0308250141-10">(</span><span·class="nf">getXRef</span><span·class="p"·data-group-id="0308250141-11">(</span><span·class="mi">0</span><span·class="p"·data-group-id="0308250141-11">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RET</[·...·truncated·by·diffoscope;·len:·46,·SHA:·8e71483f99103ac64a8bcd32ee681d5cd2bc7e85e39250d6654fed19a9a93784·...·]-10">)</span><span·class="p">;</span></code></pre><p>All·combinations·of·the·<code·class="inline">Update</code>·constants·are·legal,·but·the·ones·given·to258 </span><span·class="ss">a</span><span·class="p">.</span><span·class="nf">mov</span><span·class="p"·data-group-id="2330771685-10">(</span><span·class="nf">getXRef</span><span·class="p"·data-group-id="2330771685-11">(</span><span·class="mi">0</span><span·class="p"·data-group-id="2330771685-11">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RET</[·...·truncated·by·diffoscope;·len:·46,·SHA:·6cbbfc3b02adcf0557199c10faabcaf8bcb5dc5f04dc45383beddb7d8a82ede3·...·]-10">)</span><span·class="p">;</span></code></pre><p>All·combinations·of·the·<code·class="inline">Update</code>·constants·are·legal,·but·the·ones·given·to
259 <code·class="inline">emit_leave_runtime</code>·<em>must</em>·be·the·same·as·those·given·to·<code·class="inline">emit_enter_runtime</code>.</p><h2·id="tracing-and-nif-loading"·class="section-heading">259 <code·class="inline">emit_leave_runtime</code>·<em>must</em>·be·the·same·as·those·given·to·<code·class="inline">emit_enter_runtime</code>.</p><h2·id="tracing-and-nif-loading"·class="section-heading">
260 ··<a·href="#tracing-and-nif-loading"·class="hover-link">260 ··<a·href="#tracing-and-nif-loading"·class="hover-link">
261 ····<i·class="ri-link-m"·aria-hidden="true"></i>261 ····<i·class="ri-link-m"·aria-hidden="true"></i>
262 ··</a>262 ··</a>
263 ··<span·class="text">Tracing·and·NIF·Loading</span>263 ··<span·class="text">Tracing·and·NIF·Loading</span>
264 </h2>264 </h2>
265 <p>To·make·tracing·and·NIF·loading·work·there·needs·to·be·a·way·to·intercept265 <p>To·make·tracing·and·NIF·loading·work·there·needs·to·be·a·way·to·intercept
266 any·function·call.·In·the·interpreter,·this·is·done·by·rewriting·the·loaded266 any·function·call.·In·the·interpreter,·this·is·done·by·rewriting·the·loaded
267 BEAM·code,·but·this·is·more·complicated·in·BeamAsm·as·we·want·to·have·a·fast267 BEAM·code,·but·this·is·more·complicated·in·BeamAsm·as·we·want·to·have·a·fast
268 and·compact·way·to·do·this.·This·is·solved·by·emitting·the·code·below·at·the268 and·compact·way·to·do·this.·This·is·solved·by·emitting·the·code·below·at·the
269 start·of·each·function·(x86·variant·below):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="mi">0</span><span·class="nc">x0</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">short</span><span·class="w">·</span><span·class="ss">jmp</span><span·class="w">·</span><span·class="mi">6</span><span·class="w">·</span><span·class="p"·data-group-id="4142667241-1">(</span><span·class="ss">address</span><span·class="w">·</span><span·class="mi">0</span><span·class="ss">x8</span><span·class="p"·data-group-id="4142667241-1">)</span><span·class="w">269 start·of·each·function·(x86·variant·below):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="mi">0</span><span·class="nc">x0</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">short</span><span·class="w">·</span><span·class="ss">jmp</span><span·class="w">·</span><span·class="mi">6</span><span·class="w">·</span><span·class="p"·data-group-id="7237618200-1">(</span><span·class="ss">address</span><span·class="w">·</span><span·class="mi">0</span><span·class="ss">x8</span><span·class="p"·data-group-id="7237618200-1">)</span><span·class="w">
270 ··</span><span·class="mi">0</span><span·class="nc">x2</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">nop</span><span·class="w">270 ··</span><span·class="mi">0</span><span·class="nc">x2</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">nop</span><span·class="w">
271 ··</span><span·class="mi">0</span><span·class="nc">x3</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">relative</span><span·class="w">·</span><span·class="ss">near</span><span·class="w">·</span><span·class="ss">call</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">shared</span><span·class="w">·</span><span·class="ss">breakpoint</span><span·class="w">·</span><span·class="ss">fragment</span><span·class="w">271 ··</span><span·class="mi">0</span><span·class="nc">x3</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">relative</span><span·class="w">·</span><span·class="ss">near</span><span·class="w">·</span><span·class="ss">call</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">shared</span><span·class="w">·</span><span·class="ss">breakpoint</span><span·class="w">·</span><span·class="ss">fragment</span><span·class="w">
272 ··</span><span·class="mi">0</span><span·class="nc">x8</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">actual</span><span·class="w">·</span><span·class="ss">code</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">function</span></code></pre><p>When·code·starts·to·execute·it·will·simply·see·the·<code·class="inline">short·jmp·6</code>·instruction272 ··</span><span·class="mi">0</span><span·class="nc">x8</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">actual</span><span·class="w">·</span><span·class="ss">code</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">function</span></code></pre><p>When·code·starts·to·execute·it·will·simply·see·the·<code·class="inline">short·jmp·6</code>·instruction
273 which·skips·the·prologue·and·starts·to·execute·the·code·directly.</p><p>When·we·want·to·enable·a·certain·breakpoint·we·set·the·jmp·target·to·be·1,273 which·skips·the·prologue·and·starts·to·execute·the·code·directly.</p><p>When·we·want·to·enable·a·certain·breakpoint·we·set·the·jmp·target·to·be·1,
274 which·means·it·will·land·on·the·call·to·the·shared·breakpoint·fragment.·This274 which·means·it·will·land·on·the·call·to·the·shared·breakpoint·fragment.·This
275 fragment·checks·the·current·<code·class="inline">breakpoint_flag</code>·stored·in·the·ErtsCodeInfo·of275 fragment·checks·the·current·<code·class="inline">breakpoint_flag</code>·stored·in·the·ErtsCodeInfo·of
276 this·function,·and·then·calls·<code·class="inline">erts_call_nif_early</code>·and276 this·function,·and·then·calls·<code·class="inline">erts_call_nif_early</code>·and
Offset 289, 31 lines modifiedOffset 289, 31 lines modified
289 ··<span·class="text">Updating·code</span>289 ··<span·class="text">Updating·code</span>
290 </h3>290 </h3>
291 <p>Because·many·environments·enforce·<a·href="https://en.wikipedia.org/wiki/W%5EX"·title="">W^X</a>·it's·not·always·possible·to·write291 <p>Because·many·environments·enforce·<a·href="https://en.wikipedia.org/wiki/W%5EX"·title="">W^X</a>·it's·not·always·possible·to·write
292 directly·to·the·code·pages.·Because·of·this·we·map·code·twice:·once·with·an292 directly·to·the·code·pages.·Because·of·this·we·map·code·twice:·once·with·an
293 executable·page·and·once·with·a·writable·page.·Since·they're·backed·by·the293 executable·page·and·once·with·a·writable·page.·Since·they're·backed·by·the
294 same·memory,·writes·to·the·writable·page·appear·magically·in·the·executable294 same·memory,·writes·to·the·writable·page·appear·magically·in·the·executable
295 one.</p><p>The·<code·class="inline">erts_writable_code_ptr</code>·function·can·be·used·to·get·writable·pointers295 one.</p><p>The·<code·class="inline">erts_writable_code_ptr</code>·function·can·be·used·to·get·writable·pointers
296 given·a·module·instance,·provided·that·it·has·been·unsealed·first:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">for</span><span·class="w">·</span><span·class="p"·data-group-id="4416282813-1">(</span><span·class="ss">i</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">;</span><span·class="w">·</span><span·class="ss">i</span><span·class="w">·</span><span·class="o"[·...·truncated·by·diffoscope;·len:·277,·SHA:·3f27c28481a56cc6b957e42a15d9fe85d9c86c28d6efe226c320129212708fc9·...·]-2">{</span><span·class="w">296 given·a·module·instance,·provided·that·it·has·been·unsealed·first:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">for</span><span·class="w">·</span><span·class="p"·data-group-id="5133604666-1">(</span><span·class="ss">i</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">;</span><span·class="w">·</span><span·class="ss">i</span><span·class="w">·</span><span·class="o"[·...·truncated·by·diffoscope;·len:·277,·SHA:·ef6e3f3a083df5b7d1d71b57de8dfe950dc3263ee8a48860c138f86c991546b2·...·]-2">{</span><span·class="w">
297 ····</span><span·class="ss">const</span><span·class="w">·</span><span·class="n">ErtsCodeInfo</span><span·class="o">*</span><span·class="w">·</span><span·class="ss">ci_exec</span><span·class="p">;</span><span·class="w">297 ····</span><span·class="ss">const</span><span·class="w">·</span><span·class="n">ErtsCodeInfo</span><span·class="o">*</span><span·class="w">·</span><span·class="ss">ci_exec</span><span·class="p">;</span><span·class="w">
298 ····</span><span·class="n">ErtsCodeInfo</span><span·class="o">*</span><span·class="w">·</span><span·class="ss">ci_rw</span><span·class="p">;</span><span·class="w">298 ····</span><span·class="n">ErtsCodeInfo</span><span·class="o">*</span><span·class="w">·</span><span·class="ss">ci_rw</span><span·class="p">;</span><span·class="w">
299 ····</span><span·class="ss">void</span><span·class="w">·</span><span·class="o">*</span><span·class="ss">w_ptr</span><span·class="p">;</span><span·class="w">299 ····</span><span·class="ss">void</span><span·class="w">·</span><span·class="o">*</span><span·class="ss">w_ptr</span><span·class="p">;</span><span·class="w">
  
300 ····</span><span·class="nf">erts_unseal_module</span><span·class="p"·data-group-id="4416282813-3">(</span><span·class="err">&amp;</span><span·class="ss">modp</span><span·class="p">-&gt;</span><span·class="ss">curr</span><span·class="p"·data-group-id="4416282813-3">)</span><span·class="p">;</span><span·class="w">300 ····</span><span·class="nf">erts_unseal_module</span><span·class="p"·data-group-id="5133604666-3">(</span><span·class="err">&amp;</span><span·class="ss">modp</span><span·class="p">-&gt;</span><span·class="ss">curr</span><span·class="p"·data-group-id="5133604666-3">)</span><span·class="p">;</span><span·class="w">
  
301 ····</span><span·class="ss">ci_exec</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">code_hdr</span><span·class="p">-&gt;</span><span·class="ss">functions</span><span·class="p"·data-group-id="4416282813-4">[</span><span·class="ss">i</span><span·class="p"·data-group-id="4416282813-4">]</span><span·class="p">;</span><span·class="w">301 ····</span><span·class="ss">ci_exec</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">code_hdr</span><span·class="p">-&gt;</span><span·class="ss">functions</span><span·class="p"·data-group-id="5133604666-4">[</span><span·class="ss">i</span><span·class="p"·data-group-id="5133604666-4">]</span><span·class="p">;</span><span·class="w">
302 ····</span><span·class="ss">w_ptr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">erts_writable_code_ptr</span><span·class="p"·data-group-id="4416282813-5">(</span><span·class="err">&amp;</span><span·class="ss">modp</span><span·class="p">-&gt;</span><span·class="ss">curr</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ci_exec</span><span·class="p"·data-group-id="4416282813-5">)</span><span·class="p">;</span><span·class="w">302 ····</span><span·class="ss">w_ptr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">erts_writable_code_ptr</span><span·class="p"·data-group-id="5133604666-5">(</span><span·class="err">&amp;</span><span·class="ss">modp</span><span·class="p">-&gt;</span><span·class="ss">curr</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ci_exec</span><span·class="p"·data-group-id="5133604666-5">)</span><span·class="p">;</span><span·class="w">
303 ····</span><span·class="ss">ci_rw</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4416282813-6">(</span><span·class="n">ErtsCodeInfo</span><span·class="o">*</span><span·class="p"·data-group-id="4416282813-6">)</span><span·class="ss">w_ptr</span><span·class="p">;</span><span·class="w">303 ····</span><span·class="ss">ci_rw</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5133604666-6">(</span><span·class="n">ErtsCodeInfo</span><span·class="o">*</span><span·class="p"·data-group-id="5133604666-6">)</span><span·class="ss">w_ptr</span><span·class="p">;</span><span·class="w">
  
304 ····</span><span·class="nf">uninstall_breakpoint</span><span·class="p"·data-group-id="4416282813-7">(</span><span·class="ss">ci_rw</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ci_exec</span><span·class="p"·data-group-id="4416282813-7">)</span><span·class="p">;</span><span·class="w">304 ····</span><span·class="nf">uninstall_breakpoint</span><span·class="p"·data-group-id="5133604666-7">(</span><span·class="ss">ci_rw</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ci_exec</span><span·class="p"·data-group-id="5133604666-7">)</span><span·class="p">;</span><span·class="w">
305 ····</span><span·class="nf">consolidate_bp_data</span><span·class="p"·data-group-id="4416282813-8">(</span><span·class="ss">modp</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ci_rw</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="4416282813-8">)</span><span·class="p">;</span><span·class="w">305 ····</span><span·class="nf">consolidate_bp_data</span><span·class="p"·data-group-id="5133604666-8">(</span><span·class="ss">modp</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ci_rw</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5133604666-8">)</span><span·class="p">;</span><span·class="w">
306 ····</span><span·class="n">ASSERT</span><span·class="p"·data-group-id="4416282813-9">(</span><span·class="ss">ci_rw</span><span·class="p">-&gt;</span><span·class="ss">gen_bp</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">NULL</span><span·class="p"·data-group-id="4416282813-9">)</span><span·class="p">;</span><span·class="w">306 ····</span><span·class="n">ASSERT</span><span·class="p"·data-group-id="5133604666-9">(</span><span·class="ss">ci_rw</span><span·class="p">-&gt;</span><span·class="ss">gen_bp</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">NULL</span><span·class="p"·data-group-id="5133604666-9">)</span><span·class="p">;</span><span·class="w">
  
307 ····</span><span·class="nf">erts_seal_module</span><span·class="p"·data-group-id="4416282813-10">(</span><span·class="err">&amp;</span><span·class="ss">modp</span><span·class="p">-&gt;</span><span·class="ss">curr</span><span·class="p"·data-group-id="4416282813-10">)</span><span·class="p">;</span><span·class="w">307 ····</span><span·class="nf">erts_seal_module</span><span·class="p"·data-group-id="5133604666-10">(</span><span·class="err">&amp;</span><span·class="ss">modp</span><span·class="p">-&gt;</span><span·class="ss">curr</span><span·class="p"·data-group-id="5133604666-10">)</span><span·class="p">;</span><span·class="w">
308 </span><span·class="p"·data-group-id="4416282813-2">}</span></code></pre><p>Without·the·module·instance·there's·no·reliable·way·to·figure·out·the·writable308 </span><span·class="p"·data-group-id="5133604666-2">}</span></code></pre><p>Without·the·module·instance·there's·no·reliable·way·to·figure·out·the·writable
309 address·of·a·code·page,·and·we·rely·on·<em>address·space·layout·randomization</em>309 address·of·a·code·page,·and·we·rely·on·<em>address·space·layout·randomization</em>
310 (ASLR)·to·make·it·difficult·to·guess.·On·some·platforms,·security·is·further310 (ASLR)·to·make·it·difficult·to·guess.·On·some·platforms,·security·is·further
311 enhanced·by·protecting·the·writable·area·from·writes·until·the·module·has·been311 enhanced·by·protecting·the·writable·area·from·writes·until·the·module·has·been
312 unsealed·by·<code·class="inline">erts_unseal_module</code>.</p><h3·id="export-tracing"·class="section-heading">312 unsealed·by·<code·class="inline">erts_unseal_module</code>.</p><h3·id="export-tracing"·class="section-heading">
313 ··<a·href="#export-tracing"·class="hover-link">313 ··<a·href="#export-tracing"·class="hover-link">
314 ····<i·class="ri-link-m"·aria-hidden="true"></i>314 ····<i·class="ri-link-m"·aria-hidden="true"></i>
315 ··</a>315 ··</a>
Offset 393, 15 lines modifiedOffset 393, 15 lines modified
393 </span><span·class="ss">perf</span><span·class="w">·</span><span·class="ss">script</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="ss">out</span><span·class="p">.</span><span·class="ss">perf</span><span·class="w">393 </span><span·class="ss">perf</span><span·class="w">·</span><span·class="ss">script</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="ss">out</span><span·class="p">.</span><span·class="ss">perf</span><span·class="w">
394 </span><span·class="p">#</span><span·class="p">#</span><span·class="w">·</span><span·class="ss">run</span><span·class="w">·</span><span·class="ss">stackcollapse</span><span·class="w">394 </span><span·class="p">#</span><span·class="p">#</span><span·class="w">·</span><span·class="ss">run</span><span·class="w">·</span><span·class="ss">stackcollapse</span><span·class="w">
Max diff block lines reached; 5979/46118 bytes (12.96%) of diff not shown.
735 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/carriermigration.html
    
Offset 403, 15 lines modifiedOffset 403, 15 lines modified
403 ······<p·class="built-using">403 ······<p·class="built-using">
404 ········Built·using404 ········Built·using
405 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the405 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
406 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>406 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
407 ······</p>407 ······</p>
408 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>408 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
409 ····</footer>409 ····</footer>
410 ··</div>410 ··</div>
411 </main>411 </main>
412 </div>412 </div>
413 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>413 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
414 ··<script>414 ··<script>
415 ··let·initialized·=·false;415 ··let·initialized·=·false;
749 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/checkio.html
    
Offset 272, 15 lines modifiedOffset 272, 15 lines modified
272 ······<p·class="built-using">272 ······<p·class="built-using">
273 ········Built·using273 ········Built·using
274 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the274 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
275 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>275 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
276 ······</p>276 ······</p>
277 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>277 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
278 ····</footer>278 ····</footer>
279 ··</div>279 ··</div>
280 </main>280 </main>
281 </div>281 </div>
282 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>282 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
283 ··<script>283 ··<script>
284 ··let·initialized·=·false;284 ··let·initialized·=·false;
738 B
html2text {}
Max HTML report size reached
4.73 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/codeloading.html
    
Offset 163, 16 lines modifiedOffset 163, 16 lines modified
163 only·be·done·by·one·loader·process·at·a·time.·A·second·loader·process163 only·be·done·by·one·loader·process·at·a·time.·A·second·loader·process
164 trying·to·enter·finishing·phase·will·be·suspended·until·the·first164 trying·to·enter·finishing·phase·will·be·suspended·until·the·first
165 loader·is·done.·This·will·only·block·the·process,·the·scheduler·is165 loader·is·done.·This·will·only·block·the·process,·the·scheduler·is
166 free·to·schedule·other·work·while·the·second·loader·is·waiting.·(See166 free·to·schedule·other·work·while·the·second·loader·is·waiting.·(See
167 <code·class="inline">erts_try_seize_code_load_permission</code>·and167 <code·class="inline">erts_try_seize_code_load_permission</code>·and
168 <code·class="inline">erts_release_code_load_permission</code>).</p><p>The·ability·to·prepare·several·modules·in·parallel·is·not·currently168 <code·class="inline">erts_release_code_load_permission</code>).</p><p>The·ability·to·prepare·several·modules·in·parallel·is·not·currently
169 used·as·almost·all·code·loading·is·serialized·by·the·code_server169 used·as·almost·all·code·loading·is·serialized·by·the·code_server
170 process.·The·BIF·interface·is·however·prepared·for·this.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">prepare_loading</span><span·class="p"·data-group-id="8608393775-1">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Code</span><span·class="p"·data-group-id="8608393775-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">LoaderState</span><span·class="w">170 process.·The·BIF·interface·is·however·prepared·for·this.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">prepare_loading</span><span·class="p"·data-group-id="6705486775-1">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Code</span><span·class="p"·data-group-id="6705486775-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">LoaderState</span><span·class="w">
171 ··</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">finish_loading</span><span·class="p"·data-group-id="8608393775-2">(</span><span·class="p"·data-group-id="8608393775-3">[</span><span·class="n">LoaderState</span><span·class="p"·data-group-id="8608393775-3">]</span><span·class="p"·data-group-id="8608393775-2">)</span></code></pre><p>The·idea·is·that·<code·class="inline">prepare_loading</code>·could·be·called·in·parallel·for171 ··</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">finish_loading</span><span·class="p"·data-group-id="6705486775-2">(</span><span·class="p"·data-group-id="6705486775-3">[</span><span·class="n">LoaderState</span><span·class="p"·data-group-id="6705486775-3">]</span><span·class="p"·data-group-id="6705486775-2">)</span></code></pre><p>The·idea·is·that·<code·class="inline">prepare_loading</code>·could·be·called·in·parallel·for
172 different·modules·and·returns·a·&quot;magic·binary&quot;·containing·the·internal172 different·modules·and·returns·a·&quot;magic·binary&quot;·containing·the·internal
173 state·of·each·prepared·module.·Function·<code·class="inline">finish_loading</code>·could·take·a173 state·of·each·prepared·module.·Function·<code·class="inline">finish_loading</code>·could·take·a
174 list·of·such·states·and·do·the·finishing·of·all·of·them·in·one·go.</p><p>Currently·we·use·the·legacy·BIF·<code·class="inline">erlang:load_module</code>·which·is·now174 list·of·such·states·and·do·the·finishing·of·all·of·them·in·one·go.</p><p>Currently·we·use·the·legacy·BIF·<code·class="inline">erlang:load_module</code>·which·is·now
175 implemented·in·Erlang·by·calling·the·above·two·functions·in175 implemented·in·Erlang·by·calling·the·above·two·functions·in
176 sequence.·Function·<code·class="inline">finish_loading</code>·is·limited·to·only·accepts·a·list176 sequence.·Function·<code·class="inline">finish_loading</code>·is·limited·to·only·accepts·a·list
177 with·one·module·state·as·we·do·not·yet·use·the·multi·module·loading177 with·one·module·state·as·we·do·not·yet·use·the·multi·module·loading
178 feature.</p><h2·id="the-finishing-sequence"·class="section-heading">178 feature.</p><h2·id="the-finishing-sequence"·class="section-heading">
Offset 315, 15 lines modifiedOffset 315, 15 lines modified
315 ······<p·class="built-using">315 ······<p·class="built-using">
316 ········Built·using316 ········Built·using
317 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the317 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
318 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>318 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
319 ······</p>319 ······</p>
320 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>320 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
321 ····</footer>321 ····</footer>
322 ··</div>322 ··</div>
323 </main>323 </main>
324 </div>324 </div>
325 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>325 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
326 ··<script>326 ··<script>
327 ··let·initialized·=·false;327 ··let·initialized·=·false;
752 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/communication.html
    
Offset 198, 15 lines modifiedOffset 198, 15 lines modified
198 ······<p·class="built-using">198 ······<p·class="built-using">
199 ········Built·using199 ········Built·using
200 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the200 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
201 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>201 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
202 ······</p>202 ······</p>
203 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>203 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
204 ····</footer>204 ····</footer>
205 ··</div>205 ··</div>
206 </main>206 </main>
207 </div>207 </div>
208 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>208 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
209 ··<script>209 ··<script>
210 ··let·initialized·=·false;210 ··let·initialized·=·false;
649 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/counters.html
    
Offset 495, 15 lines modifiedOffset 495, 15 lines modified
495 ······<p·class="built-using">495 ······<p·class="built-using">
496 ········Built·using496 ········Built·using
497 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the497 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
498 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>498 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
499 ······</p>499 ······</p>
500 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>500 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
501 ····</footer>501 ····</footer>
502 ··</div>502 ··</div>
503 </main>503 </main>
504 </div>504 </div>
505 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>505 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
506 ··<script>506 ··<script>
507 ··let·initialized·=·false;507 ··let·initialized·=·false;
613 B
html2text {}
Max HTML report size reached
1.36 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/countinginstructions.html
    
Offset 216, 15 lines modifiedOffset 216, 15 lines modified
216 ······<p·class="built-using">216 ······<p·class="built-using">
217 ········Built·using217 ········Built·using
218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
220 ······</p>220 ······</p>
221 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>221 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
222 ····</footer>222 ····</footer>
223 ··</div>223 ··</div>
224 </main>224 </main>
225 </div>225 </div>
226 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>226 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
227 ··<script>227 ··<script>
228 ··let·initialized·=·false;228 ··let·initialized·=·false;
537 B
html2text {}
Max HTML report size reached
12.1 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/crash_dump.html
    
Offset 401, 21 lines modifiedOffset 401, 21 lines modified
401 <a·href="erlang.html#put/2"><code·class="inline">put/2</code></a>·and·<a·href="erlang.html#get/1"><code·class="inline">get/1</code></a>·thing)·is·non-empty.</p><p>The·raw·memory·information·can·be·decoded·by·the·Crashdump·Viewer·tool.·You·can401 <a·href="erlang.html#put/2"><code·class="inline">put/2</code></a>·and·<a·href="erlang.html#get/1"><code·class="inline">get/1</code></a>·thing)·is·non-empty.</p><p>The·raw·memory·information·can·be·decoded·by·the·Crashdump·Viewer·tool.·You·can
402 then·see·the·stack·dump,·the·message·queue·(if·any),·and·the·dictionary·(if402 then·see·the·stack·dump,·the·message·queue·(if·any),·and·the·dictionary·(if
403 any).</p><p>The·stack·dump·is·a·dump·of·the·Erlang·process·stack.·Most·of·the·live·data403 any).</p><p>The·stack·dump·is·a·dump·of·the·Erlang·process·stack.·Most·of·the·live·data
404 (that·is,·variables·currently·in·use)·are·placed·on·the·stack;·thus·this·can·be404 (that·is,·variables·currently·in·use)·are·placed·on·the·stack;·thus·this·can·be
405 interesting.·One·has·to·&quot;guess&quot;·what·is·what,·but·as·the·information·is405 interesting.·One·has·to·&quot;guess&quot;·what·is·what,·but·as·the·information·is
406 symbolic,·thorough·reading·of·this·information·can·be·useful.·As·an·example,·we406 symbolic,·thorough·reading·of·this·information·can·be·useful.·As·an·example,·we
407 can·find·the·state·variable·of·the·Erlang·primitive·loader·online·<code·class="inline">(5)</code>·and407 can·find·the·state·variable·of·the·Erlang·primitive·loader·online·<code·class="inline">(5)</code>·and
408 <code·class="inline">(6)</code>·in·the·following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0226746081-1">(</span><span·class="mi">1</span><span·class="p"·data-group-id="0226746081-1">)</span><span·class="w">··</span><span·class="mi">3</span><span·class="ss">cac44</span><span·class="w">···</span><span·class="n">Return</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·426,·SHA:·c159013668ab37a788e654a8214a27c09576a3c5dde20afc7dc35c67d0ead532·...·]-2">)</span><span·class="w">408 <code·class="inline">(6)</code>·in·the·following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8793769510-1">(</span><span·class="mi">1</span><span·class="p"·data-group-id="8793769510-1">)</span><span·class="w">··</span><span·class="mi">3</span><span·class="ss">cac44</span><span·class="w">···</span><span·class="n">Return</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·426,·SHA:·cd045db5e0a97631db52540398b34650b65e7ae2a63d11d4b7075496de4f3d0f·...·]-2">)</span><span·class="w">
409 </span><span·class="p"·data-group-id="0226746081-3">(</span><span·class="mi">2</span><span·class="p"·data-group-id="0226746081-3">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="0226746081-4">(</span><span·class="mi">0</span><span·class="p"·data-group-id="0226746081-4">)</span><span·class="w">·····</span><span·class="p"·data-group-id="0226746081-5">[</span><span·class="s">&quot;/view/siri_r10_dev/clearcase/otp/erts/lib/kernel/ebin&quot;</span><span·class="p">,</span><span·class="w"> 
410 </span><span·class="p"·data-group-id="0226746081-6">(</span><span·class="mi">3</span><span·class="p"·data-group-id="0226746081-6">)</span><span·class="w">············</span><span·class="s">&quot;/view/siri_r10_dev/clearcase/otp/erts/lib/stdlib/ebin&quot;</span><span·class="p"·data-group-id="02[·...·truncated·by·diffoscope;·len:·13,·SHA:·7f468cbab41159db2930d0c891a9461e7bb09697e1aebeee09b34818fb0c2e6e·...·]</span><span·class="w">409 </span><span·class="p"·data-group-id="8793769510-3">(</span><span·class="mi">2</span><span·class="p"·data-group-id="8793769510-3">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="8793769510-4">(</span><span·class="mi">0</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·211,·SHA:·6a3198035dea360fe60f67eb7ee676c25ca16449bc2e43deaebd3d71c524bf81·...·]</span><span·class="w">
 410 </span><span·class="p"·data-group-id="8793769510-6">(</span><span·class="mi">3</span><span·class="p"·data-group-id="8793769510-6">)</span><span·class="w">············</span><span·class="s">&quot;/view/siri_r10_dev/clearcase/otp/erts/lib/stdlib/ebin&quot;</span><span·class="p"·data-group-id="8793769510-5">]</span><span·class="w">
411 </span><span·class="p"·data-group-id="0226746081-7">(</span><span·class="mi">4</span><span·class="p"·data-group-id="0226746081-7">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="0226746081-8">(</span><span·class="mi">1</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·dd61c0ea98c49ba6d7601e6c2a94790817f62aa214de972aa33fb983703ab9c7·...·]-8">)</span><span·class="w">·····</span><span·class="o">&lt;</span><span·class="mf">0.1</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">411 </span><span·class="p"·data-group-id="8793769510-7">(</span><span·class="mi">4</span><span·class="p"·data-group-id="8793769510-7">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="8793769510-8">(</span><span·class="mi">1</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·d54faf44ef6a24fe0e80fa98af3b864ad2dc657a003a1410a51d2e44ca95cff3·...·]-8">)</span><span·class="w">·····</span><span·class="o">&lt;</span><span·class="mf">0.1</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">
412 </span><span·class="p"·data-group-id="0226746081-9">(</span><span·class="mi">5</span><span·class="p"·data-group-id="0226746081-9">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="0226746081-10">(</span><span·class="mi">2</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·257,·SHA:·838494ba48c03886a4e3511227c8c8e870bb3b7a780a464a81b10fdc76bb5d38·...·]-12">]</span><span·class="p">,</span><span·class="ss">none</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_prim_loader</span><span·class="p">.</span><span·class="mf">6.7085890</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_prim_loader</span><span·class="p">.</span><span·class="mf">7.9000327</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="w">412 </span><span·class="p"·data-group-id="8793769510-9">(</span><span·class="mi">5</span><span·class="p"·data-group-id="8793769510-9">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="8793769510-10">(</span><span·class="mi">2</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·257,·SHA:·67336a282ff6e75c35209cbc0d19e61744a62fc655ef7af6c54aa1deebb2dd5e·...·]-12">]</span><span·class="p">,</span><span·class="ss">none</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_prim_loader</span><span·class="p">.</span><span·class="mf">6.7085890</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_prim_loader</span><span·class="p">.</span><span·class="mf">7.9000327</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="w">
413 </span><span·class="p"·data-group-id="0226746081-13">(</span><span·class="mi">6</span><span·class="p"·data-group-id="0226746081-13">)</span><span·class="w">············</span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_prim_loader</span><sp[·...·truncated·by·diffoscope;·len:·561,·SHA:·e11dcc9e77ac508462da54fb420906168b9bff451f801addea236d76a8e13f76·...·]-11">}</span><span·class="w">413 </span><span·class="p"·data-group-id="8793769510-13">(</span><span·class="mi">6</span><span·class="p"·data-group-id="8793769510-13">)</span><span·class="w">············</span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_prim_loader</span><sp[·...·truncated·by·diffoscope;·len:·561,·SHA:·abbbf4f2313995cfea2b7799ae4a58914d6d78a5b9b511e349192657f009f789·...·]-11">}</span><span·class="w">
414 </span><span·class="p"·data-group-id="0226746081-14">(</span><span·class="mi">7</span><span·class="p"·data-group-id="0226746081-14">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="0226746081-15">(</span><span·class="mi">3</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·5927731842ef9d051fd359747ee8f9a1f59b66b20d4cacb26f50fdf811f56ddd·...·]-15">)</span><span·class="w">·····</span><span·class="ss">infinity</span></code></pre><p>When·interpreting·the·data·for·a·process,·it·is·helpful·to·know·that·anonymous414 </span><span·class="p"·data-group-id="8793769510-14">(</span><span·class="mi">7</span><span·class="p"·data-group-id="8793769510-14">)</span><span·class="w">··</span><span·class="nf">y</span><span·class="p"·data-group-id="8793769510-15">(</span><span·class="mi">3</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·b12e9df837188ae50e800fee14b334a84eaf906aa61aad95f1746c5961ceaa61·...·]-15">)</span><span·class="w">·····</span><span·class="ss">infinity</span></code></pre><p>When·interpreting·the·data·for·a·process,·it·is·helpful·to·know·that·anonymous
415 function·objects·(funs)·are·given·the·following:</p><ul><li>A·name·constructed·from·the·name·of·the·function·in·which·they·are·created</li><li>A·number·(starting·with·0)·indicating·the·number·of·that·fun·within·that415 function·objects·(funs)·are·given·the·following:</p><ul><li>A·name·constructed·from·the·name·of·the·function·in·which·they·are·created</li><li>A·number·(starting·with·0)·indicating·the·number·of·that·fun·within·that
416 function</li></ul><h2·id="atoms"·class="section-heading">416 function</li></ul><h2·id="atoms"·class="section-heading">
417 ··<a·href="#atoms"·class="hover-link">417 ··<a·href="#atoms"·class="hover-link">
418 ····<i·class="ri-link-m"·aria-hidden="true"></i>418 ····<i·class="ri-link-m"·aria-hidden="true"></i>
419 ··</a>419 ··</a>
420 ··<span·class="text">Atoms</span>420 ··<span·class="text">Atoms</span>
421 </h2>421 </h2>
Offset 473, 15 lines modifiedOffset 473, 15 lines modified
473 ······<p·class="built-using">473 ······<p·class="built-using">
474 ········Built·using474 ········Built·using
475 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the475 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
476 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>476 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
477 ······</p>477 ······</p>
478 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>478 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
479 ····</footer>479 ····</footer>
480 ··</div>480 ··</div>
481 </main>481 </main>
482 </div>482 </div>
483 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>483 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
484 ··<script>484 ··<script>
485 ··let·initialized·=·false;485 ··let·initialized·=·false;
850 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/delayeddealloc.html
    
Offset 338, 15 lines modifiedOffset 338, 15 lines modified
338 ······<p·class="built-using">338 ······<p·class="built-using">
339 ········Built·using339 ········Built·using
340 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the340 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
341 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>341 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
342 ······</p>342 ······</p>
343 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>343 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
344 ····</footer>344 ····</footer>
345 ··</div>345 ··</div>
346 </main>346 </main>
347 </div>347 </div>
348 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>348 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
349 ··<script>349 ··<script>
350 ··let·initialized·=·false;350 ··let·initialized·=·false;
720 B
html2text {}
Max HTML report size reached
58.1 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/driver.html
    
Offset 364, 41 lines modifiedOffset 364, 41 lines modified
364 <p>Before·a·driver·can·be·called·from·Erlang,·it·must·be·loaded·and·opened.·Loading364 <p>Before·a·driver·can·be·called·from·Erlang,·it·must·be·loaded·and·opened.·Loading
365 is·done·using·the·<a·href="../../../lib/kernel-10.3/doc/html/erl_ddll.html"><code·class="inline">erl_ddll</code></a>·module·(the·<a·href="../../../lib/kernel-10.3/doc/html/erl_ddll.html"><code·class="inline">erl_ddll</code></a>·driver·that·loads·dynamic365 is·done·using·the·<a·href="../../../lib/kernel-10.3/doc/html/erl_ddll.html"><code·class="inline">erl_ddll</code></a>·module·(the·<a·href="../../../lib/kernel-10.3/doc/html/erl_ddll.html"><code·class="inline">erl_ddll</code></a>·driver·that·loads·dynamic
366 driver·is·actually·a·driver·itself).·If·loading·is·successful,·the·port·can·be366 driver·is·actually·a·driver·itself).·If·loading·is·successful,·the·port·can·be
367 opened·with·<a·href="erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>.·The·port·name·must·match·the·name·of367 opened·with·<a·href="erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>.·The·port·name·must·match·the·name·of
368 the·shared·library·and·the·name·in·the·driver·entry·structure.</p><p>When·the·port·has·been·opened,·the·driver·can·be·called.·In·the·<code·class="inline">pg_sync</code>368 the·shared·library·and·the·name·in·the·driver·entry·structure.</p><p>When·the·port·has·been·opened,·the·driver·can·be·called.·In·the·<code·class="inline">pg_sync</code>
369 example,·we·do·not·have·any·data·from·the·port,·only·the·return·value·from·the369 example,·we·do·not·have·any·data·from·the·port,·only·the·return·value·from·the
370 <a·href="erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>.</p><p>The·following·code·is·the·Erlang·part·of·the·synchronous·postgres·driver,370 <a·href="erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>.</p><p>The·following·code·is·the·Erlang·part·of·the·synchronous·postgres·driver,
371 <code·class="inline">pg_sync.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5987993045-1">(</span><span·class="ss">pg_sync</span><span·class="p"·data-group-id="5987993045-1">)</span><span·class="p">.</span><span·class="w">371 <code·class="inline">pg_sync.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8232258412-1">(</span><span·class="ss">pg_sync</span><span·class="p"·data-group-id="8232258412-1">)</span><span·class="p">.</span><span·class="w">
372 </span><span·class="w">372 </span><span·class="w">
373 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="5987993045-2">(</span><span·class="n">DRV_CONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5987993045-2">)</span><span·class="p">.</span><span·class="w">373 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="8232258412-2">(</span><span·class="n">DRV_CONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="8232258412-2">)</span><span·class="p">.</span><span·class="w">
374 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="5987993045-3">(</span><span·class="n">DRV_DISCONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="5987993045-3">)</span><span·class="p">.</span><span·class="w">374 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="8232258412-3">(</span><span·class="n">DRV_DISCONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="8232258412-3">)</span><span·class="p">.</span><span·class="w">
375 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="5987993045-4">(</span><span·class="n">DRV_SELECT</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="5987993045-4">)</span><span·class="p">.</span><span·class="w">375 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="8232258412-4">(</span><span·class="n">DRV_SELECT</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="8232258412-4">)</span><span·class="p">.</span><span·class="w">
376 </span><span·class="w">376 </span><span·class="w">
377 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5987993045-5">(</span><span·class="p"·data-group-id="5987993045-6">[</span><span·class="ss">connect</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">disconnect</span><span·class="p">/</[·...·truncated·by·diffoscope;·len:·251,·SHA:·988d9dd06879a6cc3532ec20109a5e3ac630d0de570c0f9da0e929d57aa8cc14·...·]-5">)</span><span·class="p">.</span><span·class="w">377 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8232258412-5">(</span><span·class="p"·data-group-id="8232258412-6">[</span><span·class="ss">connect</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">disconnect</span><span·class="p">/</[·...·truncated·by·diffoscope;·len:·251,·SHA:·b4964e388d36d3dd4737ff91a859e7111353978180e68e0d343336e85fab9de9·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
378 </span><span·class="nf">connect</span><span·class="p"·data-group-id="5987993045-7">(</span><span·class="n">ConnectStr</span><span·class="p"·data-group-id="5987993045-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">378 </span><span·class="nf">connect</span><span·class="p"·data-group-id="8232258412-7">(</span><span·class="n">ConnectStr</span><span·class="p"·data-group-id="8232258412-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
379 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">erl_ddll</span><span·class="p">:</span><span·class="nf">load_driver</span><span·class="p"·data-group-id="5987993045-8">(</span><span·class="s">&quot;.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;pg_sync&quot;</span><span·class="p"·data-group-id="5987993045-8">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">379 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">erl_ddll</span><span·class="p">:</span><span·class="nf">load_driver</span><span·class="p"·data-group-id="8232258412-8">(</span><span·class="s">&quot;.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;pg_sync&quot;</span><span·class="p"·data-group-id="8232258412-8">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
380 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">380 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
381 ········</span><span·class="p"·data-group-id="5987993045-9">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">already_loaded</span><span·class="p"·data-group-id="5987993045-9">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">381 ········</span><span·class="p"·data-group-id="8232258412-9">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">already_loaded</span><span·class="p"·data-group-id="8232258412-9">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
382 ········</span><span·class="n">E</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">exit</span><span·class="p"·data-group-id="5987993045-10">(</span><span·class="p"·data-group-id="5987993045-11">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="p"·data-group-id="5987993045-11">}</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·8f45c900587181824ce3e10a4dea3b25210fa97ac865168d7e58f2f677387476·...·]-10">)</span><span·class="w">382 ········</span><span·class="n">E</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">exit</span><span·class="p"·data-group-id="8232258412-10">(</span><span·class="p"·data-group-id="8232258412-11">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="p"·data-group-id="8232258412-11">}</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·fe401208251ffcc4171839d3a53abc139d802f287ed87371d0ea40749f86c98c·...·]-10">)</span><span·class="w">
383 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">383 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
384 ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="5987993045-12">(</span><span·class="p"·data-group-id="5987993045-13">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p"·data-group-id="5987993045-13">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5987993045-14">[</span><span·class="p"·data-group-id="5987993045-14">]</span><span·class="p"·data-group-id="5987993045-12">)</span><span·class="p">,</span><span·class="w"> 
385 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="5987993045-15">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="5987993045-16">(</span><span·class="n">Port</span><span·cla[·...·truncated·by·diffoscope;·len:·328,·SHA:·757afe08e1f11357bce4dbbac018894788ae43edf6779ba76c5578c26eb04179·...·]</span><span·class="w">384 ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="8232258412-12">(</span><span·class="p"·data-group-id="8232258412-13">{</span><span·class="nb">spawn</span>[·...·truncated·by·diffoscope;·len:·382,·SHA:·dae7a1c2f061bf9333f99597d412ee0610dca46a7f56afae606331b7b6be8a68·...·]</span><span·class="w">
 385 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="8232258412-15">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="8232258412-16">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_CONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ConnectStr</span><span·class="p"·data-group-id="8232258412-16">)</span><span·class="p"·data-group-id="8232258412-15">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
386 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5987993045-17">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="5987993045-17">}</span><span·class="p">;</span><span·class="w">386 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8232258412-17">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="8232258412-17">}</span><span·class="p">;</span><span·class="w">
387 ········</span><span·class="n">Error</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Error</span><span·class="w">387 ········</span><span·class="n">Error</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Error</span><span·class="w">
388 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">388 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
389 </span><span·class="nf">disconnect</span><span·class="p"·data-group-id="5987993045-18">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5987993045-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">389 </span><span·class="nf">disconnect</span><span·class="p"·data-group-id="8232258412-18">(</span><span·class="n">Port</span><span·class="p"·data-group-id="8232258412-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
390 ····</span><span·class="n">R</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="5987993045-19">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="5987993045-20">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_DISCONNECT</span><span·c[·...·truncated·by·diffoscope;·len:·171,·SHA:·ae31124c226603901c4c73b114dcbb135edc4670954537f63b61253967eef81c·...·]-19">)</span><span·class="p">,</span><span·class="w">390 ····</span><span·class="n">R</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="8232258412-19">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="8232258412-20">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_DISCONNECT</span><span·c[·...·truncated·by·diffoscope;·len:·171,·SHA:·e937c11b716ec1fa61051c6de35bc3ad227d77a97447f8c0c9b6a86084a327dc·...·]-19">)</span><span·class="p">,</span><span·class="w">
391 ····</span><span·class="nf">port_close</span><span·class="p"·data-group-id="5987993045-21">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5987993045-21">)</span><span·class="p">,</span><span·class="w">391 ····</span><span·class="nf">port_close</span><span·class="p"·data-group-id="8232258412-21">(</span><span·class="n">Port</span><span·class="p"·data-group-id="8232258412-21">)</span><span·class="p">,</span><span·class="w">
392 ····</span><span·class="n">R</span><span·class="p">.</span><span·class="w">392 ····</span><span·class="n">R</span><span·class="p">.</span><span·class="w">
  
393 </span><span·class="nf">select</span><span·class="p"·data-group-id="5987993045-22">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Query</span><span·class="p"·data-group-id="5987993045-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">393 </span><span·class="nf">select</span><span·class="p"·data-group-id="8232258412-22">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Query</span><span·class="p"·data-group-id="8232258412-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
394 ····</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="5987993045-23">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="5987993045-24">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_SELECT</span><span·class[·...·truncated·by·diffoscope;·len:·160,·SHA:·1631c767468cad8b29c932a78aeb753c2a9d50c5d2d03659c33c9ca7acc590ff·...·]-23">)</span><span·class="p">.</span></code></pre><p>The·API·is·simple:</p><ul><li><code·class="inline">connect/1</code>·loads·the·driver,·opens·it,·and·logs·on·to·the·database,·returning394 ····</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="8232258412-23">(</span><span·class="nf">port_control</span><span·class="p"·data-group-id="8232258412-24">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_SELECT</span><span·class[·...·truncated·by·diffoscope;·len:·160,·SHA:·239306bba20e7e36104dcec0b6976b610681fff8e6875c29270979c51c6ee2a4·...·]-23">)</span><span·class="p">.</span></code></pre><p>The·API·is·simple:</p><ul><li><code·class="inline">connect/1</code>·loads·the·driver,·opens·it,·and·logs·on·to·the·database,·returning
395 the·Erlang·port·if·successful.</li><li><code·class="inline">select/2</code>·sends·a·query·to·the·driver·and·returns·the·result.</li><li><code·class="inline">disconnect/1</code>·closes·the·database·connection·and·the·driver.·(However,·it395 the·Erlang·port·if·successful.</li><li><code·class="inline">select/2</code>·sends·a·query·to·the·driver·and·returns·the·result.</li><li><code·class="inline">disconnect/1</code>·closes·the·database·connection·and·the·driver.·(However,·it
396 does·not·unload·it.)</li></ul><p>The·connection·string·is·to·be·a·connection·string·for·postgres.</p><p>The·driver·is·loaded·with·<a·href="../../../lib/kernel-10.3/doc/html/erl_ddll.html#load_driver/2"><code·class="inline">erl_ddll:load_driver/2</code></a>.·If·this·is·successful,·or·if396 does·not·unload·it.)</li></ul><p>The·connection·string·is·to·be·a·connection·string·for·postgres.</p><p>The·driver·is·loaded·with·<a·href="../../../lib/kernel-10.3/doc/html/erl_ddll.html#load_driver/2"><code·class="inline">erl_ddll:load_driver/2</code></a>.·If·this·is·successful,·or·if
397 it·is·already·loaded,·it·is·opened.·This·will·call·the·<code·class="inline">start</code>·function·in·the397 it·is·already·loaded,·it·is·opened.·This·will·call·the·<code·class="inline">start</code>·function·in·the
398 driver.</p><p>We·use·the·<a·href="erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>·function·for·all·calls·into·the398 driver.</p><p>We·use·the·<a·href="erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>·function·for·all·calls·into·the
399 driver.·The·result·from·the·driver·is·returned·immediately·and·converted·to399 driver.·The·result·from·the·driver·is·returned·immediately·and·converted·to
400 terms·by·calling·<a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>.·(We·trust·that·the400 terms·by·calling·<a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>.·(We·trust·that·the
401 terms·returned·from·the·driver·are·well-formed,·otherwise·the·<a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>401 terms·returned·from·the·driver·are·well-formed,·otherwise·the·<a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>
Offset 536, 51 lines modifiedOffset 536, 51 lines modified
536 successful,·or·error·if·it·is·not.·If·the·connection·is·not·yet·established,·we536 successful,·or·error·if·it·is·not.·If·the·connection·is·not·yet·established,·we
537 simply·return;·<code·class="inline">ready_io</code>·is·called·again.</p><p>If·we·have·a·result·from·a·connect,·indicated·by·having·data·in·the·<code·class="inline">x</code>·buffer,537 simply·return;·<code·class="inline">ready_io</code>·is·called·again.</p><p>If·we·have·a·result·from·a·connect,·indicated·by·having·data·in·the·<code·class="inline">x</code>·buffer,
538 we·no·longer·need·to·select·on·output·(<a·href="../../../erts-16.0/doc/html/driver_entry.html#ready_output"·title=""><code·class="inline">ready_output</code></a>),·so·we·remove·this·by538 we·no·longer·need·to·select·on·output·(<a·href="../../../erts-16.0/doc/html/driver_entry.html#ready_output"·title=""><code·class="inline">ready_output</code></a>),·so·we·remove·this·by
539 calling·<a·href="../../../erts-16.0/doc/html/erl_driver.html#driver_select"·title=""><code·class="inline">driver_select</code></a>.</p><p>If·we·are·not·connecting,·we·wait·for·results·from·a·<code·class="inline">PQsendQuery</code>,·so·we·get539 calling·<a·href="../../../erts-16.0/doc/html/erl_driver.html#driver_select"·title=""><code·class="inline">driver_select</code></a>.</p><p>If·we·are·not·connecting,·we·wait·for·results·from·a·<code·class="inline">PQsendQuery</code>,·so·we·get
540 the·result·and·return·it.·The·encoding·is·done·with·the·same·functions·as·in·the540 the·result·and·return·it.·The·encoding·is·done·with·the·same·functions·as·in·the
541 earlier·example.</p><p>Error·handling·is·to·be·added·here,·for·example,·checking·that·the·socket·is541 earlier·example.</p><p>Error·handling·is·to·be·added·here,·for·example,·checking·that·the·socket·is
542 still·open,·but·this·is·only·a·simple·example.</p><p>The·Erlang·part·of·the·asynchronous·driver·consists·of·the·sample·file542 still·open,·but·this·is·only·a·simple·example.</p><p>The·Erlang·part·of·the·asynchronous·driver·consists·of·the·sample·file
543 <code·class="inline">pg_async.erl</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5579627947-1">(</span><span·class="ss">pg_async</span><span·class="p"·data-group-id="5579627947-1">)</span><span·class="p">.</span><span·class="w">543 <code·class="inline">pg_async.erl</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4372985825-1">(</span><span·class="ss">pg_async</span><span·class="p"·data-group-id="4372985825-1">)</span><span·class="p">.</span><span·class="w">
544 </span><span·class="w">544 </span><span·class="w">
545 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="5579627947-2">(</span><span·class="n">DRV_CONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="sc">$C</span><span·class="p"·data-group-id="5579627947-2">)</span><span·class="p">.</span><span·class="w">545 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="4372985825-2">(</span><span·class="n">DRV_CONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="sc">$C</span><span·class="p"·data-group-id="4372985825-2">)</span><span·class="p">.</span><span·class="w">
546 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="5579627947-3">(</span><span·class="n">DRV_DISCONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="sc">$D</span><span·class="p"·data-group-id="5579627947-3">)</span><span·class="p">.</span><span·class="w">546 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="4372985825-3">(</span><span·class="n">DRV_DISCONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="sc">$D</span><span·class="p"·data-group-id="4372985825-3">)</span><span·class="p">.</span><span·class="w">
547 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="5579627947-4">(</span><span·class="n">DRV_SELECT</span><span·class="p">,</span><span·class="w">·</span><span·class="sc">$S</span><span·class="p"·data-group-id="5579627947-4">)</span><span·class="p">.</span><span·class="w">547 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="4372985825-4">(</span><span·class="n">DRV_SELECT</span><span·class="p">,</span><span·class="w">·</span><span·class="sc">$S</span><span·class="p"·data-group-id="4372985825-4">)</span><span·class="p">.</span><span·class="w">
548 </span><span·class="w">548 </span><span·class="w">
549 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5579627947-5">(</span><span·class="p"·data-group-id="5579627947-6">[</span><span·class="ss">connect</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">disconnect</span><span·class="p">/</[·...·truncated·by·diffoscope;·len:·251,·SHA:·98ad90b744bae6ee19dc1eb5d3d6e4ba8732930b2c04bbefef80e180a92df108·...·]-5">)</span><span·class="p">.</span><span·class="w">549 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4372985825-5">(</span><span·class="p"·data-group-id="4372985825-6">[</span><span·class="ss">connect</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">disconnect</span><span·class="p">/</[·...·truncated·by·diffoscope;·len:·251,·SHA:·183699498a1ad2ae7468b26c5352afe1708b1caf7a7dbdfe5ccaa9d188a58ecf·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
550 </span><span·class="nf">connect</span><span·class="p"·data-group-id="5579627947-7">(</span><span·class="n">ConnectStr</span><span·class="p"·data-group-id="5579627947-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">550 </span><span·class="nf">connect</span><span·class="p"·data-group-id="4372985825-7">(</span><span·class="n">ConnectStr</span><span·class="p"·data-group-id="4372985825-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
551 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">erl_ddll</span><span·class="p">:</span><span·class="nf">load_driver</span><span·class="p"·data-group-id="5579627947-8">(</span><span·class="s">&quot;.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;pg_async&quot;</span><span·class="p"·data-group-id="5579627947-8">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">551 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">erl_ddll</span><span·class="p">:</span><span·class="nf">load_driver</span><span·class="p"·data-group-id="4372985825-8">(</span><span·class="s">&quot;.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;pg_async&quot;</span><span·class="p"·data-group-id="4372985825-8">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
552 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">552 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
553 ········</span><span·class="p"·data-group-id="5579627947-9">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">already_loaded</span><span·class="p"·data-group-id="5579627947-9">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">553 ········</span><span·class="p"·data-group-id="4372985825-9">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">already_loaded</span><span·class="p"·data-group-id="4372985825-9">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
554 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">exit</span><span·class="p"·data-group-id="5579627947-10">(</span><span·class="p"·data-group-id="5579627947-11">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">could_not_load_driver</span><span·class="p"·data-group-id="5579627947-11">}</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·8de5bdafbe921efac63fcb93ebdc0bad20b61cce6d2a29192810763b00232477·...·]-10">)</span><span·class="w">554 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">exit</span><span·class="p"·data-group-id="4372985825-10">(</span><span·class="p"·data-group-id="4372985825-11">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">could_not_load_driver</span><span·class="p"·data-group-id="4372985825-11">}</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·65494039e6067e652dd5c9006e3dc476ae17fdb804bfb5bdc990f8c4b949884c·...·]-10">)</span><span·class="w">
555 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">555 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
556 ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="5579627947-12">(</span><span·class="p"·data-group-id="5579627947-13">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p"·data-group-id="5579627947-13">}</[·...·truncated·by·diffoscope;·len:·232,·SHA:·c2d8323c675ecb3292bdcc398095baa15f0757670c12b1e5f642cea1e2c2d46b·...·]-12">)</span><span·class="p">,</span><span·class="w">556 ····</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="4372985825-12">(</span><span·class="p"·data-group-id="4372985825-13">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p"·data-group-id="4372985825-13">}</[·...·truncated·by·diffoscope;·len:·232,·SHA:·6c11245bfc96711f268ab45226ac1eddc81de7d7814a7f256d76ed4dde46624e·...·]-12">)</span><span·class="p">,</span><span·class="w">
557 ····</span><span·class="nf">port_control</span><span·class="p"·data-group-id="5579627947-15">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_CONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ConnectStr</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·7ac9079eabc1d18564c1d09c280de85450694672e6ab4d0674d9ec0107415cd1·...·]-15">)</span><span·class="p">,</span><span·class="w">557 ····</span><span·class="nf">port_control</span><span·class="p"·data-group-id="4372985825-15">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_CONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ConnectStr</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·cd9fc135104c75ff9b89e86c16bf37d41ad52efa3d0092cde40ea69e9e101a8c·...·]-15">)</span><span·class="p">,</span><span·class="w">
558 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">return_port_data</span><span·class="p"·data-group-id="5579627947-16">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5579627947-16">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">558 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">return_port_data</span><span·class="p"·data-group-id="4372985825-16">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4372985825-16">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
559 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">559 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
560 ············</span><span·class="p"·data-group-id="5579627947-17">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="5579627947-17">}</span><span·class="p">;</span><span·class="w">560 ············</span><span·class="p"·data-group-id="4372985825-17">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="4372985825-17">}</span><span·class="p">;</span><span·class="w">
561 ········</span><span·class="n">Error</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">561 ········</span><span·class="n">Error</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
562 ············</span><span·class="n">Error</span><span·class="w">562 ············</span><span·class="n">Error</span><span·class="w">
563 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">563 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
564 </span><span·class="nf">disconnect</span><span·class="p"·data-group-id="5579627947-18">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5579627947-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">564 </span><span·class="nf">disconnect</span><span·class="p"·data-group-id="4372985825-18">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4372985825-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
565 ····</span><span·class="nf">port_control</span><span·class="p"·data-group-id="5579627947-19">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_DISCONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·0ce56f5511e8b0087d4cad1ca7dc27417506ed65704c7de3f9d83ebf0ecdc52f·...·]-19">)</span><span·class="p">,</span><span·class="w">565 ····</span><span·class="nf">port_control</span><span·class="p"·data-group-id="4372985825-19">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_DISCONNECT</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·7e3837bccfde10fb547d4c5a1e937d0bab9d57e462e7d7380b6440402af2bcb1·...·]-19">)</span><span·class="p">,</span><span·class="w">
566 ····</span><span·class="n">R</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">return_port_data</span><span·class="p"·data-group-id="5579627947-20">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5579627947-20">)</span><span·class="p">,</span><span·class="w"> 
567 ····</span><span·class="nf">port_close</span><span·class="p"·data-group-id="5579627947-21">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5579627947-21">)</span><span·class="p">,</span><span·class="w">566 ····</span><span·class="n">R</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">return_port_data</span><span·class="p"·data-group-id="4372985825-20">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4372985825-20">)</span><span·class="p">,</span><span·class="w">
 567 ····</span><span·class="nf">port_close</span><span·class="p"·data-group-id="4372985825-21">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4372985825-21">)</span><span·class="p">,</span><span·class="w">
568 ····</span><span·class="n">R</span><span·class="p">.</span><span·class="w">568 ····</span><span·class="n">R</span><span·class="p">.</span><span·class="w">
  
569 </span><span·class="nf">select</span><span·class="p"·data-group-id="5579627947-22">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Query</span><span·class="p"·data-group-id="5579627947-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">569 </span><span·class="nf">select</span><span·class="p"·data-group-id="4372985825-22">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Query</span><span·class="p"·data-group-id="4372985825-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
570 ····</span><span·class="nf">port_control</span><span·class="p"·data-group-id="5579627947-23">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_SELECT</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Query</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·dc56d786b845fb2f1685514306db9a4468687fd9e54af86117e5876a5f6a7fa3·...·]-23">)</span><span·class="p">,</span><span·class="w">570 ····</span><span·class="nf">port_control</span><span·class="p"·data-group-id="4372985825-23">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">DRV_SELECT</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Query</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·9839f4ccd0ad927ef30349357a6621ec69673d2c7f8c54df3ef73e36e1bc0b38·...·]-23">)</span><span·class="p">,</span><span·class="w">
571 ····</span><span·class="nf">return_port_data</span><span·class="p"·data-group-id="5579627947-24">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5579627947-24">)</span><span·class="p">.</span><span·class="w">571 ····</span><span·class="nf">return_port_data</span><span·class="p"·data-group-id="4372985825-24">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4372985825-24">)</span><span·class="p">.</span><span·class="w">
  
572 </span><span·class="nf">return_port_data</span><span·class="p"·data-group-id="5579627947-25">(</span><span·class="n">Port</span><span·class="p"·data-group-id="5579627947-25">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">572 </span><span·class="nf">return_port_data</span><span·class="p"·data-group-id="4372985825-25">(</span><span·class="n">Port</span><span·class="p"·data-group-id="4372985825-25">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
573 ····</span><span·class="k">receive</span><span·class="w">573 ····</span><span·class="k">receive</span><span·class="w">
574 ········</span><span·class="p"·data-group-id="5579627947-26">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5579627947-27">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·0fe47fece5df5e2620f3ef9968b655b8c0056d40fd76155513887cf98a9dfffb·...·]-26">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">574 ········</span><span·class="p"·data-group-id="4372985825-26">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4372985825-27">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><[·...·truncated·by·diffoscope;·len:·94,·SHA:·84be349b59412f0a8d6af3380aa3a6d94e1be0a963c54ed2b3cd7d1383e93837·...·]-26">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
575 ············</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="5579627947-28">(</span><span·class="n">Data</span><span·class="p"·data-group-id="5579627947-28">)</span><span·class="w">575 ············</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="4372985825-28">(</span><span·class="n">Data</span><span·class="p"·data-group-id="4372985825-28">)</span><span·class="w">
576 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·Erlang·code·is·slightly·different,·as·we·do·not·return·the·result576 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·Erlang·code·is·slightly·different,·as·we·do·not·return·the·result
577 synchronously·from·<a·href="erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>,·instead·we·get·it·from·<a·href="../../../erts-16.0/doc/html/erl_driver.html#driver_output"·title=""><code·class="inline">driver_output</code></a>·as577 synchronously·from·<a·href="erlang.html#port_control/3"><code·class="inline">port_control/3</code></a>,·instead·we·get·it·from·<a·href="../../../erts-16.0/doc/html/erl_driver.html#driver_output"·title=""><code·class="inline">driver_output</code></a>·as
578 data·in·the·message·queue.·The·function·<code·class="inline">return_port_data</code>·above·receives·data578 data·in·the·message·queue.·The·function·<code·class="inline">return_port_data</code>·above·receives·data
579 from·the·port.·As·the·data·is·in·binary·format,·we·use579 from·the·port.·As·the·data·is·in·binary·format,·we·use
580 <a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>·to·convert·it·to·an·Erlang·term.·Notice580 <a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>·to·convert·it·to·an·Erlang·term.·Notice
581 that·the·driver·is·opened·in·binary·mode·(<a·href="erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>·is581 that·the·driver·is·opened·in·binary·mode·(<a·href="erlang.html#open_port/2"><code·class="inline">open_port/2</code></a>·is
582 called·with·option·<code·class="inline">[binary]</code>).·This·means·that·data·sent·from·the·driver·to·the582 called·with·option·<code·class="inline">[binary]</code>).·This·means·that·data·sent·from·the·driver·to·the
Offset 677, 59 lines modifiedOffset 677, 59 lines modified
677 ····*rp++·=·ERL_DRV_LIST;677 ····*rp++·=·ERL_DRV_LIST;
678 ····*rp++·=·n+1;678 ····*rp++·=·n+1;
679 ····driver_output_term(port,·result,·result_n);679 ····driver_output_term(port,·result,·result_n);
680 ····delete[]·result;680 ····delete[]·result;
681 ····delete·d;681 ····delete·d;
682 }</code></pre><p>This·driver·is·called·like·the·others·from·Erlang.·However,·as·we·use682 }</code></pre><p>This·driver·is·called·like·the·others·from·Erlang.·However,·as·we·use
683 <a·href="../../../erts-16.0/doc/html/erl_driver.html#driver_output_term"·title=""><code·class="inline">driver_output_term</code></a>,·there·is·no·need·to·call·<a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>.·The·Erlang·code683 <a·href="../../../erts-16.0/doc/html/erl_driver.html#driver_output_term"·title=""><code·class="inline">driver_output_term</code></a>,·there·is·no·need·to·call·<a·href="erlang.html#binary_to_term/1"><code·class="inline">binary_to_term/1</code></a>.·The·Erlang·code
684 is·in·the·sample·file·<code·class="inline">next_perm.erl</code>.</p><p>The·input·is·changed·into·a·list·of·integers·and·sent·to·the·driver.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6084871571-1">(</span><span·class="ss">next_perm</span><span·class="p"·data-group-id="6084871571-1">)</span><span·class="p">.</span><span·class="w">684 is·in·the·sample·file·<code·class="inline">next_perm.erl</code>.</p><p>The·input·is·changed·into·a·list·of·integers·and·sent·to·the·driver.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5187217775-1">(</span><span·class="ss">next_perm</span><span·class="p"·data-group-id="5187217775-1">)</span><span·class="p">.</span><span·class="w">
685 </span><span·class="w">685 </span><span·class="w">
686 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6084871571-2">(</span><span·class="p"·data-group-id="6084871571-3">[</span><span·class="ss">next_perm</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">prev_perm</span><span·class="p">/<[·...·truncated·by·diffoscope;·len:·379,·SHA:·7adfd7c8fc7c8a1d47337873f2d253fafb499c57677169a77a3454ea8f1f5a31·...·]-2">)</span><span·class="p">.</span><span·class="w">686 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5187217775-2">(</span><span·class="p"·data-group-id="5187217775-3">[</span><span·class="ss">next_perm</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">prev_perm</span><span·class="p">/<[·...·truncated·by·diffoscope;·len:·379,·SHA:·2c14be6625156179d2a080b651f82c259378377a0c74adf1eb04924b7952caa2·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
687 </span><span·class="nf">load</span><span·class="p"·data-group-id="6084871571-4">(</span><span·class="p"·data-group-id="6084871571-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">687 </span><span·class="nf">load</span><span·class="p"·data-group-id="5187217775-4">(</span><span·class="p"·data-group-id="5187217775-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
688 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">whereis</span><span·class="p"·data-group-id="6084871571-5">(</span><span·class="ss">next_perm</span><span·class="p"·data-group-id="6084871571-5">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">688 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">whereis</span><span·class="p"·data-group-id="5187217775-5">(</span><span·class="ss">next_perm</span><span·class="p"·data-group-id="5187217775-5">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
689 ········</span><span·class="ss">undefined</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">689 ········</span><span·class="ss">undefined</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
690 ············</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">erl_ddll</span><span·class="p">:</span><span·class="nf">load_driver</span><span·class="p"·data-group-id="6084871571-6">(</span><span·class="s">&quot;.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;next_perm&quot;</span><span·class="p"·data-group-id="6084871571-6">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">690 ············</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">erl_ddll</span><span·class="p">:</span><span·class="nf">load_driver</span><span·class="p"·data-group-id="5187217775-6">(</span><span·class="s">&quot;.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;next_perm&quot;</span><span·class="p"·data-group-id="5187217775-6">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
691 ················</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">691 ················</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
692 ················</span><span·class="p"·data-group-id="6084871571-7">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">already_loaded</span><span·class="p"·data-group-id="6084871571-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">692 ················</span><span·class="p"·data-group-id="5187217775-7">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">already_loaded</span><span·class="p"·data-group-id="5187217775-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
693 ················</span><span·class="n">E</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">exit</span><span·class="p"·data-group-id="6084871571-8">(</span><span·class="n">E</span><span·class="p"·data-group-id="6084871571-8">)</span><span·class="w">693 ················</span><span·class="n">E</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">exit</span><span·class="p"·data-group-id="5187217775-8">(</span><span·class="n">E</span><span·class="p"·data-group-id="5187217775-8">)</span><span·class="w">
694 ············</span><span·class="k">end</span><span·class="p">,</span><span·class="w">694 ············</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
695 ············</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="6084871571-9">(</span><span·class="p"·data-group-id="6084871571-10">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;next_perm&quot;</span><span·class="p"·data-group-id="6084871571-10">}</span><span[·...·truncated·by·diffoscope;·len:·192,·SHA:·2d02826e4d14e52bb3c613404b31b1dc1755153526a047f4b3418582bde10e6f·...·]-9">)</span><span·class="p">,</span><span·class="w">695 ············</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">open_port</span><span·class="p"·data-group-id="5187217775-9">(</span><span·class="p"·data-group-id="5187217775-10">{</span><span·class="nb">spawn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;next_perm&quot;</span><span·class="p"·data-group-id="5187217775-10">}</span><span[·...·truncated·by·diffoscope;·len:·192,·SHA:·23acfff3e355540511b840a219cd23a8d36be9bf7d9b2d27d18d85ca22ac6101·...·]-9">)</span><span·class="p">,</span><span·class="w">
696 ············</span><span·class="nf">register</span><span·class="p"·data-group-id="6084871571-12">(</span><span·class="ss">next_perm</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="6084871571-12">)</span><span·class="p">;</span><span·class="w">696 ············</span><span·class="nf">register</span><span·class="p"·data-group-id="5187217775-12">(</span><span·class="ss">next_perm</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="5187217775-12">)</span><span·class="p">;</span><span·class="w">
697 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">697 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
698 ············</span><span·class="ss">ok</span><span·class="w">698 ············</span><span·class="ss">ok</span><span·class="w">
699 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">699 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
700 </span><span·class="nf">list_to_integer_binaries</span><span·class="p"·data-group-id="6084871571-13">(</span><span·class="n">L</span><span·class="p"·data-group-id="6084871571-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">700 </span><span·class="nf">list_to_integer_binaries</span><span·class="p"·data-group-id="5187217775-13">(</span><span·class="n">L</span><span·class="p"·data-group-id="5187217775-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
701 ····</span><span·class="p"·data-group-id="6084871571-14">[</span><span·class="p"·data-group-id="6084871571-15">&lt;&lt;</span><span·class="n">I</span><span·class="p">:</span><span·class="mi">32</span><span·class="o">/</span><span·class="ss">integer</span><span·class="o">-</span><span·class="ss">na[·...·truncated·by·diffoscope;·len:·310,·SHA:·a58099303d42e7fde5fd9d9cf11a55c12d0af79535d58b28634121eddaf21af8·...·]-14">]</span><span·class="p">.</span><span·class="w">701 ····</span><span·class="p"·data-group-id="5187217775-14">[</span><span·class="p"·data-group-id="5187217775-15">&lt;&lt;</span><span·class="n">I</span><span·class="p">:</span><span·class="mi">32</span><span·class="o">/</span><span·class="ss">integer</span><span·class="o">-</span><span·class="ss">na[·...·truncated·by·diffoscope;·len:·310,·SHA:·220da1132bd7c3d033d25bba102f1652d5e5ef1abd6d5e452bfd7891c5baba77·...·]-14">]</span><span·class="p">.</span><span·class="w">
  
702 </span><span·class="nf">next_perm</span><span·class="p"·data-group-id="6084871571-16">(</span><span·class="n">L</span><span·class="p"·data-group-id="6084871571-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">702 </span><span·class="nf">next_perm</span><span·class="p"·data-group-id="5187217775-16">(</span><span·class="n">L</span><span·class="p"·data-group-id="5187217775-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
703 ····</span><span·class="nf">next_perm</span><span·class="p"·data-group-id="6084871571-17">(</span><span·class="n">L</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6084871571-17">)</span><span·class="p">.</span><span·class="w">703 ····</span><span·class="nf">next_perm</span><span·class="p"·data-group-id="5187217775-17">(</span><span·class="n">L</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5187217775-17">)</span><span·class="p">.</span><span·class="w">
  
Max diff block lines reached; 9109/58750 bytes (15.50%) of diff not shown.
626 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/driver_entry.html
    
Offset 417, 15 lines modifiedOffset 417, 15 lines modified
417 ······<p·class="built-using">417 ······<p·class="built-using">
418 ········Built·using418 ········Built·using
419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
421 ······</p>421 ······</p>
422 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>422 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
423 ····</footer>423 ····</footer>
424 ··</div>424 ··</div>
425 </main>425 </main>
426 </div>426 </div>
427 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>427 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
428 ··<script>428 ··<script>
429 ··let·initialized·=·false;429 ··let·initialized·=·false;
578 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/epmd_cmd.html
    
Offset 301, 15 lines modifiedOffset 301, 15 lines modified
301 ······<p·class="built-using">301 ······<p·class="built-using">
302 ········Built·using302 ········Built·using
303 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the303 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
304 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>304 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
305 ······</p>305 ······</p>
306 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>306 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
307 ····</footer>307 ····</footer>
308 ··</div>308 ··</div>
309 </main>309 </main>
310 </div>310 </div>
311 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>311 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
312 ··<script>312 ··<script>
313 ··let·initialized·=·false;313 ··let·initialized·=·false;
618 B
html2text {}
Max HTML report size reached
35.0 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erl_cmd.html
    
Offset 149, 26 lines modifiedOffset 149, 26 lines modified
149 runtime·system,·more·specifically·to·the·<code·class="inline">init</code>·system·process,·see·<a·href="init.html"><code·class="inline">init</code></a>.</p><p>The·<code·class="inline">init</code>·process·itself·interprets·some·of·these·flags,·the·<em>init·flags</em>.·It149 runtime·system,·more·specifically·to·the·<code·class="inline">init</code>·system·process,·see·<a·href="init.html"><code·class="inline">init</code></a>.</p><p>The·<code·class="inline">init</code>·process·itself·interprets·some·of·these·flags,·the·<em>init·flags</em>.·It
150 also·stores·any·remaining·flags,·the·<em>user·flags</em>.·The·latter·can·be·retrieved150 also·stores·any·remaining·flags,·the·<em>user·flags</em>.·The·latter·can·be·retrieved
151 by·calling·<a·href="init.html#get_argument/1"><code·class="inline">init:get_argument/1</code></a>.</p><p>A·small·number·of·&quot;-&quot;·flags·exist,·which·now·actually·are·emulator·flags,·see151 by·calling·<a·href="init.html#get_argument/1"><code·class="inline">init:get_argument/1</code></a>.</p><p>A·small·number·of·&quot;-&quot;·flags·exist,·which·now·actually·are·emulator·flags,·see
152 the·description·below.</p></li><li><p>Plain·arguments·are·not·interpreted·in·any·way.·They·are·also·stored·by·the152 the·description·below.</p></li><li><p>Plain·arguments·are·not·interpreted·in·any·way.·They·are·also·stored·by·the
153 <code·class="inline">init</code>·process·and·can·be·retrieved·by·calling·<a·href="init.html#get_plain_arguments/0"><code·class="inline">init:get_plain_arguments/0</code></a>.153 <code·class="inline">init</code>·process·and·can·be·retrieved·by·calling·<a·href="init.html#get_plain_arguments/0"><code·class="inline">init:get_plain_arguments/0</code></a>.
154 Plain·arguments·can·occur·before·the·first·flag,·or·after·a·<code·class="inline">--</code>·flag.·Also,154 Plain·arguments·can·occur·before·the·first·flag,·or·after·a·<code·class="inline">--</code>·flag.·Also,
155 the·<code·class="inline">-extra</code>·flag·causes·everything·that·follows·to·become·plain·arguments.</p></li></ul><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·+W·w·-sname·arnie·+S·2·-s·my_init·-extra·+bertie</span><span·class="gp·unselectable">155 the·<code·class="inline">-extra</code>·flag·causes·everything·that·follows·to·become·plain·arguments.</p></li></ul><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·+W·w·-sname·arnie·+S·2·-s·my_init·-extra·+bertie</span><span·class="gp·unselectable">
156 (arnie@host)1&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="6744470148-1">(</span><span·class="ss">sname</span><span·class="p"·data-group-id="6744470148-1">)</span><span·class="p">.</span><span·class="w">156 (arnie@host)1&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="7978600435-1">(</span><span·class="ss">sname</span><span·class="p"·data-group-id="7978600435-1">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="6744470148-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6744470148-3">[</span><span·class="p"·data-group-id="6744470148-4">[</span><span·class="s">&quot;arnie&quot;</span><span·class="p"·data-group-id="6744470[·...·truncated·by·diffoscope;·len:·109,·SHA:·889a2e951274efa8b8f9ab5f04f5302d2d80c2deebba9ea339cbcee409b8a7e4·...·]-2">}</span><span·class="gp·unselectable">157 </span><span·class="p"·data-group-id="7978600435-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7978600435-3">[</span><span·class="p"·data-group-id="7978600435-4">[</span><span·class="s">&quot;arnie&quot;</span><span·class="p"·data-group-id="7978600[·...·truncated·by·diffoscope;·len:·109,·SHA:·c6a02f4253816a0bcfa6c573bd9cf6b926a3f71bbb8d5b1eb4629955d046f257·...·]-2">}</span><span·class="gp·unselectable">
158 (arnie@host)2&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_plain_arguments</span><span·class="p"·data-group-id="6744470148-5">(</span><span·class="p"·data-group-id="6744470148-5">)</span><span·class="p">.</span><span·class="w">158 (arnie@host)2&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_plain_arguments</span><span·class="p"·data-group-id="7978600435-5">(</span><span·class="p"·data-group-id="7978600435-5">)</span><span·class="p">.</span><span·class="w">
159 </span><span·class="p"·data-group-id="6744470148-6">[</span><span·class="s">&quot;+bertie&quot;</span><span·class="p"·data-group-id="6744470148-6">]</span></code></pre><p>Here·<code·class="inline">+W·w</code>·and·<code·class="inline">+S·2</code>·are·emulator·flags.·<code·class="inline">-s·my_init</code>·is·an·init·flag,159 </span><span·class="p"·data-group-id="7978600435-6">[</span><span·class="s">&quot;+bertie&quot;</span><span·class="p"·data-group-id="7978600435-6">]</span></code></pre><p>Here·<code·class="inline">+W·w</code>·and·<code·class="inline">+S·2</code>·are·emulator·flags.·<code·class="inline">-s·my_init</code>·is·an·init·flag,
160 interpreted·by·<code·class="inline">init</code>.·<code·class="inline">-sname·arnie</code>·is·a·user·flag,·stored·by·<code·class="inline">init</code>.·It·is160 interpreted·by·<code·class="inline">init</code>.·<code·class="inline">-sname·arnie</code>·is·a·user·flag,·stored·by·<code·class="inline">init</code>.·It·is
161 read·by·Kernel·and·causes·the·Erlang·runtime·system·to·become·distributed.161 read·by·Kernel·and·causes·the·Erlang·runtime·system·to·become·distributed.
162 Finally,·everything·after·<code·class="inline">-extra</code>·(that·is,·<code·class="inline">+bertie</code>)·is·considered·as·plain162 Finally,·everything·after·<code·class="inline">-extra</code>·(that·is,·<code·class="inline">+bertie</code>)·is·considered·as·plain
163 arguments.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-myflag·1</span><span·class="gp·unselectable">163 arguments.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-myflag·1</span><span·class="gp·unselectable">
164 1&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="0575936026-1">(</span><span·class="ss">myflag</span><span·class="p"·data-group-id="0575936026-1">)</span><span·class="p">.</span><span·class="w">164 1&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="6021884970-1">(</span><span·class="ss">myflag</span><span·class="p"·data-group-id="6021884970-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="0575936026-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0575936026-3">[</span><span·class="p"·data-group-id="0575936026-4">[</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="0575936026-[·...·truncated·by·diffoscope;·len:·105,·SHA:·6cf185c8bb70801868b8f35a46e71d3ce12a4d0c1cbbbf99f110d889ea63630a·...·]-2">}</span><span·class="gp·unselectable">165 </span><span·class="p"·data-group-id="6021884970-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6021884970-3">[</span><span·class="p"·data-group-id="6021884970-4">[</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="6021884970-[·...·truncated·by·diffoscope;·len:·105,·SHA:·6caa97a6be001c0b6f4eb9f8bf92664970869c02c100b79e7690fb7b40da0168·...·]-2">}</span><span·class="gp·unselectable">
166 2&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_plain_arguments</span><span·class="p"·data-group-id="0575936026-5">(</span><span·class="p"·data-group-id="0575936026-5">)</span><span·class="p">.</span><span·class="w">166 2&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_plain_arguments</span><span·class="p"·data-group-id="6021884970-5">(</span><span·class="p"·data-group-id="6021884970-5">)</span><span·class="p">.</span><span·class="w">
167 </span><span·class="p"·data-group-id="0575936026-6">[</span><span·class="p"·data-group-id="0575936026-6">]</span></code></pre><p>Here·the·user·flag·<code·class="inline">-myflag·1</code>·is·passed·to·and·stored·by·the·<code·class="inline">init</code>·process.·It167 </span><span·class="p"·data-group-id="6021884970-6">[</span><span·class="p"·data-group-id="6021884970-6">]</span></code></pre><p>Here·the·user·flag·<code·class="inline">-myflag·1</code>·is·passed·to·and·stored·by·the·<code·class="inline">init</code>·process.·It
168 is·a·user-defined·flag,·presumably·used·by·some·user-defined·application.</p><h2·id="flags"·class="section-heading">168 is·a·user-defined·flag,·presumably·used·by·some·user-defined·application.</p><h2·id="flags"·class="section-heading">
169 ··<a·href="#flags"·class="hover-link">169 ··<a·href="#flags"·class="hover-link">
170 ····<i·class="ri-link-m"·aria-hidden="true"></i>170 ····<i·class="ri-link-m"·aria-hidden="true"></i>
171 ··</a>171 ··</a>
172 ··<span·class="text">Flags</span>172 ··<span·class="text">Flags</span>
173 </h2>173 </h2>
174 <p>In·the·following·list,·init·flags·are·marked·&quot;(init·flag)&quot;.·Unless·otherwise174 <p>In·the·following·list,·init·flags·are·marked·&quot;(init·flag)&quot;.·Unless·otherwise
Offset 694, 15 lines modifiedOffset 694, 15 lines modified
694 processes)·into·a·smaller·set·of·schedulers·when·schedulers·frequently·run694 processes)·into·a·smaller·set·of·schedulers·when·schedulers·frequently·run
695 out·of·work.·When·disabled,·the·frequency·with·which·schedulers·run·out·of695 out·of·work.·When·disabled,·the·frequency·with·which·schedulers·run·out·of
696 work·is·not·taken·into·account·by·the·load·balancing·logic.</p><p><code·class="inline">+scl·false</code>·is·similar·to·<a·href="#%2Bsub"><code·class="inline">+sub·true</code></a>,·but·<code·class="inline">+sub·true</code>696 work·is·not·taken·into·account·by·the·load·balancing·logic.</p><p><code·class="inline">+scl·false</code>·is·similar·to·<a·href="#%2Bsub"><code·class="inline">+sub·true</code></a>,·but·<code·class="inline">+sub·true</code>
697 also·balances·scheduler·utilization·between·schedulers.</p></li><li><p><strong><code·class="inline"·id="+sct">+sct·CpuTopology</code></strong>·-·Sets·a·user-defined·CPU·topology.697 also·balances·scheduler·utilization·between·schedulers.</p></li><li><p><strong><code·class="inline"·id="+sct">+sct·CpuTopology</code></strong>·-·Sets·a·user-defined·CPU·topology.
698 The·user-defined·CPU·topology·overrides698 The·user-defined·CPU·topology·overrides
699 any·automatically·detected·CPU·topology.·The·CPU·topology·is·used·when699 any·automatically·detected·CPU·topology.·The·CPU·topology·is·used·when
700 <a·href="#%2Bsbt">binding·schedulers·to·logical·processors</a>.·This·option·must·be·before700 <a·href="#%2Bsbt">binding·schedulers·to·logical·processors</a>.·This·option·must·be·before
701 <a·href="#%2Bsbt"><code·class="inline">+sbt</code></a>·on·the·command-line.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8417914499-1">(</span><span·class="p"·data-group-id="8417914499-1">)</span><span·class="p">;</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="mi">65535</span><span·class="w">701 <a·href="#%2Bsbt"><code·class="inline">+sbt</code></a>·on·the·command-line.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6098206786-1">(</span><span·class="p"·data-group-id="6098206786-1">)</span><span·class="p">;</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="mi">65535</span><span·class="w">
702 </span><span·class="o">&lt;</span><span·class="n">IdRange</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="o">-</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">702 </span><span·class="o">&lt;</span><span·class="n">IdRange</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="o">-</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">
703 </span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">IdRange</span><span·class="o">&gt;</span><span·class="w">703 </span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">Id</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">IdRange</span><span·class="o">&gt;</span><span·class="w">
704 </span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="w">704 </span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="n">IdOrIdRange</span><span·class="o">&gt;</span><span·class="w">
705 </span><span·class="o">&lt;</span><span·class="n">LogicalIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">705 </span><span·class="o">&lt;</span><span·class="n">LogicalIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">
706 </span><span·class="o">&lt;</span><span·class="n">ThreadIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">T</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">t</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">706 </span><span·class="o">&lt;</span><span·class="n">ThreadIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">T</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">t</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">
707 </span><span·class="o">&lt;</span><span·class="n">CoreIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">C</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">c</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">707 </span><span·class="o">&lt;</span><span·class="n">CoreIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">C</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">c</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">
708 </span><span·class="o">&lt;</span><span·class="n">ProcessorIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">p</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">708 </span><span·class="o">&lt;</span><span·class="n">ProcessorIds</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">p</span><span·class="o">&lt;</span><span·class="n">IdList</span><span·class="o">&gt;</span><span·class="w">
Offset 727, 30 lines modifiedOffset 727, 30 lines modified
727 node.</li><li><code·class="inline">&lt;LogicalIds&gt;&lt;ThreadIds&gt;&lt;CoreIds&gt;&lt;NodeIds&gt;&lt;ProcessorIds&gt;</code>,·that·is,·thread727 node.</li><li><code·class="inline">&lt;LogicalIds&gt;&lt;ThreadIds&gt;&lt;CoreIds&gt;&lt;NodeIds&gt;&lt;ProcessorIds&gt;</code>,·that·is,·thread
728 is·part·of·a·core·that·is·part·of·a·NUMA·node,·which·is·part·of·a728 is·part·of·a·core·that·is·part·of·a·NUMA·node,·which·is·part·of·a
729 processor.</li></ul><p>A·CPU·topology·can·consist·of·both·processor·external,·and·processor729 processor.</li></ul><p>A·CPU·topology·can·consist·of·both·processor·external,·and·processor
730 internal·NUMA·nodes·as·long·as·each·logical·processor·belongs·to·only·one730 internal·NUMA·nodes·as·long·as·each·logical·processor·belongs·to·only·one
731 NUMA·node.·If·<code·class="inline">&lt;ProcessorIds&gt;</code>·is·omitted,·its·default·position·is·before731 NUMA·node.·If·<code·class="inline">&lt;ProcessorIds&gt;</code>·is·omitted,·its·default·position·is·before
732 <code·class="inline">&lt;NodeIds&gt;</code>.·That·is,·the·default·is·processor·external·NUMA·nodes.</p><p>If·a·list·of·identifiers·is·used·in·an·<code·class="inline">&lt;IdDefs&gt;</code>:</p><ul><li><code·class="inline">&lt;LogicalIds&gt;</code>·must·be·a·list·of·identifiers.</li><li>At·least·one·other·identifier·type·besides·<code·class="inline">&lt;LogicalIds&gt;</code>·must·also·have·a732 <code·class="inline">&lt;NodeIds&gt;</code>.·That·is,·the·default·is·processor·external·NUMA·nodes.</p><p>If·a·list·of·identifiers·is·used·in·an·<code·class="inline">&lt;IdDefs&gt;</code>:</p><ul><li><code·class="inline">&lt;LogicalIds&gt;</code>·must·be·a·list·of·identifiers.</li><li>At·least·one·other·identifier·type·besides·<code·class="inline">&lt;LogicalIds&gt;</code>·must·also·have·a
733 list·of·identifiers.</li><li>All·lists·of·identifiers·must·produce·the·same·number·of·identifiers.</li></ul><p>A·simple·example.·A·single·quad·core·processor·can·be·described·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·+sct·L0-3c0-3</span><span·class="gp·unselectable">733 list·of·identifiers.</li><li>All·lists·of·identifiers·must·produce·the·same·number·of·identifiers.</li></ul><p>A·simple·example.·A·single·quad·core·processor·can·be·described·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·+sct·L0-3c0-3</span><span·class="gp·unselectable">
734 1&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="4746598785-1">(</span><span·class="ss">cpu_topology</span><span·class="p"·data-group-id="4746598785-1">)</span><span·class="p">.</span><span·class="w">734 1&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="5138812143-1">(</span><span·class="ss">cpu_topology</span><span·class="p"·data-group-id="5138812143-1">)</span><span·class="p">.</span><span·class="w">
735 </span><span·class="p"·data-group-id="4746598785-2">[</span><span·class="p"·data-group-id="4746598785-3">{</span><span·class="ss">processor</span><span·class="p">,</span><span·class="p"·data-group-id="4746598785-4">[</span><span·class="p"·data-group-id="4746598785-5">{</span><span·class="ss">c[·...·truncated·by·diffoscope;·len:·261,·SHA:·6bda7ce187b9110577da7a09e07dca21e4d8a8ab3b7ca935c5a5d690c4d5109f·...·]-5">}</span><span·class="p">,</span><span·class="w">735 </span><span·class="p"·data-group-id="5138812143-2">[</span><span·class="p"·data-group-id="5138812143-3">{</span><span·class="ss">processor</span><span·class="p">,</span><span·class="p"·data-group-id="5138812143-4">[</span><span·class="p"·data-group-id="5138812143-5">{</span><span·class="ss">c[·...·truncated·by·diffoscope;·len:·261,·SHA:·ec5b86713dd2872b9cedf09ba99c8b9830ce5e6cbe7e952ceb6a696e17384d61·...·]-5">}</span><span·class="p">,</span><span·class="w">
736 ·············</span><span·class="p"·data-group-id="4746598785-7">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="4746598785-8">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="4746598785-8">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·d167fd3bc2bf53178f0b9c8d4143d509b58fff8b610e9c3ddf7ee14dad3816f2·...·]-7">}</span><span·class="p">,</span><span·class="w">736 ·············</span><span·class="p"·data-group-id="5138812143-7">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="5138812143-8">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5138812143-8">}</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·467c9b8f16f46112589bd8fa93dc2e43a6377137578c221a2bf9e226bf7e4445·...·]-7">}</span><span·class="p">,</span><span·class="w">
737 ·············</span><span·class="p"·data-group-id="4746598785-9">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="4746598785-10">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="4746598785-10">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·7a27d6b7ed4163beee4945dc849f44ba20559a7e03bb053ff3db24e83843c9ec·...·]-9">}</span><span·class="p">,</span><span·class="w">737 ·············</span><span·class="p"·data-group-id="5138812143-9">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="5138812143-10">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="5138812143-10">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·9ed6e3ee7693606c49bebecc61c0f07bca6bc01f2f6090ba5f7809382f22b8f4·...·]-9">}</span><span·class="p">,</span><span·class="w">
738 ·············</span><span·class="p"·data-group-id="4746598785-11">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="4746598785-12">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="4746598785-12">}[·...·truncated·by·diffoscope;·len:·208,·SHA:·e22771b2375f704900bfbe87ef82e459bee4ed73e6ce32f9a408f3bf06cf497f·...·]-2">]</span></code></pre><p>A·more·complicated·example·with·two·quad·core·processors,·each·processor·in738 ·············</span><span·class="p"·data-group-id="5138812143-11">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="5138812143-12">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="5138812143-12">}[·...·truncated·by·diffoscope;·len:·208,·SHA:·3952d66e2781121a8b5a43a9e0bfca2a9a1d7a5be33dcb64a4c97ceee6b4d8ea·...·]-2">]</span></code></pre><p>A·more·complicated·example·with·two·quad·core·processors,·each·processor·in
739 its·own·NUMA·node.·The·ordering·of·logical·processors·is·a·bit·weird.·This739 its·own·NUMA·node.·The·ordering·of·logical·processors·is·a·bit·weird.·This
740 to·give·a·better·example·of·identifier·lists:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·+sct·L0-1,3-2c0-3p0N0:L7,4,6-5c0-3p1N1</span><span·class="gp·unselectable">740 to·give·a·better·example·of·identifier·lists:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·+sct·L0-1,3-2c0-3p0N0:L7,4,6-5c0-3p1N1</span><span·class="gp·unselectable">
741 1&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="1805342615-1">(</span><span·class="ss">cpu_topology</span><span·class="p"·data-group-id="1805342615-1">)</span><span·class="p">.</span><span·class="w">741 1&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="3071965835-1">(</span><span·class="ss">cpu_topology</span><span·class="p"·data-group-id="3071965835-1">)</span><span·class="p">.</span><span·class="w">
742 </span><span·class="p"·data-group-id="1805342615-2">[</span><span·class="p"·data-group-id="1805342615-3">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="1805342615-4">[</span><span·class="p"·data-group-id="1805342615-5">{</span><span·class="ss">proces[·...·truncated·by·diffoscope;·len:·418,·SHA:·b615de1a138e573b9788ea0ccbdc78ba4501ce15330356cd6a771074aa0ce677·...·]5-7">}</span><span·class="p">,</span><span·class="w">742 </span><span·class="p"·data-group-id="3071965835-2">[</span><span·class="p"·data-group-id="3071965835-3">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="3071965835-4">[</span><span·class="p"·data-group-id="3071965835-5">{</span><span·class="ss">proces[·...·truncated·by·diffoscope;·len:·418,·SHA:·7f3b19eb842a92cc32beed1c9627a9129cfa3d94159cdbf9f233ebd4a326426d·...·]5-7">}</span><span·class="p">,</span><span·class="w">
743 ····················</span><span·class="p"·data-group-id="1805342615-9">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="1805342615-10">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="1805342615-10">}<[·...·truncated·by·diffoscope;·len:·46,·SHA:·45d15ab45f2f0fdca167bed93f2b3ef6b2e9b53aa2d8061d73ff50048a6443f8·...·]5-9">}</span><span·class="p">,</span><span·class="w">743 ····················</span><span·class="p"·data-group-id="3071965835-9">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="3071965835-10">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="3071965835-10">}<[·...·truncated·by·diffoscope;·len:·46,·SHA:·2305db548a6948440fb0d3fdab966c7263c456bfc00dc52b49994ff52acefd0e·...·]5-9">}</span><span·class="p">,</span><span·class="w">
744 ····················</span><span·class="p"·data-group-id="1805342615-11">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="1805342615-12">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="1805342615-12">}[·...·truncated·by·diffoscope;·len:·47,·SHA:·d954d383fa36a611f1911c740293c480f697ea4861ef4d9ab59aeb29b1290487·...·]5-11">}</span><span·class="p">,</span><span·class="w">744 ····················</span><span·class="p"·data-group-id="3071965835-11">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="3071965835-12">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="3071965835-12">}[·...·truncated·by·diffoscope;·len:·47,·SHA:·dd8b152cbb01c4057f4b3b47ed4bdedb704ff15238b81c37dbab64bd12277616·...·]5-11">}</span><span·class="p">,</span><span·class="w">
745 ····················</span><span·class="p"·data-group-id="1805342615-13">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="1805342615-14">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1805342615-14">}</span><span·class="p"·data-group-id="1805342615-13">}</span><span·class="p"·data-group-id="1805342615-6">]</span><span·class="p"·data-group-id="1805342615-5">}</span><span·class="p"·data-group-id="1805342615-4">]</span><span·class="p"·data-group-id="1805342615-3">}</span><span·class="p">,</span><span·class="w"> 
746 ·</span><span·class="p"·data-group-id="1805342615-15">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="1805342615-16">[</span><span·class="p"·data-group-id="1805342615-17">{</span><span·class="ss">processor</span><s[·...·truncated·by·diffoscope;·len:·414,·SHA:·fc54f3a1de24d995e24305596c26ab92a8f3cf3f09e4e8539713162b64a346bd·...·]">}</span><span·class="p">,</span><span·class="w">745 ····················</span><span·class="p"·data-group-id="3071965835-13">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="3071965835-14">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·320,·SHA:·b29bcfac1bc50d71e124e176de4813b8b1685a6a9e4e5a71df25d9820f17a919·...·]">}</span><span·class="p">,</span><span·class="w">
 746 ·</span><span·class="p"·data-group-id="3071965835-15">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="3071965835-16">[</span><span·class="p"·data-group-id="3071965835-17">{</span><span·class="ss">processor</span><span·class="p">,</span><span·class="p"·data-group-id="3071965835-18">[</span><span·class="p"·data-group-id="3071965835-19">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="3071965835-20">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="3071965835-20">}</span><span·class="p"·data-group-id="3071965835-19">}</span><span·class="p">,</span><span·class="w">
747 ····················</span><span·class="p"·data-group-id="1805342615-21">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="1805342615-22">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="1805342615-22">}[·...·truncated·by·diffoscope;·len:·47,·SHA:·d954d383fa36a611f1911c740293c480f697ea4861ef4d9ab59aeb29b1290487·...·]5-21">}</span><span·class="p">,</span><span·class="w">747 ····················</span><span·class="p"·data-group-id="3071965835-21">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="3071965835-22">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="3071965835-22">}[·...·truncated·by·diffoscope;·len:·47,·SHA:·dd8b152cbb01c4057f4b3b47ed4bdedb704ff15238b81c37dbab64bd12277616·...·]5-21">}</span><span·class="p">,</span><span·class="w">
748 ····················</span><span·class="p"·data-group-id="1805342615-23">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="1805342615-24">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1805342615-24">}[·...·truncated·by·diffoscope;·len:·47,·SHA:·d954d383fa36a611f1911c740293c480f697ea4861ef4d9ab59aeb29b1290487·...·]5-23">}</span><span·class="p">,</span><span·class="w">748 ····················</span><span·class="p"·data-group-id="3071965835-23">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="3071965835-24">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="3071965835-24">}[·...·truncated·by·diffoscope;·len:·47,·SHA:·dd8b152cbb01c4057f4b3b47ed4bdedb704ff15238b81c37dbab64bd12277616·...·]5-23">}</span><span·class="p">,</span><span·class="w">
749 ····················</span><span·class="p"·data-group-id="1805342615-25">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="1805342615-26">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="1805342615-26">}[·...·truncated·by·diffoscope;·len:·317,·SHA:·15a674e5a08084d666ca5120311830f580d593bb6db175957aa88b98ca1ce5a6·...·]5-2">]</span></code></pre><p>As·long·as·real·identifiers·are·correct,·it·is·OK·to·pass·a·CPU·topology749 ····················</span><span·class="p"·data-group-id="3071965835-25">{</span><span·class="ss">core</span><span·class="p">,</span><span·class="p"·data-group-id="3071965835-26">{</span><span·class="ss">logical</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="3071965835-26">}[·...·truncated·by·diffoscope;·len:·317,·SHA:·917a16e168a7cb883640d4d0d608e3e38dae65e7ce0fba26c9f7065c41371909·...·]5-2">]</span></code></pre><p>As·long·as·real·identifiers·are·correct,·it·is·OK·to·pass·a·CPU·topology
750 that·is·not·a·correct·description·of·the·CPU·topology.·When·used·with·care750 that·is·not·a·correct·description·of·the·CPU·topology.·When·used·with·care
751 this·can·be·very·useful.·This·to·trick·the·emulator·to·bind·its·schedulers751 this·can·be·very·useful.·This·to·trick·the·emulator·to·bind·its·schedulers
752 as·you·want.·For·example,·if·you·want·to·run·multiple·Erlang·runtime·systems752 as·you·want.·For·example,·if·you·want·to·run·multiple·Erlang·runtime·systems
753 on·the·same·machine,·you·want·to·reduce·the·number·of·schedulers·used·and753 on·the·same·machine,·you·want·to·reduce·the·number·of·schedulers·used·and
754 manipulate·the·CPU·topology·so·that·they·bind·to·different·logical·CPUs.·An754 manipulate·the·CPU·topology·so·that·they·bind·to·different·logical·CPUs.·An
755 example,·with·two·Erlang·runtime·systems·on·a·quad·core·machine:</p><pre><code·class="text">%·erl·+sct·L0-3c0-3·+sbt·db·+S3:2·-detached·-noinput·-noshell·-sname·one755 example,·with·two·Erlang·runtime·systems·on·a·quad·core·machine:</p><pre><code·class="text">%·erl·+sct·L0-3c0-3·+sbt·db·+S3:2·-detached·-noinput·-noshell·-sname·one
756 %·erl·+sct·L3-0c0-3·+sbt·db·+S3:2·-detached·-noinput·-noshell·-sname·two</code></pre><p>In·this·example,·each·runtime·system·have·two·schedulers·each·online,·and756 %·erl·+sct·L3-0c0-3·+sbt·db·+S3:2·-detached·-noinput·-noshell·-sname·two</code></pre><p>In·this·example,·each·runtime·system·have·two·schedulers·each·online,·and
Offset 917, 18 lines modifiedOffset 917, 18 lines modified
917 </h2>917 </h2>
918 <p>The·standard·Erlang/OTP·system·can·be·reconfigured·to·change·the·default918 <p>The·standard·Erlang/OTP·system·can·be·reconfigured·to·change·the·default
919 behavior·on·startup.</p><ul><li><p><strong>The·<code·class="inline">.erlang</code>·startup·file</strong>·-·When·Erlang/OTP·is·started,·the·system919 behavior·on·startup.</p><ul><li><p><strong>The·<code·class="inline">.erlang</code>·startup·file</strong>·-·When·Erlang/OTP·is·started,·the·system
920 searches·for·a·file·named·<code·class="inline">.erlang</code>·in·the920 searches·for·a·file·named·<code·class="inline">.erlang</code>·in·the
921 <a·href="init.html#home">user's·home·directory</a>·and·then921 <a·href="init.html#home">user's·home·directory</a>·and·then
922 <a·href="../../../lib/stdlib-7.0/doc/html/filename.html#user_config"><code·class="inline">filename:basedir(user_config,·&quot;erlang&quot;)</code></a>.</p><p>If·an·<code·class="inline">.erlang</code>·file·is·found,·it·is·assumed·to·contain·valid·Erlang922 <a·href="../../../lib/stdlib-7.0/doc/html/filename.html#user_config"><code·class="inline">filename:basedir(user_config,·&quot;erlang&quot;)</code></a>.</p><p>If·an·<code·class="inline">.erlang</code>·file·is·found,·it·is·assumed·to·contain·valid·Erlang
923 expressions.·These·expressions·are·evaluated·as·if·they·were·input·to·the923 expressions.·These·expressions·are·evaluated·as·if·they·were·input·to·the
924 shell.</p><p>A·typical·<code·class="inline">.erlang</code>·file·contains·a·set·of·search·paths,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5911518028-1">(</span><span·class="s">&quot;executing·user·profile·in·$HOME/.erlang\n&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5911518028-2">[</span><span·class="p"·data-group-id="5911518028-2">]</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·12,·SHA:·b230f560d1e0cc9f1fbde81224a11225d3b74f8654857885a53789d9980fcd44·...·]8-1">)</span><span·class="p">.</span><span·class="w">924 shell.</p><p>A·typical·<code·class="inline">.erlang</code>·file·contains·a·set·of·search·paths,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8836840768-1">(</span><span·class="s">&quot;executing·user·profile·in·$HOME/.erlang\n&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="8836840768-2">[</span><span·class="p"·data-group-id="8836840768-2">]</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·12,·SHA:·a79746881178eaaf269924c8bb32aaba13c733ec1c9f6555a1d9c585c6ed7dba·...·]8-1">)</span><span·class="p">.</span><span·class="w">
925 </span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">add_path</span><span·class="p"·data-group-id="5911518028-3">(</span><span·class="s">&quot;/home/calvin/test/ebin&quot;</span><span·class="p"·data-group-id="5911518028-3">)</span><span·class="p">.</span><span·class="w">925 </span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">add_path</span><span·class="p"·data-group-id="8836840768-3">(</span><span·class="s">&quot;/home/calvin/test/ebin&quot;</span><span·class="p"·data-group-id="8836840768-3">)</span><span·class="p">.</span><span·class="w">
926 </span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">add_path</span><span·class="p"·data-group-id="5911518028-4">(</span><span·class="s">&quot;/home/hobbes/bigappl-1.2/ebin&quot;</span><span·class="p"·data-group-id="5911518028-4">)</span><span·class="p">.</span><span·class="w">926 </span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">add_path</span><span·class="p"·data-group-id="8836840768-4">(</span><span·class="s">&quot;/home/hobbes/bigappl-1.2/ebin&quot;</span><span·class="p"·data-group-id="8836840768-4">)</span><span·class="p">.</span><span·class="w">
927 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5911518028-5">(</span><span·class="s">&quot;.erlang·rc·finished\n&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5911518028-6">[</span><span·class="p"·data-group-id="5911518028-6">]</span><span·class="p"·data-group-id="5911518028-5">)</span><span·class="p">.</span></code></pre></li><li><p><strong>user_default</strong>·and·<strong>shell_default</strong>·-·Functions·in·the·shell·that·are·not927 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8836840768-5">(</span><span·class="s">&quot;.erlang·rc·finished\n&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="8836840768-6">[</span><span·class="p"·data-group-id="8836840768-6">]</span><span·class="p"·data-group-id="8836840768-5">)</span><span·class="p">.</span></code></pre></li><li><p><strong>user_default</strong>·and·<strong>shell_default</strong>·-·Functions·in·the·shell·that·are·not
928 prefixed·by·a·module·name·are·assumed·to·be·functional·objects·(funs),928 prefixed·by·a·module·name·are·assumed·to·be·functional·objects·(funs),
929 built-in·functions·(BIFs),·or·belong·to·the·module·<code·class="inline">user_default</code>·or929 built-in·functions·(BIFs),·or·belong·to·the·module·<code·class="inline">user_default</code>·or
930 <code·class="inline">shell_default</code>.</p><p>To·include·private·shell·commands,·define·them·in·a·module·<code·class="inline">user_default</code>·and930 <code·class="inline">shell_default</code>.</p><p>To·include·private·shell·commands,·define·them·in·a·module·<code·class="inline">user_default</code>·and
931 add·the·following·argument·as·the·first·line·in·the·<code·class="inline">.erlang</code>·file:</p><pre><code·class="text">code:load_abs(&quot;..../user_default&quot;).</code></pre></li><li><p><strong>erl</strong>·-·If·the·contents·of·<code·class="inline">.erlang</code>·are·changed·and·a·private·version·of931 add·the·following·argument·as·the·first·line·in·the·<code·class="inline">.erlang</code>·file:</p><pre><code·class="text">code:load_abs(&quot;..../user_default&quot;).</code></pre></li><li><p><strong>erl</strong>·-·If·the·contents·of·<code·class="inline">.erlang</code>·are·changed·and·a·private·version·of
932 <code·class="inline">user_default</code>·is·defined,·the·Erlang/OTP·environment·can·be·customized.·More932 <code·class="inline">user_default</code>·is·defined,·the·Erlang/OTP·environment·can·be·customized.·More
933 powerful·changes·can·be·made·by·supplying·command-line·arguments·in·the933 powerful·changes·can·be·made·by·supplying·command-line·arguments·in·the
934 startup·script·<code·class="inline">erl</code>.·For·more·information,·see·<a·href="init.html"><code·class="inline">init</code></a>.</p></li></ul><h2·id="see-also"·class="section-heading">934 startup·script·<code·class="inline">erl</code>.·For·more·information,·see·<a·href="init.html"><code·class="inline">init</code></a>.</p></li></ul><h2·id="see-also"·class="section-heading">
Offset 982, 15 lines modifiedOffset 982, 15 lines modified
982 ······<p·class="built-using">982 ······<p·class="built-using">
983 ········Built·using983 ········Built·using
984 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the984 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
985 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>985 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
986 ······</p>986 ······</p>
987 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>987 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
988 ····</footer>988 ····</footer>
989 ··</div>989 ··</div>
990 </main>990 </main>
991 </div>991 </div>
992 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>992 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
993 ··<script>993 ··<script>
994 ··let·initialized·=·false;994 ··let·initialized·=·false;
740 B
html2text {}
Max HTML report size reached
28.3 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erl_dist_protocol.html
    
Offset 252, 32 lines modifiedOffset 252, 32 lines modified
252 ---252 ---
253 sequenceDiagram253 sequenceDiagram
254 ····participant·client·as·Client·(or·Node)254 ····participant·client·as·Client·(or·Node)
255 ····participant·EPMD255 ····participant·EPMD
256 ····256 ····
257 ····client·-&gt;&gt;·EPMD:·NAMES_REQ257 ····client·-&gt;&gt;·EPMD:·NAMES_REQ
258 ····EPMD·--&gt;&gt;·client:·NAMES_RESP</code></pre><table><thead><tr><th·style="text-align:·left;">1</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">110</code></td></tr></tbody></table><p><em>Table:·NAMES_REQ·(110)</em></p><p>The·response·for·a·<code·class="inline">NAMES_REQ</code>·is·as·follows:</p><table><thead><tr><th·style="text-align:·left;">4</th><th·style="text-align:·left;"></th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">EPMDPortNo</code></td><td·style="text-align:·left;"><code·class="inline">NodeInfo*</code></td></tr></tbody></table><p><em>Table:·NAMES_RESP</em></p><p><code·class="inline">NodeInfo</code>·is·a·string·written·for·each·active·node.·When·all·<code·class="inline">NodeInfo</code>·has258 ····EPMD·--&gt;&gt;·client:·NAMES_RESP</code></pre><table><thead><tr><th·style="text-align:·left;">1</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">110</code></td></tr></tbody></table><p><em>Table:·NAMES_REQ·(110)</em></p><p>The·response·for·a·<code·class="inline">NAMES_REQ</code>·is·as·follows:</p><table><thead><tr><th·style="text-align:·left;">4</th><th·style="text-align:·left;"></th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">EPMDPortNo</code></td><td·style="text-align:·left;"><code·class="inline">NodeInfo*</code></td></tr></tbody></table><p><em>Table:·NAMES_RESP</em></p><p><code·class="inline">NodeInfo</code>·is·a·string·written·for·each·active·node.·When·all·<code·class="inline">NodeInfo</code>·has
259 been·written·the·connection·is·closed·by·the·EPMD.</p><p><code·class="inline">NodeInfo</code>·is,·as·expressed·in·Erlang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3154089156-1">(</span><span·class="s">&quot;name·~ts·at·port·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3154089156-2">[</span><span·[·...·truncated·by·diffoscope;·len:·194,·SHA:·93bd1973673fc94fe7de1b5e105c887b9f67dbffb020b38ac1cdc24ffcba6963·...·]-1">)</span><span·class="p">.</span></code></pre><h3·id="dump-all-data-from-epmd"·class="section-heading">259 been·written·the·connection·is·closed·by·the·EPMD.</p><p><code·class="inline">NodeInfo</code>·is,·as·expressed·in·Erlang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8893101769-1">(</span><span·class="s">&quot;name·~ts·at·port·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8893101769-2">[</span><span·[·...·truncated·by·diffoscope;·len:·194,·SHA:·ebf20cf124c6d9d48186d18641b18b98040ccf9c12308fccb5aaaccfa1e8568e·...·]-1">)</span><span·class="p">.</span></code></pre><h3·id="dump-all-data-from-epmd"·class="section-heading">
260 ··<a·href="#dump-all-data-from-epmd"·class="hover-link">260 ··<a·href="#dump-all-data-from-epmd"·class="hover-link">
261 ····<i·class="ri-link-m"·aria-hidden="true"></i>261 ····<i·class="ri-link-m"·aria-hidden="true"></i>
262 ··</a>262 ··</a>
263 ··<span·class="text">Dump·All·Data·from·EPMD</span>263 ··<span·class="text">Dump·All·Data·from·EPMD</span>
264 </h3>264 </h3>
265 <p>This·request·is·not·really·used,·it·is·to·be·regarded·as·a·debug·feature.</p><pre><code·class="mermaid">---265 <p>This·request·is·not·really·used,·it·is·to·be·regarded·as·a·debug·feature.</p><pre><code·class="mermaid">---
266 title:·Dump·All·Data·from·EPMD266 title:·Dump·All·Data·from·EPMD
267 ---267 ---
268 sequenceDiagram268 sequenceDiagram
269 ····participant·client·as·Client·(or·Node)269 ····participant·client·as·Client·(or·Node)
270 ····participant·EPMD270 ····participant·EPMD
271 ····271 ····
272 ····client·-&gt;&gt;·EPMD:·DUMP_REQ272 ····client·-&gt;&gt;·EPMD:·DUMP_REQ
273 ····EPMD·--&gt;&gt;·client:·DUMP_RESP</code></pre><table><thead><tr><th·style="text-align:·left;">1</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">100</code></td></tr></tbody></table><p><em>Table:·DUMP_REQ</em></p><p>The·response·for·a·<code·class="inline">DUMP_REQ</code>·is·as·follows:</p><table><thead><tr><th·style="text-align:·left;">4</th><th·style="text-align:·left;"></th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">EPMDPortNo</code></td><td·style="text-align:·left;"><code·class="inline">NodeInfo*</code></td></tr></tbody></table><p><em>Table:·DUMP_RESP</em></p><p><code·class="inline">NodeInfo</code>·is·a·string·written·for·each·node·kept·in·the·EPMD.·When·all273 ····EPMD·--&gt;&gt;·client:·DUMP_RESP</code></pre><table><thead><tr><th·style="text-align:·left;">1</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">100</code></td></tr></tbody></table><p><em>Table:·DUMP_REQ</em></p><p>The·response·for·a·<code·class="inline">DUMP_REQ</code>·is·as·follows:</p><table><thead><tr><th·style="text-align:·left;">4</th><th·style="text-align:·left;"></th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">EPMDPortNo</code></td><td·style="text-align:·left;"><code·class="inline">NodeInfo*</code></td></tr></tbody></table><p><em>Table:·DUMP_RESP</em></p><p><code·class="inline">NodeInfo</code>·is·a·string·written·for·each·node·kept·in·the·EPMD.·When·all
274 <code·class="inline">NodeInfo</code>·has·been·written·the·connection·is·closed·by·the·EPMD.</p><p><code·class="inline">NodeInfo</code>·is,·as·expressed·in·Erlang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1386419976-1">(</span><span·class="s">&quot;active·name·····~ts·at·port·</span><span·class="si">~p</span><span·class="s">,·fd·=·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">274 <code·class="inline">NodeInfo</code>·has·been·written·the·connection·is·closed·by·the·EPMD.</p><p><code·class="inline">NodeInfo</code>·is,·as·expressed·in·Erlang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4536846604-1">(</span><span·class="s">&quot;active·name·····~ts·at·port·</span><span·class="si">~p</span><span·class="s">,·fd·=·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">
275 ··········</span><span·class="p"·data-group-id="1386419976-2">[</span><span·class="n">NodeName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="1386419976-2">]</span><s[·...·truncated·by·diffoscope;·len:·266,·SHA:·605e2d50c03cecc845987ec4bf2fc144aaac02f6fb26331a2556c219651b5aa0·...·]-1">(</span><span·class="s">&quot;old/unused·name·~ts·at·port·</span><span·class="si">~p</span><span·class="s">,·fd·=·</span><span·class="si">~p</span><span·class="s">·</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">275 ··········</span><span·class="p"·data-group-id="4536846604-2">[</span><span·class="n">NodeName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="4536846604-2">]</span><s[·...·truncated·by·diffoscope;·len:·266,·SHA:·25c11c8520e8089966121bd2397b308da2c899cca45f05aa93abc6d0740d9471·...·]-1">(</span><span·class="s">&quot;old/unused·name·~ts·at·port·</span><span·class="si">~p</span><span·class="s">,·fd·=·</span><span·class="si">~p</span><span·class="s">·</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">
276 ··········</span><span·class="p"·data-group-id="8181830720-2">[</span><span·class="n">NodeName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="8181830720-2">]</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·4314c7df9903a3fb43d4e3759336993ae62313a8e9a558ead5ca87d60ba386c6·...·]-1">)</span><span·class="p">.</span></code></pre><h3·id="kill-epmd"·class="section-heading">276 ··········</span><span·class="p"·data-group-id="2860313394-2">[</span><span·class="n">NodeName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="2860313394-2">]</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·03b9457e3ce1bdf37c235e66389e671053eed1ea8272492885c063ae5f9a9746·...·]-1">)</span><span·class="p">.</span></code></pre><h3·id="kill-epmd"·class="section-heading">
277 ··<a·href="#kill-epmd"·class="hover-link">277 ··<a·href="#kill-epmd"·class="hover-link">
278 ····<i·class="ri-link-m"·aria-hidden="true"></i>278 ····<i·class="ri-link-m"·aria-hidden="true"></i>
279 ··</a>279 ··</a>
280 ··<span·class="text">Kill·EPMD</span>280 ··<span·class="text">Kill·EPMD</span>
281 </h3>281 </h3>
282 <p>This·request·kills·the·running·EPMD.·It·is·almost·never·used.</p><pre><code·class="mermaid">---282 <p>This·request·kills·the·running·EPMD.·It·is·almost·never·used.</p><pre><code·class="mermaid">---
283 title:·Kill·EPMD283 title:·Kill·EPMD
Offset 407, 54 lines modifiedOffset 407, 54 lines modified
407 received·from·<code·class="inline">A</code>·is·correct·and·generates·a·digest·from·the·challenge407 received·from·<code·class="inline">A</code>·is·correct·and·generates·a·digest·from·the·challenge
408 received·from·<code·class="inline">A</code>.·The·digest·is·then·sent·to·<code·class="inline">A</code>.·The·message·is·as·follows:</p><table><thead><tr><th·style="text-align:·left;">1</th><th·style="text-align:·left;">16</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">'a'</code></td><td·style="text-align:·left;"><code·class="inline">Digest</code></td></tr></tbody></table><p><em>Table:·The·challenge_ack·message</em></p><p><code·class="inline">Digest</code>·is·the·digest·calculated·by·<code·class="inline">B</code>·for·<code·class="inline">A</code>'s·challenge.</p></li><li><p><strong>7)·check</strong>·-·<code·class="inline">A</code>·checks·the·digest·from·<code·class="inline">B</code>·and·the·connection·is·up.</p></li></ul><h3·id="semigraphic-view"·class="section-heading">408 received·from·<code·class="inline">A</code>.·The·digest·is·then·sent·to·<code·class="inline">A</code>.·The·message·is·as·follows:</p><table><thead><tr><th·style="text-align:·left;">1</th><th·style="text-align:·left;">16</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">'a'</code></td><td·style="text-align:·left;"><code·class="inline">Digest</code></td></tr></tbody></table><p><em>Table:·The·challenge_ack·message</em></p><p><code·class="inline">Digest</code>·is·the·digest·calculated·by·<code·class="inline">B</code>·for·<code·class="inline">A</code>'s·challenge.</p></li><li><p><strong>7)·check</strong>·-·<code·class="inline">A</code>·checks·the·digest·from·<code·class="inline">B</code>·and·the·connection·is·up.</p></li></ul><h3·id="semigraphic-view"·class="section-heading">
409 ··<a·href="#semigraphic-view"·class="hover-link">409 ··<a·href="#semigraphic-view"·class="hover-link">
410 ····<i·class="ri-link-m"·aria-hidden="true"></i>410 ····<i·class="ri-link-m"·aria-hidden="true"></i>
411 ··</a>411 ··</a>
412 ··<span·class="text">Semigraphic·View</span>412 ··<span·class="text">Semigraphic·View</span>
413 </h3>413 </h3>
414 <pre><code·class="makeup·erlang"·translate="no"><span·class="n">A</span><span·class="w">·</span><span·class="p"·data-group-id="5294816444-1">(</span><span·class="ss">initiator</span><span·class="p"·data-group-id="5294816444-1">)</span><span·class="w">······································</span><span·class="n">B</span><span·class="w">·</span><span·class="p"·data-group-id="52948164[·...·truncated·by·diffoscope;·len:·86,·SHA:·fc019f589c42cf830c1c2bc2cbdd4819c07348edb7bed621030c9ce80a7c7191·...·]4-2">)</span><span·class="w">414 <pre><code·class="makeup·erlang"·translate="no"><span·class="n">A</span><span·class="w">·</span><span·class="p"·data-group-id="2302572714-1">(</span><span·class="ss">initiator</span><span·class="p"·data-group-id="2302572714-1">)</span><span·class="w">······································</span><span·class="n">B</span><span·class="w">·</span><span·class="p"·data-group-id="23025727[·...·truncated·by·diffoscope;·len:·86,·SHA:·c2ee5e6361ed93f4f115e0c38b95ec571166110de73bd83fa2f6513986620b8c·...·]4-2">)</span><span·class="w">
  
415 </span><span·class="n">TCP</span><span·class="w">·</span><span·class="ss">connect</span><span·class="w">·</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">&gt;</span><span·class="w">415 </span><span·class="n">TCP</span><span·class="w">·</span><span·class="ss">connect</span><span·class="w">·</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">&gt;</span><span·class="w">
416 ···················································</span><span·class="n">TCP</span><span·class="w">·</span><span·class="ss">accept</span><span·class="w">416 ···················································</span><span·class="n">TCP</span><span·class="w">·</span><span·class="ss">accept</span><span·class="w">
  
417 </span><span·class="ss">send_name</span><span·class="w">·</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">&gt;</span><span·class="w">417 </span><span·class="ss">send_name</span><span·class="w">·</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">&gt;</span><span·class="w">
418 ···················································</span><span·class="ss">recv_name</span><span·class="w">418 ···················································</span><span·class="ss">recv_name</span><span·class="w">
  
419 ··</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">-</span><span·class="w">·</span><span·class="ss">send_status</span><span·class="w">419 ··</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">-</span><span·class="w">·</span><span·class="ss">send_status</span><span·class="w">
420 </span><span·class="nf">recv_status</span><span·class="w">420 </span><span·class="nf">recv_status</span><span·class="w">
421 </span><span·class="p"·data-group-id="5294816444-3">(</span><span·class="k">if</span><span·class="w">·</span><span·class="ss">status</span><span·class="w">·</span><span·class="ss">was</span><span·class="w">·</span><span·class="ss">&#39;alive&#39;</span><span·class="w">421 </span><span·class="p"·data-group-id="2302572714-3">(</span><span·class="k">if</span><span·class="w">·</span><span·class="ss">status</span><span·class="w">·</span><span·class="ss">was</span><span·class="w">·</span><span·class="ss">&#39;alive&#39;</span><span·class="w">
422 ·</span><span·class="ss">send_status</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">422 ·</span><span·class="ss">send_status</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
423 ···················································</span><span·class="ss">recv_status</span><span·class="p"·data-group-id="5294816444-3">)</span><span·class="w">423 ···················································</span><span·class="ss">recv_status</span><span·class="p"·data-group-id="2302572714-3">)</span><span·class="w">
  
424 ··························</span><span·class="p"·data-group-id="5294816444-4">(</span><span·class="n">ChB</span><span·class="p"·data-group-id="5294816444-4">)</span><span·class="w">······················</span><span·class="n">ChB</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·118,·SHA:·bb7a6eb793e6137f590c38b4752328eea091596ec3389e29685bce4f169e7dab·...·]4-5">)</span><span·class="w">424 ··························</span><span·class="p"·data-group-id="2302572714-4">(</span><span·class="n">ChB</span><span·class="p"·data-group-id="2302572714-4">)</span><span·class="w">······················</span><span·class="n">ChB</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·118,·SHA:·1d120cc1434c0580e95ceb8fb708b2d17a60ad9d526d6e8fc093a7377eefc625·...·]4-5">)</span><span·class="w">
425 ··</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">-</span><span·class="w">·</span><span·class="ss">send_challenge</span><span·class="w">425 ··</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">-</span><span·class="w">·</span><span·class="ss">send_challenge</span><span·class="w">
426 </span><span·class="nf">recv_challenge</span><span·class="w">426 </span><span·class="nf">recv_challenge</span><span·class="w">
  
427 </span><span·class="p"·data-group-id="5294816444-6">(</span><span·class="k">if</span><span·class="w">·</span><span·class="ss">old</span><span·class="w">·</span><span·class="ss">send_name</span><span·class="w">427 </span><span·class="p"·data-group-id="2302572714-6">(</span><span·class="k">if</span><span·class="w">·</span><span·class="ss">old</span><span·class="w">·</span><span·class="ss">send_name</span><span·class="w">
428 ·</span><span·class="ss">send_complement</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">428 ·</span><span·class="ss">send_complement</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
429 ···················································</span><span·class="ss">recv_complement</span><span·class="p"·data-group-id="5294816444-6">)</span><span·class="w">429 ···················································</span><span·class="ss">recv_complement</span><span·class="p"·data-group-id="2302572714-6">)</span><span·class="w">
  
430 </span><span·class="n">ChA</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">gen_challenge</span><span·class="p"·data-group-id="5294816444-7">(</span><span·class="p"·data-group-id="5294816444-7">)</span><span·class="p">,</span><span·class="w">430 </span><span·class="n">ChA</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">gen_challenge</span><span·class="p"·data-group-id="2302572714-7">(</span><span·class="p"·data-group-id="2302572714-7">)</span><span·class="p">,</span><span·class="w">
431 </span><span·class="n">OCA</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">out_cookie</span><span·class="p"·data-group-id="5294816444-8">(</span><span·class="n">B</span><span·class="p"·data-group-id="5294816444-8">)</span><span·class="p">,</span><span·class="w">431 </span><span·class="n">OCA</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">out_cookie</span><span·class="p"·data-group-id="2302572714-8">(</span><span·class="n">B</span><span·class="p"·data-group-id="2302572714-8">)</span><span·class="p">,</span><span·class="w">
432 </span><span·class="n">DiA</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">gen_digest</span><span·class="p"·data-group-id="5294816444-9">(</span><span·class="n">ChB</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OCA</span><span·class="p"·data-group-id="5294816444-9">)</span><span·class="w">432 </span><span·class="n">DiA</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">gen_digest</span><span·class="p"·data-group-id="2302572714-9">(</span><span·class="n">ChB</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OCA</span><span·class="p"·data-group-id="2302572714-9">)</span><span·class="w">
433 ··························</span><span·class="p"·data-group-id="5294816444-10">(</span><span·class="n">ChA</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DiA</span><span·class="p"·data-group-id="5294816444-10">)</span><span·class="w">433 ··························</span><span·class="p"·data-group-id="2302572714-10">(</span><span·class="n">ChA</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DiA</span><span·class="p"·data-group-id="2302572714-10">)</span><span·class="w">
434 </span><span·class="ss">send_challenge_reply</span><span·class="w">·</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">434 </span><span·class="ss">send_challenge_reply</span><span·class="w">·</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">
435 ···················································</span><span·class="ss">recv_challenge_reply</span><span·class="w">435 ···················································</span><span·class="ss">recv_challenge_reply</span><span·class="w">
436 ···················································</span><span·class="n">ICB</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">in_cookie</span><span·class="p"·data-group-id="5294816444-11">(</span><span·class="n">A</span><span·class="p"·data-group-id="5294816444-11">)</span><span·class="p">,</span><span·class="w">436 ···················································</span><span·class="n">ICB</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">in_cookie</span><span·class="p"·data-group-id="2302572714-11">(</span><span·class="n">A</span><span·class="p"·data-group-id="2302572714-11">)</span><span·class="p">,</span><span·class="w">
437 ···················································</span><span·class="nc">check</span><span·class="p">:</span><span·class="w">437 ···················································</span><span·class="nc">check</span><span·class="p">:</span><span·class="w">
438 ···················································</span><span·class="n">DiA</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="nf">gen_digest</span><span·class="w">·</span><span·class="p"·data-group-id="5294816444-12">(</span><span·class="n">ChB</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ICB</span><span·class="p"·data-group-id="5294816444-12">)</span><span·class="o">?</span><span·class="w">438 ···················································</span><span·class="n">DiA</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="nf">gen_digest</span><span·class="w">·</span><span·class="p"·data-group-id="2302572714-12">(</span><span·class="n">ChB</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ICB</span><span·class="p"·data-group-id="2302572714-12">)</span><span·class="o">?</span><span·class="w">
439 </span><span·class="w">···················································</span><span·class="p">-</span><span·class="w">·</span><span·class="na">if</span><span·class="w">·</span><span·class="n">OK</span><span·class="p">:</span><span·class="w">439 </span><span·class="w">···················································</span><span·class="p">-</span><span·class="w">·</span><span·class="na">if</span><span·class="w">·</span><span·class="n">OK</span><span·class="p">:</span><span·class="w">
440 ····················································</span><span·class="n">OCB</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">out_cookie</span><span·class="p"·data-group-id="5294816444-13">(</span><span·class="n">A</span><span·class="p"·data-group-id="5294816444-13">)</span><span·class="p">,</span><span·class="w">440 ····················································</span><span·class="n">OCB</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">out_cookie</span><span·class="p"·data-group-id="2302572714-13">(</span><span·class="n">A</span><span·class="p"·data-group-id="2302572714-13">)</span><span·class="p">,</span><span·class="w">
441 ····················································</span><span·class="n">DiB</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">gen_digest</span><span·class="w">·</span><span·class="p"·data-group-id="5294816444-14">(</span><span·class="n">ChA</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OCB</span><span·class="p"·data-group-id="5294816444-14">)</span><span·class="w">441 ····················································</span><span·class="n">DiB</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">gen_digest</span><span·class="w">·</span><span·class="p"·data-group-id="2302572714-14">(</span><span·class="n">ChA</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OCB</span><span·class="p"·data-group-id="2302572714-14">)</span><span·class="w">
442 ··························</span><span·class="p"·data-group-id="5294816444-15">(</span><span·class="n">DiB</span><span·class="p"·data-group-id="5294816444-15">)</span><span·class="w">442 ··························</span><span·class="p"·data-group-id="2302572714-15">(</span><span·class="n">DiB</span><span·class="p"·data-group-id="2302572714-15">)</span><span·class="w">
443 ··</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="w">·</span><span·class="ss">send_challenge_ack</span><span·class="w">443 ··</span><span·class="o">&lt;-</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="w">·</span><span·class="ss">send_challenge_ack</span><span·class="w">
444 </span><span·class="ss">recv_challenge_ack</span><span·class="w">··································</span><span·class="n">DONE</span><span·class="w">444 </span><span·class="ss">recv_challenge_ack</span><span·class="w">··································</span><span·class="n">DONE</span><span·class="w">
445 </span><span·class="n">ICA</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">in_cookie</span><span·class="p"·data-group-id="5294816444-16">(</span><span·class="n">B</span><span·class="p"·data-group-id="5294816444-16">)</span><span·class="p">,</span><span·class="w">································</span><span·class="o">-</span><span·class="w">·</span><span·class="nc">else</span><span·class="p">:</span><span·class="w">445 </span><span·class="n">ICA</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">in_cookie</span><span·class="p"·data-group-id="2302572714-16">(</span><span·class="n">B</span><span·class="p"·data-group-id="2302572714-16">)</span><span·class="p">,</span><span·class="w">································</span><span·class="o">-</span><span·class="w">·</span><span·class="nc">else</span><span·class="p">:</span><span·class="w">
446 </span><span·class="nc">check</span><span·class="p">:</span><span·class="w">··············································</span><span·class="n">CLOSE</span><span·class="w">446 </span><span·class="nc">check</span><span·class="p">:</span><span·class="w">··············································</span><span·class="n">CLOSE</span><span·class="w">
447 </span><span·class="n">DiB</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="nf">gen_digest</span><span·class="p"·data-group-id="5294816444-17">(</span><span·class="n">ChA</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ICA</span><span·class="p"·data-group-id="5294816444-17">)</span><span·class="o">?</span><span·class="w">447 </span><span·class="n">DiB</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="nf">gen_digest</span><span·class="p"·data-group-id="2302572714-17">(</span><span·class="n">ChA</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ICA</span><span·class="p"·data-group-id="2302572714-17">)</span><span·class="o">?</span><span·class="w">
448 </span><span·class="p">-</span><span·class="w">·</span><span·class="na">if</span><span·class="w">·</span><span·class="n">OK</span><span·class="p">:</span><span·class="w">448 </span><span·class="p">-</span><span·class="w">·</span><span·class="na">if</span><span·class="w">·</span><span·class="n">OK</span><span·class="p">:</span><span·class="w">
449 ·</span><span·class="n">DONE</span><span·class="w">449 ·</span><span·class="n">DONE</span><span·class="w">
450 </span><span·class="p">-</span><span·class="w">·</span><span·class="na">else</span><span·class="p">:</span><span·class="w">450 </span><span·class="p">-</span><span·class="w">·</span><span·class="na">else</span><span·class="p">:</span><span·class="w">
451 ·</span><span·class="n">CLOSE</span></code></pre><p><a·href=""·id="dflags"></a></p><h3·id="distribution-flags"·class="section-heading">451 ·</span><span·class="n">CLOSE</span></code></pre><p><a·href=""·id="dflags"></a></p><h3·id="distribution-flags"·class="section-heading">
452 ··<a·href="#distribution-flags"·class="hover-link">452 ··<a·href="#distribution-flags"·class="hover-link">
453 ····<i·class="ri-link-m"·aria-hidden="true"></i>453 ····<i·class="ri-link-m"·aria-hidden="true"></i>
454 ··</a>454 ··</a>
Offset 787, 15 lines modifiedOffset 787, 15 lines modified
787 ······<p·class="built-using">787 ······<p·class="built-using">
788 ········Built·using788 ········Built·using
789 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the789 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
790 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>790 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
791 ······</p>791 ······</p>
792 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>792 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
793 ····</footer>793 ····</footer>
794 ··</div>794 ··</div>
795 </main>795 </main>
796 </div>796 </div>
797 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>797 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
798 ··<script>798 ··<script>
799 ··let·initialized·=·false;799 ··let·initialized·=·false;
632 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erl_driver.html
    
Offset 1773, 15 lines modifiedOffset 1773, 15 lines modified
1773 ······<p·class="built-using">1773 ······<p·class="built-using">
1774 ········Built·using1774 ········Built·using
1775 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1775 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1776 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1776 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1777 ······</p>1777 ······</p>
1778 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1778 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1779 ····</footer>1779 ····</footer>
1780 ··</div>1780 ··</div>
1781 </main>1781 </main>
1782 </div>1782 </div>
1783 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1783 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1784 ··<script>1784 ··<script>
1785 ··let·initialized·=·false;1785 ··let·initialized·=·false;
797 B
html2text {}
Max HTML report size reached
5.97 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erl_ext_dist.html
    
Offset 434, 15 lines modifiedOffset 434, 15 lines modified
434 ··</a>434 ··</a>
435 ··<span·class="text">SMALL_BIG_EXT</span>435 ··<span·class="text">SMALL_BIG_EXT</span>
436 </h2>436 </h2>
437 <table><thead><tr><th·style="text-align:·left;">1</th><th·style="text-align:·left;">1</th><th·style="text-align:·left;">1</th><th·style="text-align:·left;">n</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">110</code></td><td·style="text-align:·left;"><code·class="inline">n</code></td><td·style="text-align:·left;"><code·class="inline">Sign</code></td><td·style="text-align:·left;"><code·class="inline">d(0)</code>·...·<code·class="inline">d(n-1)</code></td></tr></tbody></table><p>Bignums·are·stored·in·unary·form·with·a·<code·class="inline">Sign</code>·byte,·that·is,·0·if·the·bignum·is437 <table><thead><tr><th·style="text-align:·left;">1</th><th·style="text-align:·left;">1</th><th·style="text-align:·left;">1</th><th·style="text-align:·left;">n</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">110</code></td><td·style="text-align:·left;"><code·class="inline">n</code></td><td·style="text-align:·left;"><code·class="inline">Sign</code></td><td·style="text-align:·left;"><code·class="inline">d(0)</code>·...·<code·class="inline">d(n-1)</code></td></tr></tbody></table><p>Bignums·are·stored·in·unary·form·with·a·<code·class="inline">Sign</code>·byte,·that·is,·0·if·the·bignum·is
438 positive·and·1·if·it·is·negative.·The·digits·are·stored·with·the·least438 positive·and·1·if·it·is·negative.·The·digits·are·stored·with·the·least
439 significant·byte·stored·first.·To·calculate·the·integer,·the·following·formula439 significant·byte·stored·first.·To·calculate·the·integer,·the·following·formula
440 can·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">B</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">256</span><span·class="w">440 can·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">B</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">256</span><span·class="w">
441 </span><span·class="p"·data-group-id="0437969762-1">(</span><span·class="ss">d0</span><span·class="o">*</span><span·class="n">B</span><span·class="err">^</span><span·class="mi">0</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="ss">d1</span><span·class[·...·truncated·by·diffoscope;·len:·952,·SHA:·a9f5aa4c9d74df76bd82400be7b7e43836765265ee11c1205bc390210a6490f0·...·]-1">)</span></code></pre><h2·id="large_big_ext"·class="section-heading">441 </span><span·class="p"·data-group-id="6272406605-1">(</span><span·class="ss">d0</span><span·class="o">*</span><span·class="n">B</span><span·class="err">^</span><span·class="mi">0</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="ss">d1</span><span·class[·...·truncated·by·diffoscope;·len:·952,·SHA:·99a817b35b6c97f9f6e2917dd5ef6392e161df472583d17f29f43a2725707780·...·]-1">)</span></code></pre><h2·id="large_big_ext"·class="section-heading">
442 ··<a·href="#large_big_ext"·class="hover-link">442 ··<a·href="#large_big_ext"·class="hover-link">
443 ····<i·class="ri-link-m"·aria-hidden="true"></i>443 ····<i·class="ri-link-m"·aria-hidden="true"></i>
444 ··</a>444 ··</a>
445 ··<span·class="text">LARGE_BIG_EXT</span>445 ··<span·class="text">LARGE_BIG_EXT</span>
446 </h2>446 </h2>
447 <table><thead><tr><th·style="text-align:·left;">1</th><th·style="text-align:·left;">4</th><th·style="text-align:·left;">1</th><th·style="text-align:·left;">n</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">111</code></td><td·style="text-align:·left;"><code·class="inline">n</code></td><td·style="text-align:·left;"><code·class="inline">Sign</code></td><td·style="text-align:·left;"><code·class="inline">d(0)</code>·...·<code·class="inline">d(n-1)</code></td></tr></tbody></table><p>Same·as·<a·href="erl_ext_dist.html#small_big_ext"><code·class="inline">SMALL_BIG_EXT</code></a>·except·that·the·length447 <table><thead><tr><th·style="text-align:·left;">1</th><th·style="text-align:·left;">4</th><th·style="text-align:·left;">1</th><th·style="text-align:·left;">n</th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">111</code></td><td·style="text-align:·left;"><code·class="inline">n</code></td><td·style="text-align:·left;"><code·class="inline">Sign</code></td><td·style="text-align:·left;"><code·class="inline">d(0)</code>·...·<code·class="inline">d(n-1)</code></td></tr></tbody></table><p>Same·as·<a·href="erl_ext_dist.html#small_big_ext"><code·class="inline">SMALL_BIG_EXT</code></a>·except·that·the·length
448 field·is·an·unsigned·4·byte·integer.</p><h2·id="reference_ext-deprecated"·class="section-heading">448 field·is·an·unsigned·4·byte·integer.</p><h2·id="reference_ext-deprecated"·class="section-heading">
Offset 619, 15 lines modifiedOffset 619, 15 lines modified
619 ······<p·class="built-using">619 ······<p·class="built-using">
620 ········Built·using620 ········Built·using
621 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the621 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
622 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>622 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
623 ······</p>623 ······</p>
624 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>624 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
625 ····</footer>625 ····</footer>
626 ··</div>626 ··</div>
627 </main>627 </main>
628 </div>628 </div>
629 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>629 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
630 ··<script>630 ··<script>
631 ··let·initialized·=·false;631 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
7.53 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erl_nif.html
    
Offset 161, 27 lines modifiedOffset 161, 27 lines modified
161 }161 }
  
162 static·ErlNifFunc·nif_funcs[]·=162 static·ErlNifFunc·nif_funcs[]·=
163 {163 {
164 ····{&quot;hello&quot;,·0,·hello}164 ····{&quot;hello&quot;,·0,·hello}
165 };165 };
  
166 ERL_NIF_INIT(niftest,nif_funcs,NULL,NULL,NULL,NULL)</code></pre><p>The·Erlang·module·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5176045759-1">(</span><span·class="ss">niftest</span><span·class="p"·data-group-id="5176045759-1">)</span><span·class="p">.</span><span·class="w">166 ERL_NIF_INIT(niftest,nif_funcs,NULL,NULL,NULL,NULL)</code></pre><p>The·Erlang·module·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5478233021-1">(</span><span·class="ss">niftest</span><span·class="p"·data-group-id="5478233021-1">)</span><span·class="p">.</span><span·class="w">
167 </span><span·class="w">167 </span><span·class="w">
168 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5176045759-2">(</span><span·class="p"·data-group-id="5176045759-3">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">hello</span><span·class="p">/</span><spa[·...·truncated·by·diffoscope;·len:·115,·SHA:·ca819d2f190085dfd09f046c6d2a9d0aa03571d8e44438531ee8bd367bc0d3f0·...·]-2">)</span><span·class="p">.</span><span·class="w">168 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5478233021-2">(</span><span·class="p"·data-group-id="5478233021-3">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">hello</span><span·class="p">/</span><spa[·...·truncated·by·diffoscope;·len:·115,·SHA:·f9a1c877e289bca4523ece3d4518f333946d8011074e0f45ac2b2a1df4e67929·...·]-2">)</span><span·class="p">.</span><span·class="w">
169 </span><span·class="w">169 </span><span·class="w">
170 </span><span·class="p">-</span><span·class="na">nifs</span><span·class="p"·data-group-id="5176045759-4">(</span><span·class="p"·data-group-id="5176045759-5">[</span><span·class="ss">hello</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5176045759-5">]</span><span·class="p"·data-group-id="5176045759-4">)</span><span·class="p">.</span><span·class="w">170 </span><span·class="p">-</span><span·class="na">nifs</span><span·class="p"·data-group-id="5478233021-4">(</span><span·class="p"·data-group-id="5478233021-5">[</span><span·class="ss">hello</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5478233021-5">]</span><span·class="p"·data-group-id="5478233021-4">)</span><span·class="p">.</span><span·class="w">
171 </span><span·class="w">171 </span><span·class="w">
172 </span><span·class="p">-</span><span·class="na">on_load</span><span·class="p"·data-group-id="5176045759-6">(</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5176045759-6">)</span><span·class="p">.</span><span·class="w">172 </span><span·class="p">-</span><span·class="na">on_load</span><span·class="p"·data-group-id="5478233021-6">(</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="5478233021-6">)</span><span·class="p">.</span><span·class="w">
  
173 </span><span·class="nf">init</span><span·class="p"·data-group-id="5176045759-7">(</span><span·class="p"·data-group-id="5176045759-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">173 </span><span·class="nf">init</span><span·class="p"·data-group-id="5478233021-7">(</span><span·class="p"·data-group-id="5478233021-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ······</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">load_nif</span><span·class="p"·data-group-id="5176045759-8">(</span><span·class="s">&quot;./niftest&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="5176045759-8">)</span><span·class="p">.</span><span·class="w">174 ······</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">load_nif</span><span·class="p"·data-group-id="5478233021-8">(</span><span·class="s">&quot;./niftest&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="5478233021-8">)</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="nf">hello</span><span·class="p"·data-group-id="5176045759-9">(</span><span·class="p"·data-group-id="5176045759-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">175 </span><span·class="nf">hello</span><span·class="p"·data-group-id="5478233021-9">(</span><span·class="p"·data-group-id="5478233021-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
176 ······</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">nif_error</span><span·class="p"·data-group-id="5176045759-10">(</span><span·class="s">&quot;NIF·library·not·loaded&quot;</span><span·class="p"·data-group-id="5176045759-10">)</span><span·class="p">.</span></code></pre><p>Compile·and·test·can·look·as·follows·(on·Linux):</p><pre><code·class="text">$&gt;·gcc·-fPIC·-shared·-o·niftest.so·niftest.c·-I·$ERL_ROOT/usr/include/176 ······</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">nif_error</span><span·class="p"·data-group-id="5478233021-10">(</span><span·class="s">&quot;NIF·library·not·loaded&quot;</span><span·class="p"·data-group-id="5478233021-10">)</span><span·class="p">.</span></code></pre><p>Compile·and·test·can·look·as·follows·(on·Linux):</p><pre><code·class="text">$&gt;·gcc·-fPIC·-shared·-o·niftest.so·niftest.c·-I·$ERL_ROOT/usr/include/
177 $&gt;·erl177 $&gt;·erl
  
178 1&gt;·c(niftest).178 1&gt;·c(niftest).
179 {ok,niftest}179 {ok,niftest}
180 2&gt;·niftest:hello().180 2&gt;·niftest:hello().
181 &quot;Hello·world!&quot;</code></pre><p>In·the·example·above·the·<a·href="../../../doc/system/code_loading.html#on_load"><em><code·class="inline">on_load</code></em></a>181 &quot;Hello·world!&quot;</code></pre><p>In·the·example·above·the·<a·href="../../../doc/system/code_loading.html#on_load"><em><code·class="inline">on_load</code></em></a>
182 directive·is·used·get·function·<code·class="inline">init</code>·called·automatically·when·the·module·is182 directive·is·used·get·function·<code·class="inline">init</code>·called·automatically·when·the·module·is
Offset 2872, 15 lines modifiedOffset 2872, 15 lines modified
2872 ······<p·class="built-using">2872 ······<p·class="built-using">
2873 ········Built·using2873 ········Built·using
2874 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2874 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2875 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2875 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2876 ······</p>2876 ······</p>
2877 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2877 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2878 ····</footer>2878 ····</footer>
2879 ··</div>2879 ··</div>
2880 </main>2880 </main>
2881 </div>2881 </div>
2882 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2882 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2883 ··<script>2883 ··<script>
2884 ··let·initialized·=·false;2884 ··let·initialized·=·false;
696 B
html2text {}
Max HTML report size reached
3.6 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erl_prim_loader.html
    
Offset 398, 15 lines modifiedOffset 398, 15 lines modified
398 ························when·Filename·::·<a·href="erlang.html#t:string/0">string</a>(),·FileInfo·::·<a·href="../../../lib/kernel-10.3/doc/html/file.html#t:file_info/0">file:file_info</a>().</pre>398 ························when·Filename·::·<a·href="erlang.html#t:string/0">string</a>(),·FileInfo·::·<a·href="../../../lib/kernel-10.3/doc/html/file.html#t:file_info/0">file:file_info</a>().</pre>
  
399 ······</div>399 ······</div>
  
400 <p>Retrieves·information·about·a·file.</p><p>Returns·<code·class="inline">{ok,·FileInfo}</code>·if·successful,·otherwise·<code·class="inline">error</code>.·<code·class="inline">FileInfo</code>·is·a400 <p>Retrieves·information·about·a·file.</p><p>Returns·<code·class="inline">{ok,·FileInfo}</code>·if·successful,·otherwise·<code·class="inline">error</code>.·<code·class="inline">FileInfo</code>·is·a
401 record·<a·href="../../../lib/kernel-10.3/doc/html/file.html#t:file_info/0"><code·class="inline">file_info</code></a>,·defined·in·the·Kernel·include·file401 record·<a·href="../../../lib/kernel-10.3/doc/html/file.html#t:file_info/0"><code·class="inline">file_info</code></a>,·defined·in·the·Kernel·include·file
402 ·<code·class="inline">file.hrl</code>.·Include·the·following·directive·in·the·module·from·which·the402 ·<code·class="inline">file.hrl</code>.·Include·the·following·directive·in·the·module·from·which·the
403 function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="6184384484-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="6184384484-1">)</span><span·class="p">.</span></code></pre><p>For·more·information·about·the·record·see·<a·href="../../../lib/kernel-10.3/doc/html/file.html#read_file_info/2"><code·class="inline">file:read_file_info/2</code></a>.</p><p><code·class="inline">Filename</code>·can·also·be·a·file·in·an·archive,·for·example,403 function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="6403260043-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="6403260043-1">)</span><span·class="p">.</span></code></pre><p>For·more·information·about·the·record·see·<a·href="../../../lib/kernel-10.3/doc/html/file.html#read_file_info/2"><code·class="inline">file:read_file_info/2</code></a>.</p><p><code·class="inline">Filename</code>·can·also·be·a·file·in·an·archive,·for·example,
404 <code·class="inline">$OTPROOT/lib/mnesia-4.4.7.ez/mnesia-4.4.7/ebin/mnesia</code>.·For·information404 <code·class="inline">$OTPROOT/lib/mnesia-4.4.7.ez/mnesia-4.4.7/ebin/mnesia</code>.·For·information
405 about·archive·files,·see·<a·href="../../../lib/kernel-10.3/doc/html/code.html"><code·class="inline">code</code></a>.</p>405 about·archive·files,·see·<a·href="../../../lib/kernel-10.3/doc/html/code.html"><code·class="inline">code</code></a>.</p>
406 ··</section>406 ··</section>
407 </section>407 </section>
408 <section·class="detail"·id="read_link_info/1">408 <section·class="detail"·id="read_link_info/1">
  
409 ··<div·class="detail-header">409 ··<div·class="detail-header">
Offset 486, 15 lines modifiedOffset 486, 15 lines modified
486 ······<p·class="built-using">486 ······<p·class="built-using">
487 ········Built·using487 ········Built·using
488 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the488 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
489 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>489 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
490 ······</p>490 ······</p>
491 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>491 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
492 ····</footer>492 ····</footer>
493 ··</div>493 ··</div>
494 </main>494 </main>
495 </div>495 </div>
496 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>496 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
497 ··<script>497 ··<script>
498 ··let·initialized·=·false;498 ··let·initialized·=·false;
639 B
html2text {}
Max HTML report size reached
28.2 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erl_tracer.html
    
Offset 145, 44 lines modifiedOffset 145, 44 lines modified
145 ··<span·class="text">Erl·Tracer·Module·Example</span>145 ··<span·class="text">Erl·Tracer·Module·Example</span>
146 </h2>146 </h2>
147 <p>In·this·example,·a·tracer·module·with·a·NIF·back·end·sends·a·message·for·each147 <p>In·this·example,·a·tracer·module·with·a·NIF·back·end·sends·a·message·for·each
148 <code·class="inline">send</code>·trace·tag·containing·only·the·sender·and·receiver.·Using·this·tracer148 <code·class="inline">send</code>·trace·tag·containing·only·the·sender·and·receiver.·Using·this·tracer
149 module,·a·much·more·lightweight·message·tracer·is·used,·which·only·records·who149 module,·a·much·more·lightweight·message·tracer·is·used,·which·only·records·who
150 sent·messages·to·who.</p><p>The·following·is·an·example·session·using·it·on·Linux:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">gcc</span><span·class="w">·</span><span·class="o">-</span><span·class="n">I</span><span·class="w">·</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">8.0</span><span·class="o">/</span><span·class="ss">include</span><span·class="o">/</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">fPIC</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">shared</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">o</span><span·class="w">·</span><span·class="ss">erl_msg_tracer</span><span·class="p">.</span><span·class="ss">so</span><span·class="w">·</span><span·class="ss">erl_msg_tracer</span><span·class="p">.</span><span·class="ss">c</span><span·class="w">150 sent·messages·to·who.</p><p>The·following·is·an·example·session·using·it·on·Linux:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">gcc</span><span·class="w">·</span><span·class="o">-</span><span·class="n">I</span><span·class="w">·</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">8.0</span><span·class="o">/</span><span·class="ss">include</span><span·class="o">/</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">fPIC</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">shared</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">o</span><span·class="w">·</span><span·class="ss">erl_msg_tracer</span><span·class="p">.</span><span·class="ss">so</span><span·class="w">·</span><span·class="ss">erl_msg_tracer</span><span·class="p">.</span><span·class="ss">c</span><span·class="w">
151 </span><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">151 </span><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">
152 </span><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">19</span><span·class="w">·</span><span·class="p"·data-group-id="2465124414-1">[</span><span·class="n">DEVELOPMENT</span><span·class="p"·data-group-id="2465124414-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="2465124414-2">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">8[·...·truncated·by·diffoscope;·len:·1414,·SHA:·891735ec51a41b7baa86614881f42daddc717d9eef36efbc2545377fdccce1b8·...·]-8">]</span><span·class="w">152 </span><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">19</span><span·class="w">·</span><span·class="p"·data-group-id="7717829289-1">[</span><span·class="n">DEVELOPMENT</span><span·class="p"·data-group-id="7717829289-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="7717829289-2">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">8[·...·truncated·by·diffoscope;·len:·1414,·SHA:·ef66165b571ca2b9452026e4be01724558c695f8bef9a2e3aa83a5f981222db1·...·]-8">]</span><span·class="w">
  
153 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V8</span><span·class="p">.</span><span·class="mi">0</span><span·class="w">··</span><span·class="p"·data-group-id="2465124414-9">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="2465124414-9">)</span><span·class="gp·unselectable">153 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V8</span><span·class="p">.</span><span·class="mi">0</span><span·class="w">··</span><span·class="p"·data-group-id="7717829289-9">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="7717829289-9">)</span><span·class="gp·unselectable">
154 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="2465124414-10">(</span><span·class="ss">erl_msg_tracer</span><span·class="p"·data-group-id="2465124414-10">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">erl_msg_tracer</span><span·class="p">:</span><span·class="nf">load</span><sp[·...·truncated·by·diffoscope;·len:·92,·SHA:·4284105e6d40f45d48861394fb5b2f3a4ddc46c79e02b92759c7d486c2a23c6c·...·]-11">)</span><span·class="p">.</span><span·class="w">154 1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="7717829289-10">(</span><span·class="ss">erl_msg_tracer</span><span·class="p"·data-group-id="7717829289-10">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">erl_msg_tracer</span><span·class="p">:</span><span·class="nf">load</span><sp[·...·truncated·by·diffoscope;·len:·92,·SHA:·7a4045c96ffbd4556ba58bd80222c0b6ac965ae91278623193de51db1c1ffc2f·...·]-11">)</span><span·class="p">.</span><span·class="w">
155 </span><span·class="ss">ok</span><span·class="gp·unselectable">155 </span><span·class="ss">ok</span><span·class="gp·unselectable">
156 2&gt;·</span><span·class="n">Tracer</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="2465124414-12">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="2465124414-13">(</span><span·class="p"·data-group-id="2465124414-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span[·...·truncated·by·diffoscope;·len:·954,·SHA:·2a371233aa10be3ee1903f654807465d2e3f42e0488e9480b3b9948d08cb7e02·...·]-12">)</span><span·class="p">.</span><span·class="w">156 2&gt;·</span><span·class="n">Tracer</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7717829289-12">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="7717829289-13">(</span><span·class="p"·data-group-id="7717829289-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span[·...·truncated·by·diffoscope;·len:·954,·SHA:·225e1e36a864d46b6007a225da3a70d76b14eb2c00eb342ab3fffc7e6039feea·...·]-12">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="o">&lt;</span><span·class="mf">0.37</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">157 </span><span·class="o">&lt;</span><span·class="mf">0.37</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">
158 3&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">trace</span><span·class="p"·data-group-id="2465124414-17">(</span><span·class="ss">new</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2465124414-18">[</span><span·class="nb">send</span>[·...·truncated·by·diffoscope;·len:·420,·SHA:·a8a65ff4c9114f31de1f3c43afbb3806cd2672ca8e5a1b0bfbc8c555fe86eba0·...·]-17">)</span><span·class="p">.</span><span·class="w">158 3&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">trace</span><span·class="p"·data-group-id="7717829289-17">(</span><span·class="ss">new</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7717829289-18">[</span><span·class="nb">send</span>[·...·truncated·by·diffoscope;·len:·420,·SHA:·2efe2e555a53c08d551673fcf627924fccfa527f6db389fd9d15182c4c20d4e9·...·]-17">)</span><span·class="p">.</span><span·class="w">
159 </span><span·class="mi">0</span><span·class="w">159 </span><span·class="mi">0</span><span·class="w">
160 </span><span·class="p"·data-group-id="2465124414-20">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.39</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</spa[·...·truncated·by·diffoscope;·len:·147,·SHA:·4fc261d021a93e25f5faaeab9db3788a0d2bc4ce15e3febb02f24de5a6ef7131·...·]-20">}</span><span·class="gp·unselectable">160 </span><span·class="p"·data-group-id="7717829289-20">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.39</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</spa[·...·truncated·by·diffoscope;·len:·147,·SHA:·2f21882cdae932524316fc10220749df5a137a97d7829bf737d5091fd057c613·...·]-20">}</span><span·class="gp·unselectable">
161 4&gt;·</span><span·class="p"·data-group-id="2465124414-21">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="2465124414-21">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·375,·SHA:·d3c6030544022fe7b3b3feb848556e874e01d21da822f7d5f9e71484b265e134·...·]-22">)</span><span·class="p">.</span><span·class="w">161 4&gt;·</span><span·class="p"·data-group-id="7717829289-21">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="7717829289-21">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·375,·SHA:·c4e84df96570c6e3443884da80950fb51d5202e184ec280f4b348f3ef22e9ccc·...·]-22">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="p"·data-group-id="2465124414-24">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Port</span><span·class="o">&lt;</span><span·class="mf">0.486</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</[·...·truncated·by·diffoscope;·len:·150,·SHA:·8526d2c1e7543f4988f24fae882bee8a8e5854a98ca7577296486bdf3098b309·...·]-24">}</span><span·class="w">162 </span><span·class="p"·data-group-id="7717829289-24">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Port</span><span·class="o">&lt;</span><span·class="mf">0.486</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</[·...·truncated·by·diffoscope;·len:·150,·SHA:·54e6ee6fda08b03eef082f3be2121179543df5dd7ecc7e52ca240a5c5ec743d9·...·]-24">}</span><span·class="w">
163 </span><span·class="p"·data-group-id="2465124414-25">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.40</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</spa[·...·truncated·by·diffoscope;·len:·147,·SHA:·0d3e215713deb98248523f93fd85e358ea5b0e8568014ebaa7a26a9b482bd4ec·...·]-25">}</span><span·class="w">163 </span><span·class="p"·data-group-id="7717829289-25">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.40</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</spa[·...·truncated·by·diffoscope;·len:·147,·SHA:·7397b7682e1283ba627ae45ca04420dde52d6732edb1982519c480e87dd3af07·...·]-25">}</span><span·class="w">
164 </span><span·class="p"·data-group-id="2465124414-26">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Port</span><span·class="o">&lt;</span><span·class="mf">0.487</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</[·...·truncated·by·diffoscope;·len:·149,·SHA:·18d3252a300c8afe020ba0c403b91b0ebe29fdd69c4ab2ff54ce76c24dd83cec·...·]-26">}</span><span·class="w">164 </span><span·class="p"·data-group-id="7717829289-26">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Port</span><span·class="o">&lt;</span><span·class="mf">0.487</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</[·...·truncated·by·diffoscope;·len:·149,·SHA:·718ad56515ef0a6037844a70d14ac70eb1fbc007600137b6bb2761d7710e178a·...·]-26">}</span><span·class="w">
165 </span><span·class="p"·data-group-id="2465124414-27">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Port</span><span·class="o">&lt;</span><span·class="mf">0.488</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</[·...·truncated·by·diffoscope;·len:·149,·SHA:·18d3252a300c8afe020ba0c403b91b0ebe29fdd69c4ab2ff54ce76c24dd83cec·...·]-27">}</span><span·class="w">165 </span><span·class="p"·data-group-id="7717829289-27">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Port</span><span·class="o">&lt;</span><span·class="mf">0.488</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</[·...·truncated·by·diffoscope;·len:·149,·SHA:·718ad56515ef0a6037844a70d14ac70eb1fbc007600137b6bb2761d7710e178a·...·]-27">}</span><span·class="w">
166 </span><span·class="p"·data-group-id="2465124414-28">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Port</span><span·class="o">&lt;</span><span·class="mf">0.489</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</[·...·truncated·by·diffoscope;·len:·149,·SHA:·18d3252a300c8afe020ba0c403b91b0ebe29fdd69c4ab2ff54ce76c24dd83cec·...·]-28">}</span><span·class="w">166 </span><span·class="p"·data-group-id="7717829289-28">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Port</span><span·class="o">&lt;</span><span·class="mf">0.489</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</[·...·truncated·by·diffoscope;·len:·149,·SHA:·718ad56515ef0a6037844a70d14ac70eb1fbc007600137b6bb2761d7710e178a·...·]-28">}</span><span·class="w">
167 </span><span·class="p"·data-group-id="2465124414-29">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Port</span><span·class="o">&lt;</span><span·class="mf">0.490</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</[·...·truncated·by·diffoscope;·len:·149,·SHA:·18d3252a300c8afe020ba0c403b91b0ebe29fdd69c4ab2ff54ce76c24dd83cec·...·]-29">}</span><span·class="w">167 </span><span·class="p"·data-group-id="7717829289-29">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Port</span><span·class="o">&lt;</span><span·class="mf">0.490</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</[·...·truncated·by·diffoscope;·len:·149,·SHA:·718ad56515ef0a6037844a70d14ac70eb1fbc007600137b6bb2761d7710e178a·...·]-29">}</span><span·class="w">
168 </span><span·class="p"·data-group-id="2465124414-30">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.40</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="2465124414-30">}</span><span·class="w">168 </span><span·class="p"·data-group-id="7717829289-30">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.40</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="7717829289-30">}</span><span·class="w">
169 </span><span·class="p"·data-group-id="2465124414-31">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.41</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</spa[·...·truncated·by·diffoscope;·len:·147,·SHA:·4fc261d021a93e25f5faaeab9db3788a0d2bc4ce15e3febb02f24de5a6ef7131·...·]-31">}</span><span·class="w">169 </span><span·class="p"·data-group-id="7717829289-31">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.41</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</spa[·...·truncated·by·diffoscope;·len:·147,·SHA:·2f21882cdae932524316fc10220749df5a137a97d7829bf737d5091fd057c613·...·]-31">}</span><span·class="w">
170 </span><span·class="mi">5</span><span·class="o">&gt;</span></code></pre><p><code·class="inline">erl_msg_tracer.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1549649380-1">(</span><span·class="ss">erl_msg_tracer</span><span·class="p"·data-group-id="1549649380-1">)</span><span·class="p">.</span><span·class="w">170 </span><span·class="mi">5</span><span·class="o">&gt;</span></code></pre><p><code·class="inline">erl_msg_tracer.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5202864924-1">(</span><span·class="ss">erl_msg_tracer</span><span·class="p"·data-group-id="5202864924-1">)</span><span·class="p">.</span><span·class="w">
171 </span><span·class="w">171 </span><span·class="w">
172 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1549649380-2">(</span><span·class="p"·data-group-id="1549649380-3">[</span><span·class="ss">enabled</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="nb">trace</span><span·class="p">/</span>[·...·truncated·by·diffoscope;·len:·244,·SHA:·1911df9ac4b4fc848d7e5270861ed8c035aae075e0b331c89bf1c56f749a3b1a·...·]-2">)</span><span·class="p">.</span><span·class="w">172 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5202864924-2">(</span><span·class="p"·data-group-id="5202864924-3">[</span><span·class="ss">enabled</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="nb">trace</span><span·class="p">/</span>[·...·truncated·by·diffoscope;·len:·244,·SHA:·1358c1ba75317857f7215864da9d90deae3555b7bceb765f5fc30f18fb92ae93·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
173 </span><span·class="nf">load</span><span·class="p"·data-group-id="1549649380-4">(</span><span·class="p"·data-group-id="1549649380-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">173 </span><span·class="nf">load</span><span·class="p"·data-group-id="5202864924-4">(</span><span·class="p"·data-group-id="5202864924-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">load_nif</span><span·class="p"·data-group-id="1549649380-5">(</span><span·class="s">&quot;erl_msg_tracer&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1549649380-6">[</span><span·class="p"·data-group-id="1549649380-6">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·7080913046cef868eca9d05fa012acdd34e1e5801f67c96252126163239dfa82·...·]-5">)</span><span·class="p">.</span><span·class="w">174 ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">load_nif</span><span·class="p"·data-group-id="5202864924-5">(</span><span·class="s">&quot;erl_msg_tracer&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5202864924-6">[</span><span·class="p"·data-group-id="5202864924-6">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·5212267042c358454a9085ae0df84af1dcf3a36df207d5661e69000608db6140·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="nf">enabled</span><span·class="p"·data-group-id="1549649380-7">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="1549649380-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">175 </span><span·class="nf">enabled</span><span·class="p"·data-group-id="5202864924-7">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="5202864924-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
176 ····</span><span·class="ss">error</span><span·class="p">.</span><span·class="w">176 ····</span><span·class="ss">error</span><span·class="p">.</span><span·class="w">
  
177 </span><span·class="nf">trace</span><span·class="p"·data-group-id="1549649380-8">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_<[·...·truncated·by·diffoscope;·len:·119,·SHA:·b23c4925ab3f66a189d944709c84c4d41c2dea1a562232dbe70ac1346e5034d3·...·]-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">177 </span><span·class="nf">trace</span><span·class="p"·data-group-id="5202864924-8">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_<[·...·truncated·by·diffoscope;·len:·119,·SHA:·8557917f23b379b0d66f0c7f06d8ff8d38733aa16edd379147e09554365df385·...·]-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
178 ····</span><span·class="ss">error</span><span·class="p">.</span></code></pre><p><code·class="inline">erl_msg_tracer.c</code>:</p><pre><code·class="c">#include·&lt;erl_nif.h&gt;178 ····</span><span·class="ss">error</span><span·class="p">.</span></code></pre><p><code·class="inline">erl_msg_tracer.c</code>:</p><pre><code·class="c">#include·&lt;erl_nif.h&gt;
  
179 /*·NIF·interface·declarations·*/179 /*·NIF·interface·declarations·*/
180 static·int·load(ErlNifEnv*·env,·void**·priv_data,·ERL_NIF_TERM·load_info);180 static·int·load(ErlNifEnv*·env,·void**·priv_data,·ERL_NIF_TERM·load_info);
181 static·int·upgrade(ErlNifEnv*·env,·void**·priv_data,·void**·old_priv_data,·ERL_NIF_TERM·load_info);181 static·int·upgrade(ErlNifEnv*·env,·void**·priv_data,·void**·old_priv_data,·ERL_NIF_TERM·load_info);
182 static·void·unload(ErlNifEnv*·env,·void*·priv_data);182 static·void·unload(ErlNifEnv*·env,·void*·priv_data);
  
Offset 1657, 15 lines modifiedOffset 1657, 15 lines modified
1657 ······<p·class="built-using">1657 ······<p·class="built-using">
1658 ········Built·using1658 ········Built·using
1659 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1659 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1660 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1660 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1661 ······</p>1661 ······</p>
1662 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1662 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1663 ····</footer>1663 ····</footer>
1664 ··</div>1664 ··</div>
1665 </main>1665 </main>
1666 </div>1666 </div>
1667 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1667 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1668 ··<script>1668 ··<script>
1669 ··let·initialized·=·false;1669 ··let·initialized·=·false;
689 B
html2text {}
Max HTML report size reached
735 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erlang.html
Max HTML report size reached
1.33 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erlc_cmd.html
    
Offset 296, 15 lines modifiedOffset 296, 15 lines modified
296 ······<p·class="built-using">296 ······<p·class="built-using">
297 ········Built·using297 ········Built·using
298 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the298 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
299 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>299 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
300 ······</p>300 ······</p>
301 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>301 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
302 ····</footer>302 ····</footer>
303 ··</div>303 ··</div>
304 </main>304 </main>
305 </div>305 </div>
306 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>306 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
307 ··<script>307 ··<script>
308 ··let·initialized·=·false;308 ··let·initialized·=·false;
533 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erlsrv_cmd.html
    
Offset 401, 15 lines modifiedOffset 401, 15 lines modified
401 ······<p·class="built-using">401 ······<p·class="built-using">
402 ········Built·using402 ········Built·using
403 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the403 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
404 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>404 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
405 ······</p>405 ······</p>
406 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>406 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
407 ····</footer>407 ····</footer>
408 ··</div>408 ··</div>
409 </main>409 </main>
410 </div>410 </div>
411 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>411 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
412 ··<script>412 ··<script>
413 ··let·initialized·=·false;413 ··let·initialized·=·false;
584 B
html2text {}
Max HTML report size reached
1.42 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/erts_alloc.html
    
Offset 534, 15 lines modifiedOffset 534, 15 lines modified
534 ······<p·class="built-using">534 ······<p·class="built-using">
535 ········Built·using535 ········Built·using
536 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the536 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
537 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>537 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
538 ······</p>538 ······</p>
539 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>539 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
540 ····</footer>540 ····</footer>
541 ··</div>541 ··</div>
542 </main>542 </main>
543 </div>543 </div>
544 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>544 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
545 ··<script>545 ··<script>
546 ··let·initialized·=·false;546 ··let·initialized·=·false;
623 B
html2text {}
Max HTML report size reached
19.2 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/escript_cmd.html
    
Offset 127, 57 lines modifiedOffset 127, 57 lines modified
  
127 <p>Run·a·script·written·in·Erlang.</p><h2·id="synopsis"·class="section-heading">127 <p>Run·a·script·written·in·Erlang.</p><h2·id="synopsis"·class="section-heading">
128 ··<a·href="#synopsis"·class="hover-link">128 ··<a·href="#synopsis"·class="hover-link">
129 ····<i·class="ri-link-m"·aria-hidden="true"></i>129 ····<i·class="ri-link-m"·aria-hidden="true"></i>
130 ··</a>130 ··</a>
131 ··<span·class="text">Synopsis</span>131 ··<span·class="text">Synopsis</span>
132 </h2>132 </h2>
133 <pre><code·class="makeup·erlang"·translate="no"><span·class="ss">script</span><span·class="o">-</span><span·class="ss">name</span><span·class="w">·</span><span·class="p"·data-group-id="8938897818-1">[</span><span·class="ss">arg1</span><span·class="w">·</span><span·class="ss">arg2</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="8938897818-1">]</span></code></pre><h2·id="description"·class="section-heading">133 <pre><code·class="makeup·erlang"·translate="no"><span·class="ss">script</span><span·class="o">-</span><span·class="ss">name</span><span·class="w">·</span><span·class="p"·data-group-id="2312862799-1">[</span><span·class="ss">arg1</span><span·class="w">·</span><span·class="ss">arg2</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="2312862799-1">]</span></code></pre><h2·id="description"·class="section-heading">
134 ··<a·href="#description"·class="hover-link">134 ··<a·href="#description"·class="hover-link">
135 ····<i·class="ri-link-m"·aria-hidden="true"></i>135 ····<i·class="ri-link-m"·aria-hidden="true"></i>
136 ··</a>136 ··</a>
137 ··<span·class="text">Description</span>137 ··<span·class="text">Description</span>
138 </h2>138 </h2>
139 <p><code·class="inline">escript</code>·provides·support·for·running·short·Erlang·programs·without·having·to139 <p><code·class="inline">escript</code>·provides·support·for·running·short·Erlang·programs·without·having·to
140 compile·them·first,·and·an·easy·way·to·retrieve·the·command-line·arguments.140 compile·them·first,·and·an·easy·way·to·retrieve·the·command-line·arguments.
141 <code·class="inline">escript</code>s·are·created·by·either·writing·them·by·hand·or·using·<a·href="../../../lib/stdlib-7.0/doc/html/escript.html#create/2"><code·class="inline">escript:create/2</code></a>.</p><p>escripts·are·run·by·directly·invoking·them·(does·not·work·on·Windows):</p><pre><code·class="text">script-name·[arg1·arg2...]</code></pre><p>or·by·calling·the·<code·class="inline">escript</code>·program·(works·on·all·platforms):</p><pre><code·class="text">escript·[escript-flags]·script-name.escript·[arg1·arg2...]</code></pre><p>For·example:</p><pre><code·class="text">$·chmod·u+x·factorial141 <code·class="inline">escript</code>s·are·created·by·either·writing·them·by·hand·or·using·<a·href="../../../lib/stdlib-7.0/doc/html/escript.html#create/2"><code·class="inline">escript:create/2</code></a>.</p><p>escripts·are·run·by·directly·invoking·them·(does·not·work·on·Windows):</p><pre><code·class="text">script-name·[arg1·arg2...]</code></pre><p>or·by·calling·the·<code·class="inline">escript</code>·program·(works·on·all·platforms):</p><pre><code·class="text">escript·[escript-flags]·script-name.escript·[arg1·arg2...]</code></pre><p>For·example:</p><pre><code·class="text">$·chmod·u+x·factorial
142 $·cat·factorial</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript142 $·cat·factorial</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript
143 </span><span·class="c1">%%·-*-·erlang·-*-</span><span·class="w">143 </span><span·class="c1">%%·-*-·erlang·-*-</span><span·class="w">
144 </span><span·class="c1">%%!·-sname·factorial·-mnesia·debug·verbose</span><span·class="w">144 </span><span·class="c1">%%!·-sname·factorial·-mnesia·debug·verbose</span><span·class="w">
145 </span><span·class="nf">main</span><span·class="p"·data-group-id="1423208239-1">(</span><span·class="p"·data-group-id="1423208239-2">[</span><span·class="n">String</span><span·class="p"·data-group-id="1423208239-2">]</span><span·class="p"·data-group-id="1423208239-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">145 </span><span·class="nf">main</span><span·class="p"·data-group-id="6226662479-1">(</span><span·class="p"·data-group-id="6226662479-2">[</span><span·class="n">String</span><span·class="p"·data-group-id="6226662479-2">]</span><span·class="p"·data-group-id="6226662479-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
146 ····</span><span·class="k">try</span><span·class="w">146 ····</span><span·class="k">try</span><span·class="w">
147 ········</span><span·class="n">N</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">list_to_integer</span><span·class="p"·data-group-id="1423208239-3">(</span><span·class="n">String</span><span·class="p"·data-group-id="1423208239-3">)</span><span·class="p">,</span><span·class="w">147 ········</span><span·class="n">N</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">list_to_integer</span><span·class="p"·data-group-id="6226662479-3">(</span><span·class="n">String</span><span·class="p"·data-group-id="6226662479-3">)</span><span·class="p">,</span><span·class="w">
148 ········</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fac</span><span·class="p"·data-group-id="1423208239-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="1423208239-4">)</span><span·class="p">,</span><span·class="w">148 ········</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fac</span><span·class="p"·data-group-id="6226662479-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="6226662479-4">)</span><span·class="p">,</span><span·class="w">
149 ········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1423208239-5">(</span><span·class="s">&quot;factorial·</span><span·class="si">~w</span><span·class="s">·=·</span><span·class="si">~w</span><span·class="s">\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1423208[·...·truncated·by·diffoscope;·len:·180,·SHA:·31376b5f65758a32b4def75314333b2c51febe607c5a8a692dd08b048e3bccf9·...·]9-5">)</span><span·class="w">149 ········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6226662479-5">(</span><span·class="s">&quot;factorial·</span><span·class="si">~w</span><span·class="s">·=·</span><span·class="si">~w</span><span·class="s">\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6226662[·...·truncated·by·diffoscope;·len:·180,·SHA:·8ab42796b573fa8b6794db0321cd48640abd40cedf0ea18aeae56410c9f63566·...·]9-5">)</span><span·class="w">
150 ····</span><span·class="k">catch</span><span·class="w">150 ····</span><span·class="k">catch</span><span·class="w">
151 ········</span><span·class="p">_</span><span·class="p">:</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">151 ········</span><span·class="p">_</span><span·class="p">:</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
152 ············</span><span·class="nf">usage</span><span·class="p"·data-group-id="1423208239-7">(</span><span·class="p"·data-group-id="1423208239-7">)</span><span·class="w">152 ············</span><span·class="nf">usage</span><span·class="p"·data-group-id="6226662479-7">(</span><span·class="p"·data-group-id="6226662479-7">)</span><span·class="w">
153 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">153 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
154 </span><span·class="nf">main</span><span·class="p"·data-group-id="1423208239-8">(</span><span·class="p">_</span><span·class="p"·data-group-id="1423208239-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">154 </span><span·class="nf">main</span><span·class="p"·data-group-id="6226662479-8">(</span><span·class="p">_</span><span·class="p"·data-group-id="6226662479-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
155 ····</span><span·class="nf">usage</span><span·class="p"·data-group-id="1423208239-9">(</span><span·class="p"·data-group-id="1423208239-9">)</span><span·class="p">.</span><span·class="w">155 ····</span><span·class="nf">usage</span><span·class="p"·data-group-id="6226662479-9">(</span><span·class="p"·data-group-id="6226662479-9">)</span><span·class="p">.</span><span·class="w">
  
156 </span><span·class="nf">usage</span><span·class="p"·data-group-id="1423208239-10">(</span><span·class="p"·data-group-id="1423208239-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">156 </span><span·class="nf">usage</span><span·class="p"·data-group-id="6226662479-10">(</span><span·class="p"·data-group-id="6226662479-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
157 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1423208239-11">(</span><span·class="s">&quot;usage:·factorial·integer\n&quot;</span><span·class="p"·data-group-id="1423208239-11">)</span><span·class="p">,</span><span·class="w">157 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6226662479-11">(</span><span·class="s">&quot;usage:·factorial·integer\n&quot;</span><span·class="p"·data-group-id="6226662479-11">)</span><span·class="p">,</span><span·class="w">
158 ····</span><span·class="nf">halt</span><span·class="p"·data-group-id="1423208239-12">(</span><span·class="mi">1</span><span·class="p"·data-group-id="1423208239-12">)</span><span·class="p">.</span><span·class="w">158 ····</span><span·class="nf">halt</span><span·class="p"·data-group-id="6226662479-12">(</span><span·class="mi">1</span><span·class="p"·data-group-id="6226662479-12">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">fac</span><span·class="p"·data-group-id="1423208239-13">(</span><span·class="mi">0</span><span·class="p"·data-group-id="1423208239-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">;</span><span·class="w">159 </span><span·class="nf">fac</span><span·class="p"·data-group-id="6226662479-13">(</span><span·class="mi">0</span><span·class="p"·data-group-id="6226662479-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">;</span><span·class="w">
160 </span><span·class="nf">fac</span><span·class="p"·data-group-id="1423208239-14">(</span><span·class="n">N</span><span·class="p"·data-group-id="1423208239-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">*</span><span·c[·...·truncated·by·diffoscope;·len:·211,·SHA:·4b80b504bcc3f1d89043476b826d7cab0005165f24f6b45c53f70e103347a7f5·...·]9-15">)</span><span·class="p">.</span></code></pre><pre><code·class="text">$·./factorial·5160 </span><span·class="nf">fac</span><span·class="p"·data-group-id="6226662479-14">(</span><span·class="n">N</span><span·class="p"·data-group-id="6226662479-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">*</span><span·c[·...·truncated·by·diffoscope;·len:·211,·SHA:·52ec63f3035265d49fa1122471152edbefd76bd7804431f472fb9830a5b27994·...·]9-15">)</span><span·class="p">.</span></code></pre><pre><code·class="text">$·./factorial·5
161 factorial·5·=·120161 factorial·5·=·120
162 $·./factorial162 $·./factorial
163 usage:·factorial·integer163 usage:·factorial·integer
164 $·./factorial·five164 $·./factorial·five
165 usage:·factorial·integer</code></pre><p>The·header·of·the·Erlang·script·in·the·example·differs·from·a·normal·Erlang165 usage:·factorial·integer</code></pre><p>The·header·of·the·Erlang·script·in·the·example·differs·from·a·normal·Erlang
166 module.·The·first·line·is·intended·to·be·the·interpreter·line,·which·invokes166 module.·The·first·line·is·intended·to·be·the·interpreter·line,·which·invokes
167 <code·class="inline">escript</code>.</p><p>However,·if·you·invoke·the·<code·class="inline">escript</code>·as·follows,·the·contents·of·the·first·line167 <code·class="inline">escript</code>.</p><p>However,·if·you·invoke·the·<code·class="inline">escript</code>·as·follows,·the·contents·of·the·first·line
168 do·not·matter,·but·it·cannot·contain·Erlang·code·as·it·will·be·ignored:</p><pre><code·class="text">$·escript·factorial·5</code></pre><p>The·second·line·in·the·example·contains·an·optional·directive·to·the·<code·class="inline">Emacs</code>168 do·not·matter,·but·it·cannot·contain·Erlang·code·as·it·will·be·ignored:</p><pre><code·class="text">$·escript·factorial·5</code></pre><p>The·second·line·in·the·example·contains·an·optional·directive·to·the·<code·class="inline">Emacs</code>
169 editor,·which·causes·it·to·enter·the·major·mode·for·editing·Erlang·source·files.169 editor,·which·causes·it·to·enter·the·major·mode·for·editing·Erlang·source·files.
170 If·the·directive·is·present,·it·must·be·located·on·the·second·line.</p><p>If·a·comment·selecting·the·<a·href="../../../lib/stdlib-7.0/doc/html/epp.html#encoding">encoding</a>·exists,·it·can·be170 If·the·directive·is·present,·it·must·be·located·on·the·second·line.</p><p>If·a·comment·selecting·the·<a·href="../../../lib/stdlib-7.0/doc/html/epp.html#encoding">encoding</a>·exists,·it·can·be
171 located·on·the·second·line.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·encoding·specified·by·the·above·mentioned·comment·applies·to·the·script171 located·on·the·second·line.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·encoding·specified·by·the·above·mentioned·comment·applies·to·the·script
172 itself.·The·encoding·of·the·I/O-server,·however,·must·be·set·explicitly·as172 itself.·The·encoding·of·the·I/O-server,·however,·must·be·set·explicitly·as
173 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">setopts</span><span·class="p"·data-group-id="1398839871-1">(</span><span·class="p"·data-group-id="1398839871-2">[</span><span·class="p"·data-group-id="1398839871-3">{</span><span·class="ss">encoding</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">latin1</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·129,·SHA:·59f045f8d7f055810f43e1e8bad67e93ec2c91925f3b1510ee93ca494ed69c9c·...·]-1">)</span></code></pre><p>The·default·encoding·of·the·I/O-server·for173 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">setopts</span><span·class="p"·data-group-id="7452855792-1">(</span><span·class="p"·data-group-id="7452855792-2">[</span><span·class="p"·data-group-id="7452855792-3">{</span><span·class="ss">encoding</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">latin1</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·129,·SHA:·e26cb3781b7450fb09b94f23c8ef9b94e975c3901574a8de95491b4350825ce3·...·]-1">)</span></code></pre><p>The·default·encoding·of·the·I/O-server·for
174 <a·href="../../../lib/stdlib-7.0/doc/html/io.html#t:standard_io/0"><code·class="inline">standard_io</code></a>·is·<code·class="inline">unicode</code>·if·its·supported.·(see174 <a·href="../../../lib/stdlib-7.0/doc/html/io.html#t:standard_io/0"><code·class="inline">standard_io</code></a>·is·<code·class="inline">unicode</code>·if·its·supported.·(see
175 section175 section
176 <a·href="../../../lib/stdlib-7.0/doc/html/unicode_usage.html#unicode_options_summary">Summary·of·Options</a>)·in176 <a·href="../../../lib/stdlib-7.0/doc/html/unicode_usage.html#unicode_options_summary">Summary·of·Options</a>)·in
177 the·STDLIB·User's·Guide.</p></section><p>On·the·third·line·(or·second·line·depending·on·the·presence·of·the·Emacs177 the·STDLIB·User's·Guide.</p></section><p>On·the·third·line·(or·second·line·depending·on·the·presence·of·the·Emacs
178 directive),·arguments·can·be·specified·to·the·emulator,·for·example:</p><pre><code·class="text">%%!·-sname·factorial·-mnesia·debug·verbose</code></pre><p>Such·an·argument·line·must·start·with·<code·class="inline">%%!</code>·and·the·remaining·line·is178 directive),·arguments·can·be·specified·to·the·emulator,·for·example:</p><pre><code·class="text">%%!·-sname·factorial·-mnesia·debug·verbose</code></pre><p>Such·an·argument·line·must·start·with·<code·class="inline">%%!</code>·and·the·remaining·line·is
179 interpreted·as·arguments·to·the·emulator.</p><p>If·you·know·the·location·of·the·<code·class="inline">escript</code>·executable,·the·first·line·can179 interpreted·as·arguments·to·the·emulator.</p><p>If·you·know·the·location·of·the·<code·class="inline">escript</code>·executable,·the·first·line·can
180 directly·give·the·path·to·<code·class="inline">escript</code>,·for·example:</p><pre><code·class="text">#!/usr/local/bin/escript</code></pre><p>As·any·other·type·of·scripts,·Erlang·scripts·do·not·work·on·Unix·platforms·if180 directly·give·the·path·to·<code·class="inline">escript</code>,·for·example:</p><pre><code·class="text">#!/usr/local/bin/escript</code></pre><p>As·any·other·type·of·scripts,·Erlang·scripts·do·not·work·on·Unix·platforms·if
Offset 188, 23 lines modifiedOffset 188, 23 lines modified
188 arguments·specified·to·the·script·(not·changed·or·interpreted·in·any·way).</p><p>If·the·<code·class="inline">main/1</code>·function·in·the·script·returns·successfully,·the·exit·status·for188 arguments·specified·to·the·script·(not·changed·or·interpreted·in·any·way).</p><p>If·the·<code·class="inline">main/1</code>·function·in·the·script·returns·successfully,·the·exit·status·for
189 the·script·is·<code·class="inline">0</code>.·If·an·exception·is·generated·during·execution,·a·short189 the·script·is·<code·class="inline">0</code>.·If·an·exception·is·generated·during·execution,·a·short
190 message·is·printed·and·the·script·terminates·with·exit·status·<code·class="inline">127</code>.</p><p>To·return·your·own·non-zero·exit·code,·call·<a·href="erlang.html#halt/1"><code·class="inline">halt(ExitCode)</code></a>,·for190 message·is·printed·and·the·script·terminates·with·exit·status·<code·class="inline">127</code>.</p><p>To·return·your·own·non-zero·exit·code,·call·<a·href="erlang.html#halt/1"><code·class="inline">halt(ExitCode)</code></a>,·for
191 example:</p><pre><code·class="text">halt(1).</code></pre><p>To·retrieve·the·pathname·of·the·script,·call·<a·href="../../../lib/stdlib-7.0/doc/html/escript.html#script_name/0"><code·class="inline">escript:script_name/0</code></a>·from·your191 example:</p><pre><code·class="text">halt(1).</code></pre><p>To·retrieve·the·pathname·of·the·script,·call·<a·href="../../../lib/stdlib-7.0/doc/html/escript.html#script_name/0"><code·class="inline">escript:script_name/0</code></a>·from·your
192 script·(the·pathname·is·usually,·but·not·always,·absolute).</p><p>If·the·file·contains·source·code·(as·in·the·example·above),·it·is·processed·by192 script·(the·pathname·is·usually,·but·not·always,·absolute).</p><p>If·the·file·contains·source·code·(as·in·the·example·above),·it·is·processed·by
193 the·<a·href="../../../lib/stdlib-7.0/doc/html/epp.html"><code·class="inline">epp</code></a>·preprocessor.·This·means·that·you,·for·example,·can·use·predefined193 the·<a·href="../../../lib/stdlib-7.0/doc/html/epp.html"><code·class="inline">epp</code></a>·preprocessor.·This·means·that·you,·for·example,·can·use·predefined
194 macros·(such·as·<code·class="inline">?MODULE</code>)·and·include·directives·like·the·<code·class="inline">-include_lib</code>194 macros·(such·as·<code·class="inline">?MODULE</code>)·and·include·directives·like·the·<code·class="inline">-include_lib</code>
195 directive.·For·example,·use</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="0275700621-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="0275700621-1">)</span><span·class="p">.</span></code></pre><p>to·include·the·record·definitions·for·the·records·used·by·function195 directive.·For·example,·use</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="8126732184-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="8126732184-1">)</span><span·class="p">.</span></code></pre><p>to·include·the·record·definitions·for·the·records·used·by·function
196 <a·href="../../../lib/kernel-10.3/doc/html/file.html#read_link_info/1"><code·class="inline">file:read_link_info/1</code></a>.·You·can·also·select·encoding·by·including·an·encoding196 <a·href="../../../lib/kernel-10.3/doc/html/file.html#read_link_info/1"><code·class="inline">file:read_link_info/1</code></a>.·You·can·also·select·encoding·by·including·an·encoding
197 comment·here,·but·if·a·valid·encoding·comment·exists·on·the·second·line,·it197 comment·here,·but·if·a·valid·encoding·comment·exists·on·the·second·line,·it
198 takes·precedence.</p><p>The·script·is·checked·for·syntactic·and·semantic·correctness·before·it·is·run.198 takes·precedence.</p><p>The·script·is·checked·for·syntactic·and·semantic·correctness·before·it·is·run.
199 If·there·are·warnings·(such·as·unused·variables),·they·are·printed·and·the199 If·there·are·warnings·(such·as·unused·variables),·they·are·printed·and·the
200 script·will·still·be·run.·If·there·are·errors,·they·are·printed·and·the·script200 script·will·still·be·run.·If·there·are·errors,·they·are·printed·and·the·script
201 will·not·be·run·and·its·exit·status·is·<code·class="inline">127</code>.</p><p>Both·the·module·declaration·and·the·export·declaration·of·the·<code·class="inline">main/1</code>·function201 will·not·be·run·and·its·exit·status·is·<code·class="inline">127</code>.</p><p>Both·the·module·declaration·and·the·export·declaration·of·the·<code·class="inline">main/1</code>·function
202 are·optional.</p><p>By·default,·the·script·will·be·compiled·by·the·Erlang·compiler.</p><p>It·is·possible·to·force·it·to·be·interpreted·by·including·the·following·line202 are·optional.</p><p>By·default,·the·script·will·be·compiled·by·the·Erlang·compiler.</p><p>It·is·possible·to·force·it·to·be·interpreted·by·including·the·following·line
203 somewhere·in·the·script·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">mode</span><span·class="p"·data-group-id="9634237712-1">(</span><span·class="ss">interpret</span><span·class="p"·data-group-id="9634237712-1">)</span><span·class="p">.</span></code></pre><p>Execution·of·interpreted·code·is·slower·than·compiled·code,·and·some·language203 somewhere·in·the·script·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">mode</span><span·class="p"·data-group-id="6657648862-1">(</span><span·class="ss">interpret</span><span·class="p"·data-group-id="6657648862-1">)</span><span·class="p">.</span></code></pre><p>Execution·of·interpreted·code·is·slower·than·compiled·code,·and·some·language
204 constructs·will·not·work,·but·there·is·no·requirement·for·the·Erlang·compiler204 constructs·will·not·work,·but·there·is·no·requirement·for·the·Erlang·compiler
205 application·to·be·available.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Before·Erlang/OTP·27·the·script·would·be·interpreted·by·default.</p></section><h2·id="precompiled-escripts"·class="section-heading">205 application·to·be·available.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>Before·Erlang/OTP·27·the·script·would·be·interpreted·by·default.</p></section><h2·id="precompiled-escripts"·class="section-heading">
206 ··<a·href="#precompiled-escripts"·class="hover-link">206 ··<a·href="#precompiled-escripts"·class="hover-link">
207 ····<i·class="ri-link-m"·aria-hidden="true"></i>207 ····<i·class="ri-link-m"·aria-hidden="true"></i>
208 ··</a>208 ··</a>
209 ··<span·class="text">Precompiled·escripts</span>209 ··<span·class="text">Precompiled·escripts</span>
210 </h2>210 </h2>
Offset 309, 15 lines modifiedOffset 309, 15 lines modified
309 ······<p·class="built-using">309 ······<p·class="built-using">
310 ········Built·using310 ········Built·using
311 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the311 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
312 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>312 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
313 ······</p>313 ······</p>
314 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>314 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
315 ····</footer>315 ····</footer>
316 ··</div>316 ··</div>
317 </main>317 </main>
318 </div>318 </div>
319 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>319 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
320 ··<script>320 ··<script>
321 ··let·initialized·=·false;321 ··let·initialized·=·false;
678 B
html2text {}
Max HTML report size reached
38.3 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/garbagecollection.html
    
Offset 133, 33 lines modifiedOffset 133, 33 lines modified
133 </h2>133 </h2>
134 <p>Each·Erlang·process·has·its·own·stack·and·heap·which·are·allocated·in·the·same·memory·block·and·grow·towards·each·other.·When·the·stack·and·the·heap·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/beam_emu.c#L387">meet</a>,·the·garbage·collector·is·triggered·and·memory·is·reclaimed.·If·not·enough·memory·was·reclaimed,·the·heap·will·grow.</p><h3·id="creating-data"·class="section-heading">134 <p>Each·Erlang·process·has·its·own·stack·and·heap·which·are·allocated·in·the·same·memory·block·and·grow·towards·each·other.·When·the·stack·and·the·heap·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/beam_emu.c#L387">meet</a>,·the·garbage·collector·is·triggered·and·memory·is·reclaimed.·If·not·enough·memory·was·reclaimed,·the·heap·will·grow.</p><h3·id="creating-data"·class="section-heading">
135 ··<a·href="#creating-data"·class="hover-link">135 ··<a·href="#creating-data"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Creating·Data</span>138 ··<span·class="text">Creating·Data</span>
139 </h3>139 </h3>
140 <p>Terms·are·created·on·the·heap·by·evaluating·expressions.·There·are·two·major·types·of·terms:·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_term.h#L88-L97">immediate·terms</a>·which·require·no·heap·space·(small·integers,·atoms,·pids,·port·ids·etc)·and·cons·or·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_term.h#L106-L120">boxed·terms</a>·(tuple,·big·num,·binaries·etc)·that·do·require·heap·space.·Immediate·terms·do·not·need·any·heap·space·because·they·are·embedded·into·the·containing·structure.</p><p>Let's·look·at·an·example·that·returns·a·tuple·with·the·newly·created·data.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">data</span><span·class="p"·data-group-id="1138544899-1">(</span><span·class="n">Foo</span><span·class="p"·data-group-id="1138544899-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">140 <p>Terms·are·created·on·the·heap·by·evaluating·expressions.·There·are·two·major·types·of·terms:·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_term.h#L88-L97">immediate·terms</a>·which·require·no·heap·space·(small·integers,·atoms,·pids,·port·ids·etc)·and·cons·or·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_term.h#L106-L120">boxed·terms</a>·(tuple,·big·num,·binaries·etc)·that·do·require·heap·space.·Immediate·terms·do·not·need·any·heap·space·because·they·are·embedded·into·the·containing·structure.</p><p>Let's·look·at·an·example·that·returns·a·tuple·with·the·newly·created·data.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">data</span><span·class="p"·data-group-id="5869405917-1">(</span><span·class="n">Foo</span><span·class="p"·data-group-id="5869405917-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
141 ···</span><span·class="n">Cons</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1138544899-2">[</span><span·class="mi">42</span><span·class="p">|</span><span·class="n">Foo</span><span·class="p"·data-group-id="1138544899-2">]</span><span·class="p">,</span><span·class="w">141 ···</span><span·class="n">Cons</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5869405917-2">[</span><span·class="mi">42</span><span·class="p">|</span><span·class="n">Foo</span><span·class="p"·data-group-id="5869405917-2">]</span><span·class="p">,</span><span·class="w">
142 ···</span><span·class="n">Literal</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1138544899-3">{</span><span·class="ss">text</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;hello·world!&quot;</span><span·class="p"·data-group-id="1138544899-3">}</span><span·class="p">,</span><span·class="w">142 ···</span><span·class="n">Literal</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5869405917-3">{</span><span·class="ss">text</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;hello·world!&quot;</span><span·class="p"·data-group-id="5869405917-3">}</span><span·class="p">,</span><span·class="w">
143 ···</span><span·class="p"·data-group-id="1138544899-4">{</span><span·class="ss">tag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cons</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Literal</span><span·class="p"·data-group-id="1138544899-4">}</span><span·class="p">.</span></code></pre><p>In·this·example·we·first·create·a·new·cons·cell·with·an·integer·and·a·tuple·with·some·text.·Then·a·tuple·of·size·three·wrapping·the·other·values·with·an·atom·tag·is·created·and·returned.</p><p>On·the·heap·tuples·require·a·word·size·for·each·of·its·elements·as·well·as·for·the·header.·Cons·cells·always·require·two·words.·Adding·these·things·together,·we·get·seven·words·for·the·tuples·and·26·words·for·the·cons·cells.·The·string·<code·class="inline">&quot;hello·world!&quot;</code>·is·a·list·of·cons·cells·and·thus·requires·24·words.·The·atom·<code·class="inline">tag</code>·and·the·integer·<code·class="inline">42</code>·do·not·require·any·additional·heap·memory·since·it·is·an·<em>immediate</em>.·Adding·all·the·terms·together,·the·heap·space·required·in·this·example·should·be·33·words.</p><p>Compiling·this·code·to·beam·assembly·(<code·class="inline">erlc·-S</code>)·shows·exactly·what·is·happening.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">143 ···</span><span·class="p"·data-group-id="5869405917-4">{</span><span·class="ss">tag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cons</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Literal</span><span·class="p"·data-group-id="5869405917-4">}</span><span·class="p">.</span></code></pre><p>In·this·example·we·first·create·a·new·cons·cell·with·an·integer·and·a·tuple·with·some·text.·Then·a·tuple·of·size·three·wrapping·the·other·values·with·an·atom·tag·is·created·and·returned.</p><p>On·the·heap·tuples·require·a·word·size·for·each·of·its·elements·as·well·as·for·the·header.·Cons·cells·always·require·two·words.·Adding·these·things·together,·we·get·seven·words·for·the·tuples·and·26·words·for·the·cons·cells.·The·string·<code·class="inline">&quot;hello·world!&quot;</code>·is·a·list·of·cons·cells·and·thus·requires·24·words.·The·atom·<code·class="inline">tag</code>·and·the·integer·<code·class="inline">42</code>·do·not·require·any·additional·heap·memory·since·it·is·an·<em>immediate</em>.·Adding·all·the·terms·together,·the·heap·space·required·in·this·example·should·be·33·words.</p><p>Compiling·this·code·to·beam·assembly·(<code·class="inline">erlc·-S</code>)·shows·exactly·what·is·happening.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
144 </span><span·class="p"·data-group-id="7917053238-1">{</span><span·class="ss">test_heap</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="7917053238-1">}</span><span·class="p">.</span><span·class="w">144 </span><span·class="p"·data-group-id="5673497665-1">{</span><span·class="ss">test_heap</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5673497665-1">}</span><span·class="p">.</span><span·class="w">
145 </span><span·class="p"·data-group-id="7917053238-2">{</span><span·class="ss">put_list</span><span·class="p">,</span><span·class="p"·data-group-id="7917053238-3">{</span><span·class="ss">integer</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="7917053238-3"[·...·truncated·by·diffoscope;·len:·458,·SHA:·a048513c919f68a356acd7d7f3f86fcd4ba5ffa85589d00adf39351efb077dc8·...·]-2">}</span><span·class="p">.</span><span·class="w">145 </span><span·class="p"·data-group-id="5673497665-2">{</span><span·class="ss">put_list</span><span·class="p">,</span><span·class="p"·data-group-id="5673497665-3">{</span><span·class="ss">integer</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="5673497665-3"[·...·truncated·by·diffoscope;·len:·458,·SHA:·bc25818efea6e319eae9a62ade8ef02a408ef75a6032b8dbf69d4d6224f122b8·...·]-2">}</span><span·class="p">.</span><span·class="w">
146 </span><span·class="p"·data-group-id="7917053238-6">{</span><span·class="ss">put_tuple</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="p"·data-group-id="7917053238-7">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="mi">0</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·84e16b1ea62590ad76280c7863615511c964415cebbb1f60d0d5aec327000595·...·]-6">}</span><span·class="p">.</span><span·class="w">146 </span><span·class="p"·data-group-id="5673497665-6">{</span><span·class="ss">put_tuple</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="p"·data-group-id="5673497665-7">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="mi">0</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·60598222328dc49fc30a1c0901dda92ae5c8bab4abda77bd227e01c56753c63e·...·]-6">}</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p"·data-group-id="7917053238-8">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="7917053238-9">{</span><span·class="ss">atom</span><span·class="p">,</span><span·class="ss">tag</span><span·class="p"·data-group-id="7917053238-9">}</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·6796cc8d6da360ef9c301c035f7c66b74cdcf602cb48de464348c2414ec4e92e·...·]-8">}</span><span·class="p">.</span><span·class="w">147 </span><span·class="p"·data-group-id="5673497665-8">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="5673497665-9">{</span><span·class="ss">atom</span><span·class="p">,</span><span·class="ss">tag</span><span·class="p"·data-group-id="5673497665-9">}</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·b9089b7e0cba6d948e1a5fd13ca375313b3aab619b2ccf97b863617339fe2caf·...·]-8">}</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p"·data-group-id="7917053238-10">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="7917053238-11">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="7917053238-11">}</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·08edff6d482216dc903a231067ac47e345958897c4f9351007de2fa07ed2aac1·...·]-10">}</span><span·class="p">.</span><span·class="w">148 </span><span·class="p"·data-group-id="5673497665-10">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="5673497665-11">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5673497665-11">}</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·47c886b1a7ed0e677f37e38baf63d796ab83f127881821943d79ee096d4bc072·...·]-10">}</span><span·class="p">.</span><span·class="w">
149 </span><span·class="p"·data-group-id="7917053238-12">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="7917053238-13">{</span><span·class="ss">literal</span><span·class="p">,</span><span·class="p"·data-group-id="7917053238-14">{</span><span·class="ss">te[·...·truncated·by·diffoscope;·len:·229,·SHA:·4e931da75c5d48a251f1c0dd80d5e1a26c25ae510dbcb40bb54e34abacaa7729·...·]-12">}</span><span·class="p">.</span><span·class="w">149 </span><span·class="p"·data-group-id="5673497665-12">{</span><span·class="nb">put</span><span·class="p">,</span><span·class="p"·data-group-id="5673497665-13">{</span><span·class="ss">literal</span><span·class="p">,</span><span·class="p"·data-group-id="5673497665-14">{</span><span·class="ss">te[·...·truncated·by·diffoscope;·len:·229,·SHA:·54fb61ff698b343bfd4a6f16fd2f2fbca179b4bc44ebaaaa6701d54c827874cb·...·]-12">}</span><span·class="p">.</span><span·class="w">
150 </span><span·class="ss">return</span><span·class="p">.</span></code></pre><p>Looking·at·the·assembler·code·we·can·see·three·things:·The·heap·requirement·in·this·function·turns·out·to·be·only·six·words,·as·seen·by·the·<code·class="inline">{test_heap,6,1}</code>·instruction.·All·the·allocations·are·combined·to·a·single·instruction.·The·bulk·of·the·data·<code·class="inline">{text,·&quot;hello·world!&quot;}</code>·is·a·<em>literal</em>.·Literals,·sometimes·referred·to·as·constants,·are·not·allocated·in·the·function·since·they·are·a·part·of·the·module·and·allocated·at·load·time.</p><p>If·there·is·not·enough·space·available·on·the·heap·to·satisfy·the·<code·class="inline">test_heap</code>·instructions·request·for·memory,·then·a·garbage·collection·is·initiated.·It·may·happen·immediately·in·the·<code·class="inline">test_heap</code>·instruction,·or·it·can·be·delayed·until·a·later·time·depending·on·what·state·the·process·is·in.·If·the·garbage·collection·is·delayed,·any·memory·needed·will·be·allocated·in·heap·fragments.·Heap·fragments·are·extra·memory·blocks·that·are·a·part·of·the·young·heap,·but·are·not·allocated·in·the·contiguous·area·where·terms·normally·reside.·See·<a·href="#the-young-heap">The·young·heap</a>·for·more·details.</p><h3·id="the-collector"·class="section-heading">150 </span><span·class="ss">return</span><span·class="p">.</span></code></pre><p>Looking·at·the·assembler·code·we·can·see·three·things:·The·heap·requirement·in·this·function·turns·out·to·be·only·six·words,·as·seen·by·the·<code·class="inline">{test_heap,6,1}</code>·instruction.·All·the·allocations·are·combined·to·a·single·instruction.·The·bulk·of·the·data·<code·class="inline">{text,·&quot;hello·world!&quot;}</code>·is·a·<em>literal</em>.·Literals,·sometimes·referred·to·as·constants,·are·not·allocated·in·the·function·since·they·are·a·part·of·the·module·and·allocated·at·load·time.</p><p>If·there·is·not·enough·space·available·on·the·heap·to·satisfy·the·<code·class="inline">test_heap</code>·instructions·request·for·memory,·then·a·garbage·collection·is·initiated.·It·may·happen·immediately·in·the·<code·class="inline">test_heap</code>·instruction,·or·it·can·be·delayed·until·a·later·time·depending·on·what·state·the·process·is·in.·If·the·garbage·collection·is·delayed,·any·memory·needed·will·be·allocated·in·heap·fragments.·Heap·fragments·are·extra·memory·blocks·that·are·a·part·of·the·young·heap,·but·are·not·allocated·in·the·contiguous·area·where·terms·normally·reside.·See·<a·href="#the-young-heap">The·young·heap</a>·for·more·details.</p><h3·id="the-collector"·class="section-heading">
151 ··<a·href="#the-collector"·class="hover-link">151 ··<a·href="#the-collector"·class="hover-link">
152 ····<i·class="ri-link-m"·aria-hidden="true"></i>152 ····<i·class="ri-link-m"·aria-hidden="true"></i>
153 ··</a>153 ··</a>
154 ··<span·class="text">The·collector</span>154 ··<span·class="text">The·collector</span>
155 </h3>155 </h3>
156 <p>Erlang·has·a·copying·semi-space·garbage·collector.·This·means·that·when·doing·a·garbage·collection,·the·terms·are·copied·from·one·distinct·area,·called·the·<em>from·space</em>,·to·a·new·clean·area,·called·the·<em>to·space</em>.·The·collector·starts·by·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1980">scanning·the·root-set</a>·(stack,·registers,·etc).</p><p><img·src="assets/gc-start.png"·alt="Garbage·collection:·initial·values"/></p><p>It·follows·all·the·pointers·from·the·root-set·to·the·heap·and·copies·each·term·word·by·word·to·the·<em>to·space</em>.</p><p>After·the·header·word·has·been·copied·a·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.h#L45-L46"><em>move·marker</em></a>·is·destructively·placed·in·it·pointing·to·the·term·in·the·<em>to·space</em>.·Any·other·term·that·points·to·the·already·moved·term·will·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1125">see·this·move·marker</a>·and·copy·the·referring·pointer·instead.·For·example,·if·the·have·the·following·Erlang·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="8267941454-1">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="8267941454-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">156 <p>Erlang·has·a·copying·semi-space·garbage·collector.·This·means·that·when·doing·a·garbage·collection,·the·terms·are·copied·from·one·distinct·area,·called·the·<em>from·space</em>,·to·a·new·clean·area,·called·the·<em>to·space</em>.·The·collector·starts·by·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1980">scanning·the·root-set</a>·(stack,·registers,·etc).</p><p><img·src="assets/gc-start.png"·alt="Garbage·collection:·initial·values"/></p><p>It·follows·all·the·pointers·from·the·root-set·to·the·heap·and·copies·each·term·word·by·word·to·the·<em>to·space</em>.</p><p>After·the·header·word·has·been·copied·a·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.h#L45-L46"><em>move·marker</em></a>·is·destructively·placed·in·it·pointing·to·the·term·in·the·<em>to·space</em>.·Any·other·term·that·points·to·the·already·moved·term·will·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1125">see·this·move·marker</a>·and·copy·the·referring·pointer·instead.·For·example,·if·the·have·the·following·Erlang·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="9603245767-1">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="9603245767-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
157 ····</span><span·class="n">T</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8267941454-2">{</span><span·class="ss">test</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Arg</span><span·class="p"·data-group-id="8267941454-2">}</span><span·class="p">,</span><span·class="w">157 ····</span><span·class="n">T</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9603245767-2">{</span><span·class="ss">test</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Arg</span><span·class="p"·data-group-id="9603245767-2">}</span><span·class="p">,</span><span·class="w">
158 ····</span><span·class="p"·data-group-id="8267941454-3">{</span><span·class="ss">wrapper</span><span·class="p">,</span><span·class="w">·</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·54,·SHA:·2d50c82bec637c2d16f925dc9aa9884a24d08e53a8aca47e9fabb8fc0292ecaf·...·]-3">}</span><span·class="p">.</span></code></pre><p>Only·one·copy·of·T·exists·on·the·heap·and·during·the·garbage·collection·only·the·first·time·T·is·encountered·will·it·be·copied.</p><p><img·src="assets/gc-rootset-scan.png"·alt="Garbage·collection:·root·set·scan"/></p><p>After·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1089">all·terms</a>·referenced·by·the·root-set·have·been·copied,·the·collector·scans·the·<em>to·space</em>·and·copies·all·terms·that·these·terms·reference.·When·scanning,·the·collector·steps·through·each·term·on·the·<em>to·space</em>·and·any·term·still·referencing·the·<em>from·space</em>·is·copied·over·to·the·<em>to·space</em>.·Some·terms·contain·non-term·data·(the·payload·of·a·on·heap·binary·for·instance).·When·encountered·by·the·collector,·these·values·are·simply·skipped.</p><p><img·src="assets/gc-heap-scan1.png"·alt="Garbage·collection:·heap·scan"/></p><p>Every·term·object·we·can·reach·is·copied·to·the·<em>to·space</em>·and·stored·on·top·of·the·<em>scan·stop</em>·line,·and·then·the·scan·stop·is·moved·to·the·end·of·the·last·object.</p><p><img·src="assets/gc-heap-stop.png"·alt="Garbage·collection:·heap·scan"/></p><p>When·<em>scan·stop</em>·marker·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1103">catches·up</a>·to·the·<em>scan·start</em>·marker,·the·garbage·collection·is·done.·At·this·point·we·can·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1206">deallocate</a>·the·entire·<em>from·space</em>·and·therefore·reclaim·the·entire·young·heap.</p><h2·id="generational-garbage-collection"·class="section-heading">158 ····</span><span·class="p"·data-group-id="9603245767-3">{</span><span·class="ss">wrapper</span><span·class="p">,</span><span·class="w">·</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·54,·SHA:·913cf45bb72c24e22588064885b5d4362e25b16611887567e8517461a1e10bf2·...·]-3">}</span><span·class="p">.</span></code></pre><p>Only·one·copy·of·T·exists·on·the·heap·and·during·the·garbage·collection·only·the·first·time·T·is·encountered·will·it·be·copied.</p><p><img·src="assets/gc-rootset-scan.png"·alt="Garbage·collection:·root·set·scan"/></p><p>After·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1089">all·terms</a>·referenced·by·the·root-set·have·been·copied,·the·collector·scans·the·<em>to·space</em>·and·copies·all·terms·that·these·terms·reference.·When·scanning,·the·collector·steps·through·each·term·on·the·<em>to·space</em>·and·any·term·still·referencing·the·<em>from·space</em>·is·copied·over·to·the·<em>to·space</em>.·Some·terms·contain·non-term·data·(the·payload·of·a·on·heap·binary·for·instance).·When·encountered·by·the·collector,·these·values·are·simply·skipped.</p><p><img·src="assets/gc-heap-scan1.png"·alt="Garbage·collection:·heap·scan"/></p><p>Every·term·object·we·can·reach·is·copied·to·the·<em>to·space</em>·and·stored·on·top·of·the·<em>scan·stop</em>·line,·and·then·the·scan·stop·is·moved·to·the·end·of·the·last·object.</p><p><img·src="assets/gc-heap-stop.png"·alt="Garbage·collection:·heap·scan"/></p><p>When·<em>scan·stop</em>·marker·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1103">catches·up</a>·to·the·<em>scan·start</em>·marker,·the·garbage·collection·is·done.·At·this·point·we·can·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1206">deallocate</a>·the·entire·<em>from·space</em>·and·therefore·reclaim·the·entire·young·heap.</p><h2·id="generational-garbage-collection"·class="section-heading">
159 ··<a·href="#generational-garbage-collection"·class="hover-link">159 ··<a·href="#generational-garbage-collection"·class="hover-link">
160 ····<i·class="ri-link-m"·aria-hidden="true"></i>160 ····<i·class="ri-link-m"·aria-hidden="true"></i>
161 ··</a>161 ··</a>
162 ··<span·class="text">Generational·Garbage·Collection</span>162 ··<span·class="text">Generational·Garbage·Collection</span>
163 </h2>163 </h2>
164 <p>In·addition·to·the·collection·algorithm·described·above,·the·Erlang·garbage·collector·also·provides·generational·garbage·collection.·An·additional·heap,·called·the·old·heap,·is·used·where·the·long·lived·data·is·stored.·The·original·heap·is·called·the·young·heap,·or·sometimes·the·allocation·heap.</p><p>With·this·in·mind·we·can·look·at·the·Erlang's·garbage·collection·again.·During·the·copy·stage·anything·that·should·be·copied·to·the·young·<em>to·space</em>·is·instead·copied·to·the·old·<em>to·space</em>·<em>if</em>·it·is·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1127">below·the·<em>high-watermark</em></a>.</p><p><img·src="assets/gc-watermark.png"·alt="Garbage·collection:·heap·scan"/></p><p>The·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_process.h#L1021"><em>high-watermark</em></a>·is·placed·where·the·previous·garbage·collection·(described·in·<a·href="#overview">Overview</a>)·ended·and·we·have·introduced·a·new·area·called·the·old·heap.·When·doing·the·normal·garbage·collection·pass,·any·term·that·is·located·below·the·high-watermark·is·copied·to·the·old·<em>to·space</em>·instead·of·the·young.</p><p><img·src="assets/gc-watermark-2.png"·alt="Garbage·collection:·heap·scan"/></p><p>In·the·next·garbage·collection,·any·pointers·to·the·old·heap·will·be·ignored·and·not·scanned.·This·way·the·garbage·collector·does·not·have·to·scan·the·long-lived·terms.</p><p>Generational·garbage·collection·aims·to·increase·performance·at·the·expense·of·memory.·This·is·achieved·because·only·the·young,·smaller,·heap·is·considered·in·most·garbage·collections.</p><p>The·generational·hypothesis·predicts·that·most·terms·tend·to·die·young·(see·D.·Ungar·in·<a·href="#references">References</a>),·and·for·an·immutable·language·such·as·Erlang,·young·terms·die·even·faster·than·in·other·languages.·So·for·most·usage·patterns·the·data·in·the·new·heap·will·die·very·soon·after·it·is·allocated.·This·is·good·because·it·limits·the·amount·of·data·copied·to·the·old·heap·and·also·because·the·garbage·collection·algorithm·used·is·proportional·to·the·amount·of·live·data·on·the·heap.</p><p>One·critical·issue·to·note·here·is·that·any·term·on·the·young·heap·can·reference·terms·on·the·old·heap·but·<em>no</em>·term·on·the·old·heap·may·refer·to·a·term·on·the·young·heap.·This·is·due·to·the·nature·of·the·copy·algorithm.·Anything·referenced·by·an·old·heap·term·is·not·included·in·the·reference·tree,·root-set·and·its·followers,·and·hence·is·not·copied.·If·it·was,·the·data·would·be·lost,·fire·and·brimstone·would·rise·to·cover·the·earth.·Fortunately,·this·comes·naturally·for·Erlang·because·the·terms·are·immutable·and·thus·there·can·be·no·pointers·modified·on·the·old·heap·to·point·to·the·young·heap.</p><p>To·reclaim·data·from·the·old·heap,·both·young·and·old·heaps·are·included·during·the·collection·and·copied·to·a·common·<em>to·space</em>.·Both·the·<em>from·space</em>·of·the·young·and·old·heap·are·then·deallocated·and·the·procedure·will·start·over·from·the·beginning.·This·type·of·garbage·collection·is·called·a·full·sweep·and·is·triggered·when·the·size·of·the·area·under·the·high-watermark·is·larger·than·the·size·of·the·free·area·of·the·old·heap.·It·can·also·be·triggered·by·doing·a·manual·call·to·<a·href="http://erlang.org/doc/man/erlang.html#garbage_collect-0">erlang:garbage_collect()</a>,·or·by·running·into·the·young·garbage·collection·limit·set·by·[spawn_opt(fun(),<a·href="http://erlang.org/doc/man/erlang.html#spawn_opt-4">{fullsweep_after,·N}])</a>·where·N·is·the·number·of·young·garbage·collections·to·do·before·forcing·a·garbage·collection·of·both·young·and·old·heap.</p><h2·id="the-young-heap"·class="section-heading">164 <p>In·addition·to·the·collection·algorithm·described·above,·the·Erlang·garbage·collector·also·provides·generational·garbage·collection.·An·additional·heap,·called·the·old·heap,·is·used·where·the·long·lived·data·is·stored.·The·original·heap·is·called·the·young·heap,·or·sometimes·the·allocation·heap.</p><p>With·this·in·mind·we·can·look·at·the·Erlang's·garbage·collection·again.·During·the·copy·stage·anything·that·should·be·copied·to·the·young·<em>to·space</em>·is·instead·copied·to·the·old·<em>to·space</em>·<em>if</em>·it·is·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L1127">below·the·<em>high-watermark</em></a>.</p><p><img·src="assets/gc-watermark.png"·alt="Garbage·collection:·heap·scan"/></p><p>The·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_process.h#L1021"><em>high-watermark</em></a>·is·placed·where·the·previous·garbage·collection·(described·in·<a·href="#overview">Overview</a>)·ended·and·we·have·introduced·a·new·area·called·the·old·heap.·When·doing·the·normal·garbage·collection·pass,·any·term·that·is·located·below·the·high-watermark·is·copied·to·the·old·<em>to·space</em>·instead·of·the·young.</p><p><img·src="assets/gc-watermark-2.png"·alt="Garbage·collection:·heap·scan"/></p><p>In·the·next·garbage·collection,·any·pointers·to·the·old·heap·will·be·ignored·and·not·scanned.·This·way·the·garbage·collector·does·not·have·to·scan·the·long-lived·terms.</p><p>Generational·garbage·collection·aims·to·increase·performance·at·the·expense·of·memory.·This·is·achieved·because·only·the·young,·smaller,·heap·is·considered·in·most·garbage·collections.</p><p>The·generational·hypothesis·predicts·that·most·terms·tend·to·die·young·(see·D.·Ungar·in·<a·href="#references">References</a>),·and·for·an·immutable·language·such·as·Erlang,·young·terms·die·even·faster·than·in·other·languages.·So·for·most·usage·patterns·the·data·in·the·new·heap·will·die·very·soon·after·it·is·allocated.·This·is·good·because·it·limits·the·amount·of·data·copied·to·the·old·heap·and·also·because·the·garbage·collection·algorithm·used·is·proportional·to·the·amount·of·live·data·on·the·heap.</p><p>One·critical·issue·to·note·here·is·that·any·term·on·the·young·heap·can·reference·terms·on·the·old·heap·but·<em>no</em>·term·on·the·old·heap·may·refer·to·a·term·on·the·young·heap.·This·is·due·to·the·nature·of·the·copy·algorithm.·Anything·referenced·by·an·old·heap·term·is·not·included·in·the·reference·tree,·root-set·and·its·followers,·and·hence·is·not·copied.·If·it·was,·the·data·would·be·lost,·fire·and·brimstone·would·rise·to·cover·the·earth.·Fortunately,·this·comes·naturally·for·Erlang·because·the·terms·are·immutable·and·thus·there·can·be·no·pointers·modified·on·the·old·heap·to·point·to·the·young·heap.</p><p>To·reclaim·data·from·the·old·heap,·both·young·and·old·heaps·are·included·during·the·collection·and·copied·to·a·common·<em>to·space</em>.·Both·the·<em>from·space</em>·of·the·young·and·old·heap·are·then·deallocated·and·the·procedure·will·start·over·from·the·beginning.·This·type·of·garbage·collection·is·called·a·full·sweep·and·is·triggered·when·the·size·of·the·area·under·the·high-watermark·is·larger·than·the·size·of·the·free·area·of·the·old·heap.·It·can·also·be·triggered·by·doing·a·manual·call·to·<a·href="http://erlang.org/doc/man/erlang.html#garbage_collect-0">erlang:garbage_collect()</a>,·or·by·running·into·the·young·garbage·collection·limit·set·by·[spawn_opt(fun(),<a·href="http://erlang.org/doc/man/erlang.html#spawn_opt-4">{fullsweep_after,·N}])</a>·where·N·is·the·number·of·young·garbage·collections·to·do·before·forcing·a·garbage·collection·of·both·young·and·old·heap.</p><h2·id="the-young-heap"·class="section-heading">
165 ··<a·href="#the-young-heap"·class="hover-link">165 ··<a·href="#the-young-heap"·class="hover-link">
Offset 175, 19 lines modifiedOffset 175, 19 lines modified
175 </h2>175 </h2>
176 <p>As·mentioned·in·the·Overview·the·size·of·the·heap·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L247">grows</a>·to·accommodate·more·data.·Heaps·grow·in·two·stages,·first·a·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L199-L208">variation·of·the·Fibonacci·sequence</a>·is·used·starting·at·233·words.·Then·at·about·1·mega·words·the·heap·only·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L215-L227">grows·in·20%·increments</a>.</p><p>There·are·two·occasions·when·the·young·heap·grows:</p><ul><li>if·the·total·size·of·the·heap·+·message·and·heap·fragments·exceeds·the·current·heap·size.</li><li>if·after·a·fullsweep,·the·total·amount·of·live·objects·is·greater·than·75%.</li></ul><p>There·are·two·occasions·when·the·young·heap·is·shrunk:</p><ul><li>if·after·a·young·collection,·the·total·amount·of·live·objects·is·less·than·25%·of·the·heap·and·the·young·heap·is·&quot;big&quot;</li><li>if·after·a·fullsweep,·the·total·amount·of·live·objects·is·less·than·25%·of·the·heap.</li></ul><p>The·old·heap·is·always·one·step·ahead·in·the·heap·growth·stages·than·the·young·heap.</p><h2·id="literals"·class="section-heading">176 <p>As·mentioned·in·the·Overview·the·size·of·the·heap·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L247">grows</a>·to·accommodate·more·data.·Heaps·grow·in·two·stages,·first·a·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L199-L208">variation·of·the·Fibonacci·sequence</a>·is·used·starting·at·233·words.·Then·at·about·1·mega·words·the·heap·only·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L215-L227">grows·in·20%·increments</a>.</p><p>There·are·two·occasions·when·the·young·heap·grows:</p><ul><li>if·the·total·size·of·the·heap·+·message·and·heap·fragments·exceeds·the·current·heap·size.</li><li>if·after·a·fullsweep,·the·total·amount·of·live·objects·is·greater·than·75%.</li></ul><p>There·are·two·occasions·when·the·young·heap·is·shrunk:</p><ul><li>if·after·a·young·collection,·the·total·amount·of·live·objects·is·less·than·25%·of·the·heap·and·the·young·heap·is·&quot;big&quot;</li><li>if·after·a·fullsweep,·the·total·amount·of·live·objects·is·less·than·25%·of·the·heap.</li></ul><p>The·old·heap·is·always·one·step·ahead·in·the·heap·growth·stages·than·the·young·heap.</p><h2·id="literals"·class="section-heading">
177 ··<a·href="#literals"·class="hover-link">177 ··<a·href="#literals"·class="hover-link">
178 ····<i·class="ri-link-m"·aria-hidden="true"></i>178 ····<i·class="ri-link-m"·aria-hidden="true"></i>
179 ··</a>179 ··</a>
180 ··<span·class="text">Literals</span>180 ··<span·class="text">Literals</span>
181 </h2>181 </h2>
182 <p>When·garbage·collecting·a·heap·(young·or·old)·all·literals·are·left·in·place·and·not·copied.·To·figure·out·if·a·term·should·be·copied·or·not·when·doing·a·garbage·collection·the·following·pseudo·code·is·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">if</span><span·class="w">·</span><span·class="p"·data-group-id="8534893235-1">(</span><span·class="nf">erts_is_literal</span><span·class="p"·data-group-id="8534893235-2">(</span><span·class="ss">ptr</span><span·class="p"·data-group-id="8534893235-2">)</span><span·class="w">·</span><span·class="p">||</span><span·class="[·...·truncated·by·diffoscope;·len:·541,·SHA:·700490933febbf7c93196e585acb8a124f0fe2686b7597c0393515da8706d76e·...·]-5">{</span><span·class="w">182 <p>When·garbage·collecting·a·heap·(young·or·old)·all·literals·are·left·in·place·and·not·copied.·To·figure·out·if·a·term·should·be·copied·or·not·when·doing·a·garbage·collection·the·following·pseudo·code·is·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">if</span><span·class="w">·</span><span·class="p"·data-group-id="1398992094-1">(</span><span·class="nf">erts_is_literal</span><span·class="p"·data-group-id="1398992094-2">(</span><span·class="ss">ptr</span><span·class="p"·data-group-id="1398992094-2">)</span><span·class="w">·</span><span·class="p">||</span><span·class="[·...·truncated·by·diffoscope;·len:·541,·SHA:·44db10031a5f4bd13f212599a7559fe4a2c4a165156b213d359a753b3402b7f2·...·]-5">{</span><span·class="w">
183 ··</span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="ss">literal</span><span·class="w">·</span><span·class="ow">or</span><span·class="w">·</span><span·class="ss">non</span><span·class="w">·</span><span·class="ss">fullsweep</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="ss">do</span><span·class="w">·</span><span·class="ow">not</span><span·class="w">·</span><span·class="ss">copy</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">183 ··</span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="ss">literal</span><span·class="w">·</span><span·class="ow">or</span><span·class="w">·</span><span·class="ss">non</span><span·class="w">·</span><span·class="ss">fullsweep</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="ss">do</span><span·class="w">·</span><span·class="ow">not</span><span·class="w">·</span><span·class="ss">copy</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">
184 </span><span·class="p"·data-group-id="8534893235-5">}</span><span·class="w">·</span><span·class="k">else</span><span·class="w">·</span><span·class="p"·data-group-id="8534893235-6">{</span><span·class="w">184 </span><span·class="p"·data-group-id="1398992094-5">}</span><span·class="w">·</span><span·class="k">else</span><span·class="w">·</span><span·class="p"·data-group-id="1398992094-6">{</span><span·class="w">
185 ··</span><span·class="nf">copy</span><span·class="p"·data-group-id="8534893235-7">(</span><span·class="ss">ptr</span><span·class="p"·data-group-id="8534893235-7">)</span><span·class="p">;</span><span·class="w">185 ··</span><span·class="nf">copy</span><span·class="p"·data-group-id="1398992094-7">(</span><span·class="ss">ptr</span><span·class="p"·data-group-id="1398992094-7">)</span><span·class="p">;</span><span·class="w">
186 </span><span·class="p"·data-group-id="8534893235-6">}</span></code></pre><p>The·<a·href="https://github.com/erlang/otp/blob/OTP-19.0/erts/emulator/beam/global.h#L1452-L1465"><code·class="inline">erts_is_literal</code></a>·check·works·differently·on·different·architectures·and·operating·systems.</p><p>On·64·bit·systems·that·allow·mapping·of·unreserved·virtual·memory·areas·(most·operating·systems·except·Windows),·an·area·of·size·1·GB·(by·default)·is·mapped·and·then·all·literals·are·placed·within·that·area.·Then·all·that·has·to·be·done·to·determine·if·something·is·a·literal·or·not·is·<a·href="https://github.com/erlang/otp/blob/OTP-19.0/erts/emulator/beam/erl_alloc.h#L322-L324">two·quick·pointer·checks</a>.·This·system·relies·on·the·fact·that·a·memory·page·that·has·not·been·touched·yet·does·not·take·any·actual·space.·So·even·if·1·GB·of·virtual·memory·is·mapped,·only·the·memory·which·is·actually·needed·for·literals·is·allocated·in·ram.·The·size·of·the·literal·area·is·configurable·through·the·+MIscs·erts_alloc·option.</p><p>On·32·bit·systems,·there·is·not·enough·virtual·memory·space·to·allocate·1·GB·for·just·literals,·so·instead·small·256·KB·sized·literal·regions·are·created·on·demand·and·a·card·mark·bit-array·of·the·entire·32·bit·memory·space·is·then·used·to·determine·if·a·term·is·a·literal·or·not.·Since·the·total·memory·space·is·only·32·bits,·the·card·mark·bit-array·is·only·256·words·large.·On·a·64·bit·system·the·same·bit-array·would·have·to·be·1·tera·words·large,·so·this·technique·is·only·viable·on·32·bit·systems.·Doing·<a·href="https://github.com/erlang/otp/blob/OTP-19.0/erts/emulator/beam/erl_alloc.h#L316-L319">lookups·in·the·array</a>·is·a·little·more·expensive·then·just·doing·the·pointer·checks·that·can·be·done·in·64·bit·systems,·but·not·extremely·so.</p><p>On·64·bit·windows,·on·which·erts_alloc·cannot·do·unreserved·virtual·memory·mappings,·a·<a·href="https://github.com/erlang/otp/blob/OTP-19.0/erts/emulator/beam/erl_term.h#L59">special·tag</a>·within·the·Erlang·term·object·is·used·to·determine·if·something·<a·href="https://github.com/erlang/otp/blob/OTP-19.0/erts/emulator/beam/erl_term.h#L248-L252">is·a·literal·or·not</a>.·This·is·very·cheap,·however,·the·tag·is·only·available·on·64·bit·machines,·and·it·is·possible·to·do·a·great·deal·of·other·nice·optimizations·with·this·tag·in·the·future·(like·for·instance·a·more·compact·list·implementation)·so·it·is·not·used·on·operating·systems·where·it·is·not·needed.</p><p>This·behaviour·is·different·from·how·it·worked·prior·to·Erlang/OTP·19.0.·Before·19.0·the·literal·check·was·done·by·checking·if·the·pointer·pointed·to·the·young·or·old·heap·block.·If·it·did·not,·then·it·was·considered·a·literal.·This·lead·to·considerable·overhead·and·strange·memory·usage·scenarios,·so·it·was·removed·in·19.0.</p><h2·id="binary-heap"·class="section-heading">186 </span><span·class="p"·data-group-id="1398992094-6">}</span></code></pre><p>The·<a·href="https://github.com/erlang/otp/blob/OTP-19.0/erts/emulator/beam/global.h#L1452-L1465"><code·class="inline">erts_is_literal</code></a>·check·works·differently·on·different·architectures·and·operating·systems.</p><p>On·64·bit·systems·that·allow·mapping·of·unreserved·virtual·memory·areas·(most·operating·systems·except·Windows),·an·area·of·size·1·GB·(by·default)·is·mapped·and·then·all·literals·are·placed·within·that·area.·Then·all·that·has·to·be·done·to·determine·if·something·is·a·literal·or·not·is·<a·href="https://github.com/erlang/otp/blob/OTP-19.0/erts/emulator/beam/erl_alloc.h#L322-L324">two·quick·pointer·checks</a>.·This·system·relies·on·the·fact·that·a·memory·page·that·has·not·been·touched·yet·does·not·take·any·actual·space.·So·even·if·1·GB·of·virtual·memory·is·mapped,·only·the·memory·which·is·actually·needed·for·literals·is·allocated·in·ram.·The·size·of·the·literal·area·is·configurable·through·the·+MIscs·erts_alloc·option.</p><p>On·32·bit·systems,·there·is·not·enough·virtual·memory·space·to·allocate·1·GB·for·just·literals,·so·instead·small·256·KB·sized·literal·regions·are·created·on·demand·and·a·card·mark·bit-array·of·the·entire·32·bit·memory·space·is·then·used·to·determine·if·a·term·is·a·literal·or·not.·Since·the·total·memory·space·is·only·32·bits,·the·card·mark·bit-array·is·only·256·words·large.·On·a·64·bit·system·the·same·bit-array·would·have·to·be·1·tera·words·large,·so·this·technique·is·only·viable·on·32·bit·systems.·Doing·<a·href="https://github.com/erlang/otp/blob/OTP-19.0/erts/emulator/beam/erl_alloc.h#L316-L319">lookups·in·the·array</a>·is·a·little·more·expensive·then·just·doing·the·pointer·checks·that·can·be·done·in·64·bit·systems,·but·not·extremely·so.</p><p>On·64·bit·windows,·on·which·erts_alloc·cannot·do·unreserved·virtual·memory·mappings,·a·<a·href="https://github.com/erlang/otp/blob/OTP-19.0/erts/emulator/beam/erl_term.h#L59">special·tag</a>·within·the·Erlang·term·object·is·used·to·determine·if·something·<a·href="https://github.com/erlang/otp/blob/OTP-19.0/erts/emulator/beam/erl_term.h#L248-L252">is·a·literal·or·not</a>.·This·is·very·cheap,·however,·the·tag·is·only·available·on·64·bit·machines,·and·it·is·possible·to·do·a·great·deal·of·other·nice·optimizations·with·this·tag·in·the·future·(like·for·instance·a·more·compact·list·implementation)·so·it·is·not·used·on·operating·systems·where·it·is·not·needed.</p><p>This·behaviour·is·different·from·how·it·worked·prior·to·Erlang/OTP·19.0.·Before·19.0·the·literal·check·was·done·by·checking·if·the·pointer·pointed·to·the·young·or·old·heap·block.·If·it·did·not,·then·it·was·considered·a·literal.·This·lead·to·considerable·overhead·and·strange·memory·usage·scenarios,·so·it·was·removed·in·19.0.</p><h2·id="binary-heap"·class="section-heading">
187 ··<a·href="#binary-heap"·class="hover-link">187 ··<a·href="#binary-heap"·class="hover-link">
188 ····<i·class="ri-link-m"·aria-hidden="true"></i>188 ····<i·class="ri-link-m"·aria-hidden="true"></i>
189 ··</a>189 ··</a>
190 ··<span·class="text">Binary·heap</span>190 ··<span·class="text">Binary·heap</span>
191 </h2>191 </h2>
192 <p>The·binary·heap·works·as·a·large·object·space·for·binary·terms·that·are·greater·than·64·bytes·(from·now·on·called·off-heap·binaries).·The·binary·heap·is·<a·href="https://en.wikipedia.org/wiki/Reference_counting">reference·counted</a>·and·a·pointer·to·the·off-heap·binary·is·stored·on·the·process·heap.·To·keep·track·of·when·to·decrement·the·reference·counter·of·the·off-heap·binary,·a·linked·list·(the·MSO·-·mark·and·sweep·object·list)·containing·funs·and·externals·as·well·as·off-heap·binaries·is·woven·through·the·heap.·After·a·garbage·collection·is·done,·the·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L2299">MSO·list·is·swept</a>·and·any·off-heap·binary·that·does·not·have·a·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L2325">move·marker</a>·written·into·the·header·words·has·its·reference·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L2344-L2367">decremented·and·is·potentially·freed</a>.</p><p>All·items·in·the·MSO·list·are·ordered·by·the·time·they·were·added·to·the·process·heap,·so·when·doing·a·minor·garbage·collection,·the·MSO·sweeper·only·has·to·sweep·until·it·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L2369">encounters·an·off-heap·binary·that·is·on·the·old·heap</a>.</p><h3·id="virtual-binary-heap"·class="section-heading">192 <p>The·binary·heap·works·as·a·large·object·space·for·binary·terms·that·are·greater·than·64·bytes·(from·now·on·called·off-heap·binaries).·The·binary·heap·is·<a·href="https://en.wikipedia.org/wiki/Reference_counting">reference·counted</a>·and·a·pointer·to·the·off-heap·binary·is·stored·on·the·process·heap.·To·keep·track·of·when·to·decrement·the·reference·counter·of·the·off-heap·binary,·a·linked·list·(the·MSO·-·mark·and·sweep·object·list)·containing·funs·and·externals·as·well·as·off-heap·binaries·is·woven·through·the·heap.·After·a·garbage·collection·is·done,·the·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L2299">MSO·list·is·swept</a>·and·any·off-heap·binary·that·does·not·have·a·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L2325">move·marker</a>·written·into·the·header·words·has·its·reference·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L2344-L2367">decremented·and·is·potentially·freed</a>.</p><p>All·items·in·the·MSO·list·are·ordered·by·the·time·they·were·added·to·the·process·heap,·so·when·doing·a·minor·garbage·collection,·the·MSO·sweeper·only·has·to·sweep·until·it·<a·href="https://github.com/erlang/otp/blob/OTP-18.0/erts/emulator/beam/erl_gc.c#L2369">encounters·an·off-heap·binary·that·is·on·the·old·heap</a>.</p><h3·id="virtual-binary-heap"·class="section-heading">
193 ··<a·href="#virtual-binary-heap"·class="hover-link">193 ··<a·href="#virtual-binary-heap"·class="hover-link">
Offset 262, 15 lines modifiedOffset 262, 15 lines modified
262 ······<p·class="built-using">262 ······<p·class="built-using">
263 ········Built·using263 ········Built·using
264 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the264 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
265 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>265 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
266 ······</p>266 ······</p>
267 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>267 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
268 ····</footer>268 ····</footer>
269 ··</div>269 ··</div>
270 </main>270 </main>
271 </div>271 </div>
272 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>272 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
273 ··<script>273 ··<script>
274 ··let·initialized·=·false;274 ··let·initialized·=·false;
678 B
html2text {}
Max HTML report size reached
46.1 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/inet_cfg.html
    
Offset 161, 108 lines modifiedOffset 161, 108 lines modified
161 configuration·files·(or·system·registry):</p><ul><li>Hostnames·and·host·addresses</li><li>Domain·name</li><li>Nameservers</li><li>Search·domains</li><li>Lookup·method</li></ul><p>This·data·can·also·be·specified·explicitly·in·the·user·configuration·file.·This161 configuration·files·(or·system·registry):</p><ul><li>Hostnames·and·host·addresses</li><li>Domain·name</li><li>Nameservers</li><li>Search·domains</li><li>Lookup·method</li></ul><p>This·data·can·also·be·specified·explicitly·in·the·user·configuration·file.·This
162 file·is·to·contain·lines·of·configuration·parameters·(each·terminated·with·a162 file·is·to·contain·lines·of·configuration·parameters·(each·terminated·with·a
163 full·stop).·Some·parameters·add·data·to·the·configuration·(such·as·host·and163 full·stop).·Some·parameters·add·data·to·the·configuration·(such·as·host·and
164 nameserver),·others·overwrite·any·previous·settings·(such·as·domain·and·lookup).164 nameserver),·others·overwrite·any·previous·settings·(such·as·domain·and·lookup).
165 The·user·configuration·file·is·always·examined·last·in·the·configuration165 The·user·configuration·file·is·always·examined·last·in·the·configuration
166 process,·making·it·possible·for·the·user·to·override·any·default·values·or166 process,·making·it·possible·for·the·user·to·override·any·default·values·or
167 previously·made·settings.·Call·<code·class="inline">inet:get_rc()</code>·to·view·the·state·of·the·<code·class="inline">inet</code>167 previously·made·settings.·Call·<code·class="inline">inet:get_rc()</code>·to·view·the·state·of·the·<code·class="inline">inet</code>
168 configuration·database.</p><p>The·valid·configuration·parameters·are·as·follows:</p><ul><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8476222527-1">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Format</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-group-id="8476222527-1">}</span><span·class="p">.</span><span·class="w">168 configuration·database.</p><p>The·valid·configuration·parameters·are·as·follows:</p><ul><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6776198401-1">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Format</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-group-id="6776198401-1">}</span><span·class="p">.</span><span·class="w">
169 ··</span><span·class="n">Format</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="8476222527-2">(</span><span·class="p"·data-group-id="8476222527-2">)</span><span·class="w">169 ··</span><span·class="n">Format</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="6776198401-2">(</span><span·class="p"·data-group-id="6776198401-2">)</span><span·class="w">
170 ··</span><span·class="n">File</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="8476222527-3">(</span><span·class="p"·data-group-id="8476222527-3">)</span></code></pre><p>Specify·a·system·file·that·Erlang·is·to·read·configuration·data·from.·<code·class="inline">Format</code>170 ··</span><span·class="n">File</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="6776198401-3">(</span><span·class="p"·data-group-id="6776198401-3">)</span></code></pre><p>Specify·a·system·file·that·Erlang·is·to·read·configuration·data·from.·<code·class="inline">Format</code>
171 tells·the·parser·how·the·file·is·to·be·interpreted:</p><ul><li><code·class="inline">resolv</code>·(Unix·resolv.conf)</li><li><code·class="inline">host_conf_freebsd</code>·(FreeBSD·host.conf)</li><li><code·class="inline">host_conf_bsdos</code>·(BSDOS·host.conf)</li><li><code·class="inline">host_conf_linux</code>·(Linux·host.conf)</li><li><code·class="inline">nsswitch_conf</code>·(Unix·nsswitch.conf)</li><li><code·class="inline">hosts</code>·(Unix·hosts)</li></ul><p><code·class="inline">File</code>·is·to·specify·the·filename·with·full·path.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5105666282-1">{</span><span·class="ss">resolv_conf</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-group-id="5105666282-1">}</span><span·class="p">.</span><span·class="w">171 tells·the·parser·how·the·file·is·to·be·interpreted:</p><ul><li><code·class="inline">resolv</code>·(Unix·resolv.conf)</li><li><code·class="inline">host_conf_freebsd</code>·(FreeBSD·host.conf)</li><li><code·class="inline">host_conf_bsdos</code>·(BSDOS·host.conf)</li><li><code·class="inline">host_conf_linux</code>·(Linux·host.conf)</li><li><code·class="inline">nsswitch_conf</code>·(Unix·nsswitch.conf)</li><li><code·class="inline">hosts</code>·(Unix·hosts)</li></ul><p><code·class="inline">File</code>·is·to·specify·the·filename·with·full·path.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1265700073-1">{</span><span·class="ss">resolv_conf</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-group-id="1265700073-1">}</span><span·class="p">.</span><span·class="w">
172 ··</span><span·class="n">File</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="5105666282-2">(</span><span·class="p"·data-group-id="5105666282-2">)</span></code></pre><p>Specify·a·system·file·that·Erlang·is·to·read·resolver·configuration·from·for172 ··</span><span·class="n">File</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="1265700073-2">(</span><span·class="p"·data-group-id="1265700073-2">)</span></code></pre><p>Specify·a·system·file·that·Erlang·is·to·read·resolver·configuration·from·for
173 the·internal·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>,·and·monitor·for·changes,·even·if·it·does173 the·internal·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>,·and·monitor·for·changes,·even·if·it·does
174 not·exist.·The·path·must·be·absolute.</p><p>This·can·override·the·configuration·parameters·<code·class="inline">nameserver</code>·and·<code·class="inline">search</code>174 not·exist.·The·path·must·be·absolute.</p><p>This·can·override·the·configuration·parameters·<code·class="inline">nameserver</code>·and·<code·class="inline">search</code>
175 depending·on·the·contents·of·the·specified·file.·They·can·also·change·any·time175 depending·on·the·contents·of·the·specified·file.·They·can·also·change·any·time
176 in·the·future·reflecting·the·file·contents.</p><p>If·the·file·is·specified·as·an·empty·string·<code·class="inline">&quot;&quot;</code>,·no·file·is·read·or·monitored176 in·the·future·reflecting·the·file·contents.</p><p>If·the·file·is·specified·as·an·empty·string·<code·class="inline">&quot;&quot;</code>,·no·file·is·read·or·monitored
177 in·the·future.·This·emulates·the·old·behavior·of·not·configuring·the·DNS177 in·the·future.·This·emulates·the·old·behavior·of·not·configuring·the·DNS
178 client·when·the·node·is·started·in·short·name·distributed·mode.</p><p>If·this·parameter·is·not·specified,·it·defaults·to·<code·class="inline">/etc/resolv.conf</code>·unless178 client·when·the·node·is·started·in·short·name·distributed·mode.</p><p>If·this·parameter·is·not·specified,·it·defaults·to·<code·class="inline">/etc/resolv.conf</code>·unless
179 environment·variable·<code·class="inline">ERL_INET_ETC_DIR</code>·is·set,·which·defines·the·directory179 environment·variable·<code·class="inline">ERL_INET_ETC_DIR</code>·is·set,·which·defines·the·directory
180 for·this·file·to·some·maybe·other·than·<code·class="inline">/etc</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8787331528-1">{</span><span·class="ss">hosts_file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-group-id="8787331528-1">}</span><span·class="p">.</span><span·class="w">180 for·this·file·to·some·maybe·other·than·<code·class="inline">/etc</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8625094234-1">{</span><span·class="ss">hosts_file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-group-id="8625094234-1">}</span><span·class="p">.</span><span·class="w">
181 ··</span><span·class="n">File</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="8787331528-2">(</span><span·class="p"·data-group-id="8787331528-2">)</span></code></pre><p>Specify·a·system·file·that·Erlang·is·to·read·resolver·configuration·from·for181 ··</span><span·class="n">File</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="8625094234-2">(</span><span·class="p"·data-group-id="8625094234-2">)</span></code></pre><p>Specify·a·system·file·that·Erlang·is·to·read·resolver·configuration·from·for
182 the·internal·hosts·file·resolver,·and·monitor·for·changes,·even·if·it·does·not182 the·internal·hosts·file·resolver,·and·monitor·for·changes,·even·if·it·does·not
183 exist.·The·path·must·be·absolute.</p><p>These·host·entries·are·searched·after·all·added·with·<code·class="inline">{file,·hosts,·File}</code>183 exist.·The·path·must·be·absolute.</p><p>These·host·entries·are·searched·after·all·added·with·<code·class="inline">{file,·hosts,·File}</code>
184 above·or·<code·class="inline">{host,·IP,·Aliases}</code>·below·when·lookup·option·<code·class="inline">file</code>·is·used.</p><p>If·the·file·is·specified·as·an·empty·string·<code·class="inline">&quot;&quot;</code>,·no·file·is·read·or·monitored184 above·or·<code·class="inline">{host,·IP,·Aliases}</code>·below·when·lookup·option·<code·class="inline">file</code>·is·used.</p><p>If·the·file·is·specified·as·an·empty·string·<code·class="inline">&quot;&quot;</code>,·no·file·is·read·or·monitored
185 in·the·future.·This·emulates·the·old·behavior·of·not·configuring·the·DNS185 in·the·future.·This·emulates·the·old·behavior·of·not·configuring·the·DNS
186 client·when·the·node·is·started·in·short·name·distributed·mode.</p><p>If·this·parameter·is·not·specified,·it·defaults·to·<code·class="inline">/etc/hosts</code>·unless186 client·when·the·node·is·started·in·short·name·distributed·mode.</p><p>If·this·parameter·is·not·specified,·it·defaults·to·<code·class="inline">/etc/hosts</code>·unless
187 environment·variable·<code·class="inline">ERL_INET_ETC_DIR</code>·is·set,·which·defines·the·directory187 environment·variable·<code·class="inline">ERL_INET_ETC_DIR</code>·is·set,·which·defines·the·directory
188 for·this·file·to·some·maybe·other·than·<code·class="inline">/etc</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7412023905-1">{</span><span·class="ss">registry</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type</span><span·class="p"·data-group-id="7412023905-1">}</span><span·class="p">.</span><span·class="w">188 for·this·file·to·some·maybe·other·than·<code·class="inline">/etc</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8423080490-1">{</span><span·class="ss">registry</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type</span><span·class="p"·data-group-id="8423080490-1">}</span><span·class="p">.</span><span·class="w">
189 ··</span><span·class="n">Type</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="7412023905-2">(</span><span·class="p"·data-group-id="7412023905-2">)</span></code></pre><p>Specify·a·system·registry·that·Erlang·is·to·read·configuration·data·from.189 ··</span><span·class="n">Type</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="8423080490-2">(</span><span·class="p"·data-group-id="8423080490-2">)</span></code></pre><p>Specify·a·system·registry·that·Erlang·is·to·read·configuration·data·from.
190 <code·class="inline">win32</code>·is·the·only·valid·option.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5952260704-1">{</span><span·class="ss">host</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IP</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Aliases</span><span·class="p"·data-group-id="5952260704-1">}</span><span·class="p">.</span><span·class="w">190 <code·class="inline">win32</code>·is·the·only·valid·option.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7149869574-1">{</span><span·class="ss">host</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IP</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Aliases</span><span·class="p"·data-group-id="7149869574-1">}</span><span·class="p">.</span><span·class="w">
191 ··</span><span·class="n">IP</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">tuple</span><span·class="p"·data-group-id="5952260704-2">(</span><span·class="p"·data-group-id="5952260704-2">)</span></code></pre><p><code·class="inline">Aliases·=·[string()]</code></p><p>Add·host·entry·to·the·hosts·table.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5683331878-1">{</span><span·class="ss">domain</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Domain</span><span·class="p"·data-group-id="5683331878-1">}</span><span·class="p">.</span><span·class="w"> 
192 ··</span><span·class="n">Domain</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="5683331878-2">(</span><span·class="p"·data-group-id="5683331878-2">)</span></code></pre><p>Set·domain·name.</p[·...·truncated·by·diffoscope;·len:·440,·SHA:·d17d3ce247f02c072ce1c2e75143fcbfbf7509494527e71bb7948c41ec4c2ad0·...·]-1">}</span><span·class="p">.</span><span·class="w">191 ··</span><span·class="n">IP</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">tuple</span><span·class="p"·data-group-id="7149869574-2">(</span><span·class="p"·data-group-id="7149869574-2">)</span></code></pre><p><code·class="inline">Ali[·...·truncated·by·diffoscope;·len:·327,·SHA:·18eb031f0d1302238024090a33eb303949ee1a3691318b7a609a505d41330c21·...·]-1">}</span><span·class="p">.</span><span·class="w">
 192 ··</span><span·class="n">Domain</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="6085415776-2">(</span><span·class="p"·data-group-id="6085415776-2">)</span></code></pre><p>Set·domain·name.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2194637297-1">{</span><span·class="ss">nameserver</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IP</span><span·class="w">·</span><span·class="p"·data-group-id="2194637297-2">[</span><span·class="p">,</span><span·class="n">Port</span><span·class="p"·data-group-id="2194637297-2">]</span><span·class="p"·data-group-id="2194637297-1">}</span><span·class="p">.</span><span·class="w">
193 ··</span><span·class="n">IP</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">tuple</span><span·class="p"·data-group-id="2531159592-3">(</span><span·class="p"·data-group-id="2531159592-3">)</span><span·class="w">193 ··</span><span·class="n">IP</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">tuple</span><span·class="p"·data-group-id="2194637297-3">(</span><span·class="p"·data-group-id="2194637297-3">)</span><span·class="w">
194 ··</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2531159592-4">(</span><span·class="p"·data-group-id="2531159592-4">)</span></code></pre><p>Add·address·(and·port,·if·other·than·default)·of·the·primary·nameserver·to·use194 ··</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2194637297-4">(</span><span·class="p"·data-group-id="2194637297-4">)</span></code></pre><p>Add·address·(and·port,·if·other·than·default)·of·the·primary·nameserver·to·use
195 for·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6033089312-1">{</span><span·class="ss">alt_nameserver</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IP</span><span·class="w">·</span><span·class="p"·data-group-id="6033089312-2">[</span><span·class="p">,</span><span·class="n">Port</[·...·truncated·by·diffoscope;·len:·99,·SHA:·fff705545d67fb2d14641de5723369ebbb1d4c4a5f2c29c5a764ad95e44d36be·...·]-1">}</span><span·class="p">.</span><span·class="w">195 for·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7221402606-1">{</span><span·class="ss">alt_nameserver</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IP</span><span·class="w">·</span><span·class="p"·data-group-id="7221402606-2">[</span><span·class="p">,</span><span·class="n">Port</[·...·truncated·by·diffoscope;·len:·99,·SHA:·6728092a08f53be29ef79d0d4656939761cac6bab1bebc806824b75d3e76aa9e·...·]-1">}</span><span·class="p">.</span><span·class="w">
196 ··</span><span·class="n">IP</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">tuple</span><span·class="p"·data-group-id="6033089312-3">(</span><span·class="p"·data-group-id="6033089312-3">)</span><span·class="w">196 ··</span><span·class="n">IP</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">tuple</span><span·class="p"·data-group-id="7221402606-3">(</span><span·class="p"·data-group-id="7221402606-3">)</span><span·class="w">
197 ··</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6033089312-4">(</span><span·class="p"·data-group-id="6033089312-4">)</span></code></pre><p>Add·address·(and·port,·if·other·than·default)·of·the·secondary·nameserver·for197 ··</span><span·class="n">Port</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7221402606-4">(</span><span·class="p"·data-group-id="7221402606-4">)</span></code></pre><p>Add·address·(and·port,·if·other·than·default)·of·the·secondary·nameserver·for
198 <a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4683316815-1">{</span><span·class="ss">search</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Domains</span><span·class="p"·data-group-id="4683316815-1">}</span><span·class="p">.</span><span·class="w"> 
199 ··</span><span·class="n">Domains</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4683316815-2">[</span><span·class="nf">string</span><span·class="p"·data-group-id="4683316815-3">(</span><span·class="p"·data-group-id="4683316815-3">)</span><span·class="p"·data-group-id="4683316815-2">]</span></code></pre><p>Add·search·domains·for·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2055626343-1">{</span><span·class="ss">lookup</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Methods</span><span·class="p"·data-group-id="2055626343-1">}</span><span·class="p">.</span><span·class="w"> 
200 ··</span><span·class="n">Methods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2055626343-2">[</span><span·class="nf">atom</span><span·class="p"·data-group-id="2055626343-3">(</span><span·class[·...·truncated·by·diffoscope;·len:·187,·SHA:·a987d9d0135ea1087496e792d01d475527d31075eba61ea54bfd160461368da2·...·]198 <a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5952998512-1">{</span><span·class="ss">search</span><span·class="[·...·truncated·by·diffoscope;·len:·158,·SHA:·18b00e5798a7759793debb2da182c931f1c6a0d9f6c3dc768e9f813c43229571·...·]
 199 ··</span><span·class="n">Domains</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5952998512-2">[</span><span·class="nf">string</span><span·class="p"·data-group-id="5952998512-3">(</span><span·class="p"·data-group-id="5952998512-3">)</span><span·class="p"·data-group-id="5952998512-2">]</span></code></pre><p>Add·search·domains·for·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3204153394-1">{</span><span·class="ss">lookup</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Methods</span><span·class="p"·data-group-id="3204153394-1">}</span><span·class="p">.</span><span·class="w">
 200 ··</span><span·class="n">Methods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3204153394-2">[</span><span·class="nf">atom</span><span·class="p"·data-group-id="3204153394-3">(</span><span·class="p"·data-group-id="3204153394-3">)</span><span·class="p"·data-group-id="3204153394-2">]</span></code></pre><p>Specify·lookup·methods·and·in·which·order·to·try·them.·The·valid·methods·are
201 as·follows:</p><ul><li><code·class="inline">native</code>·(use·system·calls)</li><li><code·class="inline">file</code>·(use·host·data·retrieved·from·system·configuration·files·and/or·the201 as·follows:</p><ul><li><code·class="inline">native</code>·(use·system·calls)</li><li><code·class="inline">file</code>·(use·host·data·retrieved·from·system·configuration·files·and/or·the
202 user·configuration·file)</li><li><code·class="inline">dns</code>·(use·the·Erlang·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·for·nameserver·queries)</li></ul><p>The·lookup·method·<code·class="inline">string</code>·tries·to·parse·the·hostname·as·an·IPv4·or·IPv6202 user·configuration·file)</li><li><code·class="inline">dns</code>·(use·the·Erlang·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·for·nameserver·queries)</li></ul><p>The·lookup·method·<code·class="inline">string</code>·tries·to·parse·the·hostname·as·an·IPv4·or·IPv6
203 string·and·return·the·resulting·IP·address.·It·is·automatically·tried·first203 string·and·return·the·resulting·IP·address.·It·is·automatically·tried·first
204 when·<code·class="inline">native</code>·is·<em>not</em>·in·the·<code·class="inline">Methods</code>·list.·To·skip·it·in·this·case,·the204 when·<code·class="inline">native</code>·is·<em>not</em>·in·the·<code·class="inline">Methods</code>·list.·To·skip·it·in·this·case,·the
205 pseudo·lookup·method·<code·class="inline">nostring</code>·can·be·inserted·anywhere·in·the·<code·class="inline">Methods</code>205 pseudo·lookup·method·<code·class="inline">nostring</code>·can·be·inserted·anywhere·in·the·<code·class="inline">Methods</code>
206 list.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6993700643-1">{</span><span·class="ss">cache_size</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Size</span><span·class="p"·data-group-id="6993700643-1">}</span><span·class="p">.</span><span·class="w">206 list.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0006212093-1">{</span><span·class="ss">cache_size</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Size</span><span·class="p"·data-group-id="0006212093-1">}</span><span·class="p">.</span><span·class="w">
207 ··</span><span·class="n">Size</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6993700643-2">(</span><span·class="p"·data-group-id="6993700643-2">)</span></code></pre><p>Set·the·resolver·cache·size·for·<code·class="inline">dns</code>·lookups.·<code·class="inline">native</code>·lookups·are·not207 ··</span><span·class="n">Size</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0006212093-2">(</span><span·class="p"·data-group-id="0006212093-2">)</span></code></pre><p>Set·the·resolver·cache·size·for·<code·class="inline">dns</code>·lookups.·<code·class="inline">native</code>·lookups·are·not
208 cached.·Defaults·to·100·DNS·records.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7224737863-1">{</span><span·class="ss">cache_refresh</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Time</span><span·class="p"·data-group-id="7224737863-1">}</span><span·class="p">.</span><span·class="w">208 cached.·Defaults·to·100·DNS·records.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0550296173-1">{</span><span·class="ss">cache_refresh</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Time</span><span·class="p"·data-group-id="0550296173-1">}</span><span·class="p">.</span><span·class="w">
209 ··</span><span·class="n">Time</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7224737863-2">(</span><span·class="p"·data-group-id="7224737863-2">)</span></code></pre><p>Set·how·often·(in·milliseconds)·the·resolver·cache·for·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·is209 ··</span><span·class="n">Time</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0550296173-2">(</span><span·class="p"·data-group-id="0550296173-2">)</span></code></pre><p>Set·how·often·(in·milliseconds)·the·resolver·cache·for·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·is
210 refreshed·(that·is,·expired·DNS·records·are·deleted).·Defaults·to·1·hour.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5958911813-1">{</span><span·class="ss">timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Time</span><span·class="p"·data-group-id="5958911813-1">}</span><span·class="p">.</span><span·class="w">210 refreshed·(that·is,·expired·DNS·records·are·deleted).·Defaults·to·1·hour.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4545349918-1">{</span><span·class="ss">timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Time</span><span·class="p"·data-group-id="4545349918-1">}</span><span·class="p">.</span><span·class="w">
211 ··</span><span·class="n">Time</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5958911813-2">(</span><span·class="p"·data-group-id="5958911813-2">)</span></code></pre><p>Set·the·time·to·wait·until·retry·(in·milliseconds)·for·DNS·queries·made·by211 ··</span><span·class="n">Time</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4545349918-2">(</span><span·class="p"·data-group-id="4545349918-2">)</span></code></pre><p>Set·the·time·to·wait·until·retry·(in·milliseconds)·for·DNS·queries·made·by
212 <a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.·Defaults·to·2·seconds.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8084071951-1">{</span><span·class="ss">retry</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="8084071951-1">}</span><span·class="p">.</span><span·class="w">212 <a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>.·Defaults·to·2·seconds.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5830892334-1">{</span><span·class="ss">retry</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="5830892334-1">}</span><span·class="p">.</span><span·class="w">
213 ··</span><span·class="n">N</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8084071951-2">(</span><span·class="p"·data-group-id="8084071951-2">)</span></code></pre><p>Set·the·number·of·DNS·queries·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·will·try·before·giving·up.·Defaults213 ··</span><span·class="n">N</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5830892334-2">(</span><span·class="p"·data-group-id="5830892334-2">)</span></code></pre><p>Set·the·number·of·DNS·queries·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·will·try·before·giving·up.·Defaults
214 to·3.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6597468712-1">{</span><span·class="ss">servfail_retry_timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Time</span><span·class="p"·data-group-id="6597468712-1">}</span><span·class="p">.</span><span·class="w">214 to·3.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9699333942-1">{</span><span·class="ss">servfail_retry_timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Time</span><span·class="p"·data-group-id="9699333942-1">}</span><span·class="p">.</span><span·class="w">
215 ··</span><span·class="n">Time</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">non_neg_integer</span><span·class="p"·data-group-id="6597468712-2">(</span><span·class="p"·data-group-id="6597468712-2">)</span></code></pre><p>After·all·name·servers·have·been·tried,·there·is·a·timeout·before·the·name215 ··</span><span·class="n">Time</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">non_neg_integer</span><span·class="p"·data-group-id="9699333942-2">(</span><span·class="p"·data-group-id="9699333942-2">)</span></code></pre><p>After·all·name·servers·have·been·tried,·there·is·a·timeout·before·the·name
216 servers·are·tried·again.·This·is·to·prevent·the·server·from·answering·the216 servers·are·tried·again.·This·is·to·prevent·the·server·from·answering·the
217 query·with·what's·in·the·servfail·cache,217 query·with·what's·in·the·servfail·cache,
218 <a·href="../../../lib/kernel-10.3/doc/html/inet_res.html#servfail_retry_timeout"><code·class="inline">inet_res</code></a>.·Defaults·to·1500·milli218 <a·href="../../../lib/kernel-10.3/doc/html/inet_res.html#servfail_retry_timeout"><code·class="inline">inet_res</code></a>.·Defaults·to·1500·milli
219 seconds·.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5012362235-1">{</span><span·class="ss">inet6</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bool</span><span·class="p"·data-group-id="5012362235-1">}</span><span·class="p">.</span><span·class="w">219 seconds·.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3462469504-1">{</span><span·class="ss">inet6</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bool</span><span·class="p"·data-group-id="3462469504-1">}</span><span·class="p">.</span><span·class="w">
220 ··</span><span·class="n">Bool</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">false</span></code></pre><p>Tells·the·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·to·look·up·IPv6·addresses.·Defaults·to220 ··</span><span·class="n">Bool</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">false</span></code></pre><p>Tells·the·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·to·look·up·IPv6·addresses.·Defaults·to
221 <code·class="inline">false</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9859649137-1">{</span><span·class="ss">usevc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bool</span><span·class="p"·data-group-id="9859649137-1">}</span><span·class="p">.</span><span·class="w">221 <code·class="inline">false</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2458686490-1">{</span><span·class="ss">usevc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bool</span><span·class="p"·data-group-id="2458686490-1">}</span><span·class="p">.</span><span·class="w">
222 ··</span><span·class="n">Bool</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">false</span></code></pre><p>Tells·the·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·to·use·TCP·(Virtual·Circuit)·instead·of·UDP.222 ··</span><span·class="n">Bool</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">false</span></code></pre><p>Tells·the·DNS·client·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·to·use·TCP·(Virtual·Circuit)·instead·of·UDP.
223 Defaults·to·<code·class="inline">false</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1756488925-1">{</span><span·class="ss">edns</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Version</span><span·class="p"·data-group-id="1756488925-1">}</span><span·class="p">.</span><span·class="w">223 Defaults·to·<code·class="inline">false</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2207891187-1">{</span><span·class="ss">edns</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Version</span><span·class="p"·data-group-id="2207891187-1">}</span><span·class="p">.</span><span·class="w">
224 ··</span><span·class="n">Version</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="mi">0</span></code></pre><p>Sets·the·EDNS·version·that·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·will·use.·The·only·allowed·version·is224 ··</span><span·class="n">Version</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="mi">0</span></code></pre><p>Sets·the·EDNS·version·that·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·will·use.·The·only·allowed·version·is
225 zero.·Defaults·to·<code·class="inline">false</code>,·which·means·not·to·use·EDNS.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4979487863-1">{</span><span·class="ss">udp_payload_size</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Size</span><span·class="p"·data-group-id="4979487863-1">}</span><span·class="p">.</span><span·class="w">225 zero.·Defaults·to·<code·class="inline">false</code>,·which·means·not·to·use·EDNS.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7426941944-1">{</span><span·class="ss">udp_payload_size</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Size</span><span·class="p"·data-group-id="7426941944-1">}</span><span·class="p">.</span><span·class="w">
226 ··</span><span·class="n">N</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4979487863-2">(</span><span·class="p"·data-group-id="4979487863-2">)</span></code></pre><p>Sets·the·allowed·UDP·payload·size·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·will·advertise·in·EDNS·queries.226 ··</span><span·class="n">N</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7426941944-2">(</span><span·class="p"·data-group-id="7426941944-2">)</span></code></pre><p>Sets·the·allowed·UDP·payload·size·<a·href="../../../lib/kernel-10.3/doc/html/inet_res.html"><code·class="inline">inet_res</code></a>·will·advertise·in·EDNS·queries.
227 Also·sets·the·limit·when·the·DNS·query·will·be·deemed·too·large·for·UDP227 Also·sets·the·limit·when·the·DNS·query·will·be·deemed·too·large·for·UDP
228 forcing·a·TCP·query·instead;·this·is·not·entirely·correct,·as·the·advertised228 forcing·a·TCP·query·instead;·this·is·not·entirely·correct,·as·the·advertised
229 UDP·payload·size·of·the·individual·nameserver·is·what·is·to·be·used,·but·this229 UDP·payload·size·of·the·individual·nameserver·is·what·is·to·be·used,·but·this
230 simple·strategy·will·do·until·a·more·intelligent·(probing,·caching)·algorithm230 simple·strategy·will·do·until·a·more·intelligent·(probing,·caching)·algorithm
231 needs·to·be·implemented.·Default·to·1280,·which·stems·from·the·standard231 needs·to·be·implemented.·Default·to·1280,·which·stems·from·the·standard
232 Ethernet·MTU·size.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3421489928-1">{</span><span·class="ss">udp</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p"·data-group-id="3421489928-1">}</span><span·class="p">.</span><span·class="w">232 Ethernet·MTU·size.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7636297333-1">{</span><span·class="ss">udp</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p"·data-group-id="7636297333-1">}</span><span·class="p">.</span><span·class="w">
233 ··</span><span·class="n">Module</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="3421489928-2">(</span><span·class="p"·data-group-id="3421489928-2">)</span></code></pre><p>Tell·Erlang·to·use·another·primitive·UDP·module·than·<code·class="inline">inet_udp</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p[·...·truncated·by·diffoscope;·len:·184,·SHA:·15492e670cbb54de40b3a699f51cec16ed8136d1e2f7a983fc717b8275b2c997·...·]-1">}</span><span·class="p">.</span><span·class="w">233 ··</span><span·class="n">Module</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="7636297333-2">(</span><span·class="p"·data-group-id="7636297333-2">)</span></code></pre><p>Tell·Erlang·to·use·another·primitive·UDP·module·than·<code·class="inline">inet_udp</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="p[·...·truncated·by·diffoscope;·len:·184,·SHA:·dc2b17a17154f7057a183c83c16ce098b68c3a4926342173f20b90de7522e6d2·...·]-1">}</span><span·class="p">.</span><span·class="w">
234 ··</span><span·class="n">Module</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="4736266306-2">(</span><span·class="p"·data-group-id="4736266306-2">)</span></code></pre><p>Tell·Erlang·to·use·another·primitive·TCP·module·than·<code·class="inline">inet_tcp</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">clear_hosts</span><span·class="p">.</span></code></pre><p>Clear·the·hosts·table.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">clear_ns</span><span·class="p">.</span></code></pre><p>Clear·the·list·of·recorded·nameservers·(primary·and·secondary).</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">clear_search</span><span·class="p">.</span></code></pre><p>Clear·the·list·of·search·domains.</p></li></ul><h2·id="user-configuration-example"·class="section-heading">234 ··</span><span·class="n">Module</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="0007153795-2">(</span><span·class="p"·data-group-id="0007153795-2">)</span></code></pre><p>Tell·Erlang·to·use·another·primitive·TCP·module·than·<code·class="inline">inet_tcp</code>.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">clear_hosts</span><span·class="p">.</span></code></pre><p>Clear·the·hosts·table.</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">clear_ns</span><span·class="p">.</span></code></pre><p>Clear·the·list·of·recorded·nameservers·(primary·and·secondary).</p></li><li><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">clear_search</span><span·class="p">.</span></code></pre><p>Clear·the·list·of·search·domains.</p></li></ul><h2·id="user-configuration-example"·class="section-heading">
235 ··<a·href="#user-configuration-example"·class="hover-link">235 ··<a·href="#user-configuration-example"·class="hover-link">
236 ····<i·class="ri-link-m"·aria-hidden="true"></i>236 ····<i·class="ri-link-m"·aria-hidden="true"></i>
237 ··</a>237 ··</a>
238 ··<span·class="text">User·Configuration·Example</span>238 ··<span·class="text">User·Configuration·Example</span>
239 </h2>239 </h2>
240 <p>Assume·that·a·user·does·not·want·Erlang·to·use·the·native·lookup·method,·but240 <p>Assume·that·a·user·does·not·want·Erlang·to·use·the·native·lookup·method,·but
241 wants·Erlang·to·read·all·information·necessary·from·start·and·use·that·for241 wants·Erlang·to·read·all·information·necessary·from·start·and·use·that·for
242 resolving·names·and·addresses.·If·lookup·fails,·Erlang·is·to·request·the·data242 resolving·names·and·addresses.·If·lookup·fails,·Erlang·is·to·request·the·data
243 from·a·nameserver·(using·the·Erlang·DNS·client,·set·to·use·EDNS·allowing·larger243 from·a·nameserver·(using·the·Erlang·DNS·client,·set·to·use·EDNS·allowing·larger
244 responses).·The·resolver·configuration·is·updated·when·its·configuration·file244 responses).·The·resolver·configuration·is·updated·when·its·configuration·file
245 changes.·Also,·DNS·records·are·never·to·be·cached.·The·user·configuration·file245 changes.·Also,·DNS·records·are·never·to·be·cached.·The·user·configuration·file
246 (in·this·example·named·<code·class="inline">erl_inetrc</code>,·stored·in·directory·<code·class="inline">./cfg_files</code>)·can·then246 (in·this·example·named·<code·class="inline">erl_inetrc</code>,·stored·in·directory·<code·class="inline">./cfg_files</code>)·can·then
247 look·as·follows·(Unix):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·--·ERLANG·INET·CONFIGURATION·FILE·--</span><span·class="w">247 look·as·follows·(Unix):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·--·ERLANG·INET·CONFIGURATION·FILE·--</span><span·class="w">
248 </span><span·class="c1">%%·read·the·hosts·file</span><span·class="w">248 </span><span·class="c1">%%·read·the·hosts·file</span><span·class="w">
249 </span><span·class="p"·data-group-id="8188463111-1">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/etc/hosts&quot;</span><span·class="p"·data-group-id="81884[·...·truncated·by·diffoscope;·len:·5,·SHA:·dbb9da67b71c0c9f01a35e7993b757ae0f9478d079de35edbed3523b7aa88229·...·]-1">}</span><span·class="p">.</span><span·class="w">249 </span><span·class="p"·data-group-id="1382846620-1">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/etc/hosts&quot;</span><span·class="p"·data-group-id="13828[·...·truncated·by·diffoscope;·len:·5,·SHA:·78b598dcb2a97ad2c5dcb8c4faecf623a4beafd25202689085836b560afa51ea·...·]-1">}</span><span·class="p">.</span><span·class="w">
250 </span><span·class="c1">%%·add·a·particular·host</span><span·class="w">250 </span><span·class="c1">%%·add·a·particular·host</span><span·class="w">
251 </span><span·class="p"·data-group-id="8188463111-2">{</span><span·class="ss">host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8188463111-3">{</span><span·class="mi">134</span><span·class="p">,</span><span·class="mi">138</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·363,·SHA:·772f3d2b166e396b5ab03b72a90a23f92d326fcb38b779fce926d21452ffe35d·...·]-2">}</span><span·class="p">.</span><span·class="w">251 </span><span·class="p"·data-group-id="1382846620-2">{</span><span·class="ss">host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1382846620-3">{</span><span·class="mi">134</span><span·class="p">,</span><span·class="mi">138</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·363,·SHA:·9da1b77f323d88139e02c5995c2fbe3eac87599b788c36e9b52c47162c632253·...·]-2">}</span><span·class="p">.</span><span·class="w">
252 </span><span·class="c1">%%·do·not·monitor·the·hosts·file</span><span·class="w">252 </span><span·class="c1">%%·do·not·monitor·the·hosts·file</span><span·class="w">
253 </span><span·class="p"·data-group-id="8188463111-5">{</span><span·class="ss">hosts_file</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p"·data-group-id="8188463111-5">}</span><span·class="p">.</span><span·class="w">253 </span><span·class="p"·data-group-id="1382846620-5">{</span><span·class="ss">hosts_file</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p"·data-group-id="1382846620-5">}</span><span·class="p">.</span><span·class="w">
254 </span><span·class="c1">%%·read·and·monitor·nameserver·config·from·here</span><span·class="w">254 </span><span·class="c1">%%·read·and·monitor·nameserver·config·from·here</span><span·class="w">
255 </span><span·class="p"·data-group-id="8188463111-6">{</span><span·class="ss">resolv_conf</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/usr/local/etc/resolv.conf&quot;</span><span·class="p"·data-group-id="8188463111-6">}</span><span·class="p">.</span><span·class="w">255 </span><span·class="p"·data-group-id="1382846620-6">{</span><span·class="ss">resolv_conf</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/usr/local/etc/resolv.conf&quot;</span><span·class="p"·data-group-id="1382846620-6">}</span><span·class="p">.</span><span·class="w">
256 </span><span·class="c1">%%·enable·EDNS</span><span·class="w">256 </span><span·class="c1">%%·enable·EDNS</span><span·class="w">
257 </span><span·class="p"·data-group-id="8188463111-7">{</span><span·class="ss">edns</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="8188463111-7">}</span><span·class="p">.</span><span·class="w">257 </span><span·class="p"·data-group-id="1382846620-7">{</span><span·class="ss">edns</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1382846620-7">}</span><span·class="p">.</span><span·class="w">
258 </span><span·class="c1">%%·disable·caching</span><span·class="w">258 </span><span·class="c1">%%·disable·caching</span><span·class="w">
259 </span><span·class="p"·data-group-id="8188463111-8">{</span><span·class="ss">cache_size</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="8188463111-8">}</span><span·class="p">.</span><span·class="w">259 </span><span·class="p"·data-group-id="1382846620-8">{</span><span·class="ss">cache_size</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="1382846620-8">}</span><span·class="p">.</span><span·class="w">
260 </span><span·class="c1">%%·specify·lookup·method</span><span·class="w">260 </span><span·class="c1">%%·specify·lookup·method</span><span·class="w">
261 </span><span·class="p"·data-group-id="8188463111-9">{</span><span·class="ss">lookup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8188463111-10">[</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">dns</span[·...·truncated·by·diffoscope;·len:·96,·SHA:·0f048eedec06f8af0ece3e0ddfc5e9028689393c5f94a2849c6a398d2f1dfdb5·...·]-9">}</span><span·class="p">.</span></code></pre><p>And·Erlang·can,·for·example,·be·started·as·follows:</p><pre><code·class="text">%·erl·-sname·my_node·-kernel·inetrc·'&quot;./cfg_files/erl_inetrc&quot;'</code></pre>261 </span><span·class="p"·data-group-id="1382846620-9">{</span><span·class="ss">lookup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1382846620-10">[</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">dns</span[·...·truncated·by·diffoscope;·len:·96,·SHA:·93441881a0c4d23583ae0bddb976e1f124004f9355edfd1acf914781a3190977·...·]-9">}</span><span·class="p">.</span></code></pre><p>And·Erlang·can,·for·example,·be·started·as·follows:</p><pre><code·class="text">%·erl·-sname·my_node·-kernel·inetrc·'&quot;./cfg_files/erl_inetrc&quot;'</code></pre>
262 </div>262 </div>
  
263 <div·class="bottom-actions"·id="bottom-actions">263 <div·class="bottom-actions"·id="bottom-actions">
264 ··<div·class="bottom-actions-item">264 ··<div·class="bottom-actions-item">
  
265 ······<a·href="driver.html"·class="bottom-actions-button"·rel="prev">265 ······<a·href="driver.html"·class="bottom-actions-button"·rel="prev">
266 ········<span·class="subheader">266 ········<span·class="subheader">
Offset 301, 15 lines modifiedOffset 301, 15 lines modified
301 ······<p·class="built-using">301 ······<p·class="built-using">
302 ········Built·using302 ········Built·using
303 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the303 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
304 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>304 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
305 ······</p>305 ······</p>
306 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>306 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
307 ····</footer>307 ····</footer>
308 ··</div>308 ··</div>
309 </main>309 </main>
310 </div>310 </div>
311 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>311 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
312 ··<script>312 ··<script>
313 ··let·initialized·=·false;313 ··let·initialized·=·false;
Max diff block lines reached; -1/46450 bytes (-0.00%) of diff not shown.
667 B
html2text {}
Max HTML report size reached
17.4 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/init.html
    
Offset 157, 16 lines modifiedOffset 157, 16 lines modified
157 BF</code></pre><p>If·multiple·<code·class="inline">-eval</code>·expressions·are·specified,·they·are·evaluated·sequentially157 BF</code></pre><p>If·multiple·<code·class="inline">-eval</code>·expressions·are·specified,·they·are·evaluated·sequentially
158 in·the·order·specified.·<code·class="inline">-eval</code>·expressions·are·evaluated·sequentially·with158 in·the·order·specified.·<code·class="inline">-eval</code>·expressions·are·evaluated·sequentially·with
159 <code·class="inline">-s</code>·and·<code·class="inline">-run</code>·function·calls·(this·also·in·the·order·specified).·As·with159 <code·class="inline">-s</code>·and·<code·class="inline">-run</code>·function·calls·(this·also·in·the·order·specified).·As·with
160 <code·class="inline">-s</code>·and·<code·class="inline">-run</code>,·an·evaluation·that·does·not·terminate·blocks·the·system160 <code·class="inline">-s</code>·and·<code·class="inline">-run</code>,·an·evaluation·that·does·not·terminate·blocks·the·system
161 initialization·process.</p></li><li><p><strong><code·class="inline">-extra</code></strong>·-·Everything·following·<code·class="inline">-extra</code>·is·considered·plain·arguments·and161 initialization·process.</p></li><li><p><strong><code·class="inline">-extra</code></strong>·-·Everything·following·<code·class="inline">-extra</code>·is·considered·plain·arguments·and
162 can·be·retrieved·using·<a·href="#get_plain_arguments/0"><code·class="inline">get_plain_arguments/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-extra·+A·1·--</span><span·class="w">162 can·be·retrieved·using·<a·href="#get_plain_arguments/0"><code·class="inline">get_plain_arguments/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-extra·+A·1·--</span><span·class="w">
163 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">163 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">
164 1&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_plain_arguments</span><span·class="p"·data-group-id="1992695692-1">(</span><span·class="p"·data-group-id="1992695692-1">)</span><span·class="p">.</span><span·class="w">164 1&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_plain_arguments</span><span·class="p"·data-group-id="0204271619-1">(</span><span·class="p"·data-group-id="0204271619-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="1992695692-2">[</span><span·class="s">&quot;+A&quot;</span><span·class="p">,</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="s">&quot;--&quot;</span><span·class="p"·data-group-id="1992695692-2">]</span></code></pre><p>The·<code·class="inline">-extra</code>·flag·can·be·passed·on·the·command·line,·through·<code·class="inline">ERL_*FLAGS</code>·or165 </span><span·class="p"·data-group-id="0204271619-2">[</span><span·class="s">&quot;+A&quot;</span><span·class="p">,</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="s">&quot;--&quot;</span><span·class="p"·data-group-id="0204271619-2">]</span></code></pre><p>The·<code·class="inline">-extra</code>·flag·can·be·passed·on·the·command·line,·through·<code·class="inline">ERL_*FLAGS</code>·or
166 <code·class="inline">-args_file</code>.·It·only·effects·the·remaining·command-line·flags·in·the·entity166 <code·class="inline">-args_file</code>.·It·only·effects·the·remaining·command-line·flags·in·the·entity
167 in·which·it·is·passed.·If·multiple·<code·class="inline">-extra</code>·flags·are·passed·they·are167 in·which·it·is·passed.·If·multiple·<code·class="inline">-extra</code>·flags·are·passed·they·are
168 concatenated·using·the·same·order·rules·as·<code·class="inline">ERL_*FLAGS</code>·or·<code·class="inline">-args_file</code>·in168 concatenated·using·the·same·order·rules·as·<code·class="inline">ERL_*FLAGS</code>·or·<code·class="inline">-args_file</code>·in
169 which·they·are·given.</p><p>Example:</p><pre><code·class="text">%·ERL_AFLAGS=&quot;-extra·a&quot;·ERL_ZFLAGS=&quot;-extra·d&quot;·erl·-extra·b·-extra·c169 which·they·are·given.</p><p>Example:</p><pre><code·class="text">%·ERL_AFLAGS=&quot;-extra·a&quot;·ERL_ZFLAGS=&quot;-extra·d&quot;·erl·-extra·b·-extra·c
170 ...170 ...
171 1&gt;·init:get_plain_arguments().171 1&gt;·init:get_plain_arguments().
172 [&quot;a&quot;,&quot;b&quot;,&quot;-extra&quot;,&quot;c&quot;,&quot;d&quot;]</code></pre></li><li><p><strong><code·class="inline">-S·Mod·[Func·[Arg1,·Arg2,·...]]</code></strong>·-·Evaluates·the·specified·function·call172 [&quot;a&quot;,&quot;b&quot;,&quot;-extra&quot;,&quot;c&quot;,&quot;d&quot;]</code></pre></li><li><p><strong><code·class="inline">-S·Mod·[Func·[Arg1,·Arg2,·...]]</code></strong>·-·Evaluates·the·specified·function·call
Offset 212, 21 lines modifiedOffset 212, 21 lines modified
212 ····<i·class="ri-link-m"·aria-hidden="true"></i>212 ····<i·class="ri-link-m"·aria-hidden="true"></i>
213 ··</a>213 ··</a>
214 ··<span·class="text">Example</span>214 ··<span·class="text">Example</span>
215 </h2>215 </h2>
216 <pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·--·a·b·-children·thomas·claire·-ages·7·3·--·x·y</span><span·class="w">216 <pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·--·a·b·-children·thomas·claire·-ages·7·3·--·x·y</span><span·class="w">
217 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">217 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
  
218 </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_plain_arguments</span><span·class="p"·data-group-id="1795579939-1">(</span><span·class="p"·data-group-id="1795579939-1">)</span><span·class="p">.</span><span·class="w">218 </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_plain_arguments</span><span·class="p"·data-group-id="2936098738-1">(</span><span·class="p"·data-group-id="2936098738-1">)</span><span·class="p">.</span><span·class="w">
219 </span><span·class="p"·data-group-id="1795579939-2">[</span><span·class="s">&quot;a&quot;</span><span·class="p">,</span><span·class="s">&quot;b&quot;</span><span·class="p">,</span><span·class="s">&quot;x&quot;</span><span·class="p">,</span><span·class="s">&quot;y&quot;</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·43b31991477813485490e0fd47627cda1dc61785ada29c01477fd5e7d3c8397f·...·]-2">]</span><span·class="gp·unselectable">219 </span><span·class="p"·data-group-id="2936098738-2">[</span><span·class="s">&quot;a&quot;</span><span·class="p">,</span><span·class="s">&quot;b&quot;</span><span·class="p">,</span><span·class="s">&quot;x&quot;</span><span·class="p">,</span><span·class="s">&quot;y&quot;</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·1ae24997f2a1e4427888f958025c2731e1b2b2db1b5ac8e3f13d4a5ed7d3a3f1·...·]-2">]</span><span·class="gp·unselectable">
220 2&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="1795579939-3">(</span><span·class="ss">children</span><span·class="p"·data-group-id="1795579939-3">)</span><span·class="p">.</span><span·class="w">220 2&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="2936098738-3">(</span><span·class="ss">children</span><span·class="p"·data-group-id="2936098738-3">)</span><span·class="p">.</span><span·class="w">
221 </span><span·class="p"·data-group-id="1795579939-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1795579939-5">[</span><span·class="p"·data-group-id="1795579939-6">[</span><span·class="s">&quot;thomas&quot;</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·175,·SHA:·225b88dbaff4abdd5cdce6ffede350512ffc157f080415adf5e798ceab118d43·...·]-4">}</span><span·class="gp·unselectable">221 </span><span·class="p"·data-group-id="2936098738-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2936098738-5">[</span><span·class="p"·data-group-id="2936098738-6">[</span><span·class="s">&quot;thomas&quot;</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·175,·SHA:·efab0f88d2b4c4411b90ea457cbd58972d5c34e811213d99cfb031d58e316294·...·]-4">}</span><span·class="gp·unselectable">
222 3&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="1795579939-7">(</span><span·class="ss">ages</span><span·class="p"·data-group-id="1795579939-7">)</span><span·class="p">.</span><span·class="w">222 3&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="2936098738-7">(</span><span·class="ss">ages</span><span·class="p"·data-group-id="2936098738-7">)</span><span·class="p">.</span><span·class="w">
223 </span><span·class="p"·data-group-id="1795579939-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1795579939-9">[</span><span·class="p"·data-group-id="1795579939-10">[</span><span·class="s">&quot;7&quot;</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·191,·SHA:·d53d721d130cf9f510a1c9741e072561417d3c786b6fd997330bac9e4fab710b·...·]-8">}</span><span·class="gp·unselectable">223 </span><span·class="p"·data-group-id="2936098738-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2936098738-9">[</span><span·class="p"·data-group-id="2936098738-10">[</span><span·class="s">&quot;7&quot;</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·191,·SHA:·68353d9700748321804e35218b3cbe854000c66fa45e3a9a1bda00c03fba5dda·...·]-8">}</span><span·class="gp·unselectable">
224 4&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="1795579939-11">(</span><span·class="ss">silly</span><span·class="p"·data-group-id="1795579939-11">)</span><span·class="p">.</span><span·class="w">224 4&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="2936098738-11">(</span><span·class="ss">silly</span><span·class="p"·data-group-id="2936098738-11">)</span><span·class="p">.</span><span·class="w">
225 </span><span·class="ss">error</span></code></pre><h2·id="module-see-also"·class="section-heading">225 </span><span·class="ss">error</span></code></pre><h2·id="module-see-also"·class="section-heading">
226 ··<a·href="#module-see-also"·class="hover-link">226 ··<a·href="#module-see-also"·class="hover-link">
227 ····<i·class="ri-link-m"·aria-hidden="true"></i>227 ····<i·class="ri-link-m"·aria-hidden="true"></i>
228 ··</a>228 ··</a>
229 ··<span·class="text">See·Also</span>229 ··<span·class="text">See·Also</span>
230 </h2>230 </h2>
231 <p><a·href="erl_prim_loader.html"><code·class="inline">erl_prim_loader</code></a>,·<a·href="../../../lib/kernel-10.3/doc/html/heart.html"><code·class="inline">heart</code></a></p>231 <p><a·href="erl_prim_loader.html"><code·class="inline">erl_prim_loader</code></a>,·<a·href="../../../lib/kernel-10.3/doc/html/heart.html"><code·class="inline">heart</code></a></p>
Offset 512, 20 lines modifiedOffset 512, 20 lines modified
512 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_argument(Flag)·->·{ok,·Arg}·|·error·when·Flag·::·<a·href="erlang.html#t:atom/0">atom</a>(),·Arg·::·[Values·::·[<a·href="erlang.html#t:string/0">string</a>()]].</pre>512 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_argument(Flag)·->·{ok,·Arg}·|·error·when·Flag·::·<a·href="erlang.html#t:atom/0">atom</a>(),·Arg·::·[Values·::·[<a·href="erlang.html#t:string/0">string</a>()]].</pre>
  
513 ······</div>513 ······</div>
  
514 <p>Returns·all·values·associated·with·the·command-line·user·flag·<code·class="inline">Flag</code>.</p><p>If·<code·class="inline">Flag</code>·is·provided·several·times,·each·<code·class="inline">Values</code>·is·returned·in·preserved·order.514 <p>Returns·all·values·associated·with·the·command-line·user·flag·<code·class="inline">Flag</code>.</p><p>If·<code·class="inline">Flag</code>·is·provided·several·times,·each·<code·class="inline">Values</code>·is·returned·in·preserved·order.
515 Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-a·b·c·-a·d</span><span·class="w">515 Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-a·b·c·-a·d</span><span·class="w">
516 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">516 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">
517 1&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="9347378315-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="9347378315-1">)</span><span·class="p">.</span><span·class="w">517 1&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="6155334368-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="6155334368-1">)</span><span·class="p">.</span><span·class="w">
518 </span><span·class="p"·data-group-id="9347378315-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9347378315-3">[</span><span·class="p"·data-group-id="9347378315-4">[</span><span·class="s">&quot;b&quot;</span><span·class="p">,</span><span·class="s">&q[·...·truncated·by·diffoscope;·len:·331,·SHA:·f78a74b017a516cf33c376539ecd1dc70c8556a6796987bd92c446bbe79e9f3f·...·]-2">}</span></code></pre><p>The·following·flags·are·defined·automatically·and·can·be·retrieved·using·this518 </span><span·class="p"·data-group-id="6155334368-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6155334368-3">[</span><span·class="p"·data-group-id="6155334368-4">[</span><span·class="s">&quot;b&quot;</span><span·class="p">,</span><span·class="s">&q[·...·truncated·by·diffoscope;·len:·331,·SHA:·e30586d6b123fb5ed80ebac7455550ba7bf1d01fbb0f2a1c941ba36a5f46952d·...·]-2">}</span></code></pre><p>The·following·flags·are·defined·automatically·and·can·be·retrieved·using·this
519 function:</p><ul><li><p><strong><code·class="inline">root</code></strong>·-·The·installation·directory·of·Erlang/OTP,·<code·class="inline">$ROOT</code>:</p><pre><code·class="text">2&gt;·init:get_argument(root).519 function:</p><ul><li><p><strong><code·class="inline">root</code></strong>·-·The·installation·directory·of·Erlang/OTP,·<code·class="inline">$ROOT</code>:</p><pre><code·class="text">2&gt;·init:get_argument(root).
520 {ok,[[&quot;/usr/local/otp/releases/otp_beam_solaris8_r10b_patched&quot;]]}</code></pre></li><li><p><strong><code·class="inline">progname</code></strong>·-·The·name·of·the·program·which·started·Erlang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="1202168523-1">(</span><span·class="ss">progname</span><span·class="p"·data-group-id="1202168523-1">)</span><span·class="p">.</span><span·class="w">520 {ok,[[&quot;/usr/local/otp/releases/otp_beam_solaris8_r10b_patched&quot;]]}</code></pre></li><li><p><strong><code·class="inline">progname</code></strong>·-·The·name·of·the·program·which·started·Erlang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_argument</span><span·class="p"·data-group-id="1286839794-1">(</span><span·class="ss">progname</span><span·class="p"·data-group-id="1286839794-1">)</span><span·class="p">.</span><span·class="w">
521 </span><span·class="p"·data-group-id="1202168523-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1202168523-3">[</span><span·class="p"·data-group-id="1202168523-4">[</span><span·class="s">&quot;erl&quot;</span><span·class="p"·data-group-id="1202168523-[·...·truncated·by·diffoscope;·len:·558,·SHA:·26c2f5924df1e68f68165b0929aa03c3926c2c2e92f7aeb8df71425b4b1461d6·...·]-1">)</span><span·class="p">.</span><span·class="w">521 </span><span·class="p"·data-group-id="1286839794-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1286839794-3">[</span><span·class="p"·data-group-id="1286839794-4">[</span><span·class="s">&quot;erl&quot;</span><span·class="p"·data-group-id="1286839794-[·...·truncated·by·diffoscope;·len:·558,·SHA:·15a9811d34e88440da912424f296ea5dba8cccf84bd6a794d69de6b9ce9f8996·...·]-1">)</span><span·class="p">.</span><span·class="w">
522 </span><span·class="p"·data-group-id="6869267910-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6869267910-3">[</span><span·class="p"·data-group-id="6869267910-4">[</span><span·class="s">&quot;/home/harry&quot;</span><span·class="p"·data-group-id="6[·...·truncated·by·diffoscope;·len:·115,·SHA:·ad27b3591864a7f1b4bce87fa584bcc792163a6723402f092d3d970ec056d4e2·...·]-2">}</span></code></pre></li></ul><p>Returns·<code·class="inline">error</code>·if·no·value·is·associated·with·<code·class="inline">Flag</code>.</p>522 </span><span·class="p"·data-group-id="2867705706-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2867705706-3">[</span><span·class="p"·data-group-id="2867705706-4">[</span><span·class="s">&quot;/home/harry&quot;</span><span·class="p"·data-group-id="2[·...·truncated·by·diffoscope;·len:·115,·SHA:·08a7d38273a83c263fae13359fd5e2fbe60ec194ee0bf15a06027d660303e427·...·]-2">}</span></code></pre></li></ul><p>Returns·<code·class="inline">error</code>·if·no·value·is·associated·with·<code·class="inline">Flag</code>.</p>
523 ··</section>523 ··</section>
524 </section>524 </section>
525 <section·class="detail"·id="get_arguments/0">525 <section·class="detail"·id="get_arguments/0">
  
526 ··<div·class="detail-header">526 ··<div·class="detail-header">
527 ····<a·href="#get_arguments/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">527 ····<a·href="#get_arguments/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
528 ······<i·class="ri-link-m"·aria-hidden="true"></i>528 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 797, 15 lines modifiedOffset 797, 15 lines modified
797 ······<p·class="built-using">797 ······<p·class="built-using">
798 ········Built·using798 ········Built·using
799 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the799 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
800 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>800 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
801 ······</p>801 ······</p>
802 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>802 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
803 ····</footer>803 ····</footer>
804 ··</div>804 ··</div>
805 </main>805 </main>
806 </div>806 </div>
807 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>807 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
808 ··<script>808 ··<script>
809 ··let·initialized·=·false;809 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/introduction.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
187 ····</footer>187 ····</footer>
188 ··</div>188 ··</div>
189 </main>189 </main>
190 </div>190 </div>
191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
192 ··<script>192 ··<script>
193 ··let·initialized·=·false;193 ··let·initialized·=·false;
661 B
html2text {}
Max HTML report size reached
52.4 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/match_spec.html
    
Offset 367, 78 lines modifiedOffset 367, 78 lines modified
367 language,·that·is,·for·their·side·effects.·Functions·with·side·effects·are·also367 language,·that·is,·for·their·side·effects.·Functions·with·side·effects·are·also
368 allowed·when·tracing.</p><h2·id="tracing-examples"·class="section-heading">368 allowed·when·tracing.</p><h2·id="tracing-examples"·class="section-heading">
369 ··<a·href="#tracing-examples"·class="hover-link">369 ··<a·href="#tracing-examples"·class="hover-link">
370 ····<i·class="ri-link-m"·aria-hidden="true"></i>370 ····<i·class="ri-link-m"·aria-hidden="true"></i>
371 ··</a>371 ··</a>
372 ··<span·class="text">Tracing·Examples</span>372 ··<span·class="text">Tracing·Examples</span>
373 </h2>373 </h2>
374 <p>Match·an·argument·list·of·three,·where·the·first·and·third·arguments·are·equal:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1223899492-1">[</span><span·class="p"·data-group-id="1223899492-2">{</span><span·class="p"·data-group-id="1223899492-3">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·cla[·...·truncated·by·diffoscope;·len:·116,·SHA:·83bcfe973d3460718bec2acd5789d8b6061b11ee8907656085e1ffa2affb8728·...·]-3">]</span><span·class="p">,</span><span·class="w">374 <p>Match·an·argument·list·of·three,·where·the·first·and·third·arguments·are·equal:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9127065786-1">[</span><span·class="p"·data-group-id="9127065786-2">{</span><span·class="p"·data-group-id="9127065786-3">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·cla[·...·truncated·by·diffoscope;·len:·116,·SHA:·92697444cd4f8b95a7f76f061408fbe439c9ddd8d0320c8c875b643e22dd1303·...·]-3">]</span><span·class="p">,</span><span·class="w">
375 ··</span><span·class="p"·data-group-id="1223899492-4">[</span><span·class="p"·data-group-id="1223899492-4">]</span><span·class="p">,</span><span·class="w">375 ··</span><span·class="p"·data-group-id="9127065786-4">[</span><span·class="p"·data-group-id="9127065786-4">]</span><span·class="p">,</span><span·class="w">
376 ··</span><span·class="p"·data-group-id="1223899492-5">[</span><span·class="p"·data-group-id="1223899492-5">]</span><span·class="p"·data-group-id="1223899492-2">}</span><span·class="p"·data-group-id="1223899492-1">]</span></code></pre><p>Match·an·argument·list·of·three,·where·the·second·argument·[·...·truncated·by·diffoscope;·len:·473,·SHA:·9f3745516ddcc1b921330d9bb0b11bd37075e6971ed84eefd2e03af3fb75b73f·...·]-3">]</span><span·class="p">,</span><span·class="w">376 ··</span><span·class="p"·data-group-id="9127065786-5">[</span><span·class="p"·data-group-id="9127065786-5">]</span><span·class="p"·data-group-id="9127065786-2">}</span><span·class="p"·data-group-id="9127065786-1">]</span></code></pre><p>Match·an·argument·list·of·three,·where·the·second·argument·[·...·truncated·by·diffoscope;·len:·473,·SHA:·c715678d7ffcb6673042034e942100ae67cb41ef42ddc90b51be2b56ccfcb462·...·]-3">]</span><span·class="p">,</span><span·class="w">
377 ··</span><span·class="p"·data-group-id="6793574341-4">[</span><span·class="p"·data-group-id="6793574341-5">{</span><span·class="w">·</span><span·class="ss">&#39;&gt;&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·132,·SHA:·776b3c3b6fe25272616f8bedc52443da9572f743b603974369f3add70c8b8a38·...·]-4">]</span><span·class="p">,</span><span·class="w">377 ··</span><span·class="p"·data-group-id="3372425399-4">[</span><span·class="p"·data-group-id="3372425399-5">{</span><span·class="w">·</span><span·class="ss">&#39;&gt;&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·132,·SHA:·3bef046a7ea7ceaf734ea0a93a13df3b288ec8d2f837b069f44ce7b2461b26ce·...·]-4">]</span><span·class="p">,</span><span·class="w">
378 ··</span><span·class="p"·data-group-id="6793574341-6">[</span><span·class="p"·data-group-id="6793574341-6">]</span><span·class="p"·data-group-id="6793574341-2">}</span><span·class="p"·data-group-id="6793574341-1">]</span></code></pre><p>Match·an·argument·list·of·three,·where·the·third·argument·is·either·a·tuple378 ··</span><span·class="p"·data-group-id="3372425399-6">[</span><span·class="p"·data-group-id="3372425399-6">]</span><span·class="p"·data-group-id="3372425399-2">}</span><span·class="p"·data-group-id="3372425399-1">]</span></code></pre><p>Match·an·argument·list·of·three,·where·the·third·argument·is·either·a·tuple
379 containing·argument·one·and·two,·<em>or</em>·a·list·beginning·with·argument·one·and·two379 containing·argument·one·and·two,·<em>or</em>·a·list·beginning·with·argument·one·and·two
380 (that·is,·<code·class="inline">[a,b,[a,b,c]]</code>·or·<code·class="inline">[a,b,{a,b}]</code>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5757588577-1">[</span><span·class="p"·data-group-id="5757588577-2">{</span><span·class="p"·data-group-id="5757588577-3">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·cl[·...·truncated·by·diffoscope;·len:·117,·SHA:·f8cf0b5d2fbd5b7ab33f35ac0dd84848a8359cac23654306b5e851ffa509737e·...·]-3">]</span><span·class="p">,</span><span·class="w">380 (that·is,·<code·class="inline">[a,b,[a,b,c]]</code>·or·<code·class="inline">[a,b,{a,b}]</code>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2225546194-1">[</span><span·class="p"·data-group-id="2225546194-2">{</span><span·class="p"·data-group-id="2225546194-3">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·cl[·...·truncated·by·diffoscope;·len:·117,·SHA:·8d9aa5f2c5c757b3b8373b78c56d3fafabf9988b587c3e5d08252f5d2e84ef2e·...·]-3">]</span><span·class="p">,</span><span·class="w">
381 ··</span><span·class="p"·data-group-id="5757588577-4">[</span><span·class="p"·data-group-id="5757588577-5">{</span><span·class="ss">&#39;orelse&#39;</span><span·class="p">,</span><span·class="w">381 ··</span><span·class="p"·data-group-id="2225546194-4">[</span><span·class="p"·data-group-id="2225546194-5">{</span><span·class="ss">&#39;orelse&#39;</span><span·class="p">,</span><span·class="w">
382 ······</span><span·class="p"·data-group-id="5757588577-6">{</span><span·class="ss">&#39;=:=&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$3&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5757588577-7">{</span><span·class=[·...·truncated·by·diffoscope;·len:·284,·SHA:·193b1dbf645c97db7c6bc66056b970a87c9e76c8bd5e2224e8a32700556d90dd·...·]-6">}</span><span·class="p">,</span><span·class="w">382 ······</span><span·class="p"·data-group-id="2225546194-6">{</span><span·class="ss">&#39;=:=&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$3&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2225546194-7">{</span><span·class=[·...·truncated·by·diffoscope;·len:·284,·SHA:·6f6beaa400c6470f683c5b8e7bfe8a3bcb7701989a7f3cecb931aa9bc9c58a00·...·]-6">}</span><span·class="p">,</span><span·class="w">
383 ······</span><span·class="p"·data-group-id="5757588577-9">{</span><span·class="ss">&#39;and&#39;</span><span·class="p">,</span><span·class="w">383 ······</span><span·class="p"·data-group-id="2225546194-9">{</span><span·class="ss">&#39;and&#39;</span><span·class="p">,</span><span·class="w">
384 ········</span><span·class="p"·data-group-id="5757588577-10">{</span><span·class="ss">&#39;=:=&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5757588577-11">{</span><span·clas[·...·truncated·by·diffoscope;·len:·195,·SHA:·c28aea5d1094fe8cec13d82ee6c9209bb636ab6e2542ae9f8398d0717513cb61·...·]-10">}</span><span·class="p">,</span><span·class="w">384 ········</span><span·class="p"·data-group-id="2225546194-10">{</span><span·class="ss">&#39;=:=&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2225546194-11">{</span><span·clas[·...·truncated·by·diffoscope;·len:·195,·SHA:·bf5820081642884b584c34af07bf6c31e0b97596d8de9f19329c8d061be3aca0·...·]-10">}</span><span·class="p">,</span><span·class="w">
385 ········</span><span·class="p"·data-group-id="5757588577-12">{</span><span·class="ss">&#39;=:=&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5757588577-13">{</span><span·clas[·...·truncated·by·diffoscope;·len:·537,·SHA:·707fa7ca4032d901a977f8b313b3bbea955cca2debfb25e15d6db5344729ccc8·...·]-4">]</span><span·class="p">,</span><span·class="w">385 ········</span><span·class="p"·data-group-id="2225546194-12">{</span><span·class="ss">&#39;=:=&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2225546194-13">{</span><span·clas[·...·truncated·by·diffoscope;·len:·537,·SHA:·e34d6a49acf4b89b6a12987406fda949276a7516e08276d13b2be6619cb7443f·...·]-4">]</span><span·class="p">,</span><span·class="w">
386 ··</span><span·class="p"·data-group-id="5757588577-15">[</span><span·class="p"·data-group-id="5757588577-15">]</span><span·class="p"·data-group-id="5757588577-2">}</span><span·class="p"·data-group-id="5757588577-1">]</span></code></pre><p>The·above·problem·can·also·be·solved·as·follows:</p><pre>[·...·truncated·by·diffoscope;·len:·411,·SHA:·c44c36c4363e2e3807fa32945a14ab04deae7126af4855f82928f84bdfba4d4f·...·]-4">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2}],·[],·[]},386 ··</span><span·class="p"·data-group-id="2225546194-15">[</span><span·class="p"·data-group-id="2225546194-15">]</span><span·class="p"·data-group-id="2225546194-2">}</span><span·class="p"·data-group-id="2225546194-1">]</span></code></pre><p>The·above·problem·can·also·be·solved·as·follows:</p><pre>[·...·truncated·by·diffoscope;·len:·411,·SHA:·082a01f279ab53d7b83d5021544369297f4b68b2007451a14bfebb4b8848a1f2·...·]-4">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2}],·[],·[]},
387 ·{[&#39;</span><span·class="sc">$1</span><span·class="ss">&#39;,·&#39;</span><span·class="sc">$2</span><span·class="ss">&#39;,·[&#39;</span><span·class="sc">$1</span><span·class="ss">&#39;,·&#39;</span><span·class="sc">$2</span><span·class="ss">&#39;·|·&#39;</span><span·class="p">_</span><span·class="err">&#39;</span><span·class="p">]</span><span·class="p">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1758191909-5">[</span><span·class="p"·data-group-id="1758191909-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1758191909-6">[</span><span·class="p"·data-group-id="1758191909-6">]</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·b7b04cd0dbb43965e16959a28044377afd8761aa59507fc77ed3fb419e62477d·...·]-3">]</span></code></pre><p>Match·two·arguments,·where·the·first·is·a·tuple·beginning·with·a·list·that·in387 ·{[&#39;</span><span·class="sc">$1</span><span·class="ss">&#39;,·&#39;</span><span·class="sc">$2</span><span·class="ss">&#39;,·[&#39;</span><span·class="sc">$1</span><span·class="ss">&#39;,·&#39;</span><span·class="sc">$2</span><span·class="ss">&#39;·|·&#39;</span><span·class="p">_</span><span·class="err">&#39;</span><span·class="p">]</span><span·class="p">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5417337837-5">[</span><span·class="p"·data-group-id="5417337837-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5417337837-6">[</span><span·class="p"·data-group-id="5417337837-6">]</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·76dc8d2bcf0db0aa5675c026ecbeb3c23e237777957b1ebae34a491fc351efdb·...·]-3">]</span></code></pre><p>Match·two·arguments,·where·the·first·is·a·tuple·beginning·with·a·list·that·in
388 turn·begins·with·the·second·argument·times·two·(that·is,·<code·class="inline">[{[4,x],y},2]</code>·or388 turn·begins·with·the·second·argument·times·two·(that·is,·<code·class="inline">[{[4,x],y},2]</code>·or
389 <code·class="inline">[{[8],·y,·z},4])</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4678985294-1">[</span><span·class="p"·data-group-id="4678985294-2">{</span><span·class="p"·data-group-id="4678985294-3">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·cla[·...·truncated·by·diffoscope;·len:·1173,·SHA:·a1b190ba91ff2a03a3e67bc59fd8a282cfce38530828d59c792cf57bc3996671·...·]-4">]</span><span·class="p">,</span><span·class="w">389 <code·class="inline">[{[8],·y,·z},4])</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4569749136-1">[</span><span·class="p"·data-group-id="4569749136-2">{</span><span·class="p"·data-group-id="4569749136-3">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·cla[·...·truncated·by·diffoscope;·len:·1173,·SHA:·097087f8203bf8148d7af0ebceba5ff6a37da4ef63fc556c09c5498cbfc19498·...·]-4">]</span><span·class="p">,</span><span·class="w">
390 ··</span><span·class="p"·data-group-id="4678985294-9">[</span><span·class="p"·data-group-id="4678985294-9">]</span><span·class="p"·data-group-id="4678985294-2">}</span><span·class="p"·data-group-id="4678985294-1">]</span></code></pre><p>Match·three·arguments.·When·all·three·are·equal·and·are·numbers,·append·the390 ··</span><span·class="p"·data-group-id="4569749136-9">[</span><span·class="p"·data-group-id="4569749136-9">]</span><span·class="p"·data-group-id="4569749136-2">}</span><span·class="p"·data-group-id="4569749136-1">]</span></code></pre><p>Match·three·arguments.·When·all·three·are·equal·and·are·numbers,·append·the
391 process·dump·to·the·trace·message,·otherwise·let·the·trace·message·be·&quot;as·is&quot;,391 process·dump·to·the·trace·message,·otherwise·let·the·trace·message·be·&quot;as·is&quot;,
392 but·set·the·sequential·trace·token·label·to·4711:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5494980202-1">[</span><span·class="p"·data-group-id="5494980202-2">{</span><span·class="p"·data-group-id="5494980202-3">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·cl[·...·truncated·by·diffoscope;·len:·117,·SHA:·a14013c2e5155ded752e862173cc841aa7ccddb30a22479907543f795112466e·...·]-3">]</span><span·class="p">,</span><span·class="w">392 but·set·the·sequential·trace·token·label·to·4711:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2725574725-1">[</span><span·class="p"·data-group-id="2725574725-2">{</span><span·class="p"·data-group-id="2725574725-3">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·cl[·...·truncated·by·diffoscope;·len:·117,·SHA:·57c26f27ba283d153be44a9c32486867efc258a107d3726e188e9386ca6a619f·...·]-3">]</span><span·class="p">,</span><span·class="w">
393 ··</span><span·class="p"·data-group-id="5494980202-4">[</span><span·class="p"·data-group-id="5494980202-5">{</span><span·class="nb">is_number</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="5494980202-5">}</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·bd7137e18bc72507a83a5a05129114806c6b3fdca5f1bea601e8742310831495·...·]-4">]</span><span·class="p">,</span><span·class="w">393 ··</span><span·class="p"·data-group-id="2725574725-4">[</span><span·class="p"·data-group-id="2725574725-5">{</span><span·class="nb">is_number</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="2725574725-5">}</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·a912aabbaf4ab4f7308c9a0bc1ef4c2050b62ddf25ed565384c5a793fdcba56a·...·]-4">]</span><span·class="p">,</span><span·class="w">
394 ··</span><span·class="p"·data-group-id="5494980202-6">[</span><span·class="p"·data-group-id="5494980202-7">{</span><span·class="ss">message</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5494980202-8">{</span><span·class="ss">process_dump</span><span·class="p"·data-group-id="5494980202-8">}</span><span·class="p"·data-group-id="5494980202-7">}</span><span·class="p"·data-group-id="5494980202-6">]</span><span·class="p"·data-group-id="5494980202-2">}</span><span·class="p">,</span><span·class="w"> 
395 ·</span><span·class="p"·data-group-id="5494980202-9">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5494980202-10">[</span><span·class="p"·data-group-id="5494980202-10">]</span><span[·...·truncated·by·diffoscope;·len:·644,·SHA:·b762fe61f4b106d1f2413a20489e22527a2ecc9dda69d8f2d8e6ea5b75512f7c·...·]394 ··</span><span·class="p"·data-group-id="2725574725-6">[</span><span·class="p"·data-group-id="2725574725-7">{</span><span·class="ss">message</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2725574725-8">{</span><span·clas[·...·truncated·by·diffoscope;·len:·278,·SHA:·526a4d2448e21b6be980d42436c340b751f25b9d095a36dde8b89d4b2b4bfcb8·...·]
 395 ·</span><span·class="p"·data-group-id="2725574725-9">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2725574725-10">[</span><span·class="p"·data-group-id="2725574725-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2725574725-11">[</span><span·class="p"·data-group-id="2725574725-12">{</span><span·class="ss">set_seq_token</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">label</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4711</span><span·class="p"·data-group-id="2725574725-12">}</span><span·class="p"·data-group-id="2725574725-11">]</span><span·class="p"·data-group-id="2725574725-9">}</span><span·class="p"·data-group-id="2725574725-1">]</span></code></pre><p>As·can·be·noted·above,·the·parameter·list·can·be·matched·against·a·single
396 <code·class="inline">MatchVariable</code>·or·an·<code·class="inline">'_'</code>.·To·replace·the·whole·parameter·list·with·a·single396 <code·class="inline">MatchVariable</code>·or·an·<code·class="inline">'_'</code>.·To·replace·the·whole·parameter·list·with·a·single
397 variable·is·a·special·case.·In·all·other·cases·the·<code·class="inline">MatchHead</code>·must·be·a397 variable·is·a·special·case.·In·all·other·cases·the·<code·class="inline">MatchHead</code>·must·be·a
398 <em>proper</em>·list.</p><p>Generate·a·trace·message·only·if·the·trace·control·word·is·set·to·1:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1894325442-1">[</span><span·class="p"·data-group-id="1894325442-2">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">398 <em>proper</em>·list.</p><p>Generate·a·trace·message·only·if·the·trace·control·word·is·set·to·1:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6695820878-1">[</span><span·class="p"·data-group-id="6695820878-2">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">
399 ··</span><span·class="p"·data-group-id="1894325442-3">[</span><span·class="p"·data-group-id="1894325442-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="1894325442-5">{</span><span·class="ss">get_tcw</span><span·class="p"·data-group-id="1894325442-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="1894325442-6">{</span><span·class="ss">const</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="1894325442-6">}</span><span·class="p"·data-group-id="1894325442-4">}</span><span·class="p"·data-group-id="1894325442-3">]</span><span·class="p">,</span><span·class="w"> 
400 ··</span><span·class="p"·data-group-id="1894325442-7">[</span><span·class="p"·data-group-id="1894325442-7">]</span><span·class="p"·data-group-id="1894325442-2">}</span><span·class="p"·data-group-id="1894325442-1">]</span></code></pre><p>Generate·a·trace·message·only·if·there·is·a·<code·class="inline">seq_trace</code>·token:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4922183583-1">[</span><span·class="p"·data-group-id="4922183583-2">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w"> 
401 ··</span><span·class="p"·data-group-id="4922183583-3">[</span><span·class="p"·data-group-id="4922183583-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4922183583-5">{</span><span·class="ss">is_seq_trace</span><span·class="p"·data-group-id="4922183583-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="4922183583-6">{</span><span·class="ss">const</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="4922183583-6">}</span><span·class="p"·data-group-id="4922183583-4">}</span><span·class="p"·data-group-id="4922183583-3">]</span><span·class="p">,</span><span·class="w"> 
402 ··</span><span·class="p"·data-group-id="4922183583-7">[</span><span·class="p"·data-group-id="4922183583-7">]</span><span·class="p"·data-group-id="4922183583-2">}</span><span·class="p"·data-group-id="4922183583-1">]</span></code></pre><p>Remove·the·<code·class="inline">'silent'</code>·trace·flag·[·...·truncated·by·diffoscope;·len:·73,·SHA:·1d0ce4d7e6c1157d0f96d007d7ffcfbdaad817ac5d1db9e129886d5c923c76a7·...·]399 ··</span><span·class="p"·data-group-id="6695820878-3">[</span><span·class="p"·data-group-id="6695820878-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="6695820878-5">{</span><span·class="ss">get_tcw</span><span·class="p"·data-group-id="669582[·...·truncated·by·diffoscope;·len:·394,·SHA:·a0433e1e83a37b490c0919bc8daaf0f5fb87278c8da26dd01cd117223c0b3668·...·]
 400 ··</span><span·class="p"·data-group-id="6695820878-7">[</span><span·class="p"·data-group-id="6695820878-7">]</span><span·class="p"·data-group-id="6695820878-2">}</span><span·class="p"·data-group-id="6695820878-1">]</span></code></pre><p>Generate·a·trace·message·only·if·there·is·a·<code·class="inline">seq_trace</code>·token:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7875156738-1">[</span><span·class="p"·data-group-id="7875156738-2">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">
 401 ··</span><span·class="p"·data-group-id="7875156738-3">[</span><span·class="p"·data-group-id="7875156738-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="7875156738-5">{</span><span·class="ss">is_seq_trace</span><span·class="p"·data-group-id="7875156738-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="7875156738-6">{</span><span·class="ss">const</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="7875156738-6">}</span><span·class="p"·data-group-id="7875156738-4">}</span><span·class="p"·data-group-id="7875156738-3">]</span><span·class="p">,</span><span·class="w">
 402 ··</span><span·class="p"·data-group-id="7875156738-7">[</span><span·class="p"·data-group-id="7875156738-7">]</span><span·class="p"·data-group-id="7875156738-2">}</span><span·class="p"·data-group-id="7875156738-1">]</span></code></pre><p>Remove·the·<code·class="inline">'silent'</code>·trace·flag·when·the·first·argument·is·<code·class="inline">'verbose'</code>,·and·add
403 it·when·it·is·<code·class="inline">'silent':</code></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6809074341-1">[</span><span·class="p"·data-group-id="6809074341-2">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">403 it·when·it·is·<code·class="inline">'silent':</code></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4245553114-1">[</span><span·class="p"·data-group-id="4245553114-2">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
404 ··</span><span·class="p"·data-group-id="6809074341-3">[</span><span·class="p"·data-group-id="6809074341-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="6809074341-5">{</span><span·class="nb">hd</span><span·class="p">,</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·244,·SHA:·0cb76ac05362ab9f58c876104b7e150577ba2d3234a423c5df4c01e9cbf2b5d3·...·]-3">]</span><span·class="p">,</span><span·class="w">404 ··</span><span·class="p"·data-group-id="4245553114-3">[</span><span·class="p"·data-group-id="4245553114-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4245553114-5">{</span><span·class="nb">hd</span><span·class="p">,</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·244,·SHA:·7e689bccb35bcb025194771ccf94cbade818fdbb1be1f7c4d9a3947bc839723a·...·]-3">]</span><span·class="p">,</span><span·class="w">
405 ··</span><span·class="p"·data-group-id="6809074341-6">[</span><span·class="p"·data-group-id="6809074341-7">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6809074341-8">[</span><span·class="ss">silent</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·309,·SHA:·914994e42f486383921469bb36abfed107147ee22cfeaa4d46beaede3a27bf72·...·]-2">}</span><span·class="p">,</span><span·class="w">405 ··</span><span·class="p"·data-group-id="4245553114-6">[</span><span·class="p"·data-group-id="4245553114-7">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4245553114-8">[</span><span·class="ss">silent</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·309,·SHA:·da405d03ffeff658b5526c464bfe4f98d223a4728ca69e703f9edb11c236a4bf·...·]-2">}</span><span·class="p">,</span><span·class="w">
406 ·</span><span·class="p"·data-group-id="6809074341-10">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">406 ·</span><span·class="p"·data-group-id="4245553114-10">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
407 ··</span><span·class="p"·data-group-id="6809074341-11">[</span><span·class="p"·data-group-id="6809074341-12">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="6809074341-13">{</span><span·class="nb">hd</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·248,·SHA:·96c580c4dd541fad1916ac132046839699adfe68a31eb8a003a9b1051cf95c54·...·]-11">]</span><span·class="p">,</span><span·class="w">407 ··</span><span·class="p"·data-group-id="4245553114-11">[</span><span·class="p"·data-group-id="4245553114-12">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4245553114-13">{</span><span·class="nb">hd</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·248,·SHA:·4279853dd4261479f24de50850741c572fbf24d0852ecff4838013860d9bd181·...·]-11">]</span><span·class="p">,</span><span·class="w">
408 ··</span><span·class="p"·data-group-id="6809074341-14">[</span><span·class="p"·data-group-id="6809074341-15">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6809074341-16">[</span><span·class="p"·data-group-id="6809074341-16">]<[·...·truncated·by·diffoscope;·len:·630,·SHA:·cf064addc1dbe2436bf2bf4339cb8c5698bc914afe85a95609830000e8798b02·...·]-2">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">408 ··</span><span·class="p"·data-group-id="4245553114-14">[</span><span·class="p"·data-group-id="4245553114-15">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4245553114-16">[</span><span·class="p"·data-group-id="4245553114-16">]<[·...·truncated·by·diffoscope;·len:·630,·SHA:·87fc25d95fc95bde48ec46f7e43b0affd91e77efff1802defcf2fbb4e010c5e6·...·]-2">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
409 ··</span><span·class="p"·data-group-id="2277229613-3">[</span><span·class="p"·data-group-id="2277229613-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2277229613-5">{</span><span·class="nb">length</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·242,·SHA:·9111db1a79083aad62dadf3e25bb4cb2b367c4642e05a03d0c09d70368b608dc·...·]-3">]</span><span·class="p">,</span><span·class="w">409 ··</span><span·class="p"·data-group-id="7661441141-3">[</span><span·class="p"·data-group-id="7661441141-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="7661441141-5">{</span><span·class="nb">length</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·242,·SHA:·821664bbf5f77d1b4ef4797d042d07eded65fed9b961be229784ebc568e50df4·...·]-3">]</span><span·class="p">,</span><span·class="w">
410 ··</span><span·class="p"·data-group-id="2277229613-6">[</span><span·class="p"·data-group-id="2277229613-7">{</span><span·class="ss">return_trace</span><span·class="p"·data-group-id="2277229613-7">}</span><span·class="p"·data-group-id="2277229613-6">]</span><span·class="p"·data-group-id="2277229613-2">}</span><span·class="p">,</span><span·class="w"> 
411 ·</span><span·class="p"·data-group-id="2277229613-8">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2277229613-9">[</span><span·class="p"·data-group-id="2277229613-9">]</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·296,·SHA:·44f068419a289a538dec02aa8a5e758f0e50dbf5482f3e382dca6dc1862fb09d·...·]410 ··</span><span·class="p"·data-group-id="7661441141-6">[</span><span·class="p"·data-group-id="7661441141-7">{</span><span·class="ss">return_trace</span><span·class="p"·data-group-id="7661441141-7">}</span><span·class="p"·data-group-id="7661441141-6">]</span>[·...·truncated·by·diffoscope;·len:·93,·SHA:·572bfb5fed10bb2b0e1d1b29a7d79bbc945638a88ceaac465c3d38f6a4a1e1df·...·]
 411 ·</span><span·class="p"·data-group-id="7661441141-8">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="7661441141-9">[</span><span·class="p"·data-group-id="7661441141-9">]</span><span·class="p">,</span><span·class="p"·data-group-id="7661441141-10">[</span><span·class="p"·data-group-id="7661441141-10">]</span><span·class="p"·data-group-id="7661441141-8">}</span><span·class="p"·data-group-id="7661441141-1">]</span></code></pre><p>Generate·a·trace·message·only·if·the·function·is·of·arity·3·and·the·first
412 argument·is·<code·class="inline">'trace'</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9260212128-1">[</span><span·class="p"·data-group-id="9260212128-2">{</span><span·class="p"·data-group-id="9260212128-3">[</span><span·class="ss">&#39;trace&#39;</span><span·class="p">,</span><span·class="ss">&#39;$2&#39;</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·72,·SHA:·84a03b3dcd71443195d142194ad2f98b8bd2df4894afcca3d8784991c1d452b1·...·]-3">]</span><span·class="p">,</span><span·class="w">412 argument·is·<code·class="inline">'trace'</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4278483117-1">[</span><span·class="p"·data-group-id="4278483117-2">{</span><span·class="p"·data-group-id="4278483117-3">[</span><span·class="ss">&#39;trace&#39;</span><span·class="p">,</span><span·class="ss">&#39;$2&#39;</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·72,·SHA:·4d0f933c05af26dc4344121cb46260e08ae084286b5c74ab3eede2cf7b23dcfe·...·]-3">]</span><span·class="p">,</span><span·class="w">
413 ··</span><span·class="p"·data-group-id="9260212128-4">[</span><span·class="p"·data-group-id="9260212128-4">]</span><span·class="p">,</span><span·class="w">413 ··</span><span·class="p"·data-group-id="4278483117-4">[</span><span·class="p"·data-group-id="4278483117-4">]</span><span·class="p">,</span><span·class="w">
414 ··</span><span·class="p"·data-group-id="9260212128-5">[</span><span·class="p"·data-group-id="9260212128-5">]</span><span·class="p"·data-group-id="9260212128-2">}</span><span·class="p">,</span><span·class="w">414 ··</span><span·class="p"·data-group-id="4278483117-5">[</span><span·class="p"·data-group-id="4278483117-5">]</span><span·class="p"·data-group-id="4278483117-2">}</span><span·class="p">,</span><span·class="w">
415 ·</span><span·class="p"·data-group-id="9260212128-6">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="9260212128-7">[</span><span·class="p"·data-group-id="9260212128-7">]</span><span·class="p">,</span><span·class="p"·data-group-id="9260212128-8">[·...·truncated·by·diffoscope;·len:·155,·SHA:·bd9181305cb7864b2dd20b0e38f72bb04fa1c1616c81efa1af13aa8246491fd6·...·]-1">]</span></code></pre><h2·id="ets-examples"·class="section-heading">415 ·</span><span·class="p"·data-group-id="4278483117-6">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4278483117-7">[</span><span·class="p"·data-group-id="4278483117-7">]</span><span·class="p">,</span><span·class="p"·data-group-id="4278483117-8">[·...·truncated·by·diffoscope;·len:·155,·SHA:·7235e9457cb351605d3fde01313b15ce3ad3ebcf7339d7d4ed9135cdf1a98956·...·]-1">]</span></code></pre><h2·id="ets-examples"·class="section-heading">
416 ··<a·href="#ets-examples"·class="hover-link">416 ··<a·href="#ets-examples"·class="hover-link">
417 ····<i·class="ri-link-m"·aria-hidden="true"></i>417 ····<i·class="ri-link-m"·aria-hidden="true"></i>
418 ··</a>418 ··</a>
419 ··<span·class="text">ETS·Examples</span>419 ··<span·class="text">ETS·Examples</span>
420 </h2>420 </h2>
421 <p>Match·all·objects·in·an·ETS·table,·where·the·first·element·is·the·atom421 <p>Match·all·objects·in·an·ETS·table,·where·the·first·element·is·the·atom
422 <code·class="inline">'strider'</code>·and·the·tuple·arity·is·3,·and·return·the·whole·object:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7615620125-1">[</span><span·class="p"·data-group-id="7615620125-2">{</span><span·class="p"·data-group-id="7615620125-3">{</span><span·class="ss">strider</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="s[·...·truncated·by·diffoscope;·len:·62,·SHA:·70c9270ac3db6268ed13a15ed0f387f428c3beeb90e17ce5a19dfa29aba67de5·...·]-3">}</span><span·class="p">,</span><span·class="w">422 <code·class="inline">'strider'</code>·and·the·tuple·arity·is·3,·and·return·the·whole·object:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9238239128-1">[</span><span·class="p"·data-group-id="9238239128-2">{</span><span·class="p"·data-group-id="9238239128-3">{</span><span·class="ss">strider</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="s[·...·truncated·by·diffoscope;·len:·62,·SHA:·b4553c1af156709e4f3b72825659c764a183d641b311bfd5faa3559c98db47f3·...·]-3">}</span><span·class="p">,</span><span·class="w">
423 ··</span><span·class="p"·data-group-id="7615620125-4">[</span><span·class="p"·data-group-id="7615620125-4">]</span><span·class="p">,</span><span·class="w">423 ··</span><span·class="p"·data-group-id="9238239128-4">[</span><span·class="p"·data-group-id="9238239128-4">]</span><span·class="p">,</span><span·class="w">
424 ··</span><span·class="p"·data-group-id="7615620125-5">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="7615620125-5">]</span><span·class="p"·data-group-id="7615620125-2">}</span><span·class="p"·data-group-id="7615620125-1">]</span></code></pre><p>Match·all·objects·in·an·ETS·table·with·arity·&gt;·1·and·the·first·element·is424 ··</span><span·class="p"·data-group-id="9238239128-5">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="9238239128-5">]</span><span·class="p"·data-group-id="9238239128-2">}</span><span·class="p"·data-group-id="9238239128-1">]</span></code></pre><p>Match·all·objects·in·an·ETS·table·with·arity·&gt;·1·and·the·first·element·is
425 'gandalf',·and·return·element·2:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5194573151-1">[</span><span·class="p"·data-group-id="5194573151-2">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">425 'gandalf',·and·return·element·2:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3637429461-1">[</span><span·class="p"·data-group-id="3637429461-2">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
426 ··</span><span·class="p"·data-group-id="5194573151-3">[</span><span·class="p"·data-group-id="5194573151-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">gandalf</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·829,·SHA:·f34948c4be47f2b4322eb232fae1ffadd2222eb6178b589151e46a251b8002e7·...·]1-3">]</span><span·class="p">,</span><span·class="w">426 ··</span><span·class="p"·data-group-id="3637429461-3">[</span><span·class="p"·data-group-id="3637429461-4">{</span><span·class="ss">&#39;==&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">gandalf</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·829,·SHA:·63f66b99905579f974385cfae3782302db08d3c790c6102e2702d1333a0d4dba·...·]1-3">]</span><span·class="p">,</span><span·class="w">
427 ··</span><span·class="p"·data-group-id="5194573151-8">[</span><span·class="p"·data-group-id="5194573151-9">{</span><span·class="nb">element</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="5194573151[·...·truncated·by·diffoscope;·len:·158,·SHA:·dee1683483897daa027ca3fc3e5e331592c06ed52b8e7186589bf368508ba198·...·]1-1">]</span></code></pre><p>In·this·example,·if·the·first·element·had·been·the·key,·it·is·much·more427 ··</span><span·class="p"·data-group-id="3637429461-8">[</span><span·class="p"·data-group-id="3637429461-9">{</span><span·class="nb">element</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="3637429461[·...·truncated·by·diffoscope;·len:·158,·SHA:·bf28f67d942ac4c4f4d671af71348119f3e851ec9e8a9269211183f539e6bb1f·...·]1-1">]</span></code></pre><p>In·this·example,·if·the·first·element·had·been·the·key,·it·is·much·more
428 efficient·to·match·that·key·in·the·<code·class="inline">MatchHead</code>·part·than·in·the428 efficient·to·match·that·key·in·the·<code·class="inline">MatchHead</code>·part·than·in·the
429 <code·class="inline">MatchConditions</code>·part.·The·search·space·of·the·tables·is·restricted·with429 <code·class="inline">MatchConditions</code>·part.·The·search·space·of·the·tables·is·restricted·with
430 regards·to·the·<code·class="inline">MatchHead</code>·so·that·only·objects·with·the·matching·key·are430 regards·to·the·<code·class="inline">MatchHead</code>·so·that·only·objects·with·the·matching·key·are
431 searched.</p><p>Match·tuples·of·three·elements,·where·the·second·element·is·either·<code·class="inline">'merry'</code>·or431 searched.</p><p>Match·tuples·of·three·elements,·where·the·second·element·is·either·<code·class="inline">'merry'</code>·or
432 <code·class="inline">'pippin'</code>,·and·return·the·whole·objects:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0513354435-1">[</span><span·class="p"·data-group-id="0513354435-2">{</span><span·class="p"·data-group-id="0513354435-3">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="ss">merry</span><span·class="p">,</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·60,·SHA:·a4172621f5ac8f3a4002a766f6035c46437fb64de40d69ac49419d14e7ef3648·...·]-3">}</span><span·class="p">,</span><span·class="w">432 <code·class="inline">'pippin'</code>,·and·return·the·whole·objects:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7033802498-1">[</span><span·class="p"·data-group-id="7033802498-2">{</span><span·class="p"·data-group-id="7033802498-3">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="ss">merry</span><span·class="p">,</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·60,·SHA:·8631efef2c6f65098665ffd0ed9bbef639290fa10995d9691b4b2f1ad5aadfb0·...·]-3">}</span><span·class="p">,</span><span·class="w">
433 ··</span><span·class="p"·data-group-id="0513354435-4">[</span><span·class="p"·data-group-id="0513354435-4">]</span><span·class="p">,</span><span·class="w">433 ··</span><span·class="p"·data-group-id="7033802498-4">[</span><span·class="p"·data-group-id="7033802498-4">]</span><span·class="p">,</span><span·class="w">
434 ··</span><span·class="p"·data-group-id="0513354435-5">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="0513354435-5">]</span><span·class="p"·data-group-id="0513354435-2">}</span><span·class="p">,</span><span·class="w">434 ··</span><span·class="p"·data-group-id="7033802498-5">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="7033802498-5">]</span><span·class="p"·data-group-id="7033802498-2">}</span><span·class="p">,</span><span·class="w">
435 ·</span><span·class="p"·data-group-id="0513354435-6">{</span><span·class="p"·data-group-id="0513354435-7">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="ss">pippin</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="05[·...·truncated·by·diffoscope;·len:·8,·SHA:·4e4fa2e8084d075139d46e99923c404b4c3b5007fb78644ed6dc43e78592ecfe·...·]-7">}</span><span·class="p">,</span><span·class="w">435 ·</span><span·class="p"·data-group-id="7033802498-6">{</span><span·class="p"·data-group-id="7033802498-7">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="ss">pippin</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="70[·...·truncated·by·diffoscope;·len:·8,·SHA:·40257697fc696ecae373a4cc43e97db5496f5bb62f08f558ee2edd9caf91fcaf·...·]-7">}</span><span·class="p">,</span><span·class="w">
436 ··</span><span·class="p"·data-group-id="0513354435-8">[</span><span·class="p"·data-group-id="0513354435-8">]</span><span·class="p">,</span><span·class="w">436 ··</span><span·class="p"·data-group-id="7033802498-8">[</span><span·class="p"·data-group-id="7033802498-8">]</span><span·class="p">,</span><span·class="w">
437 ··</span><span·class="p"·data-group-id="0513354435-9">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="0513354435-9">]</span><span·class="p"·data-group-id="0513354435-6">}</span><span·class="p"·data-group-id="0513354435-1">]</span></code></pre><p>Function·<a·href="../../../lib/stdlib-7.0/doc/html/ets.html#test_ms/2"><code·class="inline">ets:test_ms/2</code></a>·can·be·useful·for·testing·complicated·ETS·matches.</p>437 ··</span><span·class="p"·data-group-id="7033802498-9">[</span><span·class="ss">&#39;$_&#39;</span><span·class="p"·data-group-id="7033802498-9">]</span><span·class="p"·data-group-id="7033802498-6">}</span><span·class="p"·data-group-id="7033802498-1">]</span></code></pre><p>Function·<a·href="../../../lib/stdlib-7.0/doc/html/ets.html#test_ms/2"><code·class="inline">ets:test_ms/2</code></a>·can·be·useful·for·testing·complicated·ETS·matches.</p>
438 </div>438 </div>
  
439 <div·class="bottom-actions"·id="bottom-actions">439 <div·class="bottom-actions"·id="bottom-actions">
440 ··<div·class="bottom-actions-item">440 ··<div·class="bottom-actions-item">
  
441 ······<a·href="time_correction.html"·class="bottom-actions-button"·rel="prev">441 ······<a·href="time_correction.html"·class="bottom-actions-button"·rel="prev">
442 ········<span·class="subheader">442 ········<span·class="subheader">
Offset 477, 15 lines modifiedOffset 477, 15 lines modified
477 ······<p·class="built-using">477 ······<p·class="built-using">
478 ········Built·using478 ········Built·using
479 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the479 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
480 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>480 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
481 ······</p>481 ······</p>
482 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>482 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
483 ····</footer>483 ····</footer>
484 ··</div>484 ··</div>
485 </main>485 </main>
486 </div>486 </div>
487 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>487 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
488 ··<script>488 ··<script>
489 ··let·initialized·=·false;489 ··let·initialized·=·false;
730 B
html2text {}
Max HTML report size reached
94.2 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/notes.html
    
Offset 139, 17 lines modifiedOffset 139, 17 lines modified
139 </h3>139 </h3>
140 <ul><li><p>ETS·tables·with·more·than·2·billion·keys·are·now·supported.</p><p>Own·Id:·OTP-19144·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8589"·title="">PR-8589</a></p></li><li><p>The·zlib·library·included·in·Erlang/OTP·has·been·updated·to·version·1.3.1.</p><p>Own·Id:·OTP-19259·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8862"·title="">PR-8862</a></p></li><li><p><a·href="../../../doc/system/embedded.html#to_erl"><code·class="inline">to_erl</code></a>·no·longer·clears·the·screen·when·attaching·to·a·<a·href="run_erl_cmd.html"><code·class="inline">run_erl</code></a>·session.</p><p>Own·Id:·OTP-19263·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8943"·title="">PR-8943</a></p></li><li><p>The·size·of·an·atom·in·the·Erlang·source·code·was·limited·to·255·bytes·in·previous·releases,·meaning·that·an·atom·containing·only·emojis·could·contain·only·63·emojis.</p><p>While·atoms·are·still·only·allowed·to·contain·255·characters,·the·number·of·bytes·is·no·longer·limited.</p><p>External·tools·that·parse·the·<code·class="inline">AtU8</code>·chunk·of·a·BEAM·file·directly·need·to·be·updated.·Tools·that·use·<a·href="../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[atoms])</code></a>·to·read·the·atom·table·will·continue·to·work.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19285·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8913"·title="">PR-8913</a></p></li><li><p>Fixed·a·bug·where·<a·href="erlc_cmd.html"><code·class="inline">erlc</code></a>·would·crash·if·its·path·contained·spaces.</p><p>Own·Id:·OTP-19295·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8937"·title="">PR-8937</a></p></li><li><p>The·<a·href="erl_cmd.html#noshell"><code·class="inline">-noshell</code></a>·mode·has·been·updated·to·read·data·lazily·from·standard·input.·Before·this·fix·any·data·would·be·read·greedily·which·meant·that·Erlang·could·consume·data·not·meant·for·it.·It·also·meant·that·in·order·for·<a·href="../../../lib/stdlib-7.0/doc/html/shell.html#start_interactive/0"><code·class="inline">shell:start_interactive/0</code></a>·to·work·on·Windows·an·API·that·did·not·support·reading·of·Unicode·characters·had·to·be·used.</p><p>Own·Id:·OTP-19313·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8113"·title="">GH-8113</a></p></li><li><p>The·literals·chunk·in·BEAM·is·no·longer·compressed,·resulting·in·slightly·smaller·BEAM·files·when·a·BEAM·file·is·stripped·using·<a·href="../../../lib/stdlib-7.0/doc/html/beam_lib.html#strip_files/1"><code·class="inline">beam_lib:strip_files/1</code></a>.</p><p>This·is·a·potential·incompatibility·for·tools·that·read·and·interpret·the·contents·of·the·literal·chunk.·One·way·to·update·such·tools·to·work·with·the·new·format·is·to·retrieve·the·chunk·using·<a·href="../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[literals])</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19323·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8967"·title="">GH-8967</a>,·<a·href="https://github.com/erlang/otp/pull/8988"·title="">PR-8988</a></p></li><li><p>Fixed·<a·href="erlang.html#localtime_to_universaltime/2"><code·class="inline">erlang:localtime_to_universaltime/2</code></a>·with·<code·class="inline">IsDST</code>·set·to·<code·class="inline">true</code>·and·a·timezone·without·daylight·saving·(for·example·<code·class="inline">UTC</code>)·to·assume·that·the·provided·localtime·does·not·have·DST.·This·has·always·been·the·behaviour,·but·glibc·versions·after·2.37·changed·it·so·that·the·behavior·in·Erlang·also·changed.</p><p>Own·Id:·OTP-19453·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9207"·title="">PR-9207</a></p></li><li><p>Support·for·the·<code·class="inline">TZ</code>·environment·variable·has·been·added·on·Windows.·Before·this·change·only·the·time·zone·configured·in·the·OS·was·ever·used.</p><p>Own·Id:·OTP-19454·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9207"·title="">PR-9207</a></p></li><li><p>Suppressed·various·warnings·when·building·the·emulator·with·recent·versions·of·GCC</p><p>Own·Id:·OTP-19488·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9413"·title="">GH-9413</a>,·<a·href="https://github.com/erlang/otp/pull/9417"·title="">PR-9417</a></p></li><li><p>Fixed·a·bug·in·re:run·and·re:compile·where·the·pattern·parameter·would·be·read·incorrectly·if·it·was·a·sub-binary.</p><p>Own·Id:·OTP-19507·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9478"·title="">PR-9478</a>,·<a·href="https://github.com/erlang/otp/issues/9438"·title="">GH-9438</a></p></li><li><p>Fixed·a·broken·makefile·rule·that·made·it·so·that··<code·class="inline">O2</code>·and·<code·class="inline">-O2</code>·could·not·be·part·of·the·directory·path·when·building·Erlang/OTP.·Bug·has·been·present·since·R11B·released·2006.</p><p>Own·Id:·OTP-19518·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9488"·title="">PR-9488</a>,·<a·href="https://github.com/erlang/otp/issues/9487"·title="">GH-9487</a></p></li><li><p>Fixed·the·index·types·of·modules·<code·class="inline">atomics</code>·and·<code·class="inline">counters</code>·from·<code·class="inline">integer()</code>·to·<code·class="inline">pos_integer()</code>,·which·is·more·correct.</p><p>Own·Id:·OTP-19532·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9538"·title="">PR-9538</a></p></li><li><p>Fix·<a·href="erl_cmd.html"><code·class="inline">erl</code></a>·flags·<code·class="inline">+Q</code>,·<code·class="inline">+P</code>·and·<code·class="inline">+t</code>·to·not·allow·values·greater·than·4294975487.·Before·this·fix,·the·runtime·would·either·truncate·the·value·or·crash·depending·on·which·value·was·given.</p><p>Own·Id:·OTP-19594·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9671"·title="">PR-9671</a>,·<a·href="https://github.com/erlang/otp/issues/9668"·title="">GH-9668</a></p></li><li><p>The·socket·option·names·for·built-in·socket·options·in·the·module·<code·class="inline">socket</code>·has·been·cleaned·up.</p><p>Now,·for·known·socket·options,·it·is·only·the·canonical·protocol·names·that·are·allowed·such·as·<code·class="inline">ip</code>·for·the·socket·option·<code·class="inline">{ip,recvtos}</code>.··Previously,·due·to·being·a·protocol·alias;·<code·class="inline">{'IP',recvtos}</code>·was·also·allowed,·as·was·the·incorrect·<code·class="inline">{hopopt,recvtos}</code>·because·the·protocol·<code·class="inline">hopopt</code>·on·Linux·has·the·same·protocol·number·as·<code·class="inline">ip</code>.</p><p>So,·to·reduce·confusion,·all·enumerated·protocol·names·with·the·same·number,·are·not·allowed·for·the·known·protocol·options,·only·the·canonical·name.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19615·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9718"·title="">PR-9718</a></p></li><li><p>On·windows,·socket:sendv·could·incorrectly·return·{ok,·integer()}·on·Windows.</p><p>Own·Id:·OTP-19617·Aux·Id:·OTP-19482</p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>ETS·tables·with·more·than·2·billion·keys·are·now·supported.</p><p>Own·Id:·OTP-19144·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8589"·title="">PR-8589</a></p></li><li><p>The·zlib·library·included·in·Erlang/OTP·has·been·updated·to·version·1.3.1.</p><p>Own·Id:·OTP-19259·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8862"·title="">PR-8862</a></p></li><li><p><a·href="../../../doc/system/embedded.html#to_erl"><code·class="inline">to_erl</code></a>·no·longer·clears·the·screen·when·attaching·to·a·<a·href="run_erl_cmd.html"><code·class="inline">run_erl</code></a>·session.</p><p>Own·Id:·OTP-19263·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8943"·title="">PR-8943</a></p></li><li><p>The·size·of·an·atom·in·the·Erlang·source·code·was·limited·to·255·bytes·in·previous·releases,·meaning·that·an·atom·containing·only·emojis·could·contain·only·63·emojis.</p><p>While·atoms·are·still·only·allowed·to·contain·255·characters,·the·number·of·bytes·is·no·longer·limited.</p><p>External·tools·that·parse·the·<code·class="inline">AtU8</code>·chunk·of·a·BEAM·file·directly·need·to·be·updated.·Tools·that·use·<a·href="../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[atoms])</code></a>·to·read·the·atom·table·will·continue·to·work.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19285·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8913"·title="">PR-8913</a></p></li><li><p>Fixed·a·bug·where·<a·href="erlc_cmd.html"><code·class="inline">erlc</code></a>·would·crash·if·its·path·contained·spaces.</p><p>Own·Id:·OTP-19295·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8937"·title="">PR-8937</a></p></li><li><p>The·<a·href="erl_cmd.html#noshell"><code·class="inline">-noshell</code></a>·mode·has·been·updated·to·read·data·lazily·from·standard·input.·Before·this·fix·any·data·would·be·read·greedily·which·meant·that·Erlang·could·consume·data·not·meant·for·it.·It·also·meant·that·in·order·for·<a·href="../../../lib/stdlib-7.0/doc/html/shell.html#start_interactive/0"><code·class="inline">shell:start_interactive/0</code></a>·to·work·on·Windows·an·API·that·did·not·support·reading·of·Unicode·characters·had·to·be·used.</p><p>Own·Id:·OTP-19313·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8113"·title="">GH-8113</a></p></li><li><p>The·literals·chunk·in·BEAM·is·no·longer·compressed,·resulting·in·slightly·smaller·BEAM·files·when·a·BEAM·file·is·stripped·using·<a·href="../../../lib/stdlib-7.0/doc/html/beam_lib.html#strip_files/1"><code·class="inline">beam_lib:strip_files/1</code></a>.</p><p>This·is·a·potential·incompatibility·for·tools·that·read·and·interpret·the·contents·of·the·literal·chunk.·One·way·to·update·such·tools·to·work·with·the·new·format·is·to·retrieve·the·chunk·using·<a·href="../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[literals])</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19323·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8967"·title="">GH-8967</a>,·<a·href="https://github.com/erlang/otp/pull/8988"·title="">PR-8988</a></p></li><li><p>Fixed·<a·href="erlang.html#localtime_to_universaltime/2"><code·class="inline">erlang:localtime_to_universaltime/2</code></a>·with·<code·class="inline">IsDST</code>·set·to·<code·class="inline">true</code>·and·a·timezone·without·daylight·saving·(for·example·<code·class="inline">UTC</code>)·to·assume·that·the·provided·localtime·does·not·have·DST.·This·has·always·been·the·behaviour,·but·glibc·versions·after·2.37·changed·it·so·that·the·behavior·in·Erlang·also·changed.</p><p>Own·Id:·OTP-19453·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9207"·title="">PR-9207</a></p></li><li><p>Support·for·the·<code·class="inline">TZ</code>·environment·variable·has·been·added·on·Windows.·Before·this·change·only·the·time·zone·configured·in·the·OS·was·ever·used.</p><p>Own·Id:·OTP-19454·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9207"·title="">PR-9207</a></p></li><li><p>Suppressed·various·warnings·when·building·the·emulator·with·recent·versions·of·GCC</p><p>Own·Id:·OTP-19488·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9413"·title="">GH-9413</a>,·<a·href="https://github.com/erlang/otp/pull/9417"·title="">PR-9417</a></p></li><li><p>Fixed·a·bug·in·re:run·and·re:compile·where·the·pattern·parameter·would·be·read·incorrectly·if·it·was·a·sub-binary.</p><p>Own·Id:·OTP-19507·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9478"·title="">PR-9478</a>,·<a·href="https://github.com/erlang/otp/issues/9438"·title="">GH-9438</a></p></li><li><p>Fixed·a·broken·makefile·rule·that·made·it·so·that··<code·class="inline">O2</code>·and·<code·class="inline">-O2</code>·could·not·be·part·of·the·directory·path·when·building·Erlang/OTP.·Bug·has·been·present·since·R11B·released·2006.</p><p>Own·Id:·OTP-19518·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9488"·title="">PR-9488</a>,·<a·href="https://github.com/erlang/otp/issues/9487"·title="">GH-9487</a></p></li><li><p>Fixed·the·index·types·of·modules·<code·class="inline">atomics</code>·and·<code·class="inline">counters</code>·from·<code·class="inline">integer()</code>·to·<code·class="inline">pos_integer()</code>,·which·is·more·correct.</p><p>Own·Id:·OTP-19532·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9538"·title="">PR-9538</a></p></li><li><p>Fix·<a·href="erl_cmd.html"><code·class="inline">erl</code></a>·flags·<code·class="inline">+Q</code>,·<code·class="inline">+P</code>·and·<code·class="inline">+t</code>·to·not·allow·values·greater·than·4294975487.·Before·this·fix,·the·runtime·would·either·truncate·the·value·or·crash·depending·on·which·value·was·given.</p><p>Own·Id:·OTP-19594·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9671"·title="">PR-9671</a>,·<a·href="https://github.com/erlang/otp/issues/9668"·title="">GH-9668</a></p></li><li><p>The·socket·option·names·for·built-in·socket·options·in·the·module·<code·class="inline">socket</code>·has·been·cleaned·up.</p><p>Now,·for·known·socket·options,·it·is·only·the·canonical·protocol·names·that·are·allowed·such·as·<code·class="inline">ip</code>·for·the·socket·option·<code·class="inline">{ip,recvtos}</code>.··Previously,·due·to·being·a·protocol·alias;·<code·class="inline">{'IP',recvtos}</code>·was·also·allowed,·as·was·the·incorrect·<code·class="inline">{hopopt,recvtos}</code>·because·the·protocol·<code·class="inline">hopopt</code>·on·Linux·has·the·same·protocol·number·as·<code·class="inline">ip</code>.</p><p>So,·to·reduce·confusion,·all·enumerated·protocol·names·with·the·same·number,·are·not·allowed·for·the·known·protocol·options,·only·the·canonical·name.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19615·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9718"·title="">PR-9718</a></p></li><li><p>On·windows,·socket:sendv·could·incorrectly·return·{ok,·integer()}·on·Windows.</p><p>Own·Id:·OTP-19617·Aux·Id:·OTP-19482</p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p>Functionality·making·it·possible·for·processes·to·enable·reception·of·<a·href="../../../doc/system/ref_man_processes.html#priority-messages">priority·messages</a>·has·been·introduced·in·accordance·with·<a·href="https://www.erlang.org/eeps/eep-0076">EEP·76</a>.</p><p>Own·Id:·OTP-19198·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9269"·title="">PR-9269</a>,·<a·href="https://github.com/erlang/otp/pull/9519"·title="">PR-9519</a>,·<a·href="https://github.com/erlang/otp/pull/9590"·title="">PR-9590</a></p></li><li><p>The·<a·href="../../../lib/kernel-10.3/doc/html/trace.html#system/3"><code·class="inline">trace:system/3</code></a>·function·has·been·added.·It·has·a·similar·interface·as·<a·href="erlang.html#system_monitor/2"><code·class="inline">erlang:system_monitor/2</code></a>·but·it·also·supports·trace·sessions.</p><p>Own·Id:·OTP-19271·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8660"·title="">PR-8660</a></p></li><li><p>Added·support·for·<code·class="inline">SIGWINCH</code>,·<code·class="inline">SIGCONT</code>,·and·<code·class="inline">SIGINFO</code>·signals·to·<a·href="../../../lib/kernel-10.3/doc/html/os.html#set_signal/2"><code·class="inline">os:set_signal/2</code></a>·where·available.</p><p>Own·Id:·OTP-19278·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8887"·title="">PR-8887</a>,·<a·href="https://github.com/erlang/otp/pull/8938"·title="">PR-8938</a></p></li><li><p>The·<a·href="erl_cmd.html#noshell"><code·class="inline">erl·-noshell</code></a>·mode·has·been·updated·to·have·two·sub·modes·called·<code·class="inline">raw</code>·and·<code·class="inline">cooked</code>,·where·<code·class="inline">cooked</code>·is·the·old·default·behaviour·and·<code·class="inline">raw</code>·can·be·used·to·bypass·the·line-editing·support·of·the·native·terminal.·Using·<code·class="inline">raw</code>·mode·it·is·possible·to·read·keystrokes·as·they·happen·without·the·user·having·to·press·Enter.·Also,·the·<code·class="inline">raw</code>·mode·does·not·echo·the·typed·characters·to·stdout.·An·example·of·how·to·create·a·tic-tac-toe·game·using·this·mechanism·is·included·in·<a·href="../../../lib/stdlib-7.0/doc/html/terminal_interface.html">the·documentation</a>.</p><p>Own·Id:·OTP-19314·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8037"·title="">GH-8037</a></p></li><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="7837489573-1">(</span><span·class="p"·data-group-id="7837489573-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7837489573-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·66569e4b5ea69448759e7fde77380da8e8c681a19601b5d64fcba3401e01c35f·...·]-2">)</span><span·class="p">.</span><span·class="w">146 <ul><li><p>Functionality·making·it·possible·for·processes·to·enable·reception·of·<a·href="../../../doc/system/ref_man_processes.html#priority-messages">priority·messages</a>·has·been·introduced·in·accordance·with·<a·href="https://www.erlang.org/eeps/eep-0076">EEP·76</a>.</p><p>Own·Id:·OTP-19198·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9269"·title="">PR-9269</a>,·<a·href="https://github.com/erlang/otp/pull/9519"·title="">PR-9519</a>,·<a·href="https://github.com/erlang/otp/pull/9590"·title="">PR-9590</a></p></li><li><p>The·<a·href="../../../lib/kernel-10.3/doc/html/trace.html#system/3"><code·class="inline">trace:system/3</code></a>·function·has·been·added.·It·has·a·similar·interface·as·<a·href="erlang.html#system_monitor/2"><code·class="inline">erlang:system_monitor/2</code></a>·but·it·also·supports·trace·sessions.</p><p>Own·Id:·OTP-19271·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8660"·title="">PR-8660</a></p></li><li><p>Added·support·for·<code·class="inline">SIGWINCH</code>,·<code·class="inline">SIGCONT</code>,·and·<code·class="inline">SIGINFO</code>·signals·to·<a·href="../../../lib/kernel-10.3/doc/html/os.html#set_signal/2"><code·class="inline">os:set_signal/2</code></a>·where·available.</p><p>Own·Id:·OTP-19278·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8887"·title="">PR-8887</a>,·<a·href="https://github.com/erlang/otp/pull/8938"·title="">PR-8938</a></p></li><li><p>The·<a·href="erl_cmd.html#noshell"><code·class="inline">erl·-noshell</code></a>·mode·has·been·updated·to·have·two·sub·modes·called·<code·class="inline">raw</code>·and·<code·class="inline">cooked</code>,·where·<code·class="inline">cooked</code>·is·the·old·default·behaviour·and·<code·class="inline">raw</code>·can·be·used·to·bypass·the·line-editing·support·of·the·native·terminal.·Using·<code·class="inline">raw</code>·mode·it·is·possible·to·read·keystrokes·as·they·happen·without·the·user·having·to·press·Enter.·Also,·the·<code·class="inline">raw</code>·mode·does·not·echo·the·typed·characters·to·stdout.·An·example·of·how·to·create·a·tic-tac-toe·game·using·this·mechanism·is·included·in·<a·href="../../../lib/stdlib-7.0/doc/html/terminal_interface.html">the·documentation</a>.</p><p>Own·Id:·OTP-19314·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8037"·title="">GH-8037</a></p></li><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="5852050560-1">(</span><span·class="p"·data-group-id="5852050560-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5852050560-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·2a22c54785468975c8071c1a38fcf0bd7405e86847069db2b704eeff26a14b4f·...·]-2">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="7837489573-3">(</span><span·class="p"·data-group-id="7837489573-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7837489573-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·d0dd31e1df366d1684474ed5dcb5807ff5ea2bba1f40647d4442c1832ac02dab·...·]-2">)</span><span·class="p">.</span><span·class="w">147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="5852050560-3">(</span><span·class="p"·data-group-id="5852050560-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5852050560-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·76528516a84da2c58fc945b7351028de5d2112b65f3967d2c5735830032ba297·...·]-2">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="1793836709-3">(</span><span·class="p"·data-group-id="1793836709-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1793836709-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·bc204e39640a6feaf390d0c20e124ddb272c3698b1846f49817cce56daa5c74c·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Two·BIFs·have·been·added·to·the·<a·href="erlang.html"><code·class="inline">erlang</code></a>·module.·</p><p><a·href="erlang.html#processes_iterator/0"><code·class="inline">erlang:processes_iterator/0</code></a>·returns·a·process·iterator·that·can·be·used·to148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="8337109875-3">(</span><span·class="p"·data-group-id="8337109875-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8337109875-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·9941cbc79a0cb9633a8cb3fe66a75b842449f41b56173116022487068d6b93cd·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Two·BIFs·have·been·added·to·the·<a·href="erlang.html"><code·class="inline">erlang</code></a>·module.·</p><p><a·href="erlang.html#processes_iterator/0"><code·class="inline">erlang:processes_iterator/0</code></a>·returns·a·process·iterator·that·can·be·used·to
149 iterate·through·the·process·table.</p><p><code·class="inline">erlang:process_next/1</code>·takes·in·a·process·iterator·and·returns·a·2-tuple,·consisting·of·a·process·identifier·and·a·new·process·iterator.·When·the·process·iterator·runs·out·of·processes·in·the·process·table,·<code·class="inline">none</code>·will·be·returned.</p><p>Using·these·BIFs·to·scan·the·processes·scales·better·than·using·<a·href="erlang.html#processes/0"><code·class="inline">erlang:processes/0</code></a>,·at·the·cost·of·giving·less·consistency·guarantees.·Process·identifiers·returned·from·consecutive·calls·of·<code·class="inline">erlang:process_next/1</code>·may·not·be·a·consistent·snapshot·of·all·elements·existing·in·the·table·during·any·of·the·calls.·A·process·identifier·is·only·guaranteed·to·be·returned·from·a·call·to·<a·href="erlang.html#processes_next/1"><code·class="inline">erlang:processes_next/1</code></a>·if·it·was·alive·before·the·call·to·<a·href="erlang.html#processes_iterator/0"><code·class="inline">erlang:processes_iterator/0</code></a>·and·was·still·alive·when·<a·href="erlang.html#processes_next/1"><code·class="inline">erlang:processes_next/1</code></a>·returned·<code·class="inline">none</code>.</p><p>Own·Id:·OTP-19369·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9129"·title="">PR-9129</a></p></li><li><p>Improved·open·debug·for·gen_tcp_socket·(connect·and·listen)·and·gen_udp_socket·(open).</p><p>Own·Id:·OTP-19386</p></li><li><p>Module·<a·href="../../../lib/stdlib-7.0/doc/html/re.html"><code·class="inline">re</code></a>·has·been·updated·to·use·PCRE2,·which·is·mostly·backward·compatible·with·PCRE.</p><p>The·most·noticeable·incompatibilities·are</p><ul><li>The·default·character·encoding·is·pure·ASCII·and·not·Latin1.·Unicode·support149 iterate·through·the·process·table.</p><p><code·class="inline">erlang:process_next/1</code>·takes·in·a·process·iterator·and·returns·a·2-tuple,·consisting·of·a·process·identifier·and·a·new·process·iterator.·When·the·process·iterator·runs·out·of·processes·in·the·process·table,·<code·class="inline">none</code>·will·be·returned.</p><p>Using·these·BIFs·to·scan·the·processes·scales·better·than·using·<a·href="erlang.html#processes/0"><code·class="inline">erlang:processes/0</code></a>,·at·the·cost·of·giving·less·consistency·guarantees.·Process·identifiers·returned·from·consecutive·calls·of·<code·class="inline">erlang:process_next/1</code>·may·not·be·a·consistent·snapshot·of·all·elements·existing·in·the·table·during·any·of·the·calls.·A·process·identifier·is·only·guaranteed·to·be·returned·from·a·call·to·<a·href="erlang.html#processes_next/1"><code·class="inline">erlang:processes_next/1</code></a>·if·it·was·alive·before·the·call·to·<a·href="erlang.html#processes_iterator/0"><code·class="inline">erlang:processes_iterator/0</code></a>·and·was·still·alive·when·<a·href="erlang.html#processes_next/1"><code·class="inline">erlang:processes_next/1</code></a>·returned·<code·class="inline">none</code>.</p><p>Own·Id:·OTP-19369·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9129"·title="">PR-9129</a></p></li><li><p>Improved·open·debug·for·gen_tcp_socket·(connect·and·listen)·and·gen_udp_socket·(open).</p><p>Own·Id:·OTP-19386</p></li><li><p>Module·<a·href="../../../lib/stdlib-7.0/doc/html/re.html"><code·class="inline">re</code></a>·has·been·updated·to·use·PCRE2,·which·is·mostly·backward·compatible·with·PCRE.</p><p>The·most·noticeable·incompatibilities·are</p><ul><li>The·default·character·encoding·is·pure·ASCII·and·not·Latin1.·Unicode·support
150 is·still·available·with·options·<code·class="inline">unicode</code>·and·<code·class="inline">ucp</code>.</li><li>Options·<code·class="inline">bsr_anycrlf</code>,·<code·class="inline">bsr_unicode</code>·and·<code·class="inline">{newline,_}</code>·are·only·set·when·a150 is·still·available·with·options·<code·class="inline">unicode</code>·and·<code·class="inline">ucp</code>.</li><li>Options·<code·class="inline">bsr_anycrlf</code>,·<code·class="inline">bsr_unicode</code>·and·<code·class="inline">{newline,_}</code>·are·only·set·when·a
151 regex·is·compiled·and·cannot·be·changed·at·matching·for·precompiled·regex.</li></ul><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19431·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9299"·title="">PR-9299</a>,·<a·href="https://github.com/erlang/otp/pull/9610"·title="">PR-9610</a></p></li><li><p>When·booting·the·runtime·system·on·a·32-bit·computer·with·a·single·core,·the·boot·code·will·try·to·minimize·the·peak·memory·use·by·disabling·parallel·loading·of·BEAM·files.</p><p>Own·Id:·OTP-19450·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9342"·title="">PR-9342</a></p></li><li><p>A·<code·class="inline">socket</code>·option·<code·class="inline">{otp,select_read}</code>·has·been·added·that·enables·keeping·a·socket·in·the·VM·select/poll·set·between·calls·to·recv·functions.</p><p>This·increases·throughput·by·reducing·the·number·of·calls·to·said·functions.</p><p>Own·Id:·OTP-19451·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9344"·title="">PR-9344</a></p></li><li><p><code·class="inline">erlc</code>·will·now·write·compiler·warnings·and·errors·to·standard·error,·instead·of·standard·output,·in·common·with·other·language·compilers.</p><p>Own·Id:·OTP-19460·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9255"·title="">GH-9255</a>,·<a·href="https://github.com/erlang/otp/pull/9363"·title="">PR-9363</a></p></li><li><p>Fixed·the·Windows·build·to·always·include·<code·class="inline">.pdb</code>·files·for·all·DLLs·and·executables·to·help·with·debugging.</p><p>Own·Id:·OTP-19465·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9229"·title="">PR-9229</a></p></li><li><p>Improve·the·naming·of·the·(internal)·esock·mutex(es).·It·is·now·possible·to·configure·(as·in·autoconf)·the·use·of·simple·names·for·the·esock·mutex(es).</p><p>Own·Id:·OTP-19472·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9388"·title="">PR-9388</a></p></li><li><p>An·optimization·for·appending·0·bits·to·a·binary·was·removed·in·patch·releases·for·OTP·versions·25,·26,·and·27.·This·optimization·has·been·reintroduced·in·Erlang/OTP·28.</p><p>Own·Id:·OTP-19473·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9396"·title="">PR-9396</a>,·<a·href="https://github.com/erlang/otp/pull/8697"·title="">PR-8697</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>When·using·<a·href="erl_nif.html#enif_select_read"><code·class="inline">enif_select_read</code></a>·(or·<a·href="erl_nif.html#enif_select"><code·class="inline">enif_select</code></a>·with·<code·class="inline">ERL_NIF_SELECT_READ</code>)·on·systems·with·kernel·polling·enabled·(that·is·most·Unix·systems),·file·descriptors·that·are·always·re-enabled·as·soon·as·they·trigger·are·now·part·of·a·specialized·pollset·just·as·<a·href="erl_driver.html#driver_select"><code·class="inline">driver_select</code></a>.·This·reduces·the·CPU·usage·in·such·scenarios·as·the·erts·does·not·have·to·re-insert·the·FD·everytime·it·it·triggered.·As·a·result·of·this·optimization·<a·href="../../../lib/kernel-10.3/doc/html/socket.html"><code·class="inline">socket</code></a>·based·reading·uses·a·lot·less·CPU·and·achieves·a·higher·throughput.</p><p>Own·Id:·OTP-19479·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9275"·title="">PR-9275</a></p></li><li><p>Added·support·for·compiling·Erlang/OTP·for·Windows·on·ARM64.</p><p>Own·Id:·OTP-19480·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8734"·title="">PR-8734</a></p></li><li><p>The·Windows·installer·no·longer·creates·the·<code·class="inline">erl.ini</code>·file,·making·installations·redistributable.</p><p>Own·Id:·OTP-19481·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9330"·title="">PR-9330</a></p></li><li><p>Added·erlang:hibernate/0,·which·hibernates·a·process·without·discarding·the·stack.</p><p>Own·Id:·OTP-19503·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9406"·title="">PR-9406</a></p></li><li><p>The·asmjit·library·(used·by·BeamJIT)·has·been·updated·to·version·029075b84bf0161a761beb63e6eda519a29020db.</p><p>Own·Id:·OTP-19509·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9495"·title="">PR-9495</a></p></li><li><p>When·compiling·C/C++·code·on·Unix·systems,·the·compiler·hardening·flags·suggested·by·the·<a·href="https://github.com/ossf/wg-best-practices-os-developers/blob/main/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C%2B%2B.md">Open·Source·Security·Foundation</a>·are·now·enabled·by·default.·To·disable·them,·pass·<code·class="inline">--disable-security-hardening-flags</code>·to·<code·class="inline">configure</code>.</p><p>Own·Id:·OTP-19519·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9441"·title="">PR-9441</a></p></li><li><p>If·a·process·being·suspended·using·<a·href="erlang.html#suspend_process/2"><code·class="inline">erlang:suspend_process()</code></a>151 regex·is·compiled·and·cannot·be·changed·at·matching·for·precompiled·regex.</li></ul><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19431·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9299"·title="">PR-9299</a>,·<a·href="https://github.com/erlang/otp/pull/9610"·title="">PR-9610</a></p></li><li><p>When·booting·the·runtime·system·on·a·32-bit·computer·with·a·single·core,·the·boot·code·will·try·to·minimize·the·peak·memory·use·by·disabling·parallel·loading·of·BEAM·files.</p><p>Own·Id:·OTP-19450·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9342"·title="">PR-9342</a></p></li><li><p>A·<code·class="inline">socket</code>·option·<code·class="inline">{otp,select_read}</code>·has·been·added·that·enables·keeping·a·socket·in·the·VM·select/poll·set·between·calls·to·recv·functions.</p><p>This·increases·throughput·by·reducing·the·number·of·calls·to·said·functions.</p><p>Own·Id:·OTP-19451·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9344"·title="">PR-9344</a></p></li><li><p><code·class="inline">erlc</code>·will·now·write·compiler·warnings·and·errors·to·standard·error,·instead·of·standard·output,·in·common·with·other·language·compilers.</p><p>Own·Id:·OTP-19460·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9255"·title="">GH-9255</a>,·<a·href="https://github.com/erlang/otp/pull/9363"·title="">PR-9363</a></p></li><li><p>Fixed·the·Windows·build·to·always·include·<code·class="inline">.pdb</code>·files·for·all·DLLs·and·executables·to·help·with·debugging.</p><p>Own·Id:·OTP-19465·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9229"·title="">PR-9229</a></p></li><li><p>Improve·the·naming·of·the·(internal)·esock·mutex(es).·It·is·now·possible·to·configure·(as·in·autoconf)·the·use·of·simple·names·for·the·esock·mutex(es).</p><p>Own·Id:·OTP-19472·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9388"·title="">PR-9388</a></p></li><li><p>An·optimization·for·appending·0·bits·to·a·binary·was·removed·in·patch·releases·for·OTP·versions·25,·26,·and·27.·This·optimization·has·been·reintroduced·in·Erlang/OTP·28.</p><p>Own·Id:·OTP-19473·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9396"·title="">PR-9396</a>,·<a·href="https://github.com/erlang/otp/pull/8697"·title="">PR-8697</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>When·using·<a·href="erl_nif.html#enif_select_read"><code·class="inline">enif_select_read</code></a>·(or·<a·href="erl_nif.html#enif_select"><code·class="inline">enif_select</code></a>·with·<code·class="inline">ERL_NIF_SELECT_READ</code>)·on·systems·with·kernel·polling·enabled·(that·is·most·Unix·systems),·file·descriptors·that·are·always·re-enabled·as·soon·as·they·trigger·are·now·part·of·a·specialized·pollset·just·as·<a·href="erl_driver.html#driver_select"><code·class="inline">driver_select</code></a>.·This·reduces·the·CPU·usage·in·such·scenarios·as·the·erts·does·not·have·to·re-insert·the·FD·everytime·it·it·triggered.·As·a·result·of·this·optimization·<a·href="../../../lib/kernel-10.3/doc/html/socket.html"><code·class="inline">socket</code></a>·based·reading·uses·a·lot·less·CPU·and·achieves·a·higher·throughput.</p><p>Own·Id:·OTP-19479·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9275"·title="">PR-9275</a></p></li><li><p>Added·support·for·compiling·Erlang/OTP·for·Windows·on·ARM64.</p><p>Own·Id:·OTP-19480·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8734"·title="">PR-8734</a></p></li><li><p>The·Windows·installer·no·longer·creates·the·<code·class="inline">erl.ini</code>·file,·making·installations·redistributable.</p><p>Own·Id:·OTP-19481·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9330"·title="">PR-9330</a></p></li><li><p>Added·erlang:hibernate/0,·which·hibernates·a·process·without·discarding·the·stack.</p><p>Own·Id:·OTP-19503·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9406"·title="">PR-9406</a></p></li><li><p>The·asmjit·library·(used·by·BeamJIT)·has·been·updated·to·version·029075b84bf0161a761beb63e6eda519a29020db.</p><p>Own·Id:·OTP-19509·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9495"·title="">PR-9495</a></p></li><li><p>When·compiling·C/C++·code·on·Unix·systems,·the·compiler·hardening·flags·suggested·by·the·<a·href="https://github.com/ossf/wg-best-practices-os-developers/blob/main/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C%2B%2B.md">Open·Source·Security·Foundation</a>·are·now·enabled·by·default.·To·disable·them,·pass·<code·class="inline">--disable-security-hardening-flags</code>·to·<code·class="inline">configure</code>.</p><p>Own·Id:·OTP-19519·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9441"·title="">PR-9441</a></p></li><li><p>If·a·process·being·suspended·using·<a·href="erlang.html#suspend_process/2"><code·class="inline">erlang:suspend_process()</code></a>
152 currently·is·waiting·in·a·<code·class="inline">receive·...·after</code>·expression,·the·timer·for·the·timeout·will·now·also·be152 currently·is·waiting·in·a·<code·class="inline">receive·...·after</code>·expression,·the·timer·for·the·timeout·will·now·also·be
153 suspended·until·the·process·is·resumed.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19536·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a></p></li><li><p>A·test·module·for·TLS·distribution·over·<code·class="inline">socket</code>·has·been·implemented.</p><p>Own·Id:·OTP-19539·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9511"·title="">PR-9511</a></p></li><li><p>Upgrade·pcre2·to·10.45</p><p>Own·Id:·OTP-19541·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9582"·title="">PR-9582</a></p></li><li><p>The·<code·class="inline">+R</code>·emulator·options·has·been·removed.·It·has·had·any·effect·since·Erlang/OTP·R9.</p><p>Own·Id:·OTP-19551·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9608"·title="">PR-9608</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>Increase·the·default·inet-driver·buffer·size(s).·Also·introduce·kernel·parameters·for·UDP·and·SCTP·to·change·the·sizes·when·creating·(those)·sockets.</p><p>Own·Id:·OTP-19576</p></li><li><p>Add·<a·href="erl_cmd.html#%2BJPperfdirectory"><code·class="inline">+JPperfdirectory·&lt;dir&gt;</code></a>·for·specifying·which·directory·Erlang·should·place·perf·symbol·information·files.</p><p>Own·Id:·OTP-19589·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9639"·title="">PR-9639</a>,·<a·href="https://github.com/erlang/otp/issues/9500"·title="">GH-9500</a></p></li><li><p>Allow·multiple·static·nifs·to·be·part·of·the·same·archive.·See·the·<a·href="erl_nif.html#initialization">NIF·documentation</a>·for·details.</p><p>Own·Id:·OTP-19590·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9625"·title="">PR-9625</a></p></li><li><p>Various·improvements·reducing·lock·contention·on·run·queues·due·to·task·stealing.</p><p>Own·Id:·OTP-19591·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9594"·title="">PR-9594</a></p></li><li><p>The·new·implementation·has·the·same·behavior·as·the·previous·one.·The·newer·compilers·already·have·native·support·for·FP16,·so·this·implementation·is·only·relevant·for·older·compilers.·For·this·reason,·the·new·implementation·has·not·been·tested·for·speed.</p><p>Own·Id:·OTP-19603·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9735"·title="">PR-9735</a></p></li><li><p>An··<strong>experimental</strong>·API·for·a·native·debugger·has·been·added.·The·main·components·are·the·following:</p><ul><li><p>A·new·compiler·option·<code·class="inline">beam_debug_info</code>·for·the·Erlang·compiler.·When·given,·most·optimizations·are·disabled·and·debug·information·suitable·for·the·native·debugger·are·added·to·generated·BEAM·files.</p></li><li><p>A·new·<code·class="inline">+D</code>·emulator·flag.·When·given,·the·VM·becomes·&quot;debuggable&quot;,·which·means·that·when·modules·that·been·compiled·with·the·<code·class="inline">beam_debug_info</code>·option·are·loaded,·the·code·is·instrumented·so·that·one·can·enable·and·disable·breakpoints·on·executable·lines.</p></li><li><p>An·experimental·<code·class="inline">erl_debugger</code>·module·with·a·new·debugging·API.·Essentially,·it·allows·a·single,·local,·process·to·be·registered·as·the·&quot;debugger&quot;·process·for·the·node.·This·process·is·the·one·that·will·receive·messages·notifying·that·a·process·hit·a·breakpoint.·This·way,·the·front-end·implementation·of·a·debugger·(such·as·<a·href="https://github.com/WhatsApp/edb">edb·from·WhatApp</a>)·can·be·decoupled·from·OTP.</p></li><li><p>The·<code·class="inline">erl_debugger</code>·module·also·exposes·new·BIFs·to·inspect·<code·class="inline">X</code>·and·<code·class="inline">Y</code>·registers·of·a·suspended·process.·Together·with·new·code-information·BIFs,·this·let's·a·debugger·show·the·values·of·variables·in·scope·for·a·suspended·process.</p></li></ul><p>Own·Id:·OTP-19609·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a>,·<a·href="https://github.com/erlang/otp/pull/9334"·title="">PR-9334</a>,·<a·href="https://github.com/erlang/otp/pull/9604"·title="">PR-9604</a></p></li><li><p>Update·internal·<code·class="inline">ryu</code>·implementation·to·use·latest·version.·The·new·version·is·a·little·bit·faster·in·some·scenarios.·<code·class="inline">ryu</code>·is·used·by·<a·href="erlang.html#float_to_list/1"><code·class="inline">float_to_list/1</code></a>·and·similar·functions·to·convert·floats·to·strings.</p><p>Own·Id:·OTP-19613·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9733"·title="">PR-9733</a></p></li><li><p>Update·of·MD5·implementation·from·OpenSSL·version·3.1.4·to·3.5.</p><p>Own·Id:·OTP-19614·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9775"·title="">PR-9775</a></p></li><li><p>Small·optimization·in·binary_to_term·by·not·allocating·an·unnecessary·large·native·stack·frame.</p><p>Own·Id:·OTP-19618·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9759"·title="">PR-9759</a>,·<a·href="https://github.com/erlang/otp/pull/9809"·title="">PR-9809</a></p></li></ul><h2·id="erts-15-2-7"·class="section-heading">153 suspended·until·the·process·is·resumed.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19536·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a></p></li><li><p>A·test·module·for·TLS·distribution·over·<code·class="inline">socket</code>·has·been·implemented.</p><p>Own·Id:·OTP-19539·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9511"·title="">PR-9511</a></p></li><li><p>Upgrade·pcre2·to·10.45</p><p>Own·Id:·OTP-19541·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9582"·title="">PR-9582</a></p></li><li><p>The·<code·class="inline">+R</code>·emulator·options·has·been·removed.·It·has·had·any·effect·since·Erlang/OTP·R9.</p><p>Own·Id:·OTP-19551·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9608"·title="">PR-9608</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>Increase·the·default·inet-driver·buffer·size(s).·Also·introduce·kernel·parameters·for·UDP·and·SCTP·to·change·the·sizes·when·creating·(those)·sockets.</p><p>Own·Id:·OTP-19576</p></li><li><p>Add·<a·href="erl_cmd.html#%2BJPperfdirectory"><code·class="inline">+JPperfdirectory·&lt;dir&gt;</code></a>·for·specifying·which·directory·Erlang·should·place·perf·symbol·information·files.</p><p>Own·Id:·OTP-19589·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9639"·title="">PR-9639</a>,·<a·href="https://github.com/erlang/otp/issues/9500"·title="">GH-9500</a></p></li><li><p>Allow·multiple·static·nifs·to·be·part·of·the·same·archive.·See·the·<a·href="erl_nif.html#initialization">NIF·documentation</a>·for·details.</p><p>Own·Id:·OTP-19590·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9625"·title="">PR-9625</a></p></li><li><p>Various·improvements·reducing·lock·contention·on·run·queues·due·to·task·stealing.</p><p>Own·Id:·OTP-19591·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9594"·title="">PR-9594</a></p></li><li><p>The·new·implementation·has·the·same·behavior·as·the·previous·one.·The·newer·compilers·already·have·native·support·for·FP16,·so·this·implementation·is·only·relevant·for·older·compilers.·For·this·reason,·the·new·implementation·has·not·been·tested·for·speed.</p><p>Own·Id:·OTP-19603·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9735"·title="">PR-9735</a></p></li><li><p>An··<strong>experimental</strong>·API·for·a·native·debugger·has·been·added.·The·main·components·are·the·following:</p><ul><li><p>A·new·compiler·option·<code·class="inline">beam_debug_info</code>·for·the·Erlang·compiler.·When·given,·most·optimizations·are·disabled·and·debug·information·suitable·for·the·native·debugger·are·added·to·generated·BEAM·files.</p></li><li><p>A·new·<code·class="inline">+D</code>·emulator·flag.·When·given,·the·VM·becomes·&quot;debuggable&quot;,·which·means·that·when·modules·that·been·compiled·with·the·<code·class="inline">beam_debug_info</code>·option·are·loaded,·the·code·is·instrumented·so·that·one·can·enable·and·disable·breakpoints·on·executable·lines.</p></li><li><p>An·experimental·<code·class="inline">erl_debugger</code>·module·with·a·new·debugging·API.·Essentially,·it·allows·a·single,·local,·process·to·be·registered·as·the·&quot;debugger&quot;·process·for·the·node.·This·process·is·the·one·that·will·receive·messages·notifying·that·a·process·hit·a·breakpoint.·This·way,·the·front-end·implementation·of·a·debugger·(such·as·<a·href="https://github.com/WhatsApp/edb">edb·from·WhatApp</a>)·can·be·decoupled·from·OTP.</p></li><li><p>The·<code·class="inline">erl_debugger</code>·module·also·exposes·new·BIFs·to·inspect·<code·class="inline">X</code>·and·<code·class="inline">Y</code>·registers·of·a·suspended·process.·Together·with·new·code-information·BIFs,·this·let's·a·debugger·show·the·values·of·variables·in·scope·for·a·suspended·process.</p></li></ul><p>Own·Id:·OTP-19609·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a>,·<a·href="https://github.com/erlang/otp/pull/9334"·title="">PR-9334</a>,·<a·href="https://github.com/erlang/otp/pull/9604"·title="">PR-9604</a></p></li><li><p>Update·internal·<code·class="inline">ryu</code>·implementation·to·use·latest·version.·The·new·version·is·a·little·bit·faster·in·some·scenarios.·<code·class="inline">ryu</code>·is·used·by·<a·href="erlang.html#float_to_list/1"><code·class="inline">float_to_list/1</code></a>·and·similar·functions·to·convert·floats·to·strings.</p><p>Own·Id:·OTP-19613·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9733"·title="">PR-9733</a></p></li><li><p>Update·of·MD5·implementation·from·OpenSSL·version·3.1.4·to·3.5.</p><p>Own·Id:·OTP-19614·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9775"·title="">PR-9775</a></p></li><li><p>Small·optimization·in·binary_to_term·by·not·allocating·an·unnecessary·large·native·stack·frame.</p><p>Own·Id:·OTP-19618·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9759"·title="">PR-9759</a>,·<a·href="https://github.com/erlang/otp/pull/9809"·title="">PR-9809</a></p></li></ul><h2·id="erts-15-2-7"·class="section-heading">
154 ··<a·href="#erts-15-2-7"·class="hover-link">154 ··<a·href="#erts-15-2-7"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 249, 15 lines modifiedOffset 249, 15 lines modified
249 <ul><li><p><a·href="../../../lib/kernel-10.3/doc/html/gen_sctp.html#peeloff/2"><code·class="inline">gen_sctp:peeloff/2</code></a>·has·been·fixed·to·inherit·socket·options·to·the·peeled·off·socket·more·like·<a·href="../../../lib/kernel-10.3/doc/html/gen_tcp.html#accept/1"><code·class="inline">gen_tcp:accept/1</code></a>,·for·example·the·options·<code·class="inline">tos</code>·or·<code·class="inline">tclass</code>.</p><p>When·setting·SCTP·options·that·are·unsupported·on·the·platform,·some·should·be·silently·ignored,·but·a·bug·caused·the·option·parsing·to·derail·so·the·options·after·could·bail·out·and·cause·an·error·instead.··This·has·been·fixed.</p><p>Own·Id:·OTP-19225·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8789"·title="">PR-8789</a></p></li><li><p>Fixed·a·bug·where·Erlang·would·corrupt·the·terminal·settings·if·stdin·was·a·TTY·but·stdout·was·not.</p><p>Own·Id:·OTP-19232·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8794"·title="">PR-8794</a>,·<a·href="https://github.com/erlang/otp/issues/8487"·title="">GH-8487</a></p></li><li><p>Fixed·a·bug·in·the·non-JIT·VM·when·loading·a·NIF·over·a·function·that·is·already·traced·by·more·than·one·session.·This·caused·a·VM·crash.·This·bug·has·existed·since·OTP-27.0,·where·multiple·trace·sessions·were·introduced.</p><p>Own·Id:·OTP-19248·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8856"·title="">PR-8856</a></p></li><li><p>Fixed·a·bug·where·the·loading·of·modules·with·extremely·large·binary·construction·instructions·crashed·the·emulator·on·AArch64.</p><p>Own·Id:·OTP-19261·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8815"·title="">GH-8815</a>,·<a·href="https://github.com/erlang/otp/pull/8816"·title="">PR-8816</a></p></li><li><p><a·href="../../../lib/kernel-10.3/doc/html/inet.html#getifaddrs/1"><code·class="inline">inet:getifaddrs/0,1</code></a>·is·improved·when·using249 <ul><li><p><a·href="../../../lib/kernel-10.3/doc/html/gen_sctp.html#peeloff/2"><code·class="inline">gen_sctp:peeloff/2</code></a>·has·been·fixed·to·inherit·socket·options·to·the·peeled·off·socket·more·like·<a·href="../../../lib/kernel-10.3/doc/html/gen_tcp.html#accept/1"><code·class="inline">gen_tcp:accept/1</code></a>,·for·example·the·options·<code·class="inline">tos</code>·or·<code·class="inline">tclass</code>.</p><p>When·setting·SCTP·options·that·are·unsupported·on·the·platform,·some·should·be·silently·ignored,·but·a·bug·caused·the·option·parsing·to·derail·so·the·options·after·could·bail·out·and·cause·an·error·instead.··This·has·been·fixed.</p><p>Own·Id:·OTP-19225·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8789"·title="">PR-8789</a></p></li><li><p>Fixed·a·bug·where·Erlang·would·corrupt·the·terminal·settings·if·stdin·was·a·TTY·but·stdout·was·not.</p><p>Own·Id:·OTP-19232·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8794"·title="">PR-8794</a>,·<a·href="https://github.com/erlang/otp/issues/8487"·title="">GH-8487</a></p></li><li><p>Fixed·a·bug·in·the·non-JIT·VM·when·loading·a·NIF·over·a·function·that·is·already·traced·by·more·than·one·session.·This·caused·a·VM·crash.·This·bug·has·existed·since·OTP-27.0,·where·multiple·trace·sessions·were·introduced.</p><p>Own·Id:·OTP-19248·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8856"·title="">PR-8856</a></p></li><li><p>Fixed·a·bug·where·the·loading·of·modules·with·extremely·large·binary·construction·instructions·crashed·the·emulator·on·AArch64.</p><p>Own·Id:·OTP-19261·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8815"·title="">GH-8815</a>,·<a·href="https://github.com/erlang/otp/pull/8816"·title="">PR-8816</a></p></li><li><p><a·href="../../../lib/kernel-10.3/doc/html/inet.html#getifaddrs/1"><code·class="inline">inet:getifaddrs/0,1</code></a>·is·improved·when·using
250 inet_backend·=·socket.</p><p>Own·Id:·OTP-19264</p></li><li><p><a·href="../../../lib/stdlib-7.0/doc/html/win32reg.html#value/2"><code·class="inline">win32reg:value/2</code></a>·will·no·longer·crash·the·emulator·when·the·value·is·an·unterminated·REG_SZ·of·size·0.</p><p>Own·Id:·OTP-19283·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8903"·title="">GH-8903</a>,·<a·href="https://github.com/erlang/otp/pull/8912"·title="">PR-8912</a></p></li><li><p><code·class="inline">Makefile</code>·dependency·generation·on·Windows·in·WSL·2·has·been·corrected.</p><p>Own·Id:·OTP-19300·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8955"·title="">PR-8955</a></p></li><li><p>Fix·lock·order·violation·if·a·NIF·monitor·<code·class="inline">down</code>·callback·calls·<code·class="inline">enif_whereis_pid</code>.·Would·cause·debug·emulator·to·crash·but·could·potentially·lead·to·deadlocks·in·optimized·emulator.</p><p>Own·Id:·OTP-19330·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8983"·title="">GH-8983</a>,·<a·href="https://github.com/erlang/otp/pull/9008"·title="">PR-9008</a></p></li><li><p>Fixed·compilation·faults·when·compiling·using·<code·class="inline">--enable-vm-probes</code>.</p><p>Own·Id:·OTP-19333</p></li><li><p>Fixed·<code·class="inline">erl_nif.h</code>·on·Windows·to·compile·when·gcc·or·clang·is·used.</p><p>Own·Id:·OTP-19341·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9016"·title="">PR-9016</a></p></li><li><p>Fixed·a·minor·issue·in·the·JIT·debug·information·that·confused·tools·like·GDB·and·perf.</p><p>Own·Id:·OTP-19362·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9003"·title="">PR-9003</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">250 inet_backend·=·socket.</p><p>Own·Id:·OTP-19264</p></li><li><p><a·href="../../../lib/stdlib-7.0/doc/html/win32reg.html#value/2"><code·class="inline">win32reg:value/2</code></a>·will·no·longer·crash·the·emulator·when·the·value·is·an·unterminated·REG_SZ·of·size·0.</p><p>Own·Id:·OTP-19283·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8903"·title="">GH-8903</a>,·<a·href="https://github.com/erlang/otp/pull/8912"·title="">PR-8912</a></p></li><li><p><code·class="inline">Makefile</code>·dependency·generation·on·Windows·in·WSL·2·has·been·corrected.</p><p>Own·Id:·OTP-19300·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8955"·title="">PR-8955</a></p></li><li><p>Fix·lock·order·violation·if·a·NIF·monitor·<code·class="inline">down</code>·callback·calls·<code·class="inline">enif_whereis_pid</code>.·Would·cause·debug·emulator·to·crash·but·could·potentially·lead·to·deadlocks·in·optimized·emulator.</p><p>Own·Id:·OTP-19330·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8983"·title="">GH-8983</a>,·<a·href="https://github.com/erlang/otp/pull/9008"·title="">PR-9008</a></p></li><li><p>Fixed·compilation·faults·when·compiling·using·<code·class="inline">--enable-vm-probes</code>.</p><p>Own·Id:·OTP-19333</p></li><li><p>Fixed·<code·class="inline">erl_nif.h</code>·on·Windows·to·compile·when·gcc·or·clang·is·used.</p><p>Own·Id:·OTP-19341·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9016"·title="">PR-9016</a></p></li><li><p>Fixed·a·minor·issue·in·the·JIT·debug·information·that·confused·tools·like·GDB·and·perf.</p><p>Own·Id:·OTP-19362·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9003"·title="">PR-9003</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">
251 ··<a·href="#improvements-and-new-features-1"·class="hover-link">251 ··<a·href="#improvements-and-new-features-1"·class="hover-link">
252 ····<i·class="ri-link-m"·aria-hidden="true"></i>252 ····<i·class="ri-link-m"·aria-hidden="true"></i>
253 ··</a>253 ··</a>
254 ··<span·class="text">Improvements·and·New·Features</span>254 ··<span·class="text">Improvements·and·New·Features</span>
255 </h3>255 </h3>
256 <ul><li><p>Improved·documentation·of·<a·href="time_correction.html#timers">timers</a>.</p><p>Own·Id:·OTP-19360·Aux·Id:·ERIERL-1149,·<a·href="https://github.com/erlang/otp/pull/9062"·title="">PR-9062</a></p></li><li><p>The·label·for·a·process·can·now·be·retrieved·also·using·<code·class="inline">process_info(Pid,·label)</code>·in·addition·to·<a·href="../../../lib/stdlib-7.0/doc/html/proc_lib.html#get_label/1"><code·class="inline">proc_lib:get_label/1</code></a>.</p><p>This·new·option·is·useful·when·one·wants·to·retrieve·more·than·one·process·info·item.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">process_info</span><span·class="p"·data-group-id="8639442427-1">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8639442427-2">[</span><span·class="ss">label</span><span·class="p">,</span><span·class="ss">registered_name</span><span·class="p"[·...·truncated·by·diffoscope;·len:·78,·SHA:·18c3fa89910278807dcbe857a015081654e28703e6964ff2919da1a4fd9701c6·...·]7-1">)</span></code></pre><p>Own·Id:·OTP-19373·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9108"·title="">PR-9108</a></p></li></ul><h2·id="erts-15-1-3"·class="section-heading">256 <ul><li><p>Improved·documentation·of·<a·href="time_correction.html#timers">timers</a>.</p><p>Own·Id:·OTP-19360·Aux·Id:·ERIERL-1149,·<a·href="https://github.com/erlang/otp/pull/9062"·title="">PR-9062</a></p></li><li><p>The·label·for·a·process·can·now·be·retrieved·also·using·<code·class="inline">process_info(Pid,·label)</code>·in·addition·to·<a·href="../../../lib/stdlib-7.0/doc/html/proc_lib.html#get_label/1"><code·class="inline">proc_lib:get_label/1</code></a>.</p><p>This·new·option·is·useful·when·one·wants·to·retrieve·more·than·one·process·info·item.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">process_info</span><span·class="p"·data-group-id="2860459717-1">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2860459717-2">[</span><span·class="ss">label</span><span·class="p">,</span><span·class="ss">registered_name</span><span·class="p"[·...·truncated·by·diffoscope;·len:·78,·SHA:·5e147b5f6a1e407f419fdb67f0be863075d7c3fdd631b747879be94ae45315d4·...·]7-1">)</span></code></pre><p>Own·Id:·OTP-19373·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9108"·title="">PR-9108</a></p></li></ul><h2·id="erts-15-1-3"·class="section-heading">
257 ··<a·href="#erts-15-1-3"·class="hover-link">257 ··<a·href="#erts-15-1-3"·class="hover-link">
258 ····<i·class="ri-link-m"·aria-hidden="true"></i>258 ····<i·class="ri-link-m"·aria-hidden="true"></i>
259 ··</a>259 ··</a>
260 ··<span·class="text">Erts·15.1.3</span>260 ··<span·class="text">Erts·15.1.3</span>
261 </h2>261 </h2>
262 <h3·id="fixed-bugs-and-malfunctions-9"·class="section-heading">262 <h3·id="fixed-bugs-and-malfunctions-9"·class="section-heading">
263 ··<a·href="#fixed-bugs-and-malfunctions-9"·class="hover-link">263 ··<a·href="#fixed-bugs-and-malfunctions-9"·class="hover-link">
Offset 297, 16 lines modifiedOffset 297, 16 lines modified
297 </h2>297 </h2>
298 <h3·id="fixed-bugs-and-malfunctions-12"·class="section-heading">298 <h3·id="fixed-bugs-and-malfunctions-12"·class="section-heading">
299 ··<a·href="#fixed-bugs-and-malfunctions-12"·class="hover-link">299 ··<a·href="#fixed-bugs-and-malfunctions-12"·class="hover-link">
300 ····<i·class="ri-link-m"·aria-hidden="true"></i>300 ····<i·class="ri-link-m"·aria-hidden="true"></i>
301 ··</a>301 ··</a>
302 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>302 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
303 </h3>303 </h3>
304 <ul><li><p>The·<code·class="inline">erl·-man·example</code>·has·been·corrected·to·not·consider·values·set·in·<code·class="inline">ERL_ZFLAGS</code>·and·stop·parsing·arguments·when·a·<code·class="inline">--</code>·is·encountered.</p><p>Own·Id:·OTP-19098·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8478"·title="">PR-8478</a>,·<a·href="https://github.com/erlang/otp/issues/8477"·title="">GH-8477</a></p></li><li><p>Compiler·warnings·for··Windows·I/O·back-end·have·been·silenced.</p><p>Own·Id:·OTP-19113</p></li><li><p>Bugs·related·to·<code·class="inline">return_to</code>·trace·have·been·fixed.·It·did·not·work·for·more·than·once·trace·session·and·it·did·sometimes·not·trigger·for·exceptions.</p><p>Own·Id:·OTP-19122</p></li><li><p>Potential·deadlocks·while·writing·a·crash·dump·have·been·eliminated.</p><p>Own·Id:·OTP-19133·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8521"·title="">PR-8521</a>,·<a·href="https://github.com/erlang/otp/issues/8498"·title="">GH-8498</a></p></li><li><p>When·loading·a·damaged·or·too·old·BEAM·file,·the·runtime·system·could·crash.</p><p>Own·Id:·OTP-19153·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8623"·title="">PR-8623</a></p></li><li><p>A·scheduler·thread·could·get·stuck·when·deleting·a·memory·allocator·carrier·when·adjacent·carriers·were·deleted·and/or·inserted·simultaneously·by·other·schedulers.·This·in·turn·could·cause·the·other·schedulers·to·get·stuck·as·well.</p><p>Own·Id:·OTP-19154·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8613"·title="">GH-8613</a>,·<a·href="https://github.com/erlang/otp/pull/8627"·title="">PR-8627</a></p></li><li><p>Statistics·for·number·of·carriers·in·a·shared·pool·after·calling·<code·class="inline">instrument:allocations</code>·or·<code·class="inline">instrument:carriers</code>·are·now·correct.·Also,·a·potential·bug·in·carrier·block·scanning·was·eliminated.</p><p>Own·Id:·OTP-19166·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8636"·title="">PR-8636</a></p></li><li><p>A·race·in·the·kTLS·flavour·of·SSL·distribution·has·been·fixed·so·that·<code·class="inline">inet_drv.c</code>·doesn't·read·ahead·too·much·data,·which·could·cause·the·kTLS·encryption·to·be·activated·too·late·when·some·encrypted·data·had·already·been·read·into·the·<code·class="inline">inet_drv.c</code>·buffer·as·unencrypted.</p><p>Own·Id:·OTP-19175·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8561"·title="">GH-8561</a>,·<a·href="https://github.com/erlang/otp/pull/8690"·title="">PR-8690</a></p></li><li><p>Fixed·an·emulator·crash·relating·to·compressed·ETS·tables.</p><p>Own·Id:·OTP-19176·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8683"·title="">PR-8683</a></p></li><li><p>A·function·(encode_sockaddr)·was·called·with·superfluous·argument,·on·Windows,·in·the·net·nif.</p><p>Own·Id:·OTP-19181</p></li><li><p>Fixed·a·crash·that·could·happen·on·reallocation·failure.</p><p>Own·Id:·OTP-19192</p></li><li><p>Man·pages·are·now·available·for·<code·class="inline">erl</code>,·<code·class="inline">erlc</code>,·<code·class="inline">dialyzer</code>,·and·all·other·programs·that·are·included·in·Erlang/OTP.</p><p>Own·Id:·OTP-19201·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8740"·title="">PR-8740</a></p></li><li><p>A·previous·correction·in·the·Erlang/OTP·27.0.1·emergency·patch·had·the·unfortunate·side·effect·of·sometimes·causing·an·unnecessary·fullsweep·(major)·garbage·collection·instead·of·a··generation·(minor)·garbage·collection.·This·has·been·corrected.</p><p>Own·Id:·OTP-19209·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8751"·title="">PR-8751</a>,·<a·href="https://github.com/erlang/otp/pull/8539"·title="">PR-8539</a></p></li><li><p>Fixed·trace·matchspec·functions·<code·class="inline">trace</code>·and·<code·class="inline">enable_trace</code>·to·use·the·session·tracer·when·enabling·trace·flags·on·untraced·processes.</p><p>Own·Id:·OTP-19211·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8657"·title="">GH-8657</a></p></li><li><p>Fixed·a·typo·in·the·type·spec·for·<a·href="erlang.html#t:garbage_collection_defaults/0"><code·class="inline">erlang:garbage_collection_defaults/0</code></a>.</p><p>Own·Id:·OTP-19215·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8757"·title="">PR-8757</a></p></li><li><p>Corrected·socket:ioctl·for·genaddr·(SIOCGENADDR).</p><p>Own·Id:·OTP-19216</p></li><li><p>The·support·for·Transparent·Huge·Pages·has·been·disabled·on·non-amd64·Linux·systems.</p><p>Own·Id:·OTP-19219·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8702"·title="">PR-8702</a></p></li><li><p>Fixed·a·race·condition·on·Windows·when·upgrading·from·<code·class="inline">-noshell</code>·to·a·shell·that·would·cause·Erlang·to·crash·with·the·error:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9243820635-1">{</span><span·class="ss">&#39;GetOverlappedResult&#39;</span><span·class="p">,</span><span·class="w">304 <ul><li><p>The·<code·class="inline">erl·-man·example</code>·has·been·corrected·to·not·consider·values·set·in·<code·class="inline">ERL_ZFLAGS</code>·and·stop·parsing·arguments·when·a·<code·class="inline">--</code>·is·encountered.</p><p>Own·Id:·OTP-19098·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8478"·title="">PR-8478</a>,·<a·href="https://github.com/erlang/otp/issues/8477"·title="">GH-8477</a></p></li><li><p>Compiler·warnings·for··Windows·I/O·back-end·have·been·silenced.</p><p>Own·Id:·OTP-19113</p></li><li><p>Bugs·related·to·<code·class="inline">return_to</code>·trace·have·been·fixed.·It·did·not·work·for·more·than·once·trace·session·and·it·did·sometimes·not·trigger·for·exceptions.</p><p>Own·Id:·OTP-19122</p></li><li><p>Potential·deadlocks·while·writing·a·crash·dump·have·been·eliminated.</p><p>Own·Id:·OTP-19133·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8521"·title="">PR-8521</a>,·<a·href="https://github.com/erlang/otp/issues/8498"·title="">GH-8498</a></p></li><li><p>When·loading·a·damaged·or·too·old·BEAM·file,·the·runtime·system·could·crash.</p><p>Own·Id:·OTP-19153·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8623"·title="">PR-8623</a></p></li><li><p>A·scheduler·thread·could·get·stuck·when·deleting·a·memory·allocator·carrier·when·adjacent·carriers·were·deleted·and/or·inserted·simultaneously·by·other·schedulers.·This·in·turn·could·cause·the·other·schedulers·to·get·stuck·as·well.</p><p>Own·Id:·OTP-19154·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8613"·title="">GH-8613</a>,·<a·href="https://github.com/erlang/otp/pull/8627"·title="">PR-8627</a></p></li><li><p>Statistics·for·number·of·carriers·in·a·shared·pool·after·calling·<code·class="inline">instrument:allocations</code>·or·<code·class="inline">instrument:carriers</code>·are·now·correct.·Also,·a·potential·bug·in·carrier·block·scanning·was·eliminated.</p><p>Own·Id:·OTP-19166·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8636"·title="">PR-8636</a></p></li><li><p>A·race·in·the·kTLS·flavour·of·SSL·distribution·has·been·fixed·so·that·<code·class="inline">inet_drv.c</code>·doesn't·read·ahead·too·much·data,·which·could·cause·the·kTLS·encryption·to·be·activated·too·late·when·some·encrypted·data·had·already·been·read·into·the·<code·class="inline">inet_drv.c</code>·buffer·as·unencrypted.</p><p>Own·Id:·OTP-19175·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8561"·title="">GH-8561</a>,·<a·href="https://github.com/erlang/otp/pull/8690"·title="">PR-8690</a></p></li><li><p>Fixed·an·emulator·crash·relating·to·compressed·ETS·tables.</p><p>Own·Id:·OTP-19176·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8683"·title="">PR-8683</a></p></li><li><p>A·function·(encode_sockaddr)·was·called·with·superfluous·argument,·on·Windows,·in·the·net·nif.</p><p>Own·Id:·OTP-19181</p></li><li><p>Fixed·a·crash·that·could·happen·on·reallocation·failure.</p><p>Own·Id:·OTP-19192</p></li><li><p>Man·pages·are·now·available·for·<code·class="inline">erl</code>,·<code·class="inline">erlc</code>,·<code·class="inline">dialyzer</code>,·and·all·other·programs·that·are·included·in·Erlang/OTP.</p><p>Own·Id:·OTP-19201·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8740"·title="">PR-8740</a></p></li><li><p>A·previous·correction·in·the·Erlang/OTP·27.0.1·emergency·patch·had·the·unfortunate·side·effect·of·sometimes·causing·an·unnecessary·fullsweep·(major)·garbage·collection·instead·of·a··generation·(minor)·garbage·collection.·This·has·been·corrected.</p><p>Own·Id:·OTP-19209·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8751"·title="">PR-8751</a>,·<a·href="https://github.com/erlang/otp/pull/8539"·title="">PR-8539</a></p></li><li><p>Fixed·trace·matchspec·functions·<code·class="inline">trace</code>·and·<code·class="inline">enable_trace</code>·to·use·the·session·tracer·when·enabling·trace·flags·on·untraced·processes.</p><p>Own·Id:·OTP-19211·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8657"·title="">GH-8657</a></p></li><li><p>Fixed·a·typo·in·the·type·spec·for·<a·href="erlang.html#t:garbage_collection_defaults/0"><code·class="inline">erlang:garbage_collection_defaults/0</code></a>.</p><p>Own·Id:·OTP-19215·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8757"·title="">PR-8757</a></p></li><li><p>Corrected·socket:ioctl·for·genaddr·(SIOCGENADDR).</p><p>Own·Id:·OTP-19216</p></li><li><p>The·support·for·Transparent·Huge·Pages·has·been·disabled·on·non-amd64·Linux·systems.</p><p>Own·Id:·OTP-19219·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8702"·title="">PR-8702</a></p></li><li><p>Fixed·a·race·condition·on·Windows·when·upgrading·from·<code·class="inline">-noshell</code>·to·a·shell·that·would·cause·Erlang·to·crash·with·the·error:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0684638879-1">{</span><span·class="ss">&#39;GetOverlappedResult&#39;</span><span·class="p">,</span><span·class="w">
305 ··</span><span·class="ss">&#39;The·I/O·operation·has·been·aborted·because·of·either·a·thread·exit·or·an·application·request.&#39;</span><span·class="p"·data-group-id="9243820635-1">}</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-19220·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8774"·title="">PR-8774</a>,·<a·href="https://github.com/erlang/otp/issues/7621"·title="">GH-7621</a></p></li></ul><h3·id="improvements-and-new-features-2"·class="section-heading">305 ··</span><span·class="ss">&#39;The·I/O·operation·has·been·aborted·because·of·either·a·thread·exit·or·an·application·request.&#39;</span><span·class="p"·data-group-id="0684638879-1">}</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-19220·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8774"·title="">PR-8774</a>,·<a·href="https://github.com/erlang/otp/issues/7621"·title="">GH-7621</a></p></li></ul><h3·id="improvements-and-new-features-2"·class="section-heading">
306 ··<a·href="#improvements-and-new-features-2"·class="hover-link">306 ··<a·href="#improvements-and-new-features-2"·class="hover-link">
307 ····<i·class="ri-link-m"·aria-hidden="true"></i>307 ····<i·class="ri-link-m"·aria-hidden="true"></i>
308 ··</a>308 ··</a>
309 ··<span·class="text">Improvements·and·New·Features</span>309 ··<span·class="text">Improvements·and·New·Features</span>
310 </h3>310 </h3>
311 <ul><li><p>Added·functions·<code·class="inline">getservbyname</code>·and·<code·class="inline">getservbyport</code>·to·the·<code·class="inline">net</code>·module.</p><p>Own·Id:·OTP-19101·Aux·Id:·OTP-18835</p></li><li><p>Introduced·enet·|·esock·variants·of·<a·href="../../../lib/kernel-10.3/doc/html/inet.html"><code·class="inline">inet</code></a>·functions,·either·when·called·with·sockets,311 <ul><li><p>Added·functions·<code·class="inline">getservbyname</code>·and·<code·class="inline">getservbyport</code>·to·the·<code·class="inline">net</code>·module.</p><p>Own·Id:·OTP-19101·Aux·Id:·OTP-18835</p></li><li><p>Introduced·enet·|·esock·variants·of·<a·href="../../../lib/kernel-10.3/doc/html/inet.html"><code·class="inline">inet</code></a>·functions,·either·when·called·with·sockets,
312 with·explicit·inet_backend·config·or·with·the·e·inet_backend·kernel·config·option.</p><p>Own·Id:·OTP-19132·Aux·Id:·OTP-19101</p></li><li><p>Optimize·process·and·port·creation·when·such·tracing·is·not·enabled·by·any·trace·session.</p><p>Own·Id:·OTP-19167·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8655"·title="">PR-8655</a></p></li><li><p>Compiler·warnings·for·some·removed·functions·have·been·corrected·to·point·out·the·correct·replacement·functions.</p><p>Own·Id:·OTP-19186·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8709"·title="">PR-8709</a></p></li><li><p>A·boolean·option·<code·class="inline">read_ahead</code>·has·been·implemented·for·<code·class="inline">gen_tcp</code>,·default·<code·class="inline">true</code>,·to·facilitate·not·reading·past·(caching·data)·the·end·of·a·packet.··In·particular,·for·kTLS,·caching·data·could·read·in·data·that·was·supposed·to·be·decrypted·by·the·platform's·network·stack,·before·crypto·parameters·could·be·activated.</p><p>Own·Id:·OTP-19199·Aux·Id:·OTP-19175,·<a·href="https://github.com/erlang/otp/issues/8561"·title="">GH-8561</a>,·<a·href="https://github.com/erlang/otp/issues/8690"·title="">GH-8690</a>,·<a·href="https://github.com/erlang/otp/issues/8785"·title="">GH-8785</a></p></li><li><p>The·<a·href="../../../lib/stdlib-7.0/doc/html/zip.html"><code·class="inline">zip</code></a>·module·has·been·updated·with·support·for:</p><ul><li>zip64·archives·-·Archives·larger·than·4GB·or·with·more·than·2^32·entries.</li><li>extended·timestamps·-·Higher·resolution·and·in·UTC.</li><li>UID/GID·-·Save·and·extract·the·original·UID/GID.</li><li>Fixes·so·that·permission·mode·attributes·are·correctly·read·and·set·for·files·in·archives.</li><li><a·href="../../../lib/stdlib-7.0/doc/html/zip.html#list_dir/2"><code·class="inline">zip:list_dir/2</code></a>·now·also·returns·directories,·not·only·files.·(You·can·disable·this·behaviour·by·using·the·option·<code·class="inline">skip_directories</code>).</li></ul><p>Various·bugs·in·the·original·implementation·have·also·been·fixed,·such·as:</p><ul><li>Correctly·encode·and·decode·the·DOS·timestamps·for·entries·within·an·archive·(that·is·the·non-extended·timestamp).</li><li>Fix·DOS·timestamps·to·be·set·to·localtime·instead·of·UTC·(use·extended·timestamps·for·UTC·timestamps).</li><li>Use·the·unix·file·attributes·read·from·disk·when·creating·archives·instead·of·setting·everything·to·644.</li></ul><p>Own·Id:·OTP-19214·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8765"·title="">PR-8765</a></p></li></ul><h2·id="erts-15-0-1"·class="section-heading">312 with·explicit·inet_backend·config·or·with·the·e·inet_backend·kernel·config·option.</p><p>Own·Id:·OTP-19132·Aux·Id:·OTP-19101</p></li><li><p>Optimize·process·and·port·creation·when·such·tracing·is·not·enabled·by·any·trace·session.</p><p>Own·Id:·OTP-19167·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8655"·title="">PR-8655</a></p></li><li><p>Compiler·warnings·for·some·removed·functions·have·been·corrected·to·point·out·the·correct·replacement·functions.</p><p>Own·Id:·OTP-19186·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8709"·title="">PR-8709</a></p></li><li><p>A·boolean·option·<code·class="inline">read_ahead</code>·has·been·implemented·for·<code·class="inline">gen_tcp</code>,·default·<code·class="inline">true</code>,·to·facilitate·not·reading·past·(caching·data)·the·end·of·a·packet.··In·particular,·for·kTLS,·caching·data·could·read·in·data·that·was·supposed·to·be·decrypted·by·the·platform's·network·stack,·before·crypto·parameters·could·be·activated.</p><p>Own·Id:·OTP-19199·Aux·Id:·OTP-19175,·<a·href="https://github.com/erlang/otp/issues/8561"·title="">GH-8561</a>,·<a·href="https://github.com/erlang/otp/issues/8690"·title="">GH-8690</a>,·<a·href="https://github.com/erlang/otp/issues/8785"·title="">GH-8785</a></p></li><li><p>The·<a·href="../../../lib/stdlib-7.0/doc/html/zip.html"><code·class="inline">zip</code></a>·module·has·been·updated·with·support·for:</p><ul><li>zip64·archives·-·Archives·larger·than·4GB·or·with·more·than·2^32·entries.</li><li>extended·timestamps·-·Higher·resolution·and·in·UTC.</li><li>UID/GID·-·Save·and·extract·the·original·UID/GID.</li><li>Fixes·so·that·permission·mode·attributes·are·correctly·read·and·set·for·files·in·archives.</li><li><a·href="../../../lib/stdlib-7.0/doc/html/zip.html#list_dir/2"><code·class="inline">zip:list_dir/2</code></a>·now·also·returns·directories,·not·only·files.·(You·can·disable·this·behaviour·by·using·the·option·<code·class="inline">skip_directories</code>).</li></ul><p>Various·bugs·in·the·original·implementation·have·also·been·fixed,·such·as:</p><ul><li>Correctly·encode·and·decode·the·DOS·timestamps·for·entries·within·an·archive·(that·is·the·non-extended·timestamp).</li><li>Fix·DOS·timestamps·to·be·set·to·localtime·instead·of·UTC·(use·extended·timestamps·for·UTC·timestamps).</li><li>Use·the·unix·file·attributes·read·from·disk·when·creating·archives·instead·of·setting·everything·to·644.</li></ul><p>Own·Id:·OTP-19214·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8765"·title="">PR-8765</a></p></li></ul><h2·id="erts-15-0-1"·class="section-heading">
Offset 335, 25 lines modifiedOffset 335, 25 lines modified
335 </h3>335 </h3>
336 <ul><li><p>Bugs·in·how·<code·class="inline">erl·-extra</code>·interacts·with·passing·flags·via·ERL_*FLAGS·or·<code·class="inline">-args_file</code>·have·been·fixed.</p><p>Own·Id:·OTP-18766·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7639"·title="">PR-7639</a></p></li><li><p>Fixed·a·bug·that·prevented·the·emulator·from·building·on·recent·versions·of·Yocto·Linux.</p><p>Own·Id:·OTP-18918·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7952"·title="">PR-7952</a></p></li><li><p>Fixed·spectre·mitigation·configure·test·to·work·with·GCC·patches·to·always·add·<code·class="inline">-fcf-protection=full</code>.</p><p>Own·Id:·OTP-18928·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8006"·title="">PR-8006</a></p></li><li><p>A··call·to·<code·class="inline">socket:[recv|recvfrom|recvmsg]/*</code>·with·Timeout·=·0·on·Windows·could·cause·a·(case·clause)·crash·if·data·is·immediately·available.</p><p>Own·Id:·OTP-19063·Aux·Id:·OTP-18835</p></li><li><p>Fix·bug·on·Windows·where·<code·class="inline">exit_status</code>·would·not·be·sent·when·a·port·exits·after·the·stdin/stdout·handles·have·been·closed.</p><p>Own·Id:·OTP-19077·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8324"·title="">PR-8324</a></p></li></ul><h3·id="improvements-and-new-features-3"·class="section-heading">336 <ul><li><p>Bugs·in·how·<code·class="inline">erl·-extra</code>·interacts·with·passing·flags·via·ERL_*FLAGS·or·<code·class="inline">-args_file</code>·have·been·fixed.</p><p>Own·Id:·OTP-18766·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7639"·title="">PR-7639</a></p></li><li><p>Fixed·a·bug·that·prevented·the·emulator·from·building·on·recent·versions·of·Yocto·Linux.</p><p>Own·Id:·OTP-18918·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7952"·title="">PR-7952</a></p></li><li><p>Fixed·spectre·mitigation·configure·test·to·work·with·GCC·patches·to·always·add·<code·class="inline">-fcf-protection=full</code>.</p><p>Own·Id:·OTP-18928·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8006"·title="">PR-8006</a></p></li><li><p>A··call·to·<code·class="inline">socket:[recv|recvfrom|recvmsg]/*</code>·with·Timeout·=·0·on·Windows·could·cause·a·(case·clause)·crash·if·data·is·immediately·available.</p><p>Own·Id:·OTP-19063·Aux·Id:·OTP-18835</p></li><li><p>Fix·bug·on·Windows·where·<code·class="inline">exit_status</code>·would·not·be·sent·when·a·port·exits·after·the·stdin/stdout·handles·have·been·closed.</p><p>Own·Id:·OTP-19077·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8324"·title="">PR-8324</a></p></li></ul><h3·id="improvements-and-new-features-3"·class="section-heading">
337 ··<a·href="#improvements-and-new-features-3"·class="hover-link">337 ··<a·href="#improvements-and-new-features-3"·class="hover-link">
338 ····<i·class="ri-link-m"·aria-hidden="true"></i>338 ····<i·class="ri-link-m"·aria-hidden="true"></i>
339 ··</a>339 ··</a>
340 ··<span·class="text">Improvements·and·New·Features</span>340 ··<span·class="text">Improvements·and·New·Features</span>
341 </h3>341 </h3>
342 <ul><li><p>Refactored·how·the·JIT·handles·POSIX·signals·and·how·they·affect·thread·stacks,·allowing·us·to·use·the·native·stack·register·for·Erlang·stacks·on·more·platforms.</p><p>Notably,·containers·built·on·64-bit·x86·Alpine·Linux·images·will·now·perform·much·better·in·sequential·code.·As·an·example,·running·<code·class="inline">dialyzer</code>·over·the·OTP·code·base·finishes·about·15%·quicker.</p><p>Own·Id:·OTP-18568·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7174"·title="">PR-7174</a></p></li><li><p>The·<a·href="../../../lib/runtime_tools-2.2/doc/html/instrument.html"><code·class="inline">instrument</code></a>·module·can·now·track·allocations·on·a·per-process·or·per-port·basis.</p><p>Own·Id:·OTP-18577·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7236"·title="">PR-7236</a></p></li><li><p>The·<code·class="inline">pid</code>·field·returned·from·<a·href="erlang.html#fun_info/2"><code·class="inline">erlang:fun_info/1,2</code></a>·is·now·always·the·pid·for·the·<code·class="inline">init</code>·process·of·the·local·node,·not·the·pid·for·the·actual·process·that·created·the·fun.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18594·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7274"·title="">PR-7274</a></p></li><li><p>By·default,·escripts·will·now·be·compiled·instead·of·interpreted.·That·means·that·the·<code·class="inline">compiler</code>·application·must·be·installed.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18639·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7348"·title="">PR-7348</a></p></li><li><p>A·binary·returned·from·the·<a·href="../../../lib/kernel-10.3/doc/html/socket.html"><code·class="inline">socket</code></a>·receive·functions·is·no·longer·created·as·a·sub·binary·of·an·often·large·receive·buffer·binary·(socket·option·<code·class="inline">{otp,rcvbuf}</code>).··This·avoids·space·waste,·trusting·the·allocators·to·implement·reallocation·efficiently.</p><p>Own·Id:·OTP-18642·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/6152"·title="">GH-6152</a>,·<a·href="https://github.com/erlang/otp/pull/7465"·title="">PR-7465</a></p></li><li><p>The·default·process·limit·has·been·raised·to·<code·class="inline">1048576</code>·processes.</p><p>Own·Id:·OTP-18699·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7388"·title="">PR-7388</a></p></li><li><p>The·<a·href="erlang.html#system_monitor/2"><code·class="inline">erlang:system_monitor/2</code></a>·functionality·is·now·able·to·monitor·long·message·queues·in·the·system.</p><p>Own·Id:·OTP-18709·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7651"·title="">PR-7651</a></p></li><li><p>The·<code·class="inline">erl</code>·command·now·supports·the·<code·class="inline">-S</code>·flag,·which·is·similar·to·the·<code·class="inline">-run</code>·flag,·except·that·it·will·pass·all·arguments·up·to·end·of·the·command·line·to·the·called·function.·(The·<code·class="inline">-run</code>·flag·will·not·pass·arguments·beginning·with·a·hyphen.)·Another·difference·is·that·<code·class="inline">-S</code>·will·always·call·a·function·with·one·argument,·passing·an·empty·list·if·no·arguments·were·given.</p><p>Own·Id:·OTP-18744·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7470"·title="">PR-7470</a></p></li><li><p>When·implementing·an·alternative·carrier·for·the·Erlang·distribution,·a·separate·input·handler·process·may·now·be·registered,·using·<a·href="erlang.html#dist_ctrl_input_handler/2"><code·class="inline">erlang:dist_ctrl_input_handler/2</code></a>,·also·in·the·case·when·the·distribution·controller·is·a·port.</p><p>Own·Id:·OTP-18774·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7110"·title="">PR-7110</a></p></li><li><p>The·call·stack·trace·has·now·been·added·to·the·error·reported·by·<a·href="erlang.html#process_flag/2"><code·class="inline">erlang:process_flag/2</code></a>·when·<code·class="inline">max_heap_size</code>·limit·has·been·exceeded.</p><p>Own·Id:·OTP-18779·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7592"·title="">PR-7592</a></p></li><li><p><code·class="inline">-callback</code>·attributes·have·been·added·to·<a·href="erl_tracer.html"><code·class="inline">erl_tracer</code></a>.</p><p>Own·Id:·OTP-18794·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7703"·title="">PR-7703</a></p></li><li><p>For·<code·class="inline">inet_backend·=·socket</code>,·setting·the·<code·class="inline">active</code>·socket·option·alone,·to·<code·class="inline">once</code>,·<code·class="inline">true</code>·or·<code·class="inline">N</code>·has·been·optimized,·as·well·as·the·corresponding·data·delivery.</p><p>Own·Id:·OTP-18835</p></li><li><p>New·functions·<code·class="inline">socket:sendv/*</code>·for·sending·I/O·vectors·have·been·added.</p><p>Own·Id:·OTP-18845</p></li><li><p>Socket·options·that·take·string·now·also·accept·binaries.</p><p>Own·Id:·OTP-18849·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/6510"·title="">PR-6510</a></p></li><li><p>Native·coverage·support·has·been·implemented·in·the·JIT.·It·will··automatically·be·used·by·the·<a·href="../../../lib/tools-4.1.2/doc/html/cover.html"><code·class="inline">cover</code></a>·tool·to·reduce·the·execution·overhead·when·running·cover-compiled·code.</p><p>There·are·also·new·APIs·to·support·native·coverage·without·using·the·<code·class="inline">cover</code>·tool.</p><p>To·instrument·code·for·native·coverage·it·must·be·compiled·with·the·<a·href="../../../lib/compiler-9.0/doc/html/compile.html#line_coverage"><code·class="inline">line_coverage</code></a>·option.</p><p>To·enable·native·coverage·in·the·runtime·system,·start·it·like·so:</p><pre><code·class="text">$·erl·+JPcover·true</code></pre><p>There·are·also·the·following·new·functions·for·supporting·native·coverage:</p><ul><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#coverage_support/0"><code·class="inline">code:coverage_support/0</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#get_coverage/2"><code·class="inline">code:get_coverage/2</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#reset_coverage/1"><code·class="inline">code:reset_coverage/1</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/0"><code·class="inline">code:get_coverage_mode/0</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/1"><code·class="inline">code:get_coverage_mode/1</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#set_coverage_mode/1"><code·class="inline">code:set_coverage_mode/1</code></a></li></ul><p>Own·Id:·OTP-18856·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7856"·title="">PR-7856</a></p></li><li><p>Changed·the·default·value·of·the·command·line·flag·<code·class="inline">-code_path_choice</code>·to·<code·class="inline">strict</code>.·</p><p>Note·that·for·application·systems·using·archives,·it·is·necessary·to·add·the·<code·class="inline">code_path_choice·relaxed</code>·to·the·command·line·that·invokes·<code·class="inline">erl</code>.</p><p>Own·Id:·OTP-18894·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7243"·title="">PR-7243</a></p></li><li><p>Added·module·loading·to·<code·class="inline">erl·-init_debug</code>·printouts.</p><p>Own·Id:·OTP-18929·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8004"·title="">PR-8004</a></p></li><li><p>When·the·runtime·system·halts,·it·performs·various·flush·operations·before·terminating.·By·default·there·is·no·limit·on·how·much·time·the·flush·operations·are·allowed·to·take.·A·new·<em>halt·flush·timeout</em>·functionality·has·been·introduced·which·can·be·used·for·limiting·the·amount·of·time·that·the·flushing·operations·are·allowed·to·take.·For·more·information·see·the·documentation·of·the·<a·href="erlang.html#halt_flush_timeout"><code·class="inline">flush_timeout</code></a>·option·of·the·<a·href="erlang.html#halt/2"><code·class="inline">erlang:halt/2</code></a>·BIF·and·the·documentation·of·the·<code·class="inline">erl</code>·<a·href="erl_cmd.html#+zhft"><code·class="inline">+zhft·&lt;Timeout&gt;</code></a>·command·line·flag.</p><p>Own·Id:·OTP-18938·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8035"·title="">PR-8035</a>,·<a·href="https://github.com/erlang/otp/issues/7438"·title="">GH-7438</a></p></li><li><p>Optimized·code·loading·by·moving·certain·operations·from·the·code·server·to·the·caller.</p><p>Own·Id:·OTP-18941·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7981"·title="">PR-7981</a></p></li><li><p>Updated·asmjit·to·version·a465fe71ab3d0e224b2b4bd0fac69ae68ab9239d</p><p>Own·Id:·OTP-18942</p></li><li><p>The·deprecated·functions·in·<a·href="zlib.html"><code·class="inline">zlib</code></a>·have·been·removed.·That·includes·<code·class="inline">inflateChunk/{1,2}</code>,·<code·class="inline">getBufSize/1</code>,·<code·class="inline">setBufSize/2</code>,·the·CRC32·functions,·and·the·Adler·checksum·functions.</p><p>Own·Id:·OTP-18950</p></li><li><p>The·documentation·has·been·migrated·to·use·Markdown·and·ExDoc.</p><p>Own·Id:·OTP-18955·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8026"·title="">PR-8026</a></p></li><li><p>Safe·destructive·update·of·tuples·has·been·implemented·in·the·compiler·and·runtime·system.·This·allows·the·VM·to·update·tuples·in-place·when·it·is·safe·to·do·so,·thus·improving·performance·by·doing·less·copying·but·also·by·producing·less·garbage.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="3683176117-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3683176117-2">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·111,·SHA:·36125ecc1aaa8bc16544d5f8210e5fc178e94c2c8ba94daba95cedee856a44cb·...·]-1">)</span><span·class="p">.</span><span·class="w">342 <ul><li><p>Refactored·how·the·JIT·handles·POSIX·signals·and·how·they·affect·thread·stacks,·allowing·us·to·use·the·native·stack·register·for·Erlang·stacks·on·more·platforms.</p><p>Notably,·containers·built·on·64-bit·x86·Alpine·Linux·images·will·now·perform·much·better·in·sequential·code.·As·an·example,·running·<code·class="inline">dialyzer</code>·over·the·OTP·code·base·finishes·about·15%·quicker.</p><p>Own·Id:·OTP-18568·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7174"·title="">PR-7174</a></p></li><li><p>The·<a·href="../../../lib/runtime_tools-2.2/doc/html/instrument.html"><code·class="inline">instrument</code></a>·module·can·now·track·allocations·on·a·per-process·or·per-port·basis.</p><p>Own·Id:·OTP-18577·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7236"·title="">PR-7236</a></p></li><li><p>The·<code·class="inline">pid</code>·field·returned·from·<a·href="erlang.html#fun_info/2"><code·class="inline">erlang:fun_info/1,2</code></a>·is·now·always·the·pid·for·the·<code·class="inline">init</code>·process·of·the·local·node,·not·the·pid·for·the·actual·process·that·created·the·fun.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18594·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7274"·title="">PR-7274</a></p></li><li><p>By·default,·escripts·will·now·be·compiled·instead·of·interpreted.·That·means·that·the·<code·class="inline">compiler</code>·application·must·be·installed.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18639·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7348"·title="">PR-7348</a></p></li><li><p>A·binary·returned·from·the·<a·href="../../../lib/kernel-10.3/doc/html/socket.html"><code·class="inline">socket</code></a>·receive·functions·is·no·longer·created·as·a·sub·binary·of·an·often·large·receive·buffer·binary·(socket·option·<code·class="inline">{otp,rcvbuf}</code>).··This·avoids·space·waste,·trusting·the·allocators·to·implement·reallocation·efficiently.</p><p>Own·Id:·OTP-18642·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/6152"·title="">GH-6152</a>,·<a·href="https://github.com/erlang/otp/pull/7465"·title="">PR-7465</a></p></li><li><p>The·default·process·limit·has·been·raised·to·<code·class="inline">1048576</code>·processes.</p><p>Own·Id:·OTP-18699·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7388"·title="">PR-7388</a></p></li><li><p>The·<a·href="erlang.html#system_monitor/2"><code·class="inline">erlang:system_monitor/2</code></a>·functionality·is·now·able·to·monitor·long·message·queues·in·the·system.</p><p>Own·Id:·OTP-18709·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7651"·title="">PR-7651</a></p></li><li><p>The·<code·class="inline">erl</code>·command·now·supports·the·<code·class="inline">-S</code>·flag,·which·is·similar·to·the·<code·class="inline">-run</code>·flag,·except·that·it·will·pass·all·arguments·up·to·end·of·the·command·line·to·the·called·function.·(The·<code·class="inline">-run</code>·flag·will·not·pass·arguments·beginning·with·a·hyphen.)·Another·difference·is·that·<code·class="inline">-S</code>·will·always·call·a·function·with·one·argument,·passing·an·empty·list·if·no·arguments·were·given.</p><p>Own·Id:·OTP-18744·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7470"·title="">PR-7470</a></p></li><li><p>When·implementing·an·alternative·carrier·for·the·Erlang·distribution,·a·separate·input·handler·process·may·now·be·registered,·using·<a·href="erlang.html#dist_ctrl_input_handler/2"><code·class="inline">erlang:dist_ctrl_input_handler/2</code></a>,·also·in·the·case·when·the·distribution·controller·is·a·port.</p><p>Own·Id:·OTP-18774·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7110"·title="">PR-7110</a></p></li><li><p>The·call·stack·trace·has·now·been·added·to·the·error·reported·by·<a·href="erlang.html#process_flag/2"><code·class="inline">erlang:process_flag/2</code></a>·when·<code·class="inline">max_heap_size</code>·limit·has·been·exceeded.</p><p>Own·Id:·OTP-18779·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7592"·title="">PR-7592</a></p></li><li><p><code·class="inline">-callback</code>·attributes·have·been·added·to·<a·href="erl_tracer.html"><code·class="inline">erl_tracer</code></a>.</p><p>Own·Id:·OTP-18794·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7703"·title="">PR-7703</a></p></li><li><p>For·<code·class="inline">inet_backend·=·socket</code>,·setting·the·<code·class="inline">active</code>·socket·option·alone,·to·<code·class="inline">once</code>,·<code·class="inline">true</code>·or·<code·class="inline">N</code>·has·been·optimized,·as·well·as·the·corresponding·data·delivery.</p><p>Own·Id:·OTP-18835</p></li><li><p>New·functions·<code·class="inline">socket:sendv/*</code>·for·sending·I/O·vectors·have·been·added.</p><p>Own·Id:·OTP-18845</p></li><li><p>Socket·options·that·take·string·now·also·accept·binaries.</p><p>Own·Id:·OTP-18849·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/6510"·title="">PR-6510</a></p></li><li><p>Native·coverage·support·has·been·implemented·in·the·JIT.·It·will··automatically·be·used·by·the·<a·href="../../../lib/tools-4.1.2/doc/html/cover.html"><code·class="inline">cover</code></a>·tool·to·reduce·the·execution·overhead·when·running·cover-compiled·code.</p><p>There·are·also·new·APIs·to·support·native·coverage·without·using·the·<code·class="inline">cover</code>·tool.</p><p>To·instrument·code·for·native·coverage·it·must·be·compiled·with·the·<a·href="../../../lib/compiler-9.0/doc/html/compile.html#line_coverage"><code·class="inline">line_coverage</code></a>·option.</p><p>To·enable·native·coverage·in·the·runtime·system,·start·it·like·so:</p><pre><code·class="text">$·erl·+JPcover·true</code></pre><p>There·are·also·the·following·new·functions·for·supporting·native·coverage:</p><ul><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#coverage_support/0"><code·class="inline">code:coverage_support/0</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#get_coverage/2"><code·class="inline">code:get_coverage/2</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#reset_coverage/1"><code·class="inline">code:reset_coverage/1</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/0"><code·class="inline">code:get_coverage_mode/0</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/1"><code·class="inline">code:get_coverage_mode/1</code></a></li><li><a·href="../../../lib/kernel-10.3/doc/html/code.html#set_coverage_mode/1"><code·class="inline">code:set_coverage_mode/1</code></a></li></ul><p>Own·Id:·OTP-18856·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7856"·title="">PR-7856</a></p></li><li><p>Changed·the·default·value·of·the·command·line·flag·<code·class="inline">-code_path_choice</code>·to·<code·class="inline">strict</code>.·</p><p>Note·that·for·application·systems·using·archives,·it·is·necessary·to·add·the·<code·class="inline">code_path_choice·relaxed</code>·to·the·command·line·that·invokes·<code·class="inline">erl</code>.</p><p>Own·Id:·OTP-18894·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7243"·title="">PR-7243</a></p></li><li><p>Added·module·loading·to·<code·class="inline">erl·-init_debug</code>·printouts.</p><p>Own·Id:·OTP-18929·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8004"·title="">PR-8004</a></p></li><li><p>When·the·runtime·system·halts,·it·performs·various·flush·operations·before·terminating.·By·default·there·is·no·limit·on·how·much·time·the·flush·operations·are·allowed·to·take.·A·new·<em>halt·flush·timeout</em>·functionality·has·been·introduced·which·can·be·used·for·limiting·the·amount·of·time·that·the·flushing·operations·are·allowed·to·take.·For·more·information·see·the·documentation·of·the·<a·href="erlang.html#halt_flush_timeout"><code·class="inline">flush_timeout</code></a>·option·of·the·<a·href="erlang.html#halt/2"><code·class="inline">erlang:halt/2</code></a>·BIF·and·the·documentation·of·the·<code·class="inline">erl</code>·<a·href="erl_cmd.html#+zhft"><code·class="inline">+zhft·&lt;Timeout&gt;</code></a>·command·line·flag.</p><p>Own·Id:·OTP-18938·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8035"·title="">PR-8035</a>,·<a·href="https://github.com/erlang/otp/issues/7438"·title="">GH-7438</a></p></li><li><p>Optimized·code·loading·by·moving·certain·operations·from·the·code·server·to·the·caller.</p><p>Own·Id:·OTP-18941·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7981"·title="">PR-7981</a></p></li><li><p>Updated·asmjit·to·version·a465fe71ab3d0e224b2b4bd0fac69ae68ab9239d</p><p>Own·Id:·OTP-18942</p></li><li><p>The·deprecated·functions·in·<a·href="zlib.html"><code·class="inline">zlib</code></a>·have·been·removed.·That·includes·<code·class="inline">inflateChunk/{1,2}</code>,·<code·class="inline">getBufSize/1</code>,·<code·class="inline">setBufSize/2</code>,·the·CRC32·functions,·and·the·Adler·checksum·functions.</p><p>Own·Id:·OTP-18950</p></li><li><p>The·documentation·has·been·migrated·to·use·Markdown·and·ExDoc.</p><p>Own·Id:·OTP-18955·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8026"·title="">PR-8026</a></p></li><li><p>Safe·destructive·update·of·tuples·has·been·implemented·in·the·compiler·and·runtime·system.·This·allows·the·VM·to·update·tuples·in-place·when·it·is·safe·to·do·so,·thus·improving·performance·by·doing·less·copying·but·also·by·producing·less·garbage.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="0595463139-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0595463139-2">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·111,·SHA:·085298c64dd44e3c15e97d939b2f114566dd2428c25bd6308d0d6738aed0a74d·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
343 </span><span·class="nf">update</span><span·class="p"·data-group-id="3683176117-3">(</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="3683176117-4">{</span><span·class="ss">a</span><span·class="o">=</span><span·class="ss">needs_update</span><span·class="p">,</span><span·class="ss">b</s[·...·truncated·by·diffoscope;·len:·195,·SHA:·b7c71fdf867991b522b78e2f885e7cfa3864f2e441c1361656a1ff7bd175b7ee·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">343 </span><span·class="nf">update</span><span·class="p"·data-group-id="0595463139-3">(</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="0595463139-4">{</span><span·class="ss">a</span><span·class="o">=</span><span·class="ss">needs_update</span><span·class="p">,</span><span·class="ss">b</s[·...·truncated·by·diffoscope;·len:·195,·SHA:·c4478c22402129e7323e6e436b90428628b3255124baa5042d68b08d34731608·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
344 ····</span><span·class="n">R</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">R0</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="3683176117-5">{</span><span·class="ss">a</span><span·class="o">=</span><span·class="ss">up_to_date</span><span·class="p"·data-group-id="3683176117-5">}</span><span·class="p">,</span><span·class="w">344 ····</span><span·class="n">R</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">R0</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="0595463139-5">{</span><span·class="ss">a</span><span·class="o">=</span><span·class="ss">up_to_date</span><span·class="p"·data-group-id="0595463139-5">}</span><span·class="p">,</span><span·class="w">
345 ····</span><span·class="k">if</span><span·class="w">345 ····</span><span·class="k">if</span><span·class="w">
346 ········</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">346 ········</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
347 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="3683176117-6">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">negative</span><span·class="p"·data-group-id="3683176117-6">}</span><span·class="p">;</span><span·class="w">347 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="0595463139-6">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">negative</span><span·class="p"·data-group-id="0595463139-6">}</span><span·class="p">;</span><span·class="w">
348 ········</span><span·class="n">N</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">348 ········</span><span·class="n">N</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
349 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="3683176117-7">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">zero</span><span·class="p"·data-group-id="3683176117-7">}</span><span·class="p">;</span><span·class="w">349 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="0595463139-7">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">zero</span><span·class="p"·data-group-id="0595463139-7">}</span><span·class="p">;</span><span·class="w">
350 ········</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">350 ········</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
351 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="3683176117-8">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">positive</span><span·class="p"·data-group-id="3683176117-8">}</span><span·class="w">351 ············</span><span·class="n">R</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="0595463139-8">{</span><span·class="ss">c</span><span·class="o">=</span><span·class="ss">positive</span><span·class="p"·data-group-id="0595463139-8">}</span><span·class="w">
352 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·record·updates·in·each·of·the·three·clauses·of·the·<code·class="inline">if</code>·can·safely·be·done·in-place,·because·variable·<code·class="inline">R</code>·is·not·used·again.</p><p>Own·Id:·OTP-18972·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8090"·title="">PR-8090</a></p></li><li><p>The·obsolete·and·undocumented·support·for·opening·a·port·to·an·external352 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·record·updates·in·each·of·the·three·clauses·of·the·<code·class="inline">if</code>·can·safely·be·done·in-place,·because·variable·<code·class="inline">R</code>·is·not·used·again.</p><p>Own·Id:·OTP-18972·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8090"·title="">PR-8090</a></p></li><li><p>The·obsolete·and·undocumented·support·for·opening·a·port·to·an·external
353 resource·by·passing·an·atom·(or·a·string)·as·first·argument·to353 resource·by·passing·an·atom·(or·a·string)·as·first·argument·to
354 <a·href="erlang.html#open_port/2"><code·class="inline">open_port()</code></a>,·implemented·by·the·vanilla·driver,354 <a·href="erlang.html#open_port/2"><code·class="inline">open_port()</code></a>,·implemented·by·the·vanilla·driver,
355 has·been·removed.·This·feature·has·been·scheduled·for·removal·in·OTP·27355 has·been·removed.·This·feature·has·been·scheduled·for·removal·in·OTP·27
356 since·the·release·of·OTP·26.</p><p>Own·Id:·OTP-18976·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7125"·title="">PR-7125</a></p></li><li><p>An·optional·NIF·callback·<code·class="inline">ERL_NIF_OPT_ON_UNLOAD_THREAD</code>·to·be·called·by·all·scheduler·threads·when·a·NIF·library·is·unloaded.·Used·for·releasing·thread·specific·data.·Can·be·set·with·function·<code·class="inline">enif_set_option</code>.</p><p>Own·Id:·OTP-18977·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7809"·title="">PR-7809</a></p></li><li><p>There·is·a·new·module·<a·href="../../../lib/kernel-10.3/doc/html/trace.html"><code·class="inline">trace</code></a>·in·Kernel·providing·the·same·trace·functionality·as·<a·href="erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·and·<a·href="erlang.html#trace_pattern/3"><code·class="inline">erlang:trace_pattern/3</code></a>,·but·with·the·addition·of·<strong>dynamic·isolated·trace·sessions</strong>.</p><p>Own·Id:·OTP-18980</p></li><li><p>Added·the·<code·class="inline">+MMlp·on|off</code>·emulator·option·to·let·the·<code·class="inline">mseg</code>·allocator·use·&quot;large·pages&quot;·(sometimes·known·as·&quot;huge·pages&quot;·or·&quot;super·pages&quot;).·This·currently·only·affects·super-carrier·allocations,·but·may·be·extended·in·the·future.</p><p>Own·Id:·OTP-18984·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7977"·title="">PR-7977</a></p></li><li><p><code·class="inline">inet_backend·=·socket</code>·has·been·optimized·and·reworked·to·be·more·compatible·with·the·original·<code·class="inline">inet_backend·=·inet</code>.</p><p>Own·Id:·OTP-19004·Aux·Id:·OTP-18835</p></li><li><p>The·<code·class="inline">socket</code>·documentation·has·been·reworked,·and·due·to356 since·the·release·of·OTP·26.</p><p>Own·Id:·OTP-18976·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7125"·title="">PR-7125</a></p></li><li><p>An·optional·NIF·callback·<code·class="inline">ERL_NIF_OPT_ON_UNLOAD_THREAD</code>·to·be·called·by·all·scheduler·threads·when·a·NIF·library·is·unloaded.·Used·for·releasing·thread·specific·data.·Can·be·set·with·function·<code·class="inline">enif_set_option</code>.</p><p>Own·Id:·OTP-18977·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7809"·title="">PR-7809</a></p></li><li><p>There·is·a·new·module·<a·href="../../../lib/kernel-10.3/doc/html/trace.html"><code·class="inline">trace</code></a>·in·Kernel·providing·the·same·trace·functionality·as·<a·href="erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·and·<a·href="erlang.html#trace_pattern/3"><code·class="inline">erlang:trace_pattern/3</code></a>,·but·with·the·addition·of·<strong>dynamic·isolated·trace·sessions</strong>.</p><p>Own·Id:·OTP-18980</p></li><li><p>Added·the·<code·class="inline">+MMlp·on|off</code>·emulator·option·to·let·the·<code·class="inline">mseg</code>·allocator·use·&quot;large·pages&quot;·(sometimes·known·as·&quot;huge·pages&quot;·or·&quot;super·pages&quot;).·This·currently·only·affects·super-carrier·allocations,·but·may·be·extended·in·the·future.</p><p>Own·Id:·OTP-18984·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7977"·title="">PR-7977</a></p></li><li><p><code·class="inline">inet_backend·=·socket</code>·has·been·optimized·and·reworked·to·be·more·compatible·with·the·original·<code·class="inline">inet_backend·=·inet</code>.</p><p>Own·Id:·OTP-19004·Aux·Id:·OTP-18835</p></li><li><p>The·<code·class="inline">socket</code>·documentation·has·been·reworked,·and·due·to
357 that·a·few·details·were·fixed:</p><ul><li><a·href="../../../lib/kernel-10.3/doc/html/socket.html#is_supported/1"><code·class="inline">socket:is_supported/1</code></a>·now·returns·<code·class="inline">true</code>·for·example·for·<code·class="inline">protocols</code>357 that·a·few·details·were·fixed:</p><ul><li><a·href="../../../lib/kernel-10.3/doc/html/socket.html#is_supported/1"><code·class="inline">socket:is_supported/1</code></a>·now·returns·<code·class="inline">true</code>·for·example·for·<code·class="inline">protocols</code>
358 that·is·a·&quot;category&quot;,·not·an·item.</li><li><a·href="../../../lib/kernel-10.3/doc/html/socket.html#cancel_monitor/1"><code·class="inline">socket:cancel_monitor/1</code></a>·no·longer·badargs·for·a·monitor·that·was·set·by358 that·is·a·&quot;category&quot;,·not·an·item.</li><li><a·href="../../../lib/kernel-10.3/doc/html/socket.html#cancel_monitor/1"><code·class="inline">socket:cancel_monitor/1</code></a>·no·longer·badargs·for·a·monitor·that·was·set·by
Offset 3339, 17 lines modifiedOffset 3339, 17 lines modified
3339 markedly·so·when·the·maximum·number·of·file·descriptors·has·been·tuned·to·a3339 markedly·so·when·the·maximum·number·of·file·descriptors·has·been·tuned·to·a
3340 large·number.</p><p>Instead,·in·erl_child_setup,·walk·the·open·descriptors·under·<code·class="inline">/dev/fd</code>·and3340 large·number.</p><p>Instead,·in·erl_child_setup,·walk·the·open·descriptors·under·<code·class="inline">/dev/fd</code>·and
3341 close·only·those·which·are·open.</p><p>This·optimization·affects·the·CPU·usage·of·starting·a·new·Erlang·instance.</p><p>Own·Id:·OTP-16270</p></li><li><p>Optimized·<a·href="../../../lib/stdlib-7.0/doc/html/maps.html#merge/2"><code·class="inline">maps:merge/2</code></a>·for·trivial·cases·of·an·empty·map(s)·or·same·map.</p><p>Own·Id:·OTP-16283·Aux·Id:·PR-2441</p></li><li><p>The·new·experimental·<code·class="inline">socket</code>·module·has·been·moved·to·the·Kernel·application.</p><p>Own·Id:·OTP-16312</p></li><li><p>Improved·the·presentation·of·allocations·and·carriers·in·the·<code·class="inline">instrument</code>3341 close·only·those·which·are·open.</p><p>This·optimization·affects·the·CPU·usage·of·starting·a·new·Erlang·instance.</p><p>Own·Id:·OTP-16270</p></li><li><p>Optimized·<a·href="../../../lib/stdlib-7.0/doc/html/maps.html#merge/2"><code·class="inline">maps:merge/2</code></a>·for·trivial·cases·of·an·empty·map(s)·or·same·map.</p><p>Own·Id:·OTP-16283·Aux·Id:·PR-2441</p></li><li><p>The·new·experimental·<code·class="inline">socket</code>·module·has·been·moved·to·the·Kernel·application.</p><p>Own·Id:·OTP-16312</p></li><li><p>Improved·the·presentation·of·allocations·and·carriers·in·the·<code·class="inline">instrument</code>
3342 module.</p><p>Own·Id:·OTP-16327</p></li><li><p>As·announced·in·OTP·22.0,·the·previously·existing·limited·support·for·VxWorks3342 module.</p><p>Own·Id:·OTP-16327</p></li><li><p>As·announced·in·OTP·22.0,·the·previously·existing·limited·support·for·VxWorks
3343 has·now·been·removed.</p><p>*<strong>·POTENTIAL·INCOMPATIBILITY·*</strong></p><p>Own·Id:·OTP-16329·Aux·Id:·OTP-15621</p></li><li><p>The·return·value·when·using·the·<code·class="inline">httph</code>·and·<code·class="inline">httph_bin</code>·option·to3343 has·now·been·removed.</p><p>*<strong>·POTENTIAL·INCOMPATIBILITY·*</strong></p><p>Own·Id:·OTP-16329·Aux·Id:·OTP-15621</p></li><li><p>The·return·value·when·using·the·<code·class="inline">httph</code>·and·<code·class="inline">httph_bin</code>·option·to
3344 <a·href="erlang.html#decode_packet/3"><code·class="inline">erlang:decode_packet/3</code></a>·and·<a·href="../../../lib/kernel-10.3/doc/html/inet.html#setopts/2"><code·class="inline">inet:setopts/2</code></a>·has·been·changed·to·also·include3344 <a·href="erlang.html#decode_packet/3"><code·class="inline">erlang:decode_packet/3</code></a>·and·<a·href="../../../lib/kernel-10.3/doc/html/inet.html#setopts/2"><code·class="inline">inet:setopts/2</code></a>·has·been·changed·to·also·include
3345 the·original·header·unmodified.·See·<a·href="erlang.html#decode_packet/3"><code·class="inline">erlang:decode_packet/3</code></a>.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">3345 the·original·header·unmodified.·See·<a·href="erlang.html#decode_packet/3"><code·class="inline">erlang:decode_packet/3</code></a>.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">
3346 ······</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">decode_packet</span><span·class="p"·data-group-id="3366272680-1">(</span><span·class="ss">httph_bin</span><span·class="p">,</span><span·class="p"·data-group-id="3366272680-2">&lt;&lt;</span><span·class="s">&quot;HELLO:3346 ······</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">decode_packet</span><span·class="p"·data-group-id="1957422061-1">(</span><span·class="ss">httph_bin</span><span·class="p">,</span><span·class="p"·data-group-id="1957422061-2">&lt;&lt;</span><span·class="s">&quot;HELLO:
3347 ······hi\r\n\r\n&quot;</span><span·class="p"·data-group-id="3366272680-2">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="3366272680-3">[</span><span·class="p"·data-group-id="3366272680-3">]</span><span·class="p"·data-group-id="3366272680-1">)</span><span·class="p">.</span><span·class="w"> 
3348 ······</span><span·class="p"·data-group-id="3366272680-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3366272680-5">{</span><span·class="ss">http_header</span><span·class="p">,</span><span·class="mi">0</span><span·cla[·...·truncated·by·diffoscope;·len:·1099,·SHA:·2edd3d427e1d166744d08faf090f5acca7eab3fb1a713387fbe71bdfbf68b654·...·]3347 ······hi\r\n\r\n&quot;</span><span·class="p"·data-group-id="1957422061-2">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="1957422061-3">[</span><span·class="p"·data-group-id="1957422061-3">]</span><span·class="p"·data-group-id="1957422061-1[·...·truncated·by·diffoscope;·len:·50,·SHA:·7c76ffcbdd2b9b0809992215d4bc03869c03819d4f2872424fd7856db727c221·...·]
 3348 ······</span><span·class="p"·data-group-id="1957422061-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1957422061-5">{</span><span·class="ss">http_header</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="p"·data-group-id="1957422061-6">&lt;&lt;</span><span·class="s">&quot;Hello&quot;</span><span·class="p"·data-group-id="1957422061-6">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="1957422061-7">&lt;&lt;</span><span·class="s">&quot;HELLO&quot;</span><span·class="p"·data-group-id="1957422061-7">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="1957422061-8">&lt;&lt;</span><span·class="s">&quot;hi&quot;</span><span·class="p"·data-group-id="1957422061-8">&gt;&gt;</span><span·class="p"·data-group-id="1957422061-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="1957422061-9">&lt;&lt;</span><span·class="s">&quot;\r\n&quot;</span><span·class="p"·data-group-id="1957422061-9">&gt;&gt;</span><span·class="p"·data-group-id="1957422061-4">}</span></code></pre><p>Own·Id:·OTP-16347·Aux·Id:·PR-2466</p></li><li><p>Ensure·<a·href="../../../lib/kernel-10.3/doc/html/net_kernel.html#monitor_nodes/1"><code·class="inline">net_kernel:monitor_nodes/1</code></a>·sends·<code·class="inline">nodedown</code>·messages·of·a·failed
3349 connection·before·<code·class="inline">nodeup</code>·messages·of·a·reestablished·connection·toward·the3349 connection·before·<code·class="inline">nodeup</code>·messages·of·a·reestablished·connection·toward·the
3350 same·node.</p><p>Own·Id:·OTP-16362</p></li><li><p>Update·of·<a·href="../../../lib/kernel-10.3/doc/html/seq_trace.html#whatis">sequential·tracing</a>·to·also·support·other3350 same·node.</p><p>Own·Id:·OTP-16362</p></li><li><p>Update·of·<a·href="../../../lib/kernel-10.3/doc/html/seq_trace.html#whatis">sequential·tracing</a>·to·also·support·other
3351 information·transfers·than·message·passing.</p><p>Own·Id:·OTP-16370·Aux·Id:·OTP-15251,·OTP-15232</p></li><li><p>socket:·It·is·now·possible·to·create·a·socket·from·an·already·existing·file3351 information·transfers·than·message·passing.</p><p>Own·Id:·OTP-16370·Aux·Id:·OTP-15251,·OTP-15232</p></li><li><p>socket:·It·is·now·possible·to·create·a·socket·from·an·already·existing·file
3352 descriptor.</p><p>Own·Id:·OTP-16398·Aux·Id:·ERL-1154</p></li><li><p>socket:·The·socket:supports/1·function·now·also·report·if·netns·is·supported3352 descriptor.</p><p>Own·Id:·OTP-16398·Aux·Id:·ERL-1154</p></li><li><p>socket:·The·socket:supports/1·function·now·also·report·if·netns·is·supported
3353 or·not.</p><p>Own·Id:·OTP-16432</p></li><li><p><code·class="inline">=:=</code>·has·been·optimized·to·return·<code·class="inline">false</code>·immediately·when·comparing·two·maps3353 or·not.</p><p>Own·Id:·OTP-16432</p></li><li><p><code·class="inline">=:=</code>·has·been·optimized·to·return·<code·class="inline">false</code>·immediately·when·comparing·two·maps
3354 of·different·sizes.</p><p>Own·Id:·OTP-16454</p></li><li><p>Changed·the·behaviour·of·passing·the·<code·class="inline">erl</code>·command·line·argument3354 of·different·sizes.</p><p>Own·Id:·OTP-16454</p></li><li><p>Changed·the·behaviour·of·passing·the·<code·class="inline">erl</code>·command·line·argument
3355 <a·href="erl_cmd.html#async_thread_pool_size"><code·class="inline">+A·0</code></a>·to·silently·imply·<code·class="inline">+A·1</code>.·That·is,3355 <a·href="erl_cmd.html#async_thread_pool_size"><code·class="inline">+A·0</code></a>·to·silently·imply·<code·class="inline">+A·1</code>.·That·is,
Offset 11056, 20 lines modifiedOffset 11056, 20 lines modified
11056 <ul><li><p>Previously·<a·href="erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·behaved11056 <ul><li><p>Previously·<a·href="erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·behaved
11057 completely·asynchronous.·This·had·one·undesirable·effect,·though.·You·could11057 completely·asynchronous.·This·had·one·undesirable·effect,·though.·You·could
11058 never·know·when·you·were·guaranteed·<em>not</em>·to·be·affected·by·a·link·that·you11058 never·know·when·you·were·guaranteed·<em>not</em>·to·be·affected·by·a·link·that·you
11059 had·unlinked·or·a·monitor·that·you·had·demonitored.</p><p>The·new·behavior·of·<a·href="erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·can·be11059 had·unlinked·or·a·monitor·that·you·had·demonitored.</p><p>The·new·behavior·of·<a·href="erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·can·be
11060 viewed·as·two·operations·performed·atomically.·Asynchronously·send·an·unlink11060 viewed·as·two·operations·performed·atomically.·Asynchronously·send·an·unlink
11061 signal·or·a·demonitor·signal,·and·ignore·any·future·results·of·the·link·or11061 signal·or·a·demonitor·signal,·and·ignore·any·future·results·of·the·link·or
11062 monitor.</p><p><em>NOTE</em>:·This·change·can·cause·some·obscure·code·to·fail·which·previously·did11062 monitor.</p><p><em>NOTE</em>:·This·change·can·cause·some·obscure·code·to·fail·which·previously·did
11063 not.·For·example,·the·following·code·might·hang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">············</span><span·class="n">Mon</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monitor</span><span·class="p"·data-group-id="1798895477-1">(</span><span·class="ss">process</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="1798895477-1">)</span><span·class="p">,</span><span·class="w">11063 not.·For·example,·the·following·code·might·hang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">············</span><span·class="n">Mon</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monitor</span><span·class="p"·data-group-id="0656986643-1">(</span><span·class="ss">process</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="0656986643-1">)</span><span·class="p">,</span><span·class="w">
11064 ············</span><span·class="c1">%%·...</span><span·class="w">11064 ············</span><span·class="c1">%%·...</span><span·class="w">
11065 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="1798895477-2">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bang</span><span·class="p"·data-group-id="1798895477-2">)</span><span·class="p">,</span><span·class="w">11065 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="0656986643-2">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bang</span><span·class="p"·data-group-id="0656986643-2">)</span><span·class="p">,</span><span·class="w">
11066 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="1798895477-3">(</span><span·class="n">Mon</span><span·class="p"·data-group-id="1798895477-3">)</span><span·class="p">,</span><span·class="w">11066 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="0656986643-3">(</span><span·class="n">Mon</span><span·class="p"·data-group-id="0656986643-3">)</span><span·class="p">,</span><span·class="w">
11067 ············</span><span·class="k">receive</span><span·class="w">11067 ············</span><span·class="k">receive</span><span·class="w">
11068 ················</span><span·class="p"·data-group-id="1798895477-4">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mon</span><span·class="w">·</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">process</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·168,·SHA:·687dca8eb2142e93b11be06e77eed688b9719073dcbb0f118e6f2e97063a4e95·...·]-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">11068 ················</span><span·class="p"·data-group-id="0656986643-4">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mon</span><span·class="w">·</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">process</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·168,·SHA:·649d43a9ab8feb3b995e43c9c1e08c88c09494cfb69b154f25cd895ce2a31756·...·]-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">
11069 ············</span><span·class="c1">%%·We·were·previously·guaranteed·to·get·a·down·message</span><span·class="w">11069 ············</span><span·class="c1">%%·We·were·previously·guaranteed·to·get·a·down·message</span><span·class="w">
11070 ············</span><span·class="c1">%%·(since·we·exited·the·process·ourself),·so·we·could</span><span·class="w">11070 ············</span><span·class="c1">%%·(since·we·exited·the·process·ourself),·so·we·could</span><span·class="w">
11071 ············</span><span·class="c1">%%·in·this·case·leave·out:</span><span·class="w">11071 ············</span><span·class="c1">%%·in·this·case·leave·out:</span><span·class="w">
11072 ············</span><span·class="c1">%%·after·0·-&gt;·ok</span><span·class="w">11072 ············</span><span·class="c1">%%·after·0·-&gt;·ok</span><span·class="w">
11073 ············</span><span·class="k">end</span><span·class="p">,</span></code></pre><p>*<strong>·POTENTIAL·INCOMPATIBILITY·*</strong></p><p>Own·Id:·OTP-5772</p></li><li><p>Two·bugs·fixed:·If·the·environment·variable·<code·class="inline">ERL_FLAGS</code>·was·set,·its·contents11073 ············</span><span·class="k">end</span><span·class="p">,</span></code></pre><p>*<strong>·POTENTIAL·INCOMPATIBILITY·*</strong></p><p>Own·Id:·OTP-5772</p></li><li><p>Two·bugs·fixed:·If·the·environment·variable·<code·class="inline">ERL_FLAGS</code>·was·set,·its·contents
11074 would·be·appended·to·the·end·of·the·command·line·even·if·the·command·line·had11074 would·be·appended·to·the·end·of·the·command·line·even·if·the·command·line·had
11075 an·<code·class="inline">-extra</code>·options.·Changed·to·place·the·options·from·<code·class="inline">ERL_FLAGS</code>·just·before11075 an·<code·class="inline">-extra</code>·options.·Changed·to·place·the·options·from·<code·class="inline">ERL_FLAGS</code>·just·before
Offset 11615, 15 lines modifiedOffset 11615, 15 lines modified
11615 ······<p·class="built-using">11615 ······<p·class="built-using">
11616 ········Built·using11616 ········Built·using
11617 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the11617 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
11618 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>11618 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
11619 ······</p>11619 ······</p>
11620 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>11620 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
11621 ····</footer>11621 ····</footer>
11622 ··</div>11622 ··</div>
Max diff block lines reached; 145/95785 bytes (0.15%) of diff not shown.
603 B
html2text {}
Max HTML report size reached
4.88 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/persistent_term.html
    
Offset 196, 17 lines modifiedOffset 196, 17 lines modified
196 ····<i·class="ri-link-m"·aria-hidden="true"></i>196 ····<i·class="ri-link-m"·aria-hidden="true"></i>
197 ··</a>197 ··</a>
198 ··<span·class="text">Example</span>198 ··<span·class="text">Example</span>
199 </h2>199 </h2>
200 <p>The·following·example·shows·how·lock·contention·for·ETS·tables·can·be·minimized200 <p>The·following·example·shows·how·lock·contention·for·ETS·tables·can·be·minimized
201 by·having·one·ETS·table·for·each·scheduler.·The·table·identifiers·for·the·ETS201 by·having·one·ETS·table·for·each·scheduler.·The·table·identifiers·for·the·ETS
202 tables·are·stored·as·a·single·persistent·term:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="c1">%%·There·is·one·ETS·table·for·each·scheduler.</span><span·class="w">202 tables·are·stored·as·a·single·persistent·term:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="c1">%%·There·is·one·ETS·table·for·each·scheduler.</span><span·class="w">
203 ····</span><span·class="n">Sid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="6433489329-1">(</span><span·class="ss">scheduler_id</span><span·class="p"·data-group-id="6433489329-1">)</span><span·class="p">,</span><span·class="w">203 ····</span><span·class="n">Sid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="9417452689-1">(</span><span·class="ss">scheduler_id</span><span·class="p"·data-group-id="9417452689-1">)</span><span·class="p">,</span><span·class="w">
204 ····</span><span·class="n">Tid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="6433489329-2">(</span><span·class="n">Sid</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">persistent_term</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="6433489329-3">(</span><span·class="o">?[·...·truncated·by·diffoscope;·len:·129,·SHA:·26eeb08cf0175bc9a1b5bc3d56e7485f2571a1049db19e2622a2f802f69ff471·...·]9-2">)</span><span·class="p">,</span><span·class="w">204 ····</span><span·class="n">Tid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="9417452689-2">(</span><span·class="n">Sid</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">persistent_term</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="9417452689-3">(</span><span·class="o">?[·...·truncated·by·diffoscope;·len:·129,·SHA:·2efdf7d6ecdc29dbc69a120a7be9ff2a5e8c8f27bd695310bec373bb2d6a80d9·...·]9-2">)</span><span·class="p">,</span><span·class="w">
205 ····</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">update_counter</span><span·class="p"·data-group-id="6433489329-4">(</span><span·class="n">Tid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6433489329-4">)</span><span·class="p">.</span></code></pre>205 ····</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">update_counter</span><span·class="p"·data-group-id="9417452689-4">(</span><span·class="n">Tid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="9417452689-4">)</span><span·class="p">.</span></code></pre>
206 ····</section>206 ····</section>
  
207 </div>207 </div>
  
208 ··<section·id="summary"·class="details-list">208 ··<section·id="summary"·class="details-list">
209 ····<h1·class="section-heading">209 ····<h1·class="section-heading">
210 ······<a·class="hover-link"·href="#summary">210 ······<a·class="hover-link"·href="#summary">
Offset 593, 15 lines modifiedOffset 593, 15 lines modified
593 ······<p·class="built-using">593 ······<p·class="built-using">
594 ········Built·using594 ········Built·using
595 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the595 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
596 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>596 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
597 ······</p>597 ······</p>
598 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>598 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
599 ····</footer>599 ····</footer>
600 ··</div>600 ··</div>
601 </main>601 </main>
602 </div>602 </div>
603 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>603 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
604 ··<script>604 ··<script>
605 ··let·initialized·=·false;605 ··let·initialized·=·false;
680 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/portsignals.html
    
Offset 399, 15 lines modifiedOffset 399, 15 lines modified
399 ······<p·class="built-using">399 ······<p·class="built-using">
400 ········Built·using400 ········Built·using
401 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the401 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
402 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>402 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
403 ······</p>403 ······</p>
404 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>404 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
405 ····</footer>405 ····</footer>
406 ··</div>406 ··</div>
407 </main>407 </main>
408 </div>408 </div>
409 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>409 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
410 ··<script>410 ··<script>
411 ··let·initialized·=·false;411 ··let·initialized·=·false;
710 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/processmanagementoptimizations.html
    
Offset 320, 15 lines modifiedOffset 320, 15 lines modified
320 ······<p·class="built-using">320 ······<p·class="built-using">
321 ········Built·using321 ········Built·using
322 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the322 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
323 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>323 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
324 ······</p>324 ······</p>
325 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>325 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
326 ····</footer>326 ····</footer>
327 ··</div>327 ··</div>
328 </main>328 </main>
329 </div>329 </div>
330 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>330 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
331 ··<script>331 ··<script>
332 ··let·initialized·=·false;332 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/ptables.html
    
Offset 456, 15 lines modifiedOffset 456, 15 lines modified
456 ······<p·class="built-using">456 ······<p·class="built-using">
457 ········Built·using457 ········Built·using
458 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the458 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
459 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>459 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
460 ······</p>460 ······</p>
461 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>461 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
462 ····</footer>462 ····</footer>
463 ··</div>463 ··</div>
464 </main>464 </main>
465 </div>465 </div>
466 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>466 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
467 ··<script>467 ··<script>
468 ··let·initialized·=·false;468 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
1.36 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/run_erl_cmd.html
    
Offset 247, 15 lines modifiedOffset 247, 15 lines modified
247 ······<p·class="built-using">247 ······<p·class="built-using">
248 ········Built·using248 ········Built·using
249 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the249 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
250 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>250 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
251 ······</p>251 ······</p>
252 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>252 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
253 ····</footer>253 ····</footer>
254 ··</div>254 ··</div>
255 </main>255 </main>
256 </div>256 </div>
257 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>257 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
258 ··<script>258 ··<script>
259 ··let·initialized·=·false;259 ··let·initialized·=·false;
557 B
html2text {}
Max HTML report size reached
1.19 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/search.html
    
Offset 137, 15 lines modifiedOffset 137, 15 lines modified
137 ······<p·class="built-using">137 ······<p·class="built-using">
138 ········Built·using138 ········Built·using
139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
141 ······</p>141 ······</p>
142 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>142 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
143 ····</footer>143 ····</footer>
144 ··</div>144 ··</div>
145 </main>145 </main>
146 </div>146 </div>
147 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>147 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
148 ··<script>148 ··<script>
149 ··let·initialized·=·false;149 ··let·initialized·=·false;
396 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/start_cmd.html
    
Offset 184, 15 lines modifiedOffset 184, 15 lines modified
184 ······<p·class="built-using">184 ······<p·class="built-using">
185 ········Built·using185 ········Built·using
186 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the186 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
187 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>187 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
188 ······</p>188 ······</p>
189 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>189 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
190 ····</footer>190 ····</footer>
191 ··</div>191 ··</div>
192 </main>192 </main>
193 </div>193 </div>
194 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>194 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
195 ··<script>195 ··<script>
196 ··let·initialized·=·false;196 ··let·initialized·=·false;
579 B
html2text {}
Max HTML report size reached
1.33 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/start_erl_cmd.html
    
Offset 230, 15 lines modifiedOffset 230, 15 lines modified
230 ······<p·class="built-using">230 ······<p·class="built-using">
231 ········Built·using231 ········Built·using
232 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the232 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
233 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>233 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
234 ······</p>234 ······</p>
235 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>235 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
236 ····</footer>236 ····</footer>
237 ··</div>237 ··</div>
238 </main>238 </main>
239 </div>239 </div>
240 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>240 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
241 ··<script>241 ··<script>
242 ··let·initialized·=·false;242 ··let·initialized·=·false;
523 B
html2text {}
Max HTML report size reached
5.11 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/supercarrier.html
    
Offset 225, 20 lines modifiedOffset 225, 20 lines modified
225 (alloc_util·and·the·different·strategies).·However,·that·would·not·be225 (alloc_util·and·the·different·strategies).·However,·that·would·not·be
226 as·straight·forward·as·one·can·think·and·can·also·waste·quite·a·lot·of226 as·straight·forward·as·one·can·think·and·can·also·waste·quite·a·lot·of
227 memory·as·it·uses·prepended·block·headers.·The·granularity·of·the227 memory·as·it·uses·prepended·block·headers.·The·granularity·of·the
228 super·carrier·is·one·memory·page·(usually·4kb).·We·want·to·allocate228 super·carrier·is·one·memory·page·(usually·4kb).·We·want·to·allocate
229 and·free·entire·pages·and·we·don't·want·to·waste·an·entire·page·just229 and·free·entire·pages·and·we·don't·want·to·waste·an·entire·page·just
230 to·hold·the·block·header·of·the·following·pages.</p><p>Instead·we·store·the·meta·information·about·all·the·free·segments·in·a230 to·hold·the·block·header·of·the·following·pages.</p><p>Instead·we·store·the·meta·information·about·all·the·free·segments·in·a
231 dedicated·area·apart·from·the·<code·class="inline">sa</code>·and·<code·class="inline">sua</code>·areas.·Every·free·segment·is231 dedicated·area·apart·from·the·<code·class="inline">sa</code>·and·<code·class="inline">sua</code>·areas.·Every·free·segment·is
232 represented·by·a·descriptor·struct·(<code·class="inline">ErtsFreeSegDesc</code>).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typedef</span><span·class="w">·</span><span·class="ss">struct</span><span·class="w">·</span><span·class="p"·data-group-id="2308274117-1">{</span><span·class="w">232 represented·by·a·descriptor·struct·(<code·class="inline">ErtsFreeSegDesc</code>).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typedef</span><span·class="w">·</span><span·class="ss">struct</span><span·class="w">·</span><span·class="p"·data-group-id="8110796416-1">{</span><span·class="w">
233 ····</span><span·class="n">RBTNode</span><span·class="w">·</span><span·class="ss">snode</span><span·class="p">;</span><span·class="w">······</span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="nb">node</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">&#39;stree&#39;</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">233 ····</span><span·class="n">RBTNode</span><span·class="w">·</span><span·class="ss">snode</span><span·class="p">;</span><span·class="w">······</span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="nb">node</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">&#39;stree&#39;</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">
234 ····</span><span·class="n">RBTNode</span><span·class="w">·</span><span·class="ss">anode</span><span·class="p">;</span><span·class="w">······</span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="nb">node</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">&#39;atree&#39;</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">234 ····</span><span·class="n">RBTNode</span><span·class="w">·</span><span·class="ss">anode</span><span·class="p">;</span><span·class="w">······</span><span·class="o">/</span><span·class="o">*</span><span·class="w">·</span><span·class="nb">node</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">&#39;atree&#39;</span><span·class="w">·</span><span·class="o">*</span><span·class="o">/</span><span·class="w">
235 ····</span><span·class="ss">char</span><span·class="o">*</span><span·class="w">·</span><span·class="ss">start</span><span·class="p">;</span><span·class="w">235 ····</span><span·class="ss">char</span><span·class="o">*</span><span·class="w">·</span><span·class="ss">start</span><span·class="p">;</span><span·class="w">
236 ····</span><span·class="ss">char</span><span·class="o">*</span><span·class="w">·</span><span·class="k">end</span><span·class="p">;</span><span·class="w">236 ····</span><span·class="ss">char</span><span·class="o">*</span><span·class="w">·</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
237 </span><span·class="p"·data-group-id="2308274117-1">}</span><span·class="n">ErtsFreeSegDesc</span><span·class="p">;</span></code></pre><p>To·find·the·smallest·free·segment·that·will·satisfy·a·carrier·allocation237 </span><span·class="p"·data-group-id="8110796416-1">}</span><span·class="n">ErtsFreeSegDesc</span><span·class="p">;</span></code></pre><p>To·find·the·smallest·free·segment·that·will·satisfy·a·carrier·allocation
238 (best·fit),·the·free·segments·are·organized·in·a·tree·sorted·by238 (best·fit),·the·free·segments·are·organized·in·a·tree·sorted·by
239 size·(<code·class="inline">stree</code>).·We·search·in·this·tree·at·allocation.·If·no·free·segment·of239 size·(<code·class="inline">stree</code>).·We·search·in·this·tree·at·allocation.·If·no·free·segment·of
240 sufficient·size·was·found,·the·area·(<code·class="inline">sa</code>·or·<code·class="inline">sua</code>)·is·instead·expanded.240 sufficient·size·was·found,·the·area·(<code·class="inline">sa</code>·or·<code·class="inline">sua</code>)·is·instead·expanded.
241 If·two·or·more·free·segments·with·equal·size·exist,·the·one·at·lowest241 If·two·or·more·free·segments·with·equal·size·exist,·the·one·at·lowest
242 address·is·chosen·for·<code·class="inline">sa</code>·and·highest·address·for·<code·class="inline">sua</code>.</p><p>At·carrier·deallocation,·we·want·to·coalesce·with·any·adjacent·free242 address·is·chosen·for·<code·class="inline">sa</code>·and·highest·address·for·<code·class="inline">sua</code>.</p><p>At·carrier·deallocation,·we·want·to·coalesce·with·any·adjacent·free
243 segments,·to·form·one·large·free·segment.·To·do·that,·all·free243 segments,·to·form·one·large·free·segment.·To·do·that,·all·free
244 segments·are·also·organized·in·a·tree·sorted·in·address·order·(<code·class="inline">atree</code>).</p><p>So,·in·total·we·keep·four·trees·of·free·descriptors·for·the·super244 segments·are·also·organized·in·a·tree·sorted·in·address·order·(<code·class="inline">atree</code>).</p><p>So,·in·total·we·keep·four·trees·of·free·descriptors·for·the·super
Offset 317, 15 lines modifiedOffset 317, 15 lines modified
317 ······<p·class="built-using">317 ······<p·class="built-using">
318 ········Built·using318 ········Built·using
319 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the319 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
320 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>320 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
321 ······</p>321 ······</p>
322 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>322 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
323 ····</footer>323 ····</footer>
324 ··</div>324 ··</div>
325 </main>325 </main>
326 </div>326 </div>
327 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>327 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
328 ··<script>328 ··<script>
329 ··let·initialized·=·false;329 ··let·initialized·=·false;
720 B
html2text {}
Max HTML report size reached
1.42 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/threadprogress.html
    
Offset 422, 15 lines modifiedOffset 422, 15 lines modified
422 ······<p·class="built-using">422 ······<p·class="built-using">
423 ········Built·using423 ········Built·using
424 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the424 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
425 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>425 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
426 ······</p>426 ······</p>
427 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>427 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
428 ····</footer>428 ····</footer>
429 ··</div>429 ··</div>
430 </main>430 </main>
431 </div>431 </div>
432 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>432 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
433 ··<script>433 ··<script>
434 ··let·initialized·=·false;434 ··let·initialized·=·false;
616 B
html2text {}
Max HTML report size reached
5.86 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/time_correction.html
    
Offset 560, 17 lines modifiedOffset 560, 17 lines modified
560 the·event·occurs.</p></section><section·role="note"·class="admonition·tip"><h4·class="admonition-title·tip">Do</h4><p>Determine·the·order·of·events·by·saving·the·integer·returned·by560 the·event·occurs.</p></section><section·role="note"·class="admonition·tip"><h4·class="admonition-title·tip">Do</h4><p>Determine·the·order·of·events·by·saving·the·integer·returned·by
561 <a·href="erlang.html#unique_integer/1"><code·class="inline">erlang:unique_integer([monotonic])</code></a>·when·the561 <a·href="erlang.html#unique_integer/1"><code·class="inline">erlang:unique_integer([monotonic])</code></a>·when·the
562 event·occurs.·These·integers·are·strictly·monotonically·ordered·on·current562 event·occurs.·These·integers·are·strictly·monotonically·ordered·on·current
563 runtime·system·instance·corresponding·to·creation·time.</p></section><h4>Determine·Order·of·Events·with·Time·of·the·Event</h4><section·role="note"·class="admonition·error"><h4·class="admonition-title·error">Dont</h4><p>Determine·the·order·of·events·by·saving·a·time·stamp·with·<a·href="erlang.html#now/0"><code·class="inline">erlang:now/0</code></a>·when563 runtime·system·instance·corresponding·to·creation·time.</p></section><h4>Determine·Order·of·Events·with·Time·of·the·Event</h4><section·role="note"·class="admonition·error"><h4·class="admonition-title·error">Dont</h4><p>Determine·the·order·of·events·by·saving·a·time·stamp·with·<a·href="erlang.html#now/0"><code·class="inline">erlang:now/0</code></a>·when
564 the·event·occurs.</p></section><section·role="note"·class="admonition·tip"><h4·class="admonition-title·tip">Do</h4><p>Determine·the·order·of·events·by·saving·a·tuple·containing564 the·event·occurs.</p></section><section·role="note"·class="admonition·tip"><h4·class="admonition-title·tip">Do</h4><p>Determine·the·order·of·events·by·saving·a·tuple·containing
565 <a·href="erlang.html#monotonic_time/0">monotonic·time</a>·and·a565 <a·href="erlang.html#monotonic_time/0">monotonic·time</a>·and·a
566 <a·href="erlang.html#unique_integer/1">strictly·monotonically·increasing·integer</a>·as566 <a·href="erlang.html#unique_integer/1">strictly·monotonically·increasing·integer</a>·as
567 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Time</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monotonic_time</span><span·class="p"·data-group-id="6721752671-1">(</span><span·class="p"·data-group-id="6721752671-1">)</span><span·class="p">,</span><span·class="w">567 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Time</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monotonic_time</span><span·class="p"·data-group-id="0990425456-1">(</span><span·class="p"·data-group-id="0990425456-1">)</span><span·class="p">,</span><span·class="w">
568 </span><span·class="n">UMI</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">unique_integer</span><span·class="p"·data-group-id="6721752671-2">(</span><span·class="p"·data-group-id="6721752671-3">[</span><span·class="ss">monotonic</span><span·class="p"·data-group-id="6721752671-3">]</span><span·class="p"·data-group-id="6721752671-2">)</span><span·class="p">,</span><span·class="w">568 </span><span·class="n">UMI</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">unique_integer</span><span·class="p"·data-group-id="0990425456-2">(</span><span·class="p"·data-group-id="0990425456-3">[</span><span·class="ss">monotonic</span><span·class="p"·data-group-id="0990425456-3">]</span><span·class="p"·data-group-id="0990425456-2">)</span><span·class="p">,</span><span·class="w">
569 </span><span·class="n">EventTag</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6721752671-4">{</span><span·class="n">Time</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UMI</span><span·class="p"·data-group-id="6721752671-4">}</span></code></pre><p>These·tuples·are·strictly·monotonically·ordered·on·the·current·runtime·system569 </span><span·class="n">EventTag</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0990425456-4">{</span><span·class="n">Time</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UMI</span><span·class="p"·data-group-id="0990425456-4">}</span></code></pre><p>These·tuples·are·strictly·monotonically·ordered·on·the·current·runtime·system
570 instance·according·to·creation·time.·It·is·important·that·the·monotonic·time570 instance·according·to·creation·time.·It·is·important·that·the·monotonic·time
571 is·in·the·first·element·(the·most·significant·element·when·comparing571 is·in·the·first·element·(the·most·significant·element·when·comparing
572 two-tuples).·Using·the·monotonic·time·in·the·tuples,·you·can·calculate·time572 two-tuples).·Using·the·monotonic·time·in·the·tuples,·you·can·calculate·time
573 between·events.</p><p>If·you·are·interested·in·Erlang·system·time·at·the·time·when·the·event573 between·events.</p><p>If·you·are·interested·in·Erlang·system·time·at·the·time·when·the·event
574 occurred,·you·can·also·save·the·time·offset·before·or·after·saving·the·events574 occurred,·you·can·also·save·the·time·offset·before·or·after·saving·the·events
575 using·<a·href="erlang.html#time_offset/0"><code·class="inline">erlang:time_offset/0</code></a>.·Erlang·monotonic·time·added·with·the·time·offset575 using·<a·href="erlang.html#time_offset/0"><code·class="inline">erlang:time_offset/0</code></a>.·Erlang·monotonic·time·added·with·the·time·offset
576 corresponds·to·Erlang·system·time.</p><p>If·you·are·executing·in·a·mode·where·time·offset·can·change,·and·you·want·to576 corresponds·to·Erlang·system·time.</p><p>If·you·are·executing·in·a·mode·where·time·offset·can·change,·and·you·want·to
Offset 641, 15 lines modifiedOffset 641, 15 lines modified
641 ······<p·class="built-using">641 ······<p·class="built-using">
642 ········Built·using642 ········Built·using
643 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the643 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
644 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>644 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
645 ······</p>645 ······</p>
646 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>646 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
647 ····</footer>647 ····</footer>
648 ··</div>648 ··</div>
649 </main>649 </main>
650 </div>650 </div>
651 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>651 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
652 ··<script>652 ··<script>
653 ··let·initialized·=·false;653 ··let·initialized·=·false;
823 B
html2text {}
Max HTML report size reached
7.66 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/tracing.html
    
Offset 145, 31 lines modifiedOffset 145, 31 lines modified
145 on·functions·that·never·return,·as·each·call·pushes·a·frame·that·will145 on·functions·that·never·return,·as·each·call·pushes·a·frame·that·will
146 never·be·removed.</p><p>Another·limitation·is·that·since·the·breakpoint·is·in·the·<em>callee</em>·and·not146 never·be·removed.</p><p>Another·limitation·is·that·since·the·breakpoint·is·in·the·<em>callee</em>·and·not
147 the·<em>caller</em>,·we're·limited·to·the·information·we·have·on·function·ingress.147 the·<em>caller</em>,·we're·limited·to·the·information·we·have·on·function·ingress.
148 This·means·that·we·can't·actually·tell·who·called·us:·since·we're·limited148 This·means·that·we·can't·actually·tell·who·called·us:·since·we're·limited
149 to·inspecting·the·stack·we·can·only·say·where·we're·<em>going·to·return·to</em>,149 to·inspecting·the·stack·we·can·only·say·where·we're·<em>going·to·return·to</em>,
150 which·is·not·quite·the·same·thing.</p><p>As·an·illustration,·when·the·<code·class="inline">caller</code>·option·is·enabled·all·trace·messages150 which·is·not·quite·the·same·thing.</p><p>As·an·illustration,·when·the·<code·class="inline">caller</code>·option·is·enabled·all·trace·messages
151 from·<code·class="inline">bar/1</code>··will·say·that·they·were·called·from·<code·class="inline">foo/0</code>,·even·though·it151 from·<code·class="inline">bar/1</code>··will·say·that·they·were·called·from·<code·class="inline">foo/0</code>,·even·though·it
152 went·through·a·bunch·of·other·functions·on·the·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="6808972848-1">(</span><span·class="p"·data-group-id="6808972848-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">152 went·through·a·bunch·of·other·functions·on·the·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="6328975830-1">(</span><span·class="p"·data-group-id="6328975830-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
153 ····</span><span·class="nf">lots</span><span·class="p"·data-group-id="6808972848-2">(</span><span·class="p"·data-group-id="6808972848-2">)</span><span·class="p">,</span><span·class="w">153 ····</span><span·class="nf">lots</span><span·class="p"·data-group-id="6328975830-2">(</span><span·class="p"·data-group-id="6328975830-2">)</span><span·class="p">,</span><span·class="w">
154 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">154 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
155 </span><span·class="nf">lots</span><span·class="p"·data-group-id="6808972848-3">(</span><span·class="p"·data-group-id="6808972848-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">155 </span><span·class="nf">lots</span><span·class="p"·data-group-id="6328975830-3">(</span><span·class="p"·data-group-id="6328975830-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
156 ····</span><span·class="nf">&#39;of&#39;</span><span·class="p"·data-group-id="6808972848-4">(</span><span·class="p"·data-group-id="6808972848-4">)</span><span·class="p">.</span><span·class="w">156 ····</span><span·class="nf">&#39;of&#39;</span><span·class="p"·data-group-id="6328975830-4">(</span><span·class="p"·data-group-id="6328975830-4">)</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">&#39;of&#39;</span><span·class="p"·data-group-id="6808972848-5">(</span><span·class="p"·data-group-id="6808972848-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">157 </span><span·class="nf">&#39;of&#39;</span><span·class="p"·data-group-id="6328975830-5">(</span><span·class="p"·data-group-id="6328975830-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
158 ····</span><span·class="nf">indirections</span><span·class="p"·data-group-id="6808972848-6">(</span><span·class="p"·data-group-id="6808972848-6">)</span><span·class="p">.</span><span·class="w">158 ····</span><span·class="nf">indirections</span><span·class="p"·data-group-id="6328975830-6">(</span><span·class="p"·data-group-id="6328975830-6">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">indirections</span><span·class="p"·data-group-id="6808972848-7">(</span><span·class="p"·data-group-id="6808972848-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">159 </span><span·class="nf">indirections</span><span·class="p"·data-group-id="6328975830-7">(</span><span·class="p"·data-group-id="6328975830-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
160 ····</span><span·class="nf">bar</span><span·class="p"·data-group-id="6808972848-8">(</span><span·class="mi">10</span><span·class="p"·data-group-id="6808972848-8">)</span><span·class="p">.</span><span·class="w">160 ····</span><span·class="nf">bar</span><span·class="p"·data-group-id="6328975830-8">(</span><span·class="mi">10</span><span·class="p"·data-group-id="6328975830-8">)</span><span·class="p">.</span><span·class="w">
  
161 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6808972848-9">(</span><span·class="mi">0</span><span·class="p"·data-group-id="6808972848-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">161 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6328975830-9">(</span><span·class="mi">0</span><span·class="p"·data-group-id="6328975830-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
162 ····</span><span·class="ss">done</span><span·class="p">;</span><span·class="w">162 ····</span><span·class="ss">done</span><span·class="p">;</span><span·class="w">
163 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6808972848-10">(</span><span·class="n">N</span><span·class="p"·data-group-id="6808972848-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">163 </span><span·class="nf">bar</span><span·class="p"·data-group-id="6328975830-10">(</span><span·class="n">N</span><span·class="p"·data-group-id="6328975830-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
164 ····</span><span·class="nf">bar</span><span·class="p"·data-group-id="6808972848-11">(</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6808972848-11">)</span><span·class="p">.</span></code></pre><h3·id="export-tracing"·class="section-heading">164 ····</span><span·class="nf">bar</span><span·class="p"·data-group-id="6328975830-11">(</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6328975830-11">)</span><span·class="p">.</span></code></pre><h3·id="export-tracing"·class="section-heading">
165 ··<a·href="#export-tracing"·class="hover-link">165 ··<a·href="#export-tracing"·class="hover-link">
166 ····<i·class="ri-link-m"·aria-hidden="true"></i>166 ····<i·class="ri-link-m"·aria-hidden="true"></i>
167 ··</a>167 ··</a>
168 ··<span·class="text">Export·tracing</span>168 ··<span·class="text">Export·tracing</span>
169 </h3>169 </h3>
170 <p>In·the·interpreter,·breakpoints·are·set·inside·the·code·trampoline·for170 <p>In·the·interpreter,·breakpoints·are·set·inside·the·code·trampoline·for
171 export·entries,·and·their·address·vector·is·updated·to·point·to·them.171 export·entries,·and·their·address·vector·is·updated·to·point·to·them.
Offset 386, 15 lines modifiedOffset 386, 15 lines modified
386 ······<p·class="built-using">386 ······<p·class="built-using">
387 ········Built·using387 ········Built·using
388 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the388 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
389 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>389 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
390 ······</p>390 ······</p>
391 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>391 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
392 ····</footer>392 ····</footer>
393 ··</div>393 ··</div>
394 </main>394 </main>
395 </div>395 </div>
396 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>396 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
397 ··<script>397 ··<script>
398 ··let·initialized·=·false;398 ··let·initialized·=·false;
698 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/tty.html
    
Offset 191, 15 lines modifiedOffset 191, 15 lines modified
191 ······<p·class="built-using">191 ······<p·class="built-using">
192 ········Built·using192 ········Built·using
193 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the193 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
194 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>194 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
195 ······</p>195 ······</p>
196 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>196 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
197 ····</footer>197 ····</footer>
198 ··</div>198 ··</div>
199 </main>199 </main>
200 </div>200 </div>
201 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>201 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
202 ··<script>202 ··<script>
203 ··let·initialized·=·false;203 ··let·initialized·=·false;
623 B
html2text {}
Max HTML report size reached
1.42 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/werl_cmd.html
    
Offset 196, 15 lines modifiedOffset 196, 15 lines modified
196 ······<p·class="built-using">196 ······<p·class="built-using">
197 ········Built·using197 ········Built·using
198 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the198 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
199 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>199 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
200 ······</p>200 ······</p>
201 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>201 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
202 ····</footer>202 ····</footer>
203 ··</div>203 ··</div>
204 </main>204 </main>
205 </div>205 </div>
206 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>206 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
207 ··<script>207 ··<script>
208 ··let·initialized·=·false;208 ··let·initialized·=·false;
630 B
html2text {}
Max HTML report size reached
38.2 KB
./usr/share/doc/erlang-doc/html/erts-16.0/doc/html/zlib.html
    
Offset 129, 26 lines modifiedOffset 129, 26 lines modified
  
129 ····<section·id="moduledoc">129 ····<section·id="moduledoc">
130 <p>zlib·compression·interface.</p><p>This·module·provides·an·API·for·the·zlib·library130 <p>zlib·compression·interface.</p><p>This·module·provides·an·API·for·the·zlib·library
131 (<a·href="http://www.zlib.net">www.zlib.net</a>).·It·is·used·to·compress·and·decompress131 (<a·href="http://www.zlib.net">www.zlib.net</a>).·It·is·used·to·compress·and·decompress
132 data.·The·data·format·is·described·by132 data.·The·data·format·is·described·by
133 <a·href="https://www.ietf.org/rfc/rfc1950.txt">RFC·1950</a>,133 <a·href="https://www.ietf.org/rfc/rfc1950.txt">RFC·1950</a>,
134 <a·href="https://www.ietf.org/rfc/rfc1951.txt">RFC·1951</a>,·and134 <a·href="https://www.ietf.org/rfc/rfc1951.txt">RFC·1951</a>,·and
135 <a·href="https://www.ietf.org/rfc/rfc1952.txt">RFC·1952</a>.</p><p>A·typical·(compress)·usage·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Z</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="3353714643-1">(</span><span·class="p"·data-group-id="3353714643-1">)</span><span·class="p">,</span><span·class="w">135 <a·href="https://www.ietf.org/rfc/rfc1952.txt">RFC·1952</a>.</p><p>A·typical·(compress)·usage·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Z</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="7483162573-1">(</span><span·class="p"·data-group-id="7483162573-1">)</span><span·class="p">,</span><span·class="w">
136 </span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflateInit</span><span·class="p"·data-group-id="3353714643-2">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="ss">default</span><span·class="p"·data-group-id="3353714643-2">)</span><span·class="p">,</span><span·class="w">136 </span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflateInit</span><span·class="p"·data-group-id="7483162573-2">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="ss">default</span><span·class="p"·data-group-id="7483162573-2">)</span><span·class="p">,</span><span·class="w">
  
137 </span><span·class="n">Compress</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="3353714643-3">(</span><span·class="ss">end_of_data</span><span·class="p"·data-group-id="3353714643-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">137 </span><span·class="n">Compress</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="7483162573-3">(</span><span·class="ss">end_of_data</span><span·class="p"·data-group-id="7483162573-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
138 ·················</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflate</span><span·class="p"·data-group-id="3353714643-4">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3353714643-5">[</span><span·class="p"·data-group-id="3353714643-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·62,·SHA:·19495bc539fe7c00bd4dd9ea8fdde095aafb3419999bcaecd8458e30e8de733e·...·]3-4">)</span><span·class="p">;</span><span·class="w">138 ·················</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflate</span><span·class="p"·data-group-id="7483162573-4">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7483162573-5">[</span><span·class="p"·data-group-id="7483162573-5">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·62,·SHA:·b875dfd4f9ac093e3880c43118897509dcd8616559ecce4e3d0d35b94be59557·...·]3-4">)</span><span·class="p">;</span><span·class="w">
139 ···············</span><span·class="n">F</span><span·class="p"·data-group-id="3353714643-6">(</span><span·class="n">Data</span><span·class="p"·data-group-id="3353714643-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">139 ···············</span><span·class="n">F</span><span·class="p"·data-group-id="7483162573-6">(</span><span·class="n">Data</span><span·class="p"·data-group-id="7483162573-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
140 ·················</span><span·class="p"·data-group-id="3353714643-7">[</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflate</span><span·class="p"·data-group-id="3353714643-8">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span[·...·truncated·by·diffoscope;·len:·383,·SHA:·0135e50608f1d487d226c5bdeb2c58027fcf98519a5c125bf7069d6384e42e6e·...·]3-7">]</span><span·class="w">140 ·················</span><span·class="p"·data-group-id="7483162573-7">[</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflate</span><span·class="p"·data-group-id="7483162573-8">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span[·...·truncated·by·diffoscope;·len:·383,·SHA:·cc267a2e39f52f15c79a47e26973ec6fb84920598892aa2efc76e30b1f132205·...·]3-7">]</span><span·class="w">
141 ···········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">141 ···········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
142 </span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Compress</span><span·class="p"·data-group-id="3353714643-11">(</span><span·class="n">Read</span><span·class="p"·data-group-id="3353714643-12">(</span><span·class="p"·data-group-id="3353714643-12">)</span><span·class="p"·data-group-id="3353714643-11">)</span><span·class="p">,</span><span·class="w">142 </span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Compress</span><span·class="p"·data-group-id="7483162573-11">(</span><span·class="n">Read</span><span·class="p"·data-group-id="7483162573-12">(</span><span·class="p"·data-group-id="7483162573-12">)</span><span·class="p"·data-group-id="7483162573-11">)</span><span·class="p">,</span><span·class="w">
143 </span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflateEnd</span><span·class="p"·data-group-id="3353714643-13">(</span><span·class="n">Z</span><span·class="p"·data-group-id="3353714643-13">)</span><span·class="p">,</span><span·class="w">143 </span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflateEnd</span><span·class="p"·data-group-id="7483162573-13">(</span><span·class="n">Z</span><span·class="p"·data-group-id="7483162573-13">)</span><span·class="p">,</span><span·class="w">
144 </span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="3353714643-14">(</span><span·class="n">Z</span><span·class="p"·data-group-id="3353714643-14">)</span><span·class="p">,</span><span·class="w">144 </span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="7483162573-14">(</span><span·class="n">Z</span><span·class="p"·data-group-id="7483162573-14">)</span><span·class="p">,</span><span·class="w">
145 </span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="3353714643-15">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="3353714643-15">)</span></code></pre><p>In·all·functions·errors,·<code·class="inline">{'EXIT',{Reason,Backtrace}}</code>,·can·be·thrown,·where145 </span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="7483162573-15">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="7483162573-15">)</span></code></pre><p>In·all·functions·errors,·<code·class="inline">{'EXIT',{Reason,Backtrace}}</code>,·can·be·thrown,·where
146 <code·class="inline">Reason</code>·describes·the·error.</p><p>Typical·<code·class="inline">Reason</code>s:</p><ul><li><p><strong><code·class="inline">badarg</code></strong>·-·Bad·argument.</p></li><li><p><strong><code·class="inline">not_initialized</code></strong>·-·The·stream·hasn't·been·initialized,·eg.·if146 <code·class="inline">Reason</code>·describes·the·error.</p><p>Typical·<code·class="inline">Reason</code>s:</p><ul><li><p><strong><code·class="inline">badarg</code></strong>·-·Bad·argument.</p></li><li><p><strong><code·class="inline">not_initialized</code></strong>·-·The·stream·hasn't·been·initialized,·eg.·if
147 <a·href="#inflateInit/1"><code·class="inline">inflateInit/1</code></a>·wasn't·called·prior·to·a·call·to·<a·href="#inflate/2"><code·class="inline">inflate/2</code></a>.</p></li><li><p><strong><code·class="inline">not_on_controlling_process</code></strong>·-·The·stream·was·used·by·a·process·that147 <a·href="#inflateInit/1"><code·class="inline">inflateInit/1</code></a>·wasn't·called·prior·to·a·call·to·<a·href="#inflate/2"><code·class="inline">inflate/2</code></a>.</p></li><li><p><strong><code·class="inline">not_on_controlling_process</code></strong>·-·The·stream·was·used·by·a·process·that
148 doesn't·control·it.·Use·<a·href="#set_controlling_process/2"><code·class="inline">set_controlling_process/2</code></a>·if·you·need·to·transfer·a148 doesn't·control·it.·Use·<a·href="#set_controlling_process/2"><code·class="inline">set_controlling_process/2</code></a>·if·you·need·to·transfer·a
149 stream·to·a·different·process.</p></li><li><p><strong><code·class="inline">data_error</code></strong>·-·The·data·contains·errors.</p></li><li><p><strong><code·class="inline">stream_error</code></strong>·-·Inconsistent·stream·state.</p></li><li><p><strong><code·class="inline">{need_dictionary,Adler32}</code></strong>·-·See·<a·href="#inflate/2"><code·class="inline">inflate/2</code></a>.</p></li></ul>149 stream·to·a·different·process.</p></li><li><p><strong><code·class="inline">data_error</code></strong>·-·The·data·contains·errors.</p></li><li><p><strong><code·class="inline">stream_error</code></strong>·-·Inconsistent·stream·state.</p></li><li><p><strong><code·class="inline">{need_dictionary,Adler32}</code></strong>·-·See·<a·href="#inflate/2"><code·class="inline">inflate/2</code></a>.</p></li></ul>
150 ····</section>150 ····</section>
  
151 </div>151 </div>
Offset 827, 19 lines modifiedOffset 827, 19 lines modified
827 all·input·data·available·so·far.·Flushing·can·degrade·compression·for·some827 all·input·data·available·so·far.·Flushing·can·degrade·compression·for·some
828 compression·algorithms;·thus,·use·it·only·when·necessary.</p><p>If·<code·class="inline">Flush</code>·is·set·to·<code·class="inline">full</code>,·all·output·is·flushed·as·with·<code·class="inline">sync</code>,·and·the828 compression·algorithms;·thus,·use·it·only·when·necessary.</p><p>If·<code·class="inline">Flush</code>·is·set·to·<code·class="inline">full</code>,·all·output·is·flushed·as·with·<code·class="inline">sync</code>,·and·the
829 compression·state·is·reset·so·that·decompression·can·restart·from·this·point·if829 compression·state·is·reset·so·that·decompression·can·restart·from·this·point·if
830 previous·compressed·data·has·been·damaged·or·if·random·access·is·desired.·Using830 previous·compressed·data·has·been·damaged·or·if·random·access·is·desired.·Using
831 <code·class="inline">full</code>·too·often·can·seriously·degrade·the·compression.</p><p>If·<code·class="inline">Flush</code>·is·set·to·<code·class="inline">finish</code>,·pending·input·is·processed,·pending·output·is831 <code·class="inline">full</code>·too·often·can·seriously·degrade·the·compression.</p><p>If·<code·class="inline">Flush</code>·is·set·to·<code·class="inline">finish</code>,·pending·input·is·processed,·pending·output·is
832 flushed,·and·<a·href="#deflate/3"><code·class="inline">deflate/3</code></a>·returns.·Afterwards·the·only·possible832 flushed,·and·<a·href="#deflate/3"><code·class="inline">deflate/3</code></a>·returns.·Afterwards·the·only·possible
833 operations·on·the·stream·are·<a·href="#deflateReset/1"><code·class="inline">deflateReset/1</code></a>·or·<a·href="#deflateEnd/1"><code·class="inline">deflateEnd/1</code></a>.</p><p><code·class="inline">Flush</code>·can·be·set·to·<code·class="inline">finish</code>·immediately·after833 operations·on·the·stream·are·<a·href="#deflateReset/1"><code·class="inline">deflateReset/1</code></a>·or·<a·href="#deflateEnd/1"><code·class="inline">deflateEnd/1</code></a>.</p><p><code·class="inline">Flush</code>·can·be·set·to·<code·class="inline">finish</code>·immediately·after
834 <a·href="#deflateInit/1"><code·class="inline">deflateInit</code></a>·if·all·compression·is·to·be·done·in·one·step.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflateInit</span><span·class="p"·data-group-id="6639333461-1">(</span><span·class="n">Z</span><span·class="p"·data-group-id="6639333461-1">)</span><span·class="p">,</span><span·class="w">834 <a·href="#deflateInit/1"><code·class="inline">deflateInit</code></a>·if·all·compression·is·to·be·done·in·one·step.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflateInit</span><span·class="p"·data-group-id="6861350999-1">(</span><span·class="n">Z</span><span·class="p"·data-group-id="6861350999-1">)</span><span·class="p">,</span><span·class="w">
835 </span><span·class="n">B1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflate</span><span·class="p"·data-group-id="6639333461-2">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="6639333461-2">)</span><span·class="p">,</span><span·class="w">835 </span><span·class="n">B1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflate</span><span·class="p"·data-group-id="6861350999-2">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="6861350999-2">)</span><span·class="p">,</span><span·class="w">
836 </span><span·class="n">B2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflate</span><span·class="p"·data-group-id="6639333461-3">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="p"·data-group-id="6639333461-4">&lt;&lt;</span><span·class="w">·</span><span·class="p"·data-group-id="6639333461-4">&gt;&gt;</span><span·class="p">,</span><span·class="ss">fi[·...·truncated·by·diffoscope;·len:·52,·SHA:·913950669dba00c4a80dd58dc25914c124ed2f2192e5e9a3e45dab081e4f61b1·...·]-3">)</span><span·class="p">,</span><span·class="w">836 </span><span·class="n">B2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflate</span><span·class="p"·data-group-id="6861350999-3">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="p"·data-group-id="6861350999-4">&lt;&lt;</span><span·class="w">·</span><span·class="p"·data-group-id="6861350999-4">&gt;&gt;</span><span·class="p">,</span><span·class="ss">fi[·...·truncated·by·diffoscope;·len:·52,·SHA:·8b52b168c61a0fc3f798f984fad27adbdf1c483a9b53c308c484231edfb4a89c·...·]-3">)</span><span·class="p">,</span><span·class="w">
837 </span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflateEnd</span><span·class="p"·data-group-id="6639333461-5">(</span><span·class="n">Z</span><span·class="p"·data-group-id="6639333461-5">)</span><span·class="p">,</span><span·class="w">837 </span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">deflateEnd</span><span·class="p"·data-group-id="6861350999-5">(</span><span·class="n">Z</span><span·class="p"·data-group-id="6861350999-5">)</span><span·class="p">,</span><span·class="w">
838 </span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="6639333461-6">(</span><span·class="p"·data-group-id="6639333461-7">[</span><span·class="n">B1</span><span·class="p">,</span><span·class="n">B2</span><span·class="p"·data-group-id="6639333461-7">]</span><span·class="p"·data-group-id="6639333461-6">)</span></code></pre>838 </span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="6861350999-6">(</span><span·class="p"·data-group-id="6861350999-7">[</span><span·class="n">B1</span><span·class="p">,</span><span·class="n">B2</span><span·class="p"·data-group-id="6861350999-7">]</span><span·class="p"·data-group-id="6861350999-6">)</span></code></pre>
839 ··</section>839 ··</section>
840 </section>840 </section>
841 <section·class="detail"·id="deflateEnd/1">841 <section·class="detail"·id="deflateEnd/1">
  
842 ··<div·class="detail-header">842 ··<div·class="detail-header">
843 ····<a·href="#deflateEnd/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">843 ····<a·href="#deflateEnd/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
844 ······<i·class="ri-link-m"·aria-hidden="true"></i>844 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1349, 28 lines modifiedOffset 1349, 28 lines modified
1349 <p>Initializes·the·decompression·dictionary·from·the·specified·uncompressed·byte1349 <p>Initializes·the·decompression·dictionary·from·the·specified·uncompressed·byte
1350 sequence.</p><p>This·function·must·be·called·as·a·response·to·an·inflate·operation1350 sequence.</p><p>This·function·must·be·called·as·a·response·to·an·inflate·operation
1351 (eg.·<a·href="#safeInflate/2"><code·class="inline">safeInflate/2</code></a>)·returning·<code·class="inline">{need_dictionary,Adler,Output}</code>·or·in·the·case1351 (eg.·<a·href="#safeInflate/2"><code·class="inline">safeInflate/2</code></a>)·returning·<code·class="inline">{need_dictionary,Adler,Output}</code>·or·in·the·case
1352 of·deprecated·functions,·throwing·an1352 of·deprecated·functions,·throwing·an
1353 <code·class="inline">{'EXIT',{{need_dictionary,Adler},_StackTrace}}</code>·exception.</p><p>The·dictionary·chosen·by·the·compressor·can·be·determined·from·the·Adler·value1353 <code·class="inline">{'EXIT',{{need_dictionary,Adler},_StackTrace}}</code>·exception.</p><p>The·dictionary·chosen·by·the·compressor·can·be·determined·from·the·Adler·value
1354 returned·or·thrown·by·the·call·to·the·inflate·function.·The·compressor·and1354 returned·or·thrown·by·the·call·to·the·inflate·function.·The·compressor·and
1355 decompressor·must·use·the·same·dictionary·(See·<a·href="#deflateSetDictionary/2"><code·class="inline">deflateSetDictionary/2</code></a>).</p><p>After·setting·the·dictionary·the·inflate·operation·should·be·retried·without·new1355 decompressor·must·use·the·same·dictionary·(See·<a·href="#deflateSetDictionary/2"><code·class="inline">deflateSetDictionary/2</code></a>).</p><p>After·setting·the·dictionary·the·inflate·operation·should·be·retried·without·new
1356 input.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">deprecated_unpack</span><span·class="p"·data-group-id="3117021305-1">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Compressed</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dict</span><span·class="p"·data-group-id="3117021305-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1356 input.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">deprecated_unpack</span><span·class="p"·data-group-id="0400870348-1">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Compressed</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dict</span><span·class="p"·data-group-id="0400870348-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1357 ·····</span><span·class="k">case</span><span·class="w">·</span><span·class="k">catch</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflate</span><span·class="p"·data-group-id="3117021305-2">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Compressed</span><span·class="p"·data-group-id="3117021305-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">1357 ·····</span><span·class="k">case</span><span·class="w">·</span><span·class="k">catch</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflate</span><span·class="p"·data-group-id="0400870348-2">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Compressed</span><span·class="p"·data-group-id="0400870348-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
1358 ··········</span><span·class="p"·data-group-id="3117021305-3">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="3117021305-4">{</span><span·class="p"·data-group-id="3117021305-5">{</span><span·class="ss">need_dictionary</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·245,·SHA:·3d34b061e42128faa09405d65fa7cd004e62e5b7a7a937f402a37cca15f56806·...·]-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1358 ··········</span><span·class="p"·data-group-id="0400870348-3">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="0400870348-4">{</span><span·class="p"·data-group-id="0400870348-5">{</span><span·class="ss">need_dictionary</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·245,·SHA:·46fd3909264dbe6b63d7c7eb4f924ca3c998d2c697fa10f4fff5e99b496b3c6d·...·]-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1359 ·················</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflateSetDictionary</span><span·class="p"·data-group-id="3117021305-6">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dict</span><span·class="p"·data-group-id="3117021305-6">)</span><span·class="p">,</span><span·class="w">1359 ·················</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflateSetDictionary</span><span·class="p"·data-group-id="0400870348-6">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dict</span><span·class="p"·data-group-id="0400870348-6">)</span><span·class="p">,</span><span·class="w">
1360 ·················</span><span·class="n">Uncompressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflate</span><span·class="p"·data-group-id="3117021305-7">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3117021305-8">[</span><span·class="p"·data-group-id="3117021305-8">]</span><span·class="p"·data-group-id="3117021305-7">)</span><span·class="p">;</span><span·class="w">1360 ·················</span><span·class="n">Uncompressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflate</span><span·class="p"·data-group-id="0400870348-7">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0400870348-8">[</span><span·class="p"·data-group-id="0400870348-8">]</span><span·class="p"·data-group-id="0400870348-7">)</span><span·class="p">;</span><span·class="w">
1361 ··········</span><span·class="n">Uncompressed</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1361 ··········</span><span·class="n">Uncompressed</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1362 ·················</span><span·class="n">Uncompressed</span><span·class="w">1362 ·················</span><span·class="n">Uncompressed</span><span·class="w">
1363 ·····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">1363 ·····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
1364 </span><span·class="nf">new_unpack</span><span·class="p"·data-group-id="3117021305-9">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Compressed</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dict</span><span·class="p"·data-group-id="3117021305-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1364 </span><span·class="nf">new_unpack</span><span·class="p"·data-group-id="0400870348-9">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Compressed</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dict</span><span·class="p"·data-group-id="0400870348-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1365 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflate</span><span·class="p"·data-group-id="3117021305-10">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Compressed</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3117021305-11">[</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·300,·SHA:·45988ded96430794853f0a1c89dd97c064b78f8682ee983303ab41d261de0445·...·]-10">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">1365 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflate</span><span·class="p"·data-group-id="0400870348-10">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Compressed</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0400870348-11">[</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·300,·SHA:·5094518aea0a6dc18c334389eec9928fca344cdc45b0e78df32112b82587287c·...·]-10">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
1366 ········</span><span·class="p"·data-group-id="3117021305-13">{</span><span·class="ss">need_dictionary</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">DictId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Output</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·2562713763d081698d27ef7cdf6fe1b379115c747088b5919ea76d59a5a29ad5·...·]-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1366 ········</span><span·class="p"·data-group-id="0400870348-13">{</span><span·class="ss">need_dictionary</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">DictId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Output</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·a441ea8cff64488fd02b017d36a198fb2035ff36f733529fe9a912990cd57364·...·]-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1367 ············</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflateSetDictionary</span><span·class="p"·data-group-id="3117021305-14">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dict</span><span·class="p"·data-group-id="3117021305-14">)</span><span·class="p">,</span><span·class="w">1367 ············</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflateSetDictionary</span><span·class="p"·data-group-id="0400870348-14">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dict</span><span·class="p"·data-group-id="0400870348-14">)</span><span·class="p">,</span><span·class="w">
1368 ············</span><span·class="p"·data-group-id="3117021305-15">[</span><span·class="n">Output</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflate</span><span·class="p"·data-group-id="3117021305-16">(</[·...·truncated·by·diffoscope;·len:·280,·SHA:·ce278a840239bdcb08ee9528e2bd6315275c78ccdd8b3d14f09414e9dfc8e34a·...·]-15">]</span><span·class="p">;</span><span·class="w">1368 ············</span><span·class="p"·data-group-id="0400870348-15">[</span><span·class="n">Output</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflate</span><span·class="p"·data-group-id="0400870348-16">(</[·...·truncated·by·diffoscope;·len:·280,·SHA:·90b9f9a848aaa574d01a919dc7221b89b3153522f0ee394dfe93f12ff96fe37c·...·]-15">]</span><span·class="p">;</span><span·class="w">
1369 ········</span><span·class="n">Uncompressed</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1369 ········</span><span·class="n">Uncompressed</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1370 ············</span><span·class="n">Uncompressed</span><span·class="w">1370 ············</span><span·class="n">Uncompressed</span><span·class="w">
1371 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre>1371 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre>
1372 ··</section>1372 ··</section>
1373 </section>1373 </section>
1374 <section·class="detail"·id="open/0">1374 <section·class="detail"·id="open/0">
  
Offset 1434, 26 lines modifiedOffset 1434, 26 lines modified
1434 implementation-defined·threshold.·It's·useful·when·decompressing·untrusted·input1434 implementation-defined·threshold.·It's·useful·when·decompressing·untrusted·input
1435 which·could·have·been·maliciously·crafted·to·expand·until·the·system·runs·out·of1435 which·could·have·been·maliciously·crafted·to·expand·until·the·system·runs·out·of
1436 memory.</p><p>This·function·returns·<code·class="inline">{continue·|·finished,·Output}</code>,·where·Output·is·the·data1436 memory.</p><p>This·function·returns·<code·class="inline">{continue·|·finished,·Output}</code>,·where·Output·is·the·data
1437 that·was·decompressed·in·this·call.·New·input·can·be·queued·up·on·each·call·if1437 that·was·decompressed·in·this·call.·New·input·can·be·queued·up·on·each·call·if
1438 desired,·and·the·function·will·return·<code·class="inline">{finished,·Output}</code>·once·all·queued·data1438 desired,·and·the·function·will·return·<code·class="inline">{finished,·Output}</code>·once·all·queued·data
1439 has·been·decompressed.</p><p>This·function·can·introduce·some·output·latency·(reading·input·without·producing1439 has·been·decompressed.</p><p>This·function·can·introduce·some·output·latency·(reading·input·without·producing
1440 any·output).</p><p>If·a·preset·dictionary·is·required·for·further·decompression,·this·function1440 any·output).</p><p>If·a·preset·dictionary·is·required·for·further·decompression,·this·function
1441 returns·a·<code·class="inline">need_dictionary</code>·tuple.·See·<a·href="#inflateSetDictionary/2"><code·class="inline">inflateSetDictionary/2</code></a>)·for·details.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">walk</span><span·class="p"·data-group-id="8053638174-1">(</span><span·class="n">Compressed</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handler</span><span·class="p"·data-group-id="8053638174-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1441 returns·a·<code·class="inline">need_dictionary</code>·tuple.·See·<a·href="#inflateSetDictionary/2"><code·class="inline">inflateSetDictionary/2</code></a>)·for·details.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">walk</span><span·class="p"·data-group-id="1324998340-1">(</span><span·class="n">Compressed</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handler</span><span·class="p"·data-group-id="1324998340-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1442 ····</span><span·class="n">Z</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="8053638174-2">(</span><span·class="p"·data-group-id="8053638174-2">)</span><span·class="p">,</span><span·class="w">1442 ····</span><span·class="n">Z</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="1324998340-2">(</span><span·class="p"·data-group-id="1324998340-2">)</span><span·class="p">,</span><span·class="w">
1443 ····</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflateInit</span><span·class="p"·data-group-id="8053638174-3">(</span><span·class="n">Z</span><span·class="p"·data-group-id="8053638174-3">)</span><span·class="p">,</span><span·class="w">1443 ····</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflateInit</span><span·class="p"·data-group-id="1324998340-3">(</span><span·class="n">Z</span><span·class="p"·data-group-id="1324998340-3">)</span><span·class="p">,</span><span·class="w">
1444 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="8053638174-4">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handler</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">safeInflate</sp[·...·truncated·by·diffoscope;·len:·255,·SHA:·b9a6863f354727ce00e1cbfee69d26f4997626303840c56c60f458cf13c1c225·...·]-4">)</span><span·class="p">,</span><span·class="w">1444 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="1324998340-4">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handler</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">safeInflate</sp[·...·truncated·by·diffoscope;·len:·255,·SHA:·f7255f12698a3f933653f6409ccedc4ffc51a765f653de1fc767a3c9e66b7492·...·]-4">)</span><span·class="p">,</span><span·class="w">
1445 ····</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflateEnd</span><span·class="p"·data-group-id="8053638174-6">(</span><span·class="n">Z</span><span·class="p"·data-group-id="8053638174-6">)</span><span·class="p">,</span><span·class="w">1445 ····</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">inflateEnd</span><span·class="p"·data-group-id="1324998340-6">(</span><span·class="n">Z</span><span·class="p"·data-group-id="1324998340-6">)</span><span·class="p">,</span><span·class="w">
1446 ····</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="8053638174-7">(</span><span·class="n">Z</span><span·class="p"·data-group-id="8053638174-7">)</span><span·class="p">.</span><span·class="w">1446 ····</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="1324998340-7">(</span><span·class="n">Z</span><span·class="p"·data-group-id="1324998340-7">)</span><span·class="p">.</span><span·class="w">
  
1447 </span><span·class="nf">loop</span><span·class="p"·data-group-id="8053638174-8">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handler</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8053638174-9">{</span><span·class="ss">continue</span[·...·truncated·by·diffoscope;·len:·172,·SHA:·27f12df229ee5d7a5f7a423603b2423d334eaf8ac318455de7909927b3b508b0·...·]-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1447 </span><span·class="nf">loop</span><span·class="p"·data-group-id="1324998340-8">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handler</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1324998340-9">{</span><span·class="ss">continue</span[·...·truncated·by·diffoscope;·len:·172,·SHA:·c99ae09653e98d33e25195358958b6440ee96fcfc0bbc70b6bafae49e5707be7·...·]-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1448 ····</span><span·class="n">Handler</span><span·class="p"·data-group-id="8053638174-10">(</span><span·class="n">Output</span><span·class="p"·data-group-id="8053638174-10">)</span><span·class="p">,</span><span·class="w">1448 ····</span><span·class="n">Handler</span><span·class="p"·data-group-id="1324998340-10">(</span><span·class="n">Output</span><span·class="p"·data-group-id="1324998340-10">)</span><span·class="p">,</span><span·class="w">
1449 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="8053638174-11">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handler</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">safeInflate</s[·...·truncated·by·diffoscope;·len:·333,·SHA:·0e4685eab73e4f641996bda879a16158c81c8026a1fa44a11b2fd6694cf69983·...·]-11">)</span><span·class="p">;</span><span·class="w">1449 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="1324998340-11">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handler</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">zlib</span><span·class="p">:</span><span·class="nf">safeInflate</s[·...·truncated·by·diffoscope;·len:·333,·SHA:·97bda7b800178d342e9e43836603489bfaf51b15766fc5f2c521505856176bf1·...·]-11">)</span><span·class="p">;</span><span·class="w">
1450 </span><span·class="nf">loop</span><span·class="p"·data-group-id="8053638174-14">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handler</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8053638174-15">{</span><span·class="ss">finished</sp[·...·truncated·by·diffoscope;·len:·175,·SHA:·190d3450e35807f22e6ec5c62538a0cfdc58447aff34eba6ffb3e4cb4dd43327·...·]-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1450 </span><span·class="nf">loop</span><span·class="p"·data-group-id="1324998340-14">(</span><span·class="n">Z</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handler</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1324998340-15">{</span><span·class="ss">finished</sp[·...·truncated·by·diffoscope;·len:·175,·SHA:·c0b11db711430fa3c480e4f1b28994b3b75aa37cc7368ceb558c3ad8458bbc55·...·]-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1451 ····</span><span·class="n">Handler</span><span·class="p"·data-group-id="8053638174-16">(</span><span·class="n">Output</span><span·class="p"·data-group-id="8053638174-16">)</span><span·class="p">.</span></code></pre>1451 ····</span><span·class="n">Handler</span><span·class="p"·data-group-id="1324998340-16">(</span><span·class="n">Output</span><span·class="p"·data-group-id="1324998340-16">)</span><span·class="p">.</span></code></pre>
1452 ··</section>1452 ··</section>
1453 </section>1453 </section>
1454 <section·class="detail"·id="set_controlling_process/2">1454 <section·class="detail"·id="set_controlling_process/2">
  
1455 ··<div·class="detail-header">1455 ··<div·class="detail-header">
1456 ····<a·href="#set_controlling_process/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1456 ····<a·href="#set_controlling_process/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1457 ······<i·class="ri-link-m"·aria-hidden="true"></i>1457 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1576, 15 lines modifiedOffset 1576, 15 lines modified
1576 ······<p·class="built-using">1576 ······<p·class="built-using">
1577 ········Built·using1577 ········Built·using
1578 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1578 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1579 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1579 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1580 ······</p>1580 ······</p>
1581 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1581 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1582 ····</footer>1582 ····</footer>
1583 ··</div>1583 ··</div>
1584 </main>1584 </main>
1585 </div>1585 </div>
1586 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1586 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1587 ··<script>1587 ··<script>
1588 ··let·initialized·=·false;1588 ··let·initialized·=·false;
583 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/api-reference.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
187 ····</footer>187 ····</footer>
188 ··</div>188 ··</div>
189 </main>189 </main>
190 </div>190 </div>
191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
192 ··<script>192 ··<script>
193 ··let·initialized·=·false;193 ··let·initialized·=·false;
652 B
html2text {}
Max HTML report size reached
408 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1.epub
3.09 KB
zipinfo {}
Max HTML report size reached
97.4 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
2.77 KB
OEBPS/notes.xhtml
Max HTML report size reached
2.45 KB
OEBPS/content.opf
2.42 KB
OEBPS/content.opf
Max HTML report size reached
6.35 KB
OEBPS/asn1ct.xhtml
Max HTML report size reached
117 KB
OEBPS/asn1_spec.xhtml
Max HTML report size reached
179 KB
OEBPS/asn1_getting_started.xhtml
Max HTML report size reached
180 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_getting_started.html
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_introduction.html
    
Offset 199, 15 lines modifiedOffset 199, 15 lines modified
199 ······<p·class="built-using">199 ······<p·class="built-using">
200 ········Built·using200 ········Built·using
201 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the201 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
202 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>202 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
203 ······</p>203 ······</p>
204 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>204 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
205 ····</footer>205 ····</footer>
206 ··</div>206 ··</div>
207 </main>207 </main>
208 </div>208 </div>
209 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>209 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
210 ··<script>210 ··<script>
211 ··let·initialized·=·false;211 ··let·initialized·=·false;
777 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_overview.html
    
Offset 186, 15 lines modifiedOffset 186, 15 lines modified
186 ······<p·class="built-using">186 ······<p·class="built-using">
187 ········Built·using187 ········Built·using
188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
190 ······</p>190 ······</p>
191 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>191 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
192 ····</footer>192 ····</footer>
193 ··</div>193 ··</div>
194 </main>194 </main>
195 </div>195 </div>
196 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>196 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
197 ··<script>197 ··<script>
198 ··let·initialized·=·false;198 ··let·initialized·=·false;
692 B
html2text {}
Max HTML report size reached
118 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1_spec.html
    
Offset 161, 45 lines modifiedOffset 161, 45 lines modified
161 </h3>161 </h3>
162 <p>The·runtime·user·interface·for·exclusive·decode·comprises·the·following·two162 <p>The·runtime·user·interface·for·exclusive·decode·comprises·the·following·two
163 functions:</p><ul><li>A·function·for·an·exclusive·decode,·whose·name·the·user·decides·in·the163 functions:</p><ul><li>A·function·for·an·exclusive·decode,·whose·name·the·user·decides·in·the
164 configuration·file</li><li>A·<code·class="inline">decode_part/2</code>·function·generated·by·the·ASN.1·compiler·when164 configuration·file</li><li>A·<code·class="inline">decode_part/2</code>·function·generated·by·the·ASN.1·compiler·when
165 exclusive·decode·is·enabled.·This·function·decodes·the·parts·that165 exclusive·decode·is·enabled.·This·function·decodes·the·parts·that
166 were·left·undecoded·during·the·exclusive·decode.</li></ul><p>Both·functions·are·described·in·the·following.</p><p>If·the·exclusive·decode·function·has,·for·example,·the·name·<code·class="inline">decode_exclusive</code>166 were·left·undecoded·during·the·exclusive·decode.</li></ul><p>Both·functions·are·described·in·the·following.</p><p>If·the·exclusive·decode·function·has,·for·example,·the·name·<code·class="inline">decode_exclusive</code>
167 and·an·ASN.1·encoded·message·<code·class="inline">Bin</code>·is·to·be·exclusive·decoded,·the·call·is·as167 and·an·ASN.1·encoded·message·<code·class="inline">Bin</code>·is·to·be·exclusive·decoded,·the·call·is·as
168 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7729280900-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">ExclMessage</span><span·class="p"·data-group-id="7729280900-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">&#39;MyM[·...·truncated·by·diffoscope;·len:·201,·SHA:·b68b41ecdd3a2c4381b19bd984cf4e6b7cc98e379b888971ac8fbb83fd50ddcf·...·]-2">)</span></code></pre><p><a·href=""·id="UndecodedPart"></a>·The·result·<code·class="inline">ExclMessage</code>·has·the·same·structure·as·a168 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6268126774-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">ExclMessage</span><span·class="p"·data-group-id="6268126774-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">&#39;MyM[·...·truncated·by·diffoscope;·len:·201,·SHA:·f1a6faf13265cc4fb388b37b28d5d67482136d9c221fe93762d6e3b8f80876ff·...·]-2">)</span></code></pre><p><a·href=""·id="UndecodedPart"></a>·The·result·<code·class="inline">ExclMessage</code>·has·the·same·structure·as·a
169 complete·decode·would·have,·except·for·the·parts·of·the·top·type·that·were·not169 complete·decode·would·have,·except·for·the·parts·of·the·top·type·that·were·not
170 decoded.·The·undecoded·parts·are·on·their·places·in·the·structure·on·format170 decoded.·The·undecoded·parts·are·on·their·places·in·the·structure·on·format
171 <code·class="inline">{TypeKey,UndecodedValue}</code>.</p><p>Each·undecoded·part·that·is·to·be·decoded·must·be·fed·into·function171 <code·class="inline">{TypeKey,UndecodedValue}</code>.</p><p>Each·undecoded·part·that·is·to·be·decoded·must·be·fed·into·function
172 <code·class="inline">decode_part/2</code>·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4267707068-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">PartMessage</span><span·class="p"·data-group-id="4267707068-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">&#39;MyMo[·...·truncated·by·diffoscope;·len:·284,·SHA:·42b18d2c6fe8c51fbfbc91ba19e6b48b1f2fde79556968ce7e641570c5db7ccd·...·]-2">)</span></code></pre><p><a·href=""·id="Exclusive-Instruction"></a></p><h3·id="writing-an-exclusive-decode-instruction"·class="section-heading">172 <code·class="inline">decode_part/2</code>·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4058103840-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">PartMessage</span><span·class="p"·data-group-id="4058103840-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">&#39;MyMo[·...·truncated·by·diffoscope;·len:·284,·SHA:·4855a05ec02963e9c96a214febd65069da9a55c78dbd7c37da61d720706d0767·...·]-2">)</span></code></pre><p><a·href=""·id="Exclusive-Instruction"></a></p><h3·id="writing-an-exclusive-decode-instruction"·class="section-heading">
173 ··<a·href="#writing-an-exclusive-decode-instruction"·class="hover-link">173 ··<a·href="#writing-an-exclusive-decode-instruction"·class="hover-link">
174 ····<i·class="ri-link-m"·aria-hidden="true"></i>174 ····<i·class="ri-link-m"·aria-hidden="true"></i>
175 ··</a>175 ··</a>
176 ··<span·class="text">Writing·an·Exclusive·Decode·Instruction</span>176 ··<span·class="text">Writing·an·Exclusive·Decode·Instruction</span>
177 </h3>177 </h3>
178 <p>This·instruction·is·written·in·the·configuration·file·in·the·following·format:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ExclusiveDecodeInstruction</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8835238814-1">{</span><span·class="ss">exclusive_decode</span><span·class="p">,</span><span·class="p"·data-group-id="8835238814-2">{</span><span·class="n">ModuleName</span><span·class="p">,</span><span·class="n">DecodeInstructions</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·75,·SHA:·bd0d321788b3a9bd47f67094adf2c236fdfea940d2fcbcf28f913a9be76a0f32·...·]-1">}</span><span·class="p">.</span><span·class="w">178 <p>This·instruction·is·written·in·the·configuration·file·in·the·following·format:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ExclusiveDecodeInstruction</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1613618171-1">{</span><span·class="ss">exclusive_decode</span><span·class="p">,</span><span·class="p"·data-group-id="1613618171-2">{</span><span·class="n">ModuleName</span><span·class="p">,</span><span·class="n">DecodeInstructions</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·75,·SHA:·1a6dab2ed4bb5a457291fc6a59085be47b20d257539e2e40e0d9f98404163e79·...·]-1">}</span><span·class="p">.</span><span·class="w">
  
179 </span><span·class="n">ModuleName</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="8835238814-3">(</span><span·class="p"·data-group-id="8835238814-3">)</span><span·class="w">179 </span><span·class="n">ModuleName</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="1613618171-3">(</span><span·class="p"·data-group-id="1613618171-3">)</span><span·class="w">
  
180 </span><span·class="n">DecodeInstructions</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8835238814-4">[</span><span·class="n">DecodeInstruction</span><span·class="p"·data-group-id="8835238814-4">]</span><span·class="o">+</span><span·class="w">180 </span><span·class="n">DecodeInstructions</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1613618171-4">[</span><span·class="n">DecodeInstruction</span><span·class="p"·data-group-id="1613618171-4">]</span><span·class="o">+</span><span·class="w">
  
181 </span><span·class="n">DecodeInstruction</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8835238814-5">{</span><span·class="n">ExclusiveDecodeFunctionName</span><span·class="p">,</span><span·class="n">TypeList</span><span·class="p"·data-group-id="8835238814-5">}</span><span·class="w">181 </span><span·class="n">DecodeInstruction</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1613618171-5">{</span><span·class="n">ExclusiveDecodeFunctionName</span><span·class="p">,</span><span·class="n">TypeList</span><span·class="p"·data-group-id="1613618171-5">}</span><span·class="w">
  
182 </span><span·class="n">ExclusiveDecodeFunctionName</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="8835238814-6">(</span><span·class="p"·data-group-id="8835238814-6">)</span><span·class="w">182 </span><span·class="n">ExclusiveDecodeFunctionName</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="1613618171-6">(</span><span·class="p"·data-group-id="1613618171-6">)</span><span·class="w">
  
183 </span><span·class="n">TypeList</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8835238814-7">[</span><span·class="n">TopType</span><span·class="p">,</span><span·class="n">ElementList</span><span·class="p"·data-group-id="8835238814-7">]</span><span·class="w">183 </span><span·class="n">TypeList</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1613618171-7">[</span><span·class="n">TopType</span><span·class="p">,</span><span·class="n">ElementList</span><span·class="p"·data-group-id="1613618171-7">]</span><span·class="w">
  
184 </span><span·class="n">ElementList</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8835238814-8">[</span><span·class="n">Element</span><span·class="p"·data-group-id="8835238814-8">]</span><span·class="o">+</span><span·class="w">184 </span><span·class="n">ElementList</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1613618171-8">[</span><span·class="n">Element</span><span·class="p"·data-group-id="1613618171-8">]</span><span·class="o">+</span><span·class="w">
  
185 </span><span·class="n">Element</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8835238814-9">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="ss">parts</span><span·class="p"·data-group-id="8835238814-9">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">185 </span><span·class="n">Element</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1613618171-9">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="ss">parts</span><span·class="p"·data-group-id="1613618171-9">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
186 ··········</span><span·class="p"·data-group-id="8835238814-10">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="ss">undecoded</span><span·class="p"·data-group-id="8835238814-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">186 ··········</span><span·class="p"·data-group-id="1613618171-10">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="ss">undecoded</span><span·class="p"·data-group-id="1613618171-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
187 ··········</span><span·class="p"·data-group-id="8835238814-11">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="n">ElementList</span><span·class="p"·data-group-id="8835238814-11">}</span><span·class="w">187 ··········</span><span·class="p"·data-group-id="1613618171-11">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="n">ElementList</span><span·class="p"·data-group-id="1613618171-11">}</span><span·class="w">
  
188 </span><span·class="n">TopType</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="8835238814-12">(</span><span·class="p"·data-group-id="8835238814-12">)</span><span·class="w">188 </span><span·class="n">TopType</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="1613618171-12">(</span><span·class="p"·data-group-id="1613618171-12">)</span><span·class="w">
  
189 </span><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="8835238814-13">(</span><span·class="p"·data-group-id="8835238814-13">)</span></code></pre><p>The·instruction·must·be·a·valid·Erlang·term·terminated·by·a·dot.</p><p>In·<code·class="inline">TypeList</code>·the·path·from·the·top·type·to·each·undecoded·subcomponent·is189 </span><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="1613618171-13">(</span><span·class="p"·data-group-id="1613618171-13">)</span></code></pre><p>The·instruction·must·be·a·valid·Erlang·term·terminated·by·a·dot.</p><p>In·<code·class="inline">TypeList</code>·the·path·from·the·top·type·to·each·undecoded·subcomponent·is
190 described.·<code·class="inline">TopType</code>·is·the·name·of·a·top-level·type·in·the·ASN.1·specification.190 described.·<code·class="inline">TopType</code>·is·the·name·of·a·top-level·type·in·the·ASN.1·specification.
191 The·action·for·each·component·in·<code·class="inline">ElementList</code>·is·described·by·one·of:</p><ul><li><code·class="inline">{Name,parts}</code></li><li><code·class="inline">{Name,undecoded}</code></li><li><code·class="inline">{Name,ElementList}</code></li></ul><p>The·use·and·effect·of·the·actions·are·as·follows:</p><ul><li><p><strong><code·class="inline">{Name,undecoded}</code></strong>·-·Leaves·the·element·undecoded.·The·type·of·<code·class="inline">Name</code>·can191 The·action·for·each·component·in·<code·class="inline">ElementList</code>·is·described·by·one·of:</p><ul><li><code·class="inline">{Name,parts}</code></li><li><code·class="inline">{Name,undecoded}</code></li><li><code·class="inline">{Name,ElementList}</code></li></ul><p>The·use·and·effect·of·the·actions·are·as·follows:</p><ul><li><p><strong><code·class="inline">{Name,undecoded}</code></strong>·-·Leaves·the·element·undecoded.·The·type·of·<code·class="inline">Name</code>·can
192 be·any·ASN.1·type.·The·value·of·element·<code·class="inline">Name</code>·is·returned·as·a·tuple·(as192 be·any·ASN.1·type.·The·value·of·element·<code·class="inline">Name</code>·is·returned·as·a·tuple·(as
193 mentioned·in·the·previous·section)·in·the·value·structure·of·the·top·type.</p></li><li><p><strong><code·class="inline">{Name,parts}</code></strong>·-·The·type·of·<code·class="inline">Name</code>·must·be·either·<code·class="inline">SEQUENCE·OF</code>·or193 mentioned·in·the·previous·section)·in·the·value·structure·of·the·top·type.</p></li><li><p><strong><code·class="inline">{Name,parts}</code></strong>·-·The·type·of·<code·class="inline">Name</code>·must·be·either·<code·class="inline">SEQUENCE·OF</code>·or
194 <code·class="inline">SET·OF</code>.·The·action·implies·that·the·different·components·of·<code·class="inline">Name</code>·are·left194 <code·class="inline">SET·OF</code>.·The·action·implies·that·the·different·components·of·<code·class="inline">Name</code>·are·left
195 undecoded.·The·value·of·<code·class="inline">Name</code>·is·returned·as·a·tuple·(as·mentioned·in·the195 undecoded.·The·value·of·<code·class="inline">Name</code>·is·returned·as·a·tuple·(as·mentioned·in·the
196 previous·section)·where·the·second·element·is·a·list·of·binaries.·This·is196 previous·section)·where·the·second·element·is·a·list·of·binaries.·This·is
Offset 257, 86 lines modifiedOffset 257, 86 lines modified
257 ·{'GUI',257 ·{'GUI',
258 ··[{decode_Window_exclusive,258 ··[{decode_Window_exclusive,
259 ····['Window',[{status,[{buttonList,parts},{actions,undecoded}]}]]},259 ····['Window',[{status,[{buttonList,parts},{actions,undecoded}]}]]},
260 ···{decode_Button_exclusive,260 ···{decode_Button_exclusive,
261 ····['Button',[{number,undecoded}]]}]}}.</code></pre><p>The·following·figure·shows·the·bytes·of·a·<code·class="inline">Window:status</code>·message.·The261 ····['Button',[{number,undecoded}]]}]}}.</code></pre><p>The·following·figure·shows·the·bytes·of·a·<code·class="inline">Window:status</code>·message.·The
262 components·<code·class="inline">buttonList</code>·and·<code·class="inline">actions</code>·are·excluded·from·decode.·Only·<code·class="inline">state</code>·and262 components·<code·class="inline">buttonList</code>·and·<code·class="inline">actions</code>·are·excluded·from·decode.·Only·<code·class="inline">state</code>·and
263 <code·class="inline">enabled</code>·are·decoded·when·<code·class="inline">decode__Window_exclusive</code>·is·called.</p><p><img·src="assets/exclusive_Win_But.gif"·alt="Bytes·of·a·Window:status·Message"·title="Bytes·of·a·Window:status·Message"/></p><p>Here·follows·an·example·of·how·the·module.·Note·that·option·<code·class="inline">no_ok_wrapper</code>·is263 <code·class="inline">enabled</code>·are·decoded·when·<code·class="inline">decode__Window_exclusive</code>·is·called.</p><p><img·src="assets/exclusive_Win_But.gif"·alt="Bytes·of·a·Window:status·Message"·title="Bytes·of·a·Window:status·Message"/></p><p>Here·follows·an·example·of·how·the·module.·Note·that·option·<code·class="inline">no_ok_wrapper</code>·is
264 used·to·make·the·example·more·concise.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">asn1ct</span><span·class="p">:</span><span·class="nf">compile</span><span·class="p"·data-group-id="8157753953-1">(</span><span·class="ss">&#39;GUI&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8157753953-2">[</span><span·class="ss">ber</span><span·class="p">,</span><span·class="ss">asn1config</span><span·class=[·...·truncated·by·diffoscope;·len:·143,·SHA:·26a6dff22f0a49892e888ce6b222f9a5c0e824c2792aa13de006593897d168c4·...·]-1">)</span><span·class="p">.</span><span·class="w">264 used·to·make·the·example·more·concise.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">asn1ct</span><span·class="p">:</span><span·class="nf">compile</span><span·class="p"·data-group-id="8934743988-1">(</span><span·class="ss">&#39;GUI&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8934743988-2">[</span><span·class="ss">ber</span><span·class="p">,</span><span·class="ss">asn1config</span><span·class=[·...·truncated·by·diffoscope;·len:·143,·SHA:·73c1113aa55354e200ebd6cafbe2b38cdbc952addb1508b61cb2f829347b6cba·...·]-1">)</span><span·class="p">.</span><span·class="w">
265 </span><span·class="ss">ok</span><span·class="gp·unselectable">265 </span><span·class="ss">ok</span><span·class="gp·unselectable">
266 2&gt;·</span><span·class="nf">rr</span><span·class="p"·data-group-id="8157753953-3">(</span><span·class="ss">&#39;GUI&#39;</span><span·class="p"·data-group-id="8157753953-3">)</span><span·class="p">.</span><span·class="w">266 2&gt;·</span><span·class="nf">rr</span><span·class="p"·data-group-id="8934743988-3">(</span><span·class="ss">&#39;GUI&#39;</span><span·class="p"·data-group-id="8934743988-3">)</span><span·class="p">.</span><span·class="w">
267 </span><span·class="p"·data-group-id="8157753953-4">[</span><span·class="ss">&#39;Action&#39;</span><span·class="p">,</span><span·class="ss">&#39;Button&#39;</span><span·class="p">,</span><span·class="ss">&#39;Status&#39;</span><span·class="p"·data-group-id="8157753953-4">]</span><span·class="gp·unselectable">267 </span><span·class="p"·data-group-id="8934743988-4">[</span><span·class="ss">&#39;Action&#39;</span><span·class="p">,</span><span·class="ss">&#39;Button&#39;</span><span·class="p">,</span><span·class="ss">&#39;Status&#39;</span><span·class="p"·data-group-id="8934743988-4">]</span><span·class="gp·unselectable">
268 3&gt;·</span><span·class="n">ButtonMsg</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-5">{</span><span·class="ss">number</span><span·class="o">=</span><span·class="mi">123</span><span·class="p">,</span><span·class="ss">on</span><span·class="o">=</span><span·class="ss">true</span><span·class="p"·data-group-id="8157753953-5">}</span><span·class="p">.</span><span·class="w">268 3&gt;·</span><span·class="n">ButtonMsg</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-5">{</span><span·class="ss">number</span><span·class="o">=</span><span·class="mi">123</span><span·class="p">,</span><span·class="ss">on</span><span·class="o">=</span><span·class="ss">true</span><span·class="p"·data-group-id="8934743988-5">}</span><span·class="p">.</span><span·class="w">
269 </span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-6">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">123</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cl[·...·truncated·by·diffoscope;·len:·85,·SHA:·2eba39919da740086c5819a8eb67fcbf0ee0b6b65b26cfb2465dac2b687675cc·...·]-6">}</span><span·class="gp·unselectable">269 </span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-6">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">123</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cl[·...·truncated·by·diffoscope;·len:·85,·SHA:·700c90ac9c93420bb9422ea46ebdd1ec6f518fb30540f9857cde9133395f4c6a·...·]-6">}</span><span·class="gp·unselectable">
270 4&gt;·</span><span·class="n">ButtonBytes</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">encode</span><span·class="p"·data-group-id="8157753953-7">(</span><span·class="ss">&#39;Button&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ButtonMsg</span><span·class="p"·data-group-id="8157753953-7">)</span><span·class="p">.</span><span·class="w">270 4&gt;·</span><span·class="n">ButtonBytes</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">encode</span><span·class="p"·data-group-id="8934743988-7">(</span><span·class="ss">&#39;Button&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ButtonMsg</span><span·class="p"·data-group-id="8934743988-7">)</span><span·class="p">.</span><span·class="w">
271 </span><span·class="p"·data-group-id="8157753953-8">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">123</span><s[·...·truncated·by·diffoscope;·len:·190,·SHA:·805907f22364dc6dae0df862c2046e2a0f94799ee5305dca307388cb26644dad·...·]-8">&gt;&gt;</span><span·class="gp·unselectable">271 </span><span·class="p"·data-group-id="8934743988-8">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">123</span><s[·...·truncated·by·diffoscope;·len:·190,·SHA:·b594fb921839c4e8bb381171a3bc467d4f6c186839df0712f3d47346ff6d8aaa·...·]-8">&gt;&gt;</span><span·class="gp·unselectable">
272 5&gt;·</span><span·class="n">ExclusiveMsgButton</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">decode_Button_exclusive</span><span·class="p"·data-group-id="8157753953-9">(</span><span·class="n">ButtonBytes</span><span·class="p"·data-group-id="8157753953-9">)</span><span·class="p">.</span><span·class="w">272 5&gt;·</span><span·class="n">ExclusiveMsgButton</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">decode_Button_exclusive</span><span·class="p"·data-group-id="8934743988-9">(</span><span·class="n">ButtonBytes</span><span·class="p"·data-group-id="8934743988-9">)</span><span·class="p">.</span><span·class="w">
273 </span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-10">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8157753953-11">{</span><span·class="ss">&#39;Button_number&#39;</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·283,·SHA:·195ef96cc247655f7fd7fbbc39acf2c3559b07043bd647559c05dbfbb2befb90·...·]-11">}</span><span·class="p">,</span><span·class="w">273 </span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-10">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8934743988-11">{</span><span·class="ss">&#39;Button_number&#39;</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·283,·SHA:·9dc79021965e85ef36ff457f29c15366e01d21af92a825de2875f07ebe11ada4·...·]-11">}</span><span·class="p">,</span><span·class="w">
274 ··········</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="8157753953-10">}</span><span·class="gp·unselectable">274 ··········</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="8934743988-10">}</span><span·class="gp·unselectable">
275 6&gt;·</span><span·class="p"·data-group-id="8157753953-13">{</span><span·class="n">UndecKey</span><span·class="p">,</span><span·class="n">UndecBytes</span><span·class="p"·data-group-id="8157753953-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">ExclusiveMsgButton</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p">.</span><span·class="ss">number</span><span·class="p">.</span><span·class="w">275 6&gt;·</span><span·class="p"·data-group-id="8934743988-13">{</span><span·class="n">UndecKey</span><span·class="p">,</span><span·class="n">UndecBytes</span><span·class="p"·data-group-id="8934743988-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">ExclusiveMsgButton</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p">.</span><span·class="ss">number</span><span·class="p">.</span><span·class="w">
276 </span><span·class="p"·data-group-id="8157753953-14">{</span><span·class="ss">&#39;Button_number&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8157753953-15">&lt;&lt;</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·127,·SHA:·cb74902a1bece6d582d9859cc993c7bff3756c36babc1f1f0197ba2a39103eee·...·]-14">}</span><span·class="gp·unselectable">276 </span><span·class="p"·data-group-id="8934743988-14">{</span><span·class="ss">&#39;Button_number&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8934743988-15">&lt;&lt;</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·127,·SHA:·d3462f48219dc0f0bed7e7ec9fa23b607283d1e7fd80730ff58258b7b61d3807·...·]-14">}</span><span·class="gp·unselectable">
277 7&gt;·</span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">decode_part</span><span·class="p"·data-group-id="8157753953-16">(</span><span·class="n">UndecKey</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UndecBytes</span><span·class="p"·data-group-id="8157753953-16">)</span><span·class="p">.</span><span·class="w">277 7&gt;·</span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">decode_part</span><span·class="p"·data-group-id="8934743988-16">(</span><span·class="n">UndecKey</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UndecBytes</span><span·class="p"·data-group-id="8934743988-16">)</span><span·class="p">.</span><span·class="w">
278 </span><span·class="mi">123</span><span·class="gp·unselectable">278 </span><span·class="mi">123</span><span·class="gp·unselectable">
279 8&gt;·</span><span·class="n">WindowMsg</span><span·class="w">·</span><span·class="o">=</span><span·class="w">279 8&gt;·</span><span·class="n">WindowMsg</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
280 </span><span·class="p"·data-group-id="8157753953-17">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="p"·data-group-id="8157753953-18">{</span><span·class="ss">&#39;Status&#39;</span><span·class="p">,</span><span·class="mi">35</span><span·class="p">,</span><span·class="w">280 </span><span·class="p"·data-group-id="8934743988-17">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="p"·data-group-id="8934743988-18">{</span><span·class="ss">&#39;Status&#39;</span><span·class="p">,</span><span·class="mi">35</span><span·class="p">,</span><span·class="w">
281 ···</span><span·class="p"·data-group-id="8157753953-19">[</span><span·class="p"·data-group-id="8157753953-20">{</span><span·class="ss">&#39;Button&#39;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="81577539[·...·truncated·by·diffoscope;·len:·2,·SHA:·2858dcd1057d3eae7f7d5f782167e24b61153c01551450a628cee722509f6529·...·]-20">}</span><span·class="p">,</span><span·class="w">281 ···</span><span·class="p"·data-group-id="8934743988-19">[</span><span·class="p"·data-group-id="8934743988-20">{</span><span·class="ss">&#39;Button&#39;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="89347439[·...·truncated·by·diffoscope;·len:·2,·SHA:·8b940be7fb78aaa6b6567dd7a3987996947460df1c668e698eb92ca77e425349·...·]-20">}</span><span·class="p">,</span><span·class="w">
282 ····</span><span·class="p"·data-group-id="8157753953-21">{</span><span·class="ss">&#39;Button&#39;</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="8157753953-21">}</span><span·class="p">,</span><span·class="w">282 ····</span><span·class="p"·data-group-id="8934743988-21">{</span><span·class="ss">&#39;Button&#39;</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="8934743988-21">}</span><span·class="p">,</span><span·class="w">
283 ····</span><span·class="p"·data-group-id="8157753953-22">{</span><span·class="ss">&#39;Button&#39;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="8157753953-22">}</span><span·class="p">,</span><span·class="w">283 ····</span><span·class="p"·data-group-id="8934743988-22">{</span><span·class="ss">&#39;Button&#39;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="8934743988-22">}</span><span·class="p">,</span><span·class="w">
284 ····</span><span·class="p"·data-group-id="8157753953-23">{</span><span·class="ss">&#39;Button&#39;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="8157753953-23">}</span><span·class="p">,</span><span·class="w">284 ····</span><span·class="p"·data-group-id="8934743988-23">{</span><span·class="ss">&#39;Button&#39;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="8934743988-23">}</span><span·class="p">,</span><span·class="w">
285 ····</span><span·class="p"·data-group-id="8157753953-24">{</span><span·class="ss">&#39;Button&#39;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="8157753953-24">}</span><span·class="p"·data-group-id="8157753[·...·truncated·by·diffoscope;·len:·3,·SHA:·6953c2a883537cc80135516935de542987c2cd76f94d8cbf2ad004d7bf4c6195·...·]-19">]</span><span·class="p">,</span><span·class="w">285 ····</span><span·class="p"·data-group-id="8934743988-24">{</span><span·class="ss">&#39;Button&#39;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="8934743988-24">}</span><span·class="p"·data-group-id="8934743[·...·truncated·by·diffoscope;·len:·3,·SHA:·ba9c5622470525f1bbed5f36077631df5089db3ad0d79e9782078a681c0dac09·...·]-19">]</span><span·class="p">,</span><span·class="w">
286 ···</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">286 ···</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">
287 ···</span><span·class="p"·data-group-id="8157753953-25">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="8157753953-26">[</span><span·class="p"·data-group-id="8157753953-27">{</span><span·class="ss">&#39;Action&#39;</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·558,·SHA:·5aac1fe2c13b2b3ce8d9cc1dbd2d8e13e0a785bf340b7ab0b6a1161c5d09e838·...·]-17">}</span><span·class="p">.</span><span·class="w">287 ···</span><span·class="p"·data-group-id="8934743988-25">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="8934743988-26">[</span><span·class="p"·data-group-id="8934743988-27">{</span><span·class="ss">&#39;Action&#39;</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·558,·SHA:·4d483f5a39759a8cd45184f47ae3c8bac8e232003c3e1ced95169296cfe63e67·...·]-17">}</span><span·class="p">.</span><span·class="w">
288 </span><span·class="p"·data-group-id="8157753953-29">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="o">#</span><span·class="ss">&#39;Status&#39;</span><span·class="p"·data-group-id="8157753953-30">{</span><span·class="ss">state</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">35</span><span·class="p">,</span><span·class="w">288 </span><span·class="p"·data-group-id="8934743988-29">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="o">#</span><span·class="ss">&#39;Status&#39;</span><span·class="p"·data-group-id="8934743988-30">{</span><span·class="ss">state</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">35</span><span·class="p">,</span><span·class="w">
289 ········</span><span·class="ss">buttonList</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8157753953-31">[</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-32">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="m[·...·truncated·by·diffoscope;·len:·202,·SHA:·4c56a428259101d5062704a458f1217fb2f4287012cd9e4df1532c80eacf9728·...·]-32">}</span><span·class="p">,</span><span·class="w">289 ········</span><span·class="ss">buttonList</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8934743988-31">[</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-32">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="m[·...·truncated·by·diffoscope;·len:·202,·SHA:·252da11f6b260b4a62e79e2011cbf123cb7cc72730dcdfae320adebac98049a8·...·]-32">}</span><span·class="p">,</span><span·class="w">
290 ······················</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-33">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·85,·SHA:·4200f5a44482175c92972de08344a25f9dfa7d6932bbf13b981facbd301921c5·...·]-33">}</span><span·class="p">,</span><span·class="w">290 ······················</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-33">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·85,·SHA:·9e52b32fc894778a1b635beec5fd813308a0c3c54bedf7f1871766be89533f6a·...·]-33">}</span><span·class="p">,</span><span·class="w">
291 ······················</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-34">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·84,·SHA:·5cf5861b78ee4fe5fae84cf6a0e4cdff064a43a11ec530c2d3b3bf8a8f968501·...·]-34">}</span><span·class="p">,</span><span·class="w">291 ······················</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-34">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·84,·SHA:·5a5045759c5f138a53c069f40d2b94c685bde39c7096479ec0a803581035140d·...·]-34">}</span><span·class="p">,</span><span·class="w">
292 ······················</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-35">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">6</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·84,·SHA:·5cf5861b78ee4fe5fae84cf6a0e4cdff064a43a11ec530c2d3b3bf8a8f968501·...·]-35">}</span><span·class="p">,</span><span·class="w">292 ······················</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-35">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">6</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·84,·SHA:·5a5045759c5f138a53c069f40d2b94c685bde39c7096479ec0a803581035140d·...·]-35">}</span><span·class="p">,</span><span·class="w">
293 ······················</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-36">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">7</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·139,·SHA:·c5392a6748f3e734b4561660b20b40bdb24ee80951ae9983f9691ee1b54dea60·...·]-31">]</span><span·class="p">,</span><span·class="w">293 ······················</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-36">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">7</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·139,·SHA:·eb703143b6cf8ffe5b7755f59c4c5464750bf8724f4815eb732859cf85851ceb·...·]-31">]</span><span·class="p">,</span><span·class="w">
294 ········</span><span·class="ss">enabled</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">294 ········</span><span·class="ss">enabled</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">
295 ········</span><span·class="ss">actions</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8157753953-37">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="8157753953-38">[</span><span·class="o">#</span><span·class="ss">&#39;Action&#39;</span><span·class="p"·data-group-id="8157753953-39">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">16</span><span·class="p">,</span><span·class="w">295 ········</span><span·class="ss">actions</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8934743988-37">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="8934743988-38">[</span><span·class="o">#</span><span·class="ss">&#39;Action&#39;</span><span·class="p"·data-group-id="8934743988-39">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">16</span><span·class="p">,</span><span·class="w">
296 ··············································</span><span·class="ss">handle</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-40">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">17</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cl[·...·truncated·by·diffoscope;·len:·355,·SHA:·1afa4344196a0238b9eef4a6beb3be44186753bd38a5d95cd15801b24e81bfe8·...·]-29">}</span><span·class="gp·unselectable">296 ··············································</span><span·class="ss">handle</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-40">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">17</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cl[·...·truncated·by·diffoscope;·len:·355,·SHA:·05af84874edc72ab390beacf5684bdd9d7a74441ea3c32e506e07f0844833cb5·...·]-29">}</span><span·class="gp·unselectable">
297 9&gt;·</span><span·class="n">WindowBytes</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">encode</span><span·class="p"·data-group-id="8157753953-41">(</span><span·class="ss">&#39;Window&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">WindowMsg</span><span·class="p"·data-group-id="8157753953-41">)</span><span·class="p">.</span><span·class="w">297 9&gt;·</span><span·class="n">WindowBytes</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">encode</span><span·class="p"·data-group-id="8934743988-41">(</span><span·class="ss">&#39;Window&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">WindowMsg</span><span·class="p"·data-group-id="8934743988-41">)</span><span·class="p">.</span><span·class="w">
298 </span><span·class="p"·data-group-id="8157753953-42">&lt;&lt;</span><span·class="mi">161</span><span·class="p">,</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">35</span><span·class="p">,</span><span·class="mi">161</span><span·class="p">,</span><span·class="mi">40</span><span·class="p">,</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">129</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="w">298 </span><span·class="p"·data-group-id="8934743988-42">&lt;&lt;</span><span·class="mi">161</span><span·class="p">,</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">35</span><span·class="p">,</span><span·class="mi">161</span><span·class="p">,</span><span·class="mi">40</span><span·class="p">,</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">129</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="w">
299 ··</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">129</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">129</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="8157753953-42">&gt;&gt;</span><span·class="gp·unselectable">299 ··</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">129</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">129</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="8934743988-42">&gt;&gt;</span><span·class="gp·unselectable">
300 10&gt;·</span><span·class="p"·data-group-id="8157753953-43">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="o">#</span><span·class="ss">&#39;Status&#39;</span><span·class="p"·data-group-id="8157753953-44">{</span><span·class="ss">buttonList</span><span·class="o">=</span><spa[·...·truncated·by·diffoscope;·len:·299,·SHA:·d33dd4e20fdbf4af31a44117f7a75fb1aad92b06e5ef6545379eec93204a6585·...·]-43">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">300 10&gt;·</span><span·class="p"·data-group-id="8934743988-43">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="o">#</span><span·class="ss">&#39;Status&#39;</span><span·class="p"·data-group-id="8934743988-44">{</span><span·class="ss">buttonList</span><span·class="o">=</span><spa[·...·truncated·by·diffoscope;·len:·299,·SHA:·d628165b9a4ab5f260885ba742873567248418f079f8286bef70eb77a635043a·...·]-43">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
301 </span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">decode_Window_exclusive</span><span·class="p"·data-group-id="8157753953-46">(</span><span·class="n">WindowBytes</span><span·class="p"·data-group-id="8157753953-46">)</span><span·class="p">.</span><span·class="w">301 </span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">decode_Window_exclusive</span><span·class="p"·data-group-id="8934743988-46">(</span><span·class="n">WindowBytes</span><span·class="p"·data-group-id="8934743988-46">)</span><span·class="p">.</span><span·class="w">
302 </span><span·class="p"·data-group-id="8157753953-47">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="o">#</span><span·class="ss">&#39;Status&#39;</span><span·class="p"·data-group-id="8157753953-48">{</span><span·class="ss">state</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">35</span><span·class="p">,</span><span·class="w">302 </span><span·class="p"·data-group-id="8934743988-47">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="o">#</span><span·class="ss">&#39;Status&#39;</span><span·class="p"·data-group-id="8934743988-48">{</span><span·class="ss">state</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">35</span><span·class="p">,</span><span·class="w">
303 ··················</span><span·class="ss">buttonList</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8157753953-49">{</span><span·class="ss">&#39;Status_buttonList&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8157753953-50">[</span><span·class="p"·data-group-id="8157753953-51">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">129</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">303 ··················</span><span·class="ss">buttonList</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8934743988-49">{</span><span·class="ss">&#39;Status_buttonList&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8934743988-50">[</span><span·class="p"·data-group-id="8934743988-51">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">129</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
304 ·······················································</span><span·class="mi">255</span><span·class="p"·data-group-id="8157753953-51">&gt;&gt;</span><span·class="p">,</span><span·class="w">304 ·······················································</span><span·class="mi">255</span><span·class="p"·data-group-id="8934743988-51">&gt;&gt;</span><span·class="p">,</span><span·class="w">
305 ·····················································</span><span·class="p"·data-group-id="8157753953-52">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">4</span><sp[·...·truncated·by·diffoscope;·len:·187,·SHA:·32c714fd76dff917ff6d627823022a22cd317335bb097f214a7955456d35b6bb·...·]-52">&gt;&gt;</span><span·class="p">,</span><span·class="w">305 ·····················································</span><span·class="p"·data-group-id="8934743988-52">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">4</span><sp[·...·truncated·by·diffoscope;·len:·187,·SHA:·b36c889fa372ea48138c7902c15a6175a7d037d60dec0d8013567d9da94a3e64·...·]-52">&gt;&gt;</span><span·class="p">,</span><span·class="w">
306 ·····················································</span><span·class="p"·data-group-id="8157753953-53">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">5</span><sp[·...·truncated·by·diffoscope;·len:·189,·SHA:·4bc56b5104ebeea18ec7e1665122ace0b5747a272215cf1181aee04e66bba105·...·]-53">&gt;&gt;</span><span·class="p">,</span><span·class="w">306 ·····················································</span><span·class="p"·data-group-id="8934743988-53">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">5</span><sp[·...·truncated·by·diffoscope;·len:·189,·SHA:·710cf146e03968060c2688051e42fae2eb22b47761a473087f2846cb032ecec6·...·]-53">&gt;&gt;</span><span·class="p">,</span><span·class="w">
307 ·····················································</span><span·class="p"·data-group-id="8157753953-54">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">6</span><sp[·...·truncated·by·diffoscope;·len:·189,·SHA:·4bc56b5104ebeea18ec7e1665122ace0b5747a272215cf1181aee04e66bba105·...·]-54">&gt;&gt;</span><span·class="p">,</span><span·class="w">307 ·····················································</span><span·class="p"·data-group-id="8934743988-54">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">6</span><sp[·...·truncated·by·diffoscope;·len:·189,·SHA:·710cf146e03968060c2688051e42fae2eb22b47761a473087f2846cb032ecec6·...·]-54">&gt;&gt;</span><span·class="p">,</span><span·class="w">
308 ·····················································</span><span·class="p"·data-group-id="8157753953-55">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">7</span><sp[·...·truncated·by·diffoscope;·len:·302,·SHA:·5ebd307798c55f45841bc1230385cf76d6b425f85bddd2b79091002ce6bae076·...·]-49">}</span><span·class="p">,</span><span·class="w">308 ·····················································</span><span·class="p"·data-group-id="8934743988-55">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">7</span><sp[·...·truncated·by·diffoscope;·len:·302,·SHA:·6f5f50456ecc96dd0c1bdd39bdd3d0d1da6a2bc4e0a65c9950f55457ec17a79c·...·]-49">}</span><span·class="p">,</span><span·class="w">
309 ··················</span><span·class="ss">enabled</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">309 ··················</span><span·class="ss">enabled</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">
310 ··················</span><span·class="ss">actions</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8157753953-56">{</span><span·class="ss">&#39;Status_actions&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8157753953-57">&lt;&lt;</span><span·class="mi">163</span><span·class="p">,</span><span·class="mi">15</span><span·class="p">,</span><span·class="mi">160</span><span·class="p">,</span><span·class="mi">13</span><span·class="p">,</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">11</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="w">310 ··················</span><span·class="ss">actions</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8934743988-56">{</span><span·class="ss">&#39;Status_actions&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8934743988-57">&lt;&lt;</span><span·class="mi">163</span><span·class="p">,</span><span·class="mi">15</span><span·class="p">,</span><span·class="mi">160</span><span·class="p">,</span><span·class="mi">13</span><span·class="p">,</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">11</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="w">
311 ················································</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">161</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">17</span><span·class="p">,</span><span·class="mi">129</span><span·class="p">,</span><span·class="w">311 ················································</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">161</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">17</span><span·class="p">,</span><span·class="mi">129</span><span·class="p">,</span><span·class="w">
312 ················································</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">255</span><span·class="p"·data-group-id="8157753953-57">&gt;&gt;</span><span·class="p"·data-group-id="8157753953-56">}</span><span·class="p"·data-group-id="8157753953-48">}</span><span·class="p"·data-group-id="8157753953-47">}</span><span·class="gp·unselectable">312 ················································</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">255</span><span·class="p"·data-group-id="8934743988-57">&gt;&gt;</span><span·class="p"·data-group-id="8934743988-56">}</span><span·class="p"·data-group-id="8934743988-48">}</span><span·class="p"·data-group-id="8934743988-47">}</span><span·class="gp·unselectable">
313 11&gt;·</span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">decode_part</span><span·class="p"·data-group-id="8157753953-58">(</span><span·class="n">UndecWindowKey</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UndecWindowParts</span><span·class="p"·data-group-id="8157753953-58">)</span><span·class="p">.</span><span·class="w">313 11&gt;·</span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">decode_part</span><span·class="p"·data-group-id="8934743988-58">(</span><span·class="n">UndecWindowKey</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UndecWindowParts</span><span·class="p"·data-group-id="8934743988-58">)</span><span·class="p">.</span><span·class="w">
314 </span><span·class="p"·data-group-id="8157753953-59">[</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-60">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="m[·...·truncated·by·diffoscope;·len:·202,·SHA:·4c56a428259101d5062704a458f1217fb2f4287012cd9e4df1532c80eacf9728·...·]-60">}</span><span·class="p">,</span><span·class="w">314 </span><span·class="p"·data-group-id="8934743988-59">[</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-60">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="m[·...·truncated·by·diffoscope;·len:·202,·SHA:·252da11f6b260b4a62e79e2011cbf123cb7cc72730dcdfae320adebac98049a8·...·]-60">}</span><span·class="p">,</span><span·class="w">
315 ·</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-61">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·85,·SHA:·4200f5a44482175c92972de08344a25f9dfa7d6932bbf13b981facbd301921c5·...·]-61">}</span><span·class="p">,</span><span·class="w">315 ·</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-61">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·85,·SHA:·9e52b32fc894778a1b635beec5fd813308a0c3c54bedf7f1871766be89533f6a·...·]-61">}</span><span·class="p">,</span><span·class="w">
316 ·</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-62">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·84,·SHA:·5cf5861b78ee4fe5fae84cf6a0e4cdff064a43a11ec530c2d3b3bf8a8f968501·...·]-62">}</span><span·class="p">,</span><span·class="w">316 ·</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-62">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·84,·SHA:·5a5045759c5f138a53c069f40d2b94c685bde39c7096479ec0a803581035140d·...·]-62">}</span><span·class="p">,</span><span·class="w">
317 ·</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-63">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">6</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·84,·SHA:·5cf5861b78ee4fe5fae84cf6a0e4cdff064a43a11ec530c2d3b3bf8a8f968501·...·]-63">}</span><span·class="p">,</span><span·class="w">317 ·</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-63">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">6</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·84,·SHA:·5a5045759c5f138a53c069f40d2b94c685bde39c7096479ec0a803581035140d·...·]-63">}</span><span·class="p">,</span><span·class="w">
318 ·</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-64">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">7</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·139,·SHA:·d9c07fe7478e263db029ff98d0a29f7431a2847dd1ec73788ed2e5953cca2dcf·...·]-59">]</span><span·class="gp·unselectable">318 ·</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-64">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">7</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·139,·SHA:·41e7db5bdf19105b00cf7fd5205f53e1f011d875569916a4f3a07384fb66c07b·...·]-59">]</span><span·class="gp·unselectable">
319 12&gt;·</span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">decode_part</span><span·class="p"·data-group-id="8157753953-65">(</span><span·class="n">UndecWindowKey</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">hd</span><span·class="p"·data-group-id="8157753953-66">(</span><span·class="n">UndecWindowParts</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·65,·SHA:·5fe4730fd7eca5d37a90e3aa32a4d1e118ca52d4a75c14080ec2df437b14374a·...·]-65">)</span><span·class="p">.</span><span·class="w">319 12&gt;·</span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">decode_part</span><span·class="p"·data-group-id="8934743988-65">(</span><span·class="n">UndecWindowKey</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">hd</span><span·class="p"·data-group-id="8934743988-66">(</span><span·class="n">UndecWindowParts</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·65,·SHA:·27385e6e5ae591ef02e690a3ba839685f31464f37d76e07109c22eabe39d6195·...·]-65">)</span><span·class="p">.</span><span·class="w">
320 </span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-67">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">3</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·84,·SHA:·5cf5861b78ee4fe5fae84cf6a0e4cdff064a43a11ec530c2d3b3bf8a8f968501·...·]-67">}</span><span·class="gp·unselectable">320 </span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-67">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">3</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·84,·SHA:·5a5045759c5f138a53c069f40d2b94c685bde39c7096479ec0a803581035140d·...·]-67">}</span><span·class="gp·unselectable">
321 13&gt;·</span><span·class="p"·data-group-id="8157753953-68">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="o">#</span><span·class="ss">&#39;Status&#39;</span><span·class="p"·data-group-id="8157753953-69">{</span><span·class="ss">actions</span><span·class="o">=</span><span·c[·...·truncated·by·diffoscope;·len:·517,·SHA:·f03a46f0b4138f1c750bda276abe3801e4d3e3e209543a57c6afa3ebecf6b1ce·...·]-71">)</span><span·class="p">.</span><span·class="w">321 13&gt;·</span><span·class="p"·data-group-id="8934743988-68">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="o">#</span><span·class="ss">&#39;Status&#39;</span><span·class="p"·data-group-id="8934743988-69">{</span><span·class="ss">actions</span><span·class="o">=</span><span·c[·...·truncated·by·diffoscope;·len:·517,·SHA:·ada129a11f43e5128350377380dc2428db1173b5447ec97ec611e0b8830e6fff·...·]-71">)</span><span·class="p">.</span><span·class="w">
322 </span><span·class="p"·data-group-id="8157753953-72">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="o">#</span><span·class="ss">&#39;Status&#39;</span><span·class="p"·data-group-id="8157753953-73">{</span><span·class="ss">state</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">35</span><span·class="p">,</span><span·class="w">322 </span><span·class="p"·data-group-id="8934743988-72">{</span><span·class="ss">status</span><span·class="p">,</span><span·class="o">#</span><span·class="ss">&#39;Status&#39;</span><span·class="p"·data-group-id="8934743988-73">{</span><span·class="ss">state</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">35</span><span·class="p">,</span><span·class="w">
323 ··················</span><span·class="ss">buttonList</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8157753953-74">{</span><span·class="ss">&#39;Status_buttonList&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8157753953-75">[</span><span·class="p"·data-group-id="8157753953-76">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">129</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">323 ··················</span><span·class="ss">buttonList</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8934743988-74">{</span><span·class="ss">&#39;Status_buttonList&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8934743988-75">[</span><span·class="p"·data-group-id="8934743988-76">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">129</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
324 ·······················································</span><span·class="mi">255</span><span·class="p"·data-group-id="8157753953-76">&gt;&gt;</span><span·class="p">,</span><span·class="w">324 ·······················································</span><span·class="mi">255</span><span·class="p"·data-group-id="8934743988-76">&gt;&gt;</span><span·class="p">,</span><span·class="w">
325 ·····················································</span><span·class="p"·data-group-id="8157753953-77">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">4</span><sp[·...·truncated·by·diffoscope;·len:·187,·SHA:·32c714fd76dff917ff6d627823022a22cd317335bb097f214a7955456d35b6bb·...·]-77">&gt;&gt;</span><span·class="p">,</span><span·class="w">325 ·····················································</span><span·class="p"·data-group-id="8934743988-77">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">4</span><sp[·...·truncated·by·diffoscope;·len:·187,·SHA:·b36c889fa372ea48138c7902c15a6175a7d037d60dec0d8013567d9da94a3e64·...·]-77">&gt;&gt;</span><span·class="p">,</span><span·class="w">
326 ·····················································</span><span·class="p"·data-group-id="8157753953-78">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">5</span><sp[·...·truncated·by·diffoscope;·len:·189,·SHA:·4bc56b5104ebeea18ec7e1665122ace0b5747a272215cf1181aee04e66bba105·...·]-78">&gt;&gt;</span><span·class="p">,</span><span·class="w">326 ·····················································</span><span·class="p"·data-group-id="8934743988-78">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">5</span><sp[·...·truncated·by·diffoscope;·len:·189,·SHA:·710cf146e03968060c2688051e42fae2eb22b47761a473087f2846cb032ecec6·...·]-78">&gt;&gt;</span><span·class="p">,</span><span·class="w">
327 ·····················································</span><span·class="p"·data-group-id="8157753953-79">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">6</span><sp[·...·truncated·by·diffoscope;·len:·189,·SHA:·4bc56b5104ebeea18ec7e1665122ace0b5747a272215cf1181aee04e66bba105·...·]-79">&gt;&gt;</span><span·class="p">,</span><span·class="w">327 ·····················································</span><span·class="p"·data-group-id="8934743988-79">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">6</span><sp[·...·truncated·by·diffoscope;·len:·189,·SHA:·710cf146e03968060c2688051e42fae2eb22b47761a473087f2846cb032ecec6·...·]-79">&gt;&gt;</span><span·class="p">,</span><span·class="w">
328 ·····················································</span><span·class="p"·data-group-id="8157753953-80">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">7</span><sp[·...·truncated·by·diffoscope;·len:·302,·SHA:·44292b6f162885dad8741ccab9992f6dbc1ce5618ef7f37f5360a95994d14a0e·...·]-74">}</span><span·class="p">,</span><span·class="w">328 ·····················································</span><span·class="p"·data-group-id="8934743988-80">&lt;&lt;</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">7</span><sp[·...·truncated·by·diffoscope;·len:·302,·SHA:·30c5eb7502c88c7c8d713839e9c7e568e4c527c12d48ce0a19fba9b27a2a5ca7·...·]-74">}</span><span·class="p">,</span><span·class="w">
329 ··················</span><span·class="ss">enabled</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">329 ··················</span><span·class="ss">enabled</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">
330 ··················</span><span·class="ss">actions</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8157753953-81">{</span><span·class="ss">&#39;Status_actions&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8157753953-82">&lt;&lt;</span><span·class="mi">163</span><span·class="p">,</span><span·class="mi">15</span><span·class="p">,</span><span·class="mi">160</span><span·class="p">,</span><span·class="mi">13</span><span·class="p">,</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">11</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="w">330 ··················</span><span·class="ss">actions</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8934743988-81">{</span><span·class="ss">&#39;Status_actions&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8934743988-82">&lt;&lt;</span><span·class="mi">163</span><span·class="p">,</span><span·class="mi">15</span><span·class="p">,</span><span·class="mi">160</span><span·class="p">,</span><span·class="mi">13</span><span·class="p">,</span><span·class="mi">48</span><span·class="p">,</span><span·class="mi">11</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="w">
331 ················································</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">161</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">17</span><span·class="p">,</span><span·class="mi">129</span><span·class="p">,</span><span·class="w">331 ················································</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">161</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">17</span><span·class="p">,</span><span·class="mi">129</span><span·class="p">,</span><span·class="w">
332 ················································</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">255</span><span·class="p"·data-group-id="8157753953-82">&gt;&gt;</span><span·class="p"·data-group-id="8157753953-81">}</span><span·class="p"·data-group-id="8157753953-73">}</span><span·class="p"·data-group-id="8157753953-72">}</span><span·class="gp·unselectable">332 ················································</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">255</span><span·class="p"·data-group-id="8934743988-82">&gt;&gt;</span><span·class="p"·data-group-id="8934743988-81">}</span><span·class="p"·data-group-id="8934743988-73">}</span><span·class="p"·data-group-id="8934743988-72">}</span><span·class="gp·unselectable">
333 14&gt;·</span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">decode_part</span><span·class="p"·data-group-id="8157753953-83">(</span><span·class="n">ChoiceKey</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ChoiceUndec</span><span·class="p"·data-group-id="8157753953-83">)</span><span·class="p">.</span><span·class="w">333 14&gt;·</span><span·class="nc">&#39;GUI&#39;</span><span·class="p">:</span><span·class="nf">decode_part</span><span·class="p"·data-group-id="8934743988-83">(</span><span·class="n">ChoiceKey</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ChoiceUndec</span><span·class="p"·data-group-id="8934743988-83">)</span><span·class="p">.</span><span·class="w">
334 </span><span·class="p"·data-group-id="8157753953-84">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="8157753953-85">[</span><span·class="o">#</span><span·class="ss">&#39;Action&#39;</span><span·class="p"·data-group-id="8157753953-86">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">16</span><span·class="p">,</span><span·class="w">334 </span><span·class="p"·data-group-id="8934743988-84">{</span><span·class="ss">possibleActions</span><span·class="p">,</span><span·class="p"·data-group-id="8934743988-85">[</span><span·class="o">#</span><span·class="ss">&#39;Action&#39;</span><span·class="p"·data-group-id="8934743988-86">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">16</span><span·class="p">,</span><span·class="w">
335 ····························</span><span·class="ss">handle</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8157753953-87">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">17</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cl[·...·truncated·by·diffoscope;·len:·247,·SHA:·7b6c262dd670581ed6f2eca71b048b4e640a8de6f6a405859b220d48973f3012·...·]-84">}</span></code></pre><h2·id="selective-decode"·class="section-heading">335 ····························</span><span·class="ss">handle</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;Button&#39;</span><span·class="p"·data-group-id="8934743988-87">{</span><span·class="ss">number</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">17</span><span·class="p">,</span><span·class="ss">on</span><span·class="w">·</span><span·class="o">=</span><span·cl[·...·truncated·by·diffoscope;·len:·247,·SHA:·bc52c20c50b107e476cf3628d7b0e77b0e9036aac37f6716c056cd0cc7026d5b·...·]-84">}</span></code></pre><h2·id="selective-decode"·class="section-heading">
336 ··<a·href="#selective-decode"·class="hover-link">336 ··<a·href="#selective-decode"·class="hover-link">
337 ····<i·class="ri-link-m"·aria-hidden="true"></i>337 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Max diff block lines reached; 38198/120441 bytes (31.72%) of diff not shown.
550 B
html2text {}
Max HTML report size reached
7.85 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/asn1ct.html
    
Offset 481, 17 lines modifiedOffset 481, 17 lines modified
  
481 <p>Performs·a·test·of·encode·and·decode·of·types·in·<code·class="inline">Module</code>.</p><p>The·generated·functions·are·called·by·this·function.·This·function·is481 <p>Performs·a·test·of·encode·and·decode·of·types·in·<code·class="inline">Module</code>.</p><p>The·generated·functions·are·called·by·this·function.·This·function·is
482 useful·for·testing·to·ensure·that·the·generated·encode·and·decode482 useful·for·testing·to·ensure·that·the·generated·encode·and·decode
483 functions·as·well·as·the·general·runtime·support·work·as·expected.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Currently,·the·<code·class="inline">test</code>·functions·have·many·limitations.·Essentially,·they·will483 functions·as·well·as·the·general·runtime·support·work·as·expected.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Currently,·the·<code·class="inline">test</code>·functions·have·many·limitations.·Essentially,·they·will
484 mostly·work·for·old·specifications·based·on·the·1997·standard·for·ASN.1,·but484 mostly·work·for·old·specifications·based·on·the·1997·standard·for·ASN.1,·but
485 not·for·most·modern-style·applications.·Another·limitation·is·that·the·<code·class="inline">test</code>485 not·for·most·modern-style·applications.·Another·limitation·is·that·the·<code·class="inline">test</code>
486 functions·may·not·work·if·options·that·change·code·generations·strategies·such486 functions·may·not·work·if·options·that·change·code·generations·strategies·such
487 as·the·options·<code·class="inline">macro_name_prefix</code>·and·<code·class="inline">record_name_prefix</code>·have·been·used.</p></section><ul><li><a·href="#test/1"><code·class="inline">test/1</code></a>·iterates·over·all·types·in·<code·class="inline">Module</code>.</li><li><a·href="#test/2"><code·class="inline">test/2</code></a>·tests·type·<code·class="inline">Type</code>·with·a·random·value.</li><li><a·href="#test/3"><code·class="inline">test/3</code></a>·tests·type·<code·class="inline">Type</code>·with·<code·class="inline">Value</code>.</li></ul><p>Schematically,·the·following·occurs·for·each·type·in·the·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4808716163-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Value</span><span·class="p"·data-group-id="4808716163-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·274,·SHA:·0f655aea6f148dda09e2122093462f48a924bcc7b82fcd6406c3cafb6619cd11·...·]-2">)</span><span·class="p">,</span><span·class="w">487 as·the·options·<code·class="inline">macro_name_prefix</code>·and·<code·class="inline">record_name_prefix</code>·have·been·used.</p></section><ul><li><a·href="#test/1"><code·class="inline">test/1</code></a>·iterates·over·all·types·in·<code·class="inline">Module</code>.</li><li><a·href="#test/2"><code·class="inline">test/2</code></a>·tests·type·<code·class="inline">Type</code>·with·a·random·value.</li><li><a·href="#test/3"><code·class="inline">test/3</code></a>·tests·type·<code·class="inline">Type</code>·with·<code·class="inline">Value</code>.</li></ul><p>Schematically,·the·following·occurs·for·each·type·in·the·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1386565712-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Value</span><span·class="p"·data-group-id="1386565712-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·274,·SHA:·5b949a2cf0c12cd4d51f2eb9aac19a9bac81fe48900d90c173923d31e634e0a0·...·]-2">)</span><span·class="p">,</span><span·class="w">
488 </span><span·class="p"·data-group-id="4808716163-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bytes</span><span·class="p"·data-group-id="4808716163-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·273,·SHA:·746b182db448af3632fcfc5dd3f673a9337ac0bddb5472f9c176467289e4a061·...·]-4">)</span><span·class="p">,</span><span·class="w">488 </span><span·class="p"·data-group-id="1386565712-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bytes</span><span·class="p"·data-group-id="1386565712-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·273,·SHA:·bf20872ef72126928f1f2ffbc1c8516987571a7348d0428f575b45f48eb92ef7·...·]-4">)</span><span·class="p">,</span><span·class="w">
489 </span><span·class="p"·data-group-id="4808716163-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Value</span><span·class="p"·data-group-id="4808716163-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·273,·SHA:·c1b314140e639d555ca1789b486b6e63af4ededa1b1a4152bf774e667151db46·...·]-6">)</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">test</code>·functions·use·the·<code·class="inline">*.asn1db</code>·files·for·all·included·modules.·If·they489 </span><span·class="p"·data-group-id="1386565712-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Value</span><span·class="p"·data-group-id="1386565712-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·273,·SHA:·4689f751ae099104867a90f74d829a4bde8e1a08ab27601dcdddca969a629e91·...·]-6">)</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">test</code>·functions·use·the·<code·class="inline">*.asn1db</code>·files·for·all·included·modules.·If·they
490 are·located·in·a·different·directory·than·the·current·working·directory,·use·the490 are·located·in·a·different·directory·than·the·current·working·directory,·use·the
491 <code·class="inline">include</code>·option·to·add·paths.·This·is·only·needed·when·automatically·generating491 <code·class="inline">include</code>·option·to·add·paths.·This·is·only·needed·when·automatically·generating
492 values.·For·static·values·using·<code·class="inline">Value</code>·no·options·are·needed.</p>492 values.·For·static·values·using·<code·class="inline">Value</code>·no·options·are·needed.</p>
493 ··</section>493 ··</section>
494 </section>494 </section>
495 <section·class="detail"·id="value/2">495 <section·class="detail"·id="value/2">
  
Offset 548, 15 lines modifiedOffset 548, 15 lines modified
548 ······<p·class="built-using">548 ······<p·class="built-using">
549 ········Built·using549 ········Built·using
550 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the550 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
551 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>551 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
552 ······</p>552 ······</p>
553 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>553 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
554 ····</footer>554 ····</footer>
555 ··</div>555 ··</div>
556 </main>556 </main>
557 </div>557 </div>
558 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>558 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
559 ··<script>559 ··<script>
560 ··let·initialized·=·false;560 ··let·initialized·=·false;
749 B
html2text {}
Max HTML report size reached
4.17 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/notes.html
    
Offset 169, 15 lines modifiedOffset 169, 15 lines modified
169 </h3>169 </h3>
170 <ul><li><p>The·JER·backend·will·now·include·the·SIZE·constraint·in·the·type·info·for·OCTET·STRINGs,·and·a·SIZE·constraint·with·a·range·will·now·be·included·for·BIT·STRINGs.·This·does·not·change·the·actual·encoding·or·decoding·of·JER,·but·can·be·useful·for·tools.</p><p>Own·Id:·OTP-19542·Aux·Id:·ERIERL-1204,·<a·href="https://github.com/erlang/otp/pull/9588"·title="">PR-9588</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">170 <ul><li><p>The·JER·backend·will·now·include·the·SIZE·constraint·in·the·type·info·for·OCTET·STRINGs,·and·a·SIZE·constraint·with·a·range·will·now·be·included·for·BIT·STRINGs.·This·does·not·change·the·actual·encoding·or·decoding·of·JER,·but·can·be·useful·for·tools.</p><p>Own·Id:·OTP-19542·Aux·Id:·ERIERL-1204,·<a·href="https://github.com/erlang/otp/pull/9588"·title="">PR-9588</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">
171 ··<a·href="#improvements-and-new-features-1"·class="hover-link">171 ··<a·href="#improvements-and-new-features-1"·class="hover-link">
172 ····<i·class="ri-link-m"·aria-hidden="true"></i>172 ····<i·class="ri-link-m"·aria-hidden="true"></i>
173 ··</a>173 ··</a>
174 ··<span·class="text">Improvements·and·New·Features</span>174 ··<span·class="text">Improvements·and·New·Features</span>
175 </h3>175 </h3>
176 <ul><li><p>When·using·the·JSON·encoding·rules,·it·is·now·possible·to·call·the·decode/2·function·in·the·following·way·with·data·that·has·already·been·decoded·by·json:decode/1:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">SomeModule</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="8780281650-1">(</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8780281650-2">{</span><span·class="ss">json_decoded</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Decode[·...·truncated·by·diffoscope;·len:·102,·SHA:·ddab6e48091de1a498bba2ea964e1e9bf64ae7d571330a4c3d2e9d5c16b54951·...·]-1">)</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-19547·Aux·Id:·ERIERL-1206,·<a·href="https://github.com/erlang/otp/pull/9611"·title="">PR-9611</a></p></li></ul><h2·id="asn1-5-3-2"·class="section-heading">176 <ul><li><p>When·using·the·JSON·encoding·rules,·it·is·now·possible·to·call·the·decode/2·function·in·the·following·way·with·data·that·has·already·been·decoded·by·json:decode/1:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">SomeModule</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="3775743645-1">(</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3775743645-2">{</span><span·class="ss">json_decoded</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Decode[·...·truncated·by·diffoscope;·len:·102,·SHA:·9e63ff70a3d6f8bf63380d79d4e614386e77a0a30d42ca6ca038f37653f554f6·...·]-1">)</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-19547·Aux·Id:·ERIERL-1206,·<a·href="https://github.com/erlang/otp/pull/9611"·title="">PR-9611</a></p></li></ul><h2·id="asn1-5-3-2"·class="section-heading">
177 ··<a·href="#asn1-5-3-2"·class="hover-link">177 ··<a·href="#asn1-5-3-2"·class="hover-link">
178 ····<i·class="ri-link-m"·aria-hidden="true"></i>178 ····<i·class="ri-link-m"·aria-hidden="true"></i>
179 ··</a>179 ··</a>
180 ··<span·class="text">Asn1·5.3.2</span>180 ··<span·class="text">Asn1·5.3.2</span>
181 </h2>181 </h2>
182 <h3·id="fixed-bugs-and-malfunctions-3"·class="section-heading">182 <h3·id="fixed-bugs-and-malfunctions-3"·class="section-heading">
183 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">183 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">
Offset 1613, 15 lines modifiedOffset 1613, 15 lines modified
1613 ······<p·class="built-using">1613 ······<p·class="built-using">
1614 ········Built·using1614 ········Built·using
1615 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1615 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1616 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1616 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1617 ······</p>1617 ······</p>
1618 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1618 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1619 ····</footer>1619 ····</footer>
1620 ··</div>1620 ··</div>
1621 </main>1621 </main>
1622 </div>1622 </div>
1623 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1623 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1624 ··<script>1624 ··<script>
1625 ··let·initialized·=·false;1625 ··let·initialized·=·false;
636 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/asn1-5.4/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
459 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/api-reference.html
    
Offset 311, 15 lines modifiedOffset 311, 15 lines modified
311 ······<p·class="built-using">311 ······<p·class="built-using">
312 ········Built·using312 ········Built·using
313 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the313 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
314 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>314 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
315 ······</p>315 ······</p>
316 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>316 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
317 ····</footer>317 ····</footer>
318 ··</div>318 ··</div>
319 </main>319 </main>
320 </div>320 </div>
321 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>321 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
322 ··<script>322 ··<script>
323 ··let·initialized·=·false;323 ··let·initialized·=·false;
657 B
html2text {}
Max HTML report size reached
11.7 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/basics_chapter.html
    
Offset 211, 23 lines modifiedOffset 211, 23 lines modified
211 <a·href="write_test_chapter.html#intro">Writing·Test·Suites</a>.</p><p>A·test·case·is·considered·successful·if·it·returns·to·the·caller,·no·matter·what211 <a·href="write_test_chapter.html#intro">Writing·Test·Suites</a>.</p><p>A·test·case·is·considered·successful·if·it·returns·to·the·caller,·no·matter·what
212 the·returned·value·is.·However,·a·few·return·values·have·special·meaning·as212 the·returned·value·is.·However,·a·few·return·values·have·special·meaning·as
213 follows:</p><ul><li><code·class="inline">{skip,Reason}</code>·indicates·that·the·test·case·is·skipped.</li><li><code·class="inline">{comment,Comment}</code>·prints·a·comment·in·the·log·for·the·test·case.</li><li><code·class="inline">{save_config,Config}</code>·makes·the·<code·class="inline">Common·Test</code>·test·server·pass·<code·class="inline">Config</code>·to213 follows:</p><ul><li><code·class="inline">{skip,Reason}</code>·indicates·that·the·test·case·is·skipped.</li><li><code·class="inline">{comment,Comment}</code>·prints·a·comment·in·the·log·for·the·test·case.</li><li><code·class="inline">{save_config,Config}</code>·makes·the·<code·class="inline">Common·Test</code>·test·server·pass·<code·class="inline">Config</code>·to
214 the·next·test·case.</li></ul><p>A·test·case·failure·is·specified·as·a·runtime·error·(a·crash),·no·matter·what214 the·next·test·case.</li></ul><p>A·test·case·failure·is·specified·as·a·runtime·error·(a·crash),·no·matter·what
215 the·reason·for·termination·is.·If·you·use·Erlang·pattern·matching·effectively,215 the·reason·for·termination·is.·If·you·use·Erlang·pattern·matching·effectively,
216 you·can·take·advantage·of·this·property.·The·result·is·concise·and·readable·test216 you·can·take·advantage·of·this·property.·The·result·is·concise·and·readable·test
217 case·functions·that·look·much·more·like·scripts·than·actual·programs.·A·simple217 case·functions·that·look·much·more·like·scripts·than·actual·programs.·A·simple
218 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">session</span><span·class="p"·data-group-id="8788900523-1">(</span><span·class="p">_</span><span·class="n">Config</span><span·class="p"·data-group-id="8788900523-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">218 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">session</span><span·class="p"·data-group-id="7936365602-1">(</span><span·class="p">_</span><span·class="n">Config</span><span·class="p"·data-group-id="7936365602-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
219 ····</span><span·class="p"·data-group-id="8788900523-2">{</span><span·class="ss">started</span><span·class="p">,</span><span·class="n">ServerId</span><span·class="p"·data-group-id="8788900523-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_ser[·...·truncated·by·diffoscope;·len:·157,·SHA:·28086de9ad136717a924c4d6ab327b72181f22f37570d9070f9ae5a30f466520·...·]-3">)</span><span·class="p">,</span><span·class="w">219 ····</span><span·class="p"·data-group-id="7936365602-2">{</span><span·class="ss">started</span><span·class="p">,</span><span·class="n">ServerId</span><span·class="p"·data-group-id="7936365602-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_ser[·...·truncated·by·diffoscope;·len:·157,·SHA:·59f7cf78ca4ffdc1d43654921a72e71eee64654bd0c468f6a71ae25865d6ede5·...·]-3">)</span><span·class="p">,</span><span·class="w">
220 ····</span><span·class="p"·data-group-id="8788900523-4">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="8788900523-5">[</span><span·class="p"·data-group-id="8788900523-5">]</span><span·class="p"·data-group-id="8788900523-4">}</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·269,·SHA:·b021d1ee101188acd2ce048e57949615264262b020989a81ddb3d1bde4eb8bc8·...·]-6">)</span><span·class="p">,</span><span·class="w">220 ····</span><span·class="p"·data-group-id="7936365602-4">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="7936365602-5">[</span><span·class="p"·data-group-id="7936365602-5">]</span><span·class="p"·data-group-id="7936365602-4">}</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·269,·SHA:·768f779cef7759cdfada2a96438ef058c809867f6064715bdc42533657f86a99·...·]-6">)</span><span·class="p">,</span><span·class="w">
221 ····</span><span·class="n">MyId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="8788900523-7">(</span><span·class="p"·data-group-id="8788900523-7">)</span><span·class="p">,</span><span·class="w">221 ····</span><span·class="n">MyId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="7936365602-7">(</span><span·class="p"·data-group-id="7936365602-7">)</span><span·class="p">,</span><span·class="w">
222 ····</span><span·class="ss">connected</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_server</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="8788900523-8">(</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MyId</span><span·class="p"·data-group-id="8788900523-8">)</span><span·class="p">,</span><span·class="w">222 ····</span><span·class="ss">connected</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_server</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="7936365602-8">(</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MyId</span><span·class="p"·data-group-id="7936365602-8">)</span><span·class="p">,</span><span·class="w">
223 ····</span><span·class="p"·data-group-id="8788900523-9">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="8788900523-10">[</span><span·class="n">MyId</span><span·class="p"·data-group-id="8788900523-10">]</span><span·class="p"·data-group-id="8788900523-9"[·...·truncated·by·diffoscope;·len:·299,·SHA:·1df70c437e3d3f10b15d6c195612315497b630edcdc050200dbc43c211298cbb·...·]-11">)</span><span·class="p">,</span><span·class="w">223 ····</span><span·class="p"·data-group-id="7936365602-9">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="7936365602-10">[</span><span·class="n">MyId</span><span·class="p"·data-group-id="7936365602-10">]</span><span·class="p"·data-group-id="7936365602-9"[·...·truncated·by·diffoscope;·len:·299,·SHA:·8cbb94bf6e4eaf09f82e7b5140d78f4084bc623d193dbf01e5bbf72accfb2570·...·]-11">)</span><span·class="p">,</span><span·class="w">
224 ····</span><span·class="ss">disconnected</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_server</span><span·class="p">:</span><span·class="nf">disconnect</span><span·class="p"·data-group-id="8788900523-12">(</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MyId</span><span·class="p"·data-group-id="8788900523-12">)</span><span·class="p">,</span><span·class="w">224 ····</span><span·class="ss">disconnected</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_server</span><span·class="p">:</span><span·class="nf">disconnect</span><span·class="p"·data-group-id="7936365602-12">(</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MyId</span><span·class="p"·data-group-id="7936365602-12">)</span><span·class="p">,</span><span·class="w">
225 ····</span><span·class="p"·data-group-id="8788900523-13">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="8788900523-14">[</span><span·class="p"·data-group-id="8788900523-14">]</span><span·class="p"·data-group-id="8788900523-13">}</span><span·class="w">[·...·truncated·by·diffoscope;·len:·274,·SHA:·7c15ef08b714bea3652048171291126bf12e8e5b21ee6dbcc556ae9ecbbc12f7·...·]-15">)</span><span·class="p">,</span><span·class="w">225 ····</span><span·class="p"·data-group-id="7936365602-13">{</span><span·class="ss">clients</span><span·class="p">,</span><span·class="p"·data-group-id="7936365602-14">[</span><span·class="p"·data-group-id="7936365602-14">]</span><span·class="p"·data-group-id="7936365602-13">}</span><span·class="w">[·...·truncated·by·diffoscope;·len:·274,·SHA:·c2c67e498cd5e5045100f1a418bd40a7b035260ddbcf28a9cad504f5f800dc02·...·]-15">)</span><span·class="p">,</span><span·class="w">
226 ····</span><span·class="ss">stopped</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_server</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="8788900523-16">(</span><span·class="n">ServerId</span><span·class="p"·data-group-id="8788900523-16">)</span><span·class="p">.</span></code></pre><p>As·a·test·suite·runs,·all·information·(including·output·to·<code·class="inline">stdout</code>)·is·recorded226 ····</span><span·class="ss">stopped</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_server</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="7936365602-16">(</span><span·class="n">ServerId</span><span·class="p"·data-group-id="7936365602-16">)</span><span·class="p">.</span></code></pre><p>As·a·test·suite·runs,·all·information·(including·output·to·<code·class="inline">stdout</code>)·is·recorded
227 in·many·different·log·files.·A·minimum·of·information·is·displayed·in·the·user227 in·many·different·log·files.·A·minimum·of·information·is·displayed·in·the·user
228 console·(only·start·and·stop·information,·plus·a·note·for·each·failed·test228 console·(only·start·and·stop·information,·plus·a·note·for·each·failed·test
229 case).</p><p>The·result·from·each·test·case·is·recorded·in·a·dedicated·HTML·log·file,·created229 case).</p><p>The·result·from·each·test·case·is·recorded·in·a·dedicated·HTML·log·file,·created
230 for·the·particular·test·run.·An·overview·page·displays·each·test·case230 for·the·particular·test·run.·An·overview·page·displays·each·test·case
231 represented·by·a·table·row·showing·total·execution·time,·if·the·case·was231 represented·by·a·table·row·showing·total·execution·time,·if·the·case·was
232 successful,·failed,·or·skipped,·plus·an·optional·user·comment.·For·a·failed·test232 successful,·failed,·or·skipped,·plus·an·optional·user·comment.·For·a·failed·test
233 case,·the·reason·for·termination·is·also·printed·in·the·comment·field.·The233 case,·the·reason·for·termination·is·also·printed·in·the·comment·field.·The
Offset 299, 15 lines modifiedOffset 299, 15 lines modified
299 ······<p·class="built-using">299 ······<p·class="built-using">
300 ········Built·using300 ········Built·using
301 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the301 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
302 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>302 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
303 ······</p>303 ······</p>
304 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>304 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
305 ····</footer>305 ····</footer>
306 ··</div>306 ··</div>
307 </main>307 </main>
308 </div>308 </div>
309 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>309 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
310 ··<script>310 ··<script>
311 ··let·initialized·=·false;311 ··let·initialized·=·false;
766 B
html2text {}
Max HTML report size reached
1.11 MB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/common_test.epub
7.43 KB
zipinfo {}
Max HTML report size reached
266 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
109 KB
OEBPS/write_test_chapter.xhtml
Max HTML report size reached
8.21 KB
OEBPS/unix_telnet.xhtml
Max HTML report size reached
199 KB
OEBPS/run_test_chapter.xhtml
Max HTML report size reached
25.0 KB
OEBPS/getting_started_chapter.xhtml
Max HTML report size reached
77.3 KB
OEBPS/example_chapter.xhtml
Max HTML report size reached
10.1 KB
OEBPS/event_handler_chapter.xhtml
Max HTML report size reached
55.8 KB
OEBPS/dependencies_chapter.xhtml
Max HTML report size reached
32.3 KB
OEBPS/ct_telnet.xhtml
Max HTML report size reached
5.65 KB
OEBPS/ct_ssh.xhtml
Max HTML report size reached
9.73 KB
OEBPS/ct_snmp.xhtml
Max HTML report size reached
4.48 KB
OEBPS/ct_run_cmd.xhtml
Max HTML report size reached
21.6 KB
OEBPS/ct_property_test_chapter.xhtml
Max HTML report size reached
23.6 KB
OEBPS/ct_property_test.xhtml
Max HTML report size reached
27.5 KB
OEBPS/ct_netconfc.xhtml
Max HTML report size reached
34.2 KB
OEBPS/ct_master_chapter.xhtml
Max HTML report size reached
2.21 KB
OEBPS/ct_master.xhtml
Max HTML report size reached
60.0 KB
OEBPS/ct_hooks_chapter.xhtml
Max HTML report size reached
4.53 KB
OEBPS/ct_ftp.xhtml
Max HTML report size reached
39.6 KB
OEBPS/ct.xhtml
Max HTML report size reached
15.3 KB
OEBPS/cover_chapter.xhtml
Max HTML report size reached
2.5 KB
OEBPS/content.opf
2.46 KB
OEBPS/content.opf
Max HTML report size reached
80.1 KB
OEBPS/config_file_chapter.xhtml
Max HTML report size reached
10.2 KB
OEBPS/basics_chapter.xhtml
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/common_test_app.html
    
Offset 179, 15 lines modifiedOffset 179, 15 lines modified
179 ······<p·class="built-using">179 ······<p·class="built-using">
180 ········Built·using180 ········Built·using
181 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the181 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
182 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>182 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
183 ······</p>183 ······</p>
184 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>184 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
185 ····</footer>185 ····</footer>
186 ··</div>186 ··</div>
187 </main>187 </main>
188 </div>188 </div>
189 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>189 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
190 ··<script>190 ··<script>
191 ··let·initialized·=·false;191 ··let·initialized·=·false;
703 B
html2text {}
Max HTML report size reached
81.8 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/config_file_chapter.html
    
Offset 138, 16 lines modifiedOffset 138, 16 lines modified
138 properties·without·modifying·the·test·suites·using·the·data.·Examples·of138 properties·without·modifying·the·test·suites·using·the·data.·Examples·of
139 configuration·data·follows:</p><ul><li>Addresses·to·the·test·plant·or·other·instruments</li><li>User·login·information</li><li>Names·of·files·needed·by·the·test</li><li>Names·of·programs·to·be·executed·during·the·test</li><li>Any·other·variable·needed·by·the·test</li></ul><h2·id="syntax"·class="section-heading">139 configuration·data·follows:</p><ul><li>Addresses·to·the·test·plant·or·other·instruments</li><li>User·login·information</li><li>Names·of·files·needed·by·the·test</li><li>Names·of·programs·to·be·executed·during·the·test</li><li>Any·other·variable·needed·by·the·test</li></ul><h2·id="syntax"·class="section-heading">
140 ··<a·href="#syntax"·class="hover-link">140 ··<a·href="#syntax"·class="hover-link">
141 ····<i·class="ri-link-m"·aria-hidden="true"></i>141 ····<i·class="ri-link-m"·aria-hidden="true"></i>
142 ··</a>142 ··</a>
143 ··<span·class="text">Syntax</span>143 ··<span·class="text">Syntax</span>
144 </h2>144 </h2>
145 <p>A·configuration·file·can·contain·any·number·of·elements·of·the·type:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8160546665-1">{</span><span·class="n">CfgVarName</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="8160546665-1">}</span><span·class="p">.</span></code></pre><p>where</p><pre><code·class="makeup·erlang"·translate="no"[·...·truncated·by·diffoscope;·len:·228,·SHA:·2ea14ff1f5e72e41b90dae23d475863e982538c79a7f7f3eccd41f75da1ace46·...·]-1">)</span><span·class="w">145 <p>A·configuration·file·can·contain·any·number·of·elements·of·the·type:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5953613988-1">{</span><span·class="n">CfgVarName</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="5953613988-1">}</span><span·class="p">.</span></code></pre><p>where</p><pre><code·class="makeup·erlang"·translate="no"[·...·truncated·by·diffoscope;·len:·228,·SHA:·215e64eba117cc5e25ef62649289b6bff40ca1d1645c8307b10a49979ad187f5·...·]-1">)</span><span·class="w">
146 </span><span·class="n">Value</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="0842196139-2">(</span><span·class="p"·data-group-id="0842196139-2">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0842196139-3">[</span><span·class="p"·data-group-id="0842196139-4">{</span><sp[·...·truncated·by·diffoscope;·len:·176,·SHA:·6a6609f3876e4b4d1eb9cc092462eba877a0f50b31205a3632c47dda9c9605eb·...·]-3">]</span></code></pre><h2·id="requiring-and-reading-configuration-data"·class="section-heading">146 </span><span·class="n">Value</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3303035363-2">(</span><span·class="p"·data-group-id="3303035363-2">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="3303035363-3">[</span><span·class="p"·data-group-id="3303035363-4">{</span><sp[·...·truncated·by·diffoscope;·len:·176,·SHA:·dcbeff210ab31d060fabc6fd331b98a37d729452da7323490ac4b5743946ca90·...·]-3">]</span></code></pre><h2·id="requiring-and-reading-configuration-data"·class="section-heading">
147 ··<a·href="#requiring-and-reading-configuration-data"·class="hover-link">147 ··<a·href="#requiring-and-reading-configuration-data"·class="hover-link">
148 ····<i·class="ri-link-m"·aria-hidden="true"></i>148 ····<i·class="ri-link-m"·aria-hidden="true"></i>
149 ··</a>149 ··</a>
150 ··<span·class="text">Requiring·and·Reading·Configuration·Data</span>150 ··<span·class="text">Requiring·and·Reading·Configuration·Data</span>
151 </h2>151 </h2>
152 <p><a·href=""·id="require_config_data"></a></p><p>In·a·test·suite,·one·must·<em>require</em>·that·a·configuration·variable·(<code·class="inline">CfgVarName</code>152 <p><a·href=""·id="require_config_data"></a></p><p>In·a·test·suite,·one·must·<em>require</em>·that·a·configuration·variable·(<code·class="inline">CfgVarName</code>
153 in·the·previous·definition)·exists·before·attempting·to·read·the·associated153 in·the·previous·definition)·exists·before·attempting·to·read·the·associated
Offset 166, 21 lines modifiedOffset 166, 21 lines modified
166 <code·class="inline">{require,AliasName,CfgVarName}</code>.·The·arguments·<code·class="inline">AliasName</code>·and·<code·class="inline">CfgVarName</code>·are166 <code·class="inline">{require,AliasName,CfgVarName}</code>.·The·arguments·<code·class="inline">AliasName</code>·and·<code·class="inline">CfgVarName</code>·are
167 the·same·as·the·arguments·to·<a·href="ct.html#require/1"><code·class="inline">ct:require/1,2</code></a>.·<code·class="inline">AliasName</code>167 the·same·as·the·arguments·to·<a·href="ct.html#require/1"><code·class="inline">ct:require/1,2</code></a>.·<code·class="inline">AliasName</code>
168 becomes·an·alias·for·the·configuration·variable,·and·can·be·used·as·reference·to168 becomes·an·alias·for·the·configuration·variable,·and·can·be·used·as·reference·to
169 the·configuration·data·value.·The·configuration·variable·can·be·associated·with169 the·configuration·data·value.·The·configuration·variable·can·be·associated·with
170 any·number·of·alias·names,·but·each·name·must·be·unique·within·the·same·test170 any·number·of·alias·names,·but·each·name·must·be·unique·within·the·same·test
171 suite.·The·two·main·uses·for·alias·names·follows:</p><ul><li>To·identify·connections·(described·later).</li><li>To·help·adapt·configuration·data·to·a·test·suite·(or·test·case)·and·improve171 suite.·The·two·main·uses·for·alias·names·follows:</p><ul><li>To·identify·connections·(described·later).</li><li>To·help·adapt·configuration·data·to·a·test·suite·(or·test·case)·and·improve
172 readability.</li></ul><p>To·read·the·value·of·a·configuration·variable,·use·function172 readability.</li></ul><p>To·read·the·value·of·a·configuration·variable,·use·function
173 <a·href="ct.html#get_config/1"><code·class="inline">get_config/1,2,3</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="4498329664-1">(</span><span·class="p"·data-group-id="4498329664-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">173 <a·href="ct.html#get_config/1"><code·class="inline">get_config/1,2,3</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="3854517112-1">(</span><span·class="p"·data-group-id="3854517112-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ····</span><span·class="p"·data-group-id="4498329664-2">[</span><span·class="p"·data-group-id="4498329664-3">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">domain</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;CO[·...·truncated·by·diffoscope;·len:·124,·SHA:·00074a1a8da787d4202e286bb54b56ff485d927ab1afeb8ac9601b52366ada73·...·]-2">]</span><span·class="p">.</span><span·class="w">174 ····</span><span·class="p"·data-group-id="3854517112-2">[</span><span·class="p"·data-group-id="3854517112-3">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">domain</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;CO[·...·truncated·by·diffoscope;·len:·124,·SHA:·4f7a6662e2fc9a46fa062a43ab7b7994b14199c0a7e3fac70d8c65883a52bdca·...·]-2">]</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">175 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
  
176 </span><span·class="nf">testcase</span><span·class="p"·data-group-id="4498329664-4">(</span><span·class="n">Config</span><span·class="p"·data-group-id="4498329664-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 </span><span·class="nf">testcase</span><span·class="p"·data-group-id="3854517112-4">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3854517112-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ····</span><span·class="n">Domain</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="4498329664-5">(</span><span·class="ss">domain</span><span·class="p"·data-group-id="4498329664-5">)</span><span·class="p">,</span><span·class="w">177 ····</span><span·class="n">Domain</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="3854517112-5">(</span><span·class="ss">domain</span><span·class="p"·data-group-id="3854517112-5">)</span><span·class="p">,</span><span·class="w">
178 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><h2·id="using-configuration-variables-defined-in-multiple-files"·class="section-heading">178 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><h2·id="using-configuration-variables-defined-in-multiple-files"·class="section-heading">
179 ··<a·href="#using-configuration-variables-defined-in-multiple-files"·class="hover-link">179 ··<a·href="#using-configuration-variables-defined-in-multiple-files"·class="hover-link">
180 ····<i·class="ri-link-m"·aria-hidden="true"></i>180 ····<i·class="ri-link-m"·aria-hidden="true"></i>
181 ··</a>181 ··</a>
182 ··<span·class="text">Using·Configuration·Variables·Defined·in·Multiple·Files</span>182 ··<span·class="text">Using·Configuration·Variables·Defined·in·Multiple·Files</span>
183 </h2>183 </h2>
184 <p>If·a·configuration·variable·is·defined·in·multiple·files·and·you·want·to·access184 <p>If·a·configuration·variable·is·defined·in·multiple·files·and·you·want·to·access
Offset 257, 19 lines modifiedOffset 257, 19 lines modified
257 ···&lt;ftp_host&gt;257 ···&lt;ftp_host&gt;
258 ·······&lt;ftp&gt;&quot;targethost&quot;&lt;/ftp&gt;258 ·······&lt;ftp&gt;&quot;targethost&quot;&lt;/ftp&gt;
259 ·······&lt;username&gt;&quot;tester&quot;&lt;/username&gt;259 ·······&lt;username&gt;&quot;tester&quot;&lt;/username&gt;
260 ·······&lt;password&gt;&quot;letmein&quot;&lt;/password&gt;260 ·······&lt;password&gt;&quot;letmein&quot;&lt;/password&gt;
261 ···&lt;/ftp_host&gt;261 ···&lt;/ftp_host&gt;
262 ···&lt;lm_directory&gt;&quot;/test/loadmodules&quot;&lt;/lm_directory&gt;262 ···&lt;lm_directory&gt;&quot;/test/loadmodules&quot;&lt;/lm_directory&gt;
263 &lt;/config&gt;</code></pre><p>Once·read,·this·file·produces·the·same·configuration·variables·as·the·following263 &lt;/config&gt;</code></pre><p>Once·read,·this·file·produces·the·same·configuration·variables·as·the·following
264 text·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6288033723-1">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6288033723-2">[</span><span·class="p"·data-group-id="6288033723-3">{</span><span·class="ss">ftp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·89,·SHA:·cb42c44862995432fcc6902f1589c1f9e3ea9bccc541535645c58ab7ee135933·...·]-3">}</span><span·class="p">,</span><span·class="w">264 text·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5713412521-1">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5713412521-2">[</span><span·class="p"·data-group-id="5713412521-3">{</span><span·class="ss">ftp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·89,·SHA:·00c1ee7290ad703ae95feb1e45c3602d1e3cb76c0157bfbeac63e3bcaf352625·...·]-3">}</span><span·class="p">,</span><span·class="w">
265 ············</span><span·class="p"·data-group-id="6288033723-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="s">&quot;tester&quot;</span><span·class="p"·data-group-id="6288033723-4">}</span><span·class="p">,</span><span·class="w">265 ············</span><span·class="p"·data-group-id="5713412521-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="s">&quot;tester&quot;</span><span·class="p"·data-group-id="5713412521-4">}</span><span·class="p">,</span><span·class="w">
266 ············</span><span·class="p"·data-group-id="6288033723-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="s">&quot;letmein&quot;</span><span·class="p"·data-group-id="6288033723-5">}</span><span·class="p"·data-group-id="6288033723-2">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·58bcb37efb9b9c1cab1a18b434ff1a3908bf5d2627433725a51833195e05a564·...·]-1">}</span><span·class="p">.</span><span·class="w">266 ············</span><span·class="p"·data-group-id="5713412521-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="s">&quot;letmein&quot;</span><span·class="p"·data-group-id="5713412521-5">}</span><span·class="p"·data-group-id="5713412521-2">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·a7cf1acf27c4476848e8e96c25d70585feeefc8743d8291b81194ce3b27649c6·...·]-1">}</span><span·class="p">.</span><span·class="w">
  
267 </span><span·class="p"·data-group-id="6288033723-6">{</span><span·class="ss">lm_directory</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/test/loadmodules&quot;</span><span·class="p"·data-group-id="6288033723-6">}</span><span·class="p">.</span></code></pre><h3·id="implement-a-user-specific-handler"·class="section-heading">267 </span><span·class="p"·data-group-id="5713412521-6">{</span><span·class="ss">lm_directory</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/test/loadmodules&quot;</span><span·class="p"·data-group-id="5713412521-6">}</span><span·class="p">.</span></code></pre><h3·id="implement-a-user-specific-handler"·class="section-heading">
268 ··<a·href="#implement-a-user-specific-handler"·class="hover-link">268 ··<a·href="#implement-a-user-specific-handler"·class="hover-link">
269 ····<i·class="ri-link-m"·aria-hidden="true"></i>269 ····<i·class="ri-link-m"·aria-hidden="true"></i>
270 ··</a>270 ··</a>
271 ··<span·class="text">Implement·a·User-Specific·Handler</span>271 ··<span·class="text">Implement·a·User-Specific·Handler</span>
272 </h3>272 </h3>
273 <p>The·user-specific·handler·can·be·written·to·handle·special·configuration·file273 <p>The·user-specific·handler·can·be·written·to·handle·special·configuration·file
274 formats.·The·parameter·can·be·either·file·names·or·configuration·strings·(the274 formats.·The·parameter·can·be·either·file·names·or·configuration·strings·(the
Offset 280, 150 lines modifiedOffset 280, 150 lines modified
280 specified·configuration·parameter·is·valid:</p><ul><li><code·class="inline">{ok,·{file,·FileName}}</code>·-·the·parameter·is·a·file·name·and·the·file·exists.</li><li><code·class="inline">{ok,·{config,·ConfigString}}</code>·-·the·parameter·is·a·configuration·string·and280 specified·configuration·parameter·is·valid:</p><ul><li><code·class="inline">{ok,·{file,·FileName}}</code>·-·the·parameter·is·a·file·name·and·the·file·exists.</li><li><code·class="inline">{ok,·{config,·ConfigString}}</code>·-·the·parameter·is·a·configuration·string·and
281 it·is·correct.</li><li><code·class="inline">{error,·{nofile,·FileName}}</code>·-·there·is·no·file·with·the·specified·name·in281 it·is·correct.</li><li><code·class="inline">{error,·{nofile,·FileName}}</code>·-·there·is·no·file·with·the·specified·name·in
282 the·current·directory.</li><li><code·class="inline">{error,·{wrong_config,·ConfigString}}</code>·-·the·configuration·string·is·wrong.</li></ul><p>The·function·<code·class="inline">Callback:read_config/1</code>·is·to·be·exported·from·the·callback·module282 the·current·directory.</li><li><code·class="inline">{error,·{wrong_config,·ConfigString}}</code>·-·the·configuration·string·is·wrong.</li></ul><p>The·function·<code·class="inline">Callback:read_config/1</code>·is·to·be·exported·from·the·callback·module
283 to·read·configuration·data,·initially·before·the·tests·start,·or·as·a·result·of283 to·read·configuration·data,·initially·before·the·tests·start,·or·as·a·result·of
284 data·being·reloaded·during·test·execution.·The·input·argument·is·the·same·as·for284 data·being·reloaded·during·test·execution.·The·input·argument·is·the·same·as·for
285 function·<code·class="inline">check_parameter/1</code>.</p><p>The·return·value·is·to·be·either·of·the·following:</p><ul><li><code·class="inline">{ok,·Config}</code>·-·if·the·configuration·variables·are·read·successfully.</li><li><code·class="inline">{error,·{Error,·ErrorDetails}}</code>·-·if·the·callback·module·fails·to·proceed285 function·<code·class="inline">check_parameter/1</code>.</p><p>The·return·value·is·to·be·either·of·the·following:</p><ul><li><code·class="inline">{ok,·Config}</code>·-·if·the·configuration·variables·are·read·successfully.</li><li><code·class="inline">{error,·{Error,·ErrorDetails}}</code>·-·if·the·callback·module·fails·to·proceed
286 with·the·specified·configuration·parameters.</li></ul><p><code·class="inline">Config</code>·is·the·proper·Erlang·key-value·list,·with·possible·key-value·sublists286 with·the·specified·configuration·parameters.</li></ul><p><code·class="inline">Config</code>·is·the·proper·Erlang·key-value·list,·with·possible·key-value·sublists
287 as·values,·like·the·earlier·configuration·file·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4419064670-1">[</span><span·class="p"·data-group-id="4419064670-2">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4419064670-3">[</span><span·class="p"·data-group-id="4419064670-4">{</[·...·truncated·by·diffoscope;·len:·823,·SHA:·83207f9d96add9eccdc3b4fb8899d371e7b8d20f5f982a3ef968373231c7d9ba·...·]-2">}</span><span·class="p">,</span><span·class="w">287 as·values,·like·the·earlier·configuration·file·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0368299667-1">[</span><span·class="p"·data-group-id="0368299667-2">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0368299667-3">[</span><span·class="p"·data-group-id="0368299667-4">{</[·...·truncated·by·diffoscope;·len:·823,·SHA:·b3f7f67845025be03d482a339b1c09c0021248d00c6ba1888a3da20064e38f73·...·]-2">}</span><span·class="p">,</span><span·class="w">
288 ·</span><span·class="p"·data-group-id="4419064670-7">{</span><span·class="ss">lm_directory</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/test/loadmodules&quot;</span><span·class="p"·data-group-id="4419064670-7">}</span><span·class="p"·data-group-id="4419064670-1">]</span></code></pre><h2·id="examples-of-configuration-data-handling"·class="section-heading">288 ·</span><span·class="p"·data-group-id="0368299667-7">{</span><span·class="ss">lm_directory</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/test/loadmodules&quot;</span><span·class="p"·data-group-id="0368299667-7">}</span><span·class="p"·data-group-id="0368299667-1">]</span></code></pre><h2·id="examples-of-configuration-data-handling"·class="section-heading">
289 ··<a·href="#examples-of-configuration-data-handling"·class="hover-link">289 ··<a·href="#examples-of-configuration-data-handling"·class="hover-link">
290 ····<i·class="ri-link-m"·aria-hidden="true"></i>290 ····<i·class="ri-link-m"·aria-hidden="true"></i>
291 ··</a>291 ··</a>
292 ··<span·class="text">Examples·of·Configuration·Data·Handling</span>292 ··<span·class="text">Examples·of·Configuration·Data·Handling</span>
293 </h2>293 </h2>
294 <p>A·configuration·file·for·using·the·FTP·client·to·access·files·on·a·remote·host294 <p>A·configuration·file·for·using·the·FTP·client·to·access·files·on·a·remote·host
295 can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6763299588-1">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6763299588-2">[</span><span·class="p"·data-group-id="6763299588-3">{</span><span·class="ss">ftp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·89,·SHA:·70007ee6dafce254ccaf6d27d44521bca6c1098e12bc00cd40ead3badccb0f13·...·]-3">}</span><span·class="p">,</span><span·class="w">295 can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2400710813-1">{</span><span·class="ss">ftp_host</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2400710813-2">[</span><span·class="p"·data-group-id="2400710813-3">{</span><span·class="ss">ftp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·89,·SHA:·689fe7c2a1720b6104dd61c163a3e5f2445543ead0e2584991fa06e5a799c1b2·...·]-3">}</span><span·class="p">,</span><span·class="w">
296 ············</span><span·class="p"·data-group-id="6763299588-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="s">&quot;tester&quot;</span><span·class="p"·data-group-id="6763299588-4">}</span><span·class="p">,</span><span·class="w">296 ············</span><span·class="p"·data-group-id="2400710813-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="s">&quot;tester&quot;</span><span·class="p"·data-group-id="2400710813-4">}</span><span·class="p">,</span><span·class="w">
297 ············</span><span·class="p"·data-group-id="6763299588-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="s">&quot;letmein&quot;</span><span·class="p"·data-group-id="6763299588-5">}</span><span·class="p"·data-group-id="6763299588-2">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·8f4c2de77f8f6428384d0701a28a65d304ef0f96eea2cb534bacc367d6116d72·...·]-1">}</span><span·class="p">.</span><span·class="w">297 ············</span><span·class="p"·data-group-id="2400710813-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="s">&quot;letmein&quot;</span><span·class="p"·data-group-id="2400710813-5">}</span><span·class="p"·data-group-id="2400710813-2">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·7a35c15874d66cceefa188f166e9703fb2dfd9d3c62744fa568ff12609097540·...·]-1">}</span><span·class="p">.</span><span·class="w">
  
298 </span><span·class="p"·data-group-id="6763299588-6">{</span><span·class="ss">lm_directory</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/test/loadmodules&quot;</span><span·class="p"·data-group-id="6763299588-6">}</span><span·class="p">.</span></code></pre><p>The·XML·version·shown·earlier·can·also·be·used,·but·it·is·to·be·explicitly298 </span><span·class="p"·data-group-id="2400710813-6">{</span><span·class="ss">lm_directory</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/test/loadmodules&quot;</span><span·class="p"·data-group-id="2400710813-6">}</span><span·class="p">.</span></code></pre><p>The·XML·version·shown·earlier·can·also·be·used,·but·it·is·to·be·explicitly
299 specified·that·the·<code·class="inline">ct_config_xml</code>·callback·module·is·to·be·used·by299 specified·that·the·<code·class="inline">ct_config_xml</code>·callback·module·is·to·be·used·by
300 <code·class="inline">Common·Test</code>.</p><p>The·following·is·an·example·of·how·to·assert·that·the·configuration·data·is300 <code·class="inline">Common·Test</code>.</p><p>The·following·is·an·example·of·how·to·assert·that·the·configuration·data·is
301 available·and·can·be·used·for·an·FTP·session:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="6474152015-1">(</span><span·class="ss">ftptest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="6474152015-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">301 available·and·can·be·used·for·an·FTP·session:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="8820790334-1">(</span><span·class="ss">ftptest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="8820790334-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
302 ····</span><span·class="p"·data-group-id="6474152015-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="6474152015-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct_ftp</span><span[·...·truncated·by·diffoscope;·len:·168,·SHA:·bc67e148ad1012f15bedfd02d2d18952d2900647226ad29928528013a7a71266·...·]-3">)</span><span·class="p">,</span><span·class="w">302 ····</span><span·class="p"·data-group-id="8820790334-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="8820790334-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct_ftp</span><span[·...·truncated·by·diffoscope;·len:·168,·SHA:·4595eabfb171f46f865117345efe0917cfccd060a486a139abd16f38003a7668·...·]-3">)</span><span·class="p">,</span><span·class="w">
303 ····</span><span·class="n">Config</span><span·class="p">.</span><span·class="w">303 ····</span><span·class="n">Config</span><span·class="p">.</span><span·class="w">
  
304 </span><span·class="nf">end_per_testcase</span><span·class="p"·data-group-id="6474152015-4">(</span><span·class="ss">ftptest</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Config</span><span·class="p"·data-group-id="6474152015-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">304 </span><span·class="nf">end_per_testcase</span><span·class="p"·data-group-id="8820790334-4">(</span><span·class="ss">ftptest</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Config</span><span·class="p"·data-group-id="8820790334-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
305 ····</span><span·class="nc">ct_ftp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="6474152015-5">(</span><span·class="ss">ftp</span><span·class="p"·data-group-id="6474152015-5">)</span><span·class="p">.</span><span·class="w">305 ····</span><span·class="nc">ct_ftp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="8820790334-5">(</span><span·class="ss">ftp</span><span·class="p"·data-group-id="8820790334-5">)</span><span·class="p">.</span><span·class="w">
  
306 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="6474152015-6">(</span><span·class="p"·data-group-id="6474152015-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">306 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="8820790334-6">(</span><span·class="p"·data-group-id="8820790334-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
307 ····</span><span·class="p"·data-group-id="6474152015-7">[</span><span·class="p"·data-group-id="6474152015-8">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="ss">ftp_host</span><span·class="p"·data-group-id="6474152015-8">}</span><span·class="p">,</span><span·class="w">307 ····</span><span·class="p"·data-group-id="8820790334-7">[</span><span·class="p"·data-group-id="8820790334-8">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="ss">ftp_host</span><span·class="p"·data-group-id="8820790334-8">}</span><span·class="p">,</span><span·class="w">
308 ·····</span><span·class="p"·data-group-id="6474152015-9">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="6474152015-9">}</span><span·class="p"·data-group-id="6474152015-7">]</span><span·class="p">.</span><span·class="w">308 ·····</span><span·class="p"·data-group-id="8820790334-9">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="8820790334-9">}</span><span·class="p"·data-group-id="8820790334-7">]</span><span·class="p">.</span><span·class="w">
  
309 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="6474152015-10">(</span><span·class="n">Config</span><span·class="p"·data-group-id="6474152015-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">309 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="8820790334-10">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8820790334-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
310 ····</span><span·class="n">Remote</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="6474152015-11">(</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="6474152015-12">(</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="6474152015-12">)</span><span[·...·truncated·by·diffoscope;·len:·127,·SHA:·b1c2192b649a072f396210742fc1faa6a685384210685078d6ced5609401910e·...·]-11">)</span><span·class="p">,</span><span·class="w">310 ····</span><span·class="n">Remote</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="8820790334-11">(</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="8820790334-12">(</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="8820790334-12">)</span><span[·...·truncated·by·diffoscope;·len:·127,·SHA:·4b7e590634563a7b8047c71e48f8d947fa6c06a399c07d39dc0c78caebba4159·...·]-11">)</span><span·class="p">,</span><span·class="w">
311 ····</span><span·class="n">Local</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="6474152015-13">(</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="6474152015-14">(</span><span·class="ss">priv_dir</span><span·class="p">,</span><span·class="n">Config</span><spa[·...·truncated·by·diffoscope;·len:·184,·SHA:·700ed000709a8fee5697519884496829db63e89e36e9559ab693bd40e3272f13·...·]-13">)</span><span·class="p">,</span><span·class="w">311 ····</span><span·class="n">Local</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="8820790334-13">(</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="8820790334-14">(</span><span·class="ss">priv_dir</span><span·class="p">,</span><span·class="n">Config</span><spa[·...·truncated·by·diffoscope;·len:·184,·SHA:·dbc94896ca143e7bd42abf244feccc59f24043b54e6fc62586b93866564183ca·...·]-13">)</span><span·class="p">,</span><span·class="w">
312 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct_ftp</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="6474152015-15">(</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Remote</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Local</span><span·class="p"·data-group-id="6474152015-15">)</span><span·class="p">,</span><span·class="w">312 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct_ftp</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="8820790334-15">(</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Remote</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Local</span><span·class="p"·data-group-id="8820790334-15">)</span><span·class="p">,</span><span·class="w">
313 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>The·following·is·an·example·of·how·the·functions·in·the·previous·example·can·be313 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>The·following·is·an·example·of·how·the·functions·in·the·previous·example·can·be
314 rewritten·if·it·is·necessary·to·open·multiple·connections·to·the·FTP·server:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="6599366100-1">(</span><span·class="ss">ftptest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="6599366100-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">314 rewritten·if·it·is·necessary·to·open·multiple·connections·to·the·FTP·server:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="2079129037-1">(</span><span·class="ss">ftptest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="2079129037-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
315 ····</span><span·class="p"·data-group-id="6599366100-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle1</span><span·class="p"·data-group-id="6599366100-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct_ftp</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·31c091d403eb1472f3f701274b9d7a2f21500063a35278b9f4106e20667a5bc1·...·]-3">)</span><span·class="p">,</span><span·class="w">315 ····</span><span·class="p"·data-group-id="2079129037-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle1</span><span·class="p"·data-group-id="2079129037-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct_ftp</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·f3ae4acf204421cab90b93f3037af91eeb40d7e4fe4eadbb40391f76a9390aa5·...·]-3">)</span><span·class="p">,</span><span·class="w">
316 ····</span><span·class="p"·data-group-id="6599366100-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle2</span><span·class="p"·data-group-id="6599366100-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct_ftp</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·077e03d14f360939dfde70fe93ddf367d809e93d37335f170dba3a3b6558fe8c·...·]-5">)</span><span·class="p">,</span><span·class="w">316 ····</span><span·class="p"·data-group-id="2079129037-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle2</span><span·class="p"·data-group-id="2079129037-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct_ftp</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·038c87e9cd30703404361aa5ad41f7b3a7463a419fafb3d3f3894c5c6dde9500·...·]-5">)</span><span·class="p">,</span><span·class="w">
317 ····</span><span·class="p"·data-group-id="6599366100-6">[</span><span·class="p"·data-group-id="6599366100-7">{</span><span·class="ss">ftp_handles</span><span·class="p">,</span><span·class="p"·data-group-id="6599366100-8">[</span><span·class="n">Handle1</span><span·class="p">,</span><span·class="n"[·...·truncated·by·diffoscope;·len:·263,·SHA:·6b604b5d3bb004f3fd4acb99d82ba859c2d630081ef68660a0f124444ab34ece·...·]-6">]</span><span·class="p">.</span><span·class="w">317 ····</span><span·class="p"·data-group-id="2079129037-6">[</span><span·class="p"·data-group-id="2079129037-7">{</span><span·class="ss">ftp_handles</span><span·class="p">,</span><span·class="p"·data-group-id="2079129037-8">[</span><span·class="n">Handle1</span><span·class="p">,</span><span·class="n"[·...·truncated·by·diffoscope;·len:·263,·SHA:·1da93bc43809b0803d9472bc255c2e53add097c3341a5759762817fe3e94eab9·...·]-6">]</span><span·class="p">.</span><span·class="w">
  
318 </span><span·class="nf">end_per_testcase</span><span·class="p"·data-group-id="6599366100-9">(</span><span·class="ss">ftptest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="6599366100-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">318 </span><span·class="nf">end_per_testcase</span><span·class="p"·data-group-id="2079129037-9">(</span><span·class="ss">ftptest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="2079129037-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
319 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foreach</span><span·class="p"·data-group-id="6599366100-10">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6599366100-11">(</span><span·class="n">Handle</span><span·class="p"·data-group-id="6599366100-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·214,·SHA:·a661917331986799dbe67e9b17f0a87ef702259904be10ae8fc4169828813ccd·...·]-12">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">319 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foreach</span><span·class="p"·data-group-id="2079129037-10">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2079129037-11">(</span><span·class="n">Handle</span><span·class="p"·data-group-id="2079129037-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·214,·SHA:·f9f94c0c957fd716baeb8109d34d76dbbdd94b2704c7ac835560db78a2b6106a·...·]-12">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
320 ··················</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="6599366100-13">(</span><span·class="ss">ftp_handles</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="6599366100-13">)</span><span·class="p"·data-group-id="6599366100-10">)</span><span·class="p">.</span><span·class="w">320 ··················</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="2079129037-13">(</span><span·class="ss">ftp_handles</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="2079129037-13">)</span><span·class="p"·data-group-id="2079129037-10">)</span><span·class="p">.</span><span·class="w">
  
321 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="6599366100-14">(</span><span·class="p"·data-group-id="6599366100-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">321 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="2079129037-14">(</span><span·class="p"·data-group-id="2079129037-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
322 ····</span><span·class="p"·data-group-id="6599366100-15">[</span><span·class="p"·data-group-id="6599366100-16">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">ftp_host</span><span·class="p"·data-group-id="6599366100-16">}</span><span·class="p">,</span><span·class="w">322 ····</span><span·class="p"·data-group-id="2079129037-15">[</span><span·class="p"·data-group-id="2079129037-16">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">ftp_host</span><span·class="p"·data-group-id="2079129037-16">}</span><span·class="p">,</span><span·class="w">
323 ·····</span><span·class="p"·data-group-id="6599366100-17">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="6599366100-17">}</span><span·class="p"·data-group-id="6599366100-15">]</span><span·class="p">.</span><span·class="w">323 ·····</span><span·class="p"·data-group-id="2079129037-17">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="2079129037-17">}</span><span·class="p"·data-group-id="2079129037-15">]</span><span·class="p">.</span><span·class="w">
  
324 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="6599366100-18">(</span><span·class="n">Config</span><span·class="p"·data-group-id="6599366100-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">324 </span><span·class="nf">ftptest</span><span·class="p"·data-group-id="2079129037-18">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2079129037-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
325 ····</span><span·class="n">Remote</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="6599366100-19">(</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="6599366100-20">(</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="6599366100-20">)</span><span[·...·truncated·by·diffoscope;·len:·127,·SHA:·71882f93080925285ff14ef0b7d04c68ee4a04df65bbbb79ee97cc2ff6c85df5·...·]-19">)</span><span·class="p">,</span><span·class="w">325 ····</span><span·class="n">Remote</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="2079129037-19">(</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="2079129037-20">(</span><span·class="ss">lm_directory</span><span·class="p"·data-group-id="2079129037-20">)</span><span[·...·truncated·by·diffoscope;·len:·127,·SHA:·90cd4af0c93adf30ffd629a28aadbce2179b83d9f626b4479f931a6b852c6a3a·...·]-19">)</span><span·class="p">,</span><span·class="w">
326 ····</span><span·class="n">Local</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="6599366100-21">(</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="6599366100-22">(</span><span·class="ss">priv_dir</span><span·class="p">,</span><span·class="n">Config</span><spa[·...·truncated·by·diffoscope;·len:·184,·SHA:·8b86f231a49fe0ee45d386aeb753b0ca18a145dd516c1ab562be25206b89f730·...·]-21">)</span><span·class="p">,</span><span·class="w">326 ····</span><span·class="n">Local</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="2079129037-21">(</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="2079129037-22">(</span><span·class="ss">priv_dir</span><span·class="p">,</span><span·class="n">Config</span><spa[·...·truncated·by·diffoscope;·len:·184,·SHA:·ffe898e5f93652c0857485bd931de34eb0ccb4a2636e258080aafb85a0711a24·...·]-21">)</span><span·class="p">,</span><span·class="w">
327 ····</span><span·class="p"·data-group-id="6599366100-23">[</span><span·class="n">Handle</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">MoreHandles</span><span·class="p"·data-group-id="6599366100-23">]</span><span·class="w">·</span><span·class="o">=</s[·...·truncated·by·diffoscope;·len:·301,·SHA:·c46efab309f32d8d856ea2c406290d7a42d4dfdd2fe4a0458d96ded897366e12·...·]-24">)</span><span·class="p">,</span><span·class="w">327 ····</span><span·class="p"·data-group-id="2079129037-23">[</span><span·class="n">Handle</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">MoreHandles</span><span·class="p"·data-group-id="2079129037-23">]</span><span·class="w">·</span><span·class="o">=</s[·...·truncated·by·diffoscope;·len:·301,·SHA:·26749a59b4a68c41e8e755dcfc1a2a66532c5782f27ef8809dedadb414cc2c78·...·]-24">)</span><span·class="p">,</span><span·class="w">
328 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct_ftp</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="6599366100-25">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Remote</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Local</span><span·class="p"·data-group-id="6599366100-25">)</span><span·class="p">,</span><span·class="w">328 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct_ftp</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="2079129037-25">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Remote</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Local</span><span·class="p"·data-group-id="2079129037-25">)</span><span·class="p">,</span><span·class="w">
329 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><h2·id="example-of-user-specific-configuration-handler"·class="section-heading">329 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><h2·id="example-of-user-specific-configuration-handler"·class="section-heading">
330 ··<a·href="#example-of-user-specific-configuration-handler"·class="hover-link">330 ··<a·href="#example-of-user-specific-configuration-handler"·class="hover-link">
331 ····<i·class="ri-link-m"·aria-hidden="true"></i>331 ····<i·class="ri-link-m"·aria-hidden="true"></i>
332 ··</a>332 ··</a>
333 ··<span·class="text">Example·of·User-Specific·Configuration·Handler</span>333 ··<span·class="text">Example·of·User-Specific·Configuration·Handler</span>
334 </h2>334 </h2>
335 <p>A·simple·configuration·handling·driver,·asking·an·external·server·for335 <p>A·simple·configuration·handling·driver,·asking·an·external·server·for
336 configuration·data,·can·be·implemented·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0282533753-1">(</span><span·class="ss">config_driver</span><span·class="p"·data-group-id="0282533753-1">)</span><span·class="p">.</span><span·class="w">336 configuration·data,·can·be·implemented·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8351647067-1">(</span><span·class="ss">config_driver</span><span·class="p"·data-group-id="8351647067-1">)</span><span·class="p">.</span><span·class="w">
337 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0282533753-2">(</span><span·class="p"·data-group-id="0282533753-3">[</span><span·class="ss">read_config</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">check_parameter</span><span·clas[·...·truncated·by·diffoscope;·len:·133,·SHA:·5c30706e4e0f1dd6120d70af9439ba1ec37b0f97c3e1f2fe403a6889ed8f13b6·...·]-2">)</span><span·class="p">.</span><span·class="w">337 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8351647067-2">(</span><span·class="p"·data-group-id="8351647067-3">[</span><span·class="ss">read_config</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">check_parameter</span><span·clas[·...·truncated·by·diffoscope;·len:·133,·SHA:·e4405bf45e35a20179025eb8794a6e114b271b1eb0849238947325d92dd3df2e·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
338 </span><span·class="nf">read_config</span><span·class="p"·data-group-id="0282533753-4">(</span><span·class="n">ServerName</span><span·class="p"·data-group-id="0282533753-4">)</span><span·class="p">-&gt;</span><span·class="w">338 </span><span·class="nf">read_config</span><span·class="p"·data-group-id="8351647067-4">(</span><span·class="n">ServerName</span><span·class="p"·data-group-id="8351647067-4">)</span><span·class="p">-&gt;</span><span·class="w">
339 ····</span><span·class="n">ServerModule</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">list_to_atom</span><span·class="p"·data-group-id="0282533753-5">(</span><span·class="n">ServerName</span><span·class="p"·data-group-id="0282533753-5">)</span><span·class="p">,</span><span·class="w">339 ····</span><span·class="n">ServerModule</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">list_to_atom</span><span·class="p"·data-group-id="8351647067-5">(</span><span·class="n">ServerName</span><span·class="p"·data-group-id="8351647067-5">)</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 31000/82633 bytes (37.52%) of diff not shown.
910 B
html2text {}
Max HTML report size reached
17.0 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/cover_chapter.html
    
Offset 197, 67 lines modifiedOffset 197, 67 lines modified
197 ····<i·class="ri-link-m"·aria-hidden="true"></i>197 ····<i·class="ri-link-m"·aria-hidden="true"></i>
198 ··</a>198 ··</a>
199 ··<span·class="text">General·Config</span>199 ··<span·class="text">General·Config</span>
200 </h3>200 </h3>
201 <p>Here·follows·the·general·configuration·terms·that·are·allowed·in·a·cover201 <p>Here·follows·the·general·configuration·terms·that·are·allowed·in·a·cover
202 specification·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·List·of·Nodes·on·which·cover·will·be·active·during·test.</span><span·class="w">202 specification·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·List·of·Nodes·on·which·cover·will·be·active·during·test.</span><span·class="w">
203 </span><span·class="c1">%%·Nodes·=·[atom()]</span><span·class="w">203 </span><span·class="c1">%%·Nodes·=·[atom()]</span><span·class="w">
204 </span><span·class="p"·data-group-id="3576055438-1">{</span><span·class="nb">nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Nodes</span><span·class="p"·data-group-id="3576055438-1">}</span><span·class="p">.</span><span·class="w">204 </span><span·class="p"·data-group-id="1970070632-1">{</span><span·class="nb">nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Nodes</span><span·class="p"·data-group-id="1970070632-1">}</span><span·class="p">.</span><span·class="w">
  
205 </span><span·class="c1">%%·Files·with·previously·exported·cover·data·to·include·in·analysis.</span><span·class="w">205 </span><span·class="c1">%%·Files·with·previously·exported·cover·data·to·include·in·analysis.</span><span·class="w">
206 </span><span·class="c1">%%·CoverDataFiles·=·[string()]</span><span·class="w">206 </span><span·class="c1">%%·CoverDataFiles·=·[string()]</span><span·class="w">
207 </span><span·class="p"·data-group-id="3576055438-2">{</span><span·class="ss">import</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CoverDataFiles</span><span·class="p"·data-group-id="3576055438-2">}</span><span·class="p">.</span><span·class="w">207 </span><span·class="p"·data-group-id="1970070632-2">{</span><span·class="ss">import</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CoverDataFiles</span><span·class="p"·data-group-id="1970070632-2">}</span><span·class="p">.</span><span·class="w">
  
208 </span><span·class="c1">%%·Cover·data·file·to·export·from·this·session.</span><span·class="w">208 </span><span·class="c1">%%·Cover·data·file·to·export·from·this·session.</span><span·class="w">
209 </span><span·class="c1">%%·CoverDataFile·=·string()</span><span·class="w">209 </span><span·class="c1">%%·CoverDataFile·=·string()</span><span·class="w">
210 </span><span·class="p"·data-group-id="3576055438-3">{</span><span·class="ss">export</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CoverDataFile</span><span·class="p"·data-group-id="3576055438-3">}</span><span·class="p">.</span><span·class="w">210 </span><span·class="p"·data-group-id="1970070632-3">{</span><span·class="ss">export</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CoverDataFile</span><span·class="p"·data-group-id="1970070632-3">}</span><span·class="p">.</span><span·class="w">
  
211 </span><span·class="c1">%%·Cover·analysis·level.</span><span·class="w">211 </span><span·class="c1">%%·Cover·analysis·level.</span><span·class="w">
212 </span><span·class="c1">%%·Level·=·details·|·overview</span><span·class="w">212 </span><span·class="c1">%%·Level·=·details·|·overview</span><span·class="w">
213 </span><span·class="p"·data-group-id="3576055438-4">{</span><span·class="ss">level</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Level</span><span·class="p"·data-group-id="3576055438-4">}</span><span·class="p">.</span><span·class="w">213 </span><span·class="p"·data-group-id="1970070632-4">{</span><span·class="ss">level</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Level</span><span·class="p"·data-group-id="1970070632-4">}</span><span·class="p">.</span><span·class="w">
  
214 </span><span·class="c1">%%·Directories·to·include·in·cover.</span><span·class="w">214 </span><span·class="c1">%%·Directories·to·include·in·cover.</span><span·class="w">
215 </span><span·class="c1">%%·Dirs·=·[string()]</span><span·class="w">215 </span><span·class="c1">%%·Dirs·=·[string()]</span><span·class="w">
216 </span><span·class="p"·data-group-id="3576055438-5">{</span><span·class="ss">incl_dirs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dirs</span><span·class="p"·data-group-id="3576055438-5">}</span><span·class="p">.</span><span·class="w">216 </span><span·class="p"·data-group-id="1970070632-5">{</span><span·class="ss">incl_dirs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dirs</span><span·class="p"·data-group-id="1970070632-5">}</span><span·class="p">.</span><span·class="w">
  
217 </span><span·class="c1">%%·Directories,·including·subdirectories,·to·include.</span><span·class="w">217 </span><span·class="c1">%%·Directories,·including·subdirectories,·to·include.</span><span·class="w">
218 </span><span·class="p"·data-group-id="3576055438-6">{</span><span·class="ss">incl_dirs_r</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dirs</span><span·class="p"·data-group-id="3576055438-6">}</span><span·class="p">.</span><span·class="w">218 </span><span·class="p"·data-group-id="1970070632-6">{</span><span·class="ss">incl_dirs_r</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dirs</span><span·class="p"·data-group-id="1970070632-6">}</span><span·class="p">.</span><span·class="w">
  
219 </span><span·class="c1">%%·Specific·modules·to·include·in·cover.</span><span·class="w">219 </span><span·class="c1">%%·Specific·modules·to·include·in·cover.</span><span·class="w">
220 </span><span·class="c1">%%·Mods·=·[atom()]</span><span·class="w">220 </span><span·class="c1">%%·Mods·=·[atom()]</span><span·class="w">
221 </span><span·class="p"·data-group-id="3576055438-7">{</span><span·class="ss">incl_mods</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mods</span><span·class="p"·data-group-id="3576055438-7">}</span><span·class="p">.</span><span·class="w">221 </span><span·class="p"·data-group-id="1970070632-7">{</span><span·class="ss">incl_mods</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mods</span><span·class="p"·data-group-id="1970070632-7">}</span><span·class="p">.</span><span·class="w">
  
222 </span><span·class="c1">%%·Directories·to·exclude·in·cover.</span><span·class="w">222 </span><span·class="c1">%%·Directories·to·exclude·in·cover.</span><span·class="w">
223 </span><span·class="p"·data-group-id="3576055438-8">{</span><span·class="ss">excl_dirs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dirs</span><span·class="p"·data-group-id="3576055438-8">}</span><span·class="p">.</span><span·class="w">223 </span><span·class="p"·data-group-id="1970070632-8">{</span><span·class="ss">excl_dirs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dirs</span><span·class="p"·data-group-id="1970070632-8">}</span><span·class="p">.</span><span·class="w">
  
224 </span><span·class="c1">%%·Directories,·including·subdirectories,·to·exclude.</span><span·class="w">224 </span><span·class="c1">%%·Directories,·including·subdirectories,·to·exclude.</span><span·class="w">
225 </span><span·class="p"·data-group-id="3576055438-9">{</span><span·class="ss">excl_dirs_r</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dirs</span><span·class="p"·data-group-id="3576055438-9">}</span><span·class="p">.</span><span·class="w">225 </span><span·class="p"·data-group-id="1970070632-9">{</span><span·class="ss">excl_dirs_r</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dirs</span><span·class="p"·data-group-id="1970070632-9">}</span><span·class="p">.</span><span·class="w">
  
226 </span><span·class="c1">%%·Specific·modules·to·exclude·in·cover.</span><span·class="w">226 </span><span·class="c1">%%·Specific·modules·to·exclude·in·cover.</span><span·class="w">
227 </span><span·class="p"·data-group-id="3576055438-10">{</span><span·class="ss">excl_mods</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mods</span><span·class="p"·data-group-id="3576055438-10">}</span><span·class="p">.</span><span·class="w">227 </span><span·class="p"·data-group-id="1970070632-10">{</span><span·class="ss">excl_mods</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mods</span><span·class="p"·data-group-id="1970070632-10">}</span><span·class="p">.</span><span·class="w">
  
228 </span><span·class="c1">%%·Cross·cover·compilation</span><span·class="w">228 </span><span·class="c1">%%·Cross·cover·compilation</span><span·class="w">
229 </span><span·class="c1">%%·Tag·=·atom(),·an·identifier·for·a·test·run</span><span·class="w">229 </span><span·class="c1">%%·Tag·=·atom(),·an·identifier·for·a·test·run</span><span·class="w">
230 </span><span·class="c1">%%·Mod·=·[atom()],·modules·to·compile·for·accumulated·analysis</span><span·class="w">230 </span><span·class="c1">%%·Mod·=·[atom()],·modules·to·compile·for·accumulated·analysis</span><span·class="w">
231 </span><span·class="p"·data-group-id="3576055438-11">{</span><span·class="ss">cross</span><span·class="p">,</span><span·class="p"·data-group-id="3576055438-12">[</span><span·class="p"·data-group-id="3576055438-13">{</span><span·class="n">Tag</span><span·class="p">,</span><span·class="n">Mods</[·...·truncated·by·diffoscope;·len:·154,·SHA:·ed52be73b7b4c61cb1b0dcf3e3bc1e1835594d3257e51d4f2ba808037c311288·...·]-11">}</span><span·class="p">.</span></code></pre><p>The·terms·<code·class="inline">incl_dirs_r</code>·and·<code·class="inline">excl_dirs_r</code>·tell·<code·class="inline">Common·Test</code>·to·search·the231 </span><span·class="p"·data-group-id="1970070632-11">{</span><span·class="ss">cross</span><span·class="p">,</span><span·class="p"·data-group-id="1970070632-12">[</span><span·class="p"·data-group-id="1970070632-13">{</span><span·class="n">Tag</span><span·class="p">,</span><span·class="n">Mods</[·...·truncated·by·diffoscope;·len:·154,·SHA:·e2f2e09c397244963b3302893c40a854751916806f784330d79f5c02656133ef·...·]-11">}</span><span·class="p">.</span></code></pre><p>The·terms·<code·class="inline">incl_dirs_r</code>·and·<code·class="inline">excl_dirs_r</code>·tell·<code·class="inline">Common·Test</code>·to·search·the
232 specified·directories·recursively·and·include·or·exclude·any·module·found·during232 specified·directories·recursively·and·include·or·exclude·any·module·found·during
233 the·search.·The·terms·<code·class="inline">incl_dirs</code>·and·<code·class="inline">excl_dirs</code>·result·in·a·non-recursive233 the·search.·The·terms·<code·class="inline">incl_dirs</code>·and·<code·class="inline">excl_dirs</code>·result·in·a·non-recursive
234 search·for·modules·(that·is,·only·modules·found·in·the·specified·directories·are234 search·for·modules·(that·is,·only·modules·found·in·the·specified·directories·are
235 included·or·excluded).</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Directories·containing·Erlang·modules·to·be·included·in·a·code·coverage·test235 included·or·excluded).</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Directories·containing·Erlang·modules·to·be·included·in·a·code·coverage·test
236 must·exist·in·the·code·server·path.·Otherwise,·the·Cover·tool·fails·to236 must·exist·in·the·code·server·path.·Otherwise,·the·Cover·tool·fails·to
237 recompile·the·modules.·It·is·not·sufficient·to·specify·these·directories·in237 recompile·the·modules.·It·is·not·sufficient·to·specify·these·directories·in
238 the·cover·specification·file·for·<code·class="inline">Common·Test</code>.</p></section><h3·id="otp-application-config"·class="section-heading">238 the·cover·specification·file·for·<code·class="inline">Common·Test</code>.</p></section><h3·id="otp-application-config"·class="section-heading">
239 ··<a·href="#otp-application-config"·class="hover-link">239 ··<a·href="#otp-application-config"·class="hover-link">
240 ····<i·class="ri-link-m"·aria-hidden="true"></i>240 ····<i·class="ri-link-m"·aria-hidden="true"></i>
241 ··</a>241 ··</a>
242 ··<span·class="text">OTP·application·Config</span>242 ··<span·class="text">OTP·application·Config</span>
243 </h3>243 </h3>
244 <p>When·using·a·cover·specification·in·the·testing·of·an·OTP·application·itself,244 <p>When·using·a·cover·specification·in·the·testing·of·an·OTP·application·itself,
245 there·is·a·special·incl_app·directive·that·includes·the·applications·modules·for245 there·is·a·special·incl_app·directive·that·includes·the·applications·modules·for
246 the·cover·compilation.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7630593115-1">{</span><span·class="ss">incl_app</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AppName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cover</span><span·class="w">·</span><span·class="p">:</span>[·...·truncated·by·diffoscope;·len:·224,·SHA:·b93a6f0df899bf68e1730527463c1f2e238636a8af90beae8ab68f25fc724796·...·]-1">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>If·you·desire·to·also·use·some·other·general·cover·configuration·together·with246 the·cover·compilation.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4620110090-1">{</span><span·class="ss">incl_app</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AppName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cover</span><span·class="w">·</span><span·class="p">:</span>[·...·truncated·by·diffoscope;·len:·224,·SHA:·89d6f5c5e5eaae30a44bd2cff95fd14aa83db1edd041db96391e3ae332347fc5·...·]-1">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>If·you·desire·to·also·use·some·other·general·cover·configuration·together·with
247 this·option·you·should·insert·the·AppName·in·between·the·option·and·its·value247 this·option·you·should·insert·the·AppName·in·between·the·option·and·its·value
248 creating·a·three·tuple.</p></section><p><a·href=""·id="cross_cover"></a></p><h2·id="cross-cover-analysis"·class="section-heading">248 creating·a·three·tuple.</p></section><p><a·href=""·id="cross_cover"></a></p><h2·id="cross-cover-analysis"·class="section-heading">
249 ··<a·href="#cross-cover-analysis"·class="hover-link">249 ··<a·href="#cross-cover-analysis"·class="hover-link">
250 ····<i·class="ri-link-m"·aria-hidden="true"></i>250 ····<i·class="ri-link-m"·aria-hidden="true"></i>
251 ··</a>251 ··</a>
252 ··<span·class="text">Cross·Cover·Analysis</span>252 ··<span·class="text">Cross·Cover·Analysis</span>
253 </h2>253 </h2>
Offset 276, 15 lines modifiedOffset 276, 15 lines modified
276 ··{incl_mods,[m1]}.</code></pre><p>This·gives·an·entry·for·<code·class="inline">m1</code>·also·in·the·cover·log·for·test·run·<code·class="inline">s2</code>.·The276 ··{incl_mods,[m1]}.</code></pre><p>This·gives·an·entry·for·<code·class="inline">m1</code>·also·in·the·cover·log·for·test·run·<code·class="inline">s2</code>.·The
277 problem·is·that·this·only·reflects·the·coverage·by·<code·class="inline">s2</code>·tests,·not·the277 problem·is·that·this·only·reflects·the·coverage·by·<code·class="inline">s2</code>·tests,·not·the
278 accumulated·result·over·<code·class="inline">s1</code>·and·<code·class="inline">s2</code>.·This·is·where·the·cross·cover·mechanism278 accumulated·result·over·<code·class="inline">s1</code>·and·<code·class="inline">s2</code>.·This·is·where·the·cross·cover·mechanism
279 comes·in·handy.</p><p>If·instead·the·cover·specification·for·<code·class="inline">s2</code>·is·like·the·following:</p><pre><code·class="text">s2.cover:279 comes·in·handy.</p><p>If·instead·the·cover·specification·for·<code·class="inline">s2</code>·is·like·the·following:</p><pre><code·class="text">s2.cover:
280 ··{cross,[{s1,[m1]}]}.</code></pre><p>Then·<code·class="inline">m1</code>·is·cover·compiled·in·test·run·<code·class="inline">s2</code>,·but·not·shown·in·the·coverage·log.280 ··{cross,[{s1,[m1]}]}.</code></pre><p>Then·<code·class="inline">m1</code>·is·cover·compiled·in·test·run·<code·class="inline">s2</code>,·but·not·shown·in·the·coverage·log.
281 Instead,·if·<a·href="ct_cover.html#cross_cover_analyse/2"><code·class="inline">ct_cover:cross_cover_analyse/2</code></a>·is·called·after·both·<code·class="inline">s1</code>·and·<code·class="inline">s2</code>281 Instead,·if·<a·href="ct_cover.html#cross_cover_analyse/2"><code·class="inline">ct_cover:cross_cover_analyse/2</code></a>·is·called·after·both·<code·class="inline">s1</code>·and·<code·class="inline">s2</code>
282 test·runs·are·completed,·the·accumulated·result·for·<code·class="inline">m1</code>·is·available·in·the282 test·runs·are·completed,·the·accumulated·result·for·<code·class="inline">m1</code>·is·available·in·the
283 cross·cover·log·for·test·run·<code·class="inline">s1</code>.</p><p>The·call·to·the·analyze·function·must·be·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ct_cover</span><span·class="p">:</span><span·class="nf">cross_cover_analyse</span><span·class="p"·data-group-id="4148245194-1">(</span><span·class="n">Level</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4148245194-2">[</span><span·class="p"·data-group-id="4148245194-3">{</span><span·class="ss">s1</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·387,·SHA:·0bb5e5fb66682c04d47c7eddb3088bbf832e8146f45027c3cb128e62732119ae·...·]-1">)</span><span·class="p">.</span></code></pre><p>Here,·<code·class="inline">S1LogDir</code>·and·<code·class="inline">S2LogDir</code>·are·the·directories·named·<code·class="inline">&lt;TestName&gt;.logs</code>·for283 cross·cover·log·for·test·run·<code·class="inline">s1</code>.</p><p>The·call·to·the·analyze·function·must·be·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ct_cover</span><span·class="p">:</span><span·class="nf">cross_cover_analyse</span><span·class="p"·data-group-id="7353656837-1">(</span><span·class="n">Level</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7353656837-2">[</span><span·class="p"·data-group-id="7353656837-3">{</span><span·class="ss">s1</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·387,·SHA:·96a1a54bdb889b0d8b18994624aa0a67545ca35fb671338807cece3d7f1c8908·...·]-1">)</span><span·class="p">.</span></code></pre><p>Here,·<code·class="inline">S1LogDir</code>·and·<code·class="inline">S2LogDir</code>·are·the·directories·named·<code·class="inline">&lt;TestName&gt;.logs</code>·for
284 each·test·respectively.</p><p>Notice·the·tags·<code·class="inline">s1</code>·and·<code·class="inline">s2</code>,·which·are·used·in·the·cover·specification·file284 each·test·respectively.</p><p>Notice·the·tags·<code·class="inline">s1</code>·and·<code·class="inline">s2</code>,·which·are·used·in·the·cover·specification·file
285 and·in·the·call·to·<a·href="ct_cover.html#cross_cover_analyse/2"><code·class="inline">ct_cover:cross_cover_analyse/2</code></a>.·The·purpose·of·these·is285 and·in·the·call·to·<a·href="ct_cover.html#cross_cover_analyse/2"><code·class="inline">ct_cover:cross_cover_analyse/2</code></a>.·The·purpose·of·these·is
286 only·to·map·the·modules·specified·in·the·cover·specification·to·the·log286 only·to·map·the·modules·specified·in·the·cover·specification·to·the·log
287 directory·specified·in·the·call·to·the·analyze·function.·The·tag·name·has·no287 directory·specified·in·the·call·to·the·analyze·function.·The·tag·name·has·no
288 meaning·beyond·this.</p><h2·id="logging"·class="section-heading">288 meaning·beyond·this.</p><h2·id="logging"·class="section-heading">
289 ··<a·href="#logging"·class="hover-link">289 ··<a·href="#logging"·class="hover-link">
290 ····<i·class="ri-link-m"·aria-hidden="true"></i>290 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 349, 15 lines modifiedOffset 349, 15 lines modified
349 ······<p·class="built-using">349 ······<p·class="built-using">
350 ········Built·using350 ········Built·using
351 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the351 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
352 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>352 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
353 ······</p>353 ······</p>
354 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>354 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
355 ····</footer>355 ····</footer>
356 ··</div>356 ··</div>
357 </main>357 </main>
358 </div>358 </div>
359 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>359 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
360 ··<script>360 ··<script>
361 ··let·initialized·=·false;361 ··let·initialized·=·false;
839 B
html2text {}
Max HTML report size reached
41.0 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct.html
    
Offset 1916, 25 lines modifiedOffset 1916, 25 lines modified
1916 ························Opt·::·element·|·all,1916 ························Opt·::·element·|·all,
1917 ························ValueOrElement·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()·|·Default.</pre>1917 ························ValueOrElement·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()·|·Default.</pre>
  
1918 ······</div>1918 ······</div>
  
1919 <p>Reads·configuration·data·values.</p><p>Returns·the·matching·values·or·configuration·elements,·given·a·configuration1919 <p>Reads·configuration·data·values.</p><p>Returns·the·matching·values·or·configuration·elements,·given·a·configuration
1920 variable·key·or·its·associated·name·(if·one·has·been·specified·with1920 variable·key·or·its·associated·name·(if·one·has·been·specified·with
1921 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>·or·a·<code·class="inline">require</code>·statement).</p><p><em>Example:</em></p><p>Given·the·following·configuration·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9622034140-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="9622034140-2">[</span><span·class="p"·data-group-id="9622034140-3">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">IpAddr</span><span·class="p"·data-group-id="9622034140-3">}</span><span·class="p">,</span><span·class="w"> 
1922 ·······</span><span·class="p"·data-group-id="9622034140-4">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="p"·data-group-id="9622034140-5">[</span><span·class="p"·data-group-id="9622034140-6">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">Username</span><span·class="p"·data-group-id="9622034140-6">}</span><span·class="p">,</span><span·class="w"> 
1923 ··············</span><span·class="p"·data-group-id="9622034140-7">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="9622034140-7">}</span><span·class="p"·data-group-id="9622034140-5">]</span><span·class="p"·data-group-id="9622034140-4">}</span><span·class="p"·data-group-id="9622034140-2">]</span><span·class="p"·data-group-id="9622034140-1">}</span><span·class="p">.</span></code></pre><p>Then:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="5465099705-1">(</span><span·class="ss">unix</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="5465099705-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5465099705-2">[</span><span·class="p"·data-group-id="5465099705-3">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">IpAddr</span><span·class="p"·data-group-id="5465099705-3">}</span><span·class="p">,</span><span·class="w"> 
1924 ·</span><span·class="p"·data-group-id="5465099705-4">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5465099705-5">[</span><span·class="p"·data-group-id="5465099705-6">{</span><span·class="[·...·truncated·by·diffoscope;·len:·520,·SHA:·e0aff1bbfd5b68226864584fd6812cae96e898c1ae09379476b80db33ba4c557·...·]</span><span·class="w">1921 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>·or·a·<code·class="inline">require</code>·statement).</p><p><em>Example:</em></p><p>Given·the·following·configuration·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·[·...·truncated·by·diffoscope;·len:·348,·SHA:·55edd3206d7f2839a49827dfd501f3d6f65d6c540ae6ca1cf597b2c702c8c1ed·...·]</span><span·class="w">
 1922 ·······</span><span·class="p"·data-group-id="9482070174-4">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="p"·data-group-id="9482070174-5">[</span><span·class="p"·data-group-id="9482070174-6">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">Username</span><span·class="p"·data-group-id="9482070174-6">}</span><span·class="p">,</span><span·class="w">
 1923 ··············</span><span·class="p"·data-group-id="9482070174-7">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="9482070174-7">}</span><span·class="p"·data-group-id="9482070174-5">]</span><span·class="p"·data-group-id="9482070174-4">}</span><span·class="p"·data-group-id="9482070174-2">]</span><span·class="p"·data-group-id="9482070174-1">}</span><span·class="p">.</span></code></pre><p>Then:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="8037817858-1">(</span><span·class="ss">unix</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="8037817858-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8037817858-2">[</span><span·class="p"·data-group-id="8037817858-3">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">IpAddr</span><span·class="p"·data-group-id="8037817858-3">}</span><span·class="p">,</span><span·class="w">
 1924 ·</span><span·class="p"·data-group-id="8037817858-4">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8037817858-5">[</span><span·class="p"·data-group-id="8037817858-6">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">Username</span><span·class="p"·data-group-id="8037817858-6">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8037817858-7">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="8037817858-7">}</span><span·class="p"·data-group-id="8037817858-5">]</span><span·class="p"·data-group-id="8037817858-4">}</span><span·class="p"·data-group-id="8037817858-2">]</span><span·class="w">
1925 </span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="5465099705-8">(</span><span·class="p"·data-group-id="5465099705-9">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">telnet</span><span·class="p"·data-group-id="5465099705-9">}</span><span·class="p">,</span><span·class="n">Defaul[·...·truncated·by·diffoscope;·len:·49,·SHA:·d5477cce619b83c25288c0e4953f73d50e7d174830f5fab7306f48e2dfb7a161·...·]-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">IpAddr</span><span·class="w">1925 </span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="8037817858-8">(</span><span·class="p"·data-group-id="8037817858-9">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">telnet</span><span·class="p"·data-group-id="8037817858-9">}</span><span·class="p">,</span><span·class="n">Defaul[·...·truncated·by·diffoscope;·len:·49,·SHA:·67d6b5508975161d94db9231c858810b9f0b0cbe7c53f4a858c9cf49c092f96b·...·]-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">IpAddr</span><span·class="w">
1926 </span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="5465099705-10">(</span><span·class="p"·data-group-id="5465099705-11">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">user</span><span·class="p">,</span><span·class="ss">username</span><span·class="p"·data-group-id="5465099705-1[·...·truncated·by·diffoscope;·len:·106,·SHA:·9767d12c9385f270d9b2a0dc49e37847a620cc656d633552601e93d9ba430dba·...·]-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Username</span><span·class="w">1926 </span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="8037817858-10">(</span><span·class="p"·data-group-id="8037817858-11">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">user</span><span·class="p">,</span><span·class="ss">username</span><span·class="p"·data-group-id="8037817858-1[·...·truncated·by·diffoscope;·len:·106,·SHA:·278b8cf462906cd5827478b32559291fca5e3361aa3f3932256cb83de0642acc·...·]-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Username</span><span·class="w">
1927 </span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="5465099705-12">(</span><span·class="p"·data-group-id="5465099705-13">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">ftp</span><span·class="p"·data-group-id="5465099705-13">}</span><span·class="p">,</span><span·class="n">Defaul[·...·truncated·by·diffoscope;·len:·49,·SHA:·d5477cce619b83c25288c0e4953f73d50e7d174830f5fab7306f48e2dfb7a161·...·]-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Default</span><span·class="w">1927 </span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="8037817858-12">(</span><span·class="p"·data-group-id="8037817858-13">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">ftp</span><span·class="p"·data-group-id="8037817858-13">}</span><span·class="p">,</span><span·class="n">Defaul[·...·truncated·by·diffoscope;·len:·49,·SHA:·67d6b5508975161d94db9231c858810b9f0b0cbe7c53f4a858c9cf49c092f96b·...·]-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Default</span><span·class="w">
1928 </span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="5465099705-14">(</span><span·class="ss">unknownkey</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="5465099705-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Default</span></code></pre><p>If·a·configuration·variable·key·has·been·associated·with·a·name·(by1928 </span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="8037817858-14">(</span><span·class="ss">unknownkey</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="8037817858-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Default</span></code></pre><p>If·a·configuration·variable·key·has·been·associated·with·a·name·(by
1929 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>·or·a·<code·class="inline">require</code>·statement),·the·name·can·be·used1929 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>·or·a·<code·class="inline">require</code>·statement),·the·name·can·be·used
1930 instead·of·the·key·to·read·the·value:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">require</span><span·class="p"·data-group-id="7303194808-1">(</span><span·class="ss">myuser</span><span·class="p">,</span><span·class="p"·data-group-id="7303194808-2">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">user</span><span·class="p"·data-group-id="7303194808-2">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·d4478f2665d0117e0a73c4c022bbe19bea80440eb1b835aa235f780cd519dc63·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">1930 instead·of·the·key·to·read·the·value:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">require</span><span·class="p"·data-group-id="9916880801-1">(</span><span·class="ss">myuser</span><span·class="p">,</span><span·class="p"·data-group-id="9916880801-2">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="ss">user</span><span·class="p"·data-group-id="9916880801-2">}<[·...·truncated·by·diffoscope;·len:·47,·SHA:·2ac52226933cc66d3e0a00f12833bdf5fd1dfed1af8a33ca8d7560d16a52623a·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
1931 </span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="7303194808-3">(</span><span·class="ss">myuser</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="7303194808-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·507,·SHA:·7f43f55a0c0bfe34264e3cfe6cd299ddc5595ae5772492875e008d389ae651b2·...·]-4">]</span></code></pre><p>If·a·configuration·variable·is·defined·in·multiple·files,·use·option·<code·class="inline">all</code>·to1931 </span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="9916880801-3">(</span><span·class="ss">myuser</span><span·class="p">,</span><span·class="n">Default</span><span·class="p"·data-group-id="9916880801-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·507,·SHA:·0a7a1203eb6a03603634dc629e499894a68d7caf9a88a0b780a99d57c4e1cfb7·...·]-4">]</span></code></pre><p>If·a·configuration·variable·is·defined·in·multiple·files,·use·option·<code·class="inline">all</code>·to
1932 access·all·possible·values.·The·values·are·returned·in·a·list.·The·order·of·the1932 access·all·possible·values.·The·values·are·returned·in·a·list.·The·order·of·the
1933 elements·corresponds·to·the·order·that·the·configuration·files·were·specified·at1933 elements·corresponds·to·the·order·that·the·configuration·files·were·specified·at
1934 startup.</p><p>If·configuration·elements·(key-value·tuples)·are·to·be·returned·as·result1934 startup.</p><p>If·configuration·elements·(key-value·tuples)·are·to·be·returned·as·result
1935 instead·of·values,·use·option·<code·class="inline">element</code>.·The·returned·elements·are·then·on·the1935 instead·of·values,·use·option·<code·class="inline">element</code>.·The·returned·elements·are·then·on·the
1936 form·<code·class="inline">{Required,Value}</code>.</p><p>See·also·<a·href="#get_config/1"><code·class="inline">ct:get_config/1</code></a>,1936 form·<code·class="inline">{Required,Value}</code>.</p><p>See·also·<a·href="#get_config/1"><code·class="inline">ct:get_config/1</code></a>,
1937 <a·href="#get_config/2"><code·class="inline">ct:get_config/2</code></a>,·<a·href="#require/1"><code·class="inline">ct:require/1</code></a>,1937 <a·href="#get_config/2"><code·class="inline">ct:get_config/2</code></a>,·<a·href="#require/1"><code·class="inline">ct:require/1</code></a>,
1938 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>.</p>1938 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>.</p>
Offset 1962, 15 lines modifiedOffset 1962, 15 lines modified
1962 ······<div·class="specs">1962 ······<div·class="specs">
  
1963 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_event_mgr_ref()·->·EvMgrRef·when·EvMgrRef·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>().</pre>1963 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_event_mgr_ref()·->·EvMgrRef·when·EvMgrRef·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>().</pre>
  
1964 ······</div>1964 ······</div>
  
1965 <p>Gets·a·reference·to·the·<code·class="inline">Common·Test</code>·event·manager.·The·reference·can·be·used1965 <p>Gets·a·reference·to·the·<code·class="inline">Common·Test</code>·event·manager.·The·reference·can·be·used
1966 to,·for·example,·add·a·user-specific·event·handler·while·tests·are·running.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="1657917550-1">(</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_event_mgr_ref</span><span·class="p"·data-group-id="1657917550-2">(</span><span·class="p"·data-group-id="1657917550-2">)</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·237,·SHA:·fe02c6c13223b3d1795048c15ac6fcf5a561762a4578cdcc2bd1c5642e6bd16f·...·]-1">)</span></code></pre>1966 to,·for·example,·add·a·user-specific·event·handler·while·tests·are·running.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="8485045891-1">(</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_event_mgr_ref</span><span·class="p"·data-group-id="8485045891-2">(</span><span·class="p"·data-group-id="8485045891-2">)</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·237,·SHA:·3c288aed1e9b6fa3410f7895402a4d2fa594d0e394c570748ed67d1a87cebd68·...·]-1">)</span></code></pre>
1967 ··</section>1967 ··</section>
1968 </section>1968 </section>
1969 <section·class="detail"·id="get_progname/0">1969 <section·class="detail"·id="get_progname/0">
  
1970 ··<div·class="detail-header">1970 ··<div·class="detail-header">
1971 ····<a·href="#get_progname/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1971 ····<a·href="#get_progname/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1972 ······<i·class="ri-link-m"·aria-hidden="true"></i>1972 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2234, 15 lines modifiedOffset 2234, 15 lines modified
2234 ·····················KeyOrFile·::·{key,·Key}·|·{file,·KeyFile},2234 ·····················KeyOrFile·::·{key,·Key}·|·{file,·KeyFile},
2235 ·····················Key·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),2235 ·····················Key·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),
2236 ·····················KeyFile·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),2236 ·····················KeyFile·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),
2237 ·····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>2237 ·····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
2238 ······</div>2238 ······</div>
  
2239 <p>Installs·configuration·files·and·event·handlers.</p><p>Run·this·function·once·before·the·first·test.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">install</span><span·class="p"·data-group-id="8604741347-1">(</span><span·class="p"·data-group-id="8604741347-2">[</span><span·class="p"·data-group-id="8604741347-3">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="p"·data-group-id="8604741347-4">[</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·303,·SHA:·134e32e7b889dda360e3ff23a6fc0f594b0c6d32de57d5d57246e9a5b75b32e0·...·]-1">)</span></code></pre><p>This·function·is·automatically·run·by·program·<code·class="inline">ct_run</code>.</p>2239 <p>Installs·configuration·files·and·event·handlers.</p><p>Run·this·function·once·before·the·first·test.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">install</span><span·class="p"·data-group-id="3236006001-1">(</span><span·class="p"·data-group-id="3236006001-2">[</span><span·class="p"·data-group-id="3236006001-3">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="p"·data-group-id="3236006001-4">[</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·303,·SHA:·19105cc97e356f56ef5537bb56f855b67cff956cd388a5e84b44a9fce45301c9·...·]-1">)</span></code></pre><p>This·function·is·automatically·run·by·program·<code·class="inline">ct_run</code>.</p>
2240 ··</section>2240 ··</section>
2241 </section>2241 </section>
2242 <section·class="detail"·id="listenv/1">2242 <section·class="detail"·id="listenv/1">
  
2243 ··<div·class="detail-header">2243 ··<div·class="detail-header">
2244 ····<a·href="#listenv/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2244 ····<a·href="#listenv/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
2245 ······<i·class="ri-link-m"·aria-hidden="true"></i>2245 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3025, 15 lines modifiedOffset 3025, 15 lines modified
3025 ·····················SubKey·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),3025 ·····················SubKey·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),
3026 ·····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>3026 ·····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
3027 ······</div>3027 ······</div>
  
3028 <p>Checks·if·the·required·configuration·is·available.·Arbitrarily·deep·tuples·can3028 <p>Checks·if·the·required·configuration·is·available.·Arbitrarily·deep·tuples·can
3029 be·specified·as·<code·class="inline">Required</code>.·Only·the·last·element·of·the·tuple·can·be·a·list·of3029 be·specified·as·<code·class="inline">Required</code>.·Only·the·last·element·of·the·tuple·can·be·a·list·of
3030 <code·class="inline">SubKey</code>s.</p><p><em>Example·1.</em>·Require·the·variable·<code·class="inline">myvar</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">require</span><span·class="p"·data-group-id="8519038161-1">(</span><span·class="ss">myvar</span><span·class="p"·data-group-id="8519038161-1">)</span><span·class="p">.</span></code></pre><p>In·this·case·the·configuration·file·must·at·least·contain:</p><pre><code·class="makeup·erlang"·translate="no"><s[·...·truncated·by·diffoscope;·len:·3488,·SHA:·c66c8f71a6ce2cb670e947cbe97ea97734b9eecb4e919a9eb3d7030105a653ec·...·]-1">}</span><span·class="p">.</span></code></pre><p>See·also·<a·href="#get_config/1"><code·class="inline">ct:get_config/1</code></a>,3030 <code·class="inline">SubKey</code>s.</p><p><em>Example·1.</em>·Require·the·variable·<code·class="inline">myvar</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">require</span><span·class="p"·data-group-id="3227142935-1">(</span><span·class="ss">myvar</span><span·class="p"·data-group-id="3227142935-1">)</span><span·class="p">.</span></code></pre><p>In·this·case·the·configuration·file·must·at·least·contain:</p><pre><code·class="makeup·erlang"·translate="no"><s[·...·truncated·by·diffoscope;·len:·3488,·SHA:·9c188619ff60f3beca768e4b74b9c9207d0b1fda75b8553d9754d2ecf0f56461·...·]-1">}</span><span·class="p">.</span></code></pre><p>See·also·<a·href="#get_config/1"><code·class="inline">ct:get_config/1</code></a>,
3031 <a·href="#get_config/2"><code·class="inline">ct:get_config/2</code></a>,·<a·href="#get_config/3"><code·class="inline">ct:get_config/3</code></a>,3031 <a·href="#get_config/2"><code·class="inline">ct:get_config/2</code></a>,·<a·href="#get_config/3"><code·class="inline">ct:get_config/3</code></a>,
3032 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>.</p>3032 <a·href="#require/2"><code·class="inline">ct:require/2</code></a>.</p>
3033 ··</section>3033 ··</section>
3034 </section>3034 </section>
3035 <section·class="detail"·id="require/2">3035 <section·class="detail"·id="require/2">
  
3036 ··<div·class="detail-header">3036 ··<div·class="detail-header">
Offset 3065, 16 lines modifiedOffset 3065, 16 lines modified
  
3065 <p>Checks·if·the·required·configuration·is·available·and·gives·it·a·name.·The3065 <p>Checks·if·the·required·configuration·is·available·and·gives·it·a·name.·The
3066 semantics·for·<code·class="inline">Required</code>·is·the·same·as·in·<a·href="#require/1"><code·class="inline">ct:require/1</code></a>·except3066 semantics·for·<code·class="inline">Required</code>·is·the·same·as·in·<a·href="#require/1"><code·class="inline">ct:require/1</code></a>·except
3067 that·a·list·of·<code·class="inline">SubKey</code>s·cannot·be·specified.</p><p>If·the·requested·data·is·available,·the·subentry·is·associated·with·<code·class="inline">Name</code>·so3067 that·a·list·of·<code·class="inline">SubKey</code>s·cannot·be·specified.</p><p>If·the·requested·data·is·available,·the·subentry·is·associated·with·<code·class="inline">Name</code>·so
3068 that·the·value·of·the·element·can·be·read·with3068 that·the·value·of·the·element·can·be·read·with
3069 <a·href="#get_config/1"><code·class="inline">ct:get_config/1,2</code></a>·provided·<code·class="inline">Name</code>·is·used·instead·of·the3069 <a·href="#get_config/1"><code·class="inline">ct:get_config/1,2</code></a>·provided·<code·class="inline">Name</code>·is·used·instead·of·the
3070 whole·<code·class="inline">Required</code>·term.</p><p><em>Example:</em></p><p>Require·one·node·with·a·Telnet·connection·and·an·FTP·connection.·Name·the·node3070 whole·<code·class="inline">Required</code>·term.</p><p><em>Example:</em></p><p>Require·one·node·with·a·Telnet·connection·and·an·FTP·connection.·Name·the·node
3071 <code·class="inline">a</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">require</span><span·class="p"·data-group-id="7336543185-1">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="p"·data-group-id="7336543185-2">{</span><span·class="ss">machine</span><span·class="p">,</span><span·class="nb">node</span><span·class="p"·data-group-id="7336543185-2">}</span><span·class="p"·data-group-id="7336543185-1">)</span><span·class="p">.</span></code></pre><p>All·references·to·this·node·can·then·use·the·node·name.·For·example,·a·file·over 
3072 FTP·is·fetched·like·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">ftp_get</sp[·...·truncated·by·diffoscope;·len:·1560,·SHA:·9541437f2f818954be965ce596aabd86aea3e2399c6a0bc71d12c02c43f3ef01·...·]3071 <code·class="inline">a</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">require</[·...·truncated·by·diffoscope;·len:·469,·SHA:·85b0150a2d15f0ba0ac3687b2a7430723981d8ad9237f0f3c444edde937b9c2d·...·]
 3072 FTP·is·fetched·like·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">ftp_get</span><span·class="p"·data-group-id="0134373504-1">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="n">RemoteFile</span><span·class="p">,</span><span·class="n">LocalFile</span><span·class="p"·data-group-id="0134373504-1">)</span><span·class="p">.</span></code></pre><p>For·this·to·work,·the·configuration·file·must·at·least·contain:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2832020208-1">{</span><span·class="ss">machine</span><span·class="p">,</span><span·class="p"·data-group-id="2832020208-2">[</span><span·class="p"·data-group-id="2832020208-3">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="2832020208-4">[</span><span·class="p"·data-group-id="2832020208-5">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">IpAddr</span><span·class="p"·data-group-id="2832020208-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="2832020208-6">{</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="n">IpAddr</span><span·class="p"·data-group-id="2832020208-6">}</span><span·class="p"·data-group-id="2832020208-4">]</span><span·class="p"·data-group-id="2832020208-3">}</span><span·class="p"·data-group-id="2832020208-2">]</span><span·class="p"·data-group-id="2832020208-1">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·behavior·of·this·function·changed·radically·in·<code·class="inline">Common·Test</code>·1.6.2.·To
3073 keep·some·backwards·compatibility,·it·is·still·possible·to·do:3073 keep·some·backwards·compatibility,·it·is·still·possible·to·do:
3074 <code·class="inline">ct:require(a,{node,[telnet,ftp]}).</code>·This·associates·the·name·<code·class="inline">a</code>·with·the3074 <code·class="inline">ct:require(a,{node,[telnet,ftp]}).</code>·This·associates·the·name·<code·class="inline">a</code>·with·the
3075 top-level·<code·class="inline">node</code>·entry.·For·this·to·work,·the·configuration·file·must·at·least3075 top-level·<code·class="inline">node</code>·entry.·For·this·to·work,·the·configuration·file·must·at·least
3076 contain:·<code·class="inline">{node,[{telnet,IpAddr},{ftp,IpAddr}]}.</code></p></section><p>See·also·<a·href="#get_config/1"><code·class="inline">ct:get_config/1</code></a>,3076 contain:·<code·class="inline">{node,[{telnet,IpAddr},{ftp,IpAddr}]}.</code></p></section><p>See·also·<a·href="#get_config/1"><code·class="inline">ct:get_config/1</code></a>,
3077 <a·href="#get_config/2"><code·class="inline">ct:get_config/2</code></a>,·<a·href="#get_config/3"><code·class="inline">ct:get_config/3</code></a>,3077 <a·href="#get_config/2"><code·class="inline">ct:get_config/2</code></a>,·<a·href="#get_config/3"><code·class="inline">ct:get_config/3</code></a>,
3078 <a·href="#require/1"><code·class="inline">ct:require/1</code></a>.</p>3078 <a·href="#require/1"><code·class="inline">ct:require/1</code></a>.</p>
3079 ··</section>3079 ··</section>
Offset 3425, 20 lines modifiedOffset 3425, 20 lines modified
  
3425 ······</div>3425 ······</div>
  
3426 <p>Starts·<code·class="inline">Common·Test</code>·in·interactive·mode.</p><p>From·this·mode,·all·test·case·support·functions·can·be·executed·directly·from3426 <p>Starts·<code·class="inline">Common·Test</code>·in·interactive·mode.</p><p>From·this·mode,·all·test·case·support·functions·can·be·executed·directly·from
3427 the·Erlang·shell.·The·interactive·mode·can·also·be·started·from·the·OS·command3427 the·Erlang·shell.·The·interactive·mode·can·also·be·started·from·the·OS·command
3428 line·with·<code·class="inline">ct_run·-shell·[-config·File...]</code>.</p><p>If·any·functions·(for·example,·Telnet·or·FTP)·using·&quot;required·configuration3428 line·with·<code·class="inline">ct_run·-shell·[-config·File...]</code>.</p><p>If·any·functions·(for·example,·Telnet·or·FTP)·using·&quot;required·configuration
3429 data&quot;·are·to·be·called·from·the·Erlang·shell,·configuration·data·must·first·be3429 data&quot;·are·to·be·called·from·the·Erlang·shell,·configuration·data·must·first·be
3430 required·with·<a·href="#require/2"><code·class="inline">ct:require/2</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">require</span><span·class="p"·data-group-id="2000660529-1">(</span><span·class="ss">unix_telnet</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">unix</span><span·class="p"·data-group-id="2000660529-1">)</span><span·class="p">.</span><span·class="w">3430 required·with·<a·href="#require/2"><code·class="inline">ct:require/2</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">require</span><span·class="p"·data-group-id="5304382861-1">(</span><span·class="ss">unix_telnet</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">unix</span><span·class="p"·data-group-id="5304382861-1">)</span><span·class="p">.</span><span·class="w">
3431 </span><span·class="ss">ok</span><span·class="gp·unselectable">3431 </span><span·class="ss">ok</span><span·class="gp·unselectable">
3432 &gt;·</span><span·class="nc">ct_telnet</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="2000660529-2">(</span><span·class="ss">unix_telnet</span><span·class="p"·data-group-id="2000660529-2">)</span><span·class="p">.</span><span·class="w">3432 &gt;·</span><span·class="nc">ct_telnet</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="5304382861-2">(</span><span·class="ss">unix_telnet</span><span·class="p"·data-group-id="5304382861-2">)</span><span·class="p">.</span><span·class="w">
3433 </span><span·class="p"·data-group-id="2000660529-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.105</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="2000660529-3">}</span><span·class="gp·unselectable">3433 </span><span·class="p"·data-group-id="5304382861-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.105</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="5304382861-3">}</span><span·class="gp·unselectable">
3434 &gt;·</span><span·class="nc">ct_telnet</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="2000660529-4">(</span><span·class="ss">unix_telnet</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;ls·.&quot;</span><span·class="p"·data-group-id="2000660529-4">)</span><span·class="p">.</span><span·class="w">3434 &gt;·</span><span·class="nc">ct_telnet</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="5304382861-4">(</span><span·class="ss">unix_telnet</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;ls·.&quot;</span><span·class="p"·data-group-id="5304382861-4">)</span><span·class="p">.</span><span·class="w">
3435 </span><span·class="p"·data-group-id="2000660529-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2000660529-6">[</span><span·class="s">&quot;ls&quot;</span><span·class="p">,</span><span·class="s">&quot;file1··...&quot;</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·165,·SHA:·c7082ece3a9d79f81368fa4f83536367d309ece93c8523ae27a1159a0842e57f·...·]-5">}</span></code></pre>3435 </span><span·class="p"·data-group-id="5304382861-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5304382861-6">[</span><span·class="s">&quot;ls&quot;</span><span·class="p">,</span><span·class="s">&quot;file1··...&quot;</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·165,·SHA:·9f1ab5a5e1115cac0c507deaf508dbe7e3cb3fc758c8d88a7d9e53e253db0512·...·]-5">}</span></code></pre>
3436 ··</section>3436 ··</section>
3437 </section>3437 </section>
3438 <section·class="detail"·id="step/3">3438 <section·class="detail"·id="step/3">
  
3439 ··<div·class="detail-header">3439 ··<div·class="detail-header">
3440 ····<a·href="#step/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3440 ····<a·href="#step/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
3441 ······<i·class="ri-link-m"·aria-hidden="true"></i>3441 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3703, 15 lines modifiedOffset 3703, 15 lines modified
3703 ······<p·class="built-using">3703 ······<p·class="built-using">
3704 ········Built·using3704 ········Built·using
3705 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3705 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3706 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3706 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3707 ······</p>3707 ······</p>
3708 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3708 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3709 ····</footer>3709 ····</footer>
3710 ··</div>3710 ··</div>
3711 </main>3711 </main>
Max diff block lines reached; 137/41185 bytes (0.33%) of diff not shown.
648 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_cover.html
    
Offset 307, 15 lines modifiedOffset 307, 15 lines modified
307 ······<p·class="built-using">307 ······<p·class="built-using">
308 ········Built·using308 ········Built·using
309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
311 ······</p>311 ······</p>
312 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>312 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
313 ····</footer>313 ····</footer>
314 ··</div>314 ··</div>
315 </main>315 </main>
316 </div>316 </div>
317 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>317 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
318 ··<script>318 ··<script>
319 ··let·initialized·=·false;319 ··let·initialized·=·false;
701 B
html2text {}
Max HTML report size reached
5.98 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_ftp.html
    
Offset 567, 18 lines modifiedOffset 567, 18 lines modified
567 ·················LocalFile·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename/0">file:filename</a>(),567 ·················LocalFile·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename/0">file:filename</a>(),
568 ·················RemoteFile·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename/0">file:filename</a>(),568 ·················RemoteFile·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename/0">file:filename</a>(),
569 ·················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>569 ·················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
570 ······</div>570 ······</div>
  
571 <p>Opens·an·FTP·connection·and·sends·a·file·to·the·remote·host.</p><p><code·class="inline">LocalFile</code>·and·<code·class="inline">RemoteFile</code>·must·be·absolute·paths.</p><p>If·the·target·host·is·a·&quot;special&quot;·node,·the·FTP·address·must·be·specified·in·the571 <p>Opens·an·FTP·connection·and·sends·a·file·to·the·remote·host.</p><p><code·class="inline">LocalFile</code>·and·<code·class="inline">RemoteFile</code>·must·be·absolute·paths.</p><p>If·the·target·host·is·a·&quot;special&quot;·node,·the·FTP·address·must·be·specified·in·the
572 configuration·file·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1603135264-1">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="1603135264-2">[</span><span·class="p"·data-group-id="1603135264-3">{</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="n">IpAddr</sp[·...·truncated·by·diffoscope;·len:·150,·SHA:·bf7431e09201183b3be0a328fa54b77427abca62b943a16bcdaba807e4900d49·...·]-1">}</span><span·class="p">.</span></code></pre><p>If·the·target·host·is·something·else,·for·example,·a·UNIX·host,·the572 configuration·file·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1895713342-1">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="p"·data-group-id="1895713342-2">[</span><span·class="p"·data-group-id="1895713342-3">{</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="n">IpAddr</sp[·...·truncated·by·diffoscope;·len:·150,·SHA:·89005d74b36407ad17e620b7c83ff6fa3bed10c731ebf8492bdc8235a7043b62·...·]-1">}</span><span·class="p">.</span></code></pre><p>If·the·target·host·is·something·else,·for·example,·a·UNIX·host,·the
573 configuration·file·must·also·include·the·username·and·password·(both·strings):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2094004117-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="2094004117-2">[</span><span·class="p"·data-group-id="2094004117-3">{</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="n">IpAddr</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·2568de93e40c8d1125ce93d504e966718e946f2396c8cd1798bd0b1adfe721ec·...·]-3">}</span><span·class="p">,</span><span·class="w">573 configuration·file·must·also·include·the·username·and·password·(both·strings):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2455948359-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="2455948359-2">[</span><span·class="p"·data-group-id="2455948359-3">{</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="n">IpAddr</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·2e5318f3f804c48cc75647d92fa2fd7ebfc5fbba4b026bc830b2f2385442c868·...·]-3">}</span><span·class="p">,</span><span·class="w">
574 ·······</span><span·class="p"·data-group-id="2094004117-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">Username</span><span·class="p"·data-group-id="2094004117-4">}</span><span·class="p">,</span><span·class="w">574 ·······</span><span·class="p"·data-group-id="2455948359-4">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">Username</span><span·class="p"·data-group-id="2455948359-4">}</span><span·class="p">,</span><span·class="w">
575 ·······</span><span·class="p"·data-group-id="2094004117-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="2094004117-5">}</span><span·class="p"·data-group-id="2094004117-2">]</span><span·class="p"·data-group-id="2094004117-1">}</span><span·class="p">.</span></code></pre><p>See·also·<a·href="ct.html#require/2"><code·class="inline">ct:require/2</code></a>.</p>575 ·······</span><span·class="p"·data-group-id="2455948359-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="2455948359-5">}</span><span·class="p"·data-group-id="2455948359-2">]</span><span·class="p"·data-group-id="2455948359-1">}</span><span·class="p">.</span></code></pre><p>See·also·<a·href="ct.html#require/2"><code·class="inline">ct:require/2</code></a>.</p>
576 ··</section>576 ··</section>
577 </section>577 </section>
578 <section·class="detail"·id="recv/2">578 <section·class="detail"·id="recv/2">
  
579 ··<div·class="detail-header">579 ··<div·class="detail-header">
580 ····<a·href="#recv/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">580 ····<a·href="#recv/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
581 ······<i·class="ri-link-m"·aria-hidden="true"></i>581 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 742, 15 lines modifiedOffset 742, 15 lines modified
742 ······<p·class="built-using">742 ······<p·class="built-using">
743 ········Built·using743 ········Built·using
744 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the744 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
745 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>745 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
746 ······</p>746 ······</p>
747 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>747 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
748 ····</footer>748 ····</footer>
749 ··</div>749 ··</div>
750 </main>750 </main>
751 </div>751 </div>
752 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>752 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
753 ··<script>753 ··<script>
754 ··let·initialized·=·false;754 ··let·initialized·=·false;
677 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_hooks.html
    
Offset 1359, 15 lines modifiedOffset 1359, 15 lines modified
1359 ······<p·class="built-using">1359 ······<p·class="built-using">
1360 ········Built·using1360 ········Built·using
1361 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1361 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1362 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1362 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1363 ······</p>1363 ······</p>
1364 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1364 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1365 ····</footer>1365 ····</footer>
1366 ··</div>1366 ··</div>
1367 </main>1367 </main>
1368 </div>1368 </div>
1369 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1369 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1370 ··<script>1370 ··<script>
1371 ··let·initialized·=·false;1371 ··let·initialized·=·false;
661 B
html2text {}
Max HTML report size reached
61.6 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_hooks_chapter.html
    
Offset 249, 20 lines modifiedOffset 249, 20 lines modified
249 </h3>249 </h3>
250 <p>In·a·CTH,·the·behavior·can·be·hooked·in·before·the·following·functions:</p><ul><li><a·href="ct_suite.html#c:init_per_suite/1"><code·class="inline">init_per_suite</code></a></li><li><a·href="ct_suite.html#c:init_per_group/2"><code·class="inline">init_per_group</code></a></li><li><a·href="ct_suite.html#c:init_per_testcase/2"><code·class="inline">init_per_testcase</code></a></li><li><a·href="ct_suite.html#c:end_per_testcase/2"><code·class="inline">end_per_testcase</code></a></li><li><a·href="ct_suite.html#c:end_per_group/2"><code·class="inline">end_per_group</code></a></li><li><a·href="ct_suite.html#c:end_per_suite/1"><code·class="inline">end_per_suite</code></a></li></ul><p>This·is·done·in·the·CTH·functions·called·<code·class="inline">pre_&lt;name·of·function&gt;</code>.·These250 <p>In·a·CTH,·the·behavior·can·be·hooked·in·before·the·following·functions:</p><ul><li><a·href="ct_suite.html#c:init_per_suite/1"><code·class="inline">init_per_suite</code></a></li><li><a·href="ct_suite.html#c:init_per_group/2"><code·class="inline">init_per_group</code></a></li><li><a·href="ct_suite.html#c:init_per_testcase/2"><code·class="inline">init_per_testcase</code></a></li><li><a·href="ct_suite.html#c:end_per_testcase/2"><code·class="inline">end_per_testcase</code></a></li><li><a·href="ct_suite.html#c:end_per_group/2"><code·class="inline">end_per_group</code></a></li><li><a·href="ct_suite.html#c:end_per_suite/1"><code·class="inline">end_per_suite</code></a></li></ul><p>This·is·done·in·the·CTH·functions·called·<code·class="inline">pre_&lt;name·of·function&gt;</code>.·These
251 functions·take·the·arguments·<code·class="inline">SuiteName</code>,·<code·class="inline">Name</code>·(group·or·test·case·name,·if251 functions·take·the·arguments·<code·class="inline">SuiteName</code>,·<code·class="inline">Name</code>·(group·or·test·case·name,·if
252 applicable),·<code·class="inline">Config</code>,·and·<code·class="inline">CTHState</code>.·The·return·value·of·the·CTH·function·is252 applicable),·<code·class="inline">Config</code>,·and·<code·class="inline">CTHState</code>.·The·return·value·of·the·CTH·function·is
253 always·a·combination·of·a·result·for·the·suite/group/test·and·an·updated253 always·a·combination·of·a·result·for·the·suite/group/test·and·an·updated
254 <code·class="inline">CTHState</code>.</p><p>To·let·the·test·suite·continue·on·executing,·return·the·configuration·list·that254 <code·class="inline">CTHState</code>.</p><p>To·let·the·test·suite·continue·on·executing,·return·the·configuration·list·that
255 you·want·the·test·to·use·as·the·result.</p><p>All·pre·hooks,·except·<code·class="inline">pre_end_per_testcase/4</code>,·can·skip·or·fail·the·test·by255 you·want·the·test·to·use·as·the·result.</p><p>All·pre·hooks,·except·<code·class="inline">pre_end_per_testcase/4</code>,·can·skip·or·fail·the·test·by
256 returning·a·tuple·with·<code·class="inline">skip</code>·or·<code·class="inline">fail</code>,·and·a·reason·as·the·result.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">pre_init_per_suite</span><span·class="p"·data-group-id="3521118712-1">(</span><span·class="n">SuiteName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CTHState</span><span·class="p"·data-group-id="3521118712-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">256 returning·a·tuple·with·<code·class="inline">skip</code>·or·<code·class="inline">fail</code>,·and·a·reason·as·the·result.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">pre_init_per_suite</span><span·class="p"·data-group-id="4659028435-1">(</span><span·class="n">SuiteName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CTHState</span><span·class="p"·data-group-id="4659028435-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
257 ··</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">db</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="3521118712-2">(</span><span·class="p"·data-group-id="3521118712-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">257 ··</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">db</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="4659028435-2">(</span><span·class="p"·data-group-id="4659028435-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
258 ····</span><span·class="p"·data-group-id="3521118712-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="p">_</span><span·class="n">Reason</span><span·class="p"·data-group-id="3521118712-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">258 ····</span><span·class="p"·data-group-id="4659028435-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="p">_</span><span·class="n">Reason</span><span·class="p"·data-group-id="4659028435-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
259 ······</span><span·class="p"·data-group-id="3521118712-4">{</span><span·class="p"·data-group-id="3521118712-5">{</span><span·class="ss">fail</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Could·not·connect·to·DB&quot;</span><span·class="p"·data-group-id="3521118712-5">}<[·...·truncated·by·diffoscope;·len:·126,·SHA:·a2c3525ccc081a584ee1fc732a1cd2623084e63eb78e591f2fe454ce96af0429·...·]-4">}</span><span·class="p">;</span><span·class="w">259 ······</span><span·class="p"·data-group-id="4659028435-4">{</span><span·class="p"·data-group-id="4659028435-5">{</span><span·class="ss">fail</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Could·not·connect·to·DB&quot;</span><span·class="p"·data-group-id="4659028435-5">}<[·...·truncated·by·diffoscope;·len:·126,·SHA:·5d2d0676dead3b0cb072fed10450a43e2fc883a03917d66bc25e07eaec5ce2bf·...·]-4">}</span><span·class="p">;</span><span·class="w">
260 ····</span><span·class="p"·data-group-id="3521118712-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handle</span><span·class="p"·data-group-id="3521118712-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">260 ····</span><span·class="p"·data-group-id="4659028435-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handle</span><span·class="p"·data-group-id="4659028435-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
261 ······</span><span·class="p"·data-group-id="3521118712-7">{</span><span·class="p"·data-group-id="3521118712-8">[</span><span·class="p"·data-group-id="3521118712-9">{</span><span·class="ss">db_handle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handle</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·649,·SHA:·69f855d7c701e3c36d93b0841f7af891db79fe81189e342cd9ad707acec5084d·...·]-7">}</span><span·class="w">261 ······</span><span·class="p"·data-group-id="4659028435-7">{</span><span·class="p"·data-group-id="4659028435-8">[</span><span·class="p"·data-group-id="4659028435-9">{</span><span·class="ss">db_handle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handle</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·649,·SHA:·40f30407cc3d67578edf73a6d9abc9c841ac21dce794441427749bca8e9f46d4·...·]-7">}</span><span·class="w">
262 ··</span><span·class="k">end</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>If·you·use·multiple·CTHs,·the·first·part·of·the·return·tuple·is·used·as·input262 ··</span><span·class="k">end</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>If·you·use·multiple·CTHs,·the·first·part·of·the·return·tuple·is·used·as·input
263 for·the·next·CTH.·So·in·the·previous·example·the·next·CTH·can·get263 for·the·next·CTH.·So·in·the·previous·example·the·next·CTH·can·get
264 <code·class="inline">{fail,Reason}</code>·as·the·second·parameter.·If·you·have·many·CTHs·interacting,·do264 <code·class="inline">{fail,Reason}</code>·as·the·second·parameter.·If·you·have·many·CTHs·interacting,·do
265 not·let·each·CTH·return·<code·class="inline">fail</code>·or·<code·class="inline">skip</code>.·Instead,·return·that·an·action·is·to265 not·let·each·CTH·return·<code·class="inline">fail</code>·or·<code·class="inline">skip</code>.·Instead,·return·that·an·action·is·to
266 be·taken·through·the·<code·class="inline">Config</code>·list·and·implement·a·CTH·that,·at·the·end,·takes266 be·taken·through·the·<code·class="inline">Config</code>·list·and·implement·a·CTH·that,·at·the·end,·takes
267 the·correct·action.</p></section><p><a·href=""·id="post"></a></p><h3·id="post-hooks"·class="section-heading">267 the·correct·action.</p></section><p><a·href=""·id="post"></a></p><h3·id="post-hooks"·class="section-heading">
268 ··<a·href="#post-hooks"·class="hover-link">268 ··<a·href="#post-hooks"·class="hover-link">
Offset 276, 26 lines modifiedOffset 276, 26 lines modified
276 same·<code·class="inline">Config</code>·as·the·testcase·is·called·with.·<code·class="inline">Return</code>·is·the·value·returned·by276 same·<code·class="inline">Config</code>·as·the·testcase·is·called·with.·<code·class="inline">Return</code>·is·the·value·returned·by
277 the·testcase.·If·the·testcase·fails·by·crashing,·<code·class="inline">Return</code>·is277 the·testcase.·If·the·testcase·fails·by·crashing,·<code·class="inline">Return</code>·is
278 <code·class="inline">{'EXIT',{{Error,Reason},Stacktrace}}</code>.</p><p>The·return·value·of·the·CTH·function·is·always·a·combination·of·a·result·for·the278 <code·class="inline">{'EXIT',{{Error,Reason},Stacktrace}}</code>.</p><p>The·return·value·of·the·CTH·function·is·always·a·combination·of·a·result·for·the
279 suite/group/test·and·an·updated·<code·class="inline">CTHState</code>.·If·you·do·not·want·the·callback·to279 suite/group/test·and·an·updated·<code·class="inline">CTHState</code>.·If·you·do·not·want·the·callback·to
280 affect·the·outcome·of·the·test,·return·the·<code·class="inline">Return</code>·data·as·it·is·given·to·the280 affect·the·outcome·of·the·test,·return·the·<code·class="inline">Return</code>·data·as·it·is·given·to·the
281 CTH.·You·can·also·modify·the·test·result.·By·returning·the·<code·class="inline">Config</code>·list·with281 CTH.·You·can·also·modify·the·test·result.·By·returning·the·<code·class="inline">Config</code>·list·with
282 element·<code·class="inline">tc_status</code>·removed,·you·can·recover·from·a·test·failure.·As·in·all·the282 element·<code·class="inline">tc_status</code>·removed,·you·can·recover·from·a·test·failure.·As·in·all·the
283 pre·hooks,·it·is·also·possible·to·fail/skip·the·test·case·in·the·post·hook.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">post_end_per_testcase</span><span·class="p"·data-group-id="7688159508-1">(</span><span·class="p">_</span><span·class="n">Suite</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">TC</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·cla[·...·truncated·by·diffoscope;·len:·504,·SHA:·87c0a076632c50beb94b97ce411aa2c9f463c05d1bf56266740c590c80854f97·...·]8-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">283 pre·hooks,·it·is·also·possible·to·fail/skip·the·test·case·in·the·post·hook.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">post_end_per_testcase</span><span·class="p"·data-group-id="7930787658-1">(</span><span·class="p">_</span><span·class="n">Suite</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">TC</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·cla[·...·truncated·by·diffoscope;·len:·504,·SHA:·204c6e7f50de8868c5b7072625a2ab608a00f71ac406656d6bac4491a258f36e·...·]8-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
284 ··</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">db</span><span·class="p">:</span><span·class="nf">check_consistency</span><span·class="p"·data-group-id="7688159508-4">(</span><span·class="p"·data-group-id="7688159508-4">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">284 ··</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">db</span><span·class="p">:</span><span·class="nf">check_consistency</span><span·class="p"·data-group-id="7930787658-4">(</span><span·class="p"·data-group-id="7930787658-4">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
285 ····</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">285 ····</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
286 ······</span><span·class="c1">%%·DB·is·good,·pass·the·test.</span><span·class="w">286 ······</span><span·class="c1">%%·DB·is·good,·pass·the·test.</span><span·class="w">
287 ······</span><span·class="p"·data-group-id="7688159508-5">{</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="7688159508-6">(</span><span·class="ss">tc_status</span><span·class="p">,</span><span·class="w">·</span><span·class="n[·...·truncated·by·diffoscope;·len:·187,·SHA:·488c5ab1764a1e1d3db330284473e20efe314fe5b47f6c0ae37d9578c7bfbf50·...·]8-5">}</span><span·class="p">;</span><span·class="w">287 ······</span><span·class="p"·data-group-id="7930787658-5">{</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="7930787658-6">(</span><span·class="ss">tc_status</span><span·class="p">,</span><span·class="w">·</span><span·class="n[·...·truncated·by·diffoscope;·len:·187,·SHA:·37acc8d826978d37ec44d99da2936f242891cba228cb546ddc9eb606f340648c·...·]8-5">}</span><span·class="p">;</span><span·class="w">
288 ····</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">288 ····</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
289 ······</span><span·class="c1">%%·DB·is·not·good,·mark·as·skipped·instead·of·failing</span><span·class="w">289 ······</span><span·class="c1">%%·DB·is·not·good,·mark·as·skipped·instead·of·failing</span><span·class="w">
290 ······</span><span·class="p"·data-group-id="7688159508-7">{</span><span·class="p"·data-group-id="7688159508-8">{</span><span·class="ss">skip</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;DB·is·inconsistent!&quot;</span><span·class="p"·data-group-id="7688159508-8">}</span[·...·truncated·by·diffoscope;·len:·120,·SHA:·e908da15419d84c259302df603518f5123b0a438f0c36b81458853362fa31ed1·...·]8-7">}</span><span·class="w">290 ······</span><span·class="p"·data-group-id="7930787658-7">{</span><span·class="p"·data-group-id="7930787658-8">{</span><span·class="ss">skip</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;DB·is·inconsistent!&quot;</span><span·class="p"·data-group-id="7930787658-8">}</span[·...·truncated·by·diffoscope;·len:·120,·SHA:·c74affcf8e7d3807d9ef8f2d026e08c2f1e2c8122276453decd16c7335146ad2·...·]8-7">}</span><span·class="w">
291 ··</span><span·class="k">end</span><span·class="p">;</span><span·class="w">291 ··</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
292 </span><span·class="nf">post_end_per_testcase</span><span·class="p"·data-group-id="7688159508-9">(</span><span·class="p">_</span><span·class="n">Suite</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">TC</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·cla[·...·truncated·by·diffoscope;·len:·187,·SHA:·7afb55ac0b195fac30d260e9957ad25e1662715f50fff2217eecf14f8f5d0bc4·...·]8-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">292 </span><span·class="nf">post_end_per_testcase</span><span·class="p"·data-group-id="7930787658-9">(</span><span·class="p">_</span><span·class="n">Suite</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">TC</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·cla[·...·truncated·by·diffoscope;·len:·187,·SHA:·02ab4f0ab7802161f363db2e360abc56e1ab7460d393303cdd51b4c6cc037f5a·...·]8-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
293 ··</span><span·class="c1">%%·Do·nothing·if·tc·does·not·crash.</span><span·class="w">293 ··</span><span·class="c1">%%·Do·nothing·if·tc·does·not·crash.</span><span·class="w">
294 ··</span><span·class="p"·data-group-id="7688159508-10">{</span><span·class="n">Return</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CTHState</span><span·class="p"·data-group-id="7688159508-10">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Do·recover·from·a·testcase·failure·using·CTHs·only·a·last·resort.·If·used294 ··</span><span·class="p"·data-group-id="7930787658-10">{</span><span·class="n">Return</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CTHState</span><span·class="p"·data-group-id="7930787658-10">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Do·recover·from·a·testcase·failure·using·CTHs·only·a·last·resort.·If·used
295 wrongly,·it·can·be·very·difficult·to·determine·which·tests·that·pass·or·fail295 wrongly,·it·can·be·very·difficult·to·determine·which·tests·that·pass·or·fail
296 in·a·test·run.</p></section><h3·id="skip-and-fail-hooks"·class="section-heading">296 in·a·test·run.</p></section><h3·id="skip-and-fail-hooks"·class="section-heading">
297 ··<a·href="#skip-and-fail-hooks"·class="hover-link">297 ··<a·href="#skip-and-fail-hooks"·class="hover-link">
298 ····<i·class="ri-link-m"·aria-hidden="true"></i>298 ····<i·class="ri-link-m"·aria-hidden="true"></i>
299 ··</a>299 ··</a>
300 ··<span·class="text">Skip·and·Fail·Hooks</span>300 ··<span·class="text">Skip·and·Fail·Hooks</span>
301 </h3>301 </h3>
Offset 336, 88 lines modifiedOffset 336, 88 lines modified
336 <p>The·following·CTH·logs·information·about·a·test·run·into·a·format·parseable·by336 <p>The·following·CTH·logs·information·about·a·test·run·into·a·format·parseable·by
337 <a·href="../../../../lib/kernel-10.3/doc/html/file.html#consult/1"><code·class="inline">file:consult/1</code></a>·(in·Kernel):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%·Common·Test·Example·Common·Test·Hook·module.</span><span·class="w">337 <a·href="../../../../lib/kernel-10.3/doc/html/file.html#consult/1"><code·class="inline">file:consult/1</code></a>·(in·Kernel):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%%·Common·Test·Example·Common·Test·Hook·module.</span><span·class="w">
338 </span><span·class="c1">%%%</span><span·class="w">338 </span><span·class="c1">%%%</span><span·class="w">
339 </span><span·class="c1">%%%·To·use·this·hook,·on·the·command·line:</span><span·class="w">339 </span><span·class="c1">%%%·To·use·this·hook,·on·the·command·line:</span><span·class="w">
340 </span><span·class="c1">%%%·····ct_run·-suite·example_SUITE·-pa·.·-ct_hooks·example_cth</span><span·class="w">340 </span><span·class="c1">%%%·····ct_run·-suite·example_SUITE·-pa·.·-ct_hooks·example_cth</span><span·class="w">
341 </span><span·class="c1">%%%</span><span·class="w">341 </span><span·class="c1">%%%</span><span·class="w">
342 </span><span·class="c1">%%%·Note·`-pa·.`:·the·hook·beam·file·must·be·in·the·code·path·when·installing.</span><span·class="w">342 </span><span·class="c1">%%%·Note·`-pa·.`:·the·hook·beam·file·must·be·in·the·code·path·when·installing.</span><span·class="w">
343 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4281162251-1">(</span><span·class="ss">example_cth</span><span·class="p"·data-group-id="4281162251-1">)</span><span·class="p">.</span><span·class="w">343 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3084076946-1">(</span><span·class="ss">example_cth</span><span·class="p"·data-group-id="3084076946-1">)</span><span·class="p">.</span><span·class="w">
  
344 </span><span·class="c1">%%·Mandatory·Callbacks</span><span·class="w">344 </span><span·class="c1">%%·Mandatory·Callbacks</span><span·class="w">
345 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4281162251-2">(</span><span·class="p"·data-group-id="4281162251-3">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="4281162251-3">]</span><span·class="p"·data-group-id="4281162251-2">)</span><span·class="p">.</span><span·class="w">345 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3084076946-2">(</span><span·class="p"·data-group-id="3084076946-3">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="3084076946-3">]</span><span·class="p"·data-group-id="3084076946-2">)</span><span·class="p">.</span><span·class="w">
  
346 </span><span·class="c1">%%·Optional·Callbacks</span><span·class="w">346 </span><span·class="c1">%%·Optional·Callbacks</span><span·class="w">
347 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4281162251-4">(</span><span·class="p"·data-group-id="4281162251-5">[</span><span·class="ss">id</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4281162251-5">]</span><span·class="p"·data-group-id="4281162251-4">)</span><span·class="p">.</span><span·class="w">347 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3084076946-4">(</span><span·class="p"·data-group-id="3084076946-5">[</span><span·class="ss">id</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="3084076946-5">]</span><span·class="p"·data-group-id="3084076946-4">)</span><span·class="p">.</span><span·class="w">
348 </span><span·class="w">348 </span><span·class="w">
349 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4281162251-6">(</span><span·class="p"·data-group-id="4281162251-7">[</span><span·class="ss">pre_init_per_suite</span><span·class="p">/</span><span·class="mi">3</span><span·class="p"·data-group-id="4281162251-7">]</span><span·class="p"·data-group-id="428116[·...·truncated·by·diffoscope;·len:·4,·SHA:·5a9788c1434d2653d2d6ed7eda409a5af5d196f29b9da89c52ff83a94490445f·...·]-6">)</span><span·class="p">.</span><span·class="w">349 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3084076946-6">(</span><span·class="p"·data-group-id="3084076946-7">[</span><span·class="ss">pre_init_per_suite</span><span·class="p">/</span><span·class="mi">3</span><span·class="p"·data-group-id="3084076946-7">]</span><span·class="p"·data-group-id="308407[·...·truncated·by·diffoscope;·len:·4,·SHA:·f2bfa7ad3f3cfb230c4c8f7481542a7f6235fb7b9b0c42c85a53f92ed74c6231·...·]-6">)</span><span·class="p">.</span><span·class="w">
350 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4281162251-8">(</span><span·class="p"·data-group-id="4281162251-9">[</span><span·class="ss">post_end_per_suite</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="4281162251-9">]</span><span·class="p"·data-group-id="428116[·...·truncated·by·diffoscope;·len:·4,·SHA:·5a9788c1434d2653d2d6ed7eda409a5af5d196f29b9da89c52ff83a94490445f·...·]-8">)</span><span·class="p">.</span><span·class="w">350 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3084076946-8">(</span><span·class="p"·data-group-id="3084076946-9">[</span><span·class="ss">post_end_per_suite</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="3084076946-9">]</span><span·class="p"·data-group-id="308407[·...·truncated·by·diffoscope;·len:·4,·SHA:·f2bfa7ad3f3cfb230c4c8f7481542a7f6235fb7b9b0c42c85a53f92ed74c6231·...·]-8">)</span><span·class="p">.</span><span·class="w">
351 </span><span·class="w">351 </span><span·class="w">
352 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4281162251-10">(</span><span·class="p"·data-group-id="4281162251-11">[</span><span·class="ss">pre_init_per_testcase</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="4281162251-11">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·a67a20408e37d2ae733298323a57dfbef10575ff8e514cb48efd7cc63ce9863c·...·]-10">)</span><span·class="p">.</span><span·class="w">352 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3084076946-10">(</span><span·class="p"·data-group-id="3084076946-11">[</span><span·class="ss">pre_init_per_testcase</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="3084076946-11">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·3e9ecccf52174b86ba5bb258bfc6b5be66eb8059f1b11602d3c945ed45d66590·...·]-10">)</span><span·class="p">.</span><span·class="w">
353 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4281162251-12">(</span><span·class="p"·data-group-id="4281162251-13">[</span><span·class="ss">post_end_per_testcase</span><span·class="p">/</span><span·class="mi">5</span><span·class="p"·data-group-id="4281162251-13">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·a67a20408e37d2ae733298323a57dfbef10575ff8e514cb48efd7cc63ce9863c·...·]-12">)</span><span·class="p">.</span><span·class="w">353 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3084076946-12">(</span><span·class="p"·data-group-id="3084076946-13">[</span><span·class="ss">post_end_per_testcase</span><span·class="p">/</span><span·class="mi">5</span><span·class="p"·data-group-id="3084076946-13">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·3e9ecccf52174b86ba5bb258bfc6b5be66eb8059f1b11602d3c945ed45d66590·...·]-12">)</span><span·class="p">.</span><span·class="w">
354 </span><span·class="w">354 </span><span·class="w">
355 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4281162251-14">(</span><span·class="p"·data-group-id="4281162251-15">[</span><span·class="ss">on_tc_skip</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="4281162251-15">]</span><span·class="p"·data-group-id="4281162251-14">)</span><span·class="p">.</span><span·class="w">355 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3084076946-14">(</span><span·class="p"·data-group-id="3084076946-15">[</span><span·class="ss">on_tc_skip</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="3084076946-15">]</span><span·class="p"·data-group-id="3084076946-14">)</span><span·class="p">.</span><span·class="w">
356 </span><span·class="w">356 </span><span·class="w">
357 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4281162251-16">(</span><span·class="p"·data-group-id="4281162251-17">[</span><span·class="ss">terminate</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4281162251-17">]</span><span·class="p"·data-group-id="4281162251-16">)</span><span·class="p">.</span><span·class="w">357 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3084076946-16">(</span><span·class="p"·data-group-id="3084076946-17">[</span><span·class="ss">terminate</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="3084076946-17">]</span><span·class="p"·data-group-id="3084076946-16">)</span><span·class="p">.</span><span·class="w">
  
358 </span><span·class="c1">%%·This·hook·state·is·threaded·through·all·the·callbacks.</span><span·class="w">358 </span><span·class="c1">%%·This·hook·state·is·threaded·through·all·the·callbacks.</span><span·class="w">
359 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="4281162251-18">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4281162251-19">{</span><span·class="ss">filename</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">total[·...·truncated·by·diffoscope;·len:·489,·SHA:·6337b64a10bb48227bd9cd87e0a226eb94d19a5c70ebcd75ee1bacac982b0ebb·...·]-18">)</span><span·class="p">.</span><span·class="w">359 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="3084076946-18">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3084076946-19">{</span><span·class="ss">filename</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">total[·...·truncated·by·diffoscope;·len:·489,·SHA:·c612da4a33108d0173558b1c3b32181ca89edab6e2029d4f7ffb822f0bce7e50·...·]-18">)</span><span·class="p">.</span><span·class="w">
360 </span><span·class="c1">%%·This·example·hook·prints·its·results·to·a·file,·see·terminate/1.</span><span·class="w">360 </span><span·class="c1">%%·This·example·hook·prints·its·results·to·a·file,·see·terminate/1.</span><span·class="w">
361 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="4281162251-20">(</span><span·class="ss">test_run</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4281162251-21">{</span><span·class="ss">total</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">skipp[·...·truncated·by·diffoscope;·len:·182,·SHA:·1a089f6c35447f42bfab035175f2db944699e32ea6a9af977e622b1dd4ad1957·...·]-20">)</span><span·class="p">.</span><span·class="w">361 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="3084076946-20">(</span><span·class="ss">test_run</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3084076946-21">{</span><span·class="ss">total</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">skipp[·...·truncated·by·diffoscope;·len:·182,·SHA:·073efa0d76394f7372fba10893682e4d95389e73fdd8aec9940c6b492720644a·...·]-20">)</span><span·class="p">.</span><span·class="w">
  
362 </span><span·class="c1">%%·Return·a·unique·id·for·this·CTH.</span><span·class="w">362 </span><span·class="c1">%%·Return·a·unique·id·for·this·CTH.</span><span·class="w">
363 </span><span·class="c1">%%·Using·the·filename·means·the·hook·can·be·used·with·different</span><span·class="w">363 </span><span·class="c1">%%·Using·the·filename·means·the·hook·can·be·used·with·different</span><span·class="w">
364 </span><span·class="c1">%%·log·files·to·separate·timing·data·within·the·same·test·run.</span><span·class="w">364 </span><span·class="c1">%%·log·files·to·separate·timing·data·within·the·same·test·run.</span><span·class="w">
365 </span><span·class="c1">%%·See·Installing·a·CTH·for·more·information.</span><span·class="w">365 </span><span·class="c1">%%·See·Installing·a·CTH·for·more·information.</span><span·class="w">
366 </span><span·class="nf">id</span><span·class="p"·data-group-id="4281162251-22">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="4281162251-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">366 </span><span·class="nf">id</span><span·class="p"·data-group-id="3084076946-22">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="3084076946-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
367 ····</span><span·class="c1">%%·the·path·is·relative·to·the·test·run·directory</span><span·class="w">367 ····</span><span·class="c1">%%·the·path·is·relative·to·the·test·run·directory</span><span·class="w">
368 ····</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="4281162251-23">(</span><span·class="ss">filename</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opts</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;example_cth.log&quot;</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·58d49531f75f5f92f12d4159587650c5fc9c9afa93b14dceffd1a0b2f9577fd9·...·]-23">)</span><span·class="p">.</span><span·class="w">368 ····</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="3084076946-23">(</span><span·class="ss">filename</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opts</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;example_cth.log&quot;</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·e7e5b8f95c72ac7d13fe23eaf663ee91db08af99aa39d84e5caf2b68e95d2a48·...·]-23">)</span><span·class="p">.</span><span·class="w">
  
369 </span><span·class="c1">%%·Always·called·before·any·other·callback·function.·Use·this·to·initiate</span><span·class="w">369 </span><span·class="c1">%%·Always·called·before·any·other·callback·function.·Use·this·to·initiate</span><span·class="w">
370 </span><span·class="c1">%%·any·common·state.</span><span·class="w">370 </span><span·class="c1">%%·any·common·state.</span><span·class="w">
371 </span><span·class="nf">init</span><span·class="p"·data-group-id="4281162251-24">(</span><span·class="n">Id</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Opts</span><span·class="p"·data-group-id="4281162251-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">371 </span><span·class="nf">init</span><span·class="p"·data-group-id="3084076946-24">(</span><span·class="n">Id</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Opts</span><span·class="p"·data-group-id="3084076946-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
372 ····</span><span·class="p"·data-group-id="4281162251-25">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="4281162251-26">{</span><span·class="ss">filename</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·602,·SHA:·c135e5024c93ad2b1f641853e72576213a4ccad0995f9ce18149dafb08442146·...·]-25">}</span><span·class="p">.</span><span·class="w">372 ····</span><span·class="p"·data-group-id="3084076946-25">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="3084076946-26">{</span><span·class="ss">filename</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·602,·SHA:·064c9b71e4cb0e537104a7c4a5a2bf328d3fbbb28661781e21b7bdfda60ead37·...·]-25">}</span><span·class="p">.</span><span·class="w">
  
373 </span><span·class="c1">%%·Called·before·init_per_suite·is·called.</span><span·class="w">373 </span><span·class="c1">%%·Called·before·init_per_suite·is·called.</span><span·class="w">
374 </span><span·class="nf">pre_init_per_suite</span><span·class="p"·data-group-id="4281162251-28">(</span><span·class="p">_</span><span·class="n">Suite</span><span·class="p">,</span><span·class="n">Config</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-group-id="4281162251-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">374 </span><span·class="nf">pre_init_per_suite</span><span·class="p"·data-group-id="3084076946-28">(</span><span·class="p">_</span><span·class="n">Suite</span><span·class="p">,</span><span·class="n">Config</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-group-id="3084076946-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
375 ····</span><span·class="p"·data-group-id="4281162251-29">{</span><span·class="n">Config</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="4281162251-30">{</span><span·class="ss">suit[·...·truncated·by·diffoscope;·len:·461,·SHA:·1ceef1ac97fffbdca184ee3ab4d31ef2690a219bcfc32995d8ab303c83c38fbc·...·]-29">}</span><span·class="p">.</span><span·class="w">375 ····</span><span·class="p"·data-group-id="3084076946-29">{</span><span·class="n">Config</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="3084076946-30">{</span><span·class="ss">suit[·...·truncated·by·diffoscope;·len:·461,·SHA:·0aa4c5b3facd8c16aea2b4e15496f75a699d638ca23002cd2eef13b82177aef2·...·]-29">}</span><span·class="p">.</span><span·class="w">
  
376 </span><span·class="c1">%%·Called·after·end_per_suite.</span><span·class="w">376 </span><span·class="c1">%%·Called·after·end_per_suite.</span><span·class="w">
377 </span><span·class="nf">post_end_per_suite</span><span·class="p"·data-group-id="4281162251-32">(</span><span·class="n">Suite</span><span·class="p">,</span><span·class="p">_</span><span·class="n">Config</span><span·class="p">,</span><span·class="n">Return</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·71f7b8cf39ca067e48de3b96967c53d3a9bdc6551eba8abb89c04ba7e722dd49·...·]-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">377 </span><span·class="nf">post_end_per_suite</span><span·class="p"·data-group-id="3084076946-32">(</span><span·class="n">Suite</span><span·class="p">,</span><span·class="p">_</span><span·class="n">Config</span><span·class="p">,</span><span·class="n">Return</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·5844fba7f35949194f74a16898b556c562741ba13a089462a2c99d957905bf11·...·]-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
378 ····</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4281162251-33">{</span><span·class="ss">suites</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Suite</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">suite_total</span><span·class="p">,</span><span·class="w">378 ····</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3084076946-33">{</span><span·class="ss">suites</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Suite</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">suite_total</span><span·class="p">,</span><span·class="w">
379 ············</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="4281162251-34">(</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">tcs</span><span·class="p"·data-group-id="4281162251-34">)</span><span·class="p"·data-group-id="4281162251-33">}</span><span·class="p">,</span><span·class="w">379 ············</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="3084076946-34">(</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">tcs</span><span·class="p"·data-group-id="3084076946-34">)</span><span·class="p"·data-group-id="3084076946-33">}</span><span·class="p">,</span><span·class="w">
380 ····</span><span·class="p"·data-group-id="4281162251-35">{</span><span·class="n">Return</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="4281162251-36">{</span><span·class="ss">data[·...·truncated·by·diffoscope;·len:·406,·SHA:·bd531e97a87700e183b2d93cf99b3f5d428d0ec1bee755e1348feeaba342e271·...·]-37">]</span><span·class="p">,</span><span·class="w">380 ····</span><span·class="p"·data-group-id="3084076946-35">{</span><span·class="n">Return</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="3084076946-36">{</span><span·class="ss">data[·...·truncated·by·diffoscope;·len:·406,·SHA:·f872f2200130ac798ac9eef00598b7594825fd3ed2105c78685d09a0635fc439·...·]-37">]</span><span·class="p">,</span><span·class="w">
381 ·························</span><span·class="ss">total</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">total</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">suite_total</span><span·class="p"·data-group-id="4281162251-36">}</span><span·class="p"·data-group-id="4281162251-35">}</span><span·class="p">.</span><span·class="w">381 ·························</span><span·class="ss">total</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">total</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">suite_total</span><span·class="p"·data-group-id="3084076946-36">}</span><span·class="p"·data-group-id="3084076946-35">}</span><span·class="p">.</span><span·class="w">
  
382 </span><span·class="c1">%%·Called·before·each·init_per_testcase.</span><span·class="w">382 </span><span·class="c1">%%·Called·before·each·init_per_testcase.</span><span·class="w">
383 </span><span·class="nf">pre_init_per_testcase</span><span·class="p"·data-group-id="4281162251-38">(</span><span·class="p">_</span><span·class="n">Suite</span><span·class="p">,</span><span·class="p">_</span><span·class="n">TC</span><span·class="p">,</span><span·class="n">Config</span><span·class="p">,</span><span·class="n">State</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·0295a3e04726d515c56c8f0dbf21223ef2bd3fdd67935dc43fff29d81857a645·...·]-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">383 </span><span·class="nf">pre_init_per_testcase</span><span·class="p"·data-group-id="3084076946-38">(</span><span·class="p">_</span><span·class="n">Suite</span><span·class="p">,</span><span·class="p">_</span><span·class="n">TC</span><span·class="p">,</span><span·class="n">Config</span><span·class="p">,</span><span·class="n">State</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·746d8504d4892153d505d2915753c3b7d252c358da5ea003b71c5c19674de08f·...·]-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
384 ····</span><span·class="n">Now</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monotonic_time</span><span·class="p"·data-group-id="4281162251-39">(</span><span·class="ss">microsecond</span><span·class="p"·data-group-id="4281162251-39">)</span><span·class="p">,</span><span·class="w">384 ····</span><span·class="n">Now</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monotonic_time</span><span·class="p"·data-group-id="3084076946-39">(</span><span·class="ss">microsecond</span><span·class="p"·data-group-id="3084076946-39">)</span><span·class="p">,</span><span·class="w">
385 ····</span><span·class="p"·data-group-id="4281162251-40">{</span><span·class="n">Config</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="4281162251-41">{</span><span·class="ss">ts</[·...·truncated·by·diffoscope;·len:·590,·SHA:·4dba167059d7aa0d9f7d710cfe4bd894228ad373618c808f8dde6eb5e971a461·...·]-40">}</span><span·class="p">.</span><span·class="w">385 ····</span><span·class="p"·data-group-id="3084076946-40">{</span><span·class="n">Config</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="3084076946-41">{</span><span·class="ss">ts</[·...·truncated·by·diffoscope;·len:·590,·SHA:·17e06289caa53abe1dd8802ffc641f04dff29a601f5b4afe3e7e5804ceaee35e·...·]-40">}</span><span·class="p">.</span><span·class="w">
  
386 </span><span·class="c1">%%·Called·after·each·end_per_testcase.</span><span·class="w">386 </span><span·class="c1">%%·Called·after·each·end_per_testcase.</span><span·class="w">
387 </span><span·class="nf">post_end_per_testcase</span><span·class="p"·data-group-id="4281162251-42">(</span><span·class="n">Suite</span><span·class="p">,</span><span·class="n">TC</span><span·class="p">,</span><span·class="p">_</span><span·class="n">Config</span><span·class="p">,</span><span·class="n">Return</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·67,·SHA:·3d925842af4428ce4aa07e7b55f7fff98effc317e8a892aaff29189a82a6ca81·...·]-42">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">387 </span><span·class="nf">post_end_per_testcase</span><span·class="p"·data-group-id="3084076946-42">(</span><span·class="n">Suite</span><span·class="p">,</span><span·class="n">TC</span><span·class="p">,</span><span·class="p">_</span><span·class="n">Config</span><span·class="p">,</span><span·class="n">Return</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·67,·SHA:·94a41e1a0b316d0e5db95860bc8ce2176aa04bc469a13199ee06ba6d9eeeceb9·...·]-42">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
388 ····</span><span·class="n">Now</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monotonic_time</span><span·class="p"·data-group-id="4281162251-43">(</span><span·class="ss">microsecond</span><span·class="p"·data-group-id="4281162251-43">)</span><span·class="p">,</span><span·class="w">388 ····</span><span·class="n">Now</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monotonic_time</span><span·class="p"·data-group-id="3084076946-43">(</span><span·class="ss">microsecond</span><span·class="p"·data-group-id="3084076946-43">)</span><span·class="p">,</span><span·class="w">
389 ····</span><span·class="n">TCInfo</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4281162251-44">{</span><span·class="ss">testcase</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Suite</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TC</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·343,·SHA:·f719bdec013ad95edd9332ee99a86e4d912cdbb5cb341119a07b26187740095b·...·]-44">}</span><span·class="p">,</span><span·class="w">389 ····</span><span·class="n">TCInfo</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3084076946-44">{</span><span·class="ss">testcase</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Suite</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TC</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·343,·SHA:·95b3aac16acdcb4bbba8704148a578b2368926897bfab390d3e4c56869915ea3·...·]-44">}</span><span·class="p">,</span><span·class="w">
390 ····</span><span·class="p"·data-group-id="4281162251-45">{</span><span·class="n">Return</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="4281162251-46">{</span><span·class="ss">ts</[·...·truncated·by·diffoscope;·len:·693,·SHA:·69e28f271932e2ddc1c4aadcba3d4209f8a5aabf314155659c963941896e68e5·...·]-45">}</span><span·class="p">.</span><span·class="w">390 ····</span><span·class="p"·data-group-id="3084076946-45">{</span><span·class="n">Return</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="3084076946-46">{</span><span·class="ss">ts</[·...·truncated·by·diffoscope;·len:·693,·SHA:·16e84c692f188456c2bf97d55a32953aa7c08b88dcdbf57fa220e2e2742f7b60·...·]-45">}</span><span·class="p">.</span><span·class="w">
  
391 </span><span·class="c1">%%·Called·when·a·test·case·is·skipped·by·either·user·action</span><span·class="w">391 </span><span·class="c1">%%·Called·when·a·test·case·is·skipped·by·either·user·action</span><span·class="w">
392 </span><span·class="c1">%%·or·due·to·an·init·function·failing.</span><span·class="w">392 </span><span·class="c1">%%·or·due·to·an·init·function·failing.</span><span·class="w">
393 </span><span·class="nf">on_tc_skip</span><span·class="p"·data-group-id="4281162251-48">(</span><span·class="p">_</span><span·class="n">Suite</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">TC</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·134,·SHA:·1bfb6071687e7d41f5d96abff8a0597d739f12ddbfde55e128d5f5d2c1ca84e9·...·]-48">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">393 </span><span·class="nf">on_tc_skip</span><span·class="p"·data-group-id="3084076946-48">(</span><span·class="p">_</span><span·class="n">Suite</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">TC</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·134,·SHA:·a353622965ffce29f36c047748039bca188ae6f96005e532620bcbac9c4ac6da·...·]-48">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
394 ····</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="4281162251-49">{</span><span·class="ss">skipped</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">skipped<[·...·truncated·by·diffoscope;·len:·144,·SHA:·e5ce2de1b0ced1924ffca6d097d5cd88b5bc6113155bd0e0006432b1fc6f06c8·...·]-49">}</span><span·class="p">.</span><span·class="w">394 ····</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p"·data-group-id="3084076946-49">{</span><span·class="ss">skipped</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">skipped<[·...·truncated·by·diffoscope;·len:·144,·SHA:·f572f4e5d9a9370db66d52887db81c8c72651673dd341c1555f104fa1a686a2e·...·]-49">}</span><span·class="p">.</span><span·class="w">
  
395 </span><span·class="c1">%%·Called·when·the·scope·of·the·CTH·is·done.</span><span·class="w">395 </span><span·class="c1">%%·Called·when·the·scope·of·the·CTH·is·done.</span><span·class="w">
396 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="4281162251-50">(</span><span·class="n">State</span><span·class="p"·data-group-id="4281162251-50">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">396 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="3084076946-50">(</span><span·class="n">State</span><span·class="p"·data-group-id="3084076946-50">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
397 ····</span><span·class="c1">%%·use·append·to·avoid·data·loss·if·the·path·is·reused</span><span·class="w">397 ····</span><span·class="c1">%%·use·append·to·avoid·data·loss·if·the·path·is·reused</span><span·class="w">
398 ····</span><span·class="p"·data-group-id="4281162251-51">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-group-id="4281162251-51">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·569,·SHA:·2a6f4d20141acfbcd3353c2e34d09cad3b6c3a49211a8845c8492669b81e40bc·...·]-52">)</span><span·class="p">,</span><span·class="w">398 ····</span><span·class="p"·data-group-id="3084076946-51">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-group-id="3084076946-51">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·569,·SHA:·9626cfa2d77260662a4b0937a192c1a20f543451c1f70fe4938fe524e74665b0·...·]-52">)</span><span·class="p">,</span><span·class="w">
399 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4281162251-54">(</span><span·class="n">File</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">.</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·340,·SHA:·df13195558ad74b91bc0d2f0d9370911aa7b3f5ef4e8ccd6182fe2f4c5d888c9·...·]-54">)</span><span·class="p">,</span><span·class="w">399 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3084076946-54">(</span><span·class="n">File</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">.</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·340,·SHA:·0c70ba27c8d0acd1f13d951a75a44537f8eac3bb2f41337d871ffb0885ea9529·...·]-54">)</span><span·class="p">,</span><span·class="w">
400 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="4281162251-57">(</span><span·class="n">File</span><span·class="p"·data-group-id="4281162251-57">)</span><span·class="p">,</span><span·class="w">400 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="3084076946-57">(</span><span·class="n">File</span><span·class="p"·data-group-id="3084076946-57">)</span><span·class="p">,</span><span·class="w">
401 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">401 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
402 </span><span·class="nf">results</span><span·class="p"·data-group-id="4281162251-58">(</span><span·class="n">State</span><span·class="p"·data-group-id="4281162251-58">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">402 </span><span·class="nf">results</span><span·class="p"·data-group-id="3084076946-58">(</span><span·class="n">State</span><span·class="p"·data-group-id="3084076946-58">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 993/62095 bytes (1.60%) of diff not shown.
829 B
html2text {}
Max HTML report size reached
3.65 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_master.html
    
Offset 434, 15 lines modifiedOffset 434, 15 lines modified
434 ······<div·class="specs">434 ······<div·class="specs">
  
435 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_event_mgr_ref()·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>().</pre>435 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_event_mgr_ref()·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>().</pre>
  
436 ······</div>436 ······</div>
  
437 <p>Gets·a·reference·to·the·<code·class="inline">Common·Test</code>·master·event·manager.·The·reference·can·be437 <p>Gets·a·reference·to·the·<code·class="inline">Common·Test</code>·master·event·manager.·The·reference·can·be
438 used·to,·for·example,·add·a·user-specific·event·handler·while·tests·are·running.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="3853243010-1">(</span><span·class="nc">ct_master</span><span·class="p">:</span><span·class="nf">get_event_mgr_ref</span><span·class="p"·data-group-id="3853243010-2">(</span><span·class="p"·data-group-id="3853243010-2">)</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·243,·SHA:·5bef26b53669387a50056f2f639ed052286634eb4a03b43f6f232f55634e1429·...·]-1">)</span></code></pre>438 used·to,·for·example,·add·a·user-specific·event·handler·while·tests·are·running.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">gen_event</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="3634285885-1">(</span><span·class="nc">ct_master</span><span·class="p">:</span><span·class="nf">get_event_mgr_ref</span><span·class="p"·data-group-id="3634285885-2">(</span><span·class="p"·data-group-id="3634285885-2">)</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·243,·SHA:·1b69fc23f52500c93692bd7bceffe094fb9b923786aa93baa33913408c95a148·...·]-1">)</span></code></pre>
439 ··</section>439 ··</section>
440 </section>440 </section>
441 <section·class="detail"·id="progress/0">441 <section·class="detail"·id="progress/0">
  
442 ··<div·class="detail-header">442 ··<div·class="detail-header">
443 ····<a·href="#progress/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">443 ····<a·href="#progress/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
444 ······<i·class="ri-link-m"·aria-hidden="true"></i>444 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 770, 15 lines modifiedOffset 770, 15 lines modified
770 ······<p·class="built-using">770 ······<p·class="built-using">
771 ········Built·using771 ········Built·using
772 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the772 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
773 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>773 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
774 ······</p>774 ······</p>
775 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>775 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
776 ····</footer>776 ····</footer>
777 ··</div>777 ··</div>
778 </main>778 </main>
779 </div>779 </div>
780 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>780 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
781 ··<script>781 ··<script>
782 ··let·initialized·=·false;782 ··let·initialized·=·false;
669 B
html2text {}
Max HTML report size reached
35.7 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_master_chapter.html
    
Offset 152, 15 lines modifiedOffset 152, 15 lines modified
152 a·common·file·system.·<code·class="inline">Common·Test</code>·Master·cannot·start·test·nodes152 a·common·file·system.·<code·class="inline">Common·Test</code>·Master·cannot·start·test·nodes
153 automatically.·The·nodes·must·be·started·in·advance·for·<code·class="inline">Common·Test</code>·Master·to153 automatically.·The·nodes·must·be·started·in·advance·for·<code·class="inline">Common·Test</code>·Master·to
154 be·able·to·start·test·sessions·on·them.</p><p>Tests·are·started·by·calling·<a·href="ct_master.html#run/1"><code·class="inline">ct_master:run(TestSpecs)</code></a>·or154 be·able·to·start·test·sessions·on·them.</p><p>Tests·are·started·by·calling·<a·href="ct_master.html#run/1"><code·class="inline">ct_master:run(TestSpecs)</code></a>·or
155 <a·href="ct_master.html#run/3"><code·class="inline">ct_master:run(TestSpecs,·InclNodes,·ExclNodes)</code></a></p><p><code·class="inline">TestSpecs</code>·is·either·the·name·of·a·test·specification·file·(string)·or·a·list155 <a·href="ct_master.html#run/3"><code·class="inline">ct_master:run(TestSpecs,·InclNodes,·ExclNodes)</code></a></p><p><code·class="inline">TestSpecs</code>·is·either·the·name·of·a·test·specification·file·(string)·or·a·list
156 of·test·specifications.·If·it·is·a·list,·the·specifications·are·handled·(and·the156 of·test·specifications.·If·it·is·a·list,·the·specifications·are·handled·(and·the
157 corresponding·tests·executed)·in·sequence.·An·element·in·a·<code·class="inline">TestSpecs</code>·list·can157 corresponding·tests·executed)·in·sequence.·An·element·in·a·<code·class="inline">TestSpecs</code>·list·can
158 also·be·list·of·test·specifications.·The·specifications·in·such·a·list·are158 also·be·list·of·test·specifications.·The·specifications·in·such·a·list·are
159 merged·into·one·combined·specification·before·test·execution.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ct_master</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="8008572846-1">(</span><span·class="p"·data-group-id="8008572846-2">[</span><span·class="s">&quot;ts1&quot;</span><span·class="p">,</span><span·class="s">&quot;ts2&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="8008572846-3">[</span><spa[·...·truncated·by·diffoscope;·len:·243,·SHA:·5c38ee66bad1f10d2ad55a8c0753e7eb178e5d6788edebf7ef7cd8fdbb265d79·...·]-1">)</span></code></pre><p>Here,·the·tests·specified·by·&quot;ts1&quot;·run·first,·then·the·tests·specified·by·&quot;ts2&quot;,159 merged·into·one·combined·specification·before·test·execution.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ct_master</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="9630990361-1">(</span><span·class="p"·data-group-id="9630990361-2">[</span><span·class="s">&quot;ts1&quot;</span><span·class="p">,</span><span·class="s">&quot;ts2&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="9630990361-3">[</span><spa[·...·truncated·by·diffoscope;·len:·243,·SHA:·59df33181cd874d9fd1d4d76b1126ed94fd89111a964a1970b6478d872b5833d·...·]-1">)</span></code></pre><p>Here,·the·tests·specified·by·&quot;ts1&quot;·run·first,·then·the·tests·specified·by·&quot;ts2&quot;,
160 and·finally·the·tests·specified·by·both·&quot;ts3&quot;·and·&quot;ts4&quot;.</p><p>The·<code·class="inline">InclNodes</code>·argument·to·<code·class="inline">run/3</code>·is·a·list·of·node·names.·Function·<code·class="inline">run/3</code>160 and·finally·the·tests·specified·by·both·&quot;ts3&quot;·and·&quot;ts4&quot;.</p><p>The·<code·class="inline">InclNodes</code>·argument·to·<code·class="inline">run/3</code>·is·a·list·of·node·names.·Function·<code·class="inline">run/3</code>
161 runs·the·tests·in·<code·class="inline">TestSpecs</code>·just·like·<code·class="inline">run/1</code>,·but·also·takes·any·test·in161 runs·the·tests·in·<code·class="inline">TestSpecs</code>·just·like·<code·class="inline">run/1</code>,·but·also·takes·any·test·in
162 <code·class="inline">TestSpecs</code>,·which·is·not·explicitly·tagged·with·a·particular·node·name,·and162 <code·class="inline">TestSpecs</code>,·which·is·not·explicitly·tagged·with·a·particular·node·name,·and
163 execute·it·on·the·nodes·listed·in·<code·class="inline">InclNodes</code>.·By·using·<code·class="inline">run/3</code>·this·way,·any163 execute·it·on·the·nodes·listed·in·<code·class="inline">InclNodes</code>.·By·using·<code·class="inline">run/3</code>·this·way,·any
164 test·specification·can·be·used,·with·or·without·node·information,·in·a164 test·specification·can·be·used,·with·or·without·node·information,·in·a
165 large-scale·test·environment.</p><p><code·class="inline">ExclNodes</code>·is·a·list·of·nodes·to·be·excluded·from·the·test.·That·is,·tests·that165 large-scale·test·environment.</p><p><code·class="inline">ExclNodes</code>·is·a·list·of·nodes·to·be·excluded·from·the·test.·That·is,·tests·that
166 are·specified·in·the·test·specification·to·run·on·a·particular·node·are·not166 are·specified·in·the·test·specification·to·run·on·a·particular·node·are·not
Offset 192, 40 lines modifiedOffset 192, 40 lines modified
192 achieved·using·constants).·The·alias·is·declared·with·a·<code·class="inline">node</code>·term·as·follows:</p><p><code·class="inline">{node,·NodeAlias,·NodeName}</code></p><p>If·<code·class="inline">NodeRefs</code>·has·the·value·<code·class="inline">all_nodes</code>,·the·operation·or·test·is·performed·on192 achieved·using·constants).·The·alias·is·declared·with·a·<code·class="inline">node</code>·term·as·follows:</p><p><code·class="inline">{node,·NodeAlias,·NodeName}</code></p><p>If·<code·class="inline">NodeRefs</code>·has·the·value·<code·class="inline">all_nodes</code>,·the·operation·or·test·is·performed·on
193 all·specified·test·nodes.·(Declaring·a·term·without·a·<code·class="inline">NodeRefs</code>·element·has·the193 all·specified·test·nodes.·(Declaring·a·term·without·a·<code·class="inline">NodeRefs</code>·element·has·the
194 same·effect).·If·<code·class="inline">NodeRefs</code>·has·the·value·<code·class="inline">master</code>,·the·operation·is·only194 same·effect).·If·<code·class="inline">NodeRefs</code>·has·the·value·<code·class="inline">master</code>,·the·operation·is·only
195 performed·on·the·<code·class="inline">Common·Test</code>·Master·node·(namely·set·the·log·directory·or195 performed·on·the·<code·class="inline">Common·Test</code>·Master·node·(namely·set·the·log·directory·or
196 install·an·event·handler).</p><p>Consider·the·example·in·section196 install·an·event·handler).</p><p>Consider·the·example·in·section
197 <a·href="run_test_chapter.html#test_specifications">Test·Specifications</a>·in·section197 <a·href="run_test_chapter.html#test_specifications">Test·Specifications</a>·in·section
198 Running·Tests·and·Analysing·Results,·now·extended·with·node·information·and198 Running·Tests·and·Analysing·Results,·now·extended·with·node·information·and
199 intended·to·be·executed·by·<code·class="inline">Common·Test</code>·Master:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1515193315-1">{</span><span·class="ss">define</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;Top&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/home/test&quot;</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·dc8fe8bb437356c391fdfda2d9ecaf35b1864770768e3d314f18280cfcae5bb3·...·]-1">}</span><span·class="p">.</span><span·class="w">199 intended·to·be·executed·by·<code·class="inline">Common·Test</code>·Master:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1555511374-1">{</span><span·class="ss">define</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;Top&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/home/test&quot;</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·23c63f44dd8e2567f0acce4a3a8e834c31e82fa2837974d83771327d35abad81·...·]-1">}</span><span·class="p">.</span><span·class="w">
200 </span><span·class="p"·data-group-id="1515193315-2">{</span><span·class="ss">define</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;Top&#39;/t1&quot;</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·2a1f89c49f8fd6439fcce1b2df3d415f7694b7266850a615b37e0282ba209c2a·...·]-2">}</span><span·class="p">.</span><span·class="w">200 </span><span·class="p"·data-group-id="1555511374-2">{</span><span·class="ss">define</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;Top&#39;/t1&quot;</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·777d68e4c9b1d59d933bf67a0708f4150fa761341a4520610e8c0b279640d10b·...·]-2">}</span><span·class="p">.</span><span·class="w">
201 </span><span·class="p"·data-group-id="1515193315-3">{</span><span·class="ss">define</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T2&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;Top&#39;/t2&quot;</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·2a1f89c49f8fd6439fcce1b2df3d415f7694b7266850a615b37e0282ba209c2a·...·]-3">}</span><span·class="p">.</span><span·class="w">201 </span><span·class="p"·data-group-id="1555511374-3">{</span><span·class="ss">define</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T2&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;Top&#39;/t2&quot;</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·777d68e4c9b1d59d933bf67a0708f4150fa761341a4520610e8c0b279640d10b·...·]-3">}</span><span·class="p">.</span><span·class="w">
202 </span><span·class="p"·data-group-id="1515193315-4">{</span><span·class="ss">define</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T3&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;Top&#39;/t3&quot;</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·2a1f89c49f8fd6439fcce1b2df3d415f7694b7266850a615b37e0282ba209c2a·...·]-4">}</span><span·class="p">.</span><span·class="w">202 </span><span·class="p"·data-group-id="1555511374-4">{</span><span·class="ss">define</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T3&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;Top&#39;/t3&quot;</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·777d68e4c9b1d59d933bf67a0708f4150fa761341a4520610e8c0b279640d10b·...·]-4">}</span><span·class="p">.</span><span·class="w">
203 </span><span·class="p"·data-group-id="1515193315-5">{</span><span·class="ss">define</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;CfgFile&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;config.cfg&quot;</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·de56ea7738f6268e28b0183e4f33a1f7db7ee5b83acf1d7b694d8215da3f5f52·...·]-5">}</span><span·class="p">.</span><span·class="w">203 </span><span·class="p"·data-group-id="1555511374-5">{</span><span·class="ss">define</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;CfgFile&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;config.cfg&quot;</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·fe911313c8aae96354789a78fc6b1eb3283079f53eff081caa46fac4a906e767·...·]-5">}</span><span·class="p">.</span><span·class="w">
204 </span><span·class="p"·data-group-id="1515193315-6">{</span><span·class="ss">define</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;Node&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ct_node</span><span·class="p"·data-group-id="1515193315-6">}</span><span·class="p">.</span><span·class="w">204 </span><span·class="p"·data-group-id="1555511374-6">{</span><span·class="ss">define</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;Node&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ct_node</span><span·class="p"·data-group-id="1555511374-6">}</span><span·class="p">.</span><span·class="w">
  
205 </span><span·class="p"·data-group-id="1515193315-7">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;Node@host_x&#39;</span><span·class="p"·data-group-id="1515193[·...·truncated·by·diffoscope;·len:·3,·SHA:·377adeb4cd4096adc7ca64b533938cffc6294a9b3534f883b2336a26252cda9a·...·]-7">}</span><span·class="p">.</span><span·class="w">205 </span><span·class="p"·data-group-id="1555511374-7">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;Node@host_x&#39;</span><span·class="p"·data-group-id="1555511[·...·truncated·by·diffoscope;·len:·3,·SHA:·01299ac65733b5a3d774265fbfe8396b8611e5e3321855dbc541cd301e71fe5e·...·]-7">}</span><span·class="p">.</span><span·class="w">
206 </span><span·class="p"·data-group-id="1515193315-8">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;Node@host_y&#39;</span><span·class="p"·data-group-id="1515193[·...·truncated·by·diffoscope;·len:·3,·SHA:·377adeb4cd4096adc7ca64b533938cffc6294a9b3534f883b2336a26252cda9a·...·]-8">}</span><span·class="p">.</span><span·class="w">206 </span><span·class="p"·data-group-id="1555511374-8">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;Node@host_y&#39;</span><span·class="p"·data-group-id="1555511[·...·truncated·by·diffoscope;·len:·3,·SHA:·01299ac65733b5a3d774265fbfe8396b8611e5e3321855dbc541cd301e71fe5e·...·]-8">}</span><span·class="p">.</span><span·class="w">
  
207 </span><span·class="p"·data-group-id="1515193315-9">{</span><span·class="ss">logdir</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">master</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;Top&#39;/master_logs&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·fab59fd2bc149eb99a49736c57106b1b54f56bf40c0bc1c7840a6874a706455f·...·]-9">}</span><span·class="p">.</span><span·class="w">207 </span><span·class="p"·data-group-id="1555511374-9">{</span><span·class="ss">logdir</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">master</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;Top&#39;/master_logs&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·b3cbb38fa0da328bf1160c9bea26fcbf97996c8458c3e3d9390575f9b7b0c11c·...·]-9">}</span><span·class="p">.</span><span·class="w">
208 </span><span·class="p"·data-group-id="1515193315-10">{</span><span·class="ss">logdir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;Top&#39;/logs&quot;</span><span·class="p"·data-group-id="1515193315-10">}</span><span·class="p">.</span><span·class="w">208 </span><span·class="p"·data-group-id="1555511374-10">{</span><span·class="ss">logdir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;Top&#39;/logs&quot;</span><span·class="p"·data-group-id="1555511374-10">}</span><span·class="p">.</span><span·class="w">
  
209 </span><span·class="p"·data-group-id="1515193315-11">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;T1&#39;/&#39;CfgFile&#39;&quot;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·4240d93a70428eeb389cff9eede6662861969d634bba6304ab822e15ee3b3bae·...·]-11">}</span><span·class="p">.</span><span·class="w">209 </span><span·class="p"·data-group-id="1555511374-11">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;T1&#39;/&#39;CfgFile&#39;&quot;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·65fb22f21b9b0c6271cc43b3c1450997968cb8bb18f045a6278172a1258da2bc·...·]-11">}</span><span·class="p">.</span><span·class="w">
210 </span><span·class="p"·data-group-id="1515193315-12">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node2</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;T2&#39;/&#39;CfgFile&#39;&quot;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·4240d93a70428eeb389cff9eede6662861969d634bba6304ab822e15ee3b3bae·...·]-12">}</span><span·class="p">.</span><span·class="w">210 </span><span·class="p"·data-group-id="1555511374-12">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node2</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;T2&#39;/&#39;CfgFile&#39;&quot;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·65fb22f21b9b0c6271cc43b3c1450997968cb8bb18f045a6278172a1258da2bc·...·]-12">}</span><span·class="p">.</span><span·class="w">
211 </span><span·class="p"·data-group-id="1515193315-13">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;T3&#39;/&#39;CfgFile&#39;&quot;</span><span·class="p"·data-group-id="1515193315-13">}</span><span·class="p">.</span><span·class="w">211 </span><span·class="p"·data-group-id="1555511374-13">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&#39;T3&#39;/&#39;CfgFile&#39;&quot;</span><span·class="p"·data-group-id="1555511374-13">}</span><span·class="p">.</span><span·class="w">
  
212 </span><span·class="p"·data-group-id="1515193315-14">{</span><span·class="ss">suites</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T1&#39;</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·72,·SHA:·eec9fdb0485d8991882a79621484d8ac85ff21437018125cf01e5192f2c4d7c8·...·]-14">}</span><span·class="p">.</span><span·class="w">212 </span><span·class="p"·data-group-id="1555511374-14">{</span><span·class="ss">suites</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T1&#39;</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·72,·SHA:·8a7836cedd576847e9f07770d1a874dd4f547a5a610106bacb2d972c9b5de78a·...·]-14">}</span><span·class="p">.</span><span·class="w">
213 </span><span·class="p"·data-group-id="1515193315-15">{</span><span·class="ss">skip_suites</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T1&#39;</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·346,·SHA:·9bd71fb304a21db19c9f8113d6e7616e87ec835f42034c0bc110cda605734626·...·]-15">}</span><span·class="p">.</span><span·class="w">213 </span><span·class="p"·data-group-id="1555511374-15">{</span><span·class="ss">skip_suites</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T1&#39;</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·346,·SHA:·3b267031cbf9fc170dddad21846d5cb66261535aa7cf012b6e804cfa8e76bb2f·...·]-15">}</span><span·class="p">.</span><span·class="w">
214 </span><span·class="p"·data-group-id="1515193315-17">{</span><span·class="ss">skip_cases</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T1&#39;</span><span·class="p">,</span><span·class="w">[·...·truncated·by·diffoscope;·len:·413,·SHA:·6151aeb3e8c2a0a22e086a0afb1f13665fb7f4b23c7d5d644d5125d019d805f9·...·]-17">}</span><span·class="p">.</span><span·class="w">214 </span><span·class="p"·data-group-id="1555511374-17">{</span><span·class="ss">skip_cases</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T1&#39;</span><span·class="p">,</span><span·class="w">[·...·truncated·by·diffoscope;·len:·413,·SHA:·f52ab865867a225d26ac73fee7ba09c38182dcd5930ade5e83ce72e55c3fb434·...·]-17">}</span><span·class="p">.</span><span·class="w">
215 </span><span·class="p"·data-group-id="1515193315-19">{</span><span·class="ss">skip_cases</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T1&#39;</span><span·class="p">,</span><span·class="w">[·...·truncated·by·diffoscope;·len:·356,·SHA:·20d840be7294472148ca614f80f7170f2a78df47f7b0639f954e870dc591912e·...·]-19">}</span><span·class="p">.</span><span·class="w">215 </span><span·class="p"·data-group-id="1555511374-19">{</span><span·class="ss">skip_cases</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T1&#39;</span><span·class="p">,</span><span·class="w">[·...·truncated·by·diffoscope;·len:·356,·SHA:·337d6be06ad2eed4c4d500a85fa52f91530806c0a38b87a7499c336b089989c3·...·]-19">}</span><span·class="p">.</span><span·class="w">
  
216 </span><span·class="p"·data-group-id="1515193315-21">{</span><span·class="ss">suites</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T2&#39;</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·243,·SHA:·cde38b2d1a3707965cf1377e5e67352290c93b9ef925346fc10bd3b2856d5413·...·]-21">}</span><span·class="p">.</span><span·class="w">216 </span><span·class="p"·data-group-id="1555511374-21">{</span><span·class="ss">suites</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T2&#39;</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·243,·SHA:·3be3eaa2f86adda6e02e32580818ce484fa93fd9e30b3b6b5f7d6ef0ce14f5d4·...·]-21">}</span><span·class="p">.</span><span·class="w">
217 </span><span·class="p"·data-group-id="1515193315-23">{</span><span·class="ss">cases</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T2&#39;</span><span·class="p">,</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·368,·SHA:·19f38b6f0fc7e595df42cee701b6e30f647cf4d66b6e6911f664d7ccf31ee729·...·]-23">}</span><span·class="p">.</span><span·class="w">217 </span><span·class="p"·data-group-id="1555511374-23">{</span><span·class="ss">cases</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T2&#39;</span><span·class="p">,</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·368,·SHA:·f2494a902794b8b1b22b4e6e5510562d77e90cf73fad6048d59b23f2d207d52e·...·]-23">}</span><span·class="p">.</span><span·class="w">
  
218 </span><span·class="p"·data-group-id="1515193315-25">{</span><span·class="ss">skip_suites</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T3&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">all</span><span·class="p">,</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·98,·SHA:·9dd6c2230612e3ebe8da702d57afad204764b5e7d467a95dd244b6b28ca1f5d4·...·]-25">}</span><span·class="p">.</span></code></pre><p>This·example·specifies·the·same·tests·as·the·original·example.·But·now·if218 </span><span·class="p"·data-group-id="1555511374-25">{</span><span·class="ss">skip_suites</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;T3&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">all</span><span·class="p">,</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·98,·SHA:·565a27085d92f8d620feac4be6f465d5953427855fb6ad94a200ce4d8c0b3645·...·]-25">}</span><span·class="p">.</span></code></pre><p>This·example·specifies·the·same·tests·as·the·original·example.·But·now·if
219 started·with·a·call·to·<code·class="inline">ct_master:run(TestSpecName)</code>,·test·<code·class="inline">t1</code>·is·executed·on219 started·with·a·call·to·<code·class="inline">ct_master:run(TestSpecName)</code>,·test·<code·class="inline">t1</code>·is·executed·on
220 node·<code·class="inline">ct_node@host_x</code>·(<code·class="inline">node1</code>),·test·<code·class="inline">t2</code>·on·<code·class="inline">ct_node@host_y</code>·(<code·class="inline">node2</code>)·and220 node·<code·class="inline">ct_node@host_x</code>·(<code·class="inline">node1</code>),·test·<code·class="inline">t2</code>·on·<code·class="inline">ct_node@host_y</code>·(<code·class="inline">node2</code>)·and
221 test·<code·class="inline">t3</code>·on·both·<code·class="inline">node1</code>·and·<code·class="inline">node2</code>.·Configuration·file·<code·class="inline">t1</code>·is·only·read·on221 test·<code·class="inline">t3</code>·on·both·<code·class="inline">node1</code>·and·<code·class="inline">node2</code>.·Configuration·file·<code·class="inline">t1</code>·is·only·read·on
222 <code·class="inline">node1</code>·and·configuration·file·<code·class="inline">t2</code>·only·on·<code·class="inline">node2</code>,·while·the·configuration222 <code·class="inline">node1</code>·and·configuration·file·<code·class="inline">t2</code>·only·on·<code·class="inline">node2</code>,·while·the·configuration
223 file·<code·class="inline">t3</code>·is·read·on·both·<code·class="inline">node1</code>·and·<code·class="inline">node2</code>.·Both·test·nodes·write·log·files223 file·<code·class="inline">t3</code>·is·read·on·both·<code·class="inline">node1</code>·and·<code·class="inline">node2</code>.·Both·test·nodes·write·log·files
224 to·the·same·directory.·(However,·the·<code·class="inline">Common·Test</code>·Master·node·uses·a·different224 to·the·same·directory.·(However,·the·<code·class="inline">Common·Test</code>·Master·node·uses·a·different
225 log·directory·than·the·test·nodes.)</p><p>If·the·test·session·is·instead·started·with·a·call·to225 log·directory·than·the·test·nodes.)</p><p>If·the·test·session·is·instead·started·with·a·call·to
Offset 240, 21 lines modifiedOffset 240, 21 lines modified
240 always·performed·too,·of·course.</p><h2·id="automatic-startup-of-test-target-nodes"·class="section-heading">240 always·performed·too,·of·course.</p><h2·id="automatic-startup-of-test-target-nodes"·class="section-heading">
241 ··<a·href="#automatic-startup-of-test-target-nodes"·class="hover-link">241 ··<a·href="#automatic-startup-of-test-target-nodes"·class="hover-link">
242 ····<i·class="ri-link-m"·aria-hidden="true"></i>242 ····<i·class="ri-link-m"·aria-hidden="true"></i>
243 ··</a>243 ··</a>
244 ··<span·class="text">Automatic·Startup·of·Test·Target·Nodes</span>244 ··<span·class="text">Automatic·Startup·of·Test·Target·Nodes</span>
245 </h2>245 </h2>
246 <p><a·href=""·id="ct_slave"></a></p><p>Initial·actions·can·be·started·and·performed·automatically·on·test·target·nodes246 <p><a·href=""·id="ct_slave"></a></p><p>Initial·actions·can·be·started·and·performed·automatically·on·test·target·nodes
247 using·test·specification·term·<code·class="inline">init</code>.</p><p>Two·subterms·are·supported,·<code·class="inline">node_start</code>·and·<code·class="inline">eval</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0451142334-1">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1@host1</span><span·class="p"·data-group-id="0451142334-1">}</span><span·class="p">.</span><span·class="w">247 using·test·specification·term·<code·class="inline">init</code>.</p><p>Two·subterms·are·supported,·<code·class="inline">node_start</code>·and·<code·class="inline">eval</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0553634033-1">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1@host1</span><span·class="p"·data-group-id="0553634033-1">}</span><span·class="p">.</span><span·class="w">
248 </span><span·class="p"·data-group-id="0451142334-2">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1@host2</span><span·class="p"·data-group-id="0451142334-2">}</span><span·class="p">.</span><span·class="w">248 </span><span·class="p"·data-group-id="0553634033-2">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1@host2</span><span·class="p"·data-group-id="0553634033-2">}</span><span·class="p">.</span><span·class="w">
249 </span><span·class="p"·data-group-id="0451142334-3">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node2@host2</span><span·class="p"·data-group-id="0451142334-3">}</span><span·class="p">.</span><span·class="w">249 </span><span·class="p"·data-group-id="0553634033-3">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node2@host2</span><span·class="p"·data-group-id="0553634033-3">}</span><span·class="p">.</span><span·class="w">
250 </span><span·class="p"·data-group-id="0451142334-4">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node4</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1@host3</span><span·class="p"·data-group-id="0451142334-4">}</span><span·class="p">.</span><span·class="w">250 </span><span·class="p"·data-group-id="0553634033-4">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node4</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1@host3</span><span·class="p"·data-group-id="0553634033-4">}</span><span·class="p">.</span><span·class="w">
251 </span><span·class="p"·data-group-id="0451142334-5">{</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0451142334-6">[</span><span·class="p"·data-group-id="0451142334-7">{</span><span·class="ss">node_start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0451142334-8">[</span><span·class="p"·data-group-id="0451142334-9">{</span><span·class="ss">callback_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_slave_callback</span><span·class="p"·data-group-id="0451142334-9">}</span><span·class="p"·data-group-id="0451142334-8">]</span><span·class="p"·data-group-id="0451142334-7">}</span><span·class="p"·data-group-id="0451142334-6">]</span><span·class="p"·data-group-id="0451142334-5">}</span><span·class="p">.</span><span·class="w"> 
252 </span><span·class="p"·data-group-id="0451142334-10">{</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0451142334-11">[</span><span·class="ss">node2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node3</spa[·...·truncated·by·diffoscope;·len:·958,·SHA:·759a6e4b24e49770533d2d1c0df720d6483d45b468439798aef097bb1dfdcd93·...·]">}</span><span·class="p">.</span><span·class="w">251 </span><span·class="p"·data-group-id="0553634033-5">{</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0553634033-6">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·595,·SHA:·735f46832247252eaa8ce0d2b83b74d2cbb02cf1d38d9f8f9bb6fbcdbf2f223d·...·]">}</span><span·class="p">.</span><span·class="w">
 252 </span><span·class="p"·data-group-id="0553634033-10">{</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0553634033-11">[</span><span·class="ss">node2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node3</span><span·class="p"·data-group-id="0553634033-11">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0553634033-12">{</span><span·class="ss">node_start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0553634033-13">[</span><span·class="p"·data-group-id="0553634033-14">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;ct_user&quot;</span><span·class="p"·data-group-id="0553634033-14">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0553634033-15">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;ct_password&quot;</span><span·class="p"·data-group-id="0553634033-15">}</span><span·class="p"·data-group-id="0553634033-13">]</span><span·class="p"·data-group-id="0553634033-12">}</span><span·class="p"·data-group-id="0553634033-10">}</span><span·class="p">.</span><span·class="w">
253 </span><span·class="p"·data-group-id="0451142334-16">{</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0451142334-17">{</span><span·class="ss">eval</span[·...·truncated·by·diffoscope;·len:·518,·SHA:·faa796ded9ea705cc4ba5fa895f9c364b0b0bd73dd07b3f8a21d2ef270223fa9·...·]-16">}</span><span·class="p">.</span></code></pre><p>This·test·specification·declares·that·<code·class="inline">node1@host1</code>·is·to·be·started·using·the253 </span><span·class="p"·data-group-id="0553634033-16">{</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0553634033-17">{</span><span·class="ss">eval</span[·...·truncated·by·diffoscope;·len:·518,·SHA:·ebd0ae5e75c956a38b6aa2ddac856e5abb0f5203576a5bc01b4b7d6dcb8bdc72·...·]-16">}</span><span·class="p">.</span></code></pre><p>This·test·specification·declares·that·<code·class="inline">node1@host1</code>·is·to·be·started·using·the
254 user·callback·function·<code·class="inline">callback_module:my_slave_callback/0</code>,·and·nodes254 user·callback·function·<code·class="inline">callback_module:my_slave_callback/0</code>,·and·nodes
255 <code·class="inline">node1@host2</code>·and·<code·class="inline">node2@host2</code>·are·to·be·started·with·the·default·callback255 <code·class="inline">node1@host2</code>·and·<code·class="inline">node2@host2</code>·are·to·be·started·with·the·default·callback
256 module·<code·class="inline">ct_slave</code>.·The·specified·username·and·password·are·used·to·log·on·to256 module·<code·class="inline">ct_slave</code>.·The·specified·username·and·password·are·used·to·log·on·to
257 remote·host·<code·class="inline">host2</code>.·Also,·function·<code·class="inline">module:function/0</code>·is·evaluated·on257 remote·host·<code·class="inline">host2</code>.·Also,·function·<code·class="inline">module:function/0</code>·is·evaluated·on
258 <code·class="inline">node1@host3</code>,·and·the·result·of·this·call·is·printed·to·the·log.</p><p>The·default·callback·module·<a·href="ct_slave.html"><code·class="inline">ct_slave</code></a>,·has·the·following·features:</p><ul><li>Starting·Erlang·target·nodes·on·local·or·remote·hosts·(application·<code·class="inline">SSH</code>·is258 <code·class="inline">node1@host3</code>,·and·the·result·of·this·call·is·printed·to·the·log.</p><p>The·default·callback·module·<a·href="ct_slave.html"><code·class="inline">ct_slave</code></a>,·has·the·following·features:</p><ul><li>Starting·Erlang·target·nodes·on·local·or·remote·hosts·(application·<code·class="inline">SSH</code>·is
259 used·for·communication).</li><li>Ability·to·start·an·Erlang·emulator·with·more·flags·(any·flags·supported·by259 used·for·communication).</li><li>Ability·to·start·an·Erlang·emulator·with·more·flags·(any·flags·supported·by
260 <code·class="inline">erl</code>·are·supported).</li><li>Supervision·of·a·node·being·started·using·internal·callback·functions.·Used·to260 <code·class="inline">erl</code>·are·supported).</li><li>Supervision·of·a·node·being·started·using·internal·callback·functions.·Used·to
Offset 310, 15 lines modifiedOffset 310, 15 lines modified
310 ······<p·class="built-using">310 ······<p·class="built-using">
311 ········Built·using311 ········Built·using
312 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the312 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
313 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>313 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
314 ······</p>314 ······</p>
315 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>315 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
316 ····</footer>316 ····</footer>
317 ··</div>317 ··</div>
318 </main>318 </main>
319 </div>319 </div>
320 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>320 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
321 ··<script>321 ··<script>
322 ··let·initialized·=·false;322 ··let·initialized·=·false;
720 B
html2text {}
Max HTML report size reached
28.9 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_netconfc.html
    
Offset 133, 50 lines modifiedOffset 133, 50 lines modified
133 and·with·support·for·RFC·5277,·NETCONF·Event·Notifications.</p><p><a·href=""·id="Connecting"></a></p><p><em>Connecting·to·a·NETCONF·server</em></p><p>Call·<a·href="#connect/1"><code·class="inline">connect/1,2</code></a>·to·establish·a·connection·to·a·server,·then133 and·with·support·for·RFC·5277,·NETCONF·Event·Notifications.</p><p><a·href=""·id="Connecting"></a></p><p><em>Connecting·to·a·NETCONF·server</em></p><p>Call·<a·href="#connect/1"><code·class="inline">connect/1,2</code></a>·to·establish·a·connection·to·a·server,·then
134 pass·the·returned·handle·to·<a·href="#session/1"><code·class="inline">session/1-3</code></a>·to·establish·a·NETCONF134 pass·the·returned·handle·to·<a·href="#session/1"><code·class="inline">session/1-3</code></a>·to·establish·a·NETCONF
135 session·on·a·new·SSH·channel.·Each·call·to·<a·href="#session/1"><code·class="inline">session/1-3</code></a>135 session·on·a·new·SSH·channel.·Each·call·to·<a·href="#session/1"><code·class="inline">session/1-3</code></a>
136 establishes·a·new·session·on·the·same·connection,·and·results·in·a·hello·message136 establishes·a·new·session·on·the·same·connection,·and·results·in·a·hello·message
137 to·the·server.</p><p>Alternately,·<a·href="#open/1"><code·class="inline">open/1,2</code></a>·can·be·used·to·establish·a·single·session·on137 to·the·server.</p><p>Alternately,·<a·href="#open/1"><code·class="inline">open/1,2</code></a>·can·be·used·to·establish·a·single·session·on
138 a·dedicated·connection.·(Or,·equivalently,·<a·href="#only_open/1"><code·class="inline">only_open/1,2</code></a>138 a·dedicated·connection.·(Or,·equivalently,·<a·href="#only_open/1"><code·class="inline">only_open/1,2</code></a>
139 followed·by·<a·href="#hello/1"><code·class="inline">hello/1-3</code></a>.)</p><p>Connect/session·options·can·be·specified·in·a·configuration·file·with·entries139 followed·by·<a·href="#hello/1"><code·class="inline">hello/1-3</code></a>.)</p><p>Connect/session·options·can·be·specified·in·a·configuration·file·with·entries
140 like·the·following.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6767570929-1">{</span><span·class="nf">server_id</span><span·class="p"·data-group-id="6767570929-2">(</span><span·class="p"·data-group-id="6767570929-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6767570929-3">[<[·...·truncated·by·diffoscope;·len:·236,·SHA:·028be2be8d5139e7f73415e9e455fe3af49d209f7132f838354fc05993c41a9c·...·]-1">}</span><span·class="p">.</span></code></pre><p>The·<a·href="#t:server_id/0"><code·class="inline">server_id/0</code></a>·or·an·associated·<a·href="ct.html#t:target_name/0"><code·class="inline">ct:target_name/0</code></a>·can·then·be·passed·to140 like·the·following.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4690055785-1">{</span><span·class="nf">server_id</span><span·class="p"·data-group-id="4690055785-2">(</span><span·class="p"·data-group-id="4690055785-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4690055785-3">[<[·...·truncated·by·diffoscope;·len:·236,·SHA:·f815ebfc08ba34cc868387ada016f0a1abe02b4bfc15893ccf0bef381a85310e·...·]-1">}</span><span·class="p">.</span></code></pre><p>The·<a·href="#t:server_id/0"><code·class="inline">server_id/0</code></a>·or·an·associated·<a·href="ct.html#t:target_name/0"><code·class="inline">ct:target_name/0</code></a>·can·then·be·passed·to
141 the·aforementioned·functions·to·use·the·referenced·configuration.</p><p><a·href=""·id="Signaling"></a></p><p><em>Signaling</em></p><p>Protocol·operations·in·the·NETCONF·protocol·are·realized·as·remote·procedure141 the·aforementioned·functions·to·use·the·referenced·configuration.</p><p><a·href=""·id="Signaling"></a></p><p><em>Signaling</em></p><p>Protocol·operations·in·the·NETCONF·protocol·are·realized·as·remote·procedure
142 calls·(RPCs)·from·client·to·server·and·a·corresponding·reply·from·server·to142 calls·(RPCs)·from·client·to·server·and·a·corresponding·reply·from·server·to
143 client.·RPCs·are·sent·using·like-named·functions·(eg.143 client.·RPCs·are·sent·using·like-named·functions·(eg.
144 <a·href="#edit_config/3"><code·class="inline">edit_config/3-5</code></a>·to·send·an·edit-config·RPC),·with·the144 <a·href="#edit_config/3"><code·class="inline">edit_config/3-5</code></a>·to·send·an·edit-config·RPC),·with·the
145 server·reply·as·return·value.·There·are·functions·for·each·RPC·defined·in·RFC145 server·reply·as·return·value.·There·are·functions·for·each·RPC·defined·in·RFC
146 6241·and·the·create-subscription·RPC·from·RFC·5277,·all·of·which·are·wrappers·on146 6241·and·the·create-subscription·RPC·from·RFC·5277,·all·of·which·are·wrappers·on
147 <a·href="#send_rpc/2"><code·class="inline">send_rpc/2,3</code></a>,·that·can·be·used·to·send·an·arbitrary·RPC·not147 <a·href="#send_rpc/2"><code·class="inline">send_rpc/2,3</code></a>,·that·can·be·used·to·send·an·arbitrary·RPC·not
148 defined·in·RFC·6241·or·RFC·5277.</p><p>All·of·the·signaling·functions·have·one·variant·with·a·<code·class="inline">Timeout</code>·argument·and148 defined·in·RFC·6241·or·RFC·5277.</p><p>All·of·the·signaling·functions·have·one·variant·with·a·<code·class="inline">Timeout</code>·argument·and
149 one·without,·corresponding·to·an·infinite·timeout.·The·latter·is·inappropriate149 one·without,·corresponding·to·an·infinite·timeout.·The·latter·is·inappropriate
150 in·most·cases·since·a·non-response·by·the·server·or·a·missing·message-id·causes150 in·most·cases·since·a·non-response·by·the·server·or·a·missing·message-id·causes
151 the·call·to·hang·indefinitely.</p><p><a·href=""·id="Logging"></a></p><p><em>Logging</em></p><p>The·NETCONF·server·uses·<code·class="inline">error_logger</code>·for·logging·of·NETCONF·traffic.·A·special151 the·call·to·hang·indefinitely.</p><p><a·href=""·id="Logging"></a></p><p><em>Logging</em></p><p>The·NETCONF·server·uses·<code·class="inline">error_logger</code>·for·logging·of·NETCONF·traffic.·A·special
152 purpose·error·handler·is·implemented·in·<code·class="inline">ct_conn_log_h</code>.·To·use·this·error152 purpose·error·handler·is·implemented·in·<code·class="inline">ct_conn_log_h</code>.·To·use·this·error
153 handler,·add·the·<code·class="inline">cth_conn_log</code>·hook·in·the·test·suite,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="4480220984-1">(</span><span·class="p"·data-group-id="4480220984-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">153 handler,·add·the·<code·class="inline">cth_conn_log</code>·hook·in·the·test·suite,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="1554987536-1">(</span><span·class="p"·data-group-id="1554987536-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
154 ····</span><span·class="p"·data-group-id="4480220984-2">[</span><span·class="p"·data-group-id="4480220984-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4480220984-4">[</span><span·class="p"·data-group-id="4480220984-5">{</[·...·truncated·by·diffoscope;·len:·937,·SHA:·5b8585600487f6be7aa0aec47b12d1ddc7b54bc0d0ce2c6f08485ade095f04a1·...·]-2">]</span><span·class="p">.</span></code></pre><p><code·class="inline">conn_log_mod()</code>·is·the·name·of·the·<code·class="inline">Common·Test</code>·module·implementing·the154 ····</span><span·class="p"·data-group-id="1554987536-2">[</span><span·class="p"·data-group-id="1554987536-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1554987536-4">[</span><span·class="p"·data-group-id="1554987536-5">{</[·...·truncated·by·diffoscope;·len:·937,·SHA:·b5323709af612682b3eb900f9dd39f95c27705d7aabe6b41b54bdb0bf9071b63·...·]-2">]</span><span·class="p">.</span></code></pre><p><code·class="inline">conn_log_mod()</code>·is·the·name·of·the·<code·class="inline">Common·Test</code>·module·implementing·the
155 connection·protocol,·for·example,·<code·class="inline">ct_netconfc</code>.</p><p>Hook·option·<code·class="inline">log_type</code>·specifies·the·type·of·logging:</p><ul><li><p><strong><code·class="inline">raw</code></strong>·-·The·sent·and·received·NETCONF·data·is·logged·to·a·separate·text155 connection·protocol,·for·example,·<code·class="inline">ct_netconfc</code>.</p><p>Hook·option·<code·class="inline">log_type</code>·specifies·the·type·of·logging:</p><ul><li><p><strong><code·class="inline">raw</code></strong>·-·The·sent·and·received·NETCONF·data·is·logged·to·a·separate·text
156 file·&quot;as·is&quot;·without·any·formatting.·A·link·to·the·file·is·added·to·the·test156 file·&quot;as·is&quot;·without·any·formatting.·A·link·to·the·file·is·added·to·the·test
157 case·HTML·log.</p></li><li><p><strong><code·class="inline">pretty</code></strong>·-·The·sent·and·received·NETCONF·data·is·logged·to·a·separate·text157 case·HTML·log.</p></li><li><p><strong><code·class="inline">pretty</code></strong>·-·The·sent·and·received·NETCONF·data·is·logged·to·a·separate·text
158 file·with·XML·data·nicely·indented.·A·link·to·the·file·is·added·to·the·test158 file·with·XML·data·nicely·indented.·A·link·to·the·file·is·added·to·the·test
159 case·HTML·log.</p></li><li><p><strong><code·class="inline">html·(default)</code></strong>·-·The·sent·and·received·NETCONF·traffic·is·pretty·printed159 case·HTML·log.</p></li><li><p><strong><code·class="inline">html·(default)</code></strong>·-·The·sent·and·received·NETCONF·traffic·is·pretty·printed
160 directly·in·the·test·case·HTML·log.</p></li><li><p><strong><code·class="inline">silent</code></strong>·-·NETCONF·traffic·is·not·logged.</p></li></ul><p>By·default,·all·NETCONF·traffic·is·logged·in·one·single·log·file.·However,160 directly·in·the·test·case·HTML·log.</p></li><li><p><strong><code·class="inline">silent</code></strong>·-·NETCONF·traffic·is·not·logged.</p></li></ul><p>By·default,·all·NETCONF·traffic·is·logged·in·one·single·log·file.·However,
161 different·connections·can·be·logged·in·separate·files.·To·do·this,·use·hook161 different·connections·can·be·logged·in·separate·files.·To·do·this,·use·hook
162 option·<code·class="inline">hosts</code>·and·list·the·names·of·the·servers/connections·to·be·used·in·the162 option·<code·class="inline">hosts</code>·and·list·the·names·of·the·servers/connections·to·be·used·in·the
163 suite.·The·connections·must·be·named·for·this·to·work,·that·is,·they·must·be163 suite.·The·connections·must·be·named·for·this·to·work,·that·is,·they·must·be
164 opened·with·<a·href="#open/2"><code·class="inline">open/2</code></a>.</p><p>Option·<code·class="inline">hosts</code>·has·no·effect·if·<code·class="inline">log_type</code>·is·set·to·<code·class="inline">html</code>·or·<code·class="inline">silent</code>.</p><p>The·hook·options·can·also·be·specified·in·a·configuration·file·with164 opened·with·<a·href="#open/2"><code·class="inline">open/2</code></a>.</p><p>Option·<code·class="inline">hosts</code>·has·no·effect·if·<code·class="inline">log_type</code>·is·set·to·<code·class="inline">html</code>·or·<code·class="inline">silent</code>.</p><p>The·hook·options·can·also·be·specified·in·a·configuration·file·with
165 configuration·variable·<code·class="inline">ct_conn_log</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0927270267-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="p"·data-group-id="0927270267-2">[</span><span·class="p"·data-group-id="0927270267-3">{</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">con[·...·truncated·by·diffoscope;·len:·1139,·SHA:·18e76bd39e9549670dfeb110cf346124d42c359b6845d9c59604b3f0e84892ca·...·]-5">}</span><span·class="p">,</span><span·class="w">165 configuration·variable·<code·class="inline">ct_conn_log</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0552568620-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="p"·data-group-id="0552568620-2">[</span><span·class="p"·data-group-id="0552568620-3">{</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">con[·...·truncated·by·diffoscope;·len:·1139,·SHA:·0cf65e4baae836416d4ac65646d4495dc40d5d5bb6f492dc353183d2772049e8·...·]-5">}</span><span·class="p">,</span><span·class="w">
166 ····························</span><span·class="p"·data-group-id="6572990820-6">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="6572990820-7">[</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">key_or_name</span><span·class="p"·data-group-id="6572990820-8[·...·truncated·by·diffoscope;·len:·369,·SHA:·c4dbba6db9368c6210735983bdfbc5f219327b019a023e38f88182fb11b8b3b3·...·]-1">}</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Hook·options·specified·in·a·configuration·file·overwrite·the·hard-coded·hook166 ····························</span><span·class="p"·data-group-id="0758641267-6">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="0758641267-7">[</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">key_or_name</span><span·class="p"·data-group-id="0758641267-8[·...·truncated·by·diffoscope;·len:·369,·SHA:·9588ad975b1e496bfa1519cd488c55f1774966a115f0aa263cb17d2b984078b7·...·]-1">}</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Hook·options·specified·in·a·configuration·file·overwrite·the·hard-coded·hook
167 options·in·the·test·suite.</p></section><p><em>Logging·Example·1:</em></p><p><a·href=""·id="Logging_example_1"></a></p><p>The·following·<code·class="inline">ct_hooks</code>·statement·causes·pretty·printing·of·NETCONF·traffic·to167 options·in·the·test·suite.</p></section><p><em>Logging·Example·1:</em></p><p><a·href=""·id="Logging_example_1"></a></p><p>The·following·<code·class="inline">ct_hooks</code>·statement·causes·pretty·printing·of·NETCONF·traffic·to
168 separate·logs·for·the·connections·named·<code·class="inline">nc_server1</code>·and·<code·class="inline">nc_server2</code>.·Any·other168 separate·logs·for·the·connections·named·<code·class="inline">nc_server1</code>·and·<code·class="inline">nc_server2</code>.·Any·other
169 connections·are·logged·to·default·NETCONF·log.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="5772636326-1">(</span><span·class="p"·data-group-id="5772636326-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">169 connections·are·logged·to·default·NETCONF·log.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="5524504451-1">(</span><span·class="p"·data-group-id="5524504451-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
170 ···</span><span·class="p"·data-group-id="5772636326-2">[</span><span·class="p"·data-group-id="5772636326-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5772636326-4">[</span><span·class="p"·data-group-id="5772636326-5">{</span><span·class="ss">cth_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5772636326-6">[</span><span·class="p"·data-group-id="5772636326-7">{</span><span·class="ss">ct_netconfc</span><span·class="p">,</span><span·class="p"·data-group-id="5772636326-8">[</span><span·class="p"·data-group-id="5772636326-9">{</span><span·class="ss">log_type</span><span·class="p">,</span><span·class="ss">pretty</span><span·class="p"·data-group-id="5772636326-9">}</span><span·class="p">}</span><span·class="p">,</span><span·class="w"> 
171 ··············································</span><span·class="p"·data-group-id="5772636326-10">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="5772636326-11">[</span><span·class="ss">nc_server1</span><span·class="p">,</span><span·class="ss">nc_server2</span><span·class="p"·data-group-id="5772636326-11">]</span><span·class="p"·data-group-id="5772636326-10">}</span><span·class="p"·data-group-id="5772636326-8">]</span><span·class="p"·data-group-id="5772636326-7">}</span><span·class="w"> 
172 ·······························</span><span·class="p"·data-group-id="5772636326-6">]</span><span·class="p"·data-group-id="5772636326-5">}</span><span·class="p"·data-group-id="5772636326-4">]</span><span·class="p"·data-group-id="5772636326-3">}</span><span·class="p"·data-group-id="5772636326-2">]</span><span·class="p">.</span></code></pre><p>Connections·must·be·opened·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">open</span><span·class="p"·data-group-id="6503267748-1">(</span><span·class="ss">nc_server1</span><span·class="p">,</span><span·class="p"·data-group-id="6503267748-2">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="6503267748-2">]</span><span·class="p"·data-group-id="6503267748-1">)</span><span·class="p">,</span><span·class="w"> 
173 </span><span·class="nf">open</span><span·class="p"·data-group-id="6503267748-3">(</span><span·class="ss">nc_server2</span><span·class="p">,</span><span·class="p"·data-group-id="6503267748-4">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="6503267748-4">]</span><span·class="p"·data-group-id="6503267748-3">)</span><span·class="p">.</span></code></pre><p><em>Logging·Example·2:</em></p><p><a·href=""·id="Logging_example_2"></a></p><p>The·following·configuration·file·causes·raw·logging·of·all·NETCONF·traffic·in·to 
174 one·single·text·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3684401075-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="p"·data-group-id="3684401075-2">[</span><span·class="p"·data-group-id="3684401075-3">{</span><span·class="ss">ct_netconfc</span><span·class="p">,</span><span·class="p"·data-group-id="3684401075-4">[</span><span·class="p"·data-group-id="3684401075-5">{</span><span·class="ss">log_type</span><span·class="p">,</span><span·class="ss">raw</span><span·class="p"·data-group-id="3684401075-5">}</span><span·class="p"·data-group-id="3684401075-4">]</span><span·class="p"·data-group-id="3684401075-3">}</span><span·class="p"·data-group-id="3684401075-2">]</span><span·class="p"·data-group-id="3684401075-1">}</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">ct_hooks</code>·statement·must·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="5446947949-1">(</span><span·class="p"·data-group-id="5446947949-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
175 ····</span><span·class="p"·data-group-id="5446947949-2">[</span><span·class="p"·data-group-id="5446947949-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5446947949-4">[</span><span·cla[·...·truncated·by·diffoscope;·len:·589,·SHA:·f34ee22de6c8e83a87db0f400f5ce21ee3b0647b99551df5d4df754df77c90c0·...·]170 ···</span><span·class="p"·data-group-id="5524504451-2">[</span><span·class="p"·data-group-id="5524504451-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5524504451-4">[</span><span·clas[·...·truncated·by·diffoscope;·len:·601,·SHA:·c50698253e115c5909090a0f65c371e3ae5ef8bea06c5546872e81dd28d96bc8·...·]
 171 ··············································</span><span·class="p"·data-group-id="5524504451-10">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="5524504451-11">[</span><span·class="ss">nc_server1</span><span·class="p">,</span><span·class="ss">nc_server2</span><span·class="p"·data-group-id="5524504451-11">]</span><span·class="p"·data-group-id="5524504451-10">}</span><span·class="p"·data-group-id="5524504451-8">]</span><span·class="p"·data-group-id="5524504451-7">}</span><span·class="w">
 172 ·······························</span><span·class="p"·data-group-id="5524504451-6">]</span><span·class="p"·data-group-id="5524504451-5">}</span><span·class="p"·data-group-id="5524504451-4">]</span><span·class="p"·data-group-id="5524504451-3">}</span><span·class="p"·data-group-id="5524504451-2">]</span><span·class="p">.</span></code></pre><p>Connections·must·be·opened·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">open</span><span·class="p"·data-group-id="5283094727-1">(</span><span·class="ss">nc_server1</span><span·class="p">,</span><span·class="p"·data-group-id="5283094727-2">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="5283094727-2">]</span><span·class="p"·data-group-id="5283094727-1">)</span><span·class="p">,</span><span·class="w">
 173 </span><span·class="nf">open</span><span·class="p"·data-group-id="5283094727-3">(</span><span·class="ss">nc_server2</span><span·class="p">,</span><span·class="p"·data-group-id="5283094727-4">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="5283094727-4">]</span><span·class="p"·data-group-id="5283094727-3">)</span><span·class="p">.</span></code></pre><p><em>Logging·Example·2:</em></p><p><a·href=""·id="Logging_example_2"></a></p><p>The·following·configuration·file·causes·raw·logging·of·all·NETCONF·traffic·in·to
 174 one·single·text·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0263431284-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="p"·data-group-id="0263431284-2">[</span><span·class="p"·data-group-id="0263431284-3">{</span><span·class="ss">ct_netconfc</span><span·class="p">,</span><span·class="p"·data-group-id="0263431284-4">[</span><span·class="p"·data-group-id="0263431284-5">{</span><span·class="ss">log_type</span><span·class="p">,</span><span·class="ss">raw</span><span·class="p"·data-group-id="0263431284-5">}</span><span·class="p"·data-group-id="0263431284-4">]</span><span·class="p"·data-group-id="0263431284-3">}</span><span·class="p"·data-group-id="0263431284-2">]</span><span·class="p"·data-group-id="0263431284-1">}</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">ct_hooks</code>·statement·must·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="6220036859-1">(</span><span·class="p"·data-group-id="6220036859-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
 175 ····</span><span·class="p"·data-group-id="6220036859-2">[</span><span·class="p"·data-group-id="6220036859-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6220036859-4">[</span><span·class="p"·data-group-id="6220036859-5">{</span><span·class="ss">cth_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6220036859-6">[</span><span·class="p"·data-group-id="6220036859-6">]</span><span·class="p"·data-group-id="6220036859-5">}</span><span·class="p"·data-group-id="6220036859-4">]</span><span·class="p"·data-group-id="6220036859-3">}</span><span·class="p"·data-group-id="6220036859-2">]</span><span·class="p">.</span></code></pre><p>The·same·<code·class="inline">ct_hooks</code>·statement·without·the·configuration·file·would·cause·HTML
176 logging·of·all·NETCONF·connections·in·to·the·test·case·HTML·log.</p>176 logging·of·all·NETCONF·connections·in·to·the·test·case·HTML·log.</p>
177 ····</section>177 ····</section>
  
178 </div>178 </div>
  
179 ··<section·id="summary"·class="details-list">179 ··<section·id="summary"·class="details-list">
180 ····<h1·class="section-heading">180 ····<h1·class="section-heading">
Offset 2097, 16 lines modifiedOffset 2097, 16 lines modified
2097 ·························Result·::·ok·|·{error,·<a·href="#t:error_reason/0">error_reason</a>()}.</pre>2097 ·························Result·::·ok·|·{error,·<a·href="#t:error_reason/0">error_reason</a>()}.</pre>
  
2098 ······</div>2098 ······</div>
  
2099 <p>Edits·configuration·data.</p><p>By·default·only·the·running·target·is·available,·unless·the·server·includes2099 <p>Edits·configuration·data.</p><p>By·default·only·the·running·target·is·available,·unless·the·server·includes
2100 <code·class="inline">:candidate</code>·or·<code·class="inline">:startup</code>·in·its·list·of·capabilities.</p><p><code·class="inline">OptParams</code>·can·be·used·for·specifying·optional·parameters·(<code·class="inline">default-operation</code>,2100 <code·class="inline">:candidate</code>·or·<code·class="inline">:startup</code>·in·its·list·of·capabilities.</p><p><code·class="inline">OptParams</code>·can·be·used·for·specifying·optional·parameters·(<code·class="inline">default-operation</code>,
2101 <code·class="inline">test-option</code>,·or·<code·class="inline">error-option</code>)·to·be·added·to·the·<code·class="inline">edit-config</code>·request.·The2101 <code·class="inline">test-option</code>,·or·<code·class="inline">error-option</code>)·to·be·added·to·the·<code·class="inline">edit-config</code>·request.·The
2102 value·must·be·a·list·containing·valid·simple·XML,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4533286091-1">[</span><span·class="p"·data-group-id="4533286091-2">{</span><span·class="ss">&#39;default-operation&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4533286091-3">[</span><span·class="s">&quot;none&qu[·...·truncated·by·diffoscope;·len:·104,·SHA:·fd4a3a549c73c456d01becb9ddc451ec703e44fd35c24b32311fa687c25d6dfa·...·]-2">}</span><span·class="p">,</span><span·class="w">2102 value·must·be·a·list·containing·valid·simple·XML,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0276577407-1">[</span><span·class="p"·data-group-id="0276577407-2">{</span><span·class="ss">&#39;default-operation&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0276577407-3">[</span><span·class="s">&quot;none&qu[·...·truncated·by·diffoscope;·len:·104,·SHA:·b86535bc82cf4f491d86e7dcf8c09c1406c74698a63f2f62c2d602d1de6df82d·...·]-2">}</span><span·class="p">,</span><span·class="w">
2103 ·</span><span·class="p"·data-group-id="4533286091-4">{</span><span·class="ss">&#39;error-option&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4533286091-5">[</span><span·class="s">&quot;rollback-on-error&quot;</span><span·class="p"·data-group-id="4533[·...·truncated·by·diffoscope;·len:·112,·SHA:·428ad46fe3e2893641a7d4cf87dff97dd780be09e46871d5d3f4b17bf343b046·...·]-1">]</span></code></pre><p>If·<code·class="inline">OptParams</code>·is·not·given,·the·default·value·<code·class="inline">[]</code>·is·used.</p>2103 ·</span><span·class="p"·data-group-id="0276577407-4">{</span><span·class="ss">&#39;error-option&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0276577407-5">[</span><span·class="s">&quot;rollback-on-error&quot;</span><span·class="p"·data-group-id="0276[·...·truncated·by·diffoscope;·len:·112,·SHA:·819851ef132c41f723d2e84a5ead6bf707870808330e6df1d851068e3ca487b7·...·]-1">]</span></code></pre><p>If·<code·class="inline">OptParams</code>·is·not·given,·the·default·value·<code·class="inline">[]</code>·is·used.</p>
2104 ··</section>2104 ··</section>
2105 </section>2105 </section>
2106 <section·class="detail"·id="get/2">2106 <section·class="detail"·id="get/2">
  
2107 ··<div·class="detail-header">2107 ··<div·class="detail-header">
2108 ····<a·href="#get/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2108 ····<a·href="#get/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
2109 ······<i·class="ri-link-m"·aria-hidden="true"></i>2109 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3158, 15 lines modifiedOffset 3158, 15 lines modified
3158 ······<p·class="built-using">3158 ······<p·class="built-using">
3159 ········Built·using3159 ········Built·using
3160 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3160 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3161 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3161 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3162 ······</p>3162 ······</p>
3163 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3163 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3164 ····</footer>3164 ····</footer>
3165 ··</div>3165 ··</div>
3166 </main>3166 </main>
3167 </div>3167 </div>
3168 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3168 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3169 ··<script>3169 ··<script>
3170 ··let·initialized·=·false;3170 ··let·initialized·=·false;
702 B
html2text {}
Max HTML report size reached
25.1 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_property_test.html
    
Offset 131, 38 lines modifiedOffset 131, 38 lines modified
131 <p>Support·in·Common·Test·for·running·property-based·tests.</p><p>This·module·helps·running·property-based·tests·in·the·<code·class="inline">Common·Test</code>·framework.131 <p>Support·in·Common·Test·for·running·property-based·tests.</p><p>This·module·helps·running·property-based·tests·in·the·<code·class="inline">Common·Test</code>·framework.
132 One·(or·more)·of·the·property·testing·tools</p><ul><li><a·href="http://www.quviq.com">QuickCheck</a>,</li><li><a·href="https://proper-testing.github.io">PropEr</a>·or</li><li><a·href="https://github.com/krestenkrab/triq">Triq</a></li></ul><p>is·assumed·to·be·installed.</p><p>The·idea·with·this·module·is·to·have·a·<code·class="inline">Common·Test</code>·test·suite·calling·a132 One·(or·more)·of·the·property·testing·tools</p><ul><li><a·href="http://www.quviq.com">QuickCheck</a>,</li><li><a·href="https://proper-testing.github.io">PropEr</a>·or</li><li><a·href="https://github.com/krestenkrab/triq">Triq</a></li></ul><p>is·assumed·to·be·installed.</p><p>The·idea·with·this·module·is·to·have·a·<code·class="inline">Common·Test</code>·test·suite·calling·a
133 property·testing·tool·with·special·property·test·suites·as·defined·by·that·tool.133 property·testing·tool·with·special·property·test·suites·as·defined·by·that·tool.
134 The·tests·are·collected·in·the·<code·class="inline">test</code>·directory·of·the·application.·The·<code·class="inline">test</code>134 The·tests·are·collected·in·the·<code·class="inline">test</code>·directory·of·the·application.·The·<code·class="inline">test</code>
135 directory·has·a·subdirectory·<code·class="inline">property_test</code>,·where·everything·needed·for·the135 directory·has·a·subdirectory·<code·class="inline">property_test</code>,·where·everything·needed·for·the
136 property·tests·are·collected.·The·usual·Erlang·application·directory·structure136 property·tests·are·collected.·The·usual·Erlang·application·directory·structure
137 is·assumed.</p><p>A·typical·<code·class="inline">Common·Test</code>·test·suite·using·<code·class="inline">ct_property_test</code>·is·organized·as137 is·assumed.</p><p>A·typical·<code·class="inline">Common·Test</code>·test·suite·using·<code·class="inline">ct_property_test</code>·is·organized·as
138 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5838680574-1">(</span><span·class="ss">my_prop_test_SUITE</span><span·class="p"·data-group-id="5838680574-1">)</span><span·class="p">.</span><span·class="w">138 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6388220066-1">(</span><span·class="ss">my_prop_test_SUITE</span><span·class="p"·data-group-id="6388220066-1">)</span><span·class="p">.</span><span·class="w">
139 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="5838680574-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="5838680574-2">)</span><span·class="p">.</span><span·class="w">139 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="6388220066-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="6388220066-2">)</span><span·class="p">.</span><span·class="w">
140 </span><span·class="w">140 </span><span·class="w">
141 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="5838680574-3">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="5838680574-3">)</span><span·class="p">.</span><span·class="w">141 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="6388220066-3">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="6388220066-3">)</span><span·class="p">.</span><span·class="w">
  
142 </span><span·class="nf">all</span><span·class="p"·data-group-id="5838680574-4">(</span><span·class="p"·data-group-id="5838680574-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5838680574-5">[</span><span·class="ss">prop_ftp_case</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·67df1b8b61dbc395dec41a06f7dda00bf07d7cd05ed55411509d9ba3a7c64b33·...·]-5">]</span><span·class="p">.</span><span·class="w">142 </span><span·class="nf">all</span><span·class="p"·data-group-id="6388220066-4">(</span><span·class="p"·data-group-id="6388220066-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6388220066-5">[</span><span·class="ss">prop_ftp_case</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·d0e1ab3824a7479bea153a76c5993085b9023f8c10ccf8405c092ba95fa9fc38·...·]-5">]</span><span·class="p">.</span><span·class="w">
  
143 </span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="5838680574-6">(</span><span·class="n">Config</span><span·class="p"·data-group-id="5838680574-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">143 </span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="6388220066-6">(</span><span·class="n">Config</span><span·class="p"·data-group-id="6388220066-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
144 ····</span><span·class="nc">ct_property_test</span><span·class="p">:</span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="5838680574-7">(</span><span·class="n">Config</span><span·class="p"·data-group-id="5838680574-7">)</span><span·class="p">.</span><span·class="w">144 ····</span><span·class="nc">ct_property_test</span><span·class="p">:</span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="6388220066-7">(</span><span·class="n">Config</span><span·class="p"·data-group-id="6388220066-7">)</span><span·class="p">.</span><span·class="w">
  
145 </span><span·class="c1">%%%----·test·case</span><span·class="w">145 </span><span·class="c1">%%%----·test·case</span><span·class="w">
146 </span><span·class="nf">prop_ftp_case</span><span·class="p"·data-group-id="5838680574-8">(</span><span·class="n">Config</span><span·class="p"·data-group-id="5838680574-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">146 </span><span·class="nf">prop_ftp_case</span><span·class="p"·data-group-id="6388220066-8">(</span><span·class="n">Config</span><span·class="p"·data-group-id="6388220066-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
147 ····</span><span·class="nc">ct_property_test</span><span·class="p">:</span><span·class="nf">quickcheck</span><span·class="p"·data-group-id="5838680574-9">(</span><span·class="w">147 ····</span><span·class="nc">ct_property_test</span><span·class="p">:</span><span·class="nf">quickcheck</span><span·class="p"·data-group-id="6388220066-9">(</span><span·class="w">
148 ······</span><span·class="nc">ftp_simple_client_server</span><span·class="p">:</span><span·class="nf">prop_ftp</span><span·class="p"·data-group-id="5838680574-10">(</span><span·class="p"·data-group-id="5838680574-10">)</span><span·class="p">,</span><span·class="w">148 ······</span><span·class="nc">ftp_simple_client_server</span><span·class="p">:</span><span·class="nf">prop_ftp</span><span·class="p"·data-group-id="6388220066-10">(</span><span·class="p"·data-group-id="6388220066-10">)</span><span·class="p">,</span><span·class="w">
149 ······</span><span·class="n">Config</span><span·class="w">149 ······</span><span·class="n">Config</span><span·class="w">
150 ·····</span><span·class="p"·data-group-id="5838680574-9">)</span><span·class="p">.</span></code></pre><p>and·the·the·property·test·module·(in·this·example150 ·····</span><span·class="p"·data-group-id="6388220066-9">)</span><span·class="p">.</span></code></pre><p>and·the·the·property·test·module·(in·this·example
151 <code·class="inline">ftp_simple_client_server.erl</code>)·as·almost·a·usual·property·testing·module·(More151 <code·class="inline">ftp_simple_client_server.erl</code>)·as·almost·a·usual·property·testing·module·(More
152 examples·are·in·<a·href="ct_property_test_chapter.html">the·User's·Guide</a>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3283766929-1">(</span><span·class="ss">ftp_simple_client_server</span><span·class="p"·data-group-id="3283766929-1">)</span><span·class="p">.</span><span·class="w"> 
153 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3283766929-2">(</span><span·class="p"·data-group-id="3283766929-3">[</span><span·class="ss">prop_ftp</span><span·class="p">/</span><span·class="mi">0</span><span·cl[·...·truncated·by·diffoscope;·len:·160,·SHA:·71481d6948d64b26b9c13cc603d26b42eee73e06676be9efc09619251700684f·...·]">)</span><span·class="p">.</span><span·class="w">152 examples·are·in·<a·href="ct_property_test_chapter.html">the·User's·Guide</a>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2209008717-1">(</span><span·class="ss">ft[·...·truncated·by·diffoscope;·len:·72,·SHA:·fb3888a11e7bf3f2828626832fa359b0a3e0a5b147a8efba144e453ece6f5afb·...·]">)</span><span·class="p">.</span><span·class="w">
 153 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2209008717-2">(</span><span·class="p"·data-group-id="2209008717-3">[</span><span·class="ss">prop_ftp</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="2209008717-3">]</span><span·class="p"·data-group-id="2209008717-2">)</span><span·class="p">.</span><span·class="w">
154 </span><span·class="w">154 </span><span·class="w">
155 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="3283766929-4">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="3283766929-4">)</span><span·class="p">.</span><span·class="w">155 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="2209008717-4">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="2209008717-4">)</span><span·class="p">.</span><span·class="w">
  
156 </span><span·class="nf">prop_ftp</span><span·class="p"·data-group-id="3283766929-5">(</span><span·class="p"·data-group-id="3283766929-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">156 </span><span·class="nf">prop_ftp</span><span·class="p"·data-group-id="2209008717-5">(</span><span·class="p"·data-group-id="2209008717-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
157 ····</span><span·class="o">?</span><span·class="n">FORALL</span><span·class="p"·data-group-id="3283766929-6">(</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>157 ····</span><span·class="o">?</span><span·class="n">FORALL</span><span·class="p"·data-group-id="2209008717-6">(</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>
158 ····</section>158 ····</section>
  
159 </div>159 </div>
  
160 ··<section·id="summary"·class="details-list">160 ··<section·id="summary"·class="details-list">
161 ····<h1·class="section-heading">161 ····<h1·class="section-heading">
162 ······<a·class="hover-link"·href="#summary">162 ······<a·class="hover-link"·href="#summary">
Offset 842, 15 lines modifiedOffset 842, 15 lines modified
842 <code·class="inline">{fail,·Explanation}</code>.</p><p>If·support·is·found,·the·option·<code·class="inline">{property_test_tool,ToolModule}</code>·with·the842 <code·class="inline">{fail,·Explanation}</code>.</p><p>If·support·is·found,·the·option·<code·class="inline">{property_test_tool,ToolModule}</code>·with·the
843 selected·tool·main·module·name·(<code·class="inline">eqc</code>,·<code·class="inline">proper</code>·or·<code·class="inline">triq</code>)·is·added·to·the·list843 selected·tool·main·module·name·(<code·class="inline">eqc</code>,·<code·class="inline">proper</code>·or·<code·class="inline">triq</code>)·is·added·to·the·list
844 <code·class="inline">Config</code>·which·then·is·returned.</p><p>The·property·tests·are·assumed·to·be·in·a·subdirectory·named·<code·class="inline">property_test</code>.844 <code·class="inline">Config</code>·which·then·is·returned.</p><p>The·property·tests·are·assumed·to·be·in·a·subdirectory·named·<code·class="inline">property_test</code>.
845 All·found·Erlang·files·in·that·directory·are·compiled·with·one·of·the·macros845 All·found·Erlang·files·in·that·directory·are·compiled·with·one·of·the·macros
846 <code·class="inline">'EQC'</code>,·<code·class="inline">'PROPER'</code>·or·<code·class="inline">'TRIQ'</code>·set,·depending·on·which·tool·that·is·first846 <code·class="inline">'EQC'</code>,·<code·class="inline">'PROPER'</code>·or·<code·class="inline">'TRIQ'</code>·set,·depending·on·which·tool·that·is·first
847 found.·This·could·make·parts·of·the·Erlang·property·tests·code·to·be·included·or847 found.·This·could·make·parts·of·the·Erlang·property·tests·code·to·be·included·or
848 excluded·with·the·macro·directives·<code·class="inline">-ifdef(Macro).</code>·or·<code·class="inline">-ifndef(Macro).</code>.</p><p>The·file(s)·in·the·<code·class="inline">property_test</code>·subdirectory·could,·or·should,·include·the848 excluded·with·the·macro·directives·<code·class="inline">-ifdef(Macro).</code>·or·<code·class="inline">-ifndef(Macro).</code>.</p><p>The·file(s)·in·the·<code·class="inline">property_test</code>·subdirectory·could,·or·should,·include·the
849 ct_property_test·include·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="8419446713-1">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="8419446713-1">)</span><span·class="p">.</span></code></pre><p>This·included·file·will:</p><ul><li>Include·the·correct·tool's·include·file</li><li>Set·the·macro·<code·class="inline">'MOD_eqc'</code>·to·the·correct·module·name·for·the·selected·tool.849 ct_property_test·include·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="0718570455-1">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="0718570455-1">)</span><span·class="p">.</span></code></pre><p>This·included·file·will:</p><ul><li>Include·the·correct·tool's·include·file</li><li>Set·the·macro·<code·class="inline">'MOD_eqc'</code>·to·the·correct·module·name·for·the·selected·tool.
850 That·is,·the·macro·<code·class="inline">'MOD_eqc'</code>·is·set·to·either·<code·class="inline">eqc</code>,·<code·class="inline">proper</code>·or·<code·class="inline">triq</code>.</li></ul>850 That·is,·the·macro·<code·class="inline">'MOD_eqc'</code>·is·set·to·either·<code·class="inline">eqc</code>,·<code·class="inline">proper</code>·or·<code·class="inline">triq</code>.</li></ul>
851 ··</section>851 ··</section>
852 </section>852 </section>
853 <section·class="detail"·id="num_calls/1">853 <section·class="detail"·id="num_calls/1">
  
854 ··<div·class="detail-header">854 ··<div·class="detail-header">
855 ····<a·href="#num_calls/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">855 ····<a·href="#num_calls/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 947, 34 lines modifiedOffset 947, 34 lines modified
947 ····························Config·::·<a·href="../../../../lib/stdlib-7.0/doc/html/proplists.html#t:proplist/0">proplists:proplist</a>(),947 ····························Config·::·<a·href="../../../../lib/stdlib-7.0/doc/html/proplists.html#t:proplist/0">proplists:proplist</a>(),
948 ····························Options0·::·<a·href="../../../../lib/stdlib-7.0/doc/html/proplists.html#t:proplist/0">proplists:proplist</a>().</pre>948 ····························Options0·::·<a·href="../../../../lib/stdlib-7.0/doc/html/proplists.html#t:proplist/0">proplists:proplist</a>().</pre>
  
949 ······</div>949 ······</div>
  
950 <p>Presents·the·result·of·<em>stateful·(statem)·property·testing</em>·using·the·aggregate950 <p>Presents·the·result·of·<em>stateful·(statem)·property·testing</em>·using·the·aggregate
951 function·in·PropEr,·QuickCheck·or·other·similar·property·testing·tool.</p><p>It·is·assumed·to·be·called·inside·the·property·called·by·<a·href="#quickcheck/2"><code·class="inline">quickcheck/2</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">951 function·in·PropEr,·QuickCheck·or·other·similar·property·testing·tool.</p><p>It·is·assumed·to·be·called·inside·the·property·called·by·<a·href="#quickcheck/2"><code·class="inline">quickcheck/2</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
952 </span><span·class="n">RunResult</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">run_parallel_commands</span><span·class="p"·data-group-id="2943449385-1">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cmds</span><span·class="p"·data-group-id="2943449385-1">)</span><span·class="p">,</span><span·class="w">952 </span><span·class="n">RunResult</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">run_parallel_commands</span><span·class="p"·data-group-id="2421732874-1">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cmds</span><span·class="p"·data-group-id="2421732874-1">)</span><span·class="p">,</span><span·class="w">
953 </span><span·class="nc">ct_property_test</span><span·class="p">:</span><span·class="nf">present_result</span><span·class="p"·data-group-id="2943449385-2">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cmds</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RunResult</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·ae219eabb5ab0d050d2067168a0a972199671f67ffb58a8f81b0053dafe61a14·...·]-2">)</span><span·class="w">953 </span><span·class="nc">ct_property_test</span><span·class="p">:</span><span·class="nf">present_result</span><span·class="p"·data-group-id="2421732874-2">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cmds</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RunResult</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·4a1bc46f5dc3915e60e429e86eb18e86d40ccee6e0997c993419117a85931bcd·...·]-2">)</span><span·class="w">
954 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>See·the·<a·href="ct_property_test_chapter.html#stateful1">User's·Guide</a>·for·an·example·of954 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>See·the·<a·href="ct_property_test_chapter.html#stateful1">User's·Guide</a>·for·an·example·of
955 the·usage·and·of·the·default·printout.</p><p>The·<code·class="inline">StatisticsSpec</code>·is·a·list·of·the·tuples:</p><ul><li><code·class="inline">{Title::string(),·CollectFun::fun/1}</code></li><li><code·class="inline">{Title::string(),·FrequencyFun::/0,·CollectFun::fun/1}</code></li></ul><p>Each·tuple·will·produce·one·table·in·the·order·of·their·places·in·the·list.</p><ul><li><p><code·class="inline">Title</code>·will·be·the·title·of·one·result·table</p></li><li><p><code·class="inline">CollectFun</code>·is·called·with·one·argument:·the·<code·class="inline">Cmds</code>.·It·should·return·a·list955 the·usage·and·of·the·default·printout.</p><p>The·<code·class="inline">StatisticsSpec</code>·is·a·list·of·the·tuples:</p><ul><li><code·class="inline">{Title::string(),·CollectFun::fun/1}</code></li><li><code·class="inline">{Title::string(),·FrequencyFun::/0,·CollectFun::fun/1}</code></li></ul><p>Each·tuple·will·produce·one·table·in·the·order·of·their·places·in·the·list.</p><ul><li><p><code·class="inline">Title</code>·will·be·the·title·of·one·result·table</p></li><li><p><code·class="inline">CollectFun</code>·is·called·with·one·argument:·the·<code·class="inline">Cmds</code>.·It·should·return·a·list
956 of·the·values·to·be·counted.·The·following·pre-defined·functions·exist:</p><ul><li><a·href="#cmnd_names/1"><code·class="inline">ct_property_test:cmnd_names/1</code></a>·returns·a·list·of·commands·(function·calls)956 of·the·values·to·be·counted.·The·following·pre-defined·functions·exist:</p><ul><li><a·href="#cmnd_names/1"><code·class="inline">ct_property_test:cmnd_names/1</code></a>·returns·a·list·of·commands·(function·calls)
957 generated·in·the·<code·class="inline">Cmnd</code>·sequence,·without·Module,·Arguments·and·other957 generated·in·the·<code·class="inline">Cmnd</code>·sequence,·without·Module,·Arguments·and·other
958 details.</li><li><a·href="#num_calls/1"><code·class="inline">ct_property_test:num_calls/1</code></a>·returns·a·list·of·the·length·of·commands958 details.</li><li><a·href="#num_calls/1"><code·class="inline">ct_property_test:num_calls/1</code></a>·returns·a·list·of·the·length·of·commands
959 lists</li><li><a·href="#sequential_parallel/1"><code·class="inline">ct_property_test:sequential_parallel/1</code></a>·returns·a·list·with·information959 lists</li><li><a·href="#sequential_parallel/1"><code·class="inline">ct_property_test:sequential_parallel/1</code></a>·returns·a·list·with·information
960 about·sequential·and·parallel·parts·from·<code·class="inline">Tool:parallel_commands/1,2</code></li></ul></li><li><p><code·class="inline">FrequencyFun/0</code>·returns·a·fun/1·which·is·supposed·to·take·a·list·of·items·as960 about·sequential·and·parallel·parts·from·<code·class="inline">Tool:parallel_commands/1,2</code></li></ul></li><li><p><code·class="inline">FrequencyFun/0</code>·returns·a·fun/1·which·is·supposed·to·take·a·list·of·items·as
961 input,·and·return·an·iolist·which·will·be·printed·as·the·table.·Per·default,961 input,·and·return·an·iolist·which·will·be·printed·as·the·table.·Per·default,
962 the·number·of·each·item·is·counted·and·the·percentage·is·printed·for·each.·The962 the·number·of·each·item·is·counted·and·the·percentage·is·printed·for·each.·The
963 list·[a,b,a,a,c]·could·for·example·return</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5905968132-1">[</span><span·class="s">&quot;a·60%\n&quot;</span><span·class="p">,</span><span·class="s">&quot;b·20%\n&quot;</span><span·class="p">,</span><span·class="s">&quot;c·20%\n&quot;</span><span·class="p"·data-group-id="5905968132-1">]</span></code></pre><p>which·will·be·printed·by·the·<code·class="inline">print_fun</code>.·The·default·<code·class="inline">print_fun</code>·will·print963 list·[a,b,a,a,c]·could·for·example·return</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4574087902-1">[</span><span·class="s">&quot;a·60%\n&quot;</span><span·class="p">,</span><span·class="s">&quot;b·20%\n&quot;</span><span·class="p">,</span><span·class="s">&quot;c·20%\n&quot;</span><span·class="p"·data-group-id="4574087902-1">]</span></code></pre><p>which·will·be·printed·by·the·<code·class="inline">print_fun</code>.·The·default·<code·class="inline">print_fun</code>·will·print
964 it·as:</p><pre><code·class="text">a·60%964 it·as:</p><pre><code·class="text">a·60%
965 b·20%965 b·20%
966 c·20%</code></pre></li></ul><p>The·default·<code·class="inline">StatisticsSpec</code>·is:</p><ul><li><p>For·sequential·commands:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2878620571-1">[</span><span·class="p"·data-group-id="2878620571-2">{</span><span·class="s">&quot;Function·calls&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">cmnd_names</span>[·...·truncated·by·diffoscope;·len:·90,·SHA:·b8ff609f37f57bf804c903c3bc2fd5434af030361800e24ca98a71a8c6488f7d·...·]-2">}</span><span·class="p">,</span><span·class="w">966 c·20%</code></pre></li></ul><p>The·default·<code·class="inline">StatisticsSpec</code>·is:</p><ul><li><p>For·sequential·commands:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6275077917-1">[</span><span·class="p"·data-group-id="6275077917-2">{</span><span·class="s">&quot;Function·calls&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">cmnd_names</span>[·...·truncated·by·diffoscope;·len:·90,·SHA:·df869aafd7bd7b5a3c56cbf08ef5c8082d3360f1bac2308baf42f48056d82ba0·...·]-2">}</span><span·class="p">,</span><span·class="w">
967 ·</span><span·class="p"·data-group-id="2878620571-3">{</span><span·class="s">&quot;Length·of·command·sequences&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">print_frequency_ranges</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">967 ·</span><span·class="p"·data-group-id="6275077917-3">{</span><span·class="s">&quot;Length·of·command·sequences&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">print_frequency_ranges</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
968 ··················································</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">num_calls</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="2878620571-3">}</span><span·class="p"·data-group-id="2878620571-1">]</span></code></pre></li><li><p>For·parallel·commands:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2273248232-1">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·322,·SHA:·d132ff9d589da2b72a30e9ae02426b6e0d8482d476c9aeae5b82ab6c2070a01e·...·]-2">}</span><span·class="p">,</span><span·class="w">968 ··················································</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">num_calls</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="6275077917-3">}</span><span·class="p"·data-group-id="6275077917-1">]</span></code></pre></li><li><p>For·parallel·commands:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4928784628-1">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·322,·SHA:·d37013181714b7b0261cf883e4d2e5e25514b674245dbb3b87b047aa02dc925a·...·]-2">}</span><span·class="p">,</span><span·class="w">
969 ·</span><span·class="p"·data-group-id="2273248232-3">{</span><span·class="s">&quot;Function·calls&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">cmnd_names</span><span·class="p">/</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·280145afe34b80852b9453f70a12a40fb517a92ca12fa2d225f4a69175087181·...·]-3">}</span><span·class="p">,</span><span·class="w">969 ·</span><span·class="p"·data-group-id="4928784628-3">{</span><span·class="s">&quot;Function·calls&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">cmnd_names</span><span·class="p">/</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·364e79a03a854e05c566746a7f4a15a42a7f0530bda198696cbaf0a0e6a14d46·...·]-3">}</span><span·class="p">,</span><span·class="w">
970 ·</span><span·class="p"·data-group-id="2273248232-4">{</span><span·class="s">&quot;Length·of·command·sequences&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">print_frequency_ranges</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">970 ·</span><span·class="p"·data-group-id="4928784628-4">{</span><span·class="s">&quot;Length·of·command·sequences&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">print_frequency_ranges</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
971 ··················································</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">num_calls</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="2273248232-4">}</span><span·class="p"·data-group-id="2273248232-1">]</span></code></pre></li></ul>971 ··················································</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">num_calls</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4928784628-4">}</span><span·class="p"·data-group-id="4928784628-1">]</span></code></pre></li></ul>
972 ··</section>972 ··</section>
973 </section>973 </section>
974 <section·class="detail"·id="quickcheck/2">974 <section·class="detail"·id="quickcheck/2">
  
975 ··<div·class="detail-header">975 ··<div·class="detail-header">
976 ····<a·href="#quickcheck/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">976 ····<a·href="#quickcheck/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
977 ······<i·class="ri-link-m"·aria-hidden="true"></i>977 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1055, 15 lines modifiedOffset 1055, 15 lines modified
1055 ······<p·class="built-using">1055 ······<p·class="built-using">
1056 ········Built·using1056 ········Built·using
1057 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1057 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1058 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1058 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1059 ······</p>1059 ······</p>
1060 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1060 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1061 ····</footer>1061 ····</footer>
1062 ··</div>1062 ··</div>
1063 </main>1063 </main>
1064 </div>1064 </div>
1065 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1065 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1066 ··<script>1066 ··<script>
1067 ··let·initialized·=·false;1067 ··let·initialized·=·false;
721 B
html2text {}
Max HTML report size reached
23.1 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_property_test_chapter.html
    
Offset 143, 59 lines modifiedOffset 143, 59 lines modified
143 <p>The·<a·href="ct_property_test.html#">ct_property_test</a>·module·does·the·following:</p><ul><li>Compiles·the·files·with·property·tests·in·the·subdirectory·<code·class="inline">property_test</code></li><li>Tests·properties·in·those·files·using·the·first·found·Property·Testing·Tool.</li><li>Saves·the·results·-·that·is·the·printouts·-·in·the·usual·Common·Test·Log</li></ul><h2·id="introductory-example"·class="section-heading">143 <p>The·<a·href="ct_property_test.html#">ct_property_test</a>·module·does·the·following:</p><ul><li>Compiles·the·files·with·property·tests·in·the·subdirectory·<code·class="inline">property_test</code></li><li>Tests·properties·in·those·files·using·the·first·found·Property·Testing·Tool.</li><li>Saves·the·results·-·that·is·the·printouts·-·in·the·usual·Common·Test·Log</li></ul><h2·id="introductory-example"·class="section-heading">
144 ··<a·href="#introductory-example"·class="hover-link">144 ··<a·href="#introductory-example"·class="hover-link">
145 ····<i·class="ri-link-m"·aria-hidden="true"></i>145 ····<i·class="ri-link-m"·aria-hidden="true"></i>
146 ··</a>146 ··</a>
147 ··<span·class="text">Introductory·Example</span>147 ··<span·class="text">Introductory·Example</span>
148 </h2>148 </h2>
149 <p>Assume·that·we·want·to·test·the·lists:sort/1·function.</p><p>We·need·a·property·to·test·the·function.·In·normal·way,·we·create149 <p>Assume·that·we·want·to·test·the·lists:sort/1·function.</p><p>We·need·a·property·to·test·the·function.·In·normal·way,·we·create
150 <code·class="inline">property_test/ct_prop.erl</code>·module·in·the·<code·class="inline">test</code>·directory·in·our·application:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2464555506-1">(</span><span·class="ss">ct_prop</span><span·class="p"·data-group-id="2464555506-1">)</span><span·class="p">.</span><span·class="w">150 <code·class="inline">property_test/ct_prop.erl</code>·module·in·the·<code·class="inline">test</code>·directory·in·our·application:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2978744337-1">(</span><span·class="ss">ct_prop</span><span·class="p"·data-group-id="2978744337-1">)</span><span·class="p">.</span><span·class="w">
151 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2464555506-2">(</span><span·class="p"·data-group-id="2464555506-3">[</span><span·class="ss">prop_sort</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2464555506-3">]</span><span·class="p"·data-group-id="2464555506-2">)</span><span·class="p">.</span><span·class="w">151 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2978744337-2">(</span><span·class="p"·data-group-id="2978744337-3">[</span><span·class="ss">prop_sort</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2978744337-3">]</span><span·class="p"·data-group-id="2978744337-2">)</span><span·class="p">.</span><span·class="w">
  
152 </span><span·class="c1">%%%·This·will·include·the·.hrl·file·for·the·installed·testing·tool:</span><span·class="w">152 </span><span·class="c1">%%%·This·will·include·the·.hrl·file·for·the·installed·testing·tool:</span><span·class="w">
153 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="2464555506-4">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="2464555506-4">)</span><span·class="p">.</span><span·class="w">153 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="2978744337-4">(</span><span·class="s">&quot;common_test/include/ct_property_test.hrl&quot;</span><span·class="p"·data-group-id="2978744337-4">)</span><span·class="p">.</span><span·class="w">
  
154 </span><span·class="c1">%%%·The·property·we·want·to·check:</span><span·class="w">154 </span><span·class="c1">%%%·The·property·we·want·to·check:</span><span·class="w">
155 </span><span·class="c1">%%%···For·all·possibly·unsorted·lists,</span><span·class="w">155 </span><span·class="c1">%%%···For·all·possibly·unsorted·lists,</span><span·class="w">
156 </span><span·class="c1">%%%···the·result·of·lists:sort/1·is·sorted.</span><span·class="w">156 </span><span·class="c1">%%%···the·result·of·lists:sort/1·is·sorted.</span><span·class="w">
157 </span><span·class="nf">prop_sort</span><span·class="p"·data-group-id="2464555506-5">(</span><span·class="p"·data-group-id="2464555506-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">157 </span><span·class="nf">prop_sort</span><span·class="p"·data-group-id="2978744337-5">(</span><span·class="p"·data-group-id="2978744337-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
158 ····</span><span·class="o">?</span><span·class="n">FORALL</span><span·class="p"·data-group-id="2464555506-6">(</span><span·class="n">UnSorted</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">list</span><span·class="p"·data-group-id="2464555506-7">(</span><span·class="p"·data-group-id="2464555506-7">)</span><span·class="p">,</span><span·class="w">158 ····</span><span·class="o">?</span><span·class="n">FORALL</span><span·class="p"·data-group-id="2978744337-6">(</span><span·class="n">UnSorted</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">list</span><span·class="p"·data-group-id="2978744337-7">(</span><span·class="p"·data-group-id="2978744337-7">)</span><span·class="p">,</span><span·class="w">
159 ············</span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="2464555506-8">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="2464555506-9">(</span><span·class="n">UnSorted</span><span·class="p"·data-group-id="2464555506-9">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·126923ecdbbfc96312fcc71b35b02e8b4923d943fb52971491cffd64227a2fe6·...·]-8">)</span><span·class="w">159 ············</span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="2978744337-8">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="2978744337-9">(</span><span·class="n">UnSorted</span><span·class="p"·data-group-id="2978744337-9">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·806e3e07563b42a02c4a19fb12451b203ee4df3c207976351d9972fa68dcb946·...·]-8">)</span><span·class="w">
160 ···········</span><span·class="p"·data-group-id="2464555506-6">)</span><span·class="p">.</span><span·class="w">160 ···········</span><span·class="p"·data-group-id="2978744337-6">)</span><span·class="p">.</span><span·class="w">
  
161 </span><span·class="c1">%%%·Function·to·check·that·a·list·is·sorted:</span><span·class="w">161 </span><span·class="c1">%%%·Function·to·check·that·a·list·is·sorted:</span><span·class="w">
162 </span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="2464555506-10">(</span><span·class="p"·data-group-id="2464555506-11">[</span><span·class="p"·data-group-id="2464555506-11">]</span><span·class="p"·data-group-id="2464555506-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">162 </span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="2978744337-10">(</span><span·class="p"·data-group-id="2978744337-11">[</span><span·class="p"·data-group-id="2978744337-11">]</span><span·class="p"·data-group-id="2978744337-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
163 ····</span><span·class="ss">true</span><span·class="p">;</span><span·class="w">163 ····</span><span·class="ss">true</span><span·class="p">;</span><span·class="w">
164 </span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="2464555506-12">(</span><span·class="p"·data-group-id="2464555506-13">[</span><span·class="p">_</span><span·class="p"·data-group-id="2464555506-13">]</span><span·class="p"·data-group-id="2464555506-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">164 </span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="2978744337-12">(</span><span·class="p"·data-group-id="2978744337-13">[</span><span·class="p">_</span><span·class="p"·data-group-id="2978744337-13">]</span><span·class="p"·data-group-id="2978744337-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
165 ····</span><span·class="ss">true</span><span·class="p">;</span><span·class="w">165 ····</span><span·class="ss">true</span><span·class="p">;</span><span·class="w">
166 </span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="2464555506-14">(</span><span·class="p"·data-group-id="2464555506-15">[</span><span·class="n">H1</span><span·class="p">,</span><span·class="n">H2</span><span·class="p">|</span><span·class="n">SortedTail</span><span·class="p"·data-group-id="2464555506-15">]</[·...·truncated·by·diffoscope;·len:·46,·SHA:·1605c1800aee037e207538dfc419160de68ab5343dc1b1e57b9d0ff8f8ad3832·...·]-14">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">H1</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="n">H2</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">166 </span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="2978744337-14">(</span><span·class="p"·data-group-id="2978744337-15">[</span><span·class="n">H1</span><span·class="p">,</span><span·class="n">H2</span><span·class="p">|</span><span·class="n">SortedTail</span><span·class="p"·data-group-id="2978744337-15">]</[·...·truncated·by·diffoscope;·len:·46,·SHA:·e3dc0fd1e57b2367f77c9c7a09245333c594ac00de06a9a7c88471cfbd328dd9·...·]-14">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">H1</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="n">H2</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
167 ····</span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="2464555506-16">(</span><span·class="p"·data-group-id="2464555506-17">[</span><span·class="n">H2</span><span·class="p">|</span><span·class="n">SortedTail</span><span·class="p"·data-group-id="2464555506-17">]</span><span·class="p"·data-group-id="2464555506-16">)</span><span·class="p">;</span><span·class="w">167 ····</span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="2978744337-16">(</span><span·class="p"·data-group-id="2978744337-17">[</span><span·class="n">H2</span><span·class="p">|</span><span·class="n">SortedTail</span><span·class="p"·data-group-id="2978744337-17">]</span><span·class="p"·data-group-id="2978744337-16">)</span><span·class="p">;</span><span·class="w">
168 </span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="2464555506-18">(</span><span·class="p">_</span><span·class="p"·data-group-id="2464555506-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">168 </span><span·class="nf">is_sorted</span><span·class="p"·data-group-id="2978744337-18">(</span><span·class="p">_</span><span·class="p"·data-group-id="2978744337-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
169 ····</span><span·class="ss">false</span><span·class="p">.</span></code></pre><p>We·also·need·a·CommonTest·test·suite:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2993190380-1">(</span><span·class="ss">ct_property_test_SUITE</span><span·class="p"·data-group-id="2993190380-1">)</span><span·class="p">.</span><span·class="w">169 ····</span><span·class="ss">false</span><span·class="p">.</span></code></pre><p>We·also·need·a·CommonTest·test·suite:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3052817484-1">(</span><span·class="ss">ct_property_test_SUITE</span><span·class="p"·data-group-id="3052817484-1">)</span><span·class="p">.</span><span·class="w">
170 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="2993190380-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="2993190380-2">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·Only·in·tests!</span><span·class="w">170 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="3052817484-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="3052817484-2">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·Only·in·tests!</span><span·class="w">
171 </span><span·class="w">171 </span><span·class="w">
172 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="2993190380-3">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="2993190380-3">)</span><span·class="p">.</span><span·class="w">172 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="3052817484-3">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="3052817484-3">)</span><span·class="p">.</span><span·class="w">
  
173 </span><span·class="nf">all</span><span·class="p"·data-group-id="2993190380-4">(</span><span·class="p"·data-group-id="2993190380-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2993190380-5">[</span><span·class="ss">prop_sort</span><span·class="w">173 </span><span·class="nf">all</span><span·class="p"·data-group-id="3052817484-4">(</span><span·class="p"·data-group-id="3052817484-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3052817484-5">[</span><span·class="ss">prop_sort</span><span·class="w">
174 ·········</span><span·class="p"·data-group-id="2993190380-5">]</span><span·class="p">.</span><span·class="w">174 ·········</span><span·class="p"·data-group-id="3052817484-5">]</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="c1">%%%·First·prepare·Config·and·compile·the·property·tests·for·the·found·tool:</span><span·class="w">175 </span><span·class="c1">%%%·First·prepare·Config·and·compile·the·property·tests·for·the·found·tool:</span><span·class="w">
176 </span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="2993190380-6">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2993190380-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 </span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="3052817484-6">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3052817484-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ····</span><span·class="nc">ct_property_test</span><span·class="p">:</span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="2993190380-7">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2993190380-7">)</span><span·class="p">.</span><span·class="w">177 ····</span><span·class="nc">ct_property_test</span><span·class="p">:</span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="3052817484-7">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3052817484-7">)</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">end_per_suite</span><span·class="p"·data-group-id="2993190380-8">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2993190380-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 </span><span·class="nf">end_per_suite</span><span·class="p"·data-group-id="3052817484-8">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3052817484-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
179 ····</span><span·class="n">Config</span><span·class="p">.</span><span·class="w">179 ····</span><span·class="n">Config</span><span·class="p">.</span><span·class="w">
  
180 </span><span·class="c1">%%%================================================================</span><span·class="w">180 </span><span·class="c1">%%%================================================================</span><span·class="w">
181 </span><span·class="c1">%%%·Test·suites</span><span·class="w">181 </span><span·class="c1">%%%·Test·suites</span><span·class="w">
182 </span><span·class="c1">%%%</span><span·class="w">182 </span><span·class="c1">%%%</span><span·class="w">
183 </span><span·class="nf">prop_sort</span><span·class="p"·data-group-id="2993190380-9">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2993190380-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">183 </span><span·class="nf">prop_sort</span><span·class="p"·data-group-id="3052817484-9">(</span><span·class="n">Config</span><span·class="p"·data-group-id="3052817484-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
184 ····</span><span·class="nc">ct_property_test</span><span·class="p">:</span><span·class="nf">quickcheck</span><span·class="p"·data-group-id="2993190380-10">(</span><span·class="w">184 ····</span><span·class="nc">ct_property_test</span><span·class="p">:</span><span·class="nf">quickcheck</span><span·class="p"·data-group-id="3052817484-10">(</span><span·class="w">
185 ······</span><span·class="nc">ct_prop</span><span·class="p">:</span><span·class="nf">prop_sort</span><span·class="p"·data-group-id="2993190380-11">(</span><span·class="p"·data-group-id="2993190380-11">)</span><span·class="p">,</span><span·class="w">185 ······</span><span·class="nc">ct_prop</span><span·class="p">:</span><span·class="nf">prop_sort</span><span·class="p"·data-group-id="3052817484-11">(</span><span·class="p"·data-group-id="3052817484-11">)</span><span·class="p">,</span><span·class="w">
186 ······</span><span·class="n">Config</span><span·class="w">186 ······</span><span·class="n">Config</span><span·class="w">
187 ·····</span><span·class="p"·data-group-id="2993190380-10">)</span><span·class="p">.</span></code></pre><p>We·run·it·as·usual,·for·example·with·ct_run·in·the·OS·shell:</p><pre><code·class="text">..../test$·ct_run·-suite·ct_property_test_SUITE187 ·····</span><span·class="p"·data-group-id="3052817484-10">)</span><span·class="p">.</span></code></pre><p>We·run·it·as·usual,·for·example·with·ct_run·in·the·OS·shell:</p><pre><code·class="text">..../test$·ct_run·-suite·ct_property_test_SUITE
188 .....188 .....
189 Common·Test:·Running·make·in·test·directories...189 Common·Test:·Running·make·in·test·directories...
  
190 TEST·INFO:·1·test(s),·1·case(s)·in·1·suite(s)190 TEST·INFO:·1·test(s),·1·case(s)·in·1·suite(s)
  
191 Testing·lib.common_test.ct_property_test_SUITE:·Starting·test,·1·test·cases191 Testing·lib.common_test.ct_property_test_SUITE:·Starting·test,·1·test·cases
  
Offset 217, 21 lines modifiedOffset 217, 21 lines modified
217 ....</code></pre><p><a·href=""·id="stateful1"></a></p><h2·id="a-stateful-testing-example"·class="section-heading">217 ....</code></pre><p><a·href=""·id="stateful1"></a></p><h2·id="a-stateful-testing-example"·class="section-heading">
218 ··<a·href="#a-stateful-testing-example"·class="hover-link">218 ··<a·href="#a-stateful-testing-example"·class="hover-link">
219 ····<i·class="ri-link-m"·aria-hidden="true"></i>219 ····<i·class="ri-link-m"·aria-hidden="true"></i>
220 ··</a>220 ··</a>
221 ··<span·class="text">A·stateful·testing·example</span>221 ··<span·class="text">A·stateful·testing·example</span>
222 </h2>222 </h2>
223 <p>Assume·a·test·that·generates·some·parallel·stateful·commands,·and·runs·300223 <p>Assume·a·test·that·generates·some·parallel·stateful·commands,·and·runs·300
224 tests:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">prop_parallel</span><span·class="p"·data-group-id="0540842904-1">(</span><span·class="n">Config</span><span·class="p"·data-group-id="0540842904-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">224 tests:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">prop_parallel</span><span·class="p"·data-group-id="2003883479-1">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2003883479-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
225 ····</span><span·class="nf">numtests</span><span·class="p"·data-group-id="0540842904-2">(</span><span·class="mi">300</span><span·class="p">,</span><span·class="w">225 ····</span><span·class="nf">numtests</span><span·class="p"·data-group-id="2003883479-2">(</span><span·class="mi">300</span><span·class="p">,</span><span·class="w">
226 ·············</span><span·class="o">?</span><span·class="n">FORALL</span><span·class="p"·data-group-id="0540842904-3">(</span><span·class="n">Cmds</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">parallel_commands</span><span·class="p"·data-group-id="0540842904-4">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class=[·...·truncated·by·diffoscope;·len:·29,·SHA:·b65ea620f1717fdd880e751e5892e7fd724c2b0e8a9f1db468e9e6caee5e7ab9·...·]-4">)</span><span·class="p">,</span><span·class="w">226 ·············</span><span·class="o">?</span><span·class="n">FORALL</span><span·class="p"·data-group-id="2003883479-3">(</span><span·class="n">Cmds</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">parallel_commands</span><span·class="p"·data-group-id="2003883479-4">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class=[·...·truncated·by·diffoscope;·len:·29,·SHA:·7ea2ca3ea47f43258018cf4a3f5e85d6c031c1dd45056b6e39117e3ad4724e36·...·]-4">)</span><span·class="p">,</span><span·class="w">
227 ·····················</span><span·class="k">begin</span><span·class="w">227 ·····················</span><span·class="k">begin</span><span·class="w">
228 ·························</span><span·class="n">RunResult</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">run_parallel_commands</span><span·class="p"·data-group-id="0540842904-5">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cmds</span><span·class="p"·data-group-id="0540842904-5">)</span><span·class="p">,</span><span·class="w">228 ·························</span><span·class="n">RunResult</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">run_parallel_commands</span><span·class="p"·data-group-id="2003883479-5">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cmds</span><span·class="p"·data-group-id="2003883479-5">)</span><span·class="p">,</span><span·class="w">
229 ·························</span><span·class="nc">ct_property_test</span><span·class="p">:</span><span·class="nf">present_result</span><span·class="p"·data-group-id="0540842904-6">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cmds</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RunResult</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·92,·SHA:·399b978ba8a53c91be85cf902d5155960dcd3dd791eeb1bd7410b74ad1be6c1f·...·]-6">)</span><span·class="w">229 ·························</span><span·class="nc">ct_property_test</span><span·class="p">:</span><span·class="nf">present_result</span><span·class="p"·data-group-id="2003883479-6">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cmds</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RunResult</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·92,·SHA:·2f2d1095792c8b88f5ed1a8e62c4485a7e78b00d50936c0ab64f63943ccdddd8·...·]-6">)</span><span·class="w">
230 ·····················</span><span·class="k">end</span><span·class="p"·data-group-id="0540842904-3">)</span><span·class="p"·data-group-id="0540842904-2">)</span><span·class="p">.</span></code></pre><p>The·<a·href="ct_property_test.html#present_result/4"><code·class="inline">ct_property_test:present_result/4</code></a>·is·a·help·function·for·printing·some230 ·····················</span><span·class="k">end</span><span·class="p"·data-group-id="2003883479-3">)</span><span·class="p"·data-group-id="2003883479-2">)</span><span·class="p">.</span></code></pre><p>The·<a·href="ct_property_test.html#present_result/4"><code·class="inline">ct_property_test:present_result/4</code></a>·is·a·help·function·for·printing·some
231 statistics·in·the·CommonTest·log·file.</p><p>Our·example·test·could·for·example·be·a·simple·test·of·an·ftp·server,·where·we231 statistics·in·the·CommonTest·log·file.</p><p>Our·example·test·could·for·example·be·a·simple·test·of·an·ftp·server,·where·we
232 perform·get,·put·and·delete·requests,·some·of·them·in·parallel.·Per·default,·the232 perform·get,·put·and·delete·requests,·some·of·them·in·parallel.·Per·default,·the
233 result·has·three·sections:</p><pre><code·class="text">***·User·2019-12-11·13:28:17.504·***233 result·has·three·sections:</p><pre><code·class="text">***·User·2019-12-11·13:28:17.504·***
  
234 Distribution·sequential/parallel234 Distribution·sequential/parallel
  
235 ·57.7%·sequential235 ·57.7%·sequential
Offset 326, 15 lines modifiedOffset 326, 15 lines modified
326 ······<p·class="built-using">326 ······<p·class="built-using">
327 ········Built·using327 ········Built·using
328 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the328 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
329 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>329 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
330 ······</p>330 ······</p>
331 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>331 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
332 ····</footer>332 ····</footer>
333 ··</div>333 ··</div>
334 </main>334 </main>
335 </div>335 </div>
336 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>336 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
337 ··<script>337 ··<script>
338 ··let·initialized·=·false;338 ··let·initialized·=·false;
751 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_rpc.html
    
Offset 553, 15 lines modifiedOffset 553, 15 lines modified
553 ······<p·class="built-using">553 ······<p·class="built-using">
554 ········Built·using554 ········Built·using
555 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the555 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
556 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>556 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
557 ······</p>557 ······</p>
558 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>558 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
559 ····</footer>559 ····</footer>
560 ··</div>560 ··</div>
561 </main>561 </main>
562 </div>562 </div>
563 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>563 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
564 ··<script>564 ··<script>
565 ··let·initialized·=·false;565 ··let·initialized·=·false;
684 B
html2text {}
Max HTML report size reached
6.05 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_run_cmd.html
    
Offset 247, 18 lines modifiedOffset 247, 18 lines modified
247 ··[-keep_logs·all·|·NLogs]</code></pre><h2·id="run-common-test-in-interactive-mode"·class="section-heading">247 ··[-keep_logs·all·|·NLogs]</code></pre><h2·id="run-common-test-in-interactive-mode"·class="section-heading">
248 ··<a·href="#run-common-test-in-interactive-mode"·class="hover-link">248 ··<a·href="#run-common-test-in-interactive-mode"·class="hover-link">
249 ····<i·class="ri-link-m"·aria-hidden="true"></i>249 ····<i·class="ri-link-m"·aria-hidden="true"></i>
250 ··</a>250 ··</a>
251 ··<span·class="text">Run·Common·Test·in·Interactive·Mode</span>251 ··<span·class="text">Run·Common·Test·in·Interactive·Mode</span>
252 </h2>252 </h2>
253 <pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="ss">ct_run</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">shell</span><span·class="w">253 <pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="ss">ct_run</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">shell</span><span·class="w">
254 ··</span><span·class="p"·data-group-id="3018494592-1">[</span><span·class="o">-</span><span·class="ss">config</span><span·class="w">·</span><span·class="n">ConfigFile1</span><span·class="w">·</span><span·class="n">ConfigFile2</span><span·class="w">·</span><span·class="p">.</span><span·class="p">[·...·truncated·by·diffoscope;·len:·131,·SHA:·081a8418f00646bed239768f5872df181368304fa7f1765b6ef881d5b98e7cf4·...·]-1">]</span><span·class="w">254 ··</span><span·class="p"·data-group-id="8416791548-1">[</span><span·class="o">-</span><span·class="ss">config</span><span·class="w">·</span><span·class="n">ConfigFile1</span><span·class="w">·</span><span·class="n">ConfigFile2</span><span·class="w">·</span><span·class="p">.</span><span·class="p">[·...·truncated·by·diffoscope;·len:·131,·SHA:·3a37420ea2b1dabba913b94d9415d61a0329e5d3ca086b4b8b1d2f2f1b2177a2·...·]-1">]</span><span·class="w">
255 ··</span><span·class="p"·data-group-id="3018494592-2">[</span><span·class="o">-</span><span·class="ss">userconfig</span><span·class="w">·</span><span·class="n">CallbackModule1</span><span·class="w">·</span><span·class="n">ConfigString1</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="n">CallbackModule2</span><span·class="w">255 ··</span><span·class="p"·data-group-id="8416791548-2">[</span><span·class="o">-</span><span·class="ss">userconfig</span><span·class="w">·</span><span·class="n">CallbackModule1</span><span·class="w">·</span><span·class="n">ConfigString1</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="n">CallbackModule2</span><span·class="w">
256 ···</span><span·class="n">ConfigString2</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="n">CallbackModuleN</span><span·class="w">·</span><span·class="n">ConfigStringN</span><span·class="p"·data-group-id="3018494592-2">]</span><span·class="w">256 ···</span><span·class="n">ConfigString2</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="n">CallbackModuleN</span><span·class="w">·</span><span·class="n">ConfigStringN</span><span·class="p"·data-group-id="8416791548-2">]</span><span·class="w">
257 ··</span><span·class="p"·data-group-id="3018494592-3">[</span><span·class="o">-</span><span·class="ss">decrypt_key</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="3018494592-3">]</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·208,·SHA:·97a59ba420622ab29bc5d14f5b7b9cfe7e069ce4bdda97f29f9d0ad0e130f0e6·...·]-4">]</span></code></pre><h2·id="start-a-common-test-master-node"·class="section-heading">257 ··</span><span·class="p"·data-group-id="8416791548-3">[</span><span·class="o">-</span><span·class="ss">decrypt_key</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="8416791548-3">]</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·208,·SHA:·67dd8f303cfd2353deb20e17c7fe08b139a15640c3bf6f310992122a1530ce6b·...·]-4">]</span></code></pre><h2·id="start-a-common-test-master-node"·class="section-heading">
258 ··<a·href="#start-a-common-test-master-node"·class="hover-link">258 ··<a·href="#start-a-common-test-master-node"·class="hover-link">
259 ····<i·class="ri-link-m"·aria-hidden="true"></i>259 ····<i·class="ri-link-m"·aria-hidden="true"></i>
260 ··</a>260 ··</a>
261 ··<span·class="text">Start·a·Common·Test·Master·Node</span>261 ··<span·class="text">Start·a·Common·Test·Master·Node</span>
262 </h2>262 </h2>
263 <pre><code·class="text">·ct_run·-ctmaster</code></pre><h2·id="see-also"·class="section-heading">263 <pre><code·class="text">·ct_run·-ctmaster</code></pre><h2·id="see-also"·class="section-heading">
264 ··<a·href="#see-also"·class="hover-link">264 ··<a·href="#see-also"·class="hover-link">
Offset 305, 15 lines modifiedOffset 305, 15 lines modified
305 ······<p·class="built-using">305 ······<p·class="built-using">
306 ········Built·using306 ········Built·using
307 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the307 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
308 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>308 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
309 ······</p>309 ······</p>
310 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>310 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
311 ····</footer>311 ····</footer>
312 ··</div>312 ··</div>
313 </main>313 </main>
314 </div>314 </div>
315 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>315 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
316 ··<script>316 ··<script>
317 ··let·initialized·=·false;317 ··let·initialized·=·false;
806 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_slave.html
    
Offset 549, 15 lines modifiedOffset 549, 15 lines modified
549 ······<p·class="built-using">549 ······<p·class="built-using">
550 ········Built·using550 ········Built·using
551 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the551 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
552 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>552 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
553 ······</p>553 ······</p>
554 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>554 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
555 ····</footer>555 ····</footer>
556 ··</div>556 ··</div>
557 </main>557 </main>
558 </div>558 </div>
559 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>559 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
560 ··<script>560 ··<script>
561 ··let·initialized·=·false;561 ··let·initialized·=·false;
651 B
html2text {}
Max HTML report size reached
11.1 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_snmp.html
    
Offset 146, 23 lines modifiedOffset 146, 23 lines modified
146 configuration·files·have·default·values·set·by·the·<code·class="inline">SNMP</code>·application.·These146 configuration·files·have·default·values·set·by·the·<code·class="inline">SNMP</code>·application.·These
147 values·can·be·overridden·by·suppling·a·list·of·valid·configuration·values·or·a147 values·can·be·overridden·by·suppling·a·list·of·valid·configuration·values·or·a
148 file·located·in·the·test·suites·data·directory,·which·can·produce·a·list·of148 file·located·in·the·test·suites·data·directory,·which·can·produce·a·list·of
149 valid·configuration·values·if·you·apply·function·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#consult/1"><code·class="inline">file:consult/1</code></a>·to·the·file.</p><ul><li><p><strong><code·class="inline">{agent_contexts,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_community,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_sysinfo,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_vacm,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_usm,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_notify_def,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_target_address_def,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-149 valid·configuration·values·if·you·apply·function·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#consult/1"><code·class="inline">file:consult/1</code></a>·to·the·file.</p><ul><li><p><strong><code·class="inline">{agent_contexts,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_community,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_sysinfo,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_vacm,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_usm,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_notify_def,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-·Optional.</p></li><li><p><strong><code·class="inline">{agent_target_address_def,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-
150 Optional.</p></li><li><p><strong><code·class="inline">{agent_target_param_def,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-150 Optional.</p></li><li><p><strong><code·class="inline">{agent_target_param_def,·[term()]·|·{data_dir_file,·rel_path()}}</code></strong>·-
151 Optional.</p></li></ul><p>Parameter·<code·class="inline">MgrAgentConfName</code>·in·the·functions·is·to·be·a·name·you·allocate·in151 Optional.</p></li></ul><p>Parameter·<code·class="inline">MgrAgentConfName</code>·in·the·functions·is·to·be·a·name·you·allocate·in
152 your·test·suite·using·a·<code·class="inline">require</code>·statement.·Example·(where152 your·test·suite·using·a·<code·class="inline">require</code>·statement.·Example·(where
153 <code·class="inline">MgrAgentConfName·=·snmp_mgr_agent</code>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="9176597556-1">(</span><span·class="p"·data-group-id="9176597556-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9176597556-2">[</span><span·class="p"·data-group-id="9176597556-3">{</span[·...·truncated·by·diffoscope;·len:·683,·SHA:·6a572ea8c615d517e8d4161c73af017dad9dabae7ab5e8bc9759140a9f7f0e8e·...·]-1">)</span><span·class="p">.</span></code></pre><p>Notice·that·USM·users·are·needed·for·SNMPv3·configuration·and·are·not·to·be153 <code·class="inline">MgrAgentConfName·=·snmp_mgr_agent</code>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="8003001401-1">(</span><span·class="p"·data-group-id="8003001401-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8003001401-2">[</span><span·class="p"·data-group-id="8003001401-3">{</span[·...·truncated·by·diffoscope;·len:·683,·SHA:·8d2efab469a6f6093ba04e72990b6b647d0742e5c8b6f9101e6e210d8fbbd64c·...·]-1">)</span><span·class="p">.</span></code></pre><p>Notice·that·USM·users·are·needed·for·SNMPv3·configuration·and·are·not·to·be
154 confused·with·users.</p><p>SNMP·traps,·inform,·and·report·messages·are·handled·by·the·user·callback·module.154 confused·with·users.</p><p>SNMP·traps,·inform,·and·report·messages·are·handled·by·the·user·callback·module.
155 For·details,·see·the·<a·href="../../../../lib/snmp-5.19/doc/html/index.html"><code·class="inline">SNMP</code></a>·application.</p><p>It·is·recommended·to·use·the·<code·class="inline">.hrl</code>·files·created·by·the·Erlang/OTP·MIB·compiler155 For·details,·see·the·<a·href="../../../../lib/snmp-5.19/doc/html/index.html"><code·class="inline">SNMP</code></a>·application.</p><p>It·is·recommended·to·use·the·<code·class="inline">.hrl</code>·files·created·by·the·Erlang/OTP·MIB·compiler
156 to·define·the·Object·Identifiers·(OIDs).·For·example,·to·get·the·Erlang·node156 to·define·the·Object·Identifiers·(OIDs).·For·example,·to·get·the·Erlang·node
157 name·from·<code·class="inline">erlNodeTable</code>·in·the·OTP-MIB:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Oid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">erlNodeEntry</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p"·data-group-id="4574272097-1">[</span><span·class="o">?</span><span·class="ss">erlNodeName</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="4574272097-1">]</span></code></pre><p>Furthermore,·values·can·be·set·for·<code·class="inline">SNMP</code>·application·configuration·parameters,157 name·from·<code·class="inline">erlNodeTable</code>·in·the·OTP-MIB:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Oid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">erlNodeEntry</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p"·data-group-id="7738047463-1">[</span><span·class="o">?</span><span·class="ss">erlNodeName</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="7738047463-1">]</span></code></pre><p>Furthermore,·values·can·be·set·for·<code·class="inline">SNMP</code>·application·configuration·parameters,
158 <code·class="inline">config</code>,·<code·class="inline">server</code>,·<code·class="inline">net_if</code>,·and·so·on·(for·a·list·of·valid·parameters·and158 <code·class="inline">config</code>,·<code·class="inline">server</code>,·<code·class="inline">net_if</code>,·and·so·on·(for·a·list·of·valid·parameters·and
159 types,·see·the·<a·href="../../../../lib/snmp-5.19/doc/html/index.html"><code·class="inline">User's·Guide·for·the·SNMP·application</code></a>).159 types,·see·the·<a·href="../../../../lib/snmp-5.19/doc/html/index.html"><code·class="inline">User's·Guide·for·the·SNMP·application</code></a>).
160 This·is·done·by·defining·a·configuration·data·variable·on·the·following·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9627197338-1">{</span><span·class="ss">snmp_app</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9627197338-2">[</span><span·class="p"·data-group-id="9627197338-3">{</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9627197338-4">[</span><span·class="nf">snmp_app_manager_params</span><span·class="p"·data-group-id="9627197338-5">(</span><span·class="p"·data-group-id="9627197338-5">)</span><span·class="p"·data-group-id="9627197338-4">]</span><span·class="p"·data-group-id="9627197338-3">}</span><span·class="p">,</span><span·class="w"> 
161 ············</span><span·class="p"·data-group-id="9627197338-6">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9627197338-7">[</span><span·class="nf">snmp_app_agent_params</span><span·cla[·...·truncated·by·diffoscope;·len:·450,·SHA:·455df736aea776219f7c203a831106764511bc6928b173fb3ee324b5cf762ba6·...·]160 This·is·done·by·defining·a·configuration·data·variable·on·the·following·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9082625925-1">{</span><span·class="ss">snmp_app</span><span·class="p">,</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·543,·SHA:·ab8bf4e9d2f1961dbbfe610ced923681bea93b6f0de739c8b6a36700e0967e22·...·]
 161 ············</span><span·class="p"·data-group-id="9082625925-6">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9082625925-7">[</span><span·class="nf">snmp_app_agent_params</span><span·class="p"·data-group-id="9082625925-8">(</span><span·class="p"·data-group-id="9082625925-8">)</span><span·class="p"·data-group-id="9082625925-7">]</span><span·class="p"·data-group-id="9082625925-6">}</span><span·class="p"·data-group-id="9082625925-2">]</span><span·class="p"·data-group-id="9082625925-1">}</span><span·class="p">.</span></code></pre><p>A·name·for·the·data·must·be·allocated·in·the·suite·using·<code·class="inline">require</code>·(see·the
162 example·above).·Pass·this·name·as·argument·<code·class="inline">SnmpAppConfName</code>·to162 example·above).·Pass·this·name·as·argument·<code·class="inline">SnmpAppConfName</code>·to
163 <a·href="#start/3"><code·class="inline">ct_snmp:start/3</code></a>.·<code·class="inline">ct_snmp</code>·specifies·default·values·for·some163 <a·href="#start/3"><code·class="inline">ct_snmp:start/3</code></a>.·<code·class="inline">ct_snmp</code>·specifies·default·values·for·some
164 <code·class="inline">SNMP</code>·application·configuration·parameters·(such·as·<code·class="inline">{verbosity,trace}</code>·for164 <code·class="inline">SNMP</code>·application·configuration·parameters·(such·as·<code·class="inline">{verbosity,trace}</code>·for
165 parameter·<code·class="inline">config</code>).·This·set·of·defaults·is·merged·with·the·parameters165 parameter·<code·class="inline">config</code>).·This·set·of·defaults·is·merged·with·the·parameters
166 specified·by·the·user.·The·user·values·override·<code·class="inline">ct_snmp</code>·defaults.</p>166 specified·by·the·user.·The·user·values·override·<code·class="inline">ct_snmp</code>·defaults.</p>
167 ····</section>167 ····</section>
  
Offset 1840, 15 lines modifiedOffset 1840, 15 lines modified
1840 ······<p·class="built-using">1840 ······<p·class="built-using">
1841 ········Built·using1841 ········Built·using
1842 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1842 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1843 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1843 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1844 ······</p>1844 ······</p>
1845 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1845 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1846 ····</footer>1846 ····</footer>
1847 ··</div>1847 ··</div>
1848 </main>1848 </main>
1849 </div>1849 </div>
1850 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1850 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1851 ··<script>1851 ··<script>
1852 ··let·initialized·=·false;1852 ··let·initialized·=·false;
615 B
html2text {}
Max HTML report size reached
7.12 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_ssh.html
    
Offset 129, 22 lines modifiedOffset 129, 22 lines modified
  
129 ····<section·id="moduledoc">129 ····<section·id="moduledoc">
130 <p>SSH/SFTP·client·module.</p><p>This·module·uses·application·<code·class="inline">SSH</code>,·which·provides·detailed·information·about,130 <p>SSH/SFTP·client·module.</p><p>This·module·uses·application·<code·class="inline">SSH</code>,·which·provides·detailed·information·about,
131 for·example,·functions,·types,·and·options.</p><p>Argument·<code·class="inline">Server</code>·in·the·SFTP·functions·is·only·to·be·used·for·SFTP·sessions131 for·example,·functions,·types,·and·options.</p><p>Argument·<code·class="inline">Server</code>·in·the·SFTP·functions·is·only·to·be·used·for·SFTP·sessions
132 that·have·been·started·on·existing·SSH·connections·(that·is,·when·the·original132 that·have·been·started·on·existing·SSH·connections·(that·is,·when·the·original
133 connection·type·is·<code·class="inline">ssh</code>).·Whenever·the·connection·type·is·<code·class="inline">sftp</code>,·use·the·SSH133 connection·type·is·<code·class="inline">ssh</code>).·Whenever·the·connection·type·is·<code·class="inline">sftp</code>,·use·the·SSH
134 connection·reference·only.</p><p>The·following·options·are·valid·for·specifying·an·SSH/SFTP·connection·(that·is,134 connection·reference·only.</p><p>The·following·options·are·valid·for·specifying·an·SSH/SFTP·connection·(that·is,
135 can·be·used·as·configuration·elements):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1759446764-1">[</span><span·class="p"·data-group-id="1759446764-2">{</span><span·class="n">ConnType</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p"·data-group-id="1759446764-2">}</span><span·class="p">,</span><span·class="w">135 can·be·used·as·configuration·elements):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7473096110-1">[</span><span·class="p"·data-group-id="7473096110-2">{</span><span·class="n">ConnType</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p"·data-group-id="7473096110-2">}</span><span·class="p">,</span><span·class="w">
136 ·</span><span·class="p"·data-group-id="1759446764-3">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="1759446764-3">}</span><span·class="p">,</span><span·class="w">136 ·</span><span·class="p"·data-group-id="7473096110-3">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="7473096110-3">}</span><span·class="p">,</span><span·class="w">
137 ·</span><span·class="p"·data-group-id="1759446764-4">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserName</span><span·class="p"·data-group-id="1759446764-4">}</span><span·class="w">137 ·</span><span·class="p"·data-group-id="7473096110-4">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserName</span><span·class="p"·data-group-id="7473096110-4">}</span><span·class="w">
138 ·</span><span·class="p"·data-group-id="1759446764-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pwd</span><span·class="p"·data-group-id="1759446764-5">}</span><span·class="w">138 ·</span><span·class="p"·data-group-id="7473096110-5">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pwd</span><span·class="p"·data-group-id="7473096110-5">}</span><span·class="w">
139 ·</span><span·class="p"·data-group-id="1759446764-6">{</span><span·class="ss">user_dir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">String</span><span·class="p"·data-group-id="1759446764-6">}</span><span·class="w">139 ·</span><span·class="p"·data-group-id="7473096110-6">{</span><span·class="ss">user_dir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">String</span><span·class="p"·data-group-id="7473096110-6">}</span><span·class="w">
140 ·</span><span·class="p"·data-group-id="1759446764-7">{</span><span·class="ss">public_key_alg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PubKeyAlg</span><span·class="p"·data-group-id="1759446764-7">}</span><span·class="w">140 ·</span><span·class="p"·data-group-id="7473096110-7">{</span><span·class="ss">public_key_alg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PubKeyAlg</span><span·class="p"·data-group-id="7473096110-7">}</span><span·class="w">
141 ·</span><span·class="p"·data-group-id="1759446764-8">{</span><span·class="ss">connect_timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Timeout</span><span·class="p"·data-group-id="1759446764-8">}</span><span·class="w">141 ·</span><span·class="p"·data-group-id="7473096110-8">{</span><span·class="ss">connect_timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Timeout</span><span·class="p"·data-group-id="7473096110-8">}</span><span·class="w">
142 ·</span><span·class="p"·data-group-id="1759446764-9">{</span><span·class="ss">key_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="n">KeyCallbackMod</span><span·class="p"·data-group-id="1759446764-9">}</span><span·class="p"·data-group-id="1759446764-1">]</span></code></pre><p><code·class="inline">ConnType·=·ssh·|·sftp</code>.</p><p>For·other·types,·see·<a·href="../../../../lib/ssh-5.3/doc/html/ssh.html"><code·class="inline">ssh</code></a>.</p><p>All·time-out·parameters·in·<code·class="inline">ct_ssh</code>·functions·are·values·in·milliseconds.</p>142 ·</span><span·class="p"·data-group-id="7473096110-9">{</span><span·class="ss">key_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="n">KeyCallbackMod</span><span·class="p"·data-group-id="7473096110-9">}</span><span·class="p"·data-group-id="7473096110-1">]</span></code></pre><p><code·class="inline">ConnType·=·ssh·|·sftp</code>.</p><p>For·other·types,·see·<a·href="../../../../lib/ssh-5.3/doc/html/ssh.html"><code·class="inline">ssh</code></a>.</p><p>All·time-out·parameters·in·<code·class="inline">ct_ssh</code>·functions·are·values·in·milliseconds.</p>
143 ····</section>143 ····</section>
  
144 </div>144 </div>
  
145 ··<section·id="summary"·class="details-list">145 ··<section·id="summary"·class="details-list">
146 ····<h1·class="section-heading">146 ····<h1·class="section-heading">
147 ······<a·class="hover-link"·href="#summary">147 ······<a·class="hover-link"·href="#summary">
Offset 3708, 15 lines modifiedOffset 3708, 15 lines modified
3708 ······<p·class="built-using">3708 ······<p·class="built-using">
3709 ········Built·using3709 ········Built·using
3710 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3710 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3711 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3711 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3712 ······</p>3712 ······</p>
3713 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3713 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3714 ····</footer>3714 ····</footer>
3715 ··</div>3715 ··</div>
3716 </main>3716 </main>
3717 </div>3717 </div>
3718 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3718 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3719 ··<script>3719 ··<script>
3720 ··let·initialized·=·false;3720 ··let·initialized·=·false;
716 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_suite.html
    
Offset 1584, 15 lines modifiedOffset 1584, 15 lines modified
1584 ······<p·class="built-using">1584 ······<p·class="built-using">
1585 ········Built·using1585 ········Built·using
1586 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1586 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1587 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1587 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1588 ······</p>1588 ······</p>
1589 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1589 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1590 ····</footer>1590 ····</footer>
1591 ··</div>1591 ··</div>
1592 </main>1592 </main>
1593 </div>1593 </div>
1594 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1594 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1595 ··<script>1595 ··<script>
1596 ··let·initialized·=·false;1596 ··let·initialized·=·false;
748 B
html2text {}
Max HTML report size reached
33.7 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_telnet.html
    
Offset 132, 38 lines modifiedOffset 132, 38 lines modified
132 matching·on·the·result.·For·information·about·how·to·use·<code·class="inline">ct_telnet</code>·and132 matching·on·the·result.·For·information·about·how·to·use·<code·class="inline">ct_telnet</code>·and
133 configure·connections,·specifically·for·UNIX·hosts,·see·the·<a·href="unix_telnet.html"><code·class="inline">unix_telnet</code></a>133 configure·connections,·specifically·for·UNIX·hosts,·see·the·<a·href="unix_telnet.html"><code·class="inline">unix_telnet</code></a>
134 manual·page.</p><p>Default·values·defined·in·<code·class="inline">ct_telnet</code>:</p><p><a·href=""·id="Default_values"></a></p><ul><li>Connection·timeout·(time·to·wait·for·connection)·=·10·seconds</li><li>Command·timeout·(time·to·wait·for·a·command·to·return)·=·10·seconds</li><li>Max·number·of·reconnection·attempts·=·3</li><li>Reconnection·interval·(time·to·wait·in·between·reconnection·attempts)·=·5134 manual·page.</p><p>Default·values·defined·in·<code·class="inline">ct_telnet</code>:</p><p><a·href=""·id="Default_values"></a></p><ul><li>Connection·timeout·(time·to·wait·for·connection)·=·10·seconds</li><li>Command·timeout·(time·to·wait·for·a·command·to·return)·=·10·seconds</li><li>Max·number·of·reconnection·attempts·=·3</li><li>Reconnection·interval·(time·to·wait·in·between·reconnection·attempts)·=·5
135 seconds</li><li>Keep·alive·(sends·NOP·to·the·server·every·8·sec·if·connection·is·idle)·=135 seconds</li><li>Keep·alive·(sends·NOP·to·the·server·every·8·sec·if·connection·is·idle)·=
136 <code·class="inline">true</code></li><li>Polling·limit·(max·number·of·times·to·poll·to·get·a·remaining·string136 <code·class="inline">true</code></li><li>Polling·limit·(max·number·of·times·to·poll·to·get·a·remaining·string
137 terminated)·=·0</li><li>Polling·interval·(sleep·time·between·polls)·=·1·second</li><li>The·TCP_NODELAY·option·for·the·telnet·socket·is·disabled·(set·to·<code·class="inline">false</code>)·per137 terminated)·=·0</li><li>Polling·interval·(sleep·time·between·polls)·=·1·second</li><li>The·TCP_NODELAY·option·for·the·telnet·socket·is·disabled·(set·to·<code·class="inline">false</code>)·per
138 default</li></ul><p>These·parameters·can·be·modified·by·the·user·with·the·following·configuration138 default</li></ul><p>These·parameters·can·be·modified·by·the·user·with·the·following·configuration
139 term:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0466471345-1">{</span><span·class="ss">telnet_settings</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0466471345-2">[</span><span·class="p"·data-group-id="0466471345-3">{</span><span·class="ss">connect_timeout</span><s[·...·truncated·by·diffoscope;·len:·94,·SHA:·9b5b6df3f68ef941bf2131cd58d39c74c3559f60f66965ff61dfb7f4c80d847a·...·]-3">}</span><span·class="p">,</span><span·class="w">139 term:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9053006036-1">{</span><span·class="ss">telnet_settings</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9053006036-2">[</span><span·class="p"·data-group-id="9053006036-3">{</span><span·class="ss">connect_timeout</span><s[·...·truncated·by·diffoscope;·len:·94,·SHA:·aaa0a3afbe65caf40a926fb909673b4e47c7b8248410ce584cbda693799c5807·...·]-3">}</span><span·class="p">,</span><span·class="w">
140 ···················</span><span·class="p"·data-group-id="0466471345-4">{</span><span·class="ss">command_timeout</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="0466471345-4">}</span><span·class="p">,</span><span·class="w">140 ···················</span><span·class="p"·data-group-id="9053006036-4">{</span><span·class="ss">command_timeout</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="9053006036-4">}</span><span·class="p">,</span><span·class="w">
141 ···················</span><span·class="p"·data-group-id="0466471345-5">{</span><span·class="ss">reconnection_attempts</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="0466471345-5">}</span><span·class="p">,</span><span·class="w">141 ···················</span><span·class="p"·data-group-id="9053006036-5">{</span><span·class="ss">reconnection_attempts</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="9053006036-5">}</span><span·class="p">,</span><span·class="w">
142 ···················</span><span·class="p"·data-group-id="0466471345-6">{</span><span·class="ss">reconnection_interval</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="0466471345-6">}</span><span·class="p">,</span><span·class="w">142 ···················</span><span·class="p"·data-group-id="9053006036-6">{</span><span·class="ss">reconnection_interval</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="9053006036-6">}</span><span·class="p">,</span><span·class="w">
143 ···················</span><span·class="p"·data-group-id="0466471345-7">{</span><span·class="ss">keep_alive</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="0466471345-7">}</span><span·class="p">,</span><span·class="w">143 ···················</span><span·class="p"·data-group-id="9053006036-7">{</span><span·class="ss">keep_alive</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="9053006036-7">}</span><span·class="p">,</span><span·class="w">
144 ···················</span><span·class="p"·data-group-id="0466471345-8">{</span><span·class="ss">poll_limit</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="0466471345-8">}</span><span·class="p">,</span><span·class="w">144 ···················</span><span·class="p"·data-group-id="9053006036-8">{</span><span·class="ss">poll_limit</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id="9053006036-8">}</span><span·class="p">,</span><span·class="w">
145 ···················</span><span·class="p"·data-group-id="0466471345-9">{</span><span·class="ss">poll_interval</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="0466471345-9">}</span><span·class="p">,</span><span·class="w">145 ···················</span><span·class="p"·data-group-id="9053006036-9">{</span><span·class="ss">poll_interval</span><span·class="p">,</span><span·class="n">Millisec</span><span·class="p"·data-group-id="9053006036-9">}</span><span·class="p">,</span><span·class="w">
146 ···················</span><span·class="p"·data-group-id="0466471345-10">{</span><span·class="ss">tcp_nodelay</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="0466471345-10">}</span><span·class="p"·data-group-id="0466471345-2">]</span><span·class="p"·data-group-id="046647134[·...·truncated·by·diffoscope;·len:·1,·SHA:·ef2d127de37b942baad06145e54b0c619a1f22327b2ebbcfbec78f5564afe39d·...·]-1">}</span><span·class="p">.</span></code></pre><p><code·class="inline">Millisec·=·timeout(),·N·=·integer()</code></p><p>Enter·the·<code·class="inline">telnet_settings</code>·term·in·a·configuration·file·included·in·the·test146 ···················</span><span·class="p"·data-group-id="9053006036-10">{</span><span·class="ss">tcp_nodelay</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="9053006036-10">}</span><span·class="p"·data-group-id="9053006036-2">]</span><span·class="p"·data-group-id="905300603[·...·truncated·by·diffoscope;·len:·1,·SHA:·e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683·...·]-1">}</span><span·class="p">.</span></code></pre><p><code·class="inline">Millisec·=·timeout(),·N·=·integer()</code></p><p>Enter·the·<code·class="inline">telnet_settings</code>·term·in·a·configuration·file·included·in·the·test
147 and·<code·class="inline">ct_telnet</code>·retrieves·the·information·automatically.</p><p><code·class="inline">keep_alive</code>·can·be·specified·per·connection,·if·necessary.·For·details,·see147 and·<code·class="inline">ct_telnet</code>·retrieves·the·information·automatically.</p><p><code·class="inline">keep_alive</code>·can·be·specified·per·connection,·if·necessary.·For·details,·see
148 <a·href="unix_telnet.html"><code·class="inline">unix_telnet</code></a>.</p><h2·id="module-logging"·class="section-heading">148 <a·href="unix_telnet.html"><code·class="inline">unix_telnet</code></a>.</p><h2·id="module-logging"·class="section-heading">
149 ··<a·href="#module-logging"·class="hover-link">149 ··<a·href="#module-logging"·class="hover-link">
150 ····<i·class="ri-link-m"·aria-hidden="true"></i>150 ····<i·class="ri-link-m"·aria-hidden="true"></i>
151 ··</a>151 ··</a>
152 ··<span·class="text">Logging</span>152 ··<span·class="text">Logging</span>
153 </h2>153 </h2>
154 <p><a·href=""·id="Logging"></a></p><p>The·default·logging·behavior·of·<code·class="inline">ct_telnet</code>·is·to·print·information·about154 <p><a·href=""·id="Logging"></a></p><p>The·default·logging·behavior·of·<code·class="inline">ct_telnet</code>·is·to·print·information·about
155 performed·operations,·commands,·and·their·corresponding·results·to·the·test·case155 performed·operations,·commands,·and·their·corresponding·results·to·the·test·case
156 HTML·log.·The·following·is·not·printed·to·the·HTML·log:·text·strings·sent·from156 HTML·log.·The·following·is·not·printed·to·the·HTML·log:·text·strings·sent·from
157 the·Telnet·server·that·are·not·explicitly·received·by·a·<code·class="inline">ct_telnet</code>·function,157 the·Telnet·server·that·are·not·explicitly·received·by·a·<code·class="inline">ct_telnet</code>·function,
158 such·as·<a·href="#expect/3"><code·class="inline">expect/3</code></a>.·However,·<code·class="inline">ct_telnet</code>·can·be·configured·to·use158 such·as·<a·href="#expect/3"><code·class="inline">expect/3</code></a>.·However,·<code·class="inline">ct_telnet</code>·can·be·configured·to·use
159 a·special·purpose·event·handler,·implemented·in·<code·class="inline">ct_conn_log_h</code>,·for·logging159 a·special·purpose·event·handler,·implemented·in·<code·class="inline">ct_conn_log_h</code>,·for·logging
160 <em>all</em>·Telnet·traffic.·To·use·this·handler,·install·a·<code·class="inline">Common·Test</code>·hook·named160 <em>all</em>·Telnet·traffic.·To·use·this·handler,·install·a·<code·class="inline">Common·Test</code>·hook·named
161 <code·class="inline">cth_conn_log</code>.·Example·(using·the·test·suite·information·function):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="7213012009-1">(</span><span·class="p"·data-group-id="7213012009-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">161 <code·class="inline">cth_conn_log</code>.·Example·(using·the·test·suite·information·function):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="7472883962-1">(</span><span·class="p"·data-group-id="7472883962-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
162 ····</span><span·class="p"·data-group-id="7213012009-2">[</span><span·class="p"·data-group-id="7213012009-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7213012009-4">[</span><span·class="p"·data-group-id="7213012009-5">{</s[·...·truncated·by·diffoscope;·len:·804,·SHA:·037cfb9e5690fdcfe43cc293c5a8a2c4112b65f50347eb08c3b0b56fdf9ac48f·...·]-2">]</span><span·class="p">.</span></code></pre><p><code·class="inline">conn_mod()</code>·is·the·name·of·the·<code·class="inline">Common·Test</code>·module·implementing·the·connection162 ····</span><span·class="p"·data-group-id="7472883962-2">[</span><span·class="p"·data-group-id="7472883962-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7472883962-4">[</span><span·class="p"·data-group-id="7472883962-5">{</s[·...·truncated·by·diffoscope;·len:·804,·SHA:·1c3ecd1c911049250e377fe85376b2b8dae9849fbd816834c34223e62d3e8e0a·...·]-2">]</span><span·class="p">.</span></code></pre><p><code·class="inline">conn_mod()</code>·is·the·name·of·the·<code·class="inline">Common·Test</code>·module·implementing·the·connection
163 protocol,·that·is,·<code·class="inline">ct_telnet</code>.</p><p>The·<code·class="inline">cth_conn_log</code>·hook·performs·unformatted·logging·of·Telnet·data·to·a163 protocol,·that·is,·<code·class="inline">ct_telnet</code>.</p><p>The·<code·class="inline">cth_conn_log</code>·hook·performs·unformatted·logging·of·Telnet·data·to·a
164 separate·text·file.·All·Telnet·communication·is·captured·and·printed,·including164 separate·text·file.·All·Telnet·communication·is·captured·and·printed,·including
165 any·data·sent·from·the·server.·The·link·to·this·text·file·is·located·at·the·top165 any·data·sent·from·the·server.·The·link·to·this·text·file·is·located·at·the·top
166 of·the·test·case·HTML·log.</p><p>By·default,·data·for·all·Telnet·connections·is·logged·in·one·common·file·(named166 of·the·test·case·HTML·log.</p><p>By·default,·data·for·all·Telnet·connections·is·logged·in·one·common·file·(named
167 <code·class="inline">default</code>),·which·can·get·messy,·for·example,·if·multiple·Telnet·sessions·are167 <code·class="inline">default</code>),·which·can·get·messy,·for·example,·if·multiple·Telnet·sessions·are
168 running·in·parallel.·Therefore·a·separate·log·file·can·be·created·for·each168 running·in·parallel.·Therefore·a·separate·log·file·can·be·created·for·each
169 connection.·To·configure·this,·use·hook·option·<code·class="inline">hosts</code>·and·list·the·names·of·the169 connection.·To·configure·this,·use·hook·option·<code·class="inline">hosts</code>·and·list·the·names·of·the
Offset 172, 23 lines modifiedOffset 172, 23 lines modified
172 default·value·of·this·option·is·<code·class="inline">raw</code>,·which·results·in·the·behavior·described172 default·value·of·this·option·is·<code·class="inline">raw</code>,·which·results·in·the·behavior·described
173 above.·If·the·value·is·set·to·<code·class="inline">html</code>,·all·Telnet·communication·is·printed·to·the173 above.·If·the·value·is·set·to·<code·class="inline">html</code>,·all·Telnet·communication·is·printed·to·the
174 test·case·HTML·log·instead.</p><p>For·raw·logs,·<code·class="inline">prefix</code>·option·can·be·used·for·adjusting·prefix·data174 test·case·HTML·log·instead.</p><p>For·raw·logs,·<code·class="inline">prefix</code>·option·can·be·used·for·adjusting·prefix·data
175 added·to·connection·log.·The·default·value·of·this·option·is175 added·to·connection·log.·The·default·value·of·this·option·is
176 <code·class="inline">disabled</code>,·which·results·with·no·prefix·data.·If·the·value·is·set·to176 <code·class="inline">disabled</code>,·which·results·with·no·prefix·data.·If·the·value·is·set·to
177 <code·class="inline">full</code>·prefix·contains·timestamp·and·additonal·information.·If·the177 <code·class="inline">full</code>·prefix·contains·timestamp·and·additonal·information.·If·the
178 value·is·set·to·<code·class="inline">short</code>·prefix·includes·only·human·readable·timestamp.</p><p>All·<code·class="inline">cth_conn_log</code>·hook·options·described·can·also·be·specified·in·a178 value·is·set·to·<code·class="inline">short</code>·prefix·includes·only·human·readable·timestamp.</p><p>All·<code·class="inline">cth_conn_log</code>·hook·options·described·can·also·be·specified·in·a
179 configuration·file·with·configuration·variable·<code·class="inline">ct_conn_log</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4287784731-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4287784731-2">[</span><span·class="p"·data-group-id="4287784731-3">{</span><span·class="ss">ct_telnet</span><span·class="p">,</span><span·class="p"·data-group-id="4287784731-4">[</span><span·class="p"·data-group-id="4287784731-5">{</span><span·class="ss">log_type</span><span·class="p">,</span><span·class="ss">raw</span><span·class="p"·data-group-id="4287784731-5">}</span><span·class="p">,</span><span·class="w"> 
180 ···························</span><span·class="p"·data-group-id="4287784731-6">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="4287784731-7">[</span><span·class="nf">key_or_name</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·576,·SHA:·d2f632dbc0e75d8ce8fc9eb948544092bd41d8fdc396cc9e6266f8bed9395ff7·...·]179 configuration·file·with·configuration·variable·<code·class="inline">ct_conn_log</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3977795913-1">{</span><span·class="ss">ct_conn_log</span><span[·...·truncated·by·diffoscope;·len:·488,·SHA:·0e0a1110536b33e0252dac843c1872ab32d6d38303126ba7e4ea5735a722cb2f·...·]
 180 ···························</span><span·class="p"·data-group-id="3977795913-6">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="3977795913-7">[</span><span·class="nf">key_or_name</span><span·class="p"·data-group-id="3977795913-8">(</span><span·class="p"·data-group-id="3977795913-8">)</span><span·class="p"·data-group-id="3977795913-7">]</span><span·class="p"·data-group-id="3977795913-6">}</span><span·class="p"·data-group-id="3977795913-4">]</span><span·class="p"·data-group-id="3977795913-3">}</span><span·class="p"·data-group-id="3977795913-2">]</span><span·class="p"·data-group-id="3977795913-1">}</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Hook·options·specified·in·a·configuration·file·overwrite·any·hard-coded·hook
181 options·in·the·test·suite.</p></section><p><a·href=""·id="Logging_example"></a></p><p><em>Logging·Example:</em></p><p>The·following·<code·class="inline">ct_hooks</code>·statement·causes·printing·of·Telnet·traffic·to·separate181 options·in·the·test·suite.</p></section><p><a·href=""·id="Logging_example"></a></p><p><em>Logging·Example:</em></p><p>The·following·<code·class="inline">ct_hooks</code>·statement·causes·printing·of·Telnet·traffic·to·separate
182 logs·for·the·connections·<code·class="inline">server1</code>·and·<code·class="inline">server2</code>.·Traffic·for·any·other182 logs·for·the·connections·<code·class="inline">server1</code>·and·<code·class="inline">server2</code>.·Traffic·for·any·other
183 connections·is·logged·in·the·default·Telnet·log.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="6716394204-1">(</span><span·class="p"·data-group-id="6716394204-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">183 connections·is·logged·in·the·default·Telnet·log.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="6924366186-1">(</span><span·class="p"·data-group-id="6924366186-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
184 ····</span><span·class="p"·data-group-id="6716394204-2">[</span><span·class="p"·data-group-id="6716394204-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">184 ····</span><span·class="p"·data-group-id="6924366186-2">[</span><span·class="p"·data-group-id="6924366186-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">
185 ······</span><span·class="p"·data-group-id="6716394204-4">[</span><span·class="p"·data-group-id="6716394204-5">{</span><span·class="ss">cth_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6716394204-6">[</span><span·class="p"·data-group-id="6716394204-7">{</span><span·class="ss">ct_telnet</span><span·class="p">,</span><span·class="p"·data-group-id="6716394204-8">[</span><span·class="p"·data-group-id="6716394204-9">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="6716394204-10">[</span><span·class="ss">server1</span><span·class="p">,</span><span·class="ss">server2</span><span·class="p"·data-group-id="6716394204-10">]</span><span·class="p"·data-group-id="6716394204-9">}</span><span·class="p"·data-group-id="6716394204-8">]</span><span·class="p"·data-group-id="6716394204-7">}</span><span·class="p"·data-group-id="6716394204-6">]</span><span·class="p"·data-group-id="6716394204-5">}</span><span·class="p"·data-group-id="6716394204-4">]</span><span·class="p"·data-group-id="6716394204-3">}</span><span·class="p"·data-group-id="6716394204-2">]</span><span·class="p">.</span></code></pre><p>As·previously·explained,·this·specification·can·also·be·provided·by·an·entry 
186 like·the·following·in·a·configuration·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4438491559-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·1151,·SHA:·87838a602461deda363fa6d45b07f3cddd12f6b4d14e5f6c623ff8f7ef89db14·...·]185 ······</span><span·class="p"·data-group-id="6924366186-4">[</span><span·class="p"·data-group-id="6924366186-5">{</span><span·class="ss">cth_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6924366186-6">[</span>[·...·truncated·by·diffoscope;·len:·1003,·SHA:·a458a27fdad3faca1450a3645205ad48df38b33077998984ed32a0ba0c967d50·...·]
 186 like·the·following·in·a·configuration·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5457961332-1">{</span><span·class="ss">ct_conn_log</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5457961332-2">[</span><span·class="p"·data-group-id="5457961332-3">{</span><span·class="ss">ct_telnet</span><span·class="p">,</span><span·class="p"·data-group-id="5457961332-4">[</span><span·class="p"·data-group-id="5457961332-5">{</span><span·class="ss">hosts</span><span·class="p">,</span><span·class="p"·data-group-id="5457961332-6">[</span><span·class="ss">server1</span><span·class="p">,</span><span·class="ss">server2</span><span·class="p"·data-group-id="5457961332-6">]</span><span·class="p"·data-group-id="5457961332-5">}</span><span·class="p"·data-group-id="5457961332-4">]</span><span·class="p"·data-group-id="5457961332-3">}</span><span·class="p"·data-group-id="5457961332-2">]</span><span·class="p"·data-group-id="5457961332-1">}</span><span·class="p">.</span></code></pre><p>In·this·case·the·<code·class="inline">ct_hooks</code>·statement·in·the·test·suite·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="0073923258-1">(</span><span·class="p"·data-group-id="0073923258-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
187 ····</span><span·class="p"·data-group-id="7958758203-2">[</span><span·class="p"·data-group-id="7958758203-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7958758203-4">[</span><span·class="p"·data-group-id="7958758203-5">{</[·...·truncated·by·diffoscope;·len:·395,·SHA:·29485493d8c63621adb6c5c92e9585e052d029a1b0034fb834c76161f1435740·...·]-2">]</span><span·class="p">.</span></code></pre><h2·id="module-see-also"·class="section-heading">187 ····</span><span·class="p"·data-group-id="0073923258-2">[</span><span·class="p"·data-group-id="0073923258-3">{</span><span·class="ss">ct_hooks</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0073923258-4">[</span><span·class="p"·data-group-id="0073923258-5">{</[·...·truncated·by·diffoscope;·len:·395,·SHA:·43616fb0423f8dbac09698dbfde03d111ef63abc63e7d76744f9fbb9160d3ebe·...·]-2">]</span><span·class="p">.</span></code></pre><h2·id="module-see-also"·class="section-heading">
188 ··<a·href="#module-see-also"·class="hover-link">188 ··<a·href="#module-see-also"·class="hover-link">
189 ····<i·class="ri-link-m"·aria-hidden="true"></i>189 ····<i·class="ri-link-m"·aria-hidden="true"></i>
190 ··</a>190 ··</a>
191 ··<span·class="text">See·Also</span>191 ··<span·class="text">See·Also</span>
192 </h2>192 </h2>
193 <p><a·href="unix_telnet.html"><code·class="inline">unix_telnet</code></a></p>193 <p><a·href="unix_telnet.html"><code·class="inline">unix_telnet</code></a></p>
194 ····</section>194 ····</section>
Offset 865, 17 lines modifiedOffset 865, 17 lines modified
865 of·waiting·for·prompt.</p></li><li><p><strong><code·class="inline">repeat·|·repeat,·N</code></strong>·-·The·pattern(s)·must·be·matched·multiple·times.·If865 of·waiting·for·prompt.</p></li><li><p><strong><code·class="inline">repeat·|·repeat,·N</code></strong>·-·The·pattern(s)·must·be·matched·multiple·times.·If
866 <code·class="inline">N</code>·is·specified,·the·pattern(s)·are·matched·<code·class="inline">N</code>·times,·and·the·function866 <code·class="inline">N</code>·is·specified,·the·pattern(s)·are·matched·<code·class="inline">N</code>·times,·and·the·function
867 returns·<code·class="inline">HaltReason·=·done</code>.·This·option·can·be·interrupted·by·one·or·more867 returns·<code·class="inline">HaltReason·=·done</code>.·This·option·can·be·interrupted·by·one·or·more
868 <code·class="inline">HaltPatterns</code>.·<code·class="inline">MatchList</code>·is·always·returned,·that·is,·a·list·of·<code·class="inline">Match</code>868 <code·class="inline">HaltPatterns</code>.·<code·class="inline">MatchList</code>·is·always·returned,·that·is,·a·list·of·<code·class="inline">Match</code>
869 instead·of·only·one·<code·class="inline">Match</code>.·Also·<code·class="inline">HaltReason</code>·is·returned.</p></li><li><p><strong><code·class="inline">sequence</code></strong>·-·All·patterns·must·be·matched·in·a·sequence.·A·match·is·not869 instead·of·only·one·<code·class="inline">Match</code>.·Also·<code·class="inline">HaltReason</code>·is·returned.</p></li><li><p><strong><code·class="inline">sequence</code></strong>·-·All·patterns·must·be·matched·in·a·sequence.·A·match·is·not
870 concluded·until·all·patterns·are·matched.·This·option·can·be·interrupted·by870 concluded·until·all·patterns·are·matched.·This·option·can·be·interrupted·by
871 one·or·more·<code·class="inline">HaltPatterns</code>.·<code·class="inline">MatchList</code>·is·always·returned,·that·is,·a·list·of871 one·or·more·<code·class="inline">HaltPatterns</code>.·<code·class="inline">MatchList</code>·is·always·returned,·that·is,·a·list·of
872 <code·class="inline">Match</code>·instead·of·only·one·<code·class="inline">Match</code>.·Also·<code·class="inline">HaltReason</code>·is·returned.</p></li></ul><p><em>Example·1:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">expect</span><span·class="p"·data-group-id="8639663865-1">(</span><span·class="n">Connection</span><span·class="p">,</span><span·class="p"·data-group-id="8639663865-2">[</span><span·class="p"·data-group-id="8639663865-3">{</span><span·class="ss">abc</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·1029,·SHA:·f9c847e9d696b87565cddba5b60bdef04845602a7a8d9e5f9cf4ed79bddc2b6c·...·]-1">)</span></code></pre><p>First·this·tries·to·match·<code·class="inline">&quot;ABC&quot;</code>,·and·then·<code·class="inline">&quot;XYZ&quot;</code>,·but·if·<code·class="inline">&quot;NNN&quot;</code>·appears,·the872 <code·class="inline">Match</code>·instead·of·only·one·<code·class="inline">Match</code>.·Also·<code·class="inline">HaltReason</code>·is·returned.</p></li></ul><p><em>Example·1:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">expect</span><span·class="p"·data-group-id="0435148237-1">(</span><span·class="n">Connection</span><span·class="p">,</span><span·class="p"·data-group-id="0435148237-2">[</span><span·class="p"·data-group-id="0435148237-3">{</span><span·class="ss">abc</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·1029,·SHA:·4abd0bd785dbeb503e43598b61dd3880979363543ba4458aa75ee0d08c8417ea·...·]-1">)</span></code></pre><p>First·this·tries·to·match·<code·class="inline">&quot;ABC&quot;</code>,·and·then·<code·class="inline">&quot;XYZ&quot;</code>,·but·if·<code·class="inline">&quot;NNN&quot;</code>·appears,·the
873 function·returns·<code·class="inline">{error,{nnn,[&quot;NNN&quot;]}}</code>.·If·both·<code·class="inline">&quot;ABC&quot;</code>·and·<code·class="inline">&quot;XYZ&quot;</code>·are873 function·returns·<code·class="inline">{error,{nnn,[&quot;NNN&quot;]}}</code>.·If·both·<code·class="inline">&quot;ABC&quot;</code>·and·<code·class="inline">&quot;XYZ&quot;</code>·are
874 matched,·the·function·returns·<code·class="inline">{ok,[AbcMatch,XyzMatch]}</code>.</p><p><em>Example·2:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">expect</span><span·class="p"·data-group-id="1805057525-1">(</span><span·class="n">Connection</span><span·class="p">,</span><span·class="p"·data-group-id="1805057525-2">[</span><span·class="p"·data-group-id="1805057525-3">{</span><span·class="ss">abc</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·1182,·SHA:·89e4e2a7b5d74e4bb78460e459415220c8f34b57c80a5bff17a190cef7e0556f·...·]-1">)</span></code></pre><p>This·tries·to·match·<code·class="inline">&quot;ABC&quot;</code>·or·<code·class="inline">&quot;XYZ&quot;</code>·twice.·If·<code·class="inline">&quot;NNN&quot;</code>·appears,·the·function874 matched,·the·function·returns·<code·class="inline">{ok,[AbcMatch,XyzMatch]}</code>.</p><p><em>Example·2:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">expect</span><span·class="p"·data-group-id="3488999938-1">(</span><span·class="n">Connection</span><span·class="p">,</span><span·class="p"·data-group-id="3488999938-2">[</span><span·class="p"·data-group-id="3488999938-3">{</span><span·class="ss">abc</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·1182,·SHA:·363293650d076aa7af5f5e0ce5c5caec3aa945ddd17bd1e22ec473bf0b2a61c8·...·]-1">)</span></code></pre><p>This·tries·to·match·<code·class="inline">&quot;ABC&quot;</code>·or·<code·class="inline">&quot;XYZ&quot;</code>·twice.·If·<code·class="inline">&quot;NNN&quot;</code>·appears,·the·function
875 returns·<code·class="inline">HaltReason·=·{nnn,[&quot;NNN&quot;]}</code>.</p><p>Options·<code·class="inline">repeat</code>·and·<code·class="inline">sequence</code>·can·be·combined·to·match·a·sequence·multiple875 returns·<code·class="inline">HaltReason·=·{nnn,[&quot;NNN&quot;]}</code>.</p><p>Options·<code·class="inline">repeat</code>·and·<code·class="inline">sequence</code>·can·be·combined·to·match·a·sequence·multiple
876 times.</p>876 times.</p>
877 ··</section>877 ··</section>
878 </section>878 </section>
879 <section·class="detail"·id="get_data/1">879 <section·class="detail"·id="get_data/1">
  
880 ··<div·class="detail-header">880 ··<div·class="detail-header">
Offset 1189, 15 lines modifiedOffset 1189, 15 lines modified
1189 ······<p·class="built-using">1189 ······<p·class="built-using">
1190 ········Built·using1190 ········Built·using
1191 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1191 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1192 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1192 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1193 ······</p>1193 ······</p>
1194 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1194 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1195 ····</footer>1195 ····</footer>
1196 ··</div>1196 ··</div>
1197 </main>1197 </main>
1198 </div>1198 </div>
1199 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1199 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1200 ··<script>1200 ··<script>
1201 ··let·initialized·=·false;1201 ··let·initialized·=·false;
675 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/ct_testspec.html
    
Offset 233, 15 lines modifiedOffset 233, 15 lines modified
233 ······<p·class="built-using">233 ······<p·class="built-using">
234 ········Built·using234 ········Built·using
235 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the235 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
236 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>236 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
237 ······</p>237 ······</p>
238 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>238 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
239 ····</footer>239 ····</footer>
240 ··</div>240 ··</div>
241 </main>241 </main>
242 </div>242 </div>
243 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>243 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
244 ··<script>244 ··<script>
245 ··let·initialized·=·false;245 ··let·initialized·=·false;
696 B
html2text {}
Max HTML report size reached
57.5 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/dependencies_chapter.html
    
Offset 157, 73 lines modifiedOffset 157, 73 lines modified
157 between·the·cases·and·therefore·introduce·dependencies·between·them.</p><p>To·avoid·this,·we·can·consider·starting·and·stopping·the·server·for·every·test.157 between·the·cases·and·therefore·introduce·dependencies·between·them.</p><p>To·avoid·this,·we·can·consider·starting·and·stopping·the·server·for·every·test.
158 We·can·thus·implement·the·start·and·stop·action·as·common·functions·to·be·called158 We·can·thus·implement·the·start·and·stop·action·as·common·functions·to·be·called
159 from·<a·href="ct_suite.html#c:init_per_testcase/2"><code·class="inline">init_per_testcase</code></a>·and159 from·<a·href="ct_suite.html#c:init_per_testcase/2"><code·class="inline">init_per_testcase</code></a>·and
160 <a·href="ct_suite.html#c:end_per_testcase/2"><code·class="inline">end_per_testcase</code></a>.·(Remember·to·test·the160 <a·href="ct_suite.html#c:end_per_testcase/2"><code·class="inline">end_per_testcase</code></a>.·(Remember·to·test·the
161 start·and·stop·functionality·separately.)·The·configuration·can·also·be161 start·and·stop·functionality·separately.)·The·configuration·can·also·be
162 implemented·as·a·common·function,·maybe·grouped·with·the·start·function.162 implemented·as·a·common·function,·maybe·grouped·with·the·start·function.
163 Finally,·the·testing·of·connecting·and·disconnecting·a·client·can·be·grouped163 Finally,·the·testing·of·connecting·and·disconnecting·a·client·can·be·grouped
164 into·one·test·case.·The·resulting·suite·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2568780845-1">(</span><span·class="ss">my_server_SUITE</span><span·class="p"·data-group-id="2568780845-1">)</span><span·class="p">.</span><span·class="w">164 into·one·test·case.·The·resulting·suite·can·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7983323624-1">(</span><span·class="ss">my_server_SUITE</span><span·class="p"·data-group-id="7983323624-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="2568780845-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="2568780845-2">)</span><span·class="p">.</span><span·class="w">165 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="7983323624-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="7983323624-2">)</span><span·class="p">.</span><span·class="w">
166 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="2568780845-3">(</span><span·class="s">&quot;ct.hrl&quot;</span><span·class="p"·data-group-id="2568780845-3">)</span><span·class="p">.</span><span·class="w">166 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="7983323624-3">(</span><span·class="s">&quot;ct.hrl&quot;</span><span·class="p"·data-group-id="7983323624-3">)</span><span·class="p">.</span><span·class="w">
  
167 </span><span·class="c1">%%%·init·and·end·functions...</span><span·class="w">167 </span><span·class="c1">%%%·init·and·end·functions...</span><span·class="w">
  
168 </span><span·class="nf">suite</span><span·class="p"·data-group-id="2568780845-4">(</span><span·class="p"·data-group-id="2568780845-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2568780845-5">[</span><span·class="p"·data-group-id="2568780845-6">{</span[·...·truncated·by·diffoscope;·len:·187,·SHA:·561f266d5a06fd47a10647db46c8fc6354e68467da82824e7e6df77f1eff5a83·...·]-5">]</span><span·class="p">.</span><span·class="w">168 </span><span·class="nf">suite</span><span·class="p"·data-group-id="7983323624-4">(</span><span·class="p"·data-group-id="7983323624-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7983323624-5">[</span><span·class="p"·data-group-id="7983323624-6">{</span[·...·truncated·by·diffoscope;·len:·187,·SHA:·7f18fe4f1a1001f1778dd2ca3b8382a89280d4dc67ab0f9bcbf5ce08116c299c·...·]-5">]</span><span·class="p">.</span><span·class="w">
  
169 </span><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="2568780845-7">(</span><span·class="ss">start_and_stop</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="2568780845-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">169 </span><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="7983323624-7">(</span><span·class="ss">start_and_stop</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="7983323624-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
170 ····</span><span·class="n">Config</span><span·class="p">;</span><span·class="w">170 ····</span><span·class="n">Config</span><span·class="p">;</span><span·class="w">
  
171 </span><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="2568780845-8">(</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="2568780845-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">171 </span><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="7983323624-8">(</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="7983323624-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
172 ····</span><span·class="p"·data-group-id="2568780845-9">[</span><span·class="p"·data-group-id="2568780845-10">{</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="nf">start_server</span><span·class="p"·data-group-id="2568780845-11">(</span><span·class="p"·data-group-id="2[·...·truncated·by·diffoscope;·len:·218,·SHA:·fecceda07606278275f61d05ad348bb4771b83da2e0637e6968f7b98247dfcc7·...·]-9">]</span><span·class="p">;</span><span·class="w">172 ····</span><span·class="p"·data-group-id="7983323624-9">[</span><span·class="p"·data-group-id="7983323624-10">{</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="nf">start_server</span><span·class="p"·data-group-id="7983323624-11">(</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·218,·SHA:·98bac91832b694406ec17e77c7be4f8a47cb8737e843a5f58447f98449cc29c6·...·]-9">]</span><span·class="p">;</span><span·class="w">
  
173 </span><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="2568780845-12">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="2568780845-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">173 </span><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="7983323624-12">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="7983323624-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ····</span><span·class="n">ServerPid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">start_server</span><span·class="p"·data-group-id="2568780845-13">(</span><span·class="p"·data-group-id="2568780845-13">)</span><span·class="p">,</span><span·class="w">174 ····</span><span·class="n">ServerPid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">start_server</span><span·class="p"·data-group-id="7983323624-13">(</span><span·class="p"·data-group-id="7983323624-13">)</span><span·class="p">,</span><span·class="w">
175 ····</span><span·class="nf">configure_server</span><span·class="p"·data-group-id="2568780845-14">(</span><span·class="p"·data-group-id="2568780845-14">)</span><span·class="p">,</span><span·class="w">175 ····</span><span·class="nf">configure_server</span><span·class="p"·data-group-id="7983323624-14">(</span><span·class="p"·data-group-id="7983323624-14">)</span><span·class="p">,</span><span·class="w">
176 ····</span><span·class="p"·data-group-id="2568780845-15">[</span><span·class="p"·data-group-id="2568780845-16">{</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="2568780845-16">}</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·107,·SHA:·3eaf9182c13136a469c26e03811e03150a7bf119ed9fa9933182253e90b858af·...·]-15">]</span><span·class="p">.</span><span·class="w">176 ····</span><span·class="p"·data-group-id="7983323624-15">[</span><span·class="p"·data-group-id="7983323624-16">{</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="7983323624-16">}</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·107,·SHA:·3efc39f2312ef5a59ef881862b742054106eb7a5d18ad73ceac91e310d8064f0·...·]-15">]</span><span·class="p">.</span><span·class="w">
  
177 </span><span·class="nf">end_per_testcase</span><span·class="p"·data-group-id="2568780845-17">(</span><span·class="ss">start_and_stop</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="2568780845-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">177 </span><span·class="nf">end_per_testcase</span><span·class="p"·data-group-id="7983323624-17">(</span><span·class="ss">start_and_stop</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="7983323624-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
178 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">178 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
  
179 </span><span·class="nf">end_per_testcase</span><span·class="p"·data-group-id="2568780845-18">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="2568780845-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">179 </span><span·class="nf">end_per_testcase</span><span·class="p"·data-group-id="7983323624-18">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="7983323624-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
180 ····</span><span·class="n">ServerPid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="2568780845-19">(</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="2568780845-19">)</span><span·class="p">,</span><span·class="w">180 ····</span><span·class="n">ServerPid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="7983323624-19">(</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="7983323624-19">)</span><span·class="p">,</span><span·class="w">
181 ····</span><span·class="nf">stop_server</span><span·class="p"·data-group-id="2568780845-20">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="2568780845-20">)</span><span·class="p">.</span><span·class="w">181 ····</span><span·class="nf">stop_server</span><span·class="p"·data-group-id="7983323624-20">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="7983323624-20">)</span><span·class="p">.</span><span·class="w">
  
182 </span><span·class="c1">%%%·test·cases...</span><span·class="w">182 </span><span·class="c1">%%%·test·cases...</span><span·class="w">
  
183 </span><span·class="nf">all</span><span·class="p"·data-group-id="2568780845-21">(</span><span·class="p"·data-group-id="2568780845-21">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2568780845-22">[</span><span·class="ss">start_and_stop</span><span·class[·...·truncated·by·diffoscope;·len:·202,·SHA:·b016cbb753faa2e4e2aef0838d06c8ecca0a0e1f45b66789c8e4a0dbbc3ade96·...·]-22">]</span><span·class="p">.</span><span·class="w">183 </span><span·class="nf">all</span><span·class="p"·data-group-id="7983323624-21">(</span><span·class="p"·data-group-id="7983323624-21">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7983323624-22">[</span><span·class="ss">start_and_stop</span><span·class[·...·truncated·by·diffoscope;·len:·202,·SHA:·4d1bf2cd7422820576c7f10fca39c00e0e7b88282c3058e7b7f9b23726c74c91·...·]-22">]</span><span·class="p">.</span><span·class="w">
  
184 </span><span·class="c1">%%·test·that·starting·and·stopping·works</span><span·class="w">184 </span><span·class="c1">%%·test·that·starting·and·stopping·works</span><span·class="w">
185 </span><span·class="nf">start_and_stop</span><span·class="p"·data-group-id="2568780845-23">(</span><span·class="p">_</span><span·class="p"·data-group-id="2568780845-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">185 </span><span·class="nf">start_and_stop</span><span·class="p"·data-group-id="7983323624-23">(</span><span·class="p">_</span><span·class="p"·data-group-id="7983323624-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
186 ····</span><span·class="n">ServerPid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">start_server</span><span·class="p"·data-group-id="2568780845-24">(</span><span·class="p"·data-group-id="2568780845-24">)</span><span·class="p">,</span><span·class="w">186 ····</span><span·class="n">ServerPid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">start_server</span><span·class="p"·data-group-id="7983323624-24">(</span><span·class="p"·data-group-id="7983323624-24">)</span><span·class="p">,</span><span·class="w">
187 ····</span><span·class="nf">stop_server</span><span·class="p"·data-group-id="2568780845-25">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="2568780845-25">)</span><span·class="p">.</span><span·class="w">187 ····</span><span·class="nf">stop_server</span><span·class="p"·data-group-id="7983323624-25">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="7983323624-25">)</span><span·class="p">.</span><span·class="w">
  
188 </span><span·class="c1">%%·configuration·test</span><span·class="w">188 </span><span·class="c1">%%·configuration·test</span><span·class="w">
189 </span><span·class="nf">config</span><span·class="p"·data-group-id="2568780845-26">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2568780845-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">189 </span><span·class="nf">config</span><span·class="p"·data-group-id="7983323624-26">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7983323624-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
190 ····</span><span·class="n">ServerPid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="2568780845-27">(</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="2568780845-27">)</span><span·class="p">,</span><span·class="w">190 ····</span><span·class="n">ServerPid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="7983323624-27">(</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="7983323624-27">)</span><span·class="p">,</span><span·class="w">
191 ····</span><span·class="nf">configure_server</span><span·class="p"·data-group-id="2568780845-28">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="2568780845-28">)</span><span·class="p">.</span><span·class="w">191 ····</span><span·class="nf">configure_server</span><span·class="p"·data-group-id="7983323624-28">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="7983323624-28">)</span><span·class="p">.</span><span·class="w">
  
192 </span><span·class="c1">%%·test·connecting·and·disconnecting·client</span><span·class="w">192 </span><span·class="c1">%%·test·connecting·and·disconnecting·client</span><span·class="w">
193 </span><span·class="nf">connect_and_disconnect</span><span·class="p"·data-group-id="2568780845-29">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2568780845-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">193 </span><span·class="nf">connect_and_disconnect</span><span·class="p"·data-group-id="7983323624-29">(</span><span·class="n">Config</span><span·class="p"·data-group-id="7983323624-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
194 ····</span><span·class="n">ServerPid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="2568780845-30">(</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="2568780845-30">)</span><span·class="p">,</span><span·class="w">194 ····</span><span·class="n">ServerPid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="7983323624-30">(</span><span·class="ss">server_pid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="7983323624-30">)</span><span·class="p">,</span><span·class="w">
195 ····</span><span·class="p"·data-group-id="2568780845-31">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="2568780845-31">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_serve[·...·truncated·by·diffoscope;·len:·190,·SHA:·b4ec40ef36fe9efa00f4f9bcd0acf20294bc605abe06a5e575ea3e0b9f21526b·...·]-32">)</span><span·class="p">,</span><span·class="w">195 ····</span><span·class="p"·data-group-id="7983323624-31">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="7983323624-31">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_serve[·...·truncated·by·diffoscope;·len:·190,·SHA:·3a584c3cea573e69f61df0bcc2cbe5f2b2dbaee78d8710651c4d29300ad7be72·...·]-32">)</span><span·class="p">,</span><span·class="w">
196 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_server</span><span·class="p">:</span><span·class="nf">disconnect</span><span·class="p"·data-group-id="2568780845-33">(</span><span·class="n">ServerPid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SessionId</span><span·class="p"·data-group-id="2568780845-33">)</span><span·class="p">.</span><span·class="w">196 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_server</span><span·class="p">:</span><span·class="nf">disconnect</span><span·class="p"·data-group-id="7983323624-33">(</span><span·class="n">ServerPid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SessionId</span><span·class="p"·data-group-id="7983323624-33">)</span><span·class="p">.</span><span·class="w">
  
197 </span><span·class="c1">%%%·common·functions...</span><span·class="w">197 </span><span·class="c1">%%%·common·functions...</span><span·class="w">
  
198 </span><span·class="nf">start_server</span><span·class="p"·data-group-id="2568780845-34">(</span><span·class="p"·data-group-id="2568780845-34">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">198 </span><span·class="nf">start_server</span><span·class="p"·data-group-id="7983323624-34">(</span><span·class="p"·data-group-id="7983323624-34">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
199 ····</span><span·class="p"·data-group-id="2568780845-35">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="2568780845-35">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_serve[·...·truncated·by·diffoscope;·len:·156,·SHA:·57d953ed5d37107a9da0f03d4e116c89fd3103c0e77141afae8d89a93620e5b6·...·]-36">)</span><span·class="p">,</span><span·class="w">199 ····</span><span·class="p"·data-group-id="7983323624-35">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="7983323624-35">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_serve[·...·truncated·by·diffoscope;·len:·156,·SHA:·ccf5e8d11769dd38b474acd59260bba44552b49d69df53ae3cb96295d8e9a27a·...·]-36">)</span><span·class="p">,</span><span·class="w">
200 ····</span><span·class="n">ServerPid</span><span·class="p">.</span><span·class="w">200 ····</span><span·class="n">ServerPid</span><span·class="p">.</span><span·class="w">
  
201 </span><span·class="nf">stop_server</span><span·class="p"·data-group-id="2568780845-37">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="2568780845-37">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">201 </span><span·class="nf">stop_server</span><span·class="p"·data-group-id="7983323624-37">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="7983323624-37">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
202 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_server</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="2568780845-38">(</span><span·class="p"·data-group-id="2568780845-38">)</span><span·class="p">,</span><span·class="w">202 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_server</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="7983323624-38">(</span><span·class="p"·data-group-id="7983323624-38">)</span><span·class="p">,</span><span·class="w">
203 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">203 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
204 </span><span·class="nf">configure_server</span><span·class="p"·data-group-id="2568780845-39">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="2568780845-39">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">204 </span><span·class="nf">configure_server</span><span·class="p"·data-group-id="7983323624-39">(</span><span·class="n">ServerPid</span><span·class="p"·data-group-id="7983323624-39">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
205 ····</span><span·class="n">ServerCfgData</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="2568780845-40">(</span><span·class="ss">my_server_cfg</span><span·class="p"·data-group-id="2568780845-40">)</span><span·class="p">,</span><span·class="w">205 ····</span><span·class="n">ServerCfgData</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">get_config</span><span·class="p"·data-group-id="7983323624-40">(</span><span·class="ss">my_server_cfg</span><span·class="p"·data-group-id="7983323624-40">)</span><span·class="p">,</span><span·class="w">
206 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_server</span><span·class="p">:</span><span·class="nf">configure</span><span·class="p"·data-group-id="2568780845-41">(</span><span·class="n">ServerPid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ServerCfgData</span><span·class="p"·data-group-id="2568780845-41">)</span><span·class="p">,</span><span·class="w">206 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">my_server</span><span·class="p">:</span><span·class="nf">configure</span><span·class="p"·data-group-id="7983323624-41">(</span><span·class="n">ServerPid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ServerCfgData</span><span·class="p"·data-group-id="7983323624-41">)</span><span·class="p">,</span><span·class="w">
207 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p><a·href=""·id="save_config"></a></p><h2·id="saving-configuration-data"·class="section-heading">207 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p><a·href=""·id="save_config"></a></p><h2·id="saving-configuration-data"·class="section-heading">
208 ··<a·href="#saving-configuration-data"·class="hover-link">208 ··<a·href="#saving-configuration-data"·class="hover-link">
209 ····<i·class="ri-link-m"·aria-hidden="true"></i>209 ····<i·class="ri-link-m"·aria-hidden="true"></i>
210 ··</a>210 ··</a>
211 ··<span·class="text">Saving·Configuration·Data</span>211 ··<span·class="text">Saving·Configuration·Data</span>
212 </h2>212 </h2>
213 <p>Sometimes·it·is·impossible,·or·infeasible,·to·implement·independent·test·cases.213 <p>Sometimes·it·is·impossible,·or·infeasible,·to·implement·independent·test·cases.
Offset 243, 48 lines modifiedOffset 243, 48 lines modified
243 <code·class="inline">Saver</code>·is·always·matched·to·the·expected·name·of·the·saving·test·case.·This243 <code·class="inline">Saver</code>·is·always·matched·to·the·expected·name·of·the·saving·test·case.·This
244 way,·problems·because·of·restructuring·of·the·test·suite·can·be·avoided.·Also,244 way,·problems·because·of·restructuring·of·the·test·suite·can·be·avoided.·Also,
245 it·makes·the·dependency·more·explicit·and·the·test·suite·easier·to·read·and245 it·makes·the·dependency·more·explicit·and·the·test·suite·easier·to·read·and
246 maintain.</p><p>To·pass·data·from·one·test·suite·to·another,·the·same·mechanism·is·used.·The246 maintain.</p><p>To·pass·data·from·one·test·suite·to·another,·the·same·mechanism·is·used.·The
247 data·is·to·be·saved·by·finction·<a·href="ct_suite.html#c:end_per_suite/1"><code·class="inline">end_per_suite</code></a>247 data·is·to·be·saved·by·finction·<a·href="ct_suite.html#c:end_per_suite/1"><code·class="inline">end_per_suite</code></a>
248 and·read·by·function·<a·href="ct_suite.html#c:init_per_suite/1"><code·class="inline">init_per_suite</code></a>·in·the248 and·read·by·function·<a·href="ct_suite.html#c:init_per_suite/1"><code·class="inline">init_per_suite</code></a>·in·the
249 suite·that·follows.·When·passing·data·between·suites,·<code·class="inline">Saver</code>·carries·the·name249 suite·that·follows.·When·passing·data·between·suites,·<code·class="inline">Saver</code>·carries·the·name
250 of·the·test·suite.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1366686854-1">(</span><span·class="ss">server_b_SUITE</span><span·class="p"·data-group-id="1366686854-1">)</span><span·class="p">.</span><span·class="w">250 of·the·test·suite.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9433284202-1">(</span><span·class="ss">server_b_SUITE</span><span·class="p"·data-group-id="9433284202-1">)</span><span·class="p">.</span><span·class="w">
251 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="1366686854-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="1366686854-2">)</span><span·class="p">.</span><span·class="w">251 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="9433284202-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="9433284202-2">)</span><span·class="p">.</span><span·class="w">
252 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="1366686854-3">(</span><span·class="s">&quot;ct.hrl&quot;</span><span·class="p"·data-group-id="1366686854-3">)</span><span·class="p">.</span><span·class="w">252 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="9433284202-3">(</span><span·class="s">&quot;ct.hrl&quot;</span><span·class="p"·data-group-id="9433284202-3">)</span><span·class="p">.</span><span·class="w">
  
253 </span><span·class="c1">%%%·init·and·end·functions...</span><span·class="w">253 </span><span·class="c1">%%%·init·and·end·functions...</span><span·class="w">
  
254 </span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="1366686854-4">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1366686854-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">254 </span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="9433284202-4">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9433284202-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
255 ····</span><span·class="c1">%%·read·config·saved·by·previous·test·suite</span><span·class="w">255 ····</span><span·class="c1">%%·read·config·saved·by·previous·test·suite</span><span·class="w">
256 ····</span><span·class="p"·data-group-id="1366686854-5">{</span><span·class="ss">server_a_SUITE</span><span·class="p">,</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="1366686854-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc[·...·truncated·by·diffoscope;·len:·282,·SHA:·3f1e550c4fc7f2ae46054c60890b0f3899ee7344ed9d691520f6e6c7f0706db8·...·]-6">)</span><span·class="p">,</span><span·class="w">256 ····</span><span·class="p"·data-group-id="9433284202-5">{</span><span·class="ss">server_a_SUITE</span><span·class="p">,</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="9433284202-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc[·...·truncated·by·diffoscope;·len:·282,·SHA:·f3a3e77ac6cab3002e4a7bc009086b0a718aff5e2e96e91bb40f2a404f5f77b3·...·]-6">)</span><span·class="p">,</span><span·class="w">
257 ····</span><span·class="c1">%%·extract·server·identity·(comes·from·server_a_SUITE)</span><span·class="w">257 ····</span><span·class="c1">%%·extract·server·identity·(comes·from·server_a_SUITE)</span><span·class="w">
258 ····</span><span·class="n">ServerId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="1366686854-7">(</span><span·class="ss">server_id</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="1366686854-7">)</span><span·class="p">,</span><span·class="w">258 ····</span><span·class="n">ServerId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="9433284202-7">(</span><span·class="ss">server_id</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="9433284202-7">)</span><span·class="p">,</span><span·class="w">
259 ····</span><span·class="n">SessionId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">connect_to_server</span><span·class="p"·data-group-id="1366686854-8">(</span><span·class="n">ServerId</span><span·class="p"·data-group-id="1366686854-8">)</span><span·class="p">,</span><span·class="w"> 
260 ····</span><span·class="p"·data-group-id="1366686854-9">[</span><span·class="p"·data-group-id="1366686854-10">{</span><span·class="ss">ids</span><span·class="p">,</span><span·class="p"·data-group-id="1366686854-11">{</span><span·class="n">ServerId</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·309,·SHA:·eb788d46914a382f89e143be9c2f24aa091755717421e1636bfd07e300b8b15b·...·]</span><span·class="w">259 ····</span><span·class="n">SessionId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">connect_to_server</span><span·class="p"·data-group-id="9433284202-8">(</span><span·class="n">ServerId</span><span·class="p"·data-group-id="943328420[·...·truncated·by·diffoscope;·len:·30,·SHA:·c85438d304f976c900a53974877f9db13f2773fdbd35868d8fb22dbfbe5900f2·...·]</span><span·class="w">
 260 ····</span><span·class="p"·data-group-id="9433284202-9">[</span><span·class="p"·data-group-id="9433284202-10">{</span><span·class="ss">ids</span><span·class="p">,</span><span·class="p"·data-group-id="9433284202-11">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="9433284202-11">}</span><span·class="p"·data-group-id="9433284202-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="9433284202-9">]</span><span·class="p">.</span><span·class="w">
  
261 </span><span·class="nf">end_per_suite</span><span·class="p"·data-group-id="1366686854-12">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1366686854-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">261 </span><span·class="nf">end_per_suite</span><span·class="p"·data-group-id="9433284202-12">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9433284202-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
262 ····</span><span·class="c1">%%·save·config·for·server_c_SUITE·(session_id·and·server_id)</span><span·class="w">262 ····</span><span·class="c1">%%·save·config·for·server_c_SUITE·(session_id·and·server_id)</span><span·class="w">
263 ····</span><span·class="p"·data-group-id="1366686854-13">{</span><span·class="ss">save_config</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="1366686854-13">}</span><span·class="w">263 ····</span><span·class="p"·data-group-id="9433284202-13">{</span><span·class="ss">save_config</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="9433284202-13">}</span><span·class="w">
  
264 </span><span·class="c1">%%%·test·cases...</span><span·class="w">264 </span><span·class="c1">%%%·test·cases...</span><span·class="w">
  
265 </span><span·class="nf">all</span><span·class="p"·data-group-id="1366686854-14">(</span><span·class="p"·data-group-id="1366686854-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1366686854-15">[</span><span·class="ss">allocate</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·106,·SHA:·9177c200f43d7867b95cc6d179db6e1baa10e85ad0e7b9cdcdd956250d113370·...·]-15">]</span><span·class="p">.</span><span·class="w">265 </span><span·class="nf">all</span><span·class="p"·data-group-id="9433284202-14">(</span><span·class="p"·data-group-id="9433284202-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9433284202-15">[</span><span·class="ss">allocate</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·106,·SHA:·b9f927f282abab6e93faa59f4eadd4821711f09f61359e37cf03eed9333677f1·...·]-15">]</span><span·class="p">.</span><span·class="w">
  
266 </span><span·class="nf">allocate</span><span·class="p"·data-group-id="1366686854-16">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1366686854-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">266 </span><span·class="nf">allocate</span><span·class="p"·data-group-id="9433284202-16">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9433284202-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
267 ····</span><span·class="p"·data-group-id="1366686854-17">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="1366686854-17">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pro[·...·truncated·by·diffoscope;·len:·269,·SHA:·1c83a81584ae49d6e1c34e26e07f5df202ba9d55ddb3bd29af1b17f4c855300a·...·]-18">)</span><span·class="p">,</span><span·class="w">267 ····</span><span·class="p"·data-group-id="9433284202-17">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="9433284202-17">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pro[·...·truncated·by·diffoscope;·len:·269,·SHA:·a1ff6dfc68dfbdab9e8ec8b4a673bc3edc90c47799cdebecca6adaef807a0564·...·]-18">)</span><span·class="p">,</span><span·class="w">
268 ····</span><span·class="p"·data-group-id="1366686854-19">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle</span><span·class="p"·data-group-id="1366686854-19">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">allocate_re[·...·truncated·by·diffoscope;·len:·219,·SHA:·0b99619a7fe33a0f7c3ba012e79569e83e58de3276920a84116d30fc7aa564fc·...·]-20">)</span><span·class="p">,</span><span·class="w">268 ····</span><span·class="p"·data-group-id="9433284202-19">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Handle</span><span·class="p"·data-group-id="9433284202-19">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">allocate_re[·...·truncated·by·diffoscope;·len:·219,·SHA:·766ec8a6a3b99a534e3ce51e9cc68dcf8683821f5ea249a4f5041df354ff6ab3·...·]-20">)</span><span·class="p">,</span><span·class="w">
269 ····</span><span·class="c1">%%·save·handle·for·deallocation·test</span><span·class="w">269 ····</span><span·class="c1">%%·save·handle·for·deallocation·test</span><span·class="w">
270 ····</span><span·class="n">NewConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1366686854-21">[</span><span·class="p"·data-group-id="1366686854-22">{</span><span·class="ss">handle</span><span·class="p">,</span><span·class="n">Handle</span><span·class="p"·data-group-id="1366686854-22">}</span><span·class="p"·data-group-id="1366686854-21">]</span><span·class="p">,</span><span·class="w">270 ····</span><span·class="n">NewConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9433284202-21">[</span><span·class="p"·data-group-id="9433284202-22">{</span><span·class="ss">handle</span><span·class="p">,</span><span·class="n">Handle</span><span·class="p"·data-group-id="9433284202-22">}</span><span·class="p"·data-group-id="9433284202-21">]</span><span·class="p">,</span><span·class="w">
271 ····</span><span·class="p"·data-group-id="1366686854-23">{</span><span·class="ss">save_config</span><span·class="p">,</span><span·class="n">NewConfig</span><span·class="p"·data-group-id="1366686854-23">}</span><span·class="p">.</span><span·class="w">271 ····</span><span·class="p"·data-group-id="9433284202-23">{</span><span·class="ss">save_config</span><span·class="p">,</span><span·class="n">NewConfig</span><span·class="p"·data-group-id="9433284202-23">}</span><span·class="p">.</span><span·class="w">
  
272 </span><span·class="nf">deallocate</span><span·class="p"·data-group-id="1366686854-24">(</span><span·class="n">Config</span><span·class="p"·data-group-id="1366686854-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">272 </span><span·class="nf">deallocate</span><span·class="p"·data-group-id="9433284202-24">(</span><span·class="n">Config</span><span·class="p"·data-group-id="9433284202-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
273 ····</span><span·class="p"·data-group-id="1366686854-25">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="1366686854-25">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pro[·...·truncated·by·diffoscope;·len:·269,·SHA:·18c4e41d9a19ff4c6bb9f2db43ade080eb0771bf15fa541ea34bee04759454ca·...·]-26">)</span><span·class="p">,</span><span·class="w">273 ····</span><span·class="p"·data-group-id="9433284202-25">{</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="n">SessionId</span><span·class="p"·data-group-id="9433284202-25">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pro[·...·truncated·by·diffoscope;·len:·269,·SHA:·a0da849157f1365d691ef40aa327e2247f80d59737e4fdb70d76c36864adcab4·...·]-26">)</span><span·class="p">,</span><span·class="w">
274 ····</span><span·class="p"·data-group-id="1366686854-27">{</span><span·class="ss">allocate</span><span·class="p">,</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="1366686854-27">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pr[·...·truncated·by·diffoscope;·len:·279,·SHA:·033cf4a4849ab8dbab328c85588684b5107d3b9670c1b3600f418c2c3b5cdc87·...·]-28">)</span><span·class="p">,</span><span·class="w">274 ····</span><span·class="p"·data-group-id="9433284202-27">{</span><span·class="ss">allocate</span><span·class="p">,</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="9433284202-27">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">pr[·...·truncated·by·diffoscope;·len:·279,·SHA:·2f2477cf6f83c1ae5a66f932a43b38f14d9e4e8bf8684db2696e5cd27438bfa3·...·]-28">)</span><span·class="p">,</span><span·class="w">
275 ····</span><span·class="n">Handle</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="1366686854-29">(</span><span·class="ss">handle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="1366686854-29">)</span><span·class="p">,</span><span·class="w">275 ····</span><span·class="n">Handle</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="9433284202-29">(</span><span·class="ss">handle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OldConfig</span><span·class="p"·data-group-id="9433284202-29">)</span><span·class="p">,</span><span·class="w">
276 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">deallocate_resource</span><span·class="p"·data-group-id="1366686854-30">(</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SessionId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handle</span><span·class="p"·data-group-id="1366686854-30">)</span><span·class="p">.</span></code></pre><p>To·save·<code·class="inline">Config</code>·data·from·a·test·case·that·is·to·be·skipped,·return·tuple276 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">deallocate_resource</span><span·class="p"·data-group-id="9433284202-30">(</span><span·class="n">ServerId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SessionId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Handle</span><span·class="p"·data-group-id="9433284202-30">)</span><span·class="p">.</span></code></pre><p>To·save·<code·class="inline">Config</code>·data·from·a·test·case·that·is·to·be·skipped,·return·tuple
277 <code·class="inline">{skip_and_save,Reason,ConfigList}</code>.</p><p>The·result·is·that·the·test·case·is·skipped·with·<code·class="inline">Reason</code>·printed·to·the·log277 <code·class="inline">{skip_and_save,Reason,ConfigList}</code>.</p><p>The·result·is·that·the·test·case·is·skipped·with·<code·class="inline">Reason</code>·printed·to·the·log
278 file·(as·described·earlier)·and·<code·class="inline">ConfigList</code>·is·saved·for·the·next·test·case.278 file·(as·described·earlier)·and·<code·class="inline">ConfigList</code>·is·saved·for·the·next·test·case.
279 <code·class="inline">ConfigList</code>·can·be·read·using·<code·class="inline">proplists:get_value(saved_config,·Config)</code>,·as279 <code·class="inline">ConfigList</code>·can·be·read·using·<code·class="inline">proplists:get_value(saved_config,·Config)</code>,·as
280 described·earlier.·<code·class="inline">skip_and_save</code>·can·also·be·returned·from·<code·class="inline">init_per_suite</code>.280 described·earlier.·<code·class="inline">skip_and_save</code>·can·also·be·returned·from·<code·class="inline">init_per_suite</code>.
281 In·this·case,·the·saved·data·can·be·read·by·<code·class="inline">init_per_suite</code>·in·the·suite·that281 In·this·case,·the·saved·data·can·be·read·by·<code·class="inline">init_per_suite</code>·in·the·suite·that
282 follows.</p><h2·id="sequences"·class="section-heading">282 follows.</p><h2·id="sequences"·class="section-heading">
283 ··<a·href="#sequences"·class="hover-link">283 ··<a·href="#sequences"·class="hover-link">
Offset 296, 30 lines modifiedOffset 296, 30 lines modified
296 following·tests·are·not·to·be·executed.·Typically,·if·the·<code·class="inline">save_config</code>·facility296 following·tests·are·not·to·be·executed.·Typically,·if·the·<code·class="inline">save_config</code>·facility
297 is·used·and·a·test·case·that·is·expected·to·save·data·crashes,·the·following297 is·used·and·a·test·case·that·is·expected·to·save·data·crashes,·the·following
298 case·cannot·run.·<code·class="inline">Common·Test</code>·offers·a·way·to·declare·such·dependencies,·called298 case·cannot·run.·<code·class="inline">Common·Test</code>·offers·a·way·to·declare·such·dependencies,·called
Max diff block lines reached; 12265/57820 bytes (21.21%) of diff not shown.
840 B
html2text {}
Max HTML report size reached
11.8 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/event_handler_chapter.html
    
Offset 164, 20 lines modifiedOffset 164, 20 lines modified
164 </h2>164 </h2>
165 <p>Event·handlers·can·be·installed·by·an·<code·class="inline">event_handler</code>·start·flag165 <p>Event·handlers·can·be·installed·by·an·<code·class="inline">event_handler</code>·start·flag
166 (<a·href="ct_run_cmd.html"><code·class="inline">ct_run</code></a>)·or·option·<a·href="ct.html#run_test/1"><code·class="inline">ct:run_test/1</code></a>,·where·the·argument166 (<a·href="ct_run_cmd.html"><code·class="inline">ct_run</code></a>)·or·option·<a·href="ct.html#run_test/1"><code·class="inline">ct:run_test/1</code></a>,·where·the·argument
167 specifies·the·names·of·one·or·more·event·handler·modules.</p><p><em>Example:</em></p><p><code·class="inline">$·ct_run·-suite·test/my_SUITE·-event_handler·handlers/my_evh1·handlers/my_evh2·-pa·$PWD/handlers</code></p><p>To·pass·start·arguments·to·the·event·handler·init·function,·use·option167 specifies·the·names·of·one·or·more·event·handler·modules.</p><p><em>Example:</em></p><p><code·class="inline">$·ct_run·-suite·test/my_SUITE·-event_handler·handlers/my_evh1·handlers/my_evh2·-pa·$PWD/handlers</code></p><p>To·pass·start·arguments·to·the·event·handler·init·function,·use·option
168 <code·class="inline">ct_run·-event_handler_init</code>·instead·of·<code·class="inline">-event_handler</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>All·event·handler·modules·must·have·<code·class="inline">gen_event</code>·behavior.·These·modules·must168 <code·class="inline">ct_run·-event_handler_init</code>·instead·of·<code·class="inline">-event_handler</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>All·event·handler·modules·must·have·<code·class="inline">gen_event</code>·behavior.·These·modules·must
169 be·precompiled·and·their·locations·must·be·added·explicitly·to·the·Erlang·code169 be·precompiled·and·their·locations·must·be·added·explicitly·to·the·Erlang·code
170 server·search·path·(as·in·the·previous·example).</p></section><p>An·event_handler·tuple·in·argument·<code·class="inline">Opts</code>·has·the·following·definition·(see170 server·search·path·(as·in·the·previous·example).</p></section><p>An·event_handler·tuple·in·argument·<code·class="inline">Opts</code>·has·the·following·definition·(see
171 <a·href="ct.html#run_test/1"><code·class="inline">ct:run_test/1</code></a>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8257682723-1">{</span><span·class="ss">event_handler</span><span·class="p">,</span><span·class="n">EventHandlers</span><span·class="p"·data-group-id="8257682723-1">}</span><span·class="w">171 <a·href="ct.html#run_test/1"><code·class="inline">ct:run_test/1</code></a>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4357269932-1">{</span><span·class="ss">event_handler</span><span·class="p">,</span><span·class="n">EventHandlers</span><span·class="p"·data-group-id="4357269932-1">}</span><span·class="w">
  
172 </span><span·class="n">EventHandlers</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">EH</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8257682723-2">[</span><span·class="n">EH</span><span·class="p"·data-group-id="8257682723-2">]</span><span·class="w">172 </span><span·class="n">EventHandlers</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">EH</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4357269932-2">[</span><span·class="n">EH</span><span·class="p"·data-group-id="4357269932-2">]</span><span·class="w">
173 </span><span·class="n">EH</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="8257682723-3">(</span><span·class="p"·data-group-id="8257682723-3">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8257682723-4">{</span><span·class="nf">atom</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·647,·SHA:·26c26dee6acbcc1ee1332fbe8aed735743dae55e23f0c016d0830c4f53ed1ae3·...·]-6">}</span><span·class="w">173 </span><span·class="n">EH</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="4357269932-3">(</span><span·class="p"·data-group-id="4357269932-3">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="4357269932-4">{</span><span·class="nf">atom</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·647,·SHA:·8db6dcf18d08c16f4d5ed1da9a7047cf85512d5b795a44ee8784bc05bd6487b9·...·]-6">}</span><span·class="w">
174 </span><span·class="n">InitArgs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8257682723-9">[</span><span·class="nf">term</span><span·class="p"·data-group-id="8257682723-10">(</span><span·class="p"·data-group-id="8257682723-10">)</span><span·class="p"·data-group-id="8257682723-9">]</span></code></pre><p>In·the·following·example,·two·event·handlers·for·the·<code·class="inline">my_SUITE</code>·test·are174 </span><span·class="n">InitArgs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4357269932-9">[</span><span·class="nf">term</span><span·class="p"·data-group-id="4357269932-10">(</span><span·class="p"·data-group-id="4357269932-10">)</span><span·class="p"·data-group-id="4357269932-9">]</span></code></pre><p>In·the·following·example,·two·event·handlers·for·the·<code·class="inline">my_SUITE</code>·test·are
175 installed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">run_test</span><span·class="p"·data-group-id="4817589262-1">(</span><span·class="p"·data-group-id="4817589262-2">[</span><span·class="p"·data-group-id="4817589262-3">{</span><span·class="ss">suite</span><span·class="p">,</span><span·class="s">&quot;test/my_SUITE&quot;</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·873,·SHA:·c015003491e208a19de33923c4bdf0d725559ca64d577767a1b0397e15682ccb·...·]-1">)</span><span·class="p">.</span></code></pre><p>Event·handler·<code·class="inline">my_evh1</code>·is·started·with·<code·class="inline">[]</code>·as·argument·to·the·init·function.175 installed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">run_test</span><span·class="p"·data-group-id="3729860058-1">(</span><span·class="p"·data-group-id="3729860058-2">[</span><span·class="p"·data-group-id="3729860058-3">{</span><span·class="ss">suite</span><span·class="p">,</span><span·class="s">&quot;test/my_SUITE&quot;</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·873,·SHA:·7142aeb8503fec8c4c5776d89e1e18009a50add837d7f81123d266e53087ff49·...·]-1">)</span><span·class="p">.</span></code></pre><p>Event·handler·<code·class="inline">my_evh1</code>·is·started·with·<code·class="inline">[]</code>·as·argument·to·the·init·function.
176 Event·handler·<code·class="inline">my_evh2</code>·is·started·with·the·name·of·the·current·node·in·the·init176 Event·handler·<code·class="inline">my_evh2</code>·is·started·with·the·name·of·the·current·node·in·the·init
177 argument·list.</p><p>Event·handlers·can·also·be·plugged·in·using·one·of·the·following177 argument·list.</p><p>Event·handlers·can·also·be·plugged·in·using·one·of·the·following
178 <a·href="run_test_chapter.html#test_specifications">test·specification</a>·terms:</p><ul><li><code·class="inline">{event_handler,·EventHandlers}</code></li><li><code·class="inline">{event_handler,·EventHandlers,·InitArgs}</code></li><li><code·class="inline">{event_handler,·NodeRefs,·EventHandlers}</code></li><li><code·class="inline">{event_handler,·NodeRefs,·EventHandlers,·InitArgs}</code></li></ul><p><code·class="inline">EventHandlers</code>·is·a·list·of·module·names.·Before·a·test·session·starts,·the178 <a·href="run_test_chapter.html#test_specifications">test·specification</a>·terms:</p><ul><li><code·class="inline">{event_handler,·EventHandlers}</code></li><li><code·class="inline">{event_handler,·EventHandlers,·InitArgs}</code></li><li><code·class="inline">{event_handler,·NodeRefs,·EventHandlers}</code></li><li><code·class="inline">{event_handler,·NodeRefs,·EventHandlers,·InitArgs}</code></li></ul><p><code·class="inline">EventHandlers</code>·is·a·list·of·module·names.·Before·a·test·session·starts,·the
179 init·function·of·each·plugged·in·event·handler·is·called·(with·the·<code·class="inline">InitArgs</code>179 init·function·of·each·plugged·in·event·handler·is·called·(with·the·<code·class="inline">InitArgs</code>
180 list·as·argument·or·<code·class="inline">[]</code>·if·no·start·arguments·are·specified).</p><p>To·plug·in·a·handler·to·the·<code·class="inline">Common·Test</code>·Master·event·manager,·specify·<code·class="inline">master</code>180 list·as·argument·or·<code·class="inline">[]</code>·if·no·start·arguments·are·specified).</p><p>To·plug·in·a·handler·to·the·<code·class="inline">Common·Test</code>·Master·event·manager,·specify·<code·class="inline">master</code>
181 as·the·node·in·<code·class="inline">NodeRefs</code>.</p><p>To·be·able·to·match·on·events,·the·event·handler·module·must·include·the·header181 as·the·node·in·<code·class="inline">NodeRefs</code>.</p><p>To·be·able·to·match·on·events,·the·event·handler·module·must·include·the·header
182 file·<code·class="inline">ct_event.hrl</code>.·An·event·is·a·record·with·the·following·definition:</p><p><code·class="inline">#event{name,·node,·data}</code></p><ul><li><p><strong><code·class="inline">name</code></strong>·-·Label·(type)·of·the·event.</p></li><li><p><strong><code·class="inline">node</code></strong>·-·Name·of·the·node·that·the·event·originated·from·(only·relevant182 file·<code·class="inline">ct_event.hrl</code>.·An·event·is·a·record·with·the·following·definition:</p><p><code·class="inline">#event{name,·node,·data}</code></p><ul><li><p><strong><code·class="inline">name</code></strong>·-·Label·(type)·of·the·event.</p></li><li><p><strong><code·class="inline">node</code></strong>·-·Name·of·the·node·that·the·event·originated·from·(only·relevant
Offset 320, 15 lines modifiedOffset 320, 15 lines modified
320 ······<p·class="built-using">320 ······<p·class="built-using">
321 ········Built·using321 ········Built·using
322 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the322 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
323 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>323 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
324 ······</p>324 ······</p>
325 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>325 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
326 ····</footer>326 ····</footer>
327 ··</div>327 ··</div>
328 </main>328 </main>
329 </div>329 </div>
330 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>330 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
331 ··<script>331 ··<script>
332 ··let·initialized·=·false;332 ··let·initialized·=·false;
872 B
html2text {}
Max HTML report size reached
79.0 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/example_chapter.html
    
Offset 127, 136 lines modifiedOffset 127, 136 lines modified
  
127 <p><a·href=""·id="top"></a></p><h2·id="test-suite-example"·class="section-heading">127 <p><a·href=""·id="top"></a></p><h2·id="test-suite-example"·class="section-heading">
128 ··<a·href="#test-suite-example"·class="hover-link">128 ··<a·href="#test-suite-example"·class="hover-link">
129 ····<i·class="ri-link-m"·aria-hidden="true"></i>129 ····<i·class="ri-link-m"·aria-hidden="true"></i>
130 ··</a>130 ··</a>
131 ··<span·class="text">Test·Suite·Example</span>131 ··<span·class="text">Test·Suite·Example</span>
132 </h2>132 </h2>
133 <p>The·following·example·test·suite·shows·some·tests·of·a·database·server:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5674712792-1">(</span><span·class="ss">db_data_type_SUITE</span><span·class="p"·data-group-id="5674712792-1">)</span><span·class="p">.</span><span·class="w">133 <p>The·following·example·test·suite·shows·some·tests·of·a·database·server:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0000517548-1">(</span><span·class="ss">db_data_type_SUITE</span><span·class="p"·data-group-id="0000517548-1">)</span><span·class="p">.</span><span·class="w">
134 </span><span·class="w">134 </span><span·class="w">
135 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="5674712792-2">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="5674712792-2">)</span><span·class="p">.</span><span·class="w">135 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="0000517548-2">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="0000517548-2">)</span><span·class="p">.</span><span·class="w">
  
136 </span><span·class="c1">%%·Test·server·callbacks</span><span·class="w">136 </span><span·class="c1">%%·Test·server·callbacks</span><span·class="w">
137 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5674712792-3">(</span><span·class="p"·data-group-id="5674712792-4">[</span><span·class="ss">suite</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">all</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">137 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0000517548-3">(</span><span·class="p"·data-group-id="0000517548-4">[</span><span·class="ss">suite</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">all</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
138 ·········</span><span·class="ss">init_per_suite</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">end_per_suite</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">138 ·········</span><span·class="ss">init_per_suite</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">end_per_suite</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
139 ·········</span><span·class="ss">init_per_testcase</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">end_per_testcase</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="5674712792-4">]</span><span·class="p"·data-group-id="5674712792-3">)</span><span·class="p">.</span><span·class="w">139 ·········</span><span·class="ss">init_per_testcase</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">end_per_testcase</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="0000517548-4">]</span><span·class="p"·data-group-id="0000517548-3">)</span><span·class="p">.</span><span·class="w">
  
140 </span><span·class="c1">%%·Test·cases</span><span·class="w">140 </span><span·class="c1">%%·Test·cases</span><span·class="w">
141 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5674712792-5">(</span><span·class="p"·data-group-id="5674712792-6">[</span><span·class="ss">string</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">integer</span><span·class="p">/</span[·...·truncated·by·diffoscope;·len:·120,·SHA:·dfae0bfc0f00a87085fafb3d3e174fba5ead42af64d462a71fa09694da805681·...·]-5">)</span><span·class="p">.</span><span·class="w">141 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0000517548-5">(</span><span·class="p"·data-group-id="0000517548-6">[</span><span·class="ss">string</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">integer</span><span·class="p">/</span[·...·truncated·by·diffoscope;·len:·120,·SHA:·7c05372c41c0dc216250122712f8bd5e46821faf715bd7986a47989410a839d7·...·]-5">)</span><span·class="p">.</span><span·class="w">
142 </span><span·class="w">142 </span><span·class="w">
143 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="5674712792-7">(</span><span·class="n">CONNECT_STR</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;DSN=sqlserver;UID=alladin;PWD=sesame&quot;</span><span·class="p"·data-group-id="5674712792-7">)</span><span·class="p">.</span><span·class="w">143 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="0000517548-7">(</span><span·class="n">CONNECT_STR</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;DSN=sqlserver;UID=alladin;PWD=sesame&quot;</span><span·class="p"·data-group-id="0000517548-7">)</span><span·class="p">.</span><span·class="w">
  
144 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">144 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
145 </span><span·class="c1">%%·COMMON·TEST·CALLBACK·FUNCTIONS</span><span·class="w">145 </span><span·class="c1">%%·COMMON·TEST·CALLBACK·FUNCTIONS</span><span·class="w">
146 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">146 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
  
147 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">147 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
148 </span><span·class="c1">%%·Function:·suite()·-&gt;·Info</span><span·class="w">148 </span><span·class="c1">%%·Function:·suite()·-&gt;·Info</span><span·class="w">
149 </span><span·class="c1">%%</span><span·class="w">149 </span><span·class="c1">%%</span><span·class="w">
150 </span><span·class="c1">%%·Info·=·[tuple()]</span><span·class="w">150 </span><span·class="c1">%%·Info·=·[tuple()]</span><span·class="w">
151 </span><span·class="c1">%%···List·of·key/value·pairs.</span><span·class="w">151 </span><span·class="c1">%%···List·of·key/value·pairs.</span><span·class="w">
152 </span><span·class="c1">%%</span><span·class="w">152 </span><span·class="c1">%%</span><span·class="w">
153 </span><span·class="c1">%%·Description:·Returns·list·of·tuples·to·set·default·properties</span><span·class="w">153 </span><span·class="c1">%%·Description:·Returns·list·of·tuples·to·set·default·properties</span><span·class="w">
154 </span><span·class="c1">%%··············for·the·suite.</span><span·class="w">154 </span><span·class="c1">%%··············for·the·suite.</span><span·class="w">
155 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">155 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
156 </span><span·class="nf">suite</span><span·class="p"·data-group-id="5674712792-8">(</span><span·class="p"·data-group-id="5674712792-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">156 </span><span·class="nf">suite</span><span·class="p"·data-group-id="0000517548-8">(</span><span·class="p"·data-group-id="0000517548-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
157 ····</span><span·class="p"·data-group-id="5674712792-9">[</span><span·class="p"·data-group-id="5674712792-10">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="5674712792-11">{</span><span·class="ss">minutes</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·159,·SHA:·0530a870a0170ca62e91295068f7f1965b63cccc667e245432f6e1da3e20d6ea·...·]-9">]</span><span·class="p">.</span><span·class="w">157 ····</span><span·class="p"·data-group-id="0000517548-9">[</span><span·class="p"·data-group-id="0000517548-10">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="0000517548-11">{</span><span·class="ss">minutes</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·159,·SHA:·825f26991c17fe709ab14895c2f1f8e438f53e0dcf8eeb023dc81045743c703b·...·]-9">]</span><span·class="p">.</span><span·class="w">
  
158 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">158 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
159 </span><span·class="c1">%%·Function:·init_per_suite(Config0)·-&gt;·Config1</span><span·class="w">159 </span><span·class="c1">%%·Function:·init_per_suite(Config0)·-&gt;·Config1</span><span·class="w">
160 </span><span·class="c1">%%</span><span·class="w">160 </span><span·class="c1">%%</span><span·class="w">
161 </span><span·class="c1">%%·Config0·=·Config1·=·[tuple()]</span><span·class="w">161 </span><span·class="c1">%%·Config0·=·Config1·=·[tuple()]</span><span·class="w">
162 </span><span·class="c1">%%···A·list·of·key/value·pairs,·holding·the·test·case·configuration.</span><span·class="w">162 </span><span·class="c1">%%···A·list·of·key/value·pairs,·holding·the·test·case·configuration.</span><span·class="w">
163 </span><span·class="c1">%%</span><span·class="w">163 </span><span·class="c1">%%</span><span·class="w">
164 </span><span·class="c1">%%·Description:·Initialization·before·the·suite.</span><span·class="w">164 </span><span·class="c1">%%·Description:·Initialization·before·the·suite.</span><span·class="w">
165 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">165 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
166 </span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="5674712792-12">(</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">166 </span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="0000517548-12">(</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
167 ····</span><span·class="p"·data-group-id="5674712792-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ref</span><span·class="p"·data-group-id="5674712792-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·383,·SHA:·d8d6b628b7188bd7135bf4ee7f338f9027f47a4fa4ea3b56a5cb0045d8509df3·...·]-14">)</span><span·class="p">,</span><span·class="w">167 ····</span><span·class="p"·data-group-id="0000517548-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ref</span><span·class="p"·data-group-id="0000517548-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·383,·SHA:·b295683022507a5a312bffcc6191dc3d81169b4473a1502875721b8286ad44b3·...·]-14">)</span><span·class="p">,</span><span·class="w">
168 ····</span><span·class="n">TableName</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">db_lib</span><span·class="p">:</span><span·class="nf">unique_table_name</span><span·class="p"·data-group-id="5674712792-16">(</span><span·class="p"·data-group-id="5674712792-16">)</span><span·class="p">,</span><span·class="w">168 ····</span><span·class="n">TableName</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">db_lib</span><span·class="p">:</span><span·class="nf">unique_table_name</span><span·class="p"·data-group-id="0000517548-16">(</span><span·class="p"·data-group-id="0000517548-16">)</span><span·class="p">,</span><span·class="w">
169 ····</span><span·class="p"·data-group-id="5674712792-17">[</span><span·class="p"·data-group-id="5674712792-18">{</span><span·class="ss">con_ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ref</span><span·class="w">·</span><span·class="p"·data-group-id="5674712792-18">}</s[·...·truncated·by·diffoscope;·len:·368,·SHA:·8be7987b6f798b52c5c8c4789b82f82374a8638e507237a65774d48681107d22·...·]-17">]</span><span·class="p">.</span><span·class="w">169 ····</span><span·class="p"·data-group-id="0000517548-17">[</span><span·class="p"·data-group-id="0000517548-18">{</span><span·class="ss">con_ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ref</span><span·class="w">·</span><span·class="p"·data-group-id="0000517548-18">}</s[·...·truncated·by·diffoscope;·len:·368,·SHA:·9e71b0317b551dfbdd6fedaab54be7c58e642181b10054fea7b7bb62c634782d·...·]-17">]</span><span·class="p">.</span><span·class="w">
  
170 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">170 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
171 </span><span·class="c1">%%·Function:·end_per_suite(Config)·-&gt;·term()</span><span·class="w">171 </span><span·class="c1">%%·Function:·end_per_suite(Config)·-&gt;·term()</span><span·class="w">
172 </span><span·class="c1">%%</span><span·class="w">172 </span><span·class="c1">%%</span><span·class="w">
173 </span><span·class="c1">%%·Config·=·[tuple()]</span><span·class="w">173 </span><span·class="c1">%%·Config·=·[tuple()]</span><span·class="w">
174 </span><span·class="c1">%%···A·list·of·key/value·pairs,·holding·the·test·case·configuration.</span><span·class="w">174 </span><span·class="c1">%%···A·list·of·key/value·pairs,·holding·the·test·case·configuration.</span><span·class="w">
175 </span><span·class="c1">%%</span><span·class="w">175 </span><span·class="c1">%%</span><span·class="w">
176 </span><span·class="c1">%%·Description:·Cleanup·after·the·suite.</span><span·class="w">176 </span><span·class="c1">%%·Description:·Cleanup·after·the·suite.</span><span·class="w">
177 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">177 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
178 </span><span·class="nf">end_per_suite</span><span·class="p"·data-group-id="5674712792-20">(</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 </span><span·class="nf">end_per_suite</span><span·class="p"·data-group-id="0000517548-20">(</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
179 ····</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="5674712792-21">(</span><span·class="ss">con_ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-21">)</span><span·class="p">,</span><span·class="w">179 ····</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="0000517548-21">(</span><span·class="ss">con_ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-21">)</span><span·class="p">,</span><span·class="w">
180 ····</span><span·class="nc">db</span><span·class="p">:</span><span·class="nf">disconnect</span><span·class="p"·data-group-id="5674712792-22">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="5674712792-22">)</span><span·class="p">,</span><span·class="w">180 ····</span><span·class="nc">db</span><span·class="p">:</span><span·class="nf">disconnect</span><span·class="p"·data-group-id="0000517548-22">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="0000517548-22">)</span><span·class="p">,</span><span·class="w">
181 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">181 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
182 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">182 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
183 </span><span·class="c1">%%·Function:·init_per_testcase(TestCase,·Config0)·-&gt;·Config1</span><span·class="w">183 </span><span·class="c1">%%·Function:·init_per_testcase(TestCase,·Config0)·-&gt;·Config1</span><span·class="w">
184 </span><span·class="c1">%%</span><span·class="w">184 </span><span·class="c1">%%</span><span·class="w">
185 </span><span·class="c1">%%·TestCase·=·atom()</span><span·class="w">185 </span><span·class="c1">%%·TestCase·=·atom()</span><span·class="w">
186 </span><span·class="c1">%%···Name·of·the·test·case·that·is·about·to·run.</span><span·class="w">186 </span><span·class="c1">%%···Name·of·the·test·case·that·is·about·to·run.</span><span·class="w">
187 </span><span·class="c1">%%·Config0·=·Config1·=·[tuple()]</span><span·class="w">187 </span><span·class="c1">%%·Config0·=·Config1·=·[tuple()]</span><span·class="w">
188 </span><span·class="c1">%%···A·list·of·key/value·pairs,·holding·the·test·case·configuration.</span><span·class="w">188 </span><span·class="c1">%%···A·list·of·key/value·pairs,·holding·the·test·case·configuration.</span><span·class="w">
189 </span><span·class="c1">%%</span><span·class="w">189 </span><span·class="c1">%%</span><span·class="w">
190 </span><span·class="c1">%%·Description:·Initialization·before·each·test·case.</span><span·class="w">190 </span><span·class="c1">%%·Description:·Initialization·before·each·test·case.</span><span·class="w">
191 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">191 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
192 </span><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="5674712792-23">(</span><span·class="n">Case</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">192 </span><span·class="nf">init_per_testcase</span><span·class="p"·data-group-id="0000517548-23">(</span><span·class="n">Case</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="5674712792-24">(</span><span·class="ss">con_ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-24">)</span><span·class="p">,</span><span·class="w">193 ····</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="0000517548-24">(</span><span·class="ss">con_ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-24">)</span><span·class="p">,</span><span·class="w">
194 ····</span><span·class="n">TableName</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="5674712792-25">(</span><span·class="ss">table_name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-25">)</span><span·class="p">,</span><span·class="w">194 ····</span><span·class="n">TableName</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="0000517548-25">(</span><span·class="ss">table_name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-25">)</span><span·class="p">,</span><span·class="w">
195 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">db</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="5674712792-26">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TableName</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">table_type</span><span·class="p"·data-group-id="5674712792-27"[·...·truncated·by·diffoscope;·len:·131,·SHA:·5b646c172cf6d23bc934de35a1eaff26ad289678ab3226f09dccc54772ac63a5·...·]-26">)</span><span·class="p">,</span><span·class="w">195 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">db</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="0000517548-26">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TableName</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">table_type</span><span·class="p"·data-group-id="0000517548-27"[·...·truncated·by·diffoscope;·len:·131,·SHA:·a71acfcd25ca6b63e8cc4be90b12eb4f695c69ae2bb5bf358ea9da830ec6e2b3·...·]-26">)</span><span·class="p">,</span><span·class="w">
196 ····</span><span·class="n">Config</span><span·class="p">.</span><span·class="w">196 ····</span><span·class="n">Config</span><span·class="p">.</span><span·class="w">
  
197 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">197 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
198 </span><span·class="c1">%%·Function:·end_per_testcase(TestCase,·Config)·-&gt;·term()</span><span·class="w">198 </span><span·class="c1">%%·Function:·end_per_testcase(TestCase,·Config)·-&gt;·term()</span><span·class="w">
199 </span><span·class="c1">%%</span><span·class="w">199 </span><span·class="c1">%%</span><span·class="w">
200 </span><span·class="c1">%%·TestCase·=·atom()</span><span·class="w">200 </span><span·class="c1">%%·TestCase·=·atom()</span><span·class="w">
201 </span><span·class="c1">%%···Name·of·the·test·case·that·is·finished.</span><span·class="w">201 </span><span·class="c1">%%···Name·of·the·test·case·that·is·finished.</span><span·class="w">
202 </span><span·class="c1">%%·Config·=·[tuple()]</span><span·class="w">202 </span><span·class="c1">%%·Config·=·[tuple()]</span><span·class="w">
203 </span><span·class="c1">%%···A·list·of·key/value·pairs,·holding·the·test·case·configuration.</span><span·class="w">203 </span><span·class="c1">%%···A·list·of·key/value·pairs,·holding·the·test·case·configuration.</span><span·class="w">
204 </span><span·class="c1">%%</span><span·class="w">204 </span><span·class="c1">%%</span><span·class="w">
205 </span><span·class="c1">%%·Description:·Cleanup·after·each·test·case.</span><span·class="w">205 </span><span·class="c1">%%·Description:·Cleanup·after·each·test·case.</span><span·class="w">
206 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">206 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
207 </span><span·class="nf">end_per_testcase</span><span·class="p"·data-group-id="5674712792-28">(</span><span·class="p">_</span><span·class="n">Case</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">207 </span><span·class="nf">end_per_testcase</span><span·class="p"·data-group-id="0000517548-28">(</span><span·class="p">_</span><span·class="n">Case</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
208 ····</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="5674712792-29">(</span><span·class="ss">con_ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-29">)</span><span·class="p">,</span><span·class="w">208 ····</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="0000517548-29">(</span><span·class="ss">con_ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-29">)</span><span·class="p">,</span><span·class="w">
209 ····</span><span·class="n">TableName</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="5674712792-30">(</span><span·class="ss">table_name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-30">)</span><span·class="p">,</span><span·class="w">209 ····</span><span·class="n">TableName</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="0000517548-30">(</span><span·class="ss">table_name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-30">)</span><span·class="p">,</span><span·class="w">
210 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">db</span><span·class="p">:</span><span·class="nf">delete_table</span><span·class="p"·data-group-id="5674712792-31">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TableName</span><span·class="p"·data-group-id="5674712792-31">)</span><span·class="p">,</span><span·class="w">210 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">db</span><span·class="p">:</span><span·class="nf">delete_table</span><span·class="p"·data-group-id="0000517548-31">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TableName</span><span·class="p"·data-group-id="0000517548-31">)</span><span·class="p">,</span><span·class="w">
211 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">211 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
212 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">212 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
213 </span><span·class="c1">%%·Function:·all()·-&gt;·GroupsAndTestCases</span><span·class="w">213 </span><span·class="c1">%%·Function:·all()·-&gt;·GroupsAndTestCases</span><span·class="w">
214 </span><span·class="c1">%%</span><span·class="w">214 </span><span·class="c1">%%</span><span·class="w">
215 </span><span·class="c1">%%·GroupsAndTestCases·=·[{group,GroupName}·|·TestCase]</span><span·class="w">215 </span><span·class="c1">%%·GroupsAndTestCases·=·[{group,GroupName}·|·TestCase]</span><span·class="w">
216 </span><span·class="c1">%%·GroupName·=·atom()</span><span·class="w">216 </span><span·class="c1">%%·GroupName·=·atom()</span><span·class="w">
217 </span><span·class="c1">%%···Name·of·a·test·case·group.</span><span·class="w">217 </span><span·class="c1">%%···Name·of·a·test·case·group.</span><span·class="w">
218 </span><span·class="c1">%%·TestCase·=·atom()</span><span·class="w">218 </span><span·class="c1">%%·TestCase·=·atom()</span><span·class="w">
219 </span><span·class="c1">%%···Name·of·a·test·case.</span><span·class="w">219 </span><span·class="c1">%%···Name·of·a·test·case.</span><span·class="w">
220 </span><span·class="c1">%%</span><span·class="w">220 </span><span·class="c1">%%</span><span·class="w">
221 </span><span·class="c1">%%·Description:·Returns·the·list·of·groups·and·test·cases·that</span><span·class="w">221 </span><span·class="c1">%%·Description:·Returns·the·list·of·groups·and·test·cases·that</span><span·class="w">
222 </span><span·class="c1">%%··············are·to·be·executed.</span><span·class="w">222 </span><span·class="c1">%%··············are·to·be·executed.</span><span·class="w">
223 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">223 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
224 </span><span·class="nf">all</span><span·class="p"·data-group-id="5674712792-32">(</span><span·class="p"·data-group-id="5674712792-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">224 </span><span·class="nf">all</span><span·class="p"·data-group-id="0000517548-32">(</span><span·class="p"·data-group-id="0000517548-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
225 ····</span><span·class="p"·data-group-id="5674712792-33">[</span><span·class="ss">string</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">integer</span><span·class="p"·data-group-id="5674712792-33">]</span><span·class="p">.</span><span·class="w">225 ····</span><span·class="p"·data-group-id="0000517548-33">[</span><span·class="ss">string</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">integer</span><span·class="p"·data-group-id="0000517548-33">]</span><span·class="p">.</span><span·class="w">
  
  
226 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">226 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
227 </span><span·class="c1">%%·TEST·CASES</span><span·class="w">227 </span><span·class="c1">%%·TEST·CASES</span><span·class="w">
228 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">228 </span><span·class="c1">%%--------------------------------------------------------------------</span><span·class="w">
  
229 </span><span·class="nf">string</span><span·class="p"·data-group-id="5674712792-34">(</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-34">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">229 </span><span·class="nf">string</span><span·class="p"·data-group-id="0000517548-34">(</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-34">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
230 ····</span><span·class="nf">insert_and_lookup</span><span·class="p"·data-group-id="5674712792-35">(</span><span·class="ss">dummy_key</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Dummy·string&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·a1ac14916acf8ba4cdbd3453f2a8b8df406440839a9fd84c0c446d014f468b58·...·]-35">)</span><span·class="p">.</span><span·class="w">230 ····</span><span·class="nf">insert_and_lookup</span><span·class="p"·data-group-id="0000517548-35">(</span><span·class="ss">dummy_key</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Dummy·string&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·7930f875d3007794dd9bec1aa4311e83e462055fe8137ab2e91bf89faad4b1e6·...·]-35">)</span><span·class="p">.</span><span·class="w">
  
231 </span><span·class="nf">integer</span><span·class="p"·data-group-id="5674712792-36">(</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-36">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">231 </span><span·class="nf">integer</span><span·class="p"·data-group-id="0000517548-36">(</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-36">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ····</span><span·class="nf">insert_and_lookup</span><span·class="p"·data-group-id="5674712792-37">(</span><span·class="ss">dummy_key</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-37">)</span><span·class="p">.</span><span·class="w">232 ····</span><span·class="nf">insert_and_lookup</span><span·class="p"·data-group-id="0000517548-37">(</span><span·class="ss">dummy_key</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-37">)</span><span·class="p">.</span><span·class="w">
  
  
233 </span><span·class="nf">insert_and_lookup</span><span·class="p"·data-group-id="5674712792-38">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Value</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">233 </span><span·class="nf">insert_and_lookup</span><span·class="p"·data-group-id="0000517548-38">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Value</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
234 ····</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="5674712792-39">(</span><span·class="ss">con_ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-39">)</span><span·class="p">,</span><span·class="w">234 ····</span><span·class="n">Ref</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="0000517548-39">(</span><span·class="ss">con_ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-39">)</span><span·class="p">,</span><span·class="w">
235 ····</span><span·class="n">TableName</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="5674712792-40">(</span><span·class="ss">table_name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="5674712792-40">)</span><span·class="p">,</span><span·class="w">235 ····</span><span·class="n">TableName</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="0000517548-40">(</span><span·class="ss">table_name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="0000517548-40">)</span><span·class="p">,</span><span·class="w">
236 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">db</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="5674712792-41">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TableName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·64,·SHA:·b4d122fd7c1890aa81c92465970a60be56ea7b9c38f3fa85c25fb48ac1d0c09f·...·]-41">)</span><span·class="p">,</span><span·class="w">236 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">db</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="0000517548-41">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TableName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·64,·SHA:·bd5d887895e1c6a11bf80400c6239017b95a6b812372c0465344e1c1797fd6a7·...·]-41">)</span><span·class="p">,</span><span·class="w">
237 ····</span><span·class="p"·data-group-id="5674712792-42">[</span><span·class="n">Value</span><span·class="p"·data-group-id="5674712792-42">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">db</span><span·class="p">:</span><span·class="nf">lookup</span[·...·truncated·by·diffoscope;·len:·276,·SHA:·ec23eb91cb8cc196b8931144131651bc8c37324c13b08e71ccf415380c6eacd4·...·]-43">)</span><span·class="p">,</span><span·class="w">237 ····</span><span·class="p"·data-group-id="0000517548-42">[</span><span·class="n">Value</span><span·class="p"·data-group-id="0000517548-42">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">db</span><span·class="p">:</span><span·class="nf">lookup</span[·...·truncated·by·diffoscope;·len:·276,·SHA:·ad6e471a0c7c37a8ea0dff0b7a5bfccf21daa1082d96a117baaf93c1df80dcb6·...·]-43">)</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 42813/79983 bytes (53.53%) of diff not shown.
709 B
html2text {}
Max HTML report size reached
26.6 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/getting_started_chapter.html
    
Offset 165, 61 lines modifiedOffset 165, 61 lines modified
165 ··</a>165 ··</a>
166 ··<span·class="text">A·Simple·Test·Suite</span>166 ··<span·class="text">A·Simple·Test·Suite</span>
167 </h2>167 </h2>
168 <p>As·shown·in·section·<a·href="basics_chapter.html#External_Interfaces">Common·Test·Basics</a>,168 <p>As·shown·in·section·<a·href="basics_chapter.html#External_Interfaces">Common·Test·Basics</a>,
169 the·test·suite·module·implements·<a·href="ct_suite.html">callback·functions</a>·(mandatory169 the·test·suite·module·implements·<a·href="ct_suite.html">callback·functions</a>·(mandatory
170 or·optional)·for·various·purposes,·for·example:</p><ul><li>Init/end·configuration·function·for·the·test·suite</li><li>Init/end·configuration·function·for·a·test·case</li><li>Init/end·configuration·function·for·a·test·case·group</li><li>Test·cases</li></ul><p>The·configuration·functions·are·optional.·The·following·example·is·a·test·suite170 or·optional)·for·various·purposes,·for·example:</p><ul><li>Init/end·configuration·function·for·the·test·suite</li><li>Init/end·configuration·function·for·a·test·case</li><li>Init/end·configuration·function·for·a·test·case·group</li><li>Test·cases</li></ul><p>The·configuration·functions·are·optional.·The·following·example·is·a·test·suite
171 without·configuration·functions,·including·one·simple·test·case,·to·check·that171 without·configuration·functions,·including·one·simple·test·case,·to·check·that
172 module·<code·class="inline">mymod</code>·exists·(that·is,·can·be·successfully·loaded·by·the·code·server):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8679346842-1">(</span><span·class="ss">my1st_SUITE</span><span·class="p"·data-group-id="8679346842-1">)</span><span·class="p">.</span><span·class="w">172 module·<code·class="inline">mymod</code>·exists·(that·is,·can·be·successfully·loaded·by·the·code·server):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8948546158-1">(</span><span·class="ss">my1st_SUITE</span><span·class="p"·data-group-id="8948546158-1">)</span><span·class="p">.</span><span·class="w">
173 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="8679346842-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="8679346842-2">)</span><span·class="p">.</span><span·class="w">173 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="8948546158-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="8948546158-2">)</span><span·class="p">.</span><span·class="w">
  
174 </span><span·class="nf">all</span><span·class="p"·data-group-id="8679346842-3">(</span><span·class="p"·data-group-id="8679346842-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">174 </span><span·class="nf">all</span><span·class="p"·data-group-id="8948546158-3">(</span><span·class="p"·data-group-id="8948546158-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
175 ····</span><span·class="p"·data-group-id="8679346842-4">[</span><span·class="ss">mod_exists</span><span·class="p"·data-group-id="8679346842-4">]</span><span·class="p">.</span><span·class="w">175 ····</span><span·class="p"·data-group-id="8948546158-4">[</span><span·class="ss">mod_exists</span><span·class="p"·data-group-id="8948546158-4">]</span><span·class="p">.</span><span·class="w">
  
176 </span><span·class="nf">mod_exists</span><span·class="p"·data-group-id="8679346842-5">(</span><span·class="p">_</span><span·class="p"·data-group-id="8679346842-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 </span><span·class="nf">mod_exists</span><span·class="p"·data-group-id="8948546158-5">(</span><span·class="p">_</span><span·class="p"·data-group-id="8948546158-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ····</span><span·class="p"·data-group-id="8679346842-6">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">mymod</span><span·class="p"·data-group-id="8679346842-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span[·...·truncated·by·diffoscope;·len:·181,·SHA:·a00d105212ab2a037c92db9d78b292fc69fe34160beaecf19f35de2bb71f60b3·...·]-7">)</span><span·class="p">.</span></code></pre><p>If·the·operation·fails,·a·bad·match·error·occurs·that·terminates·the·test·case.</p><h2·id="a-test-suite-with-configuration-functions"·class="section-heading">177 ····</span><span·class="p"·data-group-id="8948546158-6">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">mymod</span><span·class="p"·data-group-id="8948546158-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span[·...·truncated·by·diffoscope;·len:·181,·SHA:·2f6ed4bcf38bf9497be003ead97de6b37c4ba489e1e92fa5269cf97a587ce43a·...·]-7">)</span><span·class="p">.</span></code></pre><p>If·the·operation·fails,·a·bad·match·error·occurs·that·terminates·the·test·case.</p><h2·id="a-test-suite-with-configuration-functions"·class="section-heading">
178 ··<a·href="#a-test-suite-with-configuration-functions"·class="hover-link">178 ··<a·href="#a-test-suite-with-configuration-functions"·class="hover-link">
179 ····<i·class="ri-link-m"·aria-hidden="true"></i>179 ····<i·class="ri-link-m"·aria-hidden="true"></i>
180 ··</a>180 ··</a>
181 ··<span·class="text">A·Test·Suite·with·Configuration·Functions</span>181 ··<span·class="text">A·Test·Suite·with·Configuration·Functions</span>
182 </h2>182 </h2>
183 <p>If·you·need·to·perform·configuration·operations·to·run·your·test,·you·can183 <p>If·you·need·to·perform·configuration·operations·to·run·your·test,·you·can
184 implement·configuration·functions·in·your·suite.·The·result·from·a·configuration184 implement·configuration·functions·in·your·suite.·The·result·from·a·configuration
185 function·is·configuration·data,·or·<code·class="inline">Config</code>.·This·is·a·list·of·key-value·tuples185 function·is·configuration·data,·or·<code·class="inline">Config</code>.·This·is·a·list·of·key-value·tuples
186 that·get·passed·from·the·configuration·function·to·the·test·cases·(possibly186 that·get·passed·from·the·configuration·function·to·the·test·cases·(possibly
187 through·configuration·functions·on·&quot;lower·level&quot;).·The·data·flow·looks·as187 through·configuration·functions·on·&quot;lower·level&quot;).·The·data·flow·looks·as
188 follows:</p><p><img·src="assets/config.gif"·alt="Configuration·Data·Flow·in·a·Suite"·title="Configuration·Data·Flow·in·a·Suite"/></p><p>The·following·example·shows·a·test·suite·that·uses·configuration·functions·to188 follows:</p><p><img·src="assets/config.gif"·alt="Configuration·Data·Flow·in·a·Suite"·title="Configuration·Data·Flow·in·a·Suite"/></p><p>The·following·example·shows·a·test·suite·that·uses·configuration·functions·to
189 open·and·close·a·log·file·for·the·test·cases·(an·operation·that·is·unnecessary189 open·and·close·a·log·file·for·the·test·cases·(an·operation·that·is·unnecessary
190 and·irrelevant·to·perform·by·each·test·case):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5449944681-1">(</span><span·class="ss">check_log_SUITE</span><span·class="p"·data-group-id="5449944681-1">)</span><span·class="p">.</span><span·class="w">190 and·irrelevant·to·perform·by·each·test·case):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2439971430-1">(</span><span·class="ss">check_log_SUITE</span><span·class="p"·data-group-id="2439971430-1">)</span><span·class="p">.</span><span·class="w">
191 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5449944681-2">(</span><span·class="p"·data-group-id="5449944681-3">[</span><span·class="ss">all</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init_per_suite</span><span·class="p">/</[·...·truncated·by·diffoscope;·len:·258,·SHA:·f4698a816191574b1aa2a0a73741fc9761b66e8670f642dc689ec238e0365815·...·]-2">)</span><span·class="p">.</span><span·class="w">191 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2439971430-2">(</span><span·class="p"·data-group-id="2439971430-3">[</span><span·class="ss">all</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init_per_suite</span><span·class="p">/</[·...·truncated·by·diffoscope;·len:·258,·SHA:·fe9665659a32f5d6fa34066e8f147592890d8c73fad8e475f1c8bb79f35639e2·...·]-2">)</span><span·class="p">.</span><span·class="w">
192 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5449944681-4">(</span><span·class="p"·data-group-id="5449944681-5">[</span><span·class="ss">check_restart_result</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">check_no_errors</span><[·...·truncated·by·diffoscope;·len:·142,·SHA:·7e35046488b7d381330259b3210a52b48df57f9eb72609e7f0ca38b640ecb425·...·]-4">)</span><span·class="p">.</span><span·class="w">192 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2439971430-4">(</span><span·class="p"·data-group-id="2439971430-5">[</span><span·class="ss">check_restart_result</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">check_no_errors</span><[·...·truncated·by·diffoscope;·len:·142,·SHA:·6249e5c0a60f175aa5d4e7bea00bfc3eb36b1219190e5353dc21ce98591e1fac·...·]-4">)</span><span·class="p">.</span><span·class="w">
193 </span><span·class="w">193 </span><span·class="w">
194 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="5449944681-6">(</span><span·class="nf">value</span><span·class="p"·data-group-id="5449944681-7">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="5449944681-7">)</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·344,·SHA:·4d088ae4a3498148bddc4790d5a495c40f12354b50bb92693098b4ce09ac7d38·...·]-6">)</span><span·class="p">.</span><span·class="w">194 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="2439971430-6">(</span><span·class="nf">value</span><span·class="p"·data-group-id="2439971430-7">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="n">Config</span><span·class="p"·data-group-id="2439971430-7">)</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·344,·SHA:·ded2d0ee4d99da8fbaba1953d65aab22c34704749600aa8765480c066c8e7669·...·]-6">)</span><span·class="p">.</span><span·class="w">
  
195 </span><span·class="nf">all</span><span·class="p"·data-group-id="5449944681-9">(</span><span·class="p"·data-group-id="5449944681-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5449944681-10">[</span><span·class="ss">check_restart_result</span><span·c[·...·truncated·by·diffoscope;·len:·121,·SHA:·121c128114c20458b1995104fcdc47b6550f4772666086bcc0c8ed05c3d0a446·...·]-10">]</span><span·class="p">.</span><span·class="w">195 </span><span·class="nf">all</span><span·class="p"·data-group-id="2439971430-9">(</span><span·class="p"·data-group-id="2439971430-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2439971430-10">[</span><span·class="ss">check_restart_result</span><span·c[·...·truncated·by·diffoscope;·len:·121,·SHA:·b437004e45fc9a9314643d104fe5b6d9f0f7992d1f0fee25b156393bef4321b8·...·]-10">]</span><span·class="p">.</span><span·class="w">
  
196 </span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="5449944681-11">(</span><span·class="n">InitConfigData</span><span·class="p"·data-group-id="5449944681-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">196 </span><span·class="nf">init_per_suite</span><span·class="p"·data-group-id="2439971430-11">(</span><span·class="n">InitConfigData</span><span·class="p"·data-group-id="2439971430-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
197 ····</span><span·class="p"·data-group-id="5449944681-12">[</span><span·class="p"·data-group-id="5449944681-13">{</span><span·class="ss">logref</span><span·class="p">,</span><span·class="nf">open_log</span><span·class="p"·data-group-id="5449944681-14">(</span><span·class="p"·data-group-id="54499446[·...·truncated·by·diffoscope;·len:·219,·SHA:·d5c7b2e97531b3787b6d85404dea53ee06e4b8422e34dd58682b23774b856033·...·]-12">]</span><span·class="p">.</span><span·class="w">197 ····</span><span·class="p"·data-group-id="2439971430-12">[</span><span·class="p"·data-group-id="2439971430-13">{</span><span·class="ss">logref</span><span·class="p">,</span><span·class="nf">open_log</span><span·class="p"·data-group-id="2439971430-14">(</span><span·class="p"·data-group-id="24399714[·...·truncated·by·diffoscope;·len:·219,·SHA:·b3998fc7c8a846efa86e113d6c978e9dd99ad48e4f04136fe69a3f83e01a5cb2·...·]-12">]</span><span·class="p">.</span><span·class="w">
  
198 </span><span·class="nf">end_per_suite</span><span·class="p"·data-group-id="5449944681-15">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="5449944681-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">198 </span><span·class="nf">end_per_suite</span><span·class="p"·data-group-id="2439971430-15">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="2439971430-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
199 ····</span><span·class="nf">close_log</span><span·class="p"·data-group-id="5449944681-16">(</span><span·class="o">?</span><span·class="nf">value</span><span·class="p"·data-group-id="5449944681-17">(</span><span·class="ss">logref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ConfigData</span><span·class="p"[·...·truncated·by·diffoscope;·len:·80,·SHA:·8a5621fba6c385fdf88295d64566ad1b2ff03b3f476289028a340d32df050767·...·]-16">)</span><span·class="p">.</span><span·class="w">199 ····</span><span·class="nf">close_log</span><span·class="p"·data-group-id="2439971430-16">(</span><span·class="o">?</span><span·class="nf">value</span><span·class="p"·data-group-id="2439971430-17">(</span><span·class="ss">logref</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ConfigData</span><span·class="p"[·...·truncated·by·diffoscope;·len:·80,·SHA:·53f1cec29f331faf0c2b470768e042a40ad1e6943bb3cea7c116ca37efa33754·...·]-16">)</span><span·class="p">.</span><span·class="w">
  
200 </span><span·class="nf">check_restart_result</span><span·class="p"·data-group-id="5449944681-18">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="5449944681-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">200 </span><span·class="nf">check_restart_result</span><span·class="p"·data-group-id="2439971430-18">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="2439971430-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
201 ····</span><span·class="n">TestData</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">read_log</span><span·class="p"·data-group-id="5449944681-19">(</span><span·class="ss">restart</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="nf">value</span><span·class="p"·data-group-id="5449944681-20">(</span><span·class="ss">logref</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·159,·SHA:·c1ec3c416b5192f702aa99d298525852b2ee2f53be987cc9f07bc979631d6a79·...·]-19">)</span><span·class="p">,</span><span·class="w">201 ····</span><span·class="n">TestData</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">read_log</span><span·class="p"·data-group-id="2439971430-19">(</span><span·class="ss">restart</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="nf">value</span><span·class="p"·data-group-id="2439971430-20">(</span><span·class="ss">logref</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·159,·SHA:·5cbf14a6a678f68fa647a729e6dfd2952decb0b270e131b149d29977e2348fac·...·]-19">)</span><span·class="p">,</span><span·class="w">
202 ····</span><span·class="p"·data-group-id="5449944681-21">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p">_</span><span·class="n">Line</span><span·class="p"·data-group-id="5449944681-21">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·258,·SHA:·efd98fabfd6bf6d5294defce4f55e2dea2f9fd1b6fe9e49f4f4ae352527ceb19·...·]-22">)</span><span·class="p">.</span><span·class="w">202 ····</span><span·class="p"·data-group-id="2439971430-21">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p">_</span><span·class="n">Line</span><span·class="p"·data-group-id="2439971430-21">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·258,·SHA:·117ac29e44c28db29f99447a06f9bc86455008f773d8912848e08648b8159529·...·]-22">)</span><span·class="p">.</span><span·class="w">
  
203 </span><span·class="nf">check_no_errors</span><span·class="p"·data-group-id="5449944681-23">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="5449944681-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">203 </span><span·class="nf">check_no_errors</span><span·class="p"·data-group-id="2439971430-23">(</span><span·class="n">ConfigData</span><span·class="p"·data-group-id="2439971430-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
204 ····</span><span·class="n">TestData</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">read_log</span><span·class="p"·data-group-id="5449944681-24">(</span><span·class="ss">all</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="nf">value</span><span·class="p"·data-group-id="5449944681-25">(</span><span·class="ss">logref</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·155,·SHA:·0275486244a753b70bcc2399a067030a4b04a75cc51ccdd6478237e15a20cdde·...·]-24">)</span><span·class="p">,</span><span·class="w">204 ····</span><span·class="n">TestData</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">read_log</span><span·class="p"·data-group-id="2439971430-24">(</span><span·class="ss">all</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="nf">value</span><span·class="p"·data-group-id="2439971430-25">(</span><span·class="ss">logref</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·155,·SHA:·f4c392367619cdf691f4d4368ae8141a88576241268e9cd75cace09ceccbd045·...·]-24">)</span><span·class="p">,</span><span·class="w">
205 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">search_for</span><span·class="p"·data-group-id="5449944681-26">(</span><span·class="s">&quot;error&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TestData</span><span·class="p"·data-group-id="5449944681-26">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">205 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">search_for</span><span·class="p"·data-group-id="2439971430-26">(</span><span·class="s">&quot;error&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TestData</span><span·class="p"·data-group-id="2439971430-26">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
206 ········</span><span·class="p"·data-group-id="5449944681-27">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="n">Line</span><span·class="p"·data-group-id="5449944681-27">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">ct</sp[·...·truncated·by·diffoscope;·len:·351,·SHA:·d7cec66c67fad115207ac55af6ed5638bcca021b8d5e2883a44c566f5c090378·...·]-28">)</span><span·class="p">;</span><span·class="w">206 ········</span><span·class="p"·data-group-id="2439971430-27">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="n">Line</span><span·class="p"·data-group-id="2439971430-27">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">ct</sp[·...·truncated·by·diffoscope;·len:·351,·SHA:·49b7b4dfbda672859a37ceb02522e87f2b2d3444a58930369c1f73705ac7454e·...·]-28">)</span><span·class="p">;</span><span·class="w">
207 ········</span><span·class="ss">nomatch</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">207 ········</span><span·class="ss">nomatch</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">
208 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·test·cases·verify,·by·parsing·a·log·file,·that·our·SUT·has·performed·a208 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·test·cases·verify,·by·parsing·a·log·file,·that·our·SUT·has·performed·a
209 successful·restart·and·that·no·unexpected·errors·are·printed.</p><p>To·execute·the·test·cases·in·the·recent·test·suite,·type·the·following·on·the209 successful·restart·and·that·no·unexpected·errors·are·printed.</p><p>To·execute·the·test·cases·in·the·recent·test·suite,·type·the·following·on·the
210 UNIX/Linux·command·line·(assuming·that·the·suite·module·is·in·the·current210 UNIX/Linux·command·line·(assuming·that·the·suite·module·is·in·the·current
211 working·directory):</p><pre><code·class="text">$·ct_run·-dir·.</code></pre><p>or:</p><pre><code·class="text">$·ct_run·-suite·check_log_SUITE</code></pre><p>To·use·the·Erlang·shell·to·run·our·test,·you·can·evaluate·the·following·call:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">run_test</span><span·class="p"·data-group-id="0390474068-1">(</span><span·class="p"·data-group-id="0390474068-2">[</span><span·class="p"·data-group-id="0390474068-3">{</span><span·class="ss">dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;.&quot;</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·795,·SHA:·8809eba072f2e591f31dbf1025941bcf9ae51c5041a39c70917256bba4cce9d5·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·result·from·running·the·test·is·printed·in·log·files·in·HTML·format·(stored211 working·directory):</p><pre><code·class="text">$·ct_run·-dir·.</code></pre><p>or:</p><pre><code·class="text">$·ct_run·-suite·check_log_SUITE</code></pre><p>To·use·the·Erlang·shell·to·run·our·test,·you·can·evaluate·the·following·call:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ct</span><span·class="p">:</span><span·class="nf">run_test</span><span·class="p"·data-group-id="3884542088-1">(</span><span·class="p"·data-group-id="3884542088-2">[</span><span·class="p"·data-group-id="3884542088-3">{</span><span·class="ss">dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;.&quot;</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·795,·SHA:·8ce4594656c79d6c4f4df059bf42c329337c80a857f4cde8a31781cd6844dc3d·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·result·from·running·the·test·is·printed·in·log·files·in·HTML·format·(stored
212 in·unique·log·directories·on·a·different·level).·The·following·illustration212 in·unique·log·directories·on·a·different·level).·The·following·illustration
213 shows·the·log·file·structure:</p><p><img·src="assets/html_logs.gif"·alt="HTML·Log·File·Structure"·title="HTML·Log·File·Structure"/></p><h2·id="questions-and-answers"·class="section-heading">213 shows·the·log·file·structure:</p><p><img·src="assets/html_logs.gif"·alt="HTML·Log·File·Structure"·title="HTML·Log·File·Structure"/></p><h2·id="questions-and-answers"·class="section-heading">
214 ··<a·href="#questions-and-answers"·class="hover-link">214 ··<a·href="#questions-and-answers"·class="hover-link">
215 ····<i·class="ri-link-m"·aria-hidden="true"></i>215 ····<i·class="ri-link-m"·aria-hidden="true"></i>
216 ··</a>216 ··</a>
217 ··<span·class="text">Questions·and·Answers</span>217 ··<span·class="text">Questions·and·Answers</span>
218 </h2>218 </h2>
Offset 293, 15 lines modifiedOffset 293, 15 lines modified
293 ······<p·class="built-using">293 ······<p·class="built-using">
294 ········Built·using294 ········Built·using
295 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the295 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
296 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>296 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
297 ······</p>297 ······</p>
298 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>298 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
299 ····</footer>299 ····</footer>
300 ··</div>300 ··</div>
301 </main>301 </main>
302 </div>302 </div>
303 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>303 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
304 ··<script>304 ··<script>
305 ··let·initialized·=·false;305 ··let·initialized·=·false;
752 B
html2text {}
Max HTML report size reached
1.61 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/install_chapter.html
    
Offset 186, 15 lines modifiedOffset 186, 15 lines modified
186 ······<p·class="built-using">186 ······<p·class="built-using">
187 ········Built·using187 ········Built·using
188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
190 ······</p>190 ······</p>
191 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>191 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
192 ····</footer>192 ····</footer>
193 ··</div>193 ··</div>
194 </main>194 </main>
195 </div>195 </div>
196 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>196 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
197 ··<script>197 ··<script>
198 ··let·initialized·=·false;198 ··let·initialized·=·false;
781 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/introduction.html
    
Offset 200, 15 lines modifiedOffset 200, 15 lines modified
200 ······<p·class="built-using">200 ······<p·class="built-using">
201 ········Built·using201 ········Built·using
202 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the202 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
203 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>203 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
204 ······</p>204 ······</p>
205 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>205 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
206 ····</footer>206 ····</footer>
207 ··</div>207 ··</div>
208 </main>208 </main>
209 </div>209 </div>
210 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>210 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
211 ··<script>211 ··<script>
212 ··let·initialized·=·false;212 ··let·initialized·=·false;
752 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/notes.html
    
Offset 2848, 15 lines modifiedOffset 2848, 15 lines modified
2848 ······<p·class="built-using">2848 ······<p·class="built-using">
2849 ········Built·using2849 ········Built·using
2850 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2850 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2851 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2851 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2852 ······</p>2852 ······</p>
2853 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2853 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2854 ····</footer>2854 ····</footer>
2855 ··</div>2855 ··</div>
2856 </main>2856 </main>
2857 </div>2857 </div>
2858 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2858 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2859 ··<script>2859 ··<script>
2860 ··let·initialized·=·false;2860 ··let·initialized·=·false;
705 B
html2text {}
Max HTML report size reached
200 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/run_test_chapter.html
Max HTML report size reached
1.28 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
467 B
html2text {}
Max HTML report size reached
1.67 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/test_structure_chapter.html
    
Offset 232, 15 lines modifiedOffset 232, 15 lines modified
232 ······<p·class="built-using">232 ······<p·class="built-using">
233 ········Built·using233 ········Built·using
234 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the234 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
235 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>235 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
236 ······</p>236 ······</p>
237 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>237 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
238 ····</footer>238 ····</footer>
239 ··</div>239 ··</div>
240 </main>240 </main>
241 </div>241 </div>
242 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>242 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
243 ··<script>243 ··<script>
244 ··let·initialized·=·false;244 ··let·initialized·=·false;
835 B
html2text {}
Max HTML report size reached
9.7 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/unix_telnet.html
    
Offset 125, 22 lines modifiedOffset 125, 22 lines modified
125 ····<small·class="app-vsn"·translate="no">(common_test·v1.28)</small>125 ····<small·class="app-vsn"·translate="no">(common_test·v1.28)</small>
  
126 ··</h1>126 ··</h1>
  
  
127 ····<section·id="moduledoc">127 ····<section·id="moduledoc">
128 <p>Callback·module·for·<a·href="ct_telnet.html"><code·class="inline">ct_telnet</code></a>,·for·connecting·to·a·Telnet·server·on·a·UNIX128 <p>Callback·module·for·<a·href="ct_telnet.html"><code·class="inline">ct_telnet</code></a>,·for·connecting·to·a·Telnet·server·on·a·UNIX
129 host.</p><p>It·requires·the·following·entry·in·the·configuration·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1214493945-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id="1214493945-2">[</span><span·class="p"·data-group-id="1214493945-3">{</span><span·class="ss">telnet</span><span·class="p">,</span><span·class="n">HostNameOrIpAddress</span><span·class="p"·data-group-id="1214493945-3">}</span><span·class="p">,</span><span·class="w"> 
130 ·······</span><span·class="p"·data-group-id="1214493945-4">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="n">PortNum</span><span·class="p"·data-group-id="1214493945-4">}</span><span·class="p">,</span><span·class="w">··············[·...·truncated·by·diffoscope;·len:·37,·SHA:·896a8775962438d09ec4b496c4b9822b3bc7e4bc0b7dd4f37d47c5b9c71c9ed0·...·]</span><span·class="w">129 host.</p><p>It·requires·the·following·entry·in·the·configuration·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8831694475-1">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·243,·SHA:·54c67b37d49252a171716a11ecdee78d1fc5beb10175e62f42fe0d0a6b46ca8a·...·]</span><span·class="w">
 130 ·······</span><span·class="p"·data-group-id="8831694475-4">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="n">PortNum</span><span·class="p"·data-group-id="8831694475-4">}</span><span·class="p">,</span><span·class="w">·················</span><span·class="c1">%·optional</span><span·class="w">
131 ·······</span><span·class="p"·data-group-id="1214493945-5">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">UserName</span><span·class="p"·data-group-id="1214493945-5">}</span><span·class="p">,</span><span·class="w">131 ·······</span><span·class="p"·data-group-id="8831694475-5">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="n">UserName</span><span·class="p"·data-group-id="8831694475-5">}</span><span·class="p">,</span><span·class="w">
132 ·······</span><span·class="p"·data-group-id="1214493945-6">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="1214493945-6">}</span><span·class="p">,</span><span·class="w"> 
133 ·······</span><span·class="p"·data-group-id="1214493945-7">{</span><span·class="ss">keep_alive</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="1214493945-7">}</span><span·class="p"·data-group-id="1214493945-2">]</span><span·class="p"·data-group-id="1214493945-1[·...·truncated·by·diffoscope;·len:·222,·SHA:·67878fdbd1e304a1346f863eba7ee32a4a28313966a3fd87470af519a65c4b5e·...·]132 ·······</span><span·class="p"·data-group-id="8831694475-6">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="8831694475-6">}</span><span·class="p">,</span><span·class="w">
 133 ·······</span><span·class="p"·data-group-id="8831694475-7">{</span><span·class="ss">keep_alive</span><span·class="p">,</span><span·class="n">Bool</span><span·class="p"·data-group-id="8831694475-7">}</span><span·class="p"·data-group-id="8831694475-2">]</span><span·class="p"·data-group-id="8831694475-1">}</span><span·class="p">.</span><span·class="w">············</span><span·class="c1">%·optional</span></code></pre><p>To·communicate·through·Telnet·to·the·host·specified·by·<code·class="inline">HostNameOrIpAddress</code>,
134 use·the·interface·functions·in·<a·href="ct_telnet.html"><code·class="inline">ct_telnet</code></a>,·for·example,·<code·class="inline">open(Name)</code>·and134 use·the·interface·functions·in·<a·href="ct_telnet.html"><code·class="inline">ct_telnet</code></a>,·for·example,·<code·class="inline">open(Name)</code>·and
135 <code·class="inline">cmd(Name,Cmd)</code>.</p><p><code·class="inline">Name</code>·is·the·name·you·allocated·to·the·Unix·host·in·your·<code·class="inline">require</code>·statement,135 <code·class="inline">cmd(Name,Cmd)</code>.</p><p><code·class="inline">Name</code>·is·the·name·you·allocated·to·the·Unix·host·in·your·<code·class="inline">require</code>·statement,
136 for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="8586932863-1">(</span><span·class="p"·data-group-id="8586932863-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8586932863-2">[</span><span·class="p"·data-group-id="8586932863-3">{</span[·...·truncated·by·diffoscope;·len:·1121,·SHA:·cb48f24a89ac27287718da88d0acdf91dc6cb34608c1aedb99d6ede3f647a372·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·&quot;keep·alive&quot;·activity·(that·is,·that·<code·class="inline">Common·Test</code>·sends·NOP·to·the·server136 for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="4881654370-1">(</span><span·class="p"·data-group-id="4881654370-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4881654370-2">[</span><span·class="p"·data-group-id="4881654370-3">{</span[·...·truncated·by·diffoscope;·len:·1121,·SHA:·59eb5ba9637383237c4b1a30eaf23b098207e6df69a797ebea3d28a990f62de8·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·&quot;keep·alive&quot;·activity·(that·is,·that·<code·class="inline">Common·Test</code>·sends·NOP·to·the·server
137 every·10·seconds·if·the·connection·is·idle)·can·be·enabled·or·disabled·for·one137 every·10·seconds·if·the·connection·is·idle)·can·be·enabled·or·disabled·for·one
138 particular·connection·as·described·here.·It·can·be·disabled·for·all·connections138 particular·connection·as·described·here.·It·can·be·disabled·for·all·connections
139 using·<code·class="inline">telnet_settings</code>·(see·<a·href="ct_telnet.html"><code·class="inline">ct_telnet</code></a>).</p><p>The·<code·class="inline">{port,PortNum}</code>·tuple·is·optional·and·if·omitted,·default·Telnet·port·23·is139 using·<code·class="inline">telnet_settings</code>·(see·<a·href="ct_telnet.html"><code·class="inline">ct_telnet</code></a>).</p><p>The·<code·class="inline">{port,PortNum}</code>·tuple·is·optional·and·if·omitted,·default·Telnet·port·23·is
140 used.·Also·the·<code·class="inline">keep_alive</code>·tuple·is·optional,·and·the·value·default·to·<code·class="inline">true</code>140 used.·Also·the·<code·class="inline">keep_alive</code>·tuple·is·optional,·and·the·value·default·to·<code·class="inline">true</code>
141 (enabled).</p><h2·id="module-see-also"·class="section-heading">141 (enabled).</p><h2·id="module-see-also"·class="section-heading">
142 ··<a·href="#module-see-also"·class="hover-link">142 ··<a·href="#module-see-also"·class="hover-link">
143 ····<i·class="ri-link-m"·aria-hidden="true"></i>143 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 288, 15 lines modifiedOffset 288, 15 lines modified
288 ······<p·class="built-using">288 ······<p·class="built-using">
289 ········Built·using289 ········Built·using
290 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the290 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
291 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>291 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
292 ······</p>292 ······</p>
293 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>293 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
294 ····</footer>294 ····</footer>
295 ··</div>295 ··</div>
296 </main>296 </main>
297 </div>297 </div>
298 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>298 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
299 ··<script>299 ··<script>
300 ··let·initialized·=·false;300 ··let·initialized·=·false;
702 B
html2text {}
Max HTML report size reached
1.72 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/why_test_chapter.html
    
Offset 206, 15 lines modifiedOffset 206, 15 lines modified
206 ······<p·class="built-using">206 ······<p·class="built-using">
207 ········Built·using207 ········Built·using
208 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the208 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
209 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>209 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
210 ······</p>210 ······</p>
211 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>211 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
212 ····</footer>212 ····</footer>
213 ··</div>213 ··</div>
214 </main>214 </main>
215 </div>215 </div>
216 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>216 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
217 ··<script>217 ··<script>
218 ··let·initialized·=·false;218 ··let·initialized·=·false;
896 B
html2text {}
Max HTML report size reached
111 KB
./usr/share/doc/erlang-doc/html/lib/common_test-1.28/doc/html/write_test_chapter.html
    
Offset 262, 58 lines modifiedOffset 262, 58 lines modified
262 <a·href="write_test_chapter.html#timetraps">Timetrap·Time-Outs</a>.</p></li><li><p><strong><code·class="inline">userdata</code></strong>·-·Specifies·any·data·related·to·the·test·case.·This·data·can·be262 <a·href="write_test_chapter.html#timetraps">Timetrap·Time-Outs</a>.</p></li><li><p><strong><code·class="inline">userdata</code></strong>·-·Specifies·any·data·related·to·the·test·case.·This·data·can·be
263 retrieved·at·any·time·using·the·<a·href="ct.html#userdata/3"><code·class="inline">ct:userdata/3</code></a>·utility·function.</p></li><li><p><strong><code·class="inline">silent_connections</code></strong>·-·For·details,·see·section263 retrieved·at·any·time·using·the·<a·href="ct.html#userdata/3"><code·class="inline">ct:userdata/3</code></a>·utility·function.</p></li><li><p><strong><code·class="inline">silent_connections</code></strong>·-·For·details,·see·section
264 <a·href="run_test_chapter.html#silent_connections">Silent·Connections</a>.</p></li><li><p><strong><code·class="inline">require</code></strong>·-·Specifies·configuration·variables·required·by·the·test·case.264 <a·href="run_test_chapter.html#silent_connections">Silent·Connections</a>.</p></li><li><p><strong><code·class="inline">require</code></strong>·-·Specifies·configuration·variables·required·by·the·test·case.
265 If·the·required·configuration·variables·are·not·found·in·any·of·the·test265 If·the·required·configuration·variables·are·not·found·in·any·of·the·test
266 system·configuration·files,·the·test·case·is·skipped.</p><p>A·required·variable·can·also·be·given·a·default·value·to·be·used·if·the266 system·configuration·files,·the·test·case·is·skipped.</p><p>A·required·variable·can·also·be·given·a·default·value·to·be·used·if·the
267 variable·is·not·found·in·any·configuration·file.·To·specify·a·default·value,267 variable·is·not·found·in·any·configuration·file.·To·specify·a·default·value,
268 add·a·tuple·of·the·form·<code·class="inline">{default_config,ConfigVariableName,Value}</code>·to·the268 add·a·tuple·of·the·form·<code·class="inline">{default_config,ConfigVariableName,Value}</code>·to·the
269 test·case·information·list·(the·position·in·the·list·is·irrelevant).</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">testcase1</span><span·class="p"·data-group-id="8595599543-1">(</span><span·class="p"·data-group-id="8595599543-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">269 test·case·information·list·(the·position·in·the·list·is·irrelevant).</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">testcase1</span><span·class="p"·data-group-id="3404155310-1">(</span><span·class="p"·data-group-id="3404155310-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
270 ····</span><span·class="p"·data-group-id="8595599543-2">[</span><span·class="p"·data-group-id="8595599543-3">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ftp</span><span·class="p"·data-group-id="8595599543-3">}</span><span·class="p">,</span><span·class="w">270 ····</span><span·class="p"·data-group-id="3404155310-2">[</span><span·class="p"·data-group-id="3404155310-3">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ftp</span><span·class="p"·data-group-id="3404155310-3">}</span><span·class="p">,</span><span·class="w">
271 ·····</span><span·class="p"·data-group-id="8595599543-4">{</span><span·class="ss">default_config</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8595599543-5">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·195,·SHA:·8a110d276aebd92b62528a9b997b5c0662d9ce9e40a2adec2ab52455cb224c47·...·]-6">}</span><span·class="p">,</span><span·class="w">271 ·····</span><span·class="p"·data-group-id="3404155310-4">{</span><span·class="ss">default_config</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ftp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3404155310-5">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·195,·SHA:·cad6124eca64292e7b67ba98f57555107466b04332c98f42d43c0dd268e7c7b7·...·]-6">}</span><span·class="p">,</span><span·class="w">
272 ····························</span><span·class="p"·data-group-id="8595599543-7">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;aladdin&quot;</span><span·class="p"·data-group-id="8595599543-7">}</span><span·class="p">,</span><span·class="w">272 ····························</span><span·class="p"·data-group-id="3404155310-7">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;aladdin&quot;</span><span·class="p"·data-group-id="3404155310-7">}</span><span·class="p">,</span><span·class="w">
273 ····························</span><span·class="p"·data-group-id="8595599543-8">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;sesame&quot;</span><span·class="p"·data-group-id="8595599543-8">}</span><span·class="p"·data-group-id="8595599543-5">]</span><span·c[·...·truncated·by·diffoscope;·len:·334,·SHA:·49499d1ac7e99a363ce5079fe37ec43d9ab67a048cd66c06a4458945ad0ff66a·...·]5-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">273 ····························</span><span·class="p"·data-group-id="3404155310-8">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;sesame&quot;</span><span·class="p"·data-group-id="3404155310-8">}</span><span·class="p"·data-group-id="3404155310-5">]</span><span·c[·...·truncated·by·diffoscope;·len:·334,·SHA:·98ae5de85daaa310943cdbf8553434be87adeb996868a6665acb267dd6433bec·...·]5-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
274 ····</span><span·class="p"·data-group-id="5283128165-2">[</span><span·class="p"·data-group-id="5283128165-3">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">unix_telnet</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">un[·...·truncated·by·diffoscope;·len:·49,·SHA:·065e6e22ce506d5eef446fb64f5cae561c319b3b4e53d4ca8f5187555df6219c·...·]5-3">}</span><span·class="p">,</span><span·class="w">274 ····</span><span·class="p"·data-group-id="8107803735-2">[</span><span·class="p"·data-group-id="8107803735-3">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">unix_telnet</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">un[·...·truncated·by·diffoscope;·len:·49,·SHA:·52d31c428256ffafe2f22e8457a7dfb975c36d95986c26ec39b0ff30a69589cd·...·]5-3">}</span><span·class="p">,</span><span·class="w">
275 ·····</span><span·class="p"·data-group-id="5283128165-4">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5283128165-5">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·363,·SHA:·964d0c2d083d5d109bd34c5ed182867585013e2e7e03c9e4b25941bce7c7512e·...·]5-4">}</span><span·class="p">,</span><span·class="w">275 ·····</span><span·class="p"·data-group-id="8107803735-4">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8107803735-5">{</span><span·class="ss">unix</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·363,·SHA:·1829dc5b4c79bff697b84404ed9355d3a7ef3aa22ad9da1dc20a39aad61efc74·...·]5-4">}</span><span·class="p">,</span><span·class="w">
276 ·····</span><span·class="p"·data-group-id="5283128165-7">{</span><span·class="ss">default_config</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">unix</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5283128165-8">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·201,·SHA:·8acd36d4293032bd8b900b0247cf097ef60f4f8fa68d199251527857e3a743d3·...·]5-9">}</span><span·class="p">,</span><span·class="w">276 ·····</span><span·class="p"·data-group-id="8107803735-7">{</span><span·class="ss">default_config</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">unix</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8107803735-8">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·201,·SHA:·4a054eab581517dbf3f40145d1f2f2669d6cde2ae1ba91d124c3d9a04e543738·...·]5-9">}</span><span·class="p">,</span><span·class="w">
277 ·····························</span><span·class="p"·data-group-id="5283128165-10">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;aladdin&quot;</span><span·class="p"·data-group-id="5283128165-10">}</span><span·class="p">,</span><span·class="w">277 ·····························</span><span·class="p"·data-group-id="8107803735-10">{</span><span·class="ss">username</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;aladdin&quot;</span><span·class="p"·data-group-id="8107803735-10">}</span><span·class="p">,</span><span·class="w">
278 ·····························</span><span·class="p"·data-group-id="5283128165-11">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;sesame&quot;</span><span·class="p"·data-group-id="5283128165-11">}</span><span·class="p"·data-group-id="5283128165-8">]</span><span[·...·truncated·by·diffoscope;·len:·112,·SHA:·9ec13d758c4cc4a3eb0046713e032c15b69cfc7e71c4ec9838951a4cba65ba2b·...·]5-2">]</span><span·class="p">.</span></code></pre></li></ul><p>For·more·information·about·<code·class="inline">require</code>,·see·section278 ·····························</span><span·class="p"·data-group-id="8107803735-11">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;sesame&quot;</span><span·class="p"·data-group-id="8107803735-11">}</span><span·class="p"·data-group-id="8107803735-8">]</span><span[·...·truncated·by·diffoscope;·len:·112,·SHA:·f30158631e2258be70b2cafbe7e54daf8ff9114c065cfadcbf9549e7c496b736·...·]5-2">]</span><span·class="p">.</span></code></pre></li></ul><p>For·more·information·about·<code·class="inline">require</code>,·see·section
279 <a·href="config_file_chapter.html#require_config_data">Requiring·and·Reading·Configuration·Data</a>279 <a·href="config_file_chapter.html#require_config_data">Requiring·and·Reading·Configuration·Data</a>
280 in·section·External·Configuration·Data·and·function280 in·section·External·Configuration·Data·and·function
281 <a·href="ct.html#require/1"><code·class="inline">ct:require/1/2</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Specifying·a·default·value·for·a·required·variable·can·result·in·a·test·case281 <a·href="ct.html#require/1"><code·class="inline">ct:require/1/2</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Specifying·a·default·value·for·a·required·variable·can·result·in·a·test·case
282 always·getting·executed.·This·might·not·be·a·desired·behavior.</p></section><p>If·<code·class="inline">timetrap</code>·or·<code·class="inline">require</code>,·or·both,·is·not·set·specifically·for·a·particular282 always·getting·executed.·This·might·not·be·a·desired·behavior.</p></section><p>If·<code·class="inline">timetrap</code>·or·<code·class="inline">require</code>,·or·both,·is·not·set·specifically·for·a·particular
283 test·case,·default·values·specified·by·function283 test·case,·default·values·specified·by·function
284 <a·href="ct_suite.html#c:suite/0"><code·class="inline">suite/0</code></a>·are·used.</p><p>Tags·other·than·the·earlier·mentioned·are·ignored·by·the·test·server.</p><p>An·example·of·a·test·case·information·function·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">reboot_node</span><span·class="p"·data-group-id="8476165850-1">(</span><span·class="p"·data-group-id="8476165850-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">284 <a·href="ct_suite.html#c:suite/0"><code·class="inline">suite/0</code></a>·are·used.</p><p>Tags·other·than·the·earlier·mentioned·are·ignored·by·the·test·server.</p><p>An·example·of·a·test·case·information·function·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">reboot_node</span><span·class="p"·data-group-id="9172903559-1">(</span><span·class="p"·data-group-id="9172903559-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
285 ····</span><span·class="p"·data-group-id="8476165850-2">[</span><span·class="w">285 ····</span><span·class="p"·data-group-id="9172903559-2">[</span><span·class="w">
286 ·····</span><span·class="p"·data-group-id="8476165850-3">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="8476165850-4">{</span><span·class="ss">seconds</span><span·class="p">,</span><span·class="mi">60</span><span·class="p"·data-group-id="8476165850-4"[·...·truncated·by·diffoscope;·len:·50,·SHA:·1bf938d5300e5b44e36dd6c5bd6e9f4623bb13ad37885cff5938ca899961a0ad·...·]-3">}</span><span·class="p">,</span><span·class="w">286 ·····</span><span·class="p"·data-group-id="9172903559-3">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="9172903559-4">{</span><span·class="ss">seconds</span><span·class="p">,</span><span·class="mi">60</span><span·class="p"·data-group-id="9172903559-4"[·...·truncated·by·diffoscope;·len:·50,·SHA:·f7282f2bcdebd5c1617b6b3ed5e06a5f6b9053ac22c41390484a697374e638a2·...·]-3">}</span><span·class="p">,</span><span·class="w">
287 ·····</span><span·class="p"·data-group-id="8476165850-5">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">interfaces</span><span·class="p"·data-group-id="8476165850-5">}</span><span·class="p">,</span><span·class="w">287 ·····</span><span·class="p"·data-group-id="9172903559-5">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">interfaces</span><span·class="p"·data-group-id="9172903559-5">}</span><span·class="p">,</span><span·class="w">
288 ·····</span><span·class="p"·data-group-id="8476165850-6">{</span><span·class="ss">userdata</span><span·class="p">,</span><span·class="w">288 ·····</span><span·class="p"·data-group-id="9172903559-6">{</span><span·class="ss">userdata</span><span·class="p">,</span><span·class="w">
289 ·········</span><span·class="p"·data-group-id="8476165850-7">[</span><span·class="p"·data-group-id="8476165850-8">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="s">&quot;System·Upgrade:·RpuAddition·Normal·RebootNode&quot;</span><span·class="p"·data-group-id="8476165850-8">}</span><span·class="p">,</span><span·class="w">289 ·········</span><span·class="p"·data-group-id="9172903559-7">[</span><span·class="p"·data-group-id="9172903559-8">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="s">&quot;System·Upgrade:·RpuAddition·Normal·RebootNode&quot;</span><span·class="p"·data-group-id="9172903559-8">}</span><span·class="p">,</span><span·class="w">
290 ··········</span><span·class="p"·data-group-id="8476165850-9">{</span><span·class="ss">fts</span><span·class="p">,</span><span·class="s">&quot;http://someserver.ericsson.se/test_doc4711.pdf&quot;</span><span·class="p"·data-group-id="8476165850-9">}</span><span·class="p"·data-group-id="8476165850-7">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·137ea71d22fa8458eedc99ce265dac4c1fc6ac3d8d15318381e03686e355d711·...·]-6">}</span><span·class="w">290 ··········</span><span·class="p"·data-group-id="9172903559-9">{</span><span·class="ss">fts</span><span·class="p">,</span><span·class="s">&quot;http://someserver.ericsson.se/test_doc4711.pdf&quot;</span><span·class="p"·data-group-id="9172903559-9">}</span><span·class="p"·data-group-id="9172903559-7">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·d379d4456c4ceeb5b590c5d948101a301ee837b6a4ed5065058381443200dfae·...·]-6">}</span><span·class="w">
291 ····</span><span·class="p"·data-group-id="8476165850-2">]</span><span·class="p">.</span></code></pre><p><a·href=""·id="suite"></a></p><h2·id="test-suite-information-function"·class="section-heading">291 ····</span><span·class="p"·data-group-id="9172903559-2">]</span><span·class="p">.</span></code></pre><p><a·href=""·id="suite"></a></p><h2·id="test-suite-information-function"·class="section-heading">
292 ··<a·href="#test-suite-information-function"·class="hover-link">292 ··<a·href="#test-suite-information-function"·class="hover-link">
293 ····<i·class="ri-link-m"·aria-hidden="true"></i>293 ····<i·class="ri-link-m"·aria-hidden="true"></i>
294 ··</a>294 ··</a>
295 ··<span·class="text">Test·Suite·Information·Function</span>295 ··<span·class="text">Test·Suite·Information·Function</span>
296 </h2>296 </h2>
297 <p>Function·<a·href="ct_suite.html#c:suite/0"><code·class="inline">suite/0</code></a>·can,·for·example,·be·used·in·a·test297 <p>Function·<a·href="ct_suite.html#c:suite/0"><code·class="inline">suite/0</code></a>·can,·for·example,·be·used·in·a·test
298 suite·module·to·set·a·default·<code·class="inline">timetrap</code>·value·and·to·<code·class="inline">require</code>·external298 suite·module·to·set·a·default·<code·class="inline">timetrap</code>·value·and·to·<code·class="inline">require</code>·external
299 configuration·data.·If·a·test·case,·or·a·group·information·function·also299 configuration·data.·If·a·test·case,·or·a·group·information·function·also
300 specifies·any·of·the·information·tags,·it·overrides·the·default·values·set·by300 specifies·any·of·the·information·tags,·it·overrides·the·default·values·set·by
301 <code·class="inline">suite/0</code>.·For·details,·see301 <code·class="inline">suite/0</code>.·For·details,·see
302 <a·href="write_test_chapter.html#info_function">Test·Case·Information·Function</a>·and302 <a·href="write_test_chapter.html#info_function">Test·Case·Information·Function</a>·and
303 <a·href="write_test_chapter.html#test_case_groups">Test·Case·Groups</a>.</p><p>The·following·options·can·also·be·specified·with·the·suite·information·list:</p><ul><li><code·class="inline">stylesheet</code>,·see·<a·href="run_test_chapter.html#html_stylesheet">HTML·Style·Sheets</a></li><li><code·class="inline">userdata</code>,·see303 <a·href="write_test_chapter.html#test_case_groups">Test·Case·Groups</a>.</p><p>The·following·options·can·also·be·specified·with·the·suite·information·list:</p><ul><li><code·class="inline">stylesheet</code>,·see·<a·href="run_test_chapter.html#html_stylesheet">HTML·Style·Sheets</a></li><li><code·class="inline">userdata</code>,·see
304 <a·href="write_test_chapter.html#info_function">Test·Case·Information·Function</a></li><li><code·class="inline">silent_connections</code>,·see304 <a·href="write_test_chapter.html#info_function">Test·Case·Information·Function</a></li><li><code·class="inline">silent_connections</code>,·see
305 <a·href="run_test_chapter.html#silent_connections">Silent·Connections</a></li></ul><p>An·example·of·the·suite·information·function·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="1795548534-1">(</span><span·class="p"·data-group-id="1795548534-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">305 <a·href="run_test_chapter.html#silent_connections">Silent·Connections</a></li></ul><p>An·example·of·the·suite·information·function·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">suite</span><span·class="p"·data-group-id="7510029888-1">(</span><span·class="p"·data-group-id="7510029888-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
306 ····</span><span·class="p"·data-group-id="1795548534-2">[</span><span·class="w">306 ····</span><span·class="p"·data-group-id="7510029888-2">[</span><span·class="w">
307 ·····</span><span·class="p"·data-group-id="1795548534-3">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="1795548534-4">{</span><span·class="ss">minutes</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="1795548534-4"[·...·truncated·by·diffoscope;·len:·50,·SHA:·89c288b2ce8a4581826f74204ddb2c65583eb9a6f6a86d82e75b9a16aaa9dc77·...·]-3">}</span><span·class="p">,</span><span·class="w">307 ·····</span><span·class="p"·data-group-id="7510029888-3">{</span><span·class="ss">timetrap</span><span·class="p">,</span><span·class="p"·data-group-id="7510029888-4">{</span><span·class="ss">minutes</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="7510029888-4"[·...·truncated·by·diffoscope;·len:·50,·SHA:·2872ebb1ad5f7055691ed317594569be60415d3ce260ac578f44dea24aa2c8a9·...·]-3">}</span><span·class="p">,</span><span·class="w">
308 ·····</span><span·class="p"·data-group-id="1795548534-5">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">global_names</span><span·class="p"·data-group-id="1795548534-5">}</span><span·class="p">,</span><span·class="w">308 ·····</span><span·class="p"·data-group-id="7510029888-5">{</span><span·class="ss">require</span><span·class="p">,</span><span·class="ss">global_names</span><span·class="p"·data-group-id="7510029888-5">}</span><span·class="p">,</span><span·class="w">
309 ·····</span><span·class="p"·data-group-id="1795548534-6">{</span><span·class="ss">userdata</span><span·class="p">,</span><span·class="p"·data-group-id="1795548534-7">[</span><span·class="p"·data-group-id="1795548534-8">{</span><span·class="ss">info</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·201,·SHA:·0554c13486c423b6ca0c446bf7ac102d6dc174d36aef0c2d79e5f676add0b872·...·]-6">}</span><span·class="p">,</span><span·class="w">309 ·····</span><span·class="p"·data-group-id="7510029888-6">{</span><span·class="ss">userdata</span><span·class="p">,</span><span·class="p"·data-group-id="7510029888-7">[</span><span·class="p"·data-group-id="7510029888-8">{</span><span·class="ss">info</span><span·class="p">,</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·201,·SHA:·3cd821c9a038c169e04de6cdc999cf8ef82f252fb3700b8a039e571e075bb6fe·...·]-6">}</span><span·class="p">,</span><span·class="w">
310 ·····</span><span·class="p"·data-group-id="1795548534-9">{</span><span·class="ss">silent_connections</span><span·class="p">,</span><span·class="p"·data-group-id="1795548534-10">[</span><span·class="ss">telnet</span><span·class="p"·data-group-id="1795548534-10">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·1a12b4cd1af133c58ace33b300191ce5989e7ec49ba03bf2991a730fa6b6b3b9·...·]-9">}</span><span·class="p">,</span><span·class="w">310 ·····</span><span·class="p"·data-group-id="7510029888-9">{</span><span·class="ss">silent_connections</span><span·class="p">,</span><span·class="p"·data-group-id="7510029888-10">[</span><span·class="ss">telnet</span><span·class="p"·data-group-id="7510029888-10">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·b5b594d4068f5389b289f37d34ebe4b6351938ba4686e80d0b08cedf4b9ac2b8·...·]-9">}</span><span·class="p">,</span><span·class="w">
311 ·····</span><span·class="p"·data-group-id="1795548534-11">{</span><span·class="ss">stylesheet</span><span·class="p">,</span><span·class="s">&quot;db_testing.css&quot;</span><span·class="p"·data-group-id="1795548534-11">}</span><span·class="w">311 ·····</span><span·class="p"·data-group-id="7510029888-11">{</span><span·class="ss">stylesheet</span><span·class="p">,</span><span·class="s">&quot;db_testing.css&quot;</span><span·class="p"·data-group-id="7510029888-11">}</span><span·class="w">
312 ····</span><span·class="p"·data-group-id="1795548534-2">]</span><span·class="p">.</span></code></pre><p><a·href=""·id="test_case_groups"></a></p><h2·id="test-case-groups"·class="section-heading">312 ····</span><span·class="p"·data-group-id="7510029888-2">]</span><span·class="p">.</span></code></pre><p><a·href=""·id="test_case_groups"></a></p><h2·id="test-case-groups"·class="section-heading">
313 ··<a·href="#test-case-groups"·class="hover-link">313 ··<a·href="#test-case-groups"·class="hover-link">
314 ····<i·class="ri-link-m"·aria-hidden="true"></i>314 ····<i·class="ri-link-m"·aria-hidden="true"></i>
315 ··</a>315 ··</a>
316 ··<span·class="text">Test·Case·Groups</span>316 ··<span·class="text">Test·Case·Groups</span>
317 </h2>317 </h2>
318 <p>A·test·case·group·is·a·set·of·test·cases·sharing·configuration·functions·and318 <p>A·test·case·group·is·a·set·of·test·cases·sharing·configuration·functions·and
319 execution·properties.·Test·case·groups·are·defined·by·function319 execution·properties.·Test·case·groups·are·defined·by·function
Offset 327, 63 lines modifiedOffset 327, 63 lines modified
327 GroupName·=·atom()327 GroupName·=·atom()
328 GroupsAndTestCases·=·[GroupDef·|·{group,GroupName}·|·TestCase·|328 GroupsAndTestCases·=·[GroupDef·|·{group,GroupName}·|·TestCase·|
329 ·····················{testcase,TestCase,TCRepeatProps}]329 ·····················{testcase,TestCase,TCRepeatProps}]
330 TestCase·=·atom()330 TestCase·=·atom()
331 TCRepeatProps·=·[{repeat,N}·|·{repeat_until_ok,N}·|·{repeat_until_fail,N}]</code></pre><p><code·class="inline">GroupName</code>·is·the·name·of·the·group·and·must·be·unique·within·the·test·suite331 TCRepeatProps·=·[{repeat,N}·|·{repeat_until_ok,N}·|·{repeat_until_fail,N}]</code></pre><p><code·class="inline">GroupName</code>·is·the·name·of·the·group·and·must·be·unique·within·the·test·suite
332 module.·Groups·can·be·nested,·by·including·a·group·definition·within·the332 module.·Groups·can·be·nested,·by·including·a·group·definition·within·the
333 <code·class="inline">GroupsAndTestCases</code>·list·of·another·group.·<code·class="inline">Properties</code>·is·the·list·of333 <code·class="inline">GroupsAndTestCases</code>·list·of·another·group.·<code·class="inline">Properties</code>·is·the·list·of
334 execution·properties·for·the·group.·The·possible·values·are·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Properties</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9453480130-1">[</span><span·class="ss">parallel</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">sequence</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Shuffle</s[·...·truncated·by·diffoscope;·len:·309,·SHA:·21018994474aabb3130eaaa2a7ed65ba384d9eb7ba89dbf79e8ba851a6f05f69·...·]-1">]</span><span·class="w">334 execution·properties·for·the·group.·The·possible·values·are·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Properties</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3735753645-1">[</span><span·class="ss">parallel</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">sequence</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Shuffle</s[·...·truncated·by·diffoscope;·len:·309,·SHA:·3a7798e021bd880668da912c9035c2ad5c34013a2ad2dc6de6c01ca408980042·...·]-1">]</span><span·class="w">
335 </span><span·class="n">Shuffle</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">shuffle</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="9453480130-3">{</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="n">Seed</span><span·class="p"·data-group-id="9453480130-3">}</span><span·class="w">335 </span><span·class="n">Shuffle</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">shuffle</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="3735753645-3">{</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="n">Seed</span><span·class="p"·data-group-id="3735753645-3">}</span><span·class="w">
336 </span><span·class="n">Seed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9453480130-4">{</span><span·class="nf">integer</span><span·class="p"·data-group-id="9453480130-5">(</span><span·class="p"·data-group-id="9453480130-5">)</span><span·class="p">,</span><span·class="nf">integer</span><span·class="p"·data-group-id="9453480130-[·...·truncated·by·diffoscope;·len:·266,·SHA:·8070ee4ec8467d9af0ecb4a786013e9c7c72fbbaaaa2498bab1b96ddbb97fb47·...·]-4">}</span><span·class="w">336 </span><span·class="n">Seed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3735753645-4">{</span><span·class="nf">integer</span><span·class="p"·data-group-id="3735753645-5">(</span><span·class="p"·data-group-id="3735753645-5">)</span><span·class="p">,</span><span·class="nf">integer</span><span·class="p"·data-group-id="3735753645-[·...·truncated·by·diffoscope;·len:·266,·SHA:·c9a5c25da8385277b0f2909e4b2b3ceaebcdcc055790a2fb7eddd869c5fcf06b·...·]-4">}</span><span·class="w">
337 </span><span·class="n">GroupRepeatType</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">repeat</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">repeat_until_all_ok</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">repeat_until_all_fail</span><span·class="w">·</span><span·class="p">|</span><span·class="w">337 </span><span·class="n">GroupRepeatType</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">repeat</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">repeat_until_all_ok</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">repeat_until_all_fail</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
338 ··················</span><span·class="ss">repeat_until_any_ok</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">repeat_until_any_fail</span><span·class="w">338 ··················</span><span·class="ss">repeat_until_any_ok</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">repeat_until_any_fail</span><span·class="w">
339 </span><span·class="n">N</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9453480130-8">(</span><span·class="p"·data-group-id="9453480130-8">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">forever</span></code></pre><p><em>Explanations:</em></p><ul><li><p><strong><code·class="inline">parallel</code></strong>·-·<code·class="inline">Common·Test</code>·executes·all·test·cases·in·the·group·in339 </span><span·class="n">N</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3735753645-8">(</span><span·class="p"·data-group-id="3735753645-8">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">forever</span></code></pre><p><em>Explanations:</em></p><ul><li><p><strong><code·class="inline">parallel</code></strong>·-·<code·class="inline">Common·Test</code>·executes·all·test·cases·in·the·group·in
340 parallel.</p></li><li><p><strong><code·class="inline">sequence</code></strong>·-·The·cases·are·executed·in·a·sequence·as·described·in·section340 parallel.</p></li><li><p><strong><code·class="inline">sequence</code></strong>·-·The·cases·are·executed·in·a·sequence·as·described·in·section
341 <a·href="dependencies_chapter.html#sequences">Sequences</a>·in·section·Dependencies·Between341 <a·href="dependencies_chapter.html#sequences">Sequences</a>·in·section·Dependencies·Between
342 Test·Cases·and·Suites.</p></li><li><p><strong><code·class="inline">shuffle</code></strong>·-·The·cases·in·the·group·are·executed·in·random·order.</p></li><li><p><strong><code·class="inline">repeat,·repeat_until_*</code></strong>·-·Orders·<code·class="inline">Common·Test</code>·to·repeat·execution·of·all342 Test·Cases·and·Suites.</p></li><li><p><strong><code·class="inline">shuffle</code></strong>·-·The·cases·in·the·group·are·executed·in·random·order.</p></li><li><p><strong><code·class="inline">repeat,·repeat_until_*</code></strong>·-·Orders·<code·class="inline">Common·Test</code>·to·repeat·execution·of·all
343 the·cases·in·the·group·a·given·number·of·times,·or·until·any,·or·all,·cases343 the·cases·in·the·group·a·given·number·of·times,·or·until·any,·or·all,·cases
344 fail·or·succeed.</p></li></ul><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">groups</span><span·class="p"·data-group-id="9108367127-1">(</span><span·class="p"·data-group-id="9108367127-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9108367127-2">[</span><span·class="p"·data-group-id="9108367127-3">{</span[·...·truncated·by·diffoscope;·len:·496,·SHA:·50be09a83bcbdd53c1ee0157e6fa6b0cadf9624cfe6812f700f855aaad940448·...·]-3">}</span><span·class="p">,</span><span·class="w">344 fail·or·succeed.</p></li></ul><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">groups</span><span·class="p"·data-group-id="1543942661-1">(</span><span·class="p"·data-group-id="1543942661-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1543942661-2">[</span><span·class="p"·data-group-id="1543942661-3">{</span[·...·truncated·by·diffoscope;·len:·496,·SHA:·2f375ae4749b30cb6207368d188895aa539aa09440ec067e1a0e173598dc050c·...·]-3">}</span><span·class="p">,</span><span·class="w">
345 ·············</span><span·class="p"·data-group-id="9108367127-6">{</span><span·class="ss">group2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9108367127-7">[</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="ss">sequence</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·423,·SHA:·a5c5f72648f4ed7a8f687c04b080064a2b3cbe1cd578dec2504ba8a193a2a650·...·]-2">]</span><span·class="p">.</span></code></pre><p>To·specify·in·which·order·groups·are·to·be·executed·(also·with·respect·to·test345 ·············</span><span·class="p"·data-group-id="1543942661-6">{</span><span·class="ss">group2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1543942661-7">[</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="ss">sequence</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·423,·SHA:·0a5f2a37ca4b795ef46e4c04937e53c9768344477b667981cfa8e06fa220eba5·...·]-2">]</span><span·class="p">.</span></code></pre><p>To·specify·in·which·order·groups·are·to·be·executed·(also·with·respect·to·test
346 cases·that·are·not·part·of·any·group),·add·tuples·on·the·form346 cases·that·are·not·part·of·any·group),·add·tuples·on·the·form
347 <code·class="inline">{group,GroupName}</code>·to·the·<code·class="inline">all/0</code>·list.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">all</span><span·class="p"·data-group-id="5179145310-1">(</span><span·class="p"·data-group-id="5179145310-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5179145310-2">[</span><span·class="ss">testcase1</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·1055,·SHA:·26f537cbe119dd1d32acca5985277ea66e31a940f908cea7d534a0c2d054c71d·...·]-2">]</span><span·class="p">.</span></code></pre><p>Execution·properties·with·a·group·tuple·in·<code·class="inline">all/0</code>:347 <code·class="inline">{group,GroupName}</code>·to·the·<code·class="inline">all/0</code>·list.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">all</span><span·class="p"·data-group-id="2861562493-1">(</span><span·class="p"·data-group-id="2861562493-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2861562493-2">[</span><span·class="ss">testcase1</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·1055,·SHA:·8cb1887d6cb415addacf18cd97b797562a80d38de28b82d4b462a25ed3f36e3c·...·]-2">]</span><span·class="p">.</span></code></pre><p>Execution·properties·with·a·group·tuple·in·<code·class="inline">all/0</code>:
348 <code·class="inline">{group,GroupName,Properties}</code>·can·also·be·specified.·These·properties·override348 <code·class="inline">{group,GroupName,Properties}</code>·can·also·be·specified.·These·properties·override
349 those·specified·in·the·group·definition·(see·<code·class="inline">groups/0</code>·earlier).·This·way,·the349 those·specified·in·the·group·definition·(see·<code·class="inline">groups/0</code>·earlier).·This·way,·the
350 same·set·of·tests·can·be·run,·but·with·different·properties,·without·having·to350 same·set·of·tests·can·be·run,·but·with·different·properties,·without·having·to
351 make·copies·of·the·group·definition·in·question.</p><p>If·a·group·contains·subgroups,·the·execution·properties·for·these·can·also·be351 make·copies·of·the·group·definition·in·question.</p><p>If·a·group·contains·subgroups,·the·execution·properties·for·these·can·also·be
352 specified·in·the·group·tuple:·<code·class="inline">{group,GroupName,Properties,SubGroups}</code>·Where,352 specified·in·the·group·tuple:·<code·class="inline">{group,GroupName,Properties,SubGroups}</code>·Where,
353 <code·class="inline">SubGroups</code>·is·a·list·of·tuples,·<code·class="inline">{GroupName,Properties}</code>·or353 <code·class="inline">SubGroups</code>·is·a·list·of·tuples,·<code·class="inline">{GroupName,Properties}</code>·or
354 <code·class="inline">{GroupName,Properties,SubGroups}</code>·representing·the·subgroups.·Any·subgroups354 <code·class="inline">{GroupName,Properties,SubGroups}</code>·representing·the·subgroups.·Any·subgroups
355 defined·in·<code·class="inline">groups/0</code>·for·a·group,·that·are·not·specified·in·the·<code·class="inline">SubGroups</code>355 defined·in·<code·class="inline">groups/0</code>·for·a·group,·that·are·not·specified·in·the·<code·class="inline">SubGroups</code>
356 list,·executes·with·their·predefined·properties.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">groups</span><span·class="p"·data-group-id="4230680208-1">(</span><span·class="p"·data-group-id="4230680208-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4230680208-2">[</span><span·class="p"·data-group-id="4230680208-3">{</span>[·...·truncated·by·diffoscope;·len:·795,·SHA:·769a286b7eef9c52f9cd4e7156149c5d53eb0e013aca2e7f9b672b757fbe4ce0·...·]-6">}</span><span·class="p">,</span><span·class="w">356 list,·executes·with·their·predefined·properties.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">groups</span><span·class="p"·data-group-id="4499109369-1">(</span><span·class="p"·data-group-id="4499109369-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4499109369-2">[</span><span·class="p"·data-group-id="4499109369-3">{</span>[·...·truncated·by·diffoscope;·len:·795,·SHA:·706e439d663836d511f0df1140e9d2a768366c1317c3af9a99fe7bbca40e66d0·...·]-6">}</span><span·class="p">,</span><span·class="w">
357 ··························</span><span·class="p"·data-group-id="4230680208-9">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4230680208-10">[</span><span·class="p"·data-group-id="4230680208-10">]</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·385,·SHA:·580498aca73f7d2cb7e7ded371f7b86d41e36d1cad0323a3ea9bb921426e914b·...·]-2">]</span><span·class="p">.</span></code></pre><p>To·execute·group·<code·class="inline">tests1</code>·twice·with·different·properties·for·<code·class="inline">tests2</code>·each357 ··························</span><span·class="p"·data-group-id="4499109369-9">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4499109369-10">[</span><span·class="p"·data-group-id="4499109369-10">]</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·385,·SHA:·652e164f8cfceb838ddcf96dcc9dc3a6ef701428245f64016f33f2bd8cd33c6d·...·]-2">]</span><span·class="p">.</span></code></pre><p>To·execute·group·<code·class="inline">tests1</code>·twice·with·different·properties·for·<code·class="inline">tests2</code>·each
358 time:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">all</span><span·class="p"·data-group-id="4353599190-1">(</span><span·class="p"·data-group-id="4353599190-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">358 time:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">all</span><span·class="p"·data-group-id="8679283353-1">(</span><span·class="p"·data-group-id="8679283353-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
359 ···</span><span·class="p"·data-group-id="4353599190-2">[</span><span·class="p"·data-group-id="4353599190-3">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4353599190-4">[</span><span·class="p"·data-group-id="4353599190-5">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4353599190-6">[</span><span·class="ss">parallel</span><span·class="p"·data-group-id="4353599190-6">]</span><span·class="p"·data-group-id="4353599190-5">}</span><span·class="p"·data-group-id="4353599190-4">]</span><span·class="p"·data-group-id="4353599190-3">}</span><span·class="p">,</span><span·class="w"> 
360 ····</span><span·class="p"·data-group-id="4353599190-7">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4353599190-8">[</span><span·class="p"·data-group-id="4353599190-9">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4353599190-10">[</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="p"·data-group-id="4353599190-11">{</span><span·class="ss">repeat</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="4353599190-11">}</span><span·class="p"·data-group-id="4353599190-10">]</span><span·class="p"·data-group-id="4353599190-9">}</span><span·class="p"·data-group-id="4353599190-8">]</span><span·class="p"·data-group-id="4353599190-7">}</span><span·class="p"·data-group-id="4353599190-2">]</span><span·class="p">.</span></code></pre><p>This·is·equivalent·to·the·following·specification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">all</span><span·class="p"·data-group-id="6125761747-1">(</span><span·class="p"·data-group-id="6125761747-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
361 ···</span><span·class="p"·data-group-id="6125761747-2">[</span><span·class="p"·data-group-id="6125761747-3">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</[·...·truncated·by·diffoscope;·len:·418,·SHA:·890675d5a6a211825aded17114fa303e532094621972b9bae544ee6c8c764907·...·]">}</span><span·class="p">,</span><span·class="w">359 ···</span><span·class="p"·data-group-id="8679283353-2">[</span><span·class="p"·data-group-id="8679283353-3">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</[·...·truncated·by·diffoscope;·len:·524,·SHA:·d3b9c82d8ad2a7196f242b8cadbb49d2a0b8802c8b4c63a8987201ebbb6eb3cb·...·]">}</span><span·class="p">,</span><span·class="w">
 360 ····</span><span·class="p"·data-group-id="8679283353-7">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8679283353-8">[</span><span·class="p"·data-group-id="8679283353-9">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8679283353-10">[</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="p"·data-group-id="8679283353-11">{</span><span·class="ss">repeat</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="8679283353-11">}</span><span·class="p"·data-group-id="8679283353-10">]</span><span·class="p"·data-group-id="8679283353-9">}</span><span·class="p"·data-group-id="8679283353-8">]</span><span·class="p"·data-group-id="8679283353-7">}</span><span·class="p"·data-group-id="8679283353-2">]</span><span·class="p">.</span></code></pre><p>This·is·equivalent·to·the·following·specification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">all</span><span·class="p"·data-group-id="4259125051-1">(</span><span·class="p"·data-group-id="4259125051-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
 361 ···</span><span·class="p"·data-group-id="4259125051-2">[</span><span·class="p"·data-group-id="4259125051-3">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4259125051-4">[</span><span·class="p"·data-group-id="4259125051-5">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4259125051-6">[</span><span·class="ss">parallel</span><span·class="p"·data-group-id="4259125051-6">]</span><span·class="p"·data-group-id="4259125051-5">}</span><span·class="p">,</span><span·class="w">
362 ······························</span><span·class="p"·data-group-id="6125761747-7">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p"·data-group-id="6125761747-7">}</span><span·class="p"·data-group-id="6125761747-4">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·4af349e3cd6f89ea8f38c4904ac3991480edbf7992bf64d9eff3ce4a8fd85213·...·]-3">}</span><span·class="p">,</span><span·class="w">362 ······························</span><span·class="p"·data-group-id="4259125051-7">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p"·data-group-id="4259125051-7">}</span><span·class="p"·data-group-id="4259125051-4">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·7081752da9451d2178ca2246a05b07f7f4d937d580557704e70ebb4cbfeabd10·...·]-3">}</span><span·class="p">,</span><span·class="w">
363 ····</span><span·class="p"·data-group-id="6125761747-8">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·577,·SHA:·96ec975eaad9ecf3d04260ff75ae5870707269e36a09c2b2e8b03303ab39fe2f·...·]-10">}</span><span·class="p">,</span><span·class="w">363 ····</span><span·class="p"·data-group-id="4259125051-8">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·577,·SHA:·79e38d9858b28bd91d1a932ef2b3657b8794002c562ebe4c70d7607591e5e552·...·]-10">}</span><span·class="p">,</span><span·class="w">
364 ······························</span><span·class="p"·data-group-id="6125761747-13">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p"·data-group-id="6125761747-13">}</span><span·class="p"·data-group-id="6125761747-9">]</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·77,·SHA:·45c69c295683471576a156852fa6e3dde568a08ec7525ab72b8a0f68f5f4763a·...·]-2">]</span><span·class="p">.</span></code></pre><p>Value·<code·class="inline">default</code>·states·that·the·predefined·properties·are·to·be·used.</p><p>The·following·example·shows·how·to·override·properties·in·a·scenario·with·deeply364 ······························</span><span·class="p"·data-group-id="4259125051-13">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p"·data-group-id="4259125051-13">}</span><span·class="p"·data-group-id="4259125051-9">]</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·77,·SHA:·e2987a43e738976c434068dc9798f9fe5349a42c34b6e682dac50e25a991722d·...·]-2">]</span><span·class="p">.</span></code></pre><p>Value·<code·class="inline">default</code>·states·that·the·predefined·properties·are·to·be·used.</p><p>The·following·example·shows·how·to·override·properties·in·a·scenario·with·deeply
365 nested·groups:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">groups</span><span·class="p"·data-group-id="1295635017-1">(</span><span·class="p"·data-group-id="1295635017-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">365 nested·groups:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">groups</span><span·class="p"·data-group-id="3461713082-1">(</span><span·class="p"·data-group-id="3461713082-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
366 ···</span><span·class="p"·data-group-id="1295635017-2">[</span><span·class="p"·data-group-id="1295635017-3">{</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1295635017-4">[</span><span·class="p"·data-group-id="1295635017-4">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1295635017-5">[</span><span·class="p"·data-group-id="1295635017-6">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests2</span><span·class="p"·data-group-id="1295635017-6">}</span><span·class="p"·data-group-id="1295635017-5">]</span><span·class="p"·data-group-id="1295635017-3">}</span><span·class="p">,</span><span·class="w"> 
367 ····</span><span·class="p"·data-group-id="1295635017-7">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1295635017-8">[</span><span·class="p"·data-group-id="1295635017-8">]</span><span·class[·...·truncated·by·diffoscope;·len:·401,·SHA:·8500cd15681c2dde64fc586a6bf9959624099912490b17595aa45c2ee1c75552·...·]">}</span><span·class="p">,</span><span·class="w">366 ···</span><span·class="p"·data-group-id="3461713082-2">[</span><span·class="p"·data-group-id="3461713082-3">{</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3461713082-4">[</span><span·class=[·...·truncated·by·diffoscope;·len:·451,·SHA:·b58f6cab76f37d0ea3604775bad9e5661cb759a2aac562ee03ef903fcf9f0198·...·]">}</span><span·class="p">,</span><span·class="w">
 367 ····</span><span·class="p"·data-group-id="3461713082-7">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3461713082-8">[</span><span·class="p"·data-group-id="3461713082-8">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3461713082-9">[</span><span·class="p"·data-group-id="3461713082-10">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests3</span><span·class="p"·data-group-id="3461713082-10">}</span><span·class="p"·data-group-id="3461713082-9">]</span><span·class="p"·data-group-id="3461713082-7">}</span><span·class="p">,</span><span·class="w">
368 ····</span><span·class="p"·data-group-id="1295635017-11">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1295635017-12">[</span><span·class="p"·data-group-id="1295635017-13">{</span><span·class="ss">repeat</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·520,·SHA:·15d47fa693dd2bd33a0acdbcd9f3bb4963d330f12ce99c95678bb7a8c01c7bf3·...·]-2">]</span><span·class="p">.</span><span·class="w">368 ····</span><span·class="p"·data-group-id="3461713082-11">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3461713082-12">[</span><span·class="p"·data-group-id="3461713082-13">{</span><span·class="ss">repeat</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·520,·SHA:·6a53996d2953038d97ec8f036eda4ca7b607b21141bc12a7a5a7683a69775d79·...·]-2">]</span><span·class="p">.</span><span·class="w">
  
369 </span><span·class="nf">all</span><span·class="p"·data-group-id="1295635017-15">(</span><span·class="p"·data-group-id="1295635017-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">369 </span><span·class="nf">all</span><span·class="p"·data-group-id="3461713082-15">(</span><span·class="p"·data-group-id="3461713082-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
370 ···</span><span·class="p"·data-group-id="1295635017-16">[</span><span·class="p"·data-group-id="1295635017-17">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">370 ···</span><span·class="p"·data-group-id="3461713082-16">[</span><span·class="p"·data-group-id="3461713082-17">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">
371 ·····</span><span·class="p"·data-group-id="1295635017-18">[</span><span·class="p"·data-group-id="1295635017-19">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">371 ·····</span><span·class="p"·data-group-id="3461713082-18">[</span><span·class="p"·data-group-id="3461713082-19">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">
372 ·······</span><span·class="p"·data-group-id="1295635017-20">[</span><span·class="p"·data-group-id="1295635017-21">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1295635017-22">[</span><span·class="ss">parallel</span><span·class="p"[·...·truncated·by·diffoscope;·len:·563,·SHA:·299f0a3b7588ddb31d420cd82eb4f2f9e0e9a1ad87c3610a25fed0c607aaeef7·...·]-16">]</span><span·class="p">.</span></code></pre><p>For·ease·of·readability,·all·syntax·definitions·can·be·replaced·by·a·function372 ·······</span><span·class="p"·data-group-id="3461713082-20">[</span><span·class="p"·data-group-id="3461713082-21">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3461713082-22">[</span><span·class="ss">parallel</span><span·class="p"[·...·truncated·by·diffoscope;·len:·563,·SHA:·c0f8bd2d7af3904a118c9647777092bfd54c1651c14f8649e4afed1175b6baaa·...·]-16">]</span><span·class="p">.</span></code></pre><p>For·ease·of·readability,·all·syntax·definitions·can·be·replaced·by·a·function
373 call·whose·return·value·should·match·the·expected·syntax·case.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">all</span><span·class="p"·data-group-id="9241771912-1">(</span><span·class="p"·data-group-id="9241771912-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">373 call·whose·return·value·should·match·the·expected·syntax·case.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">all</span><span·class="p"·data-group-id="7698381423-1">(</span><span·class="p"·data-group-id="7698381423-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
374 ···</span><span·class="p"·data-group-id="9241771912-2">[</span><span·class="p"·data-group-id="9241771912-3">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</[·...·truncated·by·diffoscope;·len:·234,·SHA:·f648f5e5b180f32d258c1d54d47288c151e915cdbc16310edd53b0ae576d120c·...·]-3">}</span><span·class="p">,</span><span·class="w">374 ···</span><span·class="p"·data-group-id="7698381423-2">[</span><span·class="p"·data-group-id="7698381423-3">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</[·...·truncated·by·diffoscope;·len:·234,·SHA:·37489418396e8956024ca6323f6190504937a16817c18c4d00e231e5f4fb1bd1·...·]-3">}</span><span·class="p">,</span><span·class="w">
375 ····</span><span·class="p"·data-group-id="9241771912-5">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·183,·SHA:·2f033a454436fd45289e130307e18cd6c36e96603e8f7be155c0ebe618bdaf60·...·]-7">)</span><span·class="p">,</span><span·class="w">375 ····</span><span·class="p"·data-group-id="7698381423-5">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tests1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·183,·SHA:·c365fd95ff9e1f04bbdf204ec1e11c664e9b984b56dacb2a4ff63255c3a27664·...·]-7">)</span><span·class="p">,</span><span·class="w">
376 ······························</span><span·class="p"·data-group-id="9241771912-8">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p"·data-group-id="9241771912-8">}</span><span·class="p"·data-group-id="9241771912-6">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·75,·SHA:·c1bb40975a0974ba62f9773f3128812466a21a6a36759a8f1f5b3cc220a9bd11·...·]-2">]</span><span·class="p">.</span><span·class="w">376 ······························</span><span·class="p"·data-group-id="7698381423-8">{</span><span·class="ss">tests3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p"·data-group-id="7698381423-8">}</span><span·class="p"·data-group-id="7698381423-6">]</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·75,·SHA:·d907f989fc8eed17855996c035b2ec7afbb77e26089cdd18574b840b2f1e03ff·...·]-2">]</span><span·class="p">.</span><span·class="w">
377 </span><span·class="nf">test_cases</span><span·class="p"·data-group-id="9241771912-9">(</span><span·class="p"·data-group-id="9241771912-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">377 </span><span·class="nf">test_cases</span><span·class="p"·data-group-id="7698381423-9">(</span><span·class="p"·data-group-id="7698381423-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
378 ···</span><span·class="p"·data-group-id="9241771912-10">[</span><span·class="p"·data-group-id="9241771912-11">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9241771912-12">[</span><span·class="ss">parallel</span><span·class="p"[·...·truncated·by·diffoscope;·len:·399,·SHA:·944bb08337ad2f75a8396db970f54fd080e0df9b3e30e4f85e3242e2cf04432d·...·]-10">]</span><span·class="p">.</span><span·class="w">378 ···</span><span·class="p"·data-group-id="7698381423-10">[</span><span·class="p"·data-group-id="7698381423-11">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7698381423-12">[</span><span·class="ss">parallel</span><span·class="p"[·...·truncated·by·diffoscope;·len:·399,·SHA:·7b0db0f7c2cddffdf88748a79d451a493110f2ac38656e0beab3294c6d01c318·...·]-10">]</span><span·class="p">.</span><span·class="w">
  
379 </span><span·class="nf">shuffle_test</span><span·class="p"·data-group-id="9241771912-14">(</span><span·class="p"·data-group-id="9241771912-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">379 </span><span·class="nf">shuffle_test</span><span·class="p"·data-group-id="7698381423-14">(</span><span·class="p"·data-group-id="7698381423-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
380 ···</span><span·class="p"·data-group-id="9241771912-15">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9241771912-16">[</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="p"·data-group-id="9241771912-17">[·...·truncated·by·diffoscope;·len:·237,·SHA:·b03a954bb8d6a0261e5c9c5b864f573cee72815292fbca51c74ecbb004f40787·...·]-15">}</span><span·class="p">.</span></code></pre><p>The·described·syntax·can·also·be·used·in·test·specifications·to·change·group380 ···</span><span·class="p"·data-group-id="7698381423-15">{</span><span·class="ss">tests2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7698381423-16">[</span><span·class="ss">shuffle</span><span·class="p">,</span><span·class="p"·data-group-id="7698381423-17">[·...·truncated·by·diffoscope;·len:·237,·SHA:·639b2191911b9ca887997133bc7c026766a9d3ec0fc4f0e725c276ce279e13fb·...·]-15">}</span><span·class="p">.</span></code></pre><p>The·described·syntax·can·also·be·used·in·test·specifications·to·change·group
381 properties·at·the·time·of·execution,·without·having·to·edit·the·test·suite.·For381 properties·at·the·time·of·execution,·without·having·to·edit·the·test·suite.·For
382 more·information,·see·section382 more·information,·see·section
383 <a·href="run_test_chapter.html#test_specifications">Test·Specifications</a>·in·section383 <a·href="run_test_chapter.html#test_specifications">Test·Specifications</a>·in·section
384 Running·Tests·and·Analyzing·Results.</p><p>As·illustrated,·properties·can·be·combined.·If,·for·example,·<code·class="inline">shuffle</code>,384 Running·Tests·and·Analyzing·Results.</p><p>As·illustrated,·properties·can·be·combined.·If,·for·example,·<code·class="inline">shuffle</code>,
385 <code·class="inline">repeat_until_any_fail</code>,·and·<code·class="inline">sequence</code>·are·all·specified,·the·test·cases·in·the385 <code·class="inline">repeat_until_any_fail</code>,·and·<code·class="inline">sequence</code>·are·all·specified,·the·test·cases·in·the
386 group·are·executed·repeatedly,·and·in·random·order,·until·a·test·case·fails.386 group·are·executed·repeatedly,·and·in·random·order,·until·a·test·case·fails.
387 Then·execution·is·immediately·stopped·and·the·remaining·cases·are·skipped.</p><p>Before·execution·of·a·group·begins,·the·configuration·function387 Then·execution·is·immediately·stopped·and·the·remaining·cases·are·skipped.</p><p>Before·execution·of·a·group·begins,·the·configuration·function
Offset 401, 21 lines modifiedOffset 401, 21 lines modified
401 <a·href="ct_hooks_chapter.html#manipulating">Manipulating·Tests</a>·in·section·Common·Test401 <a·href="ct_hooks_chapter.html#manipulating">Manipulating·Tests</a>·in·section·Common·Test
Max diff block lines reached; 43008/112564 bytes (38.21%) of diff not shown.
791 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/api-reference.html
    
Offset 208, 15 lines modifiedOffset 208, 15 lines modified
208 ······<p·class="built-using">208 ······<p·class="built-using">
209 ········Built·using209 ········Built·using
210 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the210 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
211 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>211 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
212 ······</p>212 ······</p>
213 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>213 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
214 ····</footer>214 ····</footer>
215 ··</div>215 ··</div>
216 </main>216 </main>
217 </div>217 </div>
218 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>218 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
219 ··<script>219 ··<script>
220 ··let·initialized·=·false;220 ··let·initialized·=·false;
596 B
html2text {}
Max HTML report size reached
7.26 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/beam_ssa.html
    
Offset 184, 16 lines modifiedOffset 184, 16 lines modified
  
184 </span><span·class="nc">landing_pad_block</span><span·class="p">:</span><span·class="w">184 </span><span·class="nc">landing_pad_block</span><span·class="p">:</span><span·class="w">
185 ···</span><span·class="p">@</span><span·class="ss">aggregate</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">landingpad</span><span·class="w">·</span><span·class="k">catch</span><span·class="p">,</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">tag</span><span·class="w">185 ···</span><span·class="p">@</span><span·class="ss">aggregate</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">landingpad</span><span·class="w">·</span><span·class="k">catch</span><span·class="p">,</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">tag</span><span·class="w">
186 ···</span><span·class="p">@</span><span·class="ss">catched_val</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">extract</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">ssa_agg</span><span·class="p">,</span><span·class="w">·</span><span·class="err">`</span><span·class="mi">0</span><span·class="err">`</span><span·class="w">186 ···</span><span·class="p">@</span><span·class="ss">catched_val</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">extract</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">ssa_agg</span><span·class="p">,</span><span·class="w">·</span><span·class="err">`</span><span·class="mi">0</span><span·class="err">`</span><span·class="w">
187 ···</span><span·class="ss">br</span><span·class="w">·</span><span·class="err">^</span><span·class="ss">common_end_of_catch</span><span·class="w">187 ···</span><span·class="ss">br</span><span·class="w">·</span><span·class="err">^</span><span·class="ss">common_end_of_catch</span><span·class="w">
  
188 </span><span·class="nc">common_end_of_catch</span><span·class="p">:</span><span·class="w">188 </span><span·class="nc">common_end_of_catch</span><span·class="p">:</span><span·class="w">
189 ··</span><span·class="p">@</span><span·class="ss">tmp</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">phi</span><span·class="w">·</span><span·class="p"·data-group-id="2461405804-1">{</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">catched_val</span><span·class="p">,</span><span·class="w">·</span><span·class="err">^</span><span·class="ss">landing_pad_block</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·29,·SHA:·46b8e4f61deb5dd18300828a7b7485e9dbe201d3d4cd6e429d7a36a7d5234527·...·]-1">}</span><span·class="p">,</span><span·class="w">189 ··</span><span·class="p">@</span><span·class="ss">tmp</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">phi</span><span·class="w">·</span><span·class="p"·data-group-id="9210117261-1">{</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">catched_val</span><span·class="p">,</span><span·class="w">·</span><span·class="err">^</span><span·class="ss">landing_pad_block</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·29,·SHA:·9bf2dbd2f817218620f0a1c80cbde81667902a832dd5278f276b1fbf03dc59c3·...·]-1">}</span><span·class="p">,</span><span·class="w">
190 ·············</span><span·class="p"·data-group-id="2461405804-2">{</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">successful_result</span><span·class="p">,</span><span·class="w">·</span><span·class="err">^</span><span·class="ss">protected_blockN</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·2194a778b27910a0f743d7b0c9153a96856a2bb7122f2953162fac465027a7f3·...·]-2">}</span><span·class="w">190 ·············</span><span·class="p"·data-group-id="9210117261-2">{</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">successful_result</span><span·class="p">,</span><span·class="w">·</span><span·class="err">^</span><span·class="ss">protected_blockN</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·099e1b855f6380cea1c173373db5f511ea93e36ffb6d12c0ccd349bbe93b8084·...·]-2">}</span><span·class="w">
191 ··</span><span·class="p">@</span><span·class="ss">result_of_catch_expr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">catch_end</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">tag</span><span·class="p">,</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">tmp</span></code></pre><p>Just·as·for·a·<code·class="inline">try</code>-<code·class="inline">catch</code>·expression·all·code·that·can·cause·an191 ··</span><span·class="p">@</span><span·class="ss">result_of_catch_expr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">catch_end</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">tag</span><span·class="p">,</span><span·class="w">·</span><span·class="p">@</span><span·class="ss">tmp</span></code></pre><p>Just·as·for·a·<code·class="inline">try</code>-<code·class="inline">catch</code>·expression·all·code·that·can·cause·an
192 exception·in·one·of·the·protected·blocks·must·have·explicit·control192 exception·in·one·of·the·protected·blocks·must·have·explicit·control
193 flow·edges·to·the·landing·pad·block.</p><h2·id="exception-re-issuing"·class="section-heading">193 flow·edges·to·the·landing·pad·block.</p><h2·id="exception-re-issuing"·class="section-heading">
194 ··<a·href="#exception-re-issuing"·class="hover-link">194 ··<a·href="#exception-re-issuing"·class="hover-link">
195 ····<i·class="ri-link-m"·aria-hidden="true"></i>195 ····<i·class="ri-link-m"·aria-hidden="true"></i>
196 ··</a>196 ··</a>
197 ··<span·class="text">Exception·Re-issuing</span>197 ··<span·class="text">Exception·Re-issuing</span>
Offset 230, 15 lines modifiedOffset 230, 15 lines modified
230 proven·to·always·succeed·or·fail.</p></li></ul><h2·id="variable-naming"·class="section-heading">230 proven·to·always·succeed·or·fail.</p></li></ul><h2·id="variable-naming"·class="section-heading">
231 ··<a·href="#variable-naming"·class="hover-link">231 ··<a·href="#variable-naming"·class="hover-link">
232 ····<i·class="ri-link-m"·aria-hidden="true"></i>232 ····<i·class="ri-link-m"·aria-hidden="true"></i>
233 ··</a>233 ··</a>
234 ··<span·class="text">Variable·Naming</span>234 ··<span·class="text">Variable·Naming</span>
235 </h2>235 </h2>
236 <p>A·variable·name·in·BEAM·SSA·is·either·an·atom·or·a·non-negative236 <p>A·variable·name·in·BEAM·SSA·is·either·an·atom·or·a·non-negative
237 integer:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">atom</span><span·class="p"·data-group-id="4264373603-1">(</span><span·class="p"·data-group-id="4264373603-1">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">non_neg_integer</span><span·class="p"·data-group-id="4264373603-2">(</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·d8b14f5a49ad923761d15ef80e56dd4c65a009e6f4066dea919c245ab02ae7f1·...·]3-2">)</span></code></pre><p>In·order·to·generate·fresh·unused·variable·names,·all·compiler237 integer:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">atom</span><span·class="p"·data-group-id="6219883343-1">(</span><span·class="p"·data-group-id="6219883343-1">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">non_neg_integer</span><span·class="p"·data-group-id="6219883343-2">(</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·d845a07e79c00c6c2ba25320293560d602648ae06ef217e85dd0e3fcdaf1dd2a·...·]3-2">)</span></code></pre><p>In·order·to·generate·fresh·unused·variable·names,·all·compiler
238 transforms·maintain·a·counter,·the·<code·class="inline">cnt</code>-field·in·the·<code·class="inline">b_function</code>·and238 transforms·maintain·a·counter,·the·<code·class="inline">cnt</code>-field·in·the·<code·class="inline">b_function</code>·and
239 <code·class="inline">opt_st</code>·records,·which·is·incremented·each·time·a·new·variable·or239 <code·class="inline">opt_st</code>·records,·which·is·incremented·each·time·a·new·variable·or
240 label·is·created.·In·the·following·description·the·value·of·the240 label·is·created.·In·the·following·description·the·value·of·the
241 <code·class="inline">cnt</code>-field·is·called·<code·class="inline">Cnt</code>.·The·<code·class="inline">Cnt</code>·value·is·guaranteed·to·never241 <code·class="inline">cnt</code>-field·is·called·<code·class="inline">Cnt</code>.·The·<code·class="inline">Cnt</code>·value·is·guaranteed·to·never
242 clash·with·a·previously·defined·variable·name.·Therefore,·value·of242 clash·with·a·previously·defined·variable·name.·Therefore,·value·of
243 <code·class="inline">Cnt</code>·can·directly·be·used·as·a·variable·name·in·the·SSA·passes.</p><p>Note·that·the·rules·were·more·complicated·before·Erlang/OTP·27,·because243 <code·class="inline">Cnt</code>·can·directly·be·used·as·a·variable·name·in·the·SSA·passes.</p><p>Note·that·the·rules·were·more·complicated·before·Erlang/OTP·27,·because
244 the·<code·class="inline">Cnt</code>·value·could·clash·with·other·variables.</p>244 the·<code·class="inline">Cnt</code>·value·could·clash·with·other·variables.</p>
Offset 288, 15 lines modifiedOffset 288, 15 lines modified
288 ······<p·class="built-using">288 ······<p·class="built-using">
289 ········Built·using289 ········Built·using
290 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the290 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
291 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>291 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
292 ······</p>292 ······</p>
293 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>293 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
294 ····</footer>294 ····</footer>
295 ··</div>295 ··</div>
296 </main>296 </main>
297 </div>297 </div>
298 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>298 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
299 ··<script>299 ··<script>
300 ··let·initialized·=·false;300 ··let·initialized·=·false;
761 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl.html
    
Offset 10980, 15 lines modifiedOffset 10980, 15 lines modified
10980 ······<p·class="built-using">10980 ······<p·class="built-using">
10981 ········Built·using10981 ········Built·using
10982 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the10982 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
10983 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>10983 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
10984 ······</p>10984 ······</p>
10985 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>10985 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
10986 ····</footer>10986 ····</footer>
10987 ··</div>10987 ··</div>
10988 </main>10988 </main>
10989 </div>10989 </div>
10990 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>10990 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
10991 ··<script>10991 ··<script>
10992 ··let·initialized·=·false;10992 ··let·initialized·=·false;
721 B
html2text {}
Max HTML report size reached
1.6 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl_clauses.html
    
Offset 650, 15 lines modifiedOffset 650, 15 lines modified
650 ······<p·class="built-using">650 ······<p·class="built-using">
651 ········Built·using651 ········Built·using
652 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the652 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
653 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>653 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
654 ······</p>654 ······</p>
655 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>655 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
656 ····</footer>656 ····</footer>
657 ··</div>657 ··</div>
658 </main>658 </main>
659 </div>659 </div>
660 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>660 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
661 ··<script>661 ··<script>
662 ··let·initialized·=·false;662 ··let·initialized·=·false;
794 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/cerl_trees.html
    
Offset 703, 15 lines modifiedOffset 703, 15 lines modified
703 ······<p·class="built-using">703 ······<p·class="built-using">
704 ········Built·using704 ········Built·using
705 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the705 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
706 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>706 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
707 ······</p>707 ······</p>
708 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>708 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
709 ····</footer>709 ····</footer>
710 ··</div>710 ··</div>
711 </main>711 </main>
712 </div>712 </div>
713 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>713 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
714 ··<script>714 ··<script>
715 ··let·initialized·=·false;715 ··let·initialized·=·false;
728 B
html2text {}
Max HTML report size reached
16.6 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/compile.html
    
Offset 149, 15 lines modifiedOffset 149, 15 lines modified
149 ····<i·class="ri-link-m"·aria-hidden="true"></i>149 ····<i·class="ri-link-m"·aria-hidden="true"></i>
150 ··</a>150 ··</a>
151 ··<span·class="text">Order·of·Compiler·Options</span>151 ··<span·class="text">Order·of·Compiler·Options</span>
152 </h2>152 </h2>
153 <p>Options·given·in·the·<code·class="inline">compile()</code>·attribute·in·the·source·code·take153 <p>Options·given·in·the·<code·class="inline">compile()</code>·attribute·in·the·source·code·take
154 precedence·over·options·given·to·the·compiler,·which·in·turn·take154 precedence·over·options·given·to·the·compiler,·which·in·turn·take
155 precedence·over·options·given·in·the·environment.</p><p>A·later·compiler·option·takes·precedence·over·an·earlier·one·in·the155 precedence·over·options·given·in·the·environment.</p><p>A·later·compiler·option·takes·precedence·over·an·earlier·one·in·the
156 option·list.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">compile</span><span·class="p">:</span><span·class="nf">file</span><span·class="p"·data-group-id="0096053136-1">(</span><span·class="ss">something</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0096053136-2">[</span><span·class="ss">nowarn_missing_spec</span><span·class="p">,</span><span·class="ss">warn_missing_spe[·...·truncated·by·diffoscope;·len:·102,·SHA:·072c3a8fce2d6779b4a2af697062bed154cf8ab44297c245aa9430116ccc5d65·...·]-1">)</span><span·class="p">.</span></code></pre><p>Warnings·will·be·emitted·for·functions·without·specifications,·unless156 option·list.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">compile</span><span·class="p">:</span><span·class="nf">file</span><span·class="p"·data-group-id="4868101824-1">(</span><span·class="ss">something</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4868101824-2">[</span><span·class="ss">nowarn_missing_spec</span><span·class="p">,</span><span·class="ss">warn_missing_spe[·...·truncated·by·diffoscope;·len:·102,·SHA:·7da7ddc6d9fb3c75d5cc47de0ef26bdab95d83d9bbea3bf469aa3e3ac573ac63·...·]-1">)</span><span·class="p">.</span></code></pre><p>Warnings·will·be·emitted·for·functions·without·specifications,·unless
157 the·source·code·for·module·<code·class="inline">something</code>·contains·a·<code·class="inline">compile(nowarn_missing_spec)</code>157 the·source·code·for·module·<code·class="inline">something</code>·contains·a·<code·class="inline">compile(nowarn_missing_spec)</code>
158 attribute.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>In·Erlang/OTP·26·and·earlier,·the·option·order·was·the·opposite·of·what158 attribute.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>In·Erlang/OTP·26·and·earlier,·the·option·order·was·the·opposite·of·what
159 is·described·here.</p></section><h2·id="module-inlining"·class="section-heading">159 is·described·here.</p></section><h2·id="module-inlining"·class="section-heading">
160 ··<a·href="#module-inlining"·class="hover-link">160 ··<a·href="#module-inlining"·class="hover-link">
161 ····<i·class="ri-link-m"·aria-hidden="true"></i>161 ····<i·class="ri-link-m"·aria-hidden="true"></i>
162 ··</a>162 ··</a>
163 ··<span·class="text">Inlining</span>163 ··<span·class="text">Inlining</span>
Offset 173, 22 lines modifiedOffset 173, 22 lines modified
173 all·calls·to·the·function·are·inlined.</p><p>Inlining·does·not·necessarily·improve·running·time.·For·example,·inlining·can173 all·calls·to·the·function·are·inlined.</p><p>Inlining·does·not·necessarily·improve·running·time.·For·example,·inlining·can
174 increase·Beam·stack·use,·which·probably·is·detrimental·to·performance·for174 increase·Beam·stack·use,·which·probably·is·detrimental·to·performance·for
175 recursive·functions.</p><p>Inlining·is·never·default.·It·must·be·explicitly·enabled·with·a·compiler·option175 recursive·functions.</p><p>Inlining·is·never·default.·It·must·be·explicitly·enabled·with·a·compiler·option
176 or·a·<code·class="inline">-compile()</code>·attribute·in·the·source·module.</p><p>To·enable·inlining,·either·use·the·option·<code·class="inline">inline</code>·to·let·the·compiler·decide176 or·a·<code·class="inline">-compile()</code>·attribute·in·the·source·module.</p><p>To·enable·inlining,·either·use·the·option·<code·class="inline">inline</code>·to·let·the·compiler·decide
177 which·functions·to·inline,·or·<code·class="inline">{inline,[{Name,Arity},...]}</code>·to·have·the·compiler177 which·functions·to·inline,·or·<code·class="inline">{inline,[{Name,Arity},...]}</code>·to·have·the·compiler
178 inline·all·calls·to·the·given·functions.·If·the·option·is·given·inside·a178 inline·all·calls·to·the·given·functions.·If·the·option·is·given·inside·a
179 <code·class="inline">compile</code>·directive·in·an·Erlang·module,·<code·class="inline">{Name,Arity}</code>·can·be·written·as179 <code·class="inline">compile</code>·directive·in·an·Erlang·module,·<code·class="inline">{Name,Arity}</code>·can·be·written·as
180 <code·class="inline">Name/Arity</code>.</p><p>Example·of·explicit·inlining:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="5262359685-1">(</span><span·class="p"·data-group-id="5262359685-2">{</span><span·class="ss">inline</span><span·class="p">,</span><span·class="p"·data-group-id="5262359685-3">[</span><span·class="ss">pi</span><span·class="p">/</span><span·class="mi">0</span[·...·truncated·by·diffoscope;·len:·148,·SHA:·98e59cbd82ab0932977e16c9e8889d75b65d1c4f2a5602c01561cee054e81579·...·]-1">)</span><span·class="p">.</span><span·class="w">180 <code·class="inline">Name/Arity</code>.</p><p>Example·of·explicit·inlining:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="7609831780-1">(</span><span·class="p"·data-group-id="7609831780-2">{</span><span·class="ss">inline</span><span·class="p">,</span><span·class="p"·data-group-id="7609831780-3">[</span><span·class="ss">pi</span><span·class="p">/</span><span·class="mi">0</span[·...·truncated·by·diffoscope;·len:·148,·SHA:·f5146b01460a564f7b5086963549197388c5568cfa7b9aed3c5710dbfc682e8a·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
181 </span><span·class="nf">pi</span><span·class="p"·data-group-id="5262359685-4">(</span><span·class="p"·data-group-id="5262359685-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mf">3.1416</span><span·class="p">.</span></code></pre><p>Example·of·implicit·inlining:</p><pre><code·class="text">-compile(inline).</code></pre><p>The·option·<code·class="inline">{inline_size,Size}</code>·controls·how·large·functions·that·are·allowed·to181 </span><span·class="nf">pi</span><span·class="p"·data-group-id="7609831780-4">(</span><span·class="p"·data-group-id="7609831780-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mf">3.1416</span><span·class="p">.</span></code></pre><p>Example·of·implicit·inlining:</p><pre><code·class="text">-compile(inline).</code></pre><p>The·option·<code·class="inline">{inline_size,Size}</code>·controls·how·large·functions·that·are·allowed·to
182 be·inlined.·Default·is·<code·class="inline">24</code>,·which·keeps·the·size·of·the·inlined·code·roughly182 be·inlined.·Default·is·<code·class="inline">24</code>,·which·keeps·the·size·of·the·inlined·code·roughly
183 the·same·as·the·un-inlined·version·(only·relatively·small·functions·are183 the·same·as·the·un-inlined·version·(only·relatively·small·functions·are
184 inlined).</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Aggressive·inlining·-·will·increase·code·size.</span><span·class="w">184 inlined).</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Aggressive·inlining·-·will·increase·code·size.</span><span·class="w">
185 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="5778059953-1">(</span><span·class="ss">inline</span><span·class="p"·data-group-id="5778059953-1">)</span><span·class="p">.</span><span·class="w">185 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="0329692170-1">(</span><span·class="ss">inline</span><span·class="p"·data-group-id="0329692170-1">)</span><span·class="p">.</span><span·class="w">
186 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="5778059953-2">(</span><span·class="p"·data-group-id="5778059953-3">{</span><span·class="ss">inline_size</span><span·class="p">,</span><span·class="mi">100</span><span·class="p"·data-group-id="5778059953-3">}</span><span·class="p"·data-group-id="5778059953-2">)</span><span·class="p">.</span></code></pre><h2·id="module-inlining-of-list-functions"·class="section-heading">186 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="0329692170-2">(</span><span·class="p"·data-group-id="0329692170-3">{</span><span·class="ss">inline_size</span><span·class="p">,</span><span·class="mi">100</span><span·class="p"·data-group-id="0329692170-3">}</span><span·class="p"·data-group-id="0329692170-2">)</span><span·class="p">.</span></code></pre><h2·id="module-inlining-of-list-functions"·class="section-heading">
187 ··<a·href="#module-inlining-of-list-functions"·class="hover-link">187 ··<a·href="#module-inlining-of-list-functions"·class="hover-link">
188 ····<i·class="ri-link-m"·aria-hidden="true"></i>188 ····<i·class="ri-link-m"·aria-hidden="true"></i>
189 ··</a>189 ··</a>
190 ··<span·class="text">Inlining·of·List·Functions</span>190 ··<span·class="text">Inlining·of·List·Functions</span>
191 </h2>191 </h2>
192 <p>The·compiler·can·also·inline·various·list·manipulation·functions·from·the·module192 <p>The·compiler·can·also·inline·various·list·manipulation·functions·from·the·module
193 <code·class="inline">list</code>·in·STDLIB.</p><p>This·feature·must·be·explicitly·enabled·with·a·compiler·option·or·a·<code·class="inline">-compile()</code>193 <code·class="inline">list</code>·in·STDLIB.</p><p>This·feature·must·be·explicitly·enabled·with·a·compiler·option·or·a·<code·class="inline">-compile()</code>
Offset 900, 18 lines modifiedOffset 900, 18 lines modified
900 features.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·option·has·no·effect·when·used·in·a·<code·class="inline">-compile(..)</code>·attribute.·Instead,900 features.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·option·has·no·effect·when·used·in·a·<code·class="inline">-compile(..)</code>·attribute.·Instead,
901 the·<code·class="inline">-feature(..)</code>·directive·(described·next)·should·be·used.</p><p><a·href=""·id="feature-directive"></a>·A·feature·can·also·be·enabled·(disabled)·using901 the·<code·class="inline">-feature(..)</code>·directive·(described·next)·should·be·used.</p><p><a·href=""·id="feature-directive"></a>·A·feature·can·also·be·enabled·(disabled)·using
902 the·<code·class="inline">-feature(Feature,·enable·|·disable).</code>·module·directive.·Note·that·this902 the·<code·class="inline">-feature(Feature,·enable·|·disable).</code>·module·directive.·Note·that·this
903 directive·can·only·be·present·in·a·prefix·of·the·file,·before·exports·and903 directive·can·only·be·present·in·a·prefix·of·the·file,·before·exports·and
904 function·definitions.·This·is·the·preferred·method·of·enabling·and·disabling904 function·definitions.·This·is·the·preferred·method·of·enabling·and·disabling
905 features,·since·it·is·a·local·property·of·a·module.</p></section></li><li><p><strong><code·class="inline">makedep</code></strong>·-·Produces·a·Makefile·rule·to·track·headers·dependencies.·No905 features,·since·it·is·a·local·property·of·a·module.</p></section></li><li><p><strong><code·class="inline">makedep</code></strong>·-·Produces·a·Makefile·rule·to·track·headers·dependencies.·No
906 object·file·is·produced.</p><p>By·default,·this·rule·is·written·to·<code·class="inline">&lt;File&gt;.Pbeam</code>.·However,·if·option906 object·file·is·produced.</p><p>By·default,·this·rule·is·written·to·<code·class="inline">&lt;File&gt;.Pbeam</code>.·However,·if·option
907 <code·class="inline">binary</code>·is·set,·nothing·is·written·and·the·rule·is·returned·in·<code·class="inline">Binary</code>.</p><p>The·output·will·be·encoded·in·UTF-8.</p><p>For·example,·if·you·have·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3022829993-1">(</span><span·class="ss">module</span><span·class="p"·data-group-id="3022829993-1">)</span><span·class="p">.</span><span·class="w">907 <code·class="inline">binary</code>·is·set,·nothing·is·written·and·the·rule·is·returned·in·<code·class="inline">Binary</code>.</p><p>The·output·will·be·encoded·in·UTF-8.</p><p>For·example,·if·you·have·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2222410330-1">(</span><span·class="ss">module</span><span·class="p"·data-group-id="2222410330-1">)</span><span·class="p">.</span><span·class="w">
908 </span><span·class="w">908 </span><span·class="w">
909 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="3022829993-2">(</span><span·class="s">&quot;eunit/include/eunit.hrl&quot;</span><span·class="p"·data-group-id="3022829993-2">)</span><span·class="p">.</span><span·class="w">909 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="2222410330-2">(</span><span·class="s">&quot;eunit/include/eunit.hrl&quot;</span><span·class="p"·data-group-id="2222410330-2">)</span><span·class="p">.</span><span·class="w">
910 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="3022829993-3">(</span><span·class="s">&quot;header.hrl&quot;</span><span·class="p"·data-group-id="3022829993-3">)</span><span·class="p">.</span></code></pre><p>The·Makefile·rule·generated·by·this·option·looks·as·follows:</p><pre><code·class="text">module.beam:·module.erl·\910 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="2222410330-3">(</span><span·class="s">&quot;header.hrl&quot;</span><span·class="p"·data-group-id="2222410330-3">)</span><span·class="p">.</span></code></pre><p>The·Makefile·rule·generated·by·this·option·looks·as·follows:</p><pre><code·class="text">module.beam:·module.erl·\
911 ··/usr/local/lib/erlang/lib/eunit/include/eunit.hrl·\911 ··/usr/local/lib/erlang/lib/eunit/include/eunit.hrl·\
912 ··header.hrl</code></pre></li><li><p><strong><code·class="inline">makedep_side_effect</code></strong>·-·The·dependencies·are·created·as·a·side·effect·to912 ··header.hrl</code></pre></li><li><p><strong><code·class="inline">makedep_side_effect</code></strong>·-·The·dependencies·are·created·as·a·side·effect·to
913 the·normal·compilation·process.·This·means·that·the·object·file·will·also·be913 the·normal·compilation·process.·This·means·that·the·object·file·will·also·be
914 produced.·This·option·override·the·<code·class="inline">makedep</code>·option.</p></li><li><p><strong><code·class="inline">{makedep_output,·Output}</code></strong>·-·Writes·generated·rules·to·<code·class="inline">Output</code>·instead·of914 produced.·This·option·override·the·<code·class="inline">makedep</code>·option.</p></li><li><p><strong><code·class="inline">{makedep_output,·Output}</code></strong>·-·Writes·generated·rules·to·<code·class="inline">Output</code>·instead·of
915 the·default·<code·class="inline">&lt;File&gt;.Pbeam</code>.·<code·class="inline">Output</code>·can·be·a·filename·or·an·<code·class="inline">io_device()</code>.·To915 the·default·<code·class="inline">&lt;File&gt;.Pbeam</code>.·<code·class="inline">Output</code>·can·be·a·filename·or·an·<code·class="inline">io_device()</code>.·To
916 write·to·stdout,·use·<code·class="inline">standard_io</code>.·However,·if·<code·class="inline">binary</code>·is·set,·nothing·is916 write·to·stdout,·use·<code·class="inline">standard_io</code>.·However,·if·<code·class="inline">binary</code>·is·set,·nothing·is
917 written·to·<code·class="inline">Output</code>·and·the·result·is·returned·to·the·caller·with917 written·to·<code·class="inline">Output</code>·and·the·result·is·returned·to·the·caller·with
Offset 969, 15 lines modifiedOffset 969, 15 lines modified
969 that·verification·(there·will·not·even·be·a·warning·if·there·is·a969 that·verification·(there·will·not·even·be·a·warning·if·there·is·a
970 mismatch).</p></li><li><p><strong><code·class="inline">{no_auto_import,[{F,A},·...]}</code></strong>·-·Makes·the·function·<code·class="inline">F/A</code>·no·longer·being970 mismatch).</p></li><li><p><strong><code·class="inline">{no_auto_import,[{F,A},·...]}</code></strong>·-·Makes·the·function·<code·class="inline">F/A</code>·no·longer·being
971 auto-imported·from·the·<code·class="inline">erlang</code>·module,·which·resolves·BIF·name·clashes.·This971 auto-imported·from·the·<code·class="inline">erlang</code>·module,·which·resolves·BIF·name·clashes.·This
972 option·must·be·used·to·resolve·name·clashes·with·auto-imported·BIFs·that·existed972 option·must·be·used·to·resolve·name·clashes·with·auto-imported·BIFs·that·existed
973 before·Erlang/OTP·R14A··when·calling·a·local·function·with·the·same·name973 before·Erlang/OTP·R14A··when·calling·a·local·function·with·the·same·name
974 as·an·auto-imported·BIF·without·module·prefix.</p><p>If·the·BIF·is·to·be·called,·use·the·<code·class="inline">erlang</code>·module·prefix974 as·an·auto-imported·BIF·without·module·prefix.</p><p>If·the·BIF·is·to·be·called,·use·the·<code·class="inline">erlang</code>·module·prefix
975 in·the·call,·not·<code·class="inline">{no_auto_import,[{F,A},·...]}</code>.</p><p>If·this·option·is·written·in·the·source·code,·as·a·<code·class="inline">-compile</code>·directive,·the975 in·the·call,·not·<code·class="inline">{no_auto_import,[{F,A},·...]}</code>.</p><p>If·this·option·is·written·in·the·source·code,·as·a·<code·class="inline">-compile</code>·directive,·the
976 syntax·<code·class="inline">F/A</code>·can·be·used·instead·of·<code·class="inline">{F,A}</code>.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="9549212197-1">(</span><span·class="p"·data-group-id="9549212197-2">{</span><span·class="ss">no_auto_import</span><span·class="p">,</span><span·class="p"·data-group-id="9549212197-3">[</span><span·class="ss">error</span><span·class="p">/</span><span·class="[·...·truncated·by·diffoscope;·len:·159,·SHA:·6f633d049bc59c502645f69c3ecaa71ab9b6d4dcf323120b92f6140f56044e1b·...·]-1">)</span><span·class="p">.</span></code></pre></li><li><p><strong><code·class="inline">no_auto_import</code></strong>·-·Do·not·auto-import·any·functions·from·<code·class="inline">erlang</code>·module.</p></li><li><p><strong><code·class="inline">no_line_info</code></strong>·-·Omits·line·number·information·to·produce·a·slightly976 syntax·<code·class="inline">F/A</code>·can·be·used·instead·of·<code·class="inline">{F,A}</code>.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="1589641219-1">(</span><span·class="p"·data-group-id="1589641219-2">{</span><span·class="ss">no_auto_import</span><span·class="p">,</span><span·class="p"·data-group-id="1589641219-3">[</span><span·class="ss">error</span><span·class="p">/</span><span·class="[·...·truncated·by·diffoscope;·len:·159,·SHA:·d4ed3705dfa8ca7d4a29c26fa02751590f43b6a18200b828d37ad2459f3a476e·...·]-1">)</span><span·class="p">.</span></code></pre></li><li><p><strong><code·class="inline">no_auto_import</code></strong>·-·Do·not·auto-import·any·functions·from·<code·class="inline">erlang</code>·module.</p></li><li><p><strong><code·class="inline">no_line_info</code></strong>·-·Omits·line·number·information·to·produce·a·slightly
977 smaller·output·file.</p></li><li><p><strong><code·class="inline">no_lint</code></strong>·-·Skips·the·pass·that·checks·for·errors·and·warnings.·Only977 smaller·output·file.</p></li><li><p><strong><code·class="inline">no_lint</code></strong>·-·Skips·the·pass·that·checks·for·errors·and·warnings.·Only
978 applicable·together·with·the·<code·class="inline">from_abstr</code>·option.·This·is·mainly·for978 applicable·together·with·the·<code·class="inline">from_abstr</code>·option.·This·is·mainly·for
979 implementations·of·other·languages·on·top·of·Erlang,·which·have·already·done979 implementations·of·other·languages·on·top·of·Erlang,·which·have·already·done
980 their·own·checks·to·guarantee·correctness·of·the·code.</p><p>Caveat:·When·this·option·is·used,·there·are·no·guarantees·that·the·code·output980 their·own·checks·to·guarantee·correctness·of·the·code.</p><p>Caveat:·When·this·option·is·used,·there·are·no·guarantees·that·the·code·output
981 by·the·compiler·is·correct·and·safe·to·use.·The·responsibility·for·correctness981 by·the·compiler·is·correct·and·safe·to·use.·The·responsibility·for·correctness
982 lies·on·the·code·or·person·generating·the·abstract·format.·If·the·code982 lies·on·the·code·or·person·generating·the·abstract·format.·If·the·code
983 contains·errors,·the·compiler·may·crash·or·produce·unsafe·code.</p></li><li><p><strong><code·class="inline">{extra_chunks,·[{binary(),·binary()}]}</code></strong>·-·Pass·extra·chunks·to·be·stored983 contains·errors,·the·compiler·may·crash·or·produce·unsafe·code.</p></li><li><p><strong><code·class="inline">{extra_chunks,·[{binary(),·binary()}]}</code></strong>·-·Pass·extra·chunks·to·be·stored
Offset 1345, 15 lines modifiedOffset 1345, 15 lines modified
1345 ······<p·class="built-using">1345 ······<p·class="built-using">
1346 ········Built·using1346 ········Built·using
1347 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1347 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1348 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1348 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1349 ······</p>1349 ······</p>
1350 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1350 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1351 ····</footer>1351 ····</footer>
1352 ··</div>1352 ··</div>
1353 </main>1353 </main>
1354 </div>1354 </div>
1355 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1355 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1356 ··<script>1356 ··<script>
1357 ··let·initialized·=·false;1357 ··let·initialized·=·false;
703 B
html2text {}
Max HTML report size reached
226 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/compiler.epub
2.67 KB
zipinfo {}
Max HTML report size reached
85.1 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
15.8 KB
OEBPS/ssa_checks.xhtml
Max HTML report size reached
100 KB
OEBPS/notes.xhtml
Max HTML report size reached
1.22 KB
OEBPS/content.opf
1.18 KB
OEBPS/content.opf
Max HTML report size reached
15.2 KB
OEBPS/compile.xhtml
Max HTML report size reached
5.74 KB
OEBPS/beam_ssa.xhtml
Max HTML report size reached
102 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/notes.html
    
Offset 133, 58 lines modifiedOffset 133, 58 lines modified
133 </h2>133 </h2>
134 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">134 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">
135 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">135 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>138 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
139 </h3>139 </h3>
140 <ul><li><p>The·compiler·will·now·emit·warnings·when·some·map·patterns·cannot·possibly·match·because·a·previous·clauses·matches·the·same·pattern.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">mm_1</span><span·class="p"·data-group-id="7892136990-1">(</span><span·class="p"·data-group-id="7892136990-2">#{</span><span·class="p"·data-group-id="7892136990-2">}</span><span·class="p"·data-group-id="7892136990-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">a</span><span·class="p">;</span><span·class="w">140 <ul><li><p>The·compiler·will·now·emit·warnings·when·some·map·patterns·cannot·possibly·match·because·a·previous·clauses·matches·the·same·pattern.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">mm_1</span><span·class="p"·data-group-id="1992021340-1">(</span><span·class="p"·data-group-id="1992021340-2">#{</span><span·class="p"·data-group-id="1992021340-2">}</span><span·class="p"·data-group-id="1992021340-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">a</span><span·class="p">;</span><span·class="w">
141 </span><span·class="nf">mm_1</span><span·class="p"·data-group-id="7892136990-3">(</span><span·class="p"·data-group-id="7892136990-4">#{</span><span·class="ss">b</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">B</span><span·class="p"·data-group-id="7892136990-4">}</span><span[·...·truncated·by·diffoscope;·len:·290,·SHA:·97a792d726cdc58465b064d6256782686452e850ef4b24e8c0ad5093799c1d72·...·]0-5">}</span><span·class="p">.</span><span·class="w">141 </span><span·class="nf">mm_1</span><span·class="p"·data-group-id="1992021340-3">(</span><span·class="p"·data-group-id="1992021340-4">#{</span><span·class="ss">b</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">B</span><span·class="p"·data-group-id="1992021340-4">}</span><span[·...·truncated·by·diffoscope;·len:·290,·SHA:·3ff6cc069dbdc0f76827372a98fe3274d34c02751d144e8167d5f7a1465b16cb·...·]0-5">}</span><span·class="p">.</span><span·class="w">
  
142 </span><span·class="nf">mm_2</span><span·class="p"·data-group-id="7892136990-6">(</span><span·class="p"·data-group-id="7892136990-7">#{</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">A</span><span·class="p"·data-group-id="7892136990-7">}</span><span[·...·truncated·by·diffoscope;·len:·290,·SHA:·a570d7ac3f5eceedeebfb3e5b52c739863884f4bc384d8401eeb492228a6f213·...·]0-8">}</span><span·class="p">;</span><span·class="w">142 </span><span·class="nf">mm_2</span><span·class="p"·data-group-id="1992021340-6">(</span><span·class="p"·data-group-id="1992021340-7">#{</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">A</span><span·class="p"·data-group-id="1992021340-7">}</span><span[·...·truncated·by·diffoscope;·len:·290,·SHA:·9cfbbe95768963931df1bbd9e3b8d64d13e65acc552fe1cfb67b180eac995177·...·]0-8">}</span><span·class="p">;</span><span·class="w">
143 </span><span·class="nf">mm_2</span><span·class="p"·data-group-id="7892136990-9">(</span><span·class="p"·data-group-id="7892136990-10">#{</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·511,·SHA:·2cc00d26575852087cbfefba8388465d9a9555302c62119818fb2050f181ae57·...·]0-11">}</span><span·class="p">.</span></code></pre><p>The·second·clause·of·these·function·can·never·match·and·the·compiler·will·now·emit·a·warning·for·both·of·them.</p><p>Note·that·the·compiler·is·not·guaranteed·to·emit·warnings·for·every·possible·map·pattern·that·cannot·match.</p><p>Own·Id:·OTP-19141·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8558"·title="">GH-8558</a>,·<a·href="https://github.com/erlang/otp/pull/8600"·title="">PR-8600</a></p></li><li><p>The·size·of·an·atom·in·the·Erlang·source·code·was·limited·to·255·bytes·in·previous·releases,·meaning·that·an·atom·containing·only·emojis·could·contain·only·63·emojis.</p><p>While·atoms·are·still·only·allowed·to·contain·255·characters,·the·number·of·bytes·is·no·longer·limited.</p><p>External·tools·that·parse·the·<code·class="inline">AtU8</code>·chunk·of·a·BEAM·file·directly·need·to·be·updated.·Tools·that·use·<a·href="../../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[atoms])</code></a>·to·read·the·atom·table·will·continue·to·work.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19285·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8913"·title="">PR-8913</a></p></li><li><p>The·literals·chunk·in·BEAM·is·no·longer·compressed,·resulting·in·slightly·smaller·BEAM·files·when·a·BEAM·file·is·stripped·using·<a·href="../../../../lib/stdlib-7.0/doc/html/beam_lib.html#strip_files/1"><code·class="inline">beam_lib:strip_files/1</code></a>.</p><p>This·is·a·potential·incompatibility·for·tools·that·read·and·interpret·the·contents·of·the·literal·chunk.·One·way·to·update·such·tools·to·work·with·the·new·format·is·to·retrieve·the·chunk·using·<a·href="../../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[literals])</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19323·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8967"·title="">GH-8967</a>,·<a·href="https://github.com/erlang/otp/pull/8988"·title="">PR-8988</a></p></li><li><p>The·final·validation·step·in·the·compiler·will·now·reject·modules·containing·functions·with·more·than·255·arguments.·No·impact·is·expected·as·the·emulator·has·always·refused·to·load·these·modules.</p><p>Own·Id:·OTP-19376·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9113"·title="">GH-9113</a>,·<a·href="https://github.com/erlang/otp/pull/9121"·title="">PR-9121</a></p></li><li><p>Replaced·calls·to·deprecated·<code·class="inline">crypto:start()</code>·with·<code·class="inline">application:start(crypto)</code>.</p><p>Own·Id:·OTP-19485·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8592"·title="">PR-8592</a></p></li><li><p>Refactor·code·to·not·rely·on·<code·class="inline">+nowarn_shadow_vars</code>.</p><p>Own·Id:·OTP-19574·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9678"·title="">PR-9678</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">143 </span><span·class="nf">mm_2</span><span·class="p"·data-group-id="1992021340-9">(</span><span·class="p"·data-group-id="1992021340-10">#{</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·511,·SHA:·3fb7ed8c45de1ca717467b27a7a357bbcc33ba55adedce1d5f9e604d7d7544c4·...·]0-11">}</span><span·class="p">.</span></code></pre><p>The·second·clause·of·these·function·can·never·match·and·the·compiler·will·now·emit·a·warning·for·both·of·them.</p><p>Note·that·the·compiler·is·not·guaranteed·to·emit·warnings·for·every·possible·map·pattern·that·cannot·match.</p><p>Own·Id:·OTP-19141·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8558"·title="">GH-8558</a>,·<a·href="https://github.com/erlang/otp/pull/8600"·title="">PR-8600</a></p></li><li><p>The·size·of·an·atom·in·the·Erlang·source·code·was·limited·to·255·bytes·in·previous·releases,·meaning·that·an·atom·containing·only·emojis·could·contain·only·63·emojis.</p><p>While·atoms·are·still·only·allowed·to·contain·255·characters,·the·number·of·bytes·is·no·longer·limited.</p><p>External·tools·that·parse·the·<code·class="inline">AtU8</code>·chunk·of·a·BEAM·file·directly·need·to·be·updated.·Tools·that·use·<a·href="../../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[atoms])</code></a>·to·read·the·atom·table·will·continue·to·work.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19285·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8913"·title="">PR-8913</a></p></li><li><p>The·literals·chunk·in·BEAM·is·no·longer·compressed,·resulting·in·slightly·smaller·BEAM·files·when·a·BEAM·file·is·stripped·using·<a·href="../../../../lib/stdlib-7.0/doc/html/beam_lib.html#strip_files/1"><code·class="inline">beam_lib:strip_files/1</code></a>.</p><p>This·is·a·potential·incompatibility·for·tools·that·read·and·interpret·the·contents·of·the·literal·chunk.·One·way·to·update·such·tools·to·work·with·the·new·format·is·to·retrieve·the·chunk·using·<a·href="../../../../lib/stdlib-7.0/doc/html/beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[literals])</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19323·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8967"·title="">GH-8967</a>,·<a·href="https://github.com/erlang/otp/pull/8988"·title="">PR-8988</a></p></li><li><p>The·final·validation·step·in·the·compiler·will·now·reject·modules·containing·functions·with·more·than·255·arguments.·No·impact·is·expected·as·the·emulator·has·always·refused·to·load·these·modules.</p><p>Own·Id:·OTP-19376·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9113"·title="">GH-9113</a>,·<a·href="https://github.com/erlang/otp/pull/9121"·title="">PR-9121</a></p></li><li><p>Replaced·calls·to·deprecated·<code·class="inline">crypto:start()</code>·with·<code·class="inline">application:start(crypto)</code>.</p><p>Own·Id:·OTP-19485·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8592"·title="">PR-8592</a></p></li><li><p>Refactor·code·to·not·rely·on·<code·class="inline">+nowarn_shadow_vars</code>.</p><p>Own·Id:·OTP-19574·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9678"·title="">PR-9678</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
144 ··<a·href="#improvements-and-new-features"·class="hover-link">144 ··<a·href="#improvements-and-new-features"·class="hover-link">
145 ····<i·class="ri-link-m"·aria-hidden="true"></i>145 ····<i·class="ri-link-m"·aria-hidden="true"></i>
146 ··</a>146 ··</a>
147 ··<span·class="text">Improvements·and·New·Features</span>147 ··<span·class="text">Improvements·and·New·Features</span>
148 </h3>148 </h3>
149 <ul><li><p>The·EEP-48·doc·chunk·embedded·into·<code·class="inline">.beam</code>·files·by·the·compiler·is·now·<code·class="inline">compressed</code>·and·<code·class="inline">deterministic</code>.</p><p>Own·Id:·OTP-19096·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8494"·title="">PR-8494</a></p></li><li><p>Provided·that·the·map·argument·for·a·<a·href="../../../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·call·is·known·to·the·compiler·to·be·a·map,·the·compiler·will·replace·such·calls·with·the·corresponding·update·using·the·map·syntax.</p><p>Own·Id:·OTP-19115·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8540"·title="">PR-8540</a></p></li><li><p>For·various·error·types,·the·compiler·now·tries·to·suggest·potential·fixes·by·adding·&quot;did·you·mean·...?&quot;·at·the·end·of·error·messages.</p><p>When·a·function·is·used·with·wrong·arity,·the·compiler·will·try·to·suggest·a·defined·function·with·the·same·name·but·a·different·arity.·For·example,·given·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1078765639-1">(</span><span·class="ss">typos</span><span·class="p"·data-group-id="1078765639-1">)</span><span·class="p">.</span><span·class="w">149 <ul><li><p>The·EEP-48·doc·chunk·embedded·into·<code·class="inline">.beam</code>·files·by·the·compiler·is·now·<code·class="inline">compressed</code>·and·<code·class="inline">deterministic</code>.</p><p>Own·Id:·OTP-19096·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8494"·title="">PR-8494</a></p></li><li><p>Provided·that·the·map·argument·for·a·<a·href="../../../../lib/stdlib-7.0/doc/html/maps.html#put/3"><code·class="inline">maps:put/3</code></a>·call·is·known·to·the·compiler·to·be·a·map,·the·compiler·will·replace·such·calls·with·the·corresponding·update·using·the·map·syntax.</p><p>Own·Id:·OTP-19115·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8540"·title="">PR-8540</a></p></li><li><p>For·various·error·types,·the·compiler·now·tries·to·suggest·potential·fixes·by·adding·&quot;did·you·mean·...?&quot;·at·the·end·of·error·messages.</p><p>When·a·function·is·used·with·wrong·arity,·the·compiler·will·try·to·suggest·a·defined·function·with·the·same·name·but·a·different·arity.·For·example,·given·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9345913418-1">(</span><span·class="ss">typos</span><span·class="p"·data-group-id="9345913418-1">)</span><span·class="p">.</span><span·class="w">
150 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1078765639-2">(</span><span·class="p"·data-group-id="1078765639-3">[</span><span·class="ss">t</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1078765639-3">]</span><span·class="p"·data-group-id="1078765639-2">)</span><span·class="p">.</span><span·class="w">150 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9345913418-2">(</span><span·class="p"·data-group-id="9345913418-3">[</span><span·class="ss">t</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9345913418-3">]</span><span·class="p"·data-group-id="9345913418-2">)</span><span·class="p">.</span><span·class="w">
151 </span><span·class="nf">bar</span><span·class="p"·data-group-id="1078765639-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="1078765639-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">151 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9345913418-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="9345913418-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">
152 </span><span·class="nf">bar</span><span·class="p"·data-group-id="1078765639-5">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="1078765639-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">152 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9345913418-5">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="9345913418-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">
153 </span><span·class="nf">bar</span><span·class="p"·data-group-id="1078765639-6">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="1078765639-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">153 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9345913418-6">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="9345913418-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">
154 </span><span·class="nf">t</span><span·class="p"·data-group-id="1078765639-7">(</span><span·class="p"·data-group-id="1078765639-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">bar</span><span·class="p"·data-group-id="1078765639-8">(</span><span·class="mi">0</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·205832df7dd04e3363e495cd82c17fa29e9921f9520d287163da9c4b9fb59ba5·...·]-8">)</span><span·class="p">.</span></code></pre><p>The·compiler·will·emit·the·following·message:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typo</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">6</span><span·class="p">:</span><span·class="mi">12</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="o">?</span><span·class="w">154 </span><span·class="nf">t</span><span·class="p"·data-group-id="9345913418-7">(</span><span·class="p"·data-group-id="9345913418-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">bar</span><span·class="p"·data-group-id="9345913418-8">(</span><span·class="mi">0</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·bf047026737d0c23c58da85c76902d4e4365bc08814329ccbe351359f4899c02·...·]-8">)</span><span·class="p">.</span></code></pre><p>The·compiler·will·emit·the·following·message:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typo</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">6</span><span·class="p">:</span><span·class="mi">12</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="o">?</span><span·class="w">
155 </span><span·class="c1">%···6|·····t()·-&gt;·bar(0,·0).</span><span·class="w">155 </span><span·class="c1">%···6|·····t()·-&gt;·bar(0,·0).</span><span·class="w">
156 </span><span·class="c1">%····|············^</span></code></pre><p>For·compiler·errors·that·can·easily·be·caused·by·typos,·the·compiler·will·try·to·suggest·what·the·correct·variable·or·function·name,·could·be.·For·example,·given·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5512518296-1">(</span><span·class="ss">typos</span><span·class="p"·data-group-id="5512518296-1">)</span><span·class="p">.</span><span·class="w">156 </span><span·class="c1">%····|············^</span></code></pre><p>For·compiler·errors·that·can·easily·be·caused·by·typos,·the·compiler·will·try·to·suggest·what·the·correct·variable·or·function·name,·could·be.·For·example,·given·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2539156506-1">(</span><span·class="ss">typos</span><span·class="p"·data-group-id="2539156506-1">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5512518296-2">(</span><span·class="p"·data-group-id="5512518296-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="5512518296-3">]</span><span·class="p"·data-group-id="5512518296-2">)</span><span·class="p">.</span><span·class="w">157 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2539156506-2">(</span><span·class="p"·data-group-id="2539156506-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="2539156506-3">]</span><span·class="p"·data-group-id="2539156506-2">)</span><span·class="p">.</span><span·class="w">
  
158 </span><span·class="nf">bar</span><span·class="p"·data-group-id="5512518296-4">(</span><span·class="n">A0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B0</span><span·class="p"·data-group-id="5512518296-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">158 </span><span·class="nf">bar</span><span·class="p"·data-group-id="2539156506-4">(</span><span·class="n">A0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B0</span><span·class="p"·data-group-id="2539156506-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
159 ····</span><span·class="n">A</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">B</span><span·class="p">.</span></code></pre><p>the·compiler·will·emit·the·following·error·messages:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;A&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;A0&#39;</span><span·class="o">?</span><span·class="w">159 ····</span><span·class="n">A</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">B</span><span·class="p">.</span></code></pre><p>the·compiler·will·emit·the·following·error·messages:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;A&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;A0&#39;</span><span·class="o">?</span><span·class="w">
160 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">160 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">
161 </span><span·class="c1">%·····|·····^</span><span·class="w">161 </span><span·class="c1">%·····|·····^</span><span·class="w">
  
162 </span><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">9</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;B&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;B0&#39;</span><span·class="o">?</span><span·class="w">162 </span><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">9</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;B&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;B0&#39;</span><span·class="o">?</span><span·class="w">
163 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">163 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">
164 </span><span·class="c1">%·····|·········^</span></code></pre><p>Error·types·that·now·suggest·correct·arities:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">bad_nowarn_bif_clash</code>,·<code·class="inline">undefined_function</code>.</p><p>Error·types·that·now·suggest·correct·names:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">undefined_on_load</code>,·<code·class="inline">undefined_function</code>,·<code·class="inline">undefined_record</code>,·<code·class="inline">undefined_field</code>,·<code·class="inline">unbound_var</code>.</p><p>Using·a·function·with·wrong·arity·has·higher·precedence·than·having·a·typo·in·the·function·name.·If·the·compiler·can·find·a·defined·function·with·the·same·name·but·a·different·arity,·it·will·not·suggest·a·defined·function·with·a·close-enough·name,·regardless·of·arity.</p><p>Own·Id:·OTP-19180·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8699"·title="">PR-8699</a>,·<a·href="https://github.com/erlang/otp/pull/9094"·title="">PR-9094</a></p></li><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="1781970529-1">[</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="[·...·truncated·by·diffoscope;·len:·691,·SHA:·a9ed441dbd36e83c90d91fb4e43d0a5dd1c9e140e6819c9b841565d8b5f70367·...·]-1">]</span><span·class="p">.</span><span·class="w">164 </span><span·class="c1">%·····|·········^</span></code></pre><p>Error·types·that·now·suggest·correct·arities:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">bad_nowarn_bif_clash</code>,·<code·class="inline">undefined_function</code>.</p><p>Error·types·that·now·suggest·correct·names:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">undefined_on_load</code>,·<code·class="inline">undefined_function</code>,·<code·class="inline">undefined_record</code>,·<code·class="inline">undefined_field</code>,·<code·class="inline">unbound_var</code>.</p><p>Using·a·function·with·wrong·arity·has·higher·precedence·than·having·a·typo·in·the·function·name.·If·the·compiler·can·find·a·defined·function·with·the·same·name·but·a·different·arity,·it·will·not·suggest·a·defined·function·with·a·close-enough·name,·regardless·of·arity.</p><p>Own·Id:·OTP-19180·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8699"·title="">PR-8699</a>,·<a·href="https://github.com/erlang/otp/pull/9094"·title="">PR-9094</a></p></li><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="9896710286-1">[</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="[·...·truncated·by·diffoscope;·len:·691,·SHA:·39a68631b1baf77b1f65210911dee5d167e777529841d73ae1f8a71448fff869·...·]-1">]</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="1781970529-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="1781970529-4">]</span></code></pre><p>Own·Id:·OTP-19184·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8926"·title="">PR-8926</a></p></li><li><p>Documentation·chunks·(EEP-48)·has·been·updated·to·include·the·following·reserved·metadata·fields:·<code·class="inline">behaviours</code>,·<code·class="inline">group</code>,·<code·class="inline">source_path</code>,·and·<code·class="inline">source_annos</code>.·The·compiler·has·also·been·updated·to·emit·this·metadata.·See·the·<a·href="../../../../lib/kernel-10.3/doc/html/eep48_chapter.html">EEP-48·documentation</a>·for·more·details.</p><p>Own·Id:·OTP-19306·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8945"·title="">PR-8945</a>,·<a·href="https://github.com/erlang/otp/pull/8975"·title="">PR-8975</a></p></li><li><p>New·strict·generators·have·been·added·for·comprehensions.</p><p>The·currently·existing·generators·are·&quot;relaxed&quot;:·they·ignore·terms·in·the165 </span><span·class="p"·data-group-id="9896710286-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="9896710286-4">]</span></code></pre><p>Own·Id:·OTP-19184·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8926"·title="">PR-8926</a></p></li><li><p>Documentation·chunks·(EEP-48)·has·been·updated·to·include·the·following·reserved·metadata·fields:·<code·class="inline">behaviours</code>,·<code·class="inline">group</code>,·<code·class="inline">source_path</code>,·and·<code·class="inline">source_annos</code>.·The·compiler·has·also·been·updated·to·emit·this·metadata.·See·the·<a·href="../../../../lib/kernel-10.3/doc/html/eep48_chapter.html">EEP-48·documentation</a>·for·more·details.</p><p>Own·Id:·OTP-19306·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8945"·title="">PR-8945</a>,·<a·href="https://github.com/erlang/otp/pull/8975"·title="">PR-8975</a></p></li><li><p>New·strict·generators·have·been·added·for·comprehensions.</p><p>The·currently·existing·generators·are·&quot;relaxed&quot;:·they·ignore·terms·in·the
166 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching166 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching
167 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="5410859195-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="5410859195-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class="[·...·truncated·by·diffoscope;·len:·750,·SHA:·8592225f08b11c21a3b425893bc99e09e20d8b572424ecc4fbc88ede81d15251·...·]-1">]</span><span·class="p">.</span><span·class="w">167 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="5329956147-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="5329956147-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class="[·...·truncated·by·diffoscope;·len:·750,·SHA:·ec07abb55d1fbdd40369d523941200fa1097ca8daa454918db4d6c9ff1cea2e1·...·]-1">]</span><span·class="p">.</span><span·class="w">
168 </span><span·class="p"·data-group-id="5410859195-6">[</span><span·class="p"·data-group-id="5410859195-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5410859195-7">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·195,·SHA:·b8e8212ff0992d3776e3701bb19ac9121a212c598f7b564ab222f9195cbc0656·...·]-6">]</span></code></pre><p>If·the·intention·is·that·all·lists·processed·by·a·list·comprehension·must·only168 </span><span·class="p"·data-group-id="5329956147-6">[</span><span·class="p"·data-group-id="5329956147-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5329956147-7">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·195,·SHA:·d8802a3afb333852ac13d6b80ccdc598599d748d4966a20fb2f396d3aa930eb2·...·]-6">]</span></code></pre><p>If·the·intention·is·that·all·lists·processed·by·a·list·comprehension·must·only
169 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures169 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures
170 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="6163829707-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="6163829707-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·2d98eb6767611bbac4953b4a54a91f2942980c4c37588d144651f02a2b45c201·...·]-1">]</span><span·class="p">.</span><span·class="w">170 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="2136601694-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="2136601694-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·421f8318c80aceaf03ffddab389b110a9dae01e336bbb34be163e7ee64108e81·...·]-1">]</span><span·class="p">.</span><span·class="w">
171 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>New·options·for·suppressing·behaviour·warnings·have·been·added:</p><ul><li><code·class="inline">nowarn_conflicting_behaviours</code></li><li><code·class="inline">nowarn_undefined_behaviour_func</code></li><li><code·class="inline">nowarn_undefined_behaviour</code></li><li><code·class="inline">nowarn_undefined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_optional_callbacks</code></li></ul><p>Own·Id:·OTP-19334·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8985"·title="">GH-8985</a>,·<a·href="https://github.com/erlang/otp/pull/9020"·title="">PR-9020</a></p></li><li><p>Some·BIFs·with·side-effects·are·optimized·in·<code·class="inline">try</code>/<code·class="inline">catch</code>·in·the·same·way·as·guard·BIFs·in·order·to·gain·performance.</p><p>The·following·BIFs·that·are·optimized·in·this·way:·<a·href="../../../../erts-16.0/doc/html/erlang.html#binary_to_atom/1"><code·class="inline">binary_to_atom/1</code></a>,171 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>New·options·for·suppressing·behaviour·warnings·have·been·added:</p><ul><li><code·class="inline">nowarn_conflicting_behaviours</code></li><li><code·class="inline">nowarn_undefined_behaviour_func</code></li><li><code·class="inline">nowarn_undefined_behaviour</code></li><li><code·class="inline">nowarn_undefined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_optional_callbacks</code></li></ul><p>Own·Id:·OTP-19334·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8985"·title="">GH-8985</a>,·<a·href="https://github.com/erlang/otp/pull/9020"·title="">PR-9020</a></p></li><li><p>Some·BIFs·with·side-effects·are·optimized·in·<code·class="inline">try</code>/<code·class="inline">catch</code>·in·the·same·way·as·guard·BIFs·in·order·to·gain·performance.</p><p>The·following·BIFs·that·are·optimized·in·this·way:·<a·href="../../../../erts-16.0/doc/html/erlang.html#binary_to_atom/1"><code·class="inline">binary_to_atom/1</code></a>,
172 <a·href="../../../../erts-16.0/doc/html/erlang.html#binary_to_atom/2"><code·class="inline">binary_to_atom/2</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#binary_to_existing_atom/1"><code·class="inline">binary_to_existing_atom/1</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#list_to_atom/1"><code·class="inline">list_to_atom/1</code></a>,·and172 <a·href="../../../../erts-16.0/doc/html/erlang.html#binary_to_atom/2"><code·class="inline">binary_to_atom/2</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#binary_to_existing_atom/1"><code·class="inline">binary_to_existing_atom/1</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#list_to_atom/1"><code·class="inline">list_to_atom/1</code></a>,·and
173 <a·href="../../../../erts-16.0/doc/html/erlang.html#list_to_existing_atom/1"><code·class="inline">list_to_existing_atom/1</code></a>.</p><p>Own·Id:·OTP-19339·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9042"·title="">PR-9042</a>,·<a·href="https://github.com/erlang/otp/pull/9122"·title="">PR-9122</a></p></li><li><p>The·compiler·now·converts·known·documentation·attribute·metadata·entries·from·<a·href="../../../../lib/stdlib-7.0/doc/html/unicode.html#t:chardata/0"><code·class="inline">unicode:chardata/0</code></a>·to·<a·href="../../../../lib/stdlib-7.0/doc/html/unicode.html#t:unicode_binary/0"><code·class="inline">unicode:unicode_binary/0</code></a>.</p><p>Own·Id:·OTP-19394·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9192"·title="">PR-9192</a></p></li><li><p>The·<code·class="inline">warn_deprecated_catch</code>·option·enables·warnings·for·use·of·old-style·catch·expressions·on·the·form·<code·class="inline">catch·Expr</code>·instead·of·the·modern·<code·class="inline">try·...·catch·...·end</code>.·To·prevent·new·uses·of·uses·of·old·catches·to·be·added,·this·compiler·option·can·be·enabled·on·the·project·level·and·<code·class="inline">-compile(nowarn_deprecated_catch).</code>·added·to·individual·files·that·still·contain·old·catches.</p><p>Own·Id:·OTP-19425·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9154"·title="">PR-9154</a></p></li><li><p>Defining·a·fun·in·terms·of·an·imported·function·is·not·allowed.·Before·this·release,·the·compiler·would·not·catch·this·kind·of·error·if·the·name·of·the·imported·function·happened·to·be·a·BIF.··Consider·this·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5507105863-1">(</span><span·class="ss">fun_example</span><span·class="p"·data-group-id="5507105863-1">)</span><span·class="p">.</span><span·class="w">173 <a·href="../../../../erts-16.0/doc/html/erlang.html#list_to_existing_atom/1"><code·class="inline">list_to_existing_atom/1</code></a>.</p><p>Own·Id:·OTP-19339·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9042"·title="">PR-9042</a>,·<a·href="https://github.com/erlang/otp/pull/9122"·title="">PR-9122</a></p></li><li><p>The·compiler·now·converts·known·documentation·attribute·metadata·entries·from·<a·href="../../../../lib/stdlib-7.0/doc/html/unicode.html#t:chardata/0"><code·class="inline">unicode:chardata/0</code></a>·to·<a·href="../../../../lib/stdlib-7.0/doc/html/unicode.html#t:unicode_binary/0"><code·class="inline">unicode:unicode_binary/0</code></a>.</p><p>Own·Id:·OTP-19394·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9192"·title="">PR-9192</a></p></li><li><p>The·<code·class="inline">warn_deprecated_catch</code>·option·enables·warnings·for·use·of·old-style·catch·expressions·on·the·form·<code·class="inline">catch·Expr</code>·instead·of·the·modern·<code·class="inline">try·...·catch·...·end</code>.·To·prevent·new·uses·of·uses·of·old·catches·to·be·added,·this·compiler·option·can·be·enabled·on·the·project·level·and·<code·class="inline">-compile(nowarn_deprecated_catch).</code>·added·to·individual·files·that·still·contain·old·catches.</p><p>Own·Id:·OTP-19425·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9154"·title="">PR-9154</a></p></li><li><p>Defining·a·fun·in·terms·of·an·imported·function·is·not·allowed.·Before·this·release,·the·compiler·would·not·catch·this·kind·of·error·if·the·name·of·the·imported·function·happened·to·be·a·BIF.··Consider·this·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5072594470-1">(</span><span·class="ss">fun_example</span><span·class="p"·data-group-id="5072594470-1">)</span><span·class="p">.</span><span·class="w">
174 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5507105863-2">(</span><span·class="p"·data-group-id="5507105863-3">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·c[·...·truncated·by·diffoscope;·len:·112,·SHA:·2ed3d80041159b8c3cdb4e7e0670d5d1fd89ef9c0d5779252aed1d5a4c9e809b·...·]-2">)</span><span·class="p">.</span><span·class="w">174 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5072594470-2">(</span><span·class="p"·data-group-id="5072594470-3">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·c[·...·truncated·by·diffoscope;·len:·112,·SHA:·b15fa44cefeb71a07e438cef3234eefb928b4ce1295062b02a76c20a2bc862e8·...·]-2">)</span><span·class="p">.</span><span·class="w">
175 </span><span·class="p">-</span><span·class="na">import</span><span·class="p"·data-group-id="5507105863-4">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5507105863-5">[</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·191,·SHA:·1f7f86b76c01db038bca238093b53ea88b0fe04a699e9c869e4702217914bd3e·...·]-4">)</span><span·class="p">.</span><span·class="w">175 </span><span·class="p">-</span><span·class="na">import</span><span·class="p"·data-group-id="5072594470-4">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5072594470-5">[</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·191,·SHA:·d1dfc0eb8ba381188d9124c03bb5de6efaff54a092f56af64ad14e30138643b3·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
176 </span><span·class="nf">foo</span><span·class="p"·data-group-id="5507105863-6">(</span><span·class="p"·data-group-id="5507105863-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 </span><span·class="nf">foo</span><span·class="p"·data-group-id="5072594470-6">(</span><span·class="p"·data-group-id="5072594470-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="w">177 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">bar</span><span·class="p"·data-group-id="5507105863-7">(</span><span·class="p"·data-group-id="5507105863-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 </span><span·class="nf">bar</span><span·class="p"·data-group-id="5072594470-7">(</span><span·class="p"·data-group-id="5072594470-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
179 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">not_a_bif</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">.</span></code></pre><p>The·compiler·in·Erlang/OTP·27·would·generate·the·following·messages:</p><pre><code·class="text">fun_example.erl:9:5:·function·not_a_bif/0·undefined179 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">not_a_bif</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">.</span></code></pre><p>The·compiler·in·Erlang/OTP·27·would·generate·the·following·messages:</p><pre><code·class="text">fun_example.erl:9:5:·function·not_a_bif/0·undefined
180 %····9|·····fun·not_a_bif/0.180 %····9|·····fun·not_a_bif/0.
181 %·····|·····^181 %·····|·····^
  
182 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--182 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--
183 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash183 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash
184 %····3|·-import(m,·[max/2,·not_a_bif/0]).184 %····3|·-import(m,·[max/2,·not_a_bif/0]).
Offset 195, 21 lines modifiedOffset 195, 21 lines modified
195 fun_example.erl:9:5:·creating·a·fun·from·imported·name·not_a_bif/0·is·not·allowed195 fun_example.erl:9:5:·creating·a·fun·from·imported·name·not_a_bif/0·is·not·allowed
196 %····9|·····fun·not_a_bif/0.196 %····9|·····fun·not_a_bif/0.
197 %·····|·····^197 %·····|·····^
  
198 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--198 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--
199 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash199 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash
200 %····3|·-import(m,·[max/2,·not_a_bif/0]).200 %····3|·-import(m,·[max/2,·not_a_bif/0]).
201 %·····|··^</code></pre><p>Also,·attempting·to·call·a·local·function·having·the·same·name·as·auto-imported·BIF·would·result·in·an·error·if·the·BIF·was·added·to·Erlang/OTP·before·R14,·and·a·warning·for·newer·BIFs.·This·has·been·changed·to·always·emit·a·warning.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5407928337-1">(</span><span·class="ss">bif_example</span><span·class="p"·data-group-id="5407928337-1">)</span><span·class="p">.</span><span·class="w">201 %·····|··^</code></pre><p>Also,·attempting·to·call·a·local·function·having·the·same·name·as·auto-imported·BIF·would·result·in·an·error·if·the·BIF·was·added·to·Erlang/OTP·before·R14,·and·a·warning·for·newer·BIFs.·This·has·been·changed·to·always·emit·a·warning.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9418271274-1">(</span><span·class="ss">bif_example</span><span·class="p"·data-group-id="9418271274-1">)</span><span·class="p">.</span><span·class="w">
202 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5407928337-2">(</span><span·class="p"·data-group-id="5407928337-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="5407928337-3">]</span><span·class="p"·data-group-id="5407928337-2">)</span><span·class="p">.</span><span·class="w">202 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9418271274-2">(</span><span·class="p"·data-group-id="9418271274-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9418271274-3">]</span><span·class="p"·data-group-id="9418271274-2">)</span><span·class="p">.</span><span·class="w">
  
203 </span><span·class="nf">bar</span><span·class="p"·data-group-id="5407928337-4">(</span><span·class="n">B</span><span·class="p"·data-group-id="5407928337-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">203 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9418271274-4">(</span><span·class="n">B</span><span·class="p"·data-group-id="9418271274-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
204 ····</span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="5407928337-5">(</span><span·class="n">B</span><span·class="p"·data-group-id="5407928337-5">)</span><span·class="p">.</span><span·class="w">204 ····</span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="9418271274-5">(</span><span·class="n">B</span><span·class="p"·data-group-id="9418271274-5">)</span><span·class="p">.</span><span·class="w">
  
205 </span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="5407928337-6">(</span><span·class="n">B</span><span·class="p"·data-group-id="5407928337-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">205 </span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="9418271274-6">(</span><span·class="n">B</span><span·class="p"·data-group-id="9418271274-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 ········</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="ow">orelse</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">.</span></code></pre><p>will·now·result·in·the·following·warning·instead·of·an·error:</p><pre><code·class="text">if_example.erl:5:5:·Warning:·ambiguous·call·of·overridden·auto-imported·BIF·is_boolean/1·--206 ········</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="ow">orelse</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">.</span></code></pre><p>will·now·result·in·the·following·warning·instead·of·an·error:</p><pre><code·class="text">if_example.erl:5:5:·Warning:·ambiguous·call·of·overridden·auto-imported·BIF·is_boolean/1·--
207 use·erlang:is_boolean/1·or·&quot;-compile({no_auto_import,[is_boolean/1]}).&quot;·to·resolve·name·clash207 use·erlang:is_boolean/1·or·&quot;-compile({no_auto_import,[is_boolean/1]}).&quot;·to·resolve·name·clash
208 %····5|·····is_boolean(B).208 %····5|·····is_boolean(B).
209 %·····|·····^</code></pre><p>Own·Id:·OTP-19432·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9246"·title="">PR-9246</a></p></li><li><p>The·compiler’s·alias·analysis·pass·is·now·both·faster·and·less·conservative,·allowing·optimizations·of·records·and·binary·construction·to·be·applied·in·more·cases.</p><p>Own·Id:·OTP-19502·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8695"·title="">PR-8695</a></p></li><li><p>BEAM·files·no·longer·include·a·<code·class="inline">Meta</code>·chunk·if·there·are·no·features·used.·That·slightly·decreases·the·size·of·BEAM·files,·and·it·also·ensures·that·<code·class="inline">m(Module)</code>·and·<code·class="inline">beam_lib:md5(Beam)</code>·will·match·for·preloaded·modules.</p><p>Own·Id:·OTP-19524·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9517"·title="">PR-9517</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>An··<strong>experimental</strong>·API·for·a·native·debugger·has·been·added.·The·main·components·are·the·following:</p><ul><li><p>A·new·compiler·option·<code·class="inline">beam_debug_info</code>·for·the·Erlang·compiler.·When·given,·most·optimizations·are·disabled·and·debug·information·suitable·for·the·native·debugger·are·added·to·generated·BEAM·files.</p></li><li><p>A·new·<code·class="inline">+D</code>·emulator·flag.·When·given,·the·VM·becomes·&quot;debuggable&quot;,·which·means·that·when·modules·that·been·compiled·with·the·<code·class="inline">beam_debug_info</code>·option·are·loaded,·the·code·is·instrumented·so·that·one·can·enable·and·disable·breakpoints·on·executable·lines.</p></li><li><p>An·experimental·<code·class="inline">erl_debugger</code>·module·with·a·new·debugging·API.·Essentially,·it·allows·a·single,·local,·process·to·be·registered·as·the·&quot;debugger&quot;·process·for·the·node.·This·process·is·the·one·that·will·receive·messages·notifying·that·a·process·hit·a·breakpoint.·This·way,·the·front-end·implementation·of·a·debugger·(such·as·<a·href="https://github.com/WhatsApp/edb">edb·from·WhatApp</a>)·can·be·decoupled·from·OTP.</p></li><li><p>The·<code·class="inline">erl_debugger</code>·module·also·exposes·new·BIFs·to·inspect·<code·class="inline">X</code>·and·<code·class="inline">Y</code>·registers·of·a·suspended·process.·Together·with·new·code-information·BIFs,·this·let's·a·debugger·show·the·values·of·variables·in·scope·for·a·suspended·process.</p></li></ul><p>Own·Id:·OTP-19609·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a>,·<a·href="https://github.com/erlang/otp/pull/9334"·title="">PR-9334</a>,·<a·href="https://github.com/erlang/otp/pull/9604"·title="">PR-9604</a></p></li></ul><h2·id="compiler-8-6-1"·class="section-heading">209 %·····|·····^</code></pre><p>Own·Id:·OTP-19432·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9246"·title="">PR-9246</a></p></li><li><p>The·compiler’s·alias·analysis·pass·is·now·both·faster·and·less·conservative,·allowing·optimizations·of·records·and·binary·construction·to·be·applied·in·more·cases.</p><p>Own·Id:·OTP-19502·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8695"·title="">PR-8695</a></p></li><li><p>BEAM·files·no·longer·include·a·<code·class="inline">Meta</code>·chunk·if·there·are·no·features·used.·That·slightly·decreases·the·size·of·BEAM·files,·and·it·also·ensures·that·<code·class="inline">m(Module)</code>·and·<code·class="inline">beam_lib:md5(Beam)</code>·will·match·for·preloaded·modules.</p><p>Own·Id:·OTP-19524·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9517"·title="">PR-9517</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>An··<strong>experimental</strong>·API·for·a·native·debugger·has·been·added.·The·main·components·are·the·following:</p><ul><li><p>A·new·compiler·option·<code·class="inline">beam_debug_info</code>·for·the·Erlang·compiler.·When·given,·most·optimizations·are·disabled·and·debug·information·suitable·for·the·native·debugger·are·added·to·generated·BEAM·files.</p></li><li><p>A·new·<code·class="inline">+D</code>·emulator·flag.·When·given,·the·VM·becomes·&quot;debuggable&quot;,·which·means·that·when·modules·that·been·compiled·with·the·<code·class="inline">beam_debug_info</code>·option·are·loaded,·the·code·is·instrumented·so·that·one·can·enable·and·disable·breakpoints·on·executable·lines.</p></li><li><p>An·experimental·<code·class="inline">erl_debugger</code>·module·with·a·new·debugging·API.·Essentially,·it·allows·a·single,·local,·process·to·be·registered·as·the·&quot;debugger&quot;·process·for·the·node.·This·process·is·the·one·that·will·receive·messages·notifying·that·a·process·hit·a·breakpoint.·This·way,·the·front-end·implementation·of·a·debugger·(such·as·<a·href="https://github.com/WhatsApp/edb">edb·from·WhatApp</a>)·can·be·decoupled·from·OTP.</p></li><li><p>The·<code·class="inline">erl_debugger</code>·module·also·exposes·new·BIFs·to·inspect·<code·class="inline">X</code>·and·<code·class="inline">Y</code>·registers·of·a·suspended·process.·Together·with·new·code-information·BIFs,·this·let's·a·debugger·show·the·values·of·variables·in·scope·for·a·suspended·process.</p></li></ul><p>Own·Id:·OTP-19609·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a>,·<a·href="https://github.com/erlang/otp/pull/9334"·title="">PR-9334</a>,·<a·href="https://github.com/erlang/otp/pull/9604"·title="">PR-9604</a></p></li></ul><h2·id="compiler-8-6-1"·class="section-heading">
210 ··<a·href="#compiler-8-6-1"·class="hover-link">210 ··<a·href="#compiler-8-6-1"·class="hover-link">
211 ····<i·class="ri-link-m"·aria-hidden="true"></i>211 ····<i·class="ri-link-m"·aria-hidden="true"></i>
212 ··</a>212 ··</a>
Offset 253, 18 lines modifiedOffset 253, 18 lines modified
253 </h2>253 </h2>
254 <h3·id="fixed-bugs-and-malfunctions-3"·class="section-heading">254 <h3·id="fixed-bugs-and-malfunctions-3"·class="section-heading">
255 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">255 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">
256 ····<i·class="ri-link-m"·aria-hidden="true"></i>256 ····<i·class="ri-link-m"·aria-hidden="true"></i>
257 ··</a>257 ··</a>
258 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>258 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
259 </h3>259 </h3>
260 <ul><li><p>Fixed·a·crash·in·the·common·sub-expression·elimination·pass.</p><p>Own·Id:·OTP-19243·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8818"·title="">GH-8818</a>,·<a·href="https://github.com/erlang/otp/pull/8838"·title="">PR-8838</a></p></li><li><p>Fixed·a·bug·where·bogus·code·was·generated·for·consecutive·calls·to·<code·class="inline">erlang:setelement/2</code>,·potentially·crashing·the·runtime·system.</p><p>Own·Id:·OTP-19270·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8783"·title="">GH-8783</a>,·<a·href="https://github.com/erlang/otp/pull/8898"·title="">PR-8898</a></p></li><li><p>When·the·<code·class="inline">line_coverage</code>·option·was·used,·exceptions·could·show·the·wrong·line·for·where·the·exception·was·raised.</p><p>Own·Id:·OTP-19282·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8907"·title="">PR-8907</a></p></li><li><p>The·<code·class="inline">line_coverage</code>·option·would·be·ignored·if·given·in·a·<code·class="inline">compile()</code>·attribute·within·a·module.</p><p>Own·Id:·OTP-19309·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8942"·title="">GH-8942</a>,·<a·href="https://github.com/erlang/otp/pull/8970"·title="">PR-8970</a></p></li><li><p>A·segment·matching·a·float·in·a·binary·generator·will·now·skip·any·invalid·float·(such·as·a·NaN)·and·continue·matching·the·rest·of·the·binary.·Before·this·correction,·the·comprehension·would·stop·as·soon·as·an·invalid·float·was·encountered.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">BadFloat</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7642538856-1">&lt;&lt;</span><span·class="o">-</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">64</span><span·class="p"·data-group-id="7642538856-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">260 <ul><li><p>Fixed·a·crash·in·the·common·sub-expression·elimination·pass.</p><p>Own·Id:·OTP-19243·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8818"·title="">GH-8818</a>,·<a·href="https://github.com/erlang/otp/pull/8838"·title="">PR-8838</a></p></li><li><p>Fixed·a·bug·where·bogus·code·was·generated·for·consecutive·calls·to·<code·class="inline">erlang:setelement/2</code>,·potentially·crashing·the·runtime·system.</p><p>Own·Id:·OTP-19270·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8783"·title="">GH-8783</a>,·<a·href="https://github.com/erlang/otp/pull/8898"·title="">PR-8898</a></p></li><li><p>When·the·<code·class="inline">line_coverage</code>·option·was·used,·exceptions·could·show·the·wrong·line·for·where·the·exception·was·raised.</p><p>Own·Id:·OTP-19282·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8907"·title="">PR-8907</a></p></li><li><p>The·<code·class="inline">line_coverage</code>·option·would·be·ignored·if·given·in·a·<code·class="inline">compile()</code>·attribute·within·a·module.</p><p>Own·Id:·OTP-19309·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8942"·title="">GH-8942</a>,·<a·href="https://github.com/erlang/otp/pull/8970"·title="">PR-8970</a></p></li><li><p>A·segment·matching·a·float·in·a·binary·generator·will·now·skip·any·invalid·float·(such·as·a·NaN)·and·continue·matching·the·rest·of·the·binary.·Before·this·correction,·the·comprehension·would·stop·as·soon·as·an·invalid·float·was·encountered.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">BadFloat</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5394593791-1">&lt;&lt;</span><span·class="o">-</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">64</span><span·class="p"·data-group-id="5394593791-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
261 </span><span·class="p"·data-group-id="7642538856-2">&lt;&lt;</span><span·class="s">&quot;ÿÿÿÿÿÿÿÿ&quot;</span><span·class="p"·data-group-id="7642538856-2">&gt;&gt;</span><span·class="gp·unselectable"> 
262 2&gt;·</span><span·class="p"·data-group-id="7642538856-3">[</span><span·class="n">X</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="7642538856-4">&lt;&lt;</span><span·class="n">X</span><span·cla[·...·truncated·by·diffoscope;·len:·735,·SHA:·50c69aaa0d852a6342e01d6a782ec044bfddf643a465a00b91e54ed99f97266a·...·]">261 </span><span·class="p"·data-group-id="5394593791-2">&lt;&lt;</span><span·class="s">&quot;ÿÿÿÿÿÿÿÿ&quot;</span><span·class="p"·data-group-id="5394593791-2">&gt;&gt;</span><span·class="gp·unselectable">
 262 2&gt;·</span><span·class="p"·data-group-id="5394593791-3">[</span><span·class="n">X</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="5394593791-4">&lt;&lt;</span><span·class="n">X</span><span·class="p">:</span><span·class="mi">64</span><span·class="o">/</span><span·class="nb">float</span><span·class="p"·data-group-id="5394593791-4">&gt;&gt;</span><span·class="w">·</span><span·class="o">&lt;=</span><span·class="w">·</span><span·class="p"·data-group-id="5394593791-5">&lt;&lt;</span><span·class="mf">0.0</span><span·class="o">/</span><span·class="nb">float</span><span·class="p">,</span><span·class="n">BadFloat</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="mf">42.0</span><span·class="o">/</span><span·class="nb">float</span><span·class="p"·data-group-id="5394593791-5">&gt;&gt;</span><span·class="p"·data-group-id="5394593791-3">]</span><span·class="p">.</span><span·class="w">
263 </span><span·class="p"·data-group-id="7642538856-6">[</span><span·class="mf">0.0</span><span·class="p">,</span><span·class="mf">42.0</span><span·class="p"·data-group-id="7642538856-6">]</span></code></pre><p>Own·Id:·OTP-19331·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8978"·title="">PR-8978</a></p></li></ul><h2·id="compiler-8-5-3"·class="section-heading">263 </span><span·class="p"·data-group-id="5394593791-6">[</span><span·class="mf">0.0</span><span·class="p">,</span><span·class="mf">42.0</span><span·class="p"·data-group-id="5394593791-6">]</span></code></pre><p>Own·Id:·OTP-19331·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8978"·title="">PR-8978</a></p></li></ul><h2·id="compiler-8-5-3"·class="section-heading">
264 ··<a·href="#compiler-8-5-3"·class="hover-link">264 ··<a·href="#compiler-8-5-3"·class="hover-link">
265 ····<i·class="ri-link-m"·aria-hidden="true"></i>265 ····<i·class="ri-link-m"·aria-hidden="true"></i>
266 ··</a>266 ··</a>
267 ··<span·class="text">Compiler·8.5.3</span>267 ··<span·class="text">Compiler·8.5.3</span>
268 </h2>268 </h2>
269 <h3·id="fixed-bugs-and-malfunctions-4"·class="section-heading">269 <h3·id="fixed-bugs-and-malfunctions-4"·class="section-heading">
270 ··<a·href="#fixed-bugs-and-malfunctions-4"·class="hover-link">270 ··<a·href="#fixed-bugs-and-malfunctions-4"·class="hover-link">
Offset 304, 61 lines modifiedOffset 304, 61 lines modified
304 </h2>304 </h2>
305 <h3·id="fixed-bugs-and-malfunctions-7"·class="section-heading">305 <h3·id="fixed-bugs-and-malfunctions-7"·class="section-heading">
306 ··<a·href="#fixed-bugs-and-malfunctions-7"·class="hover-link">306 ··<a·href="#fixed-bugs-and-malfunctions-7"·class="hover-link">
307 ····<i·class="ri-link-m"·aria-hidden="true"></i>307 ····<i·class="ri-link-m"·aria-hidden="true"></i>
308 ··</a>308 ··</a>
309 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>309 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
310 </h3>310 </h3>
311 <ul><li><p>Generators·for·binary·comprehensions·could·be·evaluated·before·it·was·known·that·they·would·be·needed.·That·could·result·in·a·binary·comprehensions·failing·if·a·generator·that·should·not·be·evaluated·until·later·failed.</p><p>As·an·example,·consider·this·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3522487055-1">(</span><span·class="ss">t</span><span·class="p"·data-group-id="3522487055-1">)</span><span·class="p">.</span><span·class="w">311 <ul><li><p>Generators·for·binary·comprehensions·could·be·evaluated·before·it·was·known·that·they·would·be·needed.·That·could·result·in·a·binary·comprehensions·failing·if·a·generator·that·should·not·be·evaluated·until·later·failed.</p><p>As·an·example,·consider·this·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3347707629-1">(</span><span·class="ss">t</span><span·class="p"·data-group-id="3347707629-1">)</span><span·class="p">.</span><span·class="w">
312 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3522487055-2">(</span><span·class="p"·data-group-id="3522487055-3">[</span><span·class="ss">f</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="3522487055-3">]</span><span·class="p"·data-group-id="3522487055-2">)</span><span·class="p">.</span><span·class="w">312 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3347707629-2">(</span><span·class="p"·data-group-id="3347707629-3">[</span><span·class="ss">f</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="3347707629-3">]</span><span·class="p"·data-group-id="3347707629-2">)</span><span·class="p">.</span><span·class="w">
  
313 </span><span·class="nf">f</span><span·class="p"·data-group-id="3522487055-4">(</span><span·class="p"·data-group-id="3522487055-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">313 </span><span·class="nf">f</span><span·class="p"·data-group-id="3347707629-4">(</span><span·class="p"·data-group-id="3347707629-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
314 ····</span><span·class="p"·data-group-id="3522487055-5">&lt;&lt;</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p">_</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·729,·SHA:·e2f608aac9264e372456d51e4fc8c6562e6b0a6a592fec41ed0e54c06b1b2bea·...·]-1">)</span><span·class="p">.</span><span·class="w">314 ····</span><span·class="p"·data-group-id="3347707629-5">&lt;&lt;</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p">_</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·729,·SHA:·c679053dd9bef8cb3fbd322b7ec466319089f201475b76073d0befc9e96f13c1·...·]-1">)</span><span·class="p">.</span><span·class="w">
315 </span><span·class="gt">**·exception·error:·bad·generator·ok315 </span><span·class="gt">**·exception·error:·bad·generator·ok
316 ·····in·function··t:f/0·(t.erl,·line·6)</span></code></pre><p>In·Erlang/OTP·27·it·returns·an·empty·binary:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">t</span><span·class="p">:</span><span·class="nf">f</span><span·class="p"·data-group-id="4875229391-1">(</span><span·class="p"·data-group-id="4875229391-1">)</span><span·class="p">.</span><span·class="w">316 ·····in·function··t:f/0·(t.erl,·line·6)</span></code></pre><p>In·Erlang/OTP·27·it·returns·an·empty·binary:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">t</span><span·class="p">:</span><span·class="nf">f</span><span·class="p"·data-group-id="3225982060-1">(</span><span·class="p"·data-group-id="3225982060-1">)</span><span·class="p">.</span><span·class="w">
317 </span><span·class="p"·data-group-id="4875229391-2">&lt;&lt;</span><span·class="p"·data-group-id="4875229391-2">&gt;&gt;</span></code></pre><p>Own·Id:·OTP-18703·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7494"·title="">GH-7494</a>,·<a·href="https://github.com/erlang/otp/pull/7538"·title="">PR-7538</a></p></li><li><p>The·documentation·for·the·preprocessor·now·mentions·that·<code·class="inline">defined(Name)</code>·can·be·called·in·the·condition·for·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·directive·to·test·whether·<code·class="inline">Name</code>·is·the·name·of·a·defined·macro.·(This·feature·was·implemented·in·OTP·21.)</p><p>If·a·function·call·in·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·with·a·name·that·is·not·the·name·of·a·guard·BIF,·there·would·not·be·a·compilation·error,·but·would·instead·cause·the·lines·following·the·directive·to·be·skipped.·This·has·now·been·changed·to·be·a·compilation·error.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18784·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7706"·title="">GH-7706</a>,·<a·href="https://github.com/erlang/otp/pull/7726"·title="">PR-7726</a></p></li></ul><h3·id="improvements-and-new-features-2"·class="section-heading">317 </span><span·class="p"·data-group-id="3225982060-2">&lt;&lt;</span><span·class="p"·data-group-id="3225982060-2">&gt;&gt;</span></code></pre><p>Own·Id:·OTP-18703·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7494"·title="">GH-7494</a>,·<a·href="https://github.com/erlang/otp/pull/7538"·title="">PR-7538</a></p></li><li><p>The·documentation·for·the·preprocessor·now·mentions·that·<code·class="inline">defined(Name)</code>·can·be·called·in·the·condition·for·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·directive·to·test·whether·<code·class="inline">Name</code>·is·the·name·of·a·defined·macro.·(This·feature·was·implemented·in·OTP·21.)</p><p>If·a·function·call·in·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·with·a·name·that·is·not·the·name·of·a·guard·BIF,·there·would·not·be·a·compilation·error,·but·would·instead·cause·the·lines·following·the·directive·to·be·skipped.·This·has·now·been·changed·to·be·a·compilation·error.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18784·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7706"·title="">GH-7706</a>,·<a·href="https://github.com/erlang/otp/pull/7726"·title="">PR-7726</a></p></li></ul><h3·id="improvements-and-new-features-2"·class="section-heading">
318 ··<a·href="#improvements-and-new-features-2"·class="hover-link">318 ··<a·href="#improvements-and-new-features-2"·class="hover-link">
319 ····<i·class="ri-link-m"·aria-hidden="true"></i>319 ····<i·class="ri-link-m"·aria-hidden="true"></i>
320 ··</a>320 ··</a>
321 ··<span·class="text">Improvements·and·New·Features</span>321 ··<span·class="text">Improvements·and·New·Features</span>
322 </h3>322 </h3>
323 <ul><li><p>The·compiler·now·emits·nicer·error·message·for·function·head·mismatches.323 <ul><li><p>The·compiler·now·emits·nicer·error·message·for·function·head·mismatches.
324 For·example,·given:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">a</span><span·class="p"·data-group-id="2365477708-1">(</span><span·class="p"·data-group-id="2365477708-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">324 For·example,·given:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">a</span><span·class="p"·data-group-id="6803260781-1">(</span><span·class="p"·data-group-id="6803260781-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
325 </span><span·class="nf">a</span><span·class="p"·data-group-id="2365477708-2">(</span><span·class="p">_</span><span·class="p"·data-group-id="2365477708-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">error</span><span·class="p">.</span></code></pre><p>Erlang/OTP·26·and·earlier·would·emit·a·diagnostic·similar·to:</p><pre><code·class="text">t.erl:6:1:·head·mismatch325 </span><span·class="nf">a</span><span·class="p"·data-group-id="6803260781-2">(</span><span·class="p">_</span><span·class="p"·data-group-id="6803260781-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">error</span><span·class="p">.</span></code></pre><p>Erlang/OTP·26·and·earlier·would·emit·a·diagnostic·similar·to:</p><pre><code·class="text">t.erl:6:1:·head·mismatch
326 %····6|·a(_)·-&gt;·error.326 %····6|·a(_)·-&gt;·error.
327 %·····|·^</code></pre><p>while·in·Erlang/OTP·27·the·diagnostic·is·similar·to:</p><pre><code·class="text">t.erl:6:1:·head·mismatch:·function·a·with·arities·0·and·1·is·regarded·as·two·distinct·functions.·Is·the·number·of·arguments·incorrect·or·is·the·semicolon·in·a/0·unwanted?327 %·····|·^</code></pre><p>while·in·Erlang/OTP·27·the·diagnostic·is·similar·to:</p><pre><code·class="text">t.erl:6:1:·head·mismatch:·function·a·with·arities·0·and·1·is·regarded·as·two·distinct·functions.·Is·the·number·of·arguments·incorrect·or·is·the·semicolon·in·a/0·unwanted?
328 %····6|·a(_)·-&gt;·error.328 %····6|·a(_)·-&gt;·error.
Max diff block lines reached; 13720/103300 bytes (13.28%) of diff not shown.
790 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
463 B
html2text {}
Max HTML report size reached
17.3 KB
./usr/share/doc/erlang-doc/html/lib/compiler-9.0/doc/html/ssa_checks.html
    
Offset 138, 50 lines modifiedOffset 138, 50 lines modified
138 ····<i·class="ri-link-m"·aria-hidden="true"></i>138 ····<i·class="ri-link-m"·aria-hidden="true"></i>
139 ··</a>139 ··</a>
140 ··<span·class="text">Syntax</span>140 ··<span·class="text">Syntax</span>
141 </h2>141 </h2>
142 <p>SSA·checks·are·embedded·in·the·source·code·as·comments·starting·with142 <p>SSA·checks·are·embedded·in·the·source·code·as·comments·starting·with
143 with·one·of·<code·class="inline">%ssa%</code>,·<code·class="inline">%%ssa%</code>·or·<code·class="inline">%%%ssa%</code>.·This·is·a·short143 with·one·of·<code·class="inline">%ssa%</code>,·<code·class="inline">%%ssa%</code>·or·<code·class="inline">%%%ssa%</code>.·This·is·a·short
144 introduction·the·syntax,·for·the·full·syntax·please·refer·to·the144 introduction·the·syntax,·for·the·full·syntax·please·refer·to·the
145 <code·class="inline">ssa_check_when_clause</code>·production·in·<code·class="inline">erl_parse.yrl</code>.</p><p>SSA·checks·can·be·placed·inside·any·Erlang·function,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">t0</span><span·class="p"·data-group-id="6886477775-1">(</span><span·class="p"·data-group-id="6886477775-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">145 <code·class="inline">ssa_check_when_clause</code>·production·in·<code·class="inline">erl_parse.yrl</code>.</p><p>SSA·checks·can·be·placed·inside·any·Erlang·function,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">t0</span><span·class="p"·data-group-id="2092204453-1">(</span><span·class="p"·data-group-id="2092204453-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
146 </span><span·class="c1">%ssa%·()·when·post_ssa_opt·-&gt;</span><span·class="w">146 </span><span·class="c1">%ssa%·()·when·post_ssa_opt·-&gt;</span><span·class="w">
147 </span><span·class="c1">%ssa%···ret(#{}).</span><span·class="w">147 </span><span·class="c1">%ssa%···ret(#{}).</span><span·class="w">
148 ··</span><span·class="p"·data-group-id="6886477775-2">#{</span><span·class="p"·data-group-id="6886477775-2">}</span><span·class="p">.</span></code></pre><p>will·check·that·<code·class="inline">t0/0</code>·returns·the·literal·<code·class="inline">#{}</code>.·If·we·want·to·check148 ··</span><span·class="p"·data-group-id="2092204453-2">#{</span><span·class="p"·data-group-id="2092204453-2">}</span><span·class="p">.</span></code></pre><p>will·check·that·<code·class="inline">t0/0</code>·returns·the·literal·<code·class="inline">#{}</code>.·If·we·want·to·check
149 that·a·function·returns·its·first·formal·parameter,·we·can·write:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">t1</span><span·class="p"·data-group-id="6893235842-1">(</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">B</span><span·class="p"·data-group-id="6893235842-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">149 that·a·function·returns·its·first·formal·parameter,·we·can·write:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">t1</span><span·class="p"·data-group-id="9593683673-1">(</span><span·class="n">A</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">B</span><span·class="p"·data-group-id="9593683673-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
150 </span><span·class="c1">%ssa%·(X,·_)·when·post_ssa_opt·-&gt;</span><span·class="w">150 </span><span·class="c1">%ssa%·(X,·_)·when·post_ssa_opt·-&gt;</span><span·class="w">
151 </span><span·class="c1">%ssa%···ret(X).</span><span·class="w">151 </span><span·class="c1">%ssa%···ret(X).</span><span·class="w">
152 ··</span><span·class="n">A</span><span·class="p">.</span></code></pre><p>Note·how·we·match·the·first·formal·parameter·using·<code·class="inline">X</code>.·The·reason·for152 ··</span><span·class="n">A</span><span·class="p">.</span></code></pre><p>Note·how·we·match·the·first·formal·parameter·using·<code·class="inline">X</code>.·The·reason·for
153 having·our·own·formal·parameters·for·the·SSA·check,·is·that·we·don't153 having·our·own·formal·parameters·for·the·SSA·check,·is·that·we·don't
154 want·to·introduce·new·identifiers·at·the·Erlang·level·to·support154 want·to·introduce·new·identifiers·at·the·Erlang·level·to·support
155 SSA-level·checks.·Consider·if·<code·class="inline">t1/2</code>·had·been·defined·as·<code·class="inline">t1([A|As],·B)</code>·we·would·have·had·to·introduce·a·new·identifier·for·the·aggregate155 SSA-level·checks.·Consider·if·<code·class="inline">t1/2</code>·had·been·defined·as·<code·class="inline">t1([A|As],·B)</code>·we·would·have·had·to·introduce·a·new·identifier·for·the·aggregate
156 value·<code·class="inline">[A|As]</code>.</p><p>The·full·syntax·for·a·SSA·check·clause·is:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="ss">expected</span><span·class="o">-</span><span·class="ss">result</span><span·class="o">&gt;</span><span·class="o">?</span><span·class="w">·</span><span·class="p"·data-group-id="5912784221-1">(</span><span·class="o">&lt;</span><span·class="ss">formals</span><span·class="o">&gt;</span><span·class="p"·data-group-id="5912784221-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">pipeline</span><span·class="o">-</span><span·class="ss">location</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">checks</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="ss">&#39;.&#39;</span></code></pre><p>where·<code·class="inline">&lt;expected-result&gt;</code>·can·be·one·of·<code·class="inline">pass</code>·(the·check·must156 value·<code·class="inline">[A|As]</code>.</p><p>The·full·syntax·for·a·SSA·check·clause·is:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="ss">expected</span><span·class="o">-</span><span·class="ss">result</span><span·class="o">&gt;</span><span·class="o">?</span><span·class="w">·</span><span·class="p"·data-group-id="0199017701-1">(</span><span·class="o">&lt;</span><span·class="ss">formals</span><span·class="o">&gt;</span><span·class="p"·data-group-id="0199017701-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">pipeline</span><span·class="o">-</span><span·class="ss">location</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">checks</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="ss">&#39;.&#39;</span></code></pre><p>where·<code·class="inline">&lt;expected-result&gt;</code>·can·be·one·of·<code·class="inline">pass</code>·(the·check·must
157 succeed),·<code·class="inline">fail</code>·and·<code·class="inline">xfail</code>·(the·check·must·fail).·Omitting157 succeed),·<code·class="inline">fail</code>·and·<code·class="inline">xfail</code>·(the·check·must·fail).·Omitting
158 <code·class="inline">&lt;expected-result&gt;</code>·is·parsed·as·an·implicit·<code·class="inline">pass</code>.</p><p><code·class="inline">&lt;formals&gt;</code>·is·a·comma-separated·list·of·variables.</p><p><code·class="inline">&lt;pipeline-location&gt;</code>·specifies·when·in·the·compiler·pipeline·to·run158 <code·class="inline">&lt;expected-result&gt;</code>·is·parsed·as·an·implicit·<code·class="inline">pass</code>.</p><p><code·class="inline">&lt;formals&gt;</code>·is·a·comma-separated·list·of·variables.</p><p><code·class="inline">&lt;pipeline-location&gt;</code>·specifies·when·in·the·compiler·pipeline·to·run
159 the·checks.·For·now·the·only·supported·value·for·<code·class="inline">&lt;pipeline-location&gt;</code>159 the·checks.·For·now·the·only·supported·value·for·<code·class="inline">&lt;pipeline-location&gt;</code>
160 is·<code·class="inline">post_ssa_opt</code>·which·runs·the·checks·after·the·<code·class="inline">ssa_opt</code>·pass.</p><p><code·class="inline">&lt;checks&gt;</code>·is·a·comma-separated·list·of·matches·against·the·BEAM·SSA160 is·<code·class="inline">post_ssa_opt</code>·which·runs·the·checks·after·the·<code·class="inline">ssa_opt</code>·pass.</p><p><code·class="inline">&lt;checks&gt;</code>·is·a·comma-separated·list·of·matches·against·the·BEAM·SSA
161 code.·For·non-flow-control·operations·the·syntax·is:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="ss">variable</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">operation</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2531207391-1">(</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">arguments</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2531207391-1">)</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">annotation</span><span·class="o">&gt;</span><span·class="o">?</span></code></pre><p>where·<code·class="inline">&lt;operation&gt;</code>·is·the·<code·class="inline">#b_set.op</code>·field·from·the·internal·SSA161 code.·For·non-flow-control·operations·the·syntax·is:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="ss">variable</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">operation</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4502073226-1">(</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">arguments</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4502073226-1">)</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">annotation</span><span·class="o">&gt;</span><span·class="o">?</span></code></pre><p>where·<code·class="inline">&lt;operation&gt;</code>·is·the·<code·class="inline">#b_set.op</code>·field·from·the·internal·SSA
162 representation.·BIFs·are·written·as·<code·class="inline">bif:&lt;atom&gt;</code>.</p><p><code·class="inline">&lt;arguments&gt;</code>·is·a·comma-separated·list·of·variables·or·literals.</p><p>For·flow·control·operations·and·labels,·the·syntax·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">br</span><span·class="p"·data-group-id="1353871180-1">(</span><span·class="o">&lt;</span><span·class="ss">bool</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">true</span><span·class="o">-</span><span·class="ss">label</spa[·...·truncated·by·diffoscope;·len:·254,·SHA:·316689b2e57ed61e3207c838605d77198fd0a3acffd1b2dcf0181b1a5025107c·...·]-1">)</span><span·class="w">162 representation.·BIFs·are·written·as·<code·class="inline">bif:&lt;atom&gt;</code>.</p><p><code·class="inline">&lt;arguments&gt;</code>·is·a·comma-separated·list·of·variables·or·literals.</p><p>For·flow·control·operations·and·labels,·the·syntax·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">br</span><span·class="p"·data-group-id="1314099852-1">(</span><span·class="o">&lt;</span><span·class="ss">bool</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">true</span><span·class="o">-</span><span·class="ss">label</spa[·...·truncated·by·diffoscope;·len:·254,·SHA:·c321d37d4976ec5b29b693badb4f5bbe74ae4c9767d9dc1eaa8db37379f3356e·...·]-1">)</span><span·class="w">
  
163 </span><span·class="nf">switch</span><span·class="p"·data-group-id="1353871180-2">(</span><span·class="o">&lt;</span><span·class="ss">value</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">fail</span><span·class="o">-</span><span·class="ss">label</sp[·...·truncated·by·diffoscope;·len:·617,·SHA:·8e421ef3d9806cd56051b7950fc13eea07406d50d618e5c0ff102c5af0e7cd44·...·]-2">)</span><span·class="w">163 </span><span·class="nf">switch</span><span·class="p"·data-group-id="1314099852-2">(</span><span·class="o">&lt;</span><span·class="ss">value</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">fail</span><span·class="o">-</span><span·class="ss">label</sp[·...·truncated·by·diffoscope;·len:·617,·SHA:·f7db52b61f952e0b156d59610db15a68503d1147c9efbd86da7e7762a95f214f·...·]-2">)</span><span·class="w">
  
164 </span><span·class="nf">ret</span><span·class="p"·data-group-id="1353871180-5">(</span><span·class="o">&lt;</span><span·class="ss">value</span><span·class="o">&gt;</span><span·class="p"·data-group-id="1353871180-5">)</span><span·class="w">164 </span><span·class="nf">ret</span><span·class="p"·data-group-id="1314099852-5">(</span><span·class="o">&lt;</span><span·class="ss">value</span><span·class="o">&gt;</span><span·class="p"·data-group-id="1314099852-5">)</span><span·class="w">
  
165 </span><span·class="ss">label</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">value</span><span·class="o">&gt;</span></code></pre><p>where·<code·class="inline">&lt;value&gt;</code>·is·a·literal·or·a·variable.</p><p>A·check·can·also·include·an·assertion·on·operation·annotations.·The165 </span><span·class="ss">label</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">value</span><span·class="o">&gt;</span></code></pre><p>where·<code·class="inline">&lt;value&gt;</code>·is·a·literal·or·a·variable.</p><p>A·check·can·also·include·an·assertion·on·operation·annotations.·The
166 assertion·is·written·as·a·map-like·pattern·following·the·argument166 assertion·is·written·as·a·map-like·pattern·following·the·argument
167 list,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">t0</span><span·class="p"·data-group-id="4570136008-1">(</span><span·class="p"·data-group-id="4570136008-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">167 list,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">t0</span><span·class="p"·data-group-id="7511289183-1">(</span><span·class="p"·data-group-id="7511289183-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
168 </span><span·class="c1">%ssa%·()·when·post_ssa_opt·-&gt;</span><span·class="w">168 </span><span·class="c1">%ssa%·()·when·post_ssa_opt·-&gt;</span><span·class="w">
169 </span><span·class="c1">%ssa%·_·=·call(fun·return_int/0)·{·result_type·=&gt;·{t_integer,{17,17}},</span><span·class="w">169 </span><span·class="c1">%ssa%·_·=·call(fun·return_int/0)·{·result_type·=&gt;·{t_integer,{17,17}},</span><span·class="w">
170 </span><span·class="c1">%ssa%······························location·=&gt;·{_,32}·},</span><span·class="w">170 </span><span·class="c1">%ssa%······························location·=&gt;·{_,32}·},</span><span·class="w">
171 </span><span·class="c1">%ssa%·_·=·call(fun·return_tuple/0)·{</span><span·class="w">171 </span><span·class="c1">%ssa%·_·=·call(fun·return_tuple/0)·{</span><span·class="w">
172 </span><span·class="c1">%ssa%····result_type·=&gt;·{t_tuple,2,true,#{1·=&gt;·{t_integer,{1,1}},</span><span·class="w">172 </span><span·class="c1">%ssa%····result_type·=&gt;·{t_tuple,2,true,#{1·=&gt;·{t_integer,{1,1}},</span><span·class="w">
173 </span><span·class="c1">%ssa%·····································2·=&gt;·{t_integer,{2,2}}}}</span><span·class="w">173 </span><span·class="c1">%ssa%·····································2·=&gt;·{t_integer,{2,2}}}}</span><span·class="w">
174 </span><span·class="c1">%ssa%·}.</span><span·class="w">174 </span><span·class="c1">%ssa%·}.</span><span·class="w">
175 ····</span><span·class="n">X</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">return_int</span><span·class="p"·data-group-id="4570136008-2">(</span><span·class="p"·data-group-id="4570136008-2">)</span><span·class="p">,</span><span·class="w">175 ····</span><span·class="n">X</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">return_int</span><span·class="p"·data-group-id="7511289183-2">(</span><span·class="p"·data-group-id="7511289183-2">)</span><span·class="p">,</span><span·class="w">
176 ····</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">return_tuple</span><span·class="p"·data-group-id="4570136008-3">(</span><span·class="p"·data-group-id="4570136008-3">)</span><span·class="p">,</span><span·class="w">176 ····</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">return_tuple</span><span·class="p"·data-group-id="7511289183-3">(</span><span·class="p"·data-group-id="7511289183-3">)</span><span·class="p">,</span><span·class="w">
177 ····</span><span·class="p"·data-group-id="4570136008-4">{</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="4570136008-4">}</span><span·class="p">.</span></code></pre><h2·id="semantics"·class="section-heading">177 ····</span><span·class="p"·data-group-id="7511289183-4">{</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="7511289183-4">}</span><span·class="p">.</span></code></pre><h2·id="semantics"·class="section-heading">
178 ··<a·href="#semantics"·class="hover-link">178 ··<a·href="#semantics"·class="hover-link">
179 ····<i·class="ri-link-m"·aria-hidden="true"></i>179 ····<i·class="ri-link-m"·aria-hidden="true"></i>
180 ··</a>180 ··</a>
181 ··<span·class="text">Semantics</span>181 ··<span·class="text">Semantics</span>
182 </h2>182 </h2>
183 <p>When·an·SSA·assertion·is·matched·against·the·BEAM·SSA·for·a·function,183 <p>When·an·SSA·assertion·is·matched·against·the·BEAM·SSA·for·a·function,
184 patterns·are·applied·sequentially.·If·the·current·pattern·doesn't184 patterns·are·applied·sequentially.·If·the·current·pattern·doesn't
Offset 246, 15 lines modifiedOffset 246, 15 lines modified
246 ······<p·class="built-using">246 ······<p·class="built-using">
247 ········Built·using247 ········Built·using
248 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the248 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
249 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>249 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
250 ······</p>250 ······</p>
251 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>251 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
252 ····</footer>252 ····</footer>
253 ··</div>253 ··</div>
254 </main>254 </main>
255 </div>255 </div>
256 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>256 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
257 ··<script>257 ··<script>
258 ··let·initialized·=·false;258 ··let·initialized·=·false;
771 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/algorithm_details.html
    
Offset 315, 15 lines modifiedOffset 315, 15 lines modified
315 ······<p·class="built-using">315 ······<p·class="built-using">
316 ········Built·using316 ········Built·using
317 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the317 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
318 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>318 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
319 ······</p>319 ······</p>
320 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>320 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
321 ····</footer>321 ····</footer>
322 ··</div>322 ··</div>
323 </main>323 </main>
324 </div>324 </div>
325 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>325 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
326 ··<script>326 ··<script>
327 ··let·initialized·=·false;327 ··let·initialized·=·false;
744 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/api-reference.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
187 ····</footer>187 ····</footer>
188 ··</div>188 ··</div>
189 </main>189 </main>
190 </div>190 </div>
191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
192 ··<script>192 ··<script>
193 ··let·initialized·=·false;193 ··let·initialized·=·false;
625 B
html2text {}
Max HTML report size reached
240 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto.epub
2.83 KB
zipinfo {}
Max HTML report size reached
95.1 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
70.5 KB
OEBPS/new_api.xhtml
Max HTML report size reached
23.7 KB
OEBPS/engine_load.xhtml
Max HTML report size reached
18.8 KB
OEBPS/engine_keys.xhtml
Max HTML report size reached
27.5 KB
OEBPS/crypto.xhtml
Max HTML report size reached
1.2 KB
OEBPS/content.opf
1.17 KB
OEBPS/content.opf
Max HTML report size reached
29.0 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto.html
    
Offset 793, 15 lines modifiedOffset 793, 15 lines modified
  
793 ····<div·class="summary-row">793 ····<div·class="summary-row">
794 ······<div·class="summary-signature">794 ······<div·class="summary-signature">
795 ········<a·href="#t:rsa_params/0"·data-no-tooltip·translate="no">rsa_params()</a>795 ········<a·href="#t:rsa_params/0"·data-no-tooltip·translate="no">rsa_params()</a>
  
796 ······</div>796 ······</div>
  
797 ········<div·class="summary-synopsis"><pre><code·class="text">rsa_public()·=·[E,·N]</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">rsa_private</span><span·class="p"·data-group-id="5986490887-1">(</span><span·class="p"·data-group-id="5986490887-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5986490887-2">[</span><span·class="n">E</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·863,·SHA:·d8d432e52e97d19e7c059cdc48ccd177d384c81df5261d5d42c298d4f047a7c9·...·]-3">]</span></code></pre><p>Where·E·is·the·public·exponent,·N·is·public·modulus·and·D·is·the·private797 ········<div·class="summary-synopsis"><pre><code·class="text">rsa_public()·=·[E,·N]</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">rsa_private</span><span·class="p"·data-group-id="3883345603-1">(</span><span·class="p"·data-group-id="3883345603-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3883345603-2">[</span><span·class="n">E</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·863,·SHA:·a90461635f87219da46d186d2fc09d2e0b425ed119abb1e0b7fbc564981ab646·...·]-3">]</span></code></pre><p>Where·E·is·the·public·exponent,·N·is·public·modulus·and·D·is·the·private
798 exponent.·The·longer·key·format·contains·redundant·information·that·will·make798 exponent.·The·longer·key·format·contains·redundant·information·that·will·make
799 the·calculation·faster.·P1·and·P2·are·first·and·second·prime·factors.·E1·and·E2799 the·calculation·faster.·P1·and·P2·are·first·and·second·prime·factors.·E1·and·E2
800 are·first·and·second·exponents.·C·is·the·CRT·coefficient.·The·terminology·is800 are·first·and·second·exponents.·C·is·the·CRT·coefficient.·The·terminology·is
801 taken·from·<a·href="http://www.ietf.org/rfc/rfc3447.txt">RFC·3447</a>.</p></div>801 taken·from·<a·href="http://www.ietf.org/rfc/rfc3447.txt">RFC·3447</a>.</p></div>
  
802 ····</div>802 ····</div>
  
Offset 3610, 15 lines modifiedOffset 3610, 15 lines modified
  
3610 ······<div·class="specs">3610 ······<div·class="specs">
  
3611 ··········<pre·translate="no"><span·class="attribute">-type</span>·rsa_params()·::·{ModulusSizeInBits·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·PublicExponent·::·<a·href="#t:key_integer/0">key_integer</a>()}.</pre>3611 ··········<pre·translate="no"><span·class="attribute">-type</span>·rsa_params()·::·{ModulusSizeInBits·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·PublicExponent·::·<a·href="#t:key_integer/0">key_integer</a>()}.</pre>
  
3612 ······</div>3612 ······</div>
  
3613 <pre><code·class="text">rsa_public()·=·[E,·N]</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">rsa_private</span><span·class="p"·data-group-id="5986490887-1">(</span><span·class="p"·data-group-id="5986490887-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5986490887-2">[</span><span·class="n">E</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·863,·SHA:·d8d432e52e97d19e7c059cdc48ccd177d384c81df5261d5d42c298d4f047a7c9·...·]-3">]</span></code></pre><p>Where·E·is·the·public·exponent,·N·is·public·modulus·and·D·is·the·private3613 <pre><code·class="text">rsa_public()·=·[E,·N]</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">rsa_private</span><span·class="p"·data-group-id="3883345603-1">(</span><span·class="p"·data-group-id="3883345603-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3883345603-2">[</span><span·class="n">E</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·863,·SHA:·a90461635f87219da46d186d2fc09d2e0b425ed119abb1e0b7fbc564981ab646·...·]-3">]</span></code></pre><p>Where·E·is·the·public·exponent,·N·is·public·modulus·and·D·is·the·private
3614 exponent.·The·longer·key·format·contains·redundant·information·that·will·make3614 exponent.·The·longer·key·format·contains·redundant·information·that·will·make
3615 the·calculation·faster.·P1·and·P2·are·first·and·second·prime·factors.·E1·and·E23615 the·calculation·faster.·P1·and·P2·are·first·and·second·prime·factors.·E1·and·E2
3616 are·first·and·second·exponents.·C·is·the·CRT·coefficient.·The·terminology·is3616 are·first·and·second·exponents.·C·is·the·CRT·coefficient.·The·terminology·is
3617 taken·from·<a·href="http://www.ietf.org/rfc/rfc3447.txt">RFC·3447</a>.</p>3617 taken·from·<a·href="http://www.ietf.org/rfc/rfc3447.txt">RFC·3447</a>.</p>
3618 ··</section>3618 ··</section>
3619 </section>3619 </section>
3620 <section·class="detail"·id="t:rsa_private/0">3620 <section·class="detail"·id="t:rsa_private/0">
Offset 6076, 17 lines modifiedOffset 6076, 17 lines modified
6076 ······</div>6076 ······</div>
  
6077 <p>Create·a·state·object·for·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html">random·number·generation</a>,·in·order·to6077 <p>Create·a·state·object·for·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html">random·number·generation</a>,·in·order·to
6078 generate·cryptographically·strong·random·numbers·(based·on·OpenSSL's6078 generate·cryptographically·strong·random·numbers·(based·on·OpenSSL's
6079 <code·class="inline">BN_rand_range</code>).</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as6079 <code·class="inline">BN_rand_range</code>).</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as
6080 well.·See·also·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html#seed/1"><code·class="inline">rand:seed/1</code></a>·and·<a·href="#rand_seed_s/0"><code·class="inline">rand_seed_s/0</code></a>.</p><p>When·using·the·state·object·from·this·function·the·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html"><code·class="inline">rand</code></a>·functions·using·it6080 well.·See·also·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html#seed/1"><code·class="inline">rand:seed/1</code></a>·and·<a·href="#rand_seed_s/0"><code·class="inline">rand_seed_s/0</code></a>.</p><p>When·using·the·state·object·from·this·function·the·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html"><code·class="inline">rand</code></a>·functions·using·it
6081 may·raise·exception·<code·class="inline">error:low_entropy</code>·in·case·the·random·generator·failed·due6081 may·raise·exception·<code·class="inline">error:low_entropy</code>·in·case·the·random·generator·failed·due
6082 to·lack·of·secure·&quot;randomness&quot;.</p><p><em>Example</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed</span><span·class="p"·data-group-id="1002276414-1">(</span><span·class="p"·data-group-id="1002276414-1">)</span><span·class="p">,</span><span·class="w">6082 to·lack·of·secure·&quot;randomness&quot;.</p><p><em>Example</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed</span><span·class="p"·data-group-id="1144444870-1">(</span><span·class="p"·data-group-id="1144444870-1">)</span><span·class="p">,</span><span·class="w">
6083 </span><span·class="p">_</span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="1002276414-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="1002276414-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">6083 </span><span·class="p">_</span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="1144444870-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="1144444870-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">
6084 </span><span·class="p">_</span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="1002276414-3">(</span><span·class="p"·data-group-id="1002276414-3">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span></code></pre>6084 </span><span·class="p">_</span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="1144444870-3">(</span><span·class="p"·data-group-id="1144444870-3">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span></code></pre>
6085 ··</section>6085 ··</section>
6086 </section>6086 </section>
6087 <section·class="detail"·id="rand_seed/1">6087 <section·class="detail"·id="rand_seed/1">
  
6088 ··<div·class="detail-header">6088 ··<div·class="detail-header">
6089 ····<a·href="#rand_seed/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">6089 ····<a·href="#rand_seed/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
6090 ······<i·class="ri-link-m"·aria-hidden="true"></i>6090 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 6140, 17 lines modifiedOffset 6140, 17 lines modified
  
6140 ······</div>6140 ······</div>
  
6141 <p>Create·a·state·object·for·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html">random·number·generation</a>,·in·order·to6141 <p>Create·a·state·object·for·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html">random·number·generation</a>,·in·order·to
6142 generate·cryptographically·strong·random·numbers.</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as·well.·See·also6142 generate·cryptographically·strong·random·numbers.</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as·well.·See·also
6143 <a·href="../../../../lib/stdlib-7.0/doc/html/rand.html#seed/1"><code·class="inline">rand:seed/1</code></a>·and·<a·href="#rand_seed_alg_s/1"><code·class="inline">rand_seed_alg_s/1</code></a>.</p><p>When·using·the·state·object·from·this·function·the·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html"><code·class="inline">rand</code></a>·functions·using·it6143 <a·href="../../../../lib/stdlib-7.0/doc/html/rand.html#seed/1"><code·class="inline">rand:seed/1</code></a>·and·<a·href="#rand_seed_alg_s/1"><code·class="inline">rand_seed_alg_s/1</code></a>.</p><p>When·using·the·state·object·from·this·function·the·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html"><code·class="inline">rand</code></a>·functions·using·it
6144 may·raise·exception·<code·class="inline">error:low_entropy</code>·in·case·the·random·generator·failed·due6144 may·raise·exception·<code·class="inline">error:low_entropy</code>·in·case·the·random·generator·failed·due
6145 to·lack·of·secure·&quot;randomness&quot;.</p><p><em>Example</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed_alg</span><span·class="p"·data-group-id="8282099239-1">(</span><span·class="ss">crypto_cache</span><span·class="p"·data-group-id="8282099239-1">)</span><span·class="p">,</span><span·class="w">6145 to·lack·of·secure·&quot;randomness&quot;.</p><p><em>Example</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed_alg</span><span·class="p"·data-group-id="5565053159-1">(</span><span·class="ss">crypto_cache</span><span·class="p"·data-group-id="5565053159-1">)</span><span·class="p">,</span><span·class="w">
6146 </span><span·class="p">_</span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="8282099239-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="8282099239-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">6146 </span><span·class="p">_</span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="5565053159-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="5565053159-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">
6147 </span><span·class="p">_</span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="8282099239-3">(</span><span·class="p"·data-group-id="8282099239-3">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span></code></pre>6147 </span><span·class="p">_</span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="5565053159-3">(</span><span·class="p"·data-group-id="5565053159-3">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span></code></pre>
6148 ··</section>6148 ··</section>
6149 </section>6149 </section>
6150 <section·class="detail"·id="rand_seed_alg/2">6150 <section·class="detail"·id="rand_seed_alg/2">
  
6151 ··<div·class="detail-header">6151 ··<div·class="detail-header">
6152 ····<a·href="#rand_seed_alg/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">6152 ····<a·href="#rand_seed_alg/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
6153 ······<i·class="ri-link-m"·aria-hidden="true"></i>6153 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 6172, 20 lines modifiedOffset 6172, 20 lines modified
  
6172 ··········<pre·translate="no"><span·class="attribute">-spec</span>·rand_seed_alg(Alg·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),·Seed·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->·{<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html#t:alg_handler/0">rand:alg_handler</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>()·|·<a·href="#t:rand_cache_seed/0">rand_cache_seed</a>()}.</pre>6172 ··········<pre·translate="no"><span·class="attribute">-spec</span>·rand_seed_alg(Alg·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),·Seed·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->·{<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html#t:alg_handler/0">rand:alg_handler</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>()·|·<a·href="#t:rand_cache_seed/0">rand_cache_seed</a>()}.</pre>
  
6173 ······</div>6173 ······</div>
  
6174 <p>Creates·a·state·object·for·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html">random·number·generation</a>,·in·order·to6174 <p>Creates·a·state·object·for·<a·href="../../../../lib/stdlib-7.0/doc/html/rand.html">random·number·generation</a>,·in·order·to
6175 generate·cryptographically·unpredictable·random·numbers.</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as·well.·See·also6175 generate·cryptographically·unpredictable·random·numbers.</p><p>Saves·the·state·in·the·process·dictionary·before·returning·it·as·well.·See·also
6176 <a·href="#rand_seed_alg_s/2"><code·class="inline">rand_seed_alg_s/2</code></a>.</p><p><em>Example</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed_alg</span><span·class="p"·data-group-id="6315124317-1">(</span><span·class="ss">crypto_aes</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my·seed&quot;</span><span·class="p"·data-group-id="6315124317-1">)</span><span·class="p">,</span><span·class="w">6176 <a·href="#rand_seed_alg_s/2"><code·class="inline">rand_seed_alg_s/2</code></a>.</p><p><em>Example</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed_alg</span><span·class="p"·data-group-id="1210657325-1">(</span><span·class="ss">crypto_aes</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my·seed&quot;</span><span·class="p"·data-group-id="1210657325-1">)</span><span·class="p">,</span><span·class="w">
6177 </span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="6315124317-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="6315124317-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">6177 </span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="1210657325-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="1210657325-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·[1;·42]</span><span·class="w">
6178 </span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="6315124317-3">(</span><span·class="p"·data-group-id="6315124317-3">)</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span><span·class="w">6178 </span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="1210657325-3">(</span><span·class="p"·data-group-id="1210657325-3">)</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%·[0.0;·1.0[</span><span·class="w">
6179 </span><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed_alg</span><span·class="p"·data-group-id="6315124317-4">(</span><span·class="ss">crypto_aes</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my·seed&quot;</span><span·class="p"·data-group-id="6315124317-4">)</span><span·class="p">,</span><span·class="w">6179 </span><span·class="p">_</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">rand_seed_alg</span><span·class="p"·data-group-id="1210657325-4">(</span><span·class="ss">crypto_aes</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my·seed&quot;</span><span·class="p"·data-group-id="1210657325-4">)</span><span·class="p">,</span><span·class="w">
6180 </span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="6315124317-5">(</span><span·class="mi">42</span><span·class="p"·data-group-id="6315124317-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Same·values</span><span·class="w">6180 </span><span·class="n">IntegerValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="1210657325-5">(</span><span·class="mi">42</span><span·class="p"·data-group-id="1210657325-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Same·values</span><span·class="w">
6181 </span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="6315124317-6">(</span><span·class="p"·data-group-id="6315124317-6">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·again</span></code></pre>6181 </span><span·class="n">FloatValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="1210657325-6">(</span><span·class="p"·data-group-id="1210657325-6">)</span><span·class="p">.</span><span·class="w">·····</span><span·class="c1">%·again</span></code></pre>
6182 ··</section>6182 ··</section>
6183 </section>6183 </section>
6184 <section·class="detail"·id="rand_seed_alg_s/1">6184 <section·class="detail"·id="rand_seed_alg_s/1">
  
6185 ··<div·class="detail-header">6185 ··<div·class="detail-header">
6186 ····<a·href="#rand_seed_alg_s/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">6186 ····<a·href="#rand_seed_alg_s/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
6187 ······<i·class="ri-link-m"·aria-hidden="true"></i>6187 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 6792, 22 lines modifiedOffset 6792, 22 lines modified
6792 ················link_type·:=·dynamic·|·static,6792 ················link_type·:=·dynamic·|·static,
6793 ················otp_crypto_version·:=·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),6793 ················otp_crypto_version·:=·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),
6794 ················fips_provider_available·=>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>(),6794 ················fips_provider_available·=>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>(),
6795 ················fips_provider_buildinfo·=>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()}.</pre>6795 ················fips_provider_buildinfo·=>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()}.</pre>
  
6796 ······</div>6796 ······</div>
  
6797 <p>Get·information·about·crypto·and·the·OpenSSL·backend.</p><p>Returns·a·map·with·information·about·the·compilation·and·linking·of·crypto.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">info</span><span·class="p"·data-group-id="9398684088-1">(</span><span·class="p"·data-group-id="9398684088-1">)</span><span·class="p">.</span><span·class="w">6797 <p>Get·information·about·crypto·and·the·OpenSSL·backend.</p><p>Returns·a·map·with·information·about·the·compilation·and·linking·of·crypto.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">info</span><span·class="p"·data-group-id="2175196631-1">(</span><span·class="p"·data-group-id="2175196631-1">)</span><span·class="p">.</span><span·class="w">
6798 </span><span·class="p"·data-group-id="9398684088-2">#{</span><span·class="ss">compile_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">6798 </span><span·class="p"·data-group-id="2175196631-2">#{</span><span·class="ss">compile_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">
6799 ··</span><span·class="ss">cryptolib_version_compiled</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;OpenSSL·3.0.0·7·sep·2021&quot;</span><span·class="p">,</span><span·class="w">6799 ··</span><span·class="ss">cryptolib_version_compiled</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;OpenSSL·3.0.0·7·sep·2021&quot;</span><span·class="p">,</span><span·class="w">
6800 ··</span><span·class="ss">cryptolib_version_linked</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;OpenSSL·3.0.0·7·sep·2021&quot;</span><span·class="p">,</span><span·class="w">6800 ··</span><span·class="ss">cryptolib_version_linked</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;OpenSSL·3.0.0·7·sep·2021&quot;</span><span·class="p">,</span><span·class="w">
6801 ··</span><span·class="ss">link_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">dynamic</span><span·class="p">,</span><span·class="w">6801 ··</span><span·class="ss">link_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">dynamic</span><span·class="p">,</span><span·class="w">
6802 ··</span><span·class="ss">otp_crypto_version</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;5.0.2&quot;</span><span·class="p">,</span><span·class="w">6802 ··</span><span·class="ss">otp_crypto_version</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;5.0.2&quot;</span><span·class="p">,</span><span·class="w">
6803 ··</span><span·class="ss">fips_provider_available</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">6803 ··</span><span·class="ss">fips_provider_available</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">
6804 ··</span><span·class="ss">fips_provider_buildinfo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;3.0.0&quot;</span><span·class="p"·data-group-id="9398684088-2">}</span><span·class="w">6804 ··</span><span·class="ss">fips_provider_buildinfo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;3.0.0&quot;</span><span·class="p"·data-group-id="2175196631-2">}</span><span·class="w">
6805 </span><span·class="mi">2</span><span·class="o">&gt;</span></code></pre><p>More·association·types·than·documented·may·be·present·in·the·map.·Some·of·the6805 </span><span·class="mi">2</span><span·class="o">&gt;</span></code></pre><p>More·association·types·than·documented·may·be·present·in·the·map.·Some·of·the
6806 associations·(like·fips)·may·be·absent·if·not·supported.</p>6806 associations·(like·fips)·may·be·absent·if·not·supported.</p>
6807 ··</section>6807 ··</section>
6808 </section>6808 </section>
6809 <section·class="detail"·id="info_fips/0">6809 <section·class="detail"·id="info_fips/0">
  
6810 ··<div·class="detail-header">6810 ··<div·class="detail-header">
Offset 6864, 16 lines modifiedOffset 6864, 16 lines modified
6864 ··········<pre·translate="no"><span·class="attribute">-spec</span>·info_lib()·->·[{Name,·VerNum,·VerStr}]6864 ··········<pre·translate="no"><span·class="attribute">-spec</span>·info_lib()·->·[{Name,·VerNum,·VerStr}]
6865 ··················when·Name·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>(),·VerNum·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·VerStr·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>().</pre>6865 ··················when·Name·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>(),·VerNum·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·VerStr·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>().</pre>
  
6866 ······</div>6866 ······</div>
  
6867 <p>Get·the·name·and·version·of·the·libraries·used·by·crypto.</p><p><code·class="inline">Name</code>·is·the·name·of·the·library.·<code·class="inline">VerNum</code>·is·the·numeric·version·according·to6867 <p>Get·the·name·and·version·of·the·libraries·used·by·crypto.</p><p><code·class="inline">Name</code>·is·the·name·of·the·library.·<code·class="inline">VerNum</code>·is·the·numeric·version·according·to
6868 the·library's·own·versioning·scheme.·<code·class="inline">VerStr</code>·contains·a·text·variant·of·the6868 the·library's·own·versioning·scheme.·<code·class="inline">VerStr</code>·contains·a·text·variant·of·the
6869 version.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">info_lib</span><span·class="p"·data-group-id="6734697172-1">(</span><span·class="p"·data-group-id="6734697172-1">)</span><span·class="p">.</span><span·class="w">6869 version.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">info_lib</span><span·class="p"·data-group-id="0426957526-1">(</span><span·class="p"·data-group-id="0426957526-1">)</span><span·class="p">.</span><span·class="w">
6870 </span><span·class="p"·data-group-id="6734697172-2">[</span><span·class="p"·data-group-id="6734697172-3">{</span><span·class="p"·data-group-id="6734697172-4">&lt;&lt;</span><span·class="s">&quot;OpenSSL&quot;</span><span·class="p"·data-group-id="6734697172-4">&gt;&gt;</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·367,·SHA:·6a91c9ef4c8f58f4356fbf2bfbdd390315e801cbec2b7922ffe5d0e3b7a0ddad·...·]-2">]</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>From·OTP·R16·the·<em>numeric·version</em>·represents·the·version·of·the·OpenSSL6870 </span><span·class="p"·data-group-id="0426957526-2">[</span><span·class="p"·data-group-id="0426957526-3">{</span><span·class="p"·data-group-id="0426957526-4">&lt;&lt;</span><span·class="s">&quot;OpenSSL&quot;</span><span·class="p"·data-group-id="0426957526-4">&gt;&gt;</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·367,·SHA:·2b4534e6d3c289b563528caac9f666e1618946ce44afcc134e67cf3d0f15a010·...·]-2">]</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>From·OTP·R16·the·<em>numeric·version</em>·represents·the·version·of·the·OpenSSL
6871 <em>header·files</em>·(<code·class="inline">openssl/opensslv.h</code>)·used·when·crypto·was·compiled.·The·text6871 <em>header·files</em>·(<code·class="inline">openssl/opensslv.h</code>)·used·when·crypto·was·compiled.·The·text
6872 variant·represents·the·libcrypto·library·used·at·runtime.·In·earlier·OTP6872 variant·represents·the·libcrypto·library·used·at·runtime.·In·earlier·OTP
6873 versions·both·numeric·and·text·was·taken·from·the·library.</p></section>6873 versions·both·numeric·and·text·was·taken·from·the·library.</p></section>
6874 ··</section>6874 ··</section>
6875 </section>6875 </section>
6876 <section·class="detail"·id="mod_pow/3">6876 <section·class="detail"·id="mod_pow/3">
Max diff block lines reached; 701/28797 bytes (2.43%) of diff not shown.
716 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/crypto_app.html
    
Offset 221, 15 lines modifiedOffset 221, 15 lines modified
221 ······<p·class="built-using">221 ······<p·class="built-using">
222 ········Built·using222 ········Built·using
223 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the223 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
224 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>224 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
225 ······</p>225 ······</p>
226 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>226 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
227 ····</footer>227 ····</footer>
228 ··</div>228 ··</div>
229 </main>229 </main>
230 </div>230 </div>
231 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>231 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
232 ··<script>232 ··<script>
233 ··let·initialized·=·false;233 ··let·initialized·=·false;
653 B
html2text {}
Max HTML report size reached
20.3 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/engine_keys.html
    
Offset 157, 50 lines modifiedOffset 157, 50 lines modified
157 <h3·id="sign-with-an-engine-stored-private-key"·class="section-heading">157 <h3·id="sign-with-an-engine-stored-private-key"·class="section-heading">
158 ··<a·href="#sign-with-an-engine-stored-private-key"·class="hover-link">158 ··<a·href="#sign-with-an-engine-stored-private-key"·class="hover-link">
159 ····<i·class="ri-link-m"·aria-hidden="true"></i>159 ····<i·class="ri-link-m"·aria-hidden="true"></i>
160 ··</a>160 ··</a>
161 ··<span·class="text">Sign·with·an·engine·stored·private·key</span>161 ··<span·class="text">Sign·with·an·engine·stored·private·key</span>
162 </h3>162 </h3>
163 <p>This·example·shows·how·to·construct·a·key·reference·that·is·used·in·a·sign163 <p>This·example·shows·how·to·construct·a·key·reference·that·is·used·in·a·sign
164 operation.·The·actual·key·is·stored·in·the·engine·that·is·loaded·at·prompt·1.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="1570152956-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EngineRef</span><span·class="p"·data-group-id="1570152956-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·276,·SHA:·4bec9420f83c8b68862d0c0b24c53252dab1b9d2264200b2c560706dda4c5c03·...·]-2">)</span><span·class="p">.</span><span·class="w">164 operation.·The·actual·key·is·stored·in·the·engine·that·is·loaded·at·prompt·1.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="5680637743-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EngineRef</span><span·class="p"·data-group-id="5680637743-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·276,·SHA:·c4e65d7f4196f8531123cb78b0c7ca4d18b445642c6ce855d4526e88b8ad94d4·...·]-2">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">165 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
166 </span><span·class="p"·data-group-id="1570152956-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.2399045421</span><span·class="p">.</span><span·class="mf">3028942852.173962</span><span·[·...·truncated·by·diffoscope;·len:·62,·SHA:·b1440444fa0a7db87ed28b819074cbf56ed297d7b67e29cb69a00f2ec5501378·...·]-3">}</span><span·class="gp·unselectable">166 </span><span·class="p"·data-group-id="5680637743-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.2399045421</span><span·class="p">.</span><span·class="mf">3028942852.173962</span><span·[·...·truncated·by·diffoscope;·len:·62,·SHA:·3da0665cb8ca1b9c5a754c813899cccbb365bbe1292df92a02af6685f5975ea2·...·]-3">}</span><span·class="gp·unselectable">
167 2&gt;·</span><span·class="n">PrivKey</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1570152956-4">#{</span><span·class="ss">engine</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">EngineRef</span><span·class="p">,</span><span·class="w">167 2&gt;·</span><span·class="n">PrivKey</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5680637743-4">#{</span><span·class="ss">engine</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">EngineRef</span><span·class="p">,</span><span·class="w">
168 ···············</span><span·class="ss">key_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;id·of·the·private·key·in·Engine&quot;</span><span·class="p"·data-group-id="1570152956-4">}</span><span·class="p">.</span><span·class="w">168 ···············</span><span·class="ss">key_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;id·of·the·private·key·in·Engine&quot;</span><span·class="p"·data-group-id="5680637743-4">}</span><span·class="p">.</span><span·class="w">
169 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">169 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">
170 3&gt;·</span><span·class="n">Signature</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">sign</span><span·class="p"·data-group-id="1570152956-5">(</span><span·class="ss">rsa</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">sha</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1570152956-6">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·201,·SHA:·6a594cb760bf5a864294335f2747232fdae318f053f70e591944da8153096b91·...·]-5">)</span><span·class="p">.</span><span·class="w">170 3&gt;·</span><span·class="n">Signature</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">sign</span><span·class="p"·data-group-id="5680637743-5">(</span><span·class="ss">rsa</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">sha</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5680637743-6">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·201,·SHA:·9e42aedae9a1673ba9fc65aee8fcbfafadae7db044ee7057648e67d6cf3e385e·...·]-5">)</span><span·class="p">.</span><span·class="w">
171 </span><span·class="p"·data-group-id="1570152956-7">&lt;&lt;</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">125</span><span·class="p">,</span><span·class="mi">254</span><span·class="p">,</span><span·class="mi">54</span><span·class="p">,</span><span·class="mi">233</span><span·class="p">,</span><span·class="mi">84</span><span·class="p">,</span><span·class="mi">77</span><span·class="p">,</span><span·class="mi">83</span><span·class="p">,</span><span·class="mi">63</span><span·class="p">,</span><span·class="mi">168</span><span·class="p">,</span><span·class="mi">28</span><span·class="p">,</span><span·class="mi">169</span><span·class="p">,</span><span·class="mi">214</span><span·class="p">,</span><span·class="mi">121</span><span·class="p">,</span><span·class="mi">76</span><span·class="p">,</span><span·class="w">171 </span><span·class="p"·data-group-id="5680637743-7">&lt;&lt;</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">125</span><span·class="p">,</span><span·class="mi">254</span><span·class="p">,</span><span·class="mi">54</span><span·class="p">,</span><span·class="mi">233</span><span·class="p">,</span><span·class="mi">84</span><span·class="p">,</span><span·class="mi">77</span><span·class="p">,</span><span·class="mi">83</span><span·class="p">,</span><span·class="mi">63</span><span·class="p">,</span><span·class="mi">168</span><span·class="p">,</span><span·class="mi">28</span><span·class="p">,</span><span·class="mi">169</span><span·class="p">,</span><span·class="mi">214</span><span·class="p">,</span><span·class="mi">121</span><span·class="p">,</span><span·class="mi">76</span><span·class="p">,</span><span·class="w">
172 ··</span><span·class="mi">207</span><span·class="p">,</span><span·class="mi">177</span><span·class="p">,</span><span·class="mi">124</span><span·class="p">,</span><span·class="mi">183</span><span·class="p">,</span><span·class="mi">156</span><span·class="p">,</span><span·class="mi">185</span><span·class="p">,</span><span·class="mi">160</span><span·class="p">,</span><span·class="mi">243</span><span·class="p">,</span><span·class="mi">36</span><span·class="p">,</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">125</span><span·class="p">,</span><span·class="mi">230</span><span·class="p">,</span><span·class="mi">231</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1570152956-7">&gt;&gt;</span></code></pre><h3·id="verify-with-an-engine-stored-public-key"·class="section-heading">172 ··</span><span·class="mi">207</span><span·class="p">,</span><span·class="mi">177</span><span·class="p">,</span><span·class="mi">124</span><span·class="p">,</span><span·class="mi">183</span><span·class="p">,</span><span·class="mi">156</span><span·class="p">,</span><span·class="mi">185</span><span·class="p">,</span><span·class="mi">160</span><span·class="p">,</span><span·class="mi">243</span><span·class="p">,</span><span·class="mi">36</span><span·class="p">,</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">125</span><span·class="p">,</span><span·class="mi">230</span><span·class="p">,</span><span·class="mi">231</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="5680637743-7">&gt;&gt;</span></code></pre><h3·id="verify-with-an-engine-stored-public-key"·class="section-heading">
173 ··<a·href="#verify-with-an-engine-stored-public-key"·class="hover-link">173 ··<a·href="#verify-with-an-engine-stored-public-key"·class="hover-link">
174 ····<i·class="ri-link-m"·aria-hidden="true"></i>174 ····<i·class="ri-link-m"·aria-hidden="true"></i>
175 ··</a>175 ··</a>
176 ··<span·class="text">Verify·with·an·engine·stored·public·key</span>176 ··<span·class="text">Verify·with·an·engine·stored·public·key</span>
177 </h3>177 </h3>
178 <p>Here·the·signature·and·message·in·the·last·example·is·verifyed·using·the·public178 <p>Here·the·signature·and·message·in·the·last·example·is·verifyed·using·the·public
179 key.·The·public·key·is·stored·in·an·engine,·only·to·exemplify·that·it·is179 key.·The·public·key·is·stored·in·an·engine,·only·to·exemplify·that·it·is
180 possible.·The·public·key·could·of·course·be·handled·openly·as·usual.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="n">PublicKey</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5119546873-1">#{</span><span·class="ss">engine</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">EngineRef</span><span·class="p">,</span><span·class="w">180 possible.·The·public·key·could·of·course·be·handled·openly·as·usual.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="n">PublicKey</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4890320166-1">#{</span><span·class="ss">engine</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">EngineRef</span><span·class="p">,</span><span·class="w">
181 ·················</span><span·class="ss">key_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;id·of·the·public·key·in·Engine&quot;</span><span·class="p"·data-group-id="5119546873-1">}</span><span·class="p">.</span><span·class="w">181 ·················</span><span·class="ss">key_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;id·of·the·public·key·in·Engine&quot;</span><span·class="p"·data-group-id="4890320166-1">}</span><span·class="p">.</span><span·class="w">
182 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">182 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">
183 5&gt;·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">verify</span><span·class="p"·data-group-id="5119546873-2">(</span><span·class="ss">rsa</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">sha</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5119546873-3">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·283,·SHA:·2121131e20fd3f85b21ed38dfc12a7d0912dfe5efa2552797a1f73f25bda6deb·...·]-2">)</span><span·class="p">.</span><span·class="w">183 5&gt;·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">verify</span><span·class="p"·data-group-id="4890320166-2">(</span><span·class="ss">rsa</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">sha</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4890320166-3">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·283,·SHA:·f8e528e22b57207f9bd2813616fd2bc50cb6528186dfc05d2a3960c54b81f933·...·]-2">)</span><span·class="p">.</span><span·class="w">
184 </span><span·class="ss">true</span><span·class="w">184 </span><span·class="ss">true</span><span·class="w">
185 </span><span·class="mi">6</span><span·class="o">&gt;</span></code></pre><h3·id="using-a-password-protected-private-key"·class="section-heading">185 </span><span·class="mi">6</span><span·class="o">&gt;</span></code></pre><h3·id="using-a-password-protected-private-key"·class="section-heading">
186 ··<a·href="#using-a-password-protected-private-key"·class="hover-link">186 ··<a·href="#using-a-password-protected-private-key"·class="hover-link">
187 ····<i·class="ri-link-m"·aria-hidden="true"></i>187 ····<i·class="ri-link-m"·aria-hidden="true"></i>
188 ··</a>188 ··</a>
189 ··<span·class="text">Using·a·password·protected·private·key</span>189 ··<span·class="text">Using·a·password·protected·private·key</span>
190 </h3>190 </h3>
191 <p>The·same·example·as·the·first·sign·example,·except·that·a·password·protects·the191 <p>The·same·example·as·the·first·sign·example,·except·that·a·password·protects·the
192 key·down·in·the·Engine.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="n">PrivKeyPwd</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8774524655-1">#{</span><span·class="ss">engine</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">EngineRef</span><span·class="p">,</span><span·class="w">192 key·down·in·the·Engine.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="n">PrivKeyPwd</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3356797158-1">#{</span><span·class="ss">engine</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">EngineRef</span><span·class="p">,</span><span·class="w">
193 ··················</span><span·class="ss">key_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;id·of·the·pwd·protected·private·key·in·Engine&quot;</span><span·class="p">,</span><span·class="w">193 ··················</span><span·class="ss">key_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;id·of·the·pwd·protected·private·key·in·Engine&quot;</span><span·class="p">,</span><span·class="w">
194 »       »       ··</span><span·class="ss">password</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;password&quot;</span><span·class="p"·data-group-id="8774524655-1">}</span><span·class="p">.</span><span·class="w">194 »       »       ··</span><span·class="ss">password</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;password&quot;</span><span·class="p"·data-group-id="3356797158-1">}</span><span·class="p">.</span><span·class="w">
195 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">195 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">
196 7&gt;·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">sign</span><span·class="p"·data-group-id="8774524655-2">(</span><span·class="ss">rsa</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">sha</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8774524655-3">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·204,·SHA:·29948b221d02cbff6a37a9d158b3dcf68fb3d031bfdf6f8608639e23af8e78a9·...·]-2">)</span><span·class="p">.</span><span·class="w">196 7&gt;·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">sign</span><span·class="p"·data-group-id="3356797158-2">(</span><span·class="ss">rsa</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">sha</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3356797158-3">&lt;&lt;</span><span·class="s">&quot;Th[·...·truncated·by·diffoscope;·len:·204,·SHA:·f446218ddf7c1db1579145054d2f2ed9b37fdb7a69e2d0e184d19dbf4a76c929·...·]-2">)</span><span·class="p">.</span><span·class="w">
197 </span><span·class="p"·data-group-id="8774524655-4">&lt;&lt;</span><span·class="mi">140</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">168</span><span·class="p">,</span><span·class="mi">101</span><span·class="p">,</span><span·class="mi">234</span><span·class="p">,</span><span·class="mi">211</span><span·class="p">,</span><span·class="mi">146</span><span·class="p">,</span><span·class="mi">183</span><span·class="p">,</span><span·class="mi">231</span><span·class="p">,</span><span·class="mi">190</span><span·class="p">,</span><span·class="mi">160</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">85</span><span·class="p">,</span><span·class="mi">163</span><span·class="p">,</span><span·class="w">197 </span><span·class="p"·data-group-id="3356797158-4">&lt;&lt;</span><span·class="mi">140</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">168</span><span·class="p">,</span><span·class="mi">101</span><span·class="p">,</span><span·class="mi">234</span><span·class="p">,</span><span·class="mi">211</span><span·class="p">,</span><span·class="mi">146</span><span·class="p">,</span><span·class="mi">183</span><span·class="p">,</span><span·class="mi">231</span><span·class="p">,</span><span·class="mi">190</span><span·class="p">,</span><span·class="mi">160</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">85</span><span·class="p">,</span><span·class="mi">163</span><span·class="p">,</span><span·class="w">
198 ··</span><span·class="mi">175</span><span·class="p">,</span><span·class="mi">106</span><span·class="p">,</span><span·class="mi">77</span><span·class="p">,</span><span·class="mi">241</span><span·class="p">,</span><span·class="mi">141</span><span·class="p">,</span><span·class="mi">120</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="mi">149</span><span·class="p">,</span><span·class="mi">181</span><span·class="p">,</span><span·class="mi">181</span><span·class="p">,</span><span·class="mi">194</span><span·class="p">,</span><span·class="mi">154</span><span·class="p">,</span><span·class="mi">175</span><span·class="p">,</span><span·class="mi">76</span><span·class="p">,</span><span·class="w">198 ··</span><span·class="mi">175</span><span·class="p">,</span><span·class="mi">106</span><span·class="p">,</span><span·class="mi">77</span><span·class="p">,</span><span·class="mi">241</span><span·class="p">,</span><span·class="mi">141</span><span·class="p">,</span><span·class="mi">120</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="mi">149</span><span·class="p">,</span><span·class="mi">181</span><span·class="p">,</span><span·class="mi">181</span><span·class="p">,</span><span·class="mi">194</span><span·class="p">,</span><span·class="mi">154</span><span·class="p">,</span><span·class="mi">175</span><span·class="p">,</span><span·class="mi">76</span><span·class="p">,</span><span·class="w">
199 ··</span><span·class="mi">223</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="8774524655-4">&gt;&gt;</span><span·class="w">199 ··</span><span·class="mi">223</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="3356797158-4">&gt;&gt;</span><span·class="w">
200 </span><span·class="mi">8</span><span·class="o">&gt;</span></code></pre>200 </span><span·class="mi">8</span><span·class="o">&gt;</span></code></pre>
201 </div>201 </div>
  
202 <div·class="bottom-actions"·id="bottom-actions">202 <div·class="bottom-actions"·id="bottom-actions">
203 ··<div·class="bottom-actions-item">203 ··<div·class="bottom-actions-item">
  
204 ······<a·href="engine_load.html"·class="bottom-actions-button"·rel="prev">204 ······<a·href="engine_load.html"·class="bottom-actions-button"·rel="prev">
Offset 244, 15 lines modifiedOffset 244, 15 lines modified
244 ······<p·class="built-using">244 ······<p·class="built-using">
245 ········Built·using245 ········Built·using
246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
248 ······</p>248 ······</p>
249 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>249 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
250 ····</footer>250 ····</footer>
251 ··</div>251 ··</div>
252 </main>252 </main>
253 </div>253 </div>
254 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>254 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
255 ··<script>255 ··<script>
256 ··let·initialized·=·false;256 ··let·initialized·=·false;
611 B
html2text {}
Max HTML report size reached
25.3 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/engine_load.html
    
Offset 148, 64 lines modifiedOffset 148, 64 lines modified
148 <h3·id="dynamically-load-an-engine-from-default-directory"·class="section-heading">148 <h3·id="dynamically-load-an-engine-from-default-directory"·class="section-heading">
149 ··<a·href="#dynamically-load-an-engine-from-default-directory"·class="hover-link">149 ··<a·href="#dynamically-load-an-engine-from-default-directory"·class="hover-link">
150 ····<i·class="ri-link-m"·aria-hidden="true"></i>150 ····<i·class="ri-link-m"·aria-hidden="true"></i>
151 ··</a>151 ··</a>
152 ··<span·class="text">Dynamically·load·an·engine·from·default·directory</span>152 ··<span·class="text">Dynamically·load·an·engine·from·default·directory</span>
153 </h3>153 </h3>
154 <p>If·the·engine·is·located·in·the·OpenSSL/LibreSSL·installation·<code·class="inline">engines</code>154 <p>If·the·engine·is·located·in·the·OpenSSL/LibreSSL·installation·<code·class="inline">engines</code>
155 directory.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="4155050346-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Engine</span><span·class="p"·data-group-id="4155050346-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·655,·SHA:·6246b415a6111b4b4c6b81b92eb55cd86dc942695fd5b4c778ec3450675fe02a·...·]-2">)</span><span·class="p">.</span><span·class="w">155 directory.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="9116289513-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Engine</span><span·class="p"·data-group-id="9116289513-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·655,·SHA:·b553625d7522302667809578eb334c8571647d2592d193381fea640a2e111e4f·...·]-2">)</span><span·class="p">.</span><span·class="w">
156 ·</span><span·class="p"·data-group-id="4155050346-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p">#</span><span·class="n">Ref</span><span·class="p"·data-group-id="4155050346-6">}</span></code></pre><h3·id="load-an-engine-with-the-dynamic-engine"·class="section-heading">156 ·</span><span·class="p"·data-group-id="9116289513-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p">#</span><span·class="n">Ref</span><span·class="p"·data-group-id="9116289513-6">}</span></code></pre><h3·id="load-an-engine-with-the-dynamic-engine"·class="section-heading">
157 ··<a·href="#load-an-engine-with-the-dynamic-engine"·class="hover-link">157 ··<a·href="#load-an-engine-with-the-dynamic-engine"·class="hover-link">
158 ····<i·class="ri-link-m"·aria-hidden="true"></i>158 ····<i·class="ri-link-m"·aria-hidden="true"></i>
159 ··</a>159 ··</a>
160 ··<span·class="text">Load·an·engine·with·the·dynamic·engine</span>160 ··<span·class="text">Load·an·engine·with·the·dynamic·engine</span>
161 </h3>161 </h3>
162 <p>Load·an·engine·with·the·help·of·the·dynamic·engine·by·giving·the·path·to·the162 <p>Load·an·engine·with·the·help·of·the·dynamic·engine·by·giving·the·path·to·the
163 library.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6278659417-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Engine</span><span·class="p"·data-group-id="6278659417-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·278,·SHA:·3f1f568ab8f9ab53d62594e2e05dff3a8d16b393af63243d2d2867b01094cc38·...·]7-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">163 library.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1292675747-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Engine</span><span·class="p"·data-group-id="1292675747-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·278,·SHA:·a23aa35e79b87a450a8b91b7fa3ffacdf76b11263fab9beb9186e8b20f68b949·...·]7-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">
164 ······································</span><span·class="p"·data-group-id="6278659417-4">[</span><span·class="p"·data-group-id="6278659417-5">{</span><span·class="p"·data-group-id="6278659417-6">&lt;&lt;</span><span·class="s">&quot;SO_PATH&quot;</span><span·class="p"·data-group-id="6278659417-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">164 ······································</span><span·class="p"·data-group-id="1292675747-4">[</span><span·class="p"·data-group-id="1292675747-5">{</span><span·class="p"·data-group-id="1292675747-6">&lt;&lt;</span><span·class="s">&quot;SO_PATH&quot;</span><span·class="p"·data-group-id="1292675747-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">
165 ········································</span><span·class="p"·data-group-id="6278659417-7">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="6278659417-7">&gt;&gt;</span><span·class="p"·data-group-id="6278659417-5">}</span><span·class="p">,</span><span·class="w">165 ········································</span><span·class="p"·data-group-id="1292675747-7">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="1292675747-7">&gt;&gt;</span><span·class="p"·data-group-id="1292675747-5">}</span><span·class="p">,</span><span·class="w">
166 ·······································</span><span·class="p"·data-group-id="6278659417-8">{</span><span·class="p"·data-group-id="6278659417-9">&lt;&lt;</span><span·class="s">&quot;ID&quot;</span><span·class="p"·data-group-id="6278659417-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·171,·SHA:·058ef8086bf6447c362f2ee6a59416af64f156262f895658e4e1d7e81767970a·...·]7-8">}</span><span·class="p">,</span><span·class="w">166 ·······································</span><span·class="p"·data-group-id="1292675747-8">{</span><span·class="p"·data-group-id="1292675747-9">&lt;&lt;</span><span·class="s">&quot;ID&quot;</span><span·class="p"·data-group-id="1292675747-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·171,·SHA:·be3a7f907892038903e5c59a333a878c31e9573712a65473592c37acb37315be·...·]7-8">}</span><span·class="p">,</span><span·class="w">
167 ·······································</span><span·class="p"·data-group-id="6278659417-11">&lt;&lt;</span><span·class="s">&quot;LOAD&quot;</span><span·class="p"·data-group-id="6278659417-11">&gt;&gt;</span><span·class="p"·data-group-id="6278659417-4">]</span><span·class="p">,</span><span·class="w">167 ·······································</span><span·class="p"·data-group-id="1292675747-11">&lt;&lt;</span><span·class="s">&quot;LOAD&quot;</span><span·class="p"·data-group-id="1292675747-11">&gt;&gt;</span><span·class="p"·data-group-id="1292675747-4">]</span><span·class="p">,</span><span·class="w">
168 ······································</span><span·class="p"·data-group-id="6278659417-12">[</span><span·class="p"·data-group-id="6278659417-12">]</span><span·class="p"·data-group-id="6278659417-2">)</span><span·class="p">.</span><span·class="w">168 ······································</span><span·class="p"·data-group-id="1292675747-12">[</span><span·class="p"·data-group-id="1292675747-12">]</span><span·class="p"·data-group-id="1292675747-2">)</span><span·class="p">.</span><span·class="w">
169 ·</span><span·class="p"·data-group-id="6278659417-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p">#</span><span·class="n">Ref</span><span·class="p"·data-group-id="6278659417-13">}</span></code></pre><h3·id="load-an-engine-and-replace-some-methods"·class="section-heading">169 ·</span><span·class="p"·data-group-id="1292675747-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p">#</span><span·class="n">Ref</span><span·class="p"·data-group-id="1292675747-13">}</span></code></pre><h3·id="load-an-engine-and-replace-some-methods"·class="section-heading">
170 ··<a·href="#load-an-engine-and-replace-some-methods"·class="hover-link">170 ··<a·href="#load-an-engine-and-replace-some-methods"·class="hover-link">
171 ····<i·class="ri-link-m"·aria-hidden="true"></i>171 ····<i·class="ri-link-m"·aria-hidden="true"></i>
172 ··</a>172 ··</a>
173 ··<span·class="text">Load·an·engine·and·replace·some·methods</span>173 ··<span·class="text">Load·an·engine·and·replace·some·methods</span>
174 </h3>174 </h3>
175 <p>Load·an·engine·with·the·help·of·the·dynamic·engine·and·just·replace·some·engine175 <p>Load·an·engine·with·the·help·of·the·dynamic·engine·and·just·replace·some·engine
176 methods.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9128558363-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Engine</span><span·class="p"·data-group-id="9128558363-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·279,·SHA:·3a782279079391055aa9c0ea02007426f30ac10825f76f4617ac8ab80ac079f1·...·]-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">176 methods.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6226292909-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Engine</span><span·class="p"·data-group-id="6226292909-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·279,·SHA:·43af5c09664f7aea8724ca265c16fc1aebe295963c92eb4327faa63269924f9c·...·]-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">
177 ······································</span><span·class="p"·data-group-id="9128558363-4">[</span><span·class="p"·data-group-id="9128558363-5">{</span><span·class="p"·data-group-id="9128558363-6">&lt;&lt;</span><span·class="s">&quot;SO_PATH&quot;</span><span·class="p"·data-group-id="9128558363-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">177 ······································</span><span·class="p"·data-group-id="6226292909-4">[</span><span·class="p"·data-group-id="6226292909-5">{</span><span·class="p"·data-group-id="6226292909-6">&lt;&lt;</span><span·class="s">&quot;SO_PATH&quot;</span><span·class="p"·data-group-id="6226292909-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">
178 ········································</span><span·class="p"·data-group-id="9128558363-7">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="9128558363-7">&gt;&gt;</span><span·class="p"·data-group-id="9128558363-5">}</span><span·class="p">,</span><span·class="w">178 ········································</span><span·class="p"·data-group-id="6226292909-7">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="6226292909-7">&gt;&gt;</span><span·class="p"·data-group-id="6226292909-5">}</span><span·class="p">,</span><span·class="w">
179 ·······································</span><span·class="p"·data-group-id="9128558363-8">{</span><span·class="p"·data-group-id="9128558363-9">&lt;&lt;</span><span·class="s">&quot;ID&quot;</span><span·class="p"·data-group-id="9128558363-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·172,·SHA:·a30d688cc7458d8ee2c280c81021f894ee54d14ebdf0f507b390dc1be044abaf·...·]-8">}</span><span·class="p">,</span><span·class="w">179 ·······································</span><span·class="p"·data-group-id="6226292909-8">{</span><span·class="p"·data-group-id="6226292909-9">&lt;&lt;</span><span·class="s">&quot;ID&quot;</span><span·class="p"·data-group-id="6226292909-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·172,·SHA:·e94f06a2f541bdb4637468a4d05341335178014ad502f9d01ef9e6c5aefd331a·...·]-8">}</span><span·class="p">,</span><span·class="w">
180 ·······································</span><span·class="p"·data-group-id="9128558363-11">&lt;&lt;</span><span·class="s">&quot;LOAD&quot;</span><span·class="p"·data-group-id="9128558363-11">&gt;&gt;</span><span·class="p"·data-group-id="9128558363-4">]</span><span·class="p">,</span><span·class="w">180 ·······································</span><span·class="p"·data-group-id="6226292909-11">&lt;&lt;</span><span·class="s">&quot;LOAD&quot;</span><span·class="p"·data-group-id="6226292909-11">&gt;&gt;</span><span·class="p"·data-group-id="6226292909-4">]</span><span·class="p">,</span><span·class="w">
181 ······································</span><span·class="p"·data-group-id="9128558363-12">[</span><span·class="p"·data-group-id="9128558363-12">]</span><span·class="p"·data-group-id="9128558363-2">)</span><span·class="p">.</span><span·class="w">181 ······································</span><span·class="p"·data-group-id="6226292909-12">[</span><span·class="p"·data-group-id="6226292909-12">]</span><span·class="p"·data-group-id="6226292909-2">)</span><span·class="p">.</span><span·class="w">
182 </span><span·class="p"·data-group-id="9128558363-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p">#</span><span·class="n">Ref</span><span·class="p"·data-group-id="9128558363-13">}</span><span·class="gp·unselectable">182 </span><span·class="p"·data-group-id="6226292909-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p">#</span><span·class="n">Ref</span><span·class="p"·data-group-id="6226292909-13">}</span><span·class="gp·unselectable">
183 4&gt;·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">engine_register</span><span·class="p"·data-group-id="9128558363-14">(</span><span·class="n">Engine</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9128558363-15">[</span><span·class="ss">engine_method_digests</span><span·class="p"·data-group-id="9128558363-15">]</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·1f90ab1696eb50b7badadc6e6b399656829b33f9182bfe9da694e8c0380699b4·...·]-14">)</span><span·class="p">.</span><span·class="w">183 4&gt;·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">engine_register</span><span·class="p"·data-group-id="6226292909-14">(</span><span·class="n">Engine</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6226292909-15">[</span><span·class="ss">engine_method_digests</span><span·class="p"·data-group-id="6226292909-15">]</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·5d27edc50ea11dddf430b11bd14c0c2e7be2d41e9b3d3ecf83f470890e7a9566·...·]-14">)</span><span·class="p">.</span><span·class="w">
184 </span><span·class="ss">ok</span></code></pre><h3·id="load-with-the-ensure-loaded-function"·class="section-heading">184 </span><span·class="ss">ok</span></code></pre><h3·id="load-with-the-ensure-loaded-function"·class="section-heading">
185 ··<a·href="#load-with-the-ensure-loaded-function"·class="hover-link">185 ··<a·href="#load-with-the-ensure-loaded-function"·class="hover-link">
186 ····<i·class="ri-link-m"·aria-hidden="true"></i>186 ····<i·class="ri-link-m"·aria-hidden="true"></i>
187 ··</a>187 ··</a>
188 ··<span·class="text">Load·with·the·ensure·loaded·function</span>188 ··<span·class="text">Load·with·the·ensure·loaded·function</span>
189 </h3>189 </h3>
190 <p>This·function·makes·sure·the·engine·is·loaded·just·once·and·the·ID·is·added·to190 <p>This·function·makes·sure·the·engine·is·loaded·just·once·and·the·ID·is·added·to
191 the·internal·engine·list·of·OpenSSL.·The·following·calls·to·the·function·will191 the·internal·engine·list·of·OpenSSL.·The·following·calls·to·the·function·will
192 check·if·the·ID·is·loaded·and·then·just·get·a·new·reference·to·the·engine.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6486034578-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Engine</span><span·class="p"·data-group-id="6486034578-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·284,·SHA:·c1fc44050b8dcb30092e51e71d0bf2758647ac2660410de719c909cbad9f3159·...·]-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">192 check·if·the·ID·is·loaded·and·then·just·get·a·new·reference·to·the·engine.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1508195810-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Engine</span><span·class="p"·data-group-id="1508195810-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·284,·SHA:·f1f7bca8288d5cde4cebb6dc8eaea2887e63a34670e4715a422c9caf20c7c8db·...·]-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">
193 ···············································</span><span·class="p"·data-group-id="6486034578-4">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="6486034578-4">&gt;&gt;</span><span·class="p"·data-group-id="6486034578-2">)</span><span·class="p">.</span><span·class="w">193 ···············································</span><span·class="p"·data-group-id="1508195810-4">&lt;&lt;</span><span·class="s">&quot;/some/path/otp_test_engine.so&quot;</span><span·class="p"·data-group-id="1508195810-4">&gt;&gt;</span><span·class="p"·data-group-id="1508195810-2">)</span><span·class="p">.</span><span·class="w">
194 ·</span><span·class="p"·data-group-id="6486034578-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p">#</span><span·class="n">Ref</span><span·class="p"·data-group-id="6486034578-5">}</span></code></pre><p>To·remove·the·tag·from·the·OpenSSL·engine[·...·truncated·by·diffoscope;·len:·469,·SHA:·3279528872e1fcf10e465aa87f758c69ca80b1e0db35e4d1b9daadfe07d7478b·...·]-1">)</span><span·class="p">.</span><span·class="w">194 ·</span><span·class="p"·data-group-id="1508195810-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p">#</span><span·class="n">Ref</span><span·class="p"·data-group-id="1508195810-5">}</span></code></pre><p>To·remove·the·tag·from·the·OpenSSL·engine[·...·truncated·by·diffoscope;·len:·469,·SHA:·3535acdb125429503bfc503b6da0717273e19d156d98ceace70bdde7c37e5aba·...·]-1">)</span><span·class="p">.</span><span·class="w">
195 ·</span><span·class="ss">ok</span></code></pre><p>To·unload·it·use·<a·href="crypto.html#engine_unload/1"><code·class="inline">crypto:engine_unload/1</code></a>·which·removes·the·references·to·the195 ·</span><span·class="ss">ok</span></code></pre><p>To·unload·it·use·<a·href="crypto.html#engine_unload/1"><code·class="inline">crypto:engine_unload/1</code></a>·which·removes·the·references·to·the
196 engine.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">6</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">engine_unload</span><span·class="p"·data-group-id="0519980622-1">(</span><span·class="n">Engine</span><span·class="p"·data-group-id="0519980622-1">)</span><span·class="p">.</span><span·class="w">196 engine.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">6</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">engine_unload</span><span·class="p"·data-group-id="1903420178-1">(</span><span·class="n">Engine</span><span·class="p"·data-group-id="1903420178-1">)</span><span·class="p">.</span><span·class="w">
197 ·</span><span·class="ss">ok</span></code></pre><h3·id="list-all-engines-currently-loaded"·class="section-heading">197 ·</span><span·class="ss">ok</span></code></pre><h3·id="list-all-engines-currently-loaded"·class="section-heading">
198 ··<a·href="#list-all-engines-currently-loaded"·class="hover-link">198 ··<a·href="#list-all-engines-currently-loaded"·class="hover-link">
199 ····<i·class="ri-link-m"·aria-hidden="true"></i>199 ····<i·class="ri-link-m"·aria-hidden="true"></i>
200 ··</a>200 ··</a>
201 ··<span·class="text">List·all·engines·currently·loaded</span>201 ··<span·class="text">List·all·engines·currently·loaded</span>
202 </h3>202 </h3>
203 <pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">8</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">engine_list</span><span·class="p"·data-group-id="9596113274-1">(</span><span·class="p"·data-group-id="9596113274-1">)</span><span·class="p">.</span><span·class="w">203 <pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">8</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">engine_list</span><span·class="p"·data-group-id="6216891610-1">(</span><span·class="p"·data-group-id="6216891610-1">)</span><span·class="p">.</span><span·class="w">
204 </span><span·class="p"·data-group-id="9596113274-2">[</span><span·class="p"·data-group-id="9596113274-3">&lt;&lt;</span><span·class="s">&quot;dynamic&quot;</span><span·class="p"·data-group-id="9596113274-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·175,·SHA:·821582e7621bc43ad32c7e9d1be142e4c260e134381c0f74c2bcf3050d5d254a·...·]-2">]</span></code></pre>204 </span><span·class="p"·data-group-id="6216891610-2">[</span><span·class="p"·data-group-id="6216891610-3">&lt;&lt;</span><span·class="s">&quot;dynamic&quot;</span><span·class="p"·data-group-id="6216891610-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·175,·SHA:·a39cb05ff91817480b4166236f3a927b42119802722084af4c514b2f28bb0b9e·...·]-2">]</span></code></pre>
205 </div>205 </div>
  
206 <div·class="bottom-actions"·id="bottom-actions">206 <div·class="bottom-actions"·id="bottom-actions">
207 ··<div·class="bottom-actions-item">207 ··<div·class="bottom-actions-item">
  
208 ······<a·href="fips.html"·class="bottom-actions-button"·rel="prev">208 ······<a·href="fips.html"·class="bottom-actions-button"·rel="prev">
209 ········<span·class="subheader">209 ········<span·class="subheader">
Offset 248, 15 lines modifiedOffset 248, 15 lines modified
248 ······<p·class="built-using">248 ······<p·class="built-using">
249 ········Built·using249 ········Built·using
250 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the250 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
251 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>251 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
252 ······</p>252 ······</p>
253 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>253 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
254 ····</footer>254 ····</footer>
255 ··</div>255 ··</div>
256 </main>256 </main>
257 </div>257 </div>
258 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>258 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
259 ··<script>259 ··<script>
260 ··let·initialized·=·false;260 ··let·initialized·=·false;
682 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/fips.html
    
Offset 289, 15 lines modifiedOffset 289, 15 lines modified
289 ······<p·class="built-using">289 ······<p·class="built-using">
290 ········Built·using290 ········Built·using
291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
293 ······</p>293 ······</p>
294 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>294 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
295 ····</footer>295 ····</footer>
296 ··</div>296 ··</div>
297 </main>297 </main>
298 </div>298 </div>
299 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>299 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
300 ··<script>300 ··<script>
301 ··let·initialized·=·false;301 ··let·initialized·=·false;
722 B
html2text {}
Max HTML report size reached
71.9 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/new_api.html
    
Offset 188, 111 lines modifiedOffset 188, 111 lines modified
188 </h3>188 </h3>
189 <p>The·functions·<a·href="crypto.html#crypto_init/4">crypto_init/4</a>·and189 <p>The·functions·<a·href="crypto.html#crypto_init/4">crypto_init/4</a>·and
190 <a·href="crypto.html#crypto_update/2">crypto_update/2</a>·are·intended·to·be·used·for190 <a·href="crypto.html#crypto_update/2">crypto_update/2</a>·are·intended·to·be·used·for
191 encrypting·or·decrypting·a·sequence·of·blocks.·First·one·call·of·<code·class="inline">crypto_init/4</code>191 encrypting·or·decrypting·a·sequence·of·blocks.·First·one·call·of·<code·class="inline">crypto_init/4</code>
192 initialises·the·crypto·context.·One·or·more·calls·<code·class="inline">crypto_update/2</code>·does·the192 initialises·the·crypto·context.·One·or·more·calls·<code·class="inline">crypto_update/2</code>·does·the
193 actual·encryption·or·decryption·for·each·block.</p><p>This·example·shows·first·the·encryption·of·two·blocks·and·then·decryptions·of193 actual·encryption·or·decryption·for·each·block.</p><p>This·example·shows·first·the·encryption·of·two·blocks·and·then·decryptions·of
194 the·cipher·text,·but·divided·into·three·blocks·just·to·show·that·it·is·possible194 the·cipher·text,·but·divided·into·three·blocks·just·to·show·that·it·is·possible
195 to·divide·the·plain·text·and·cipher·text·differently·for·some·ciphers:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»    </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="5465596938-1">(</span><span·class="ss">crypto</span><span·class="p"·data-group-id="5465596938-1">)</span><span·class="p">.</span><span·class="w">195 to·divide·the·plain·text·and·cipher·text·differently·for·some·ciphers:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»    </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="6377264970-1">(</span><span·class="ss">crypto</span><span·class="p"·data-group-id="6377264970-1">)</span><span·class="p">.</span><span·class="w">
196 »       </span><span·class="ss">ok</span><span·class="w">196 »       </span><span·class="ss">ok</span><span·class="w">
197 »       </span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Key</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5465596938-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="5465596938-2">&gt;&gt;</span><span·class="p">.</span><span·class="w">197 »       </span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Key</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6377264970-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="6377264970-2">&gt;&gt;</span><span·class="p">.</span><span·class="w">
198 »       </span><span·class="p"·data-group-id="5465596938-3">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·574,·SHA:·0267a4207ccf756820ceaca591ec27aebf044b7474f666c4daf666e30bc2e993·...·]-3">&gt;&gt;</span><span·class="w">198 »       </span><span·class="p"·data-group-id="6377264970-3">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·574,·SHA:·43024f5f3a67bd539f22d3d96ac0649c553f0ddb95018ab8152fa99a42f19ad9·...·]-3">&gt;&gt;</span><span·class="w">
199 »       </span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">IV</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5465596938-4">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="5465596938-4">&gt;&gt;</span><span·class="p">.</span><span·class="w">199 »       </span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">IV</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6377264970-4">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="6377264970-4">&gt;&gt;</span><span·class="p">.</span><span·class="w">
200 »       </span><span·class="p"·data-group-id="5465596938-5">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·574,·SHA:·8d0610f1ad928c172360d7513f2a4f9fcc765369d38b36ffd03bbea0f1b8ad26·...·]-5">&gt;&gt;</span><span·class="w">200 »       </span><span·class="p"·data-group-id="6377264970-5">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·574,·SHA:·bed618c40da3edc5eb88379f1e5cf7824a51e8bb8a05b737599f135f58307e74·...·]-5">&gt;&gt;</span><span·class="w">
201 »       </span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">StateEnc</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_init</span><span·class="p"·data-group-id="5465596938-6">(</span><span·class="ss">aes_128_ctr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IV</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·65,·SHA:·f70ecdca85c3ad1c1a141528896aa839a9d05456c68a70ef7b9b45f012533a7c·...·]-6">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·encrypt·-&gt;·true</span><span·class="w">201 »       </span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">StateEnc</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_init</span><span·class="p"·data-group-id="6377264970-6">(</span><span·class="ss">aes_128_ctr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IV</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·65,·SHA:·6a07a46195d731f8175b7801f79acabf4cdf882933778cddb7fb1e4928a5fb91·...·]-6">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·encrypt·-&gt;·true</span><span·class="w">
202 »       </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.3768901617</span><span·class="p">.</span><span·class="mf">1128660993.124047</span><span·class="o">&gt;</span><span·class="w">202 »       </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.3768901617</span><span·class="p">.</span><span·class="mf">1128660993.124047</span><span·class="o">&gt;</span><span·class="w">
203 »       </span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_update</span><span·class="p"·data-group-id="5465596938-7">(</span><span·class="n">StateEnc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5465596938-8">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="5465596938-8">&gt;[·...·truncated·by·diffoscope;·len:·52,·SHA:·de94ca6e81e239e48fb7717b95f86df1ca7374250dda27ae8dba351ac88f2f67·...·]-7">)</span><span·class="p">.</span><span·class="w">203 »       </span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_update</span><span·class="p"·data-group-id="6377264970-7">(</span><span·class="n">StateEnc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6377264970-8">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="6377264970-8">&gt;[·...·truncated·by·diffoscope;·len:·52,·SHA:·2d1401a18495b7d20634b9341a02fd3dbdf358547f38a7bee210cf9646365164·...·]-7">)</span><span·class="p">.</span><span·class="w">
204 »       </span><span·class="p"·data-group-id="5465596938-9">&lt;&lt;</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">44</span><span·class="p">,</span><span·class="mi">216</span><span·class="p">,</span><span·class="mi">166</span><span·class="p">,</span><span·class="mi">25</span[·...·truncated·by·diffoscope;·len:·343,·SHA:·25163e2dd7dbdf0d1aeece19862d87859afab787e476f5f2bd1469ea0034fb5b·...·]-9">&gt;&gt;</span><span·class="w">204 »       </span><span·class="p"·data-group-id="6377264970-9">&lt;&lt;</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">44</span><span·class="p">,</span><span·class="mi">216</span><span·class="p">,</span><span·class="mi">166</span><span·class="p">,</span><span·class="mi">25</span[·...·truncated·by·diffoscope;·len:·343,·SHA:·bb958f99e24e5036ab3c64806c39e0e81c00d1455f1d0aa2a3ffa7f6e2814fce·...·]-9">&gt;&gt;</span><span·class="w">
205 »       </span><span·class="mi">6</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_update</span><span·class="p"·data-group-id="5465596938-10">(</span><span·class="n">StateEnc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5465596938-11">&lt;&lt;</span><span·class="s">&quot;Second·bytes&quot;</span><span·class="p"·data-group-id="5465596938-11">[·...·truncated·by·diffoscope;·len:·56,·SHA:·d9350260b76fb5b1c5475b9600bfc8f725daaeec18fe14bc06f82be5aba2e014·...·]-10">)</span><span·class="p">.</span><span·class="w">205 »       </span><span·class="mi">6</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_update</span><span·class="p"·data-group-id="6377264970-10">(</span><span·class="n">StateEnc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6377264970-11">&lt;&lt;</span><span·class="s">&quot;Second·bytes&quot;</span><span·class="p"·data-group-id="6377264970-11">[·...·truncated·by·diffoscope;·len:·56,·SHA:·297f82dd90d4461640f461d460dc90ca8dd5d809af2fcabbcb8219570dc5ed31·...·]-10">)</span><span·class="p">.</span><span·class="w">
206 »       </span><span·class="p"·data-group-id="5465596938-12">&lt;&lt;</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">94</span><span·class="p">,</span><span·class="mi">115</span><span·class="p">,</span><span·class="mi">234</spa[·...·truncated·by·diffoscope;·len:·397,·SHA:·69d284fd9e505788f9816d584065237b2ef293c9e3e2867f09b5911776cad986·...·]-12">&gt;&gt;</span><span·class="w">206 »       </span><span·class="p"·data-group-id="6377264970-12">&lt;&lt;</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">94</span><span·class="p">,</span><span·class="mi">115</span><span·class="p">,</span><span·class="mi">234</spa[·...·truncated·by·diffoscope;·len:·397,·SHA:·b1e3187152a9408a836fbd26eafec4f5fcb57bdb5e5133b334032a612f7cc7be·...·]-12">&gt;&gt;</span><span·class="w">
207 »       </span><span·class="mi">7</span><span·class="o">&gt;</span><span·class="w">207 »       </span><span·class="mi">7</span><span·class="o">&gt;</span><span·class="w">
208 »       </span><span·class="mi">7</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">StateDec</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_init</span><span·class="p"·data-group-id="5465596938-13">(</span><span·class="ss">aes_128_ctr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IV</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·67,·SHA:·8ad4701d9a8e9b19eb13bcf6f703e68bd36b1dd49ca1ec5c36b152701640ff61·...·]-13">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·decrypt·-&gt;·false</span><span·class="w">208 »       </span><span·class="mi">7</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">StateDec</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_init</span><span·class="p"·data-group-id="6377264970-13">(</span><span·class="ss">aes_128_ctr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IV</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·67,·SHA:·5c1a983be591f2543c34e81271b2513b737fe9a804c467465ee836cff02e6d1a·...·]-13">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·decrypt·-&gt;·false</span><span·class="w">
209 »       </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.3768901617</span><span·class="p">.</span><span·class="mf">1128660994.124255</span><span·class="o">&gt;</span><span·class="w">209 »       </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.3768901617</span><span·class="p">.</span><span·class="mf">1128660994.124255</span><span·class="o">&gt;</span><span·class="w">
210 »       </span><span·class="mi">8</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_update</span><span·class="p"·data-group-id="5465596938-14">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5465596938-15">&lt;&lt;</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">44</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·339,·SHA:·d1a99d72e158506fefc686f10dd67be0cbdcbe404a03b1eaaa2ec616b5804fc8·...·]-14">)</span><span·class="p">.</span><span·class="w">210 »       </span><span·class="mi">8</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_update</span><span·class="p"·data-group-id="6377264970-14">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6377264970-15">&lt;&lt;</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">44</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·339,·SHA:·25e3674baeb7ba76962aa1d640cd9ba1a9767f7255d5bb5b24f2275766a23794·...·]-14">)</span><span·class="p">.</span><span·class="w">
211 »       </span><span·class="p"·data-group-id="5465596938-16">&lt;&lt;</span><span·class="s">&quot;First·b&quot;</span><span·class="p"·data-group-id="5465596938-16">&gt;&gt;</span><span·class="w">211 »       </span><span·class="p"·data-group-id="6377264970-16">&lt;&lt;</span><span·class="s">&quot;First·b&quot;</span><span·class="p"·data-group-id="6377264970-16">&gt;&gt;</span><span·class="w">
212 »       </span><span·class="mi">9</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_update</span><span·class="p"·data-group-id="5465596938-17">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5465596938-18">&lt;&lt;</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">66</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">162</span><span·class="p">,</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">94</span><span·class="p">,</span><span·class="mi">115</span><span·class="p">,</span><span·class="mi">234</span><span·class="p">,</span><span·class="mi">197</span><span·class="p">,</span><span·class="w">212 »       </span><span·class="mi">9</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_update</span><span·class="p"·data-group-id="6377264970-17">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6377264970-18">&lt;&lt;</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">66</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">162</span><span·class="p">,</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">94</span><span·class="p">,</span><span·class="mi">115</span><span·class="p">,</span><span·class="mi">234</span><span·class="p">,</span><span·class="mi">197</span><span·class="p">,</span><span·class="w">
213 ········</span><span·class="mi">94</span><span·class="p">,</span><span·class="mi">253</span><span·class="p">,</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">144</span><span·class="p">,</span><span·class="mi">151</span><span·class="p"·data-group-id="5465596938-18">&gt;&gt;</span><span·class="p"·data-group-id="5465596938-17">)</span><span·class="p">.</span><span·class="w">213 ········</span><span·class="mi">94</span><span·class="p">,</span><span·class="mi">253</span><span·class="p">,</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">144</span><span·class="p">,</span><span·class="mi">151</span><span·class="p"·data-group-id="6377264970-18">&gt;&gt;</span><span·class="p"·data-group-id="6377264970-17">)</span><span·class="p">.</span><span·class="w">
214 »       </span><span·class="p"·data-group-id="5465596938-19">&lt;&lt;</span><span·class="s">&quot;ytesSecond·byte&quot;</span><span·class="p"·data-group-id="5465596938-19">&gt;&gt;</span><span·class="w">214 »       </span><span·class="p"·data-group-id="6377264970-19">&lt;&lt;</span><span·class="s">&quot;ytesSecond·byte&quot;</span><span·class="p"·data-group-id="6377264970-19">&gt;&gt;</span><span·class="w">
215 »       </span><span·class="mi">10</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_update</span><span·class="p"·data-group-id="5465596938-20">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5465596938-21">&lt;&lt;</span><span·class="mi">41</span><span·class="p"·data-group-id="5465596938-21">&gt;&gt;</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·c5453a0456a500ca763130f3575c5f45397c329f377de3ce230f9e8d19923bfd·...·]-20">)</span><span·class="p">.</span><span·class="w">215 »       </span><span·class="mi">10</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_update</span><span·class="p"·data-group-id="6377264970-20">(</span><span·class="n">StateDec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6377264970-21">&lt;&lt;</span><span·class="mi">41</span><span·class="p"·data-group-id="6377264970-21">&gt;&gt;</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·3991b39e2475ee673ee1fbfcfd46a4343eff16a007bdea3d49d7f566e0fb066a·...·]-20">)</span><span·class="p">.</span><span·class="w">
216 »       </span><span·class="p"·data-group-id="5465596938-22">&lt;&lt;</span><span·class="s">&quot;s&quot;</span><span·class="p"·data-group-id="5465596938-22">&gt;&gt;</span><span·class="w">216 »       </span><span·class="p"·data-group-id="6377264970-22">&lt;&lt;</span><span·class="s">&quot;s&quot;</span><span·class="p"·data-group-id="6377264970-22">&gt;&gt;</span><span·class="w">
217 »       </span><span·class="mi">11</span><span·class="o">&gt;</span></code></pre><p>Note·that·the·internal·data·that·the·<code·class="inline">StateEnc</code>·and·<code·class="inline">StateDec</code>·references·are217 »       </span><span·class="mi">11</span><span·class="o">&gt;</span></code></pre><p>Note·that·the·internal·data·that·the·<code·class="inline">StateEnc</code>·and·<code·class="inline">StateDec</code>·references·are
218 destructivly·updated·by·the·calls·to218 destructivly·updated·by·the·calls·to
219 <a·href="crypto.html#crypto_update/2">crypto_update/2</a>.·This·is·to·gain·time·in·the·calls219 <a·href="crypto.html#crypto_update/2">crypto_update/2</a>.·This·is·to·gain·time·in·the·calls
220 of·the·nifs·interfacing·the·cryptolib.·In·a·loop·where·the·state·is·saved·in·the220 of·the·nifs·interfacing·the·cryptolib.·In·a·loop·where·the·state·is·saved·in·the
221 loop's·state,·it·also·saves·one·update·of·the·loop·state·per·crypto·operation.</p><p>For·example,·a·simple·server·receiving·text·parts·to·encrypt·and·send·the·result221 loop's·state,·it·also·saves·one·update·of·the·loop·state·per·crypto·operation.</p><p>For·example,·a·simple·server·receiving·text·parts·to·encrypt·and·send·the·result
222 back·to·the·one·who·sent·them·(the·<code·class="inline">Requester</code>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»      </span><span·class="nf">encode</span><span·class="p"·data-group-id="9172146716-1">(</span><span·class="n">Crypto</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IV</span><span·class="p"·data-group-id="9172146716-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">222 back·to·the·one·who·sent·them·(the·<code·class="inline">Requester</code>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»      </span><span·class="nf">encode</span><span·class="p"·data-group-id="9633327534-1">(</span><span·class="n">Crypto</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IV</span><span·class="p"·data-group-id="9633327534-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
223 »       </span><span·class="nf">crypto_loop</span><span·class="p"·data-group-id="9172146716-2">(</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_init</span><span·class="p"·data-group-id="9172146716-3">(</span><span·class="n">Crypto</span><span·class="p">,</span><span·class="w">·</span><span·class="n">[·...·truncated·by·diffoscope;·len:·253,·SHA:·9394410353c7347a1a62976a0d47acd23ed64145d9ee26cf414fdc08ee9f40b7·...·]-2">)</span><span·class="p">.</span><span·class="w">223 »       </span><span·class="nf">crypto_loop</span><span·class="p"·data-group-id="9633327534-2">(</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_init</span><span·class="p"·data-group-id="9633327534-3">(</span><span·class="n">Crypto</span><span·class="p">,</span><span·class="w">·</span><span·class="n">[·...·truncated·by·diffoscope;·len:·253,·SHA:·37d411281d92a4085ea91ab69f98c3e9fbc0da49a537efcda958279cdca92b2d·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
224 »       </span><span·class="nf">crypto_loop</span><span·class="p"·data-group-id="9172146716-4">(</span><span·class="n">State</span><span·class="p"·data-group-id="9172146716-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">224 »       </span><span·class="nf">crypto_loop</span><span·class="p"·data-group-id="9633327534-4">(</span><span·class="n">State</span><span·class="p"·data-group-id="9633327534-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
225 »       </span><span·class="k">receive</span><span·class="w">225 »       </span><span·class="k">receive</span><span·class="w">
226 ········</span><span·class="p"·data-group-id="9172146716-5">{</span><span·class="n">Text</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Requester</span><span·class="p"·data-group-id="9172146716-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">226 ········</span><span·class="p"·data-group-id="9633327534-5">{</span><span·class="n">Text</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Requester</span><span·class="p"·data-group-id="9633327534-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
227 ········</span><span·class="n">Requester</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_update</span><span·class="p"·data-group-id="9172146716-6">(</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Text</span><span·class="p"·data-group-id="9172146716-6">)</span><span·class="p">,</span><span·class="w">227 ········</span><span·class="n">Requester</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_update</span><span·class="p"·data-group-id="9633327534-6">(</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Text</span><span·class="p"·data-group-id="9633327534-6">)</span><span·class="p">,</span><span·class="w">
228 »       </span><span·class="nf">loop</span><span·class="p"·data-group-id="9172146716-7">(</span><span·class="n">State</span><span·class="p"·data-group-id="9172146716-7">)</span><span·class="w">228 »       </span><span·class="nf">loop</span><span·class="p"·data-group-id="9633327534-7">(</span><span·class="n">State</span><span·class="p"·data-group-id="9633327534-7">)</span><span·class="w">
229 »       </span><span·class="k">end</span><span·class="p">.</span></code></pre><h3·id="example-of-crypto_one_time-5"·class="section-heading">229 »       </span><span·class="k">end</span><span·class="p">.</span></code></pre><h3·id="example-of-crypto_one_time-5"·class="section-heading">
230 ··<a·href="#example-of-crypto_one_time-5"·class="hover-link">230 ··<a·href="#example-of-crypto_one_time-5"·class="hover-link">
231 ····<i·class="ri-link-m"·aria-hidden="true"></i>231 ····<i·class="ri-link-m"·aria-hidden="true"></i>
232 ··</a>232 ··</a>
233 ··<span·class="text">Example·of·crypto_one_time/5</span>233 ··<span·class="text">Example·of·crypto_one_time/5</span>
234 </h3>234 </h3>
235 <p>The·same·example·as·in·the235 <p>The·same·example·as·in·the
236 <a·href="new_api.html#examples-of-crypto_init-4-and-crypto_update-2">previous·section</a>,236 <a·href="new_api.html#examples-of-crypto_init-4-and-crypto_update-2">previous·section</a>,
237 but·now·with·one·call·to·<a·href="crypto.html#crypto_one_time/5">crypto_one_time/5</a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»       </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Key</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6553940701-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="6553940701-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">237 but·now·with·one·call·to·<a·href="crypto.html#crypto_one_time/5">crypto_one_time/5</a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»       </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Key</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8957714857-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="8957714857-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
238 »       </span><span·class="p"·data-group-id="6553940701-2">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·574,·SHA:·592548a8c9f952e2a76a57f49aa57e146478294fa32c649e4c656e456ad12349·...·]-2">&gt;&gt;</span><span·class="w">238 »       </span><span·class="p"·data-group-id="8957714857-2">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·574,·SHA:·81785785ab3da6216829825b9a5b45958bd68caa856547e51bad72f7acc90d81·...·]-2">&gt;&gt;</span><span·class="w">
239 »       </span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">IV</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6553940701-3">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="6553940701-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">239 »       </span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">IV</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8957714857-3">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="8957714857-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">
240 »       </span><span·class="p"·data-group-id="6553940701-4">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·574,·SHA:·8c7d8cd09602b0fc3a3fe5461737c27b6ccfe2466355ed0572b94a60f34a2104·...·]-4">&gt;&gt;</span><span·class="w">240 »       </span><span·class="p"·data-group-id="8957714857-4">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·574,·SHA:·a252df9705336d4113cfb476d707d93b1269076bd8399bd60aa60443df55619a·...·]-4">&gt;&gt;</span><span·class="w">
241 »       </span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Txt</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6553940701-5">[</span><span·class="p"·data-group-id="6553940701-6">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="6553940701-6">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="6553940701-7"[·...·truncated·by·diffoscope;·len:·164,·SHA:·4eca030116ce9fc6eb1c793c4ef73359e6027be3268ea9fded79083c63623209·...·]-5">]</span><span·class="p">.</span><span·class="w">241 »       </span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Txt</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8957714857-5">[</span><span·class="p"·data-group-id="8957714857-6">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="8957714857-6">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="8957714857-7"[·...·truncated·by·diffoscope;·len:·164,·SHA:·8d98b1225d49fbb93efc3865a27fb243c817010bc3bdf24ec1442211a9404b24·...·]-5">]</span><span·class="p">.</span><span·class="w">
242 »       </span><span·class="p"·data-group-id="6553940701-8">[</span><span·class="p"·data-group-id="6553940701-9">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="6553940701-9">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="6553940701-10[·...·truncated·by·diffoscope;·len:·166,·SHA:·3c4ced07b397f289513acae42f0e1583dcb6eb3c5d91719792809f4f7af10d46·...·]-8">]</span><span·class="w">242 »       </span><span·class="p"·data-group-id="8957714857-8">[</span><span·class="p"·data-group-id="8957714857-9">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="8957714857-9">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="8957714857-10[·...·truncated·by·diffoscope;·len:·166,·SHA:·f93ec043aded608eb6d12caf0d0d4414fc2b13be4d4da023d42064509d489f40·...·]-8">]</span><span·class="w">
243 »       </span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_one_time</span><span·class="p"·data-group-id="6553940701-11">(</span><span·class="ss">aes_128_ctr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IV</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·140,·SHA:·88cc33b6170482549db90a02624759964329d63e7a3fde894c146cb8cbc3238c·...·]-11">)</span><span·class="p">.</span><span·class="w">243 »       </span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_one_time</span><span·class="p"·data-group-id="8957714857-11">(</span><span·class="ss">aes_128_ctr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IV</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·140,·SHA:·b9ab8ed25fd877b6e9bf3b16135b9a2f7e3563f376b5847aa80ac6fe1d6f11b2·...·]-11">)</span><span·class="p">.</span><span·class="w">
244 »       </span><span·class="p"·data-group-id="6553940701-12">&lt;&lt;</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">44</span><span·class="p">,</span><span·class="mi">216</span><span·class="p">,</span><span·class="mi">166</span><span·class="p">,</span><span·class="mi">25</span><span·class="p">,</span><span·class="mi">130</span><span·class="p">,</span><span·class="mi">203</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">66</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">162</span><span·class="p">,</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">94</span><span·class="p">,</span><span·class="mi">115</span><span·class="p">,</span><span·class="mi">234</span><span·class="p">,</span><span·class="w">244 »       </span><span·class="p"·data-group-id="8957714857-12">&lt;&lt;</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">44</span><span·class="p">,</span><span·class="mi">216</span><span·class="p">,</span><span·class="mi">166</span><span·class="p">,</span><span·class="mi">25</span><span·class="p">,</span><span·class="mi">130</span><span·class="p">,</span><span·class="mi">203</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">66</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">162</span><span·class="p">,</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">94</span><span·class="p">,</span><span·class="mi">115</span><span·class="p">,</span><span·class="mi">234</span><span·class="p">,</span><span·class="w">
245 »       </span><span·class="mi">197</span><span·class="p">,</span><span·class="mi">94</span><span·class="p">,</span><span·class="mi">253</span><span·class="p">,</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">144</span><span·class="p">,</span><span·class="mi">151</span><span·class="p">,</span><span·class="mi">41</span><span·class="p"·data-group-id="6553940701-12">&gt;&gt;</span><span·class="w">245 »       </span><span·class="mi">197</span><span·class="p">,</span><span·class="mi">94</span><span·class="p">,</span><span·class="mi">253</span><span·class="p">,</span><span·class="mi">16</span><span·class="p">,</span><span·class="mi">144</span><span·class="p">,</span><span·class="mi">151</span><span·class="p">,</span><span·class="mi">41</span><span·class="p"·data-group-id="8957714857-12">&gt;&gt;</span><span·class="w">
246 »       </span><span·class="mi">5</span><span·class="o">&gt;</span></code></pre><p>The·<code·class="inline">[&lt;&lt;&quot;First·bytes&quot;&gt;&gt;,&lt;&lt;&quot;Second·bytes&quot;&gt;&gt;]</code>·could·of·course·have·been·one246 »       </span><span·class="mi">5</span><span·class="o">&gt;</span></code></pre><p>The·<code·class="inline">[&lt;&lt;&quot;First·bytes&quot;&gt;&gt;,&lt;&lt;&quot;Second·bytes&quot;&gt;&gt;]</code>·could·of·course·have·been·one
247 single·binary:·<code·class="inline">&lt;&lt;&quot;First·bytesSecond·bytes&quot;&gt;&gt;</code>.</p><h3·id="example-of-crypto_one_time_aead-6"·class="section-heading">247 single·binary:·<code·class="inline">&lt;&lt;&quot;First·bytesSecond·bytes&quot;&gt;&gt;</code>.</p><h3·id="example-of-crypto_one_time_aead-6"·class="section-heading">
248 ··<a·href="#example-of-crypto_one_time_aead-6"·class="hover-link">248 ··<a·href="#example-of-crypto_one_time_aead-6"·class="hover-link">
249 ····<i·class="ri-link-m"·aria-hidden="true"></i>249 ····<i·class="ri-link-m"·aria-hidden="true"></i>
250 ··</a>250 ··</a>
251 ··<span·class="text">Example·of·crypto_one_time_aead/6</span>251 ··<span·class="text">Example·of·crypto_one_time_aead/6</span>
252 </h3>252 </h3>
253 <p>The·same·example·as·in·the253 <p>The·same·example·as·in·the
254 <a·href="new_api.html#example-of-crypto_one_time-5">previous·section</a>,·but·now·with·one254 <a·href="new_api.html#example-of-crypto_one_time-5">previous·section</a>,·but·now·with·one
255 call·to·<a·href="crypto.html#crypto_one_time_aead/6">crypto_one_time_aead/6</a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»  </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Key</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8070525151-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="8070525151-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">255 call·to·<a·href="crypto.html#crypto_one_time_aead/6">crypto_one_time_aead/6</a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»  </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Key</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4911566223-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="4911566223-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
256 »       </span><span·class="p"·data-group-id="8070525151-2">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·574,·SHA:·1e59a8f205a183cfe7c7d1c08f0234658deafbf034c2fe0222e568a5256adc74·...·]-2">&gt;&gt;</span><span·class="w">256 »       </span><span·class="p"·data-group-id="4911566223-2">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·574,·SHA:·0034f0f7ab23615377cd2756eddb3fda34177dac8c889cd2883d87859fbdc675·...·]-2">&gt;&gt;</span><span·class="w">
257 »       </span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">IV</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8070525151-3">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="8070525151-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">257 »       </span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">IV</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4911566223-3">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="4911566223-3">&gt;&gt;</span><span·class="p">.</span><span·class="w">
258 »       </span><span·class="p"·data-group-id="8070525151-4">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·574,·SHA:·f717c746e26a0ce3175f1a67c596671e33b1d2614470ae85943954833332bae2·...·]-4">&gt;&gt;</span><span·class="w">258 »       </span><span·class="p"·data-group-id="4911566223-4">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·574,·SHA:·434e1652aeb79cb3aa8e21ad1827c9b07eb4f9317c24ec080e4a6cccb33ec4d6·...·]-4">&gt;&gt;</span><span·class="w">
259 »       </span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Txt</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8070525151-5">[</span><span·class="p"·data-group-id="8070525151-6">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="8070525151-6">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="8070525151-7"[·...·truncated·by·diffoscope;·len:·164,·SHA:·d551e373b24efd0a75c4eb5866ed20cf3d9af07b7b0a8c7c085dbd59ca1434ac·...·]-5">]</span><span·class="p">.</span><span·class="w">259 »       </span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Txt</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4911566223-5">[</span><span·class="p"·data-group-id="4911566223-6">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="4911566223-6">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="4911566223-7"[·...·truncated·by·diffoscope;·len:·164,·SHA:·2fc2c09fe5bd752ddcc82785e88c870480df5dbc80da7f9e41b3b49db79fcb67·...·]-5">]</span><span·class="p">.</span><span·class="w">
260 »       </span><span·class="p"·data-group-id="8070525151-8">[</span><span·class="p"·data-group-id="8070525151-9">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="8070525151-9">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="8070525151-10[·...·truncated·by·diffoscope;·len:·166,·SHA:·b516d223576b69aff1a73af22c4b1ee653ed28b427a62ad50b11cbfa9e34c5b8·...·]-8">]</span><span·class="w">260 »       </span><span·class="p"·data-group-id="4911566223-8">[</span><span·class="p"·data-group-id="4911566223-9">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="4911566223-9">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="4911566223-10[·...·truncated·by·diffoscope;·len:·166,·SHA:·b095d01e83d175a57e24d58c342fc5b1891cf55bb102dccadfc1d719c9b42dac·...·]-8">]</span><span·class="w">
261 »       </span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">AAD</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8070525151-11">&lt;&lt;</span><span·class="s">&quot;Some·additional·auth·data&quot;</span><span·class="p"·data-group-id="8070525151-11">&gt;&gt;</span><span·class="p">.</span><span·class="w">261 »       </span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">AAD</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4911566223-11">&lt;&lt;</span><span·class="s">&quot;Some·additional·auth·data&quot;</span><span·class="p"·data-group-id="4911566223-11">&gt;&gt;</span><span·class="p">.</span><span·class="w">
262 »       </span><span·class="p"·data-group-id="8070525151-12">&lt;&lt;</span><span·class="s">&quot;Some·additional·auth·data&quot;</span><span·class="p"·data-group-id="8070525151-12">&gt;&gt;</span><span·class="w">262 »       </span><span·class="p"·data-group-id="4911566223-12">&lt;&lt;</span><span·class="s">&quot;Some·additional·auth·data&quot;</span><span·class="p"·data-group-id="4911566223-12">&gt;&gt;</span><span·class="w">
263 »       </span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_one_time_aead</span><span·class="p"·data-group-id="8070525151-13">(</span><span·class="ss">aes_128_gcm</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IV</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·214,·SHA:·a1fbc709824ffcb69403ddab05b9e54aca20d4e6dcf65199ef242c73f840707a·...·]-13">)</span><span·class="p">.</span><span·class="w">263 »       </span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">crypto_one_time_aead</span><span·class="p"·data-group-id="4911566223-13">(</span><span·class="ss">aes_128_gcm</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IV</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·214,·SHA:·73ed6e7c907dd88ee4bbc05b923fafb0a5dc0fe0501c706b8b63c9c8b92644ae·...·]-13">)</span><span·class="p">.</span><span·class="w">
264 »       </span><span·class="p"·data-group-id="8070525151-14">{</span><span·class="p"·data-group-id="8070525151-15">&lt;&lt;</span><span·class="mi">240</span><span·class="p">,</span><span·class="mi">130</span><span·class="p">,</span><span·class="mi">38</span><span·class="p">,</span><span·class="mi">96</span><span·class="p">,</span><span·class="mi">130</span><span·class="p">,</span><span·class="mi">241</span><span·class="p">,</span><span·class="mi">189</span><span·class="p">,</span><span·class="mi">52</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">190</span><span·class="p">,</span><span·class="mi">179</span><span·class="p">,</span><span·class="mi">213</span><span·class="p">,</span><span·class="mi">132</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="w">264 »       </span><span·class="p"·data-group-id="4911566223-14">{</span><span·class="p"·data-group-id="4911566223-15">&lt;&lt;</span><span·class="mi">240</span><span·class="p">,</span><span·class="mi">130</span><span·class="p">,</span><span·class="mi">38</span><span·class="p">,</span><span·class="mi">96</span><span·class="p">,</span><span·class="mi">130</span><span·class="p">,</span><span·class="mi">241</span><span·class="p">,</span><span·class="mi">189</span><span·class="p">,</span><span·class="mi">52</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">190</span><span·class="p">,</span><span·class="mi">179</span><span·class="p">,</span><span·class="mi">213</span><span·class="p">,</span><span·class="mi">132</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="w">
265 »       </span><span·class="mi">192</span><span·class="p">,</span><span·class="mi">103</span><span·class="p">,</span><span·class="mi">176</span><span·class="p">,</span><span·class="mi">90</span><span·class="p">,</span><span·class="mi">104</span><span·class="p">,</span><span·class="mi">15</span><span·class="p">,</span><span·class="mi">71</span><span·class="p">,</span><span·class="mi">158</span><span·class="p"·data-group-id="8070525151-15">&gt;&gt;</span><span·class="p">,</span><span·class="w">265 »       </span><span·class="mi">192</span><span·class="p">,</span><span·class="mi">103</span><span·class="p">,</span><span·class="mi">176</span><span·class="p">,</span><span·class="mi">90</span><span·class="p">,</span><span·class="mi">104</span><span·class="p">,</span><span·class="mi">15</span><span·class="p">,</span><span·class="mi">71</span><span·class="p">,</span><span·class="mi">158</span><span·class="p"·data-group-id="4911566223-15">&gt;&gt;</span><span·class="p">,</span><span·class="w">
266 »       </span><span·class="p"·data-group-id="8070525151-16">&lt;&lt;</span><span·class="mi">131</span><span·class="p">,</span><span·class="mi">47</span><span·class="p">,</span><span·class="mi">45</span><span·class="p">,</span><span·class="mi">91</span><span·class="p">,</span><span·class="mi">142</spa[·...·truncated·by·diffoscope;·len:·657,·SHA:·48925adbbd179d4d07ce07305338b18b1f32f7965e725f7ebfb5299e844bc9e4·...·]-14">}</span><span·class="w">266 »       </span><span·class="p"·data-group-id="4911566223-16">&lt;&lt;</span><span·class="mi">131</span><span·class="p">,</span><span·class="mi">47</span><span·class="p">,</span><span·class="mi">45</span><span·class="p">,</span><span·class="mi">91</span><span·class="p">,</span><span·class="mi">142</spa[·...·truncated·by·diffoscope;·len:·657,·SHA:·7fb46988980dafe9d7789725b62e13a4820e51429d2d3844eb1cc09e766f6407·...·]-14">}</span><span·class="w">
267 »       </span><span·class="mi">6</span><span·class="o">&gt;</span></code></pre><p>The·<code·class="inline">[&lt;&lt;&quot;First·bytes&quot;&gt;&gt;,&lt;&lt;&quot;Second·bytes&quot;&gt;&gt;]</code>·could·of·course·have·been·one267 »       </span><span·class="mi">6</span><span·class="o">&gt;</span></code></pre><p>The·<code·class="inline">[&lt;&lt;&quot;First·bytes&quot;&gt;&gt;,&lt;&lt;&quot;Second·bytes&quot;&gt;&gt;]</code>·could·of·course·have·been·one
268 single·binary:·<code·class="inline">&lt;&lt;&quot;First·bytesSecond·bytes&quot;&gt;&gt;</code>.</p><h3·id="example-of-mac_init-mac_update-and-mac_final"·class="section-heading">268 single·binary:·<code·class="inline">&lt;&lt;&quot;First·bytesSecond·bytes&quot;&gt;&gt;</code>.</p><h3·id="example-of-mac_init-mac_update-and-mac_final"·class="section-heading">
269 ··<a·href="#example-of-mac_init-mac_update-and-mac_final"·class="hover-link">269 ··<a·href="#example-of-mac_init-mac_update-and-mac_final"·class="hover-link">
270 ····<i·class="ri-link-m"·aria-hidden="true"></i>270 ····<i·class="ri-link-m"·aria-hidden="true"></i>
271 ··</a>271 ··</a>
272 ··<span·class="text">Example·of·mac_init·mac_update·and·mac_final</span>272 ··<span·class="text">Example·of·mac_init·mac_update·and·mac_final</span>
273 </h3>273 </h3>
274 <pre><code·class="makeup·erlang"·translate="no"><span·class="w">»   </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Key</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3805708428-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="3805708428-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">274 <pre><code·class="makeup·erlang"·translate="no"><span·class="w">»   </span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Key</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0555016513-1">&lt;&lt;</span><span·class="mi">1</span><span·class="p">:</span><span·class="mi">128</span><span·class="p"·data-group-id="0555016513-1">&gt;&gt;</span><span·class="p">.</span><span·class="w">
275 »       </span><span·class="p"·data-group-id="3805708428-2">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·574,·SHA:·3b01651092f535e53b8e2c8603bb7e35fd47cc453da98cc4326f7f630d9fb13a·...·]-2">&gt;&gt;</span><span·class="w">275 »       </span><span·class="p"·data-group-id="0555016513-2">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·574,·SHA:·8a6accf03f9d9a437d518a605e4e94de69bd1e8901ed148ec5275324a7c7734e·...·]-2">&gt;&gt;</span><span·class="w">
276 »       </span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">StateMac</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">mac_init</span><span·class="p"·data-group-id="3805708428-3">(</span><span·class="ss">cmac</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">aes_128_cbc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="3805708428-3">)</span><span·class="p">.</span><span·class="w">276 »       </span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">StateMac</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">mac_init</span><span·class="p"·data-group-id="0555016513-3">(</span><span·class="ss">cmac</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">aes_128_cbc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="0555016513-3">)</span><span·class="p">.</span><span·class="w">
277 »       </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.2424664121</span><span·class="p">.</span><span·class="mf">2781478916.232610</span><span·class="o">&gt;</span><span·class="w">277 »       </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.2424664121</span><span·class="p">.</span><span·class="mf">2781478916.232610</span><span·class="o">&gt;</span><span·class="w">
278 »       </span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">mac_update</span><span·class="p"·data-group-id="3805708428-4">(</span><span·class="n">StateMac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3805708428-5">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="3805708428-5">&gt;[·...·truncated·by·diffoscope;·len:·52,·SHA:·2e540b7e859d3b46ee23a49f5a6f326f1986e778a8574d5e51cd9123dd89e192·...·]-4">)</span><span·class="p">.</span><span·class="w">278 »       </span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">mac_update</span><span·class="p"·data-group-id="0555016513-4">(</span><span·class="n">StateMac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0555016513-5">&lt;&lt;</span><span·class="s">&quot;First·bytes&quot;</span><span·class="p"·data-group-id="0555016513-5">&gt;[·...·truncated·by·diffoscope;·len:·52,·SHA:·ca9074b15f5d0618d49abc034391d5c110ce87a75efd197be5170230da7a66cf·...·]-4">)</span><span·class="p">.</span><span·class="w">
279 »       </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.2424664121</span><span·class="p">.</span><span·class="mf">2781478916.232610</span><span·class="o">&gt;</span><span·class="w">279 »       </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.2424664121</span><span·class="p">.</span><span·class="mf">2781478916.232610</span><span·class="o">&gt;</span><span·class="w">
280 »       </span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">mac_update</span><span·class="p"·data-group-id="3805708428-6">(</span><span·class="n">StateMac</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;·&quot;</span><span·class="p"·data-group-id="3805708428-6">)</span><span·class="p">.</span><span·class="w">280 »       </span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">mac_update</span><span·class="p"·data-group-id="0555016513-6">(</span><span·class="n">StateMac</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;·&quot;</span><span·class="p"·data-group-id="0555016513-6">)</span><span·class="p">.</span><span·class="w">
281 »       </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.2424664121</span><span·class="p">.</span><span·class="mf">2781478916.232610</span><span·class="o">&gt;</span><span·class="w">281 »       </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.2424664121</span><span·class="p">.</span><span·class="mf">2781478916.232610</span><span·class="o">&gt;</span><span·class="w">
282 »       </span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">mac_update</span><span·class="p"·data-group-id="3805708428-7">(</span><span·class="n">StateMac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3805708428-8">&lt;&lt;</span><span·class="s">&quot;last·bytes&quot;</span><span·class="p"·data-group-id="3805708428-8">&gt;&[·...·truncated·by·diffoscope;·len:·51,·SHA:·e228d3c921a047ed95e1c140685f91e34044825acdbc453142bc209d8b54327e·...·]-7">)</span><span·class="p">.</span><span·class="w">282 »       </span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">mac_update</span><span·class="p"·data-group-id="0555016513-7">(</span><span·class="n">StateMac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0555016513-8">&lt;&lt;</span><span·class="s">&quot;last·bytes&quot;</span><span·class="p"·data-group-id="0555016513-8">&gt;&[·...·truncated·by·diffoscope;·len:·51,·SHA:·9b60e80ef48e8f93cc8b3201281fc7ac988987f5d328e5832e3fa8c604f934fa·...·]-7">)</span><span·class="p">.</span><span·class="w">
283 »       </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.2424664121</span><span·class="p">.</span><span·class="mf">2781478916.232610</span><span·class="o">&gt;</span><span·class="w">283 »       </span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.2424664121</span><span·class="p">.</span><span·class="mf">2781478916.232610</span><span·class="o">&gt;</span><span·class="w">
284 »       </span><span·class="mi">6</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">mac_final</span><span·class="p"·data-group-id="3805708428-9">(</span><span·class="n">StateMac</span><span·class="p"·data-group-id="3805708428-9">)</span><span·class="p">.</span><span·class="w">284 »       </span><span·class="mi">6</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">mac_final</span><span·class="p"·data-group-id="0555016513-9">(</span><span·class="n">StateMac</span><span·class="p"·data-group-id="0555016513-9">)</span><span·class="p">.</span><span·class="w">
285 »       </span><span·class="p"·data-group-id="3805708428-10">&lt;&lt;</span><span·class="mi">68</span><span·class="p">,</span><span·class="mi">191</span><span·class="p">,</span><span·class="mi">219</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">84</span><span·class="p">,</span><span·class="mi">77</span><span·class="p">,</span><span·class="mi">11</span><span·class="p">,</span><span·class="mi">193</span><span·class="p">,</span><span·class="mi">197</span><span·class="p">,</span><span·class="mi">238</span><span·class="p">,</span><span·class="mi">107</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">214</span><span·class="p">,</span><span·class="mi">141</span><span·class="p">,</span><span·class="mi">160</span><span·class="p">,</span><span·class="w">285 »       </span><span·class="p"·data-group-id="0555016513-10">&lt;&lt;</span><span·class="mi">68</span><span·class="p">,</span><span·class="mi">191</span><span·class="p">,</span><span·class="mi">219</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">84</span><span·class="p">,</span><span·class="mi">77</span><span·class="p">,</span><span·class="mi">11</span><span·class="p">,</span><span·class="mi">193</span><span·class="p">,</span><span·class="mi">197</span><span·class="p">,</span><span·class="mi">238</span><span·class="p">,</span><span·class="mi">107</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">214</span><span·class="p">,</span><span·class="mi">141</span><span·class="p">,</span><span·class="mi">160</span><span·class="p">,</span><span·class="w">
286 »       </span><span·class="mi">249</span><span·class="p"·data-group-id="3805708428-10">&gt;&gt;</span><span·class="w">286 »       </span><span·class="mi">249</span><span·class="p"·data-group-id="0555016513-10">&gt;&gt;</span><span·class="w">
287 »       </span><span·class="mi">7</span><span·class="o">&gt;</span></code></pre><p>and·compare·the·result·with·a·single·calculation·just·for·this·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»  </span><span·class="mi">7</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">mac</span><span·class="p"·data-group-id="5212999392-1">(</span><span·class="ss">cmac</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">aes_128_cbc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·97,·SHA:·ca6d015b268de4e331467793436c20d9facaccf21769fd42ced30250813ae321·...·]-1">)</span><span·class="p">.</span><span·class="w">287 »       </span><span·class="mi">7</span><span·class="o">&gt;</span></code></pre><p>and·compare·the·result·with·a·single·calculation·just·for·this·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»  </span><span·class="mi">7</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">crypto</span><span·class="p">:</span><span·class="nf">mac</span><span·class="p"·data-group-id="1474941275-1">(</span><span·class="ss">cmac</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">aes_128_cbc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·97,·SHA:·397277bac0499218ab7a03eb028b8c60f79a1495a6606d61423f451812f2a81f·...·]-1">)</span><span·class="p">.</span><span·class="w">
288 »       </span><span·class="p"·data-group-id="5212999392-2">&lt;&lt;</span><span·class="mi">68</span><span·class="p">,</span><span·class="mi">191</span><span·class="p">,</span><span·class="mi">219</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">84</span><span·class="p">,</span><span·class="mi">77</span><span·class="p">,</span><span·class="mi">11</span><span·class="p">,</span><span·class="mi">193</span><span·class="p">,</span><span·class="mi">197</span><span·class="p">,</span><span·class="mi">238</span><span·class="p">,</span><span·class="mi">107</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">214</span><span·class="p">,</span><span·class="mi">141</span><span·class="p">,</span><span·class="mi">160</span><span·class="p">,</span><span·class="w">288 »       </span><span·class="p"·data-group-id="1474941275-2">&lt;&lt;</span><span·class="mi">68</span><span·class="p">,</span><span·class="mi">191</span><span·class="p">,</span><span·class="mi">219</span><span·class="p">,</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">84</span><span·class="p">,</span><span·class="mi">77</span><span·class="p">,</span><span·class="mi">11</span><span·class="p">,</span><span·class="mi">193</span><span·class="p">,</span><span·class="mi">197</span><span·class="p">,</span><span·class="mi">238</span><span·class="p">,</span><span·class="mi">107</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">214</span><span·class="p">,</span><span·class="mi">141</span><span·class="p">,</span><span·class="mi">160</span><span·class="p">,</span><span·class="w">
289 »       </span><span·class="mi">249</span><span·class="p"·data-group-id="5212999392-2">&gt;&gt;</span><span·class="w">289 »       </span><span·class="mi">249</span><span·class="p"·data-group-id="1474941275-2">&gt;&gt;</span><span·class="w">
290 »       </span><span·class="mi">8</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nf">v</span><span·class="p"·data-group-id="5212999392-3">(</span><span·class="mi">7</span><span·class="p"·data-group-id="5212999392-3">)</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="nf">v</span><span·class="p"·data-group-id="5212999392-4">(</span><span[·...·truncated·by·diffoscope;·len:·61,·SHA:·a8a097bacb661962b7d6bc3286fe02d0fb2c8eb032e3420caf4a7c324fb558fd·...·]-4">)</span><span·class="p">.</span><span·class="w">290 »       </span><span·class="mi">8</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nf">v</span><span·class="p"·data-group-id="1474941275-3">(</span><span·class="mi">7</span><span·class="p"·data-group-id="1474941275-3">)</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="nf">v</span><span·class="p"·data-group-id="1474941275-4">(</span><span[·...·truncated·by·diffoscope;·len:·61,·SHA:·f86af2591bf4c0c42bbd913eab3c7cb68592d5675a69ee7a1a5ec2637b909c97·...·]-4">)</span><span·class="p">.</span><span·class="w">
291 »       </span><span·class="ss">true</span><span·class="w">291 »       </span><span·class="ss">true</span><span·class="w">
292 »       </span><span·class="mi">9</span><span·class="o">&gt;</span></code></pre><h2·id="retired-cipher-names"·class="section-heading">292 »       </span><span·class="mi">9</span><span·class="o">&gt;</span></code></pre><h2·id="retired-cipher-names"·class="section-heading">
293 ··<a·href="#retired-cipher-names"·class="hover-link">293 ··<a·href="#retired-cipher-names"·class="hover-link">
294 ····<i·class="ri-link-m"·aria-hidden="true"></i>294 ····<i·class="ri-link-m"·aria-hidden="true"></i>
295 ··</a>295 ··</a>
296 ··<span·class="text">Retired·cipher·names</span>296 ··<span·class="text">Retired·cipher·names</span>
297 </h2>297 </h2>
Offset 341, 15 lines modifiedOffset 341, 15 lines modified
341 ······<p·class="built-using">341 ······<p·class="built-using">
342 ········Built·using342 ········Built·using
343 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the343 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
344 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>344 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
345 ······</p>345 ······</p>
346 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>346 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
347 ····</footer>347 ····</footer>
348 ··</div>348 ··</div>
349 </main>349 </main>
350 </div>350 </div>
351 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>351 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
352 ··<script>352 ··<script>
353 ··let·initialized·=·false;353 ··let·initialized·=·false;
Max diff block lines reached; -1/72877 bytes (-0.00%) of diff not shown.
576 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/notes.html
    
Offset 2249, 15 lines modifiedOffset 2249, 15 lines modified
2249 ······<p·class="built-using">2249 ······<p·class="built-using">
2250 ········Built·using2250 ········Built·using
2251 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2251 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2252 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2252 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2253 ······</p>2253 ······</p>
2254 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2254 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2255 ····</footer>2255 ····</footer>
2256 ··</div>2256 ··</div>
2257 </main>2257 </main>
2258 </div>2258 </div>
2259 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2259 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2260 ··<script>2260 ··<script>
2261 ··let·initialized·=·false;2261 ··let·initialized·=·false;
610 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/crypto-5.6/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
461 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.36 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/api-reference.html
    
Offset 199, 15 lines modifiedOffset 199, 15 lines modified
199 ······<p·class="built-using">199 ······<p·class="built-using">
200 ········Built·using200 ········Built·using
201 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the201 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
202 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>202 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
203 ······</p>203 ······</p>
204 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>204 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
205 ····</footer>205 ····</footer>
206 ··</div>206 ··</div>
207 </main>207 </main>
208 </div>208 </div>
209 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>209 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
210 ··<script>210 ··<script>
211 ··let·initialized·=·false;211 ··let·initialized·=·false;
542 B
html2text {}
Max HTML report size reached
134 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/debugger.epub
3.54 KB
zipinfo {}
Max HTML report size reached
80.5 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
16.0 KB
OEBPS/notes.xhtml
Max HTML report size reached
2.79 KB
OEBPS/int.xhtml
Max HTML report size reached
2.8 KB
OEBPS/i.xhtml
Max HTML report size reached
25.5 KB
OEBPS/debugger_chapter.xhtml
Max HTML report size reached
2.75 KB
OEBPS/content.opf
2.72 KB
OEBPS/content.opf
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/debugger.html
    
Offset 335, 15 lines modifiedOffset 335, 15 lines modified
335 ······<p·class="built-using">335 ······<p·class="built-using">
336 ········Built·using336 ········Built·using
337 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the337 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
338 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>338 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
339 ······</p>339 ······</p>
340 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>340 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
341 ····</footer>341 ····</footer>
342 ··</div>342 ··</div>
343 </main>343 </main>
344 </div>344 </div>
345 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>345 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
346 ··<script>346 ··<script>
347 ··let·initialized·=·false;347 ··let·initialized·=·false;
659 B
html2text {}
Max HTML report size reached
26.9 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/debugger_chapter.html
    
Offset 160, 20 lines modifiedOffset 160, 20 lines modified
160 ····<i·class="ri-link-m"·aria-hidden="true"></i>160 ····<i·class="ri-link-m"·aria-hidden="true"></i>
161 ··</a>161 ··</a>
162 ··<span·class="text">Executable·Lines</span>162 ··<span·class="text">Executable·Lines</span>
163 </h3>163 </h3>
164 <p>To·have·an·effect,·a·breakpoint·must·be·set·at·an·<em>executable·line</em>,·which·is·a164 <p>To·have·an·effect,·a·breakpoint·must·be·set·at·an·<em>executable·line</em>,·which·is·a
165 line·of·code·containing·an·executable·expression·such·as·a·matching·or·a165 line·of·code·containing·an·executable·expression·such·as·a·matching·or·a
166 function·call.·A·blank·line·or·a·line·containing·a·comment,·function·head,·or166 function·call.·A·blank·line·or·a·line·containing·a·comment,·function·head,·or
167 pattern·in·a·<code·class="inline">case</code>·statement·or·<code·class="inline">receive</code>·statement·is·not·executable.</p><p>In·the·following·example,·lines·2,·4,·6,·8,·and·11·are·executable·lines:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="mi">1</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">is_loaded</span><span·class="p"·data-group-id="0804552841-1">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">Compiled</span><span·class="p"·data-group-id="0804552841-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">167 pattern·in·a·<code·class="inline">case</code>·statement·or·<code·class="inline">receive</code>·statement·is·not·executable.</p><p>In·the·following·example,·lines·2,·4,·6,·8,·and·11·are·executable·lines:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="mi">1</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">is_loaded</span><span·class="p"·data-group-id="6715392617-1">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">Compiled</span><span·class="p"·data-group-id="6715392617-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
168 </span><span·class="mi">2</span><span·class="p">:</span><span·class="w">···</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">get_file</span><span·class="p"·data-group-id="0804552841-2">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">Compiled</span><span·class="p"·data-group-id="0804552841-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">168 </span><span·class="mi">2</span><span·class="p">:</span><span·class="w">···</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">get_file</span><span·class="p"·data-group-id="6715392617-2">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">Compiled</span><span·class="p"·data-group-id="6715392617-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
169 </span><span·class="mi">3</span><span·class="p">:</span><span·class="w">·····</span><span·class="p"·data-group-id="0804552841-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">File</span><span·class="p"·data-group-id="0804552841-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">169 </span><span·class="mi">3</span><span·class="p">:</span><span·class="w">·····</span><span·class="p"·data-group-id="6715392617-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">File</span><span·class="p"·data-group-id="6715392617-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
170 </span><span·class="mi">4</span><span·class="p">:</span><span·class="w">·······</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">which</span><span·class="p"·data-group-id="0804552841-4">(</span><span·class="n">Module</span><span·class="p"·data-group-id="0804552841-4">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">170 </span><span·class="mi">4</span><span·class="p">:</span><span·class="w">·······</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">which</span><span·class="p"·data-group-id="6715392617-4">(</span><span·class="n">Module</span><span·class="p"·data-group-id="6715392617-4">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
171 </span><span·class="mi">5</span><span·class="p">:</span><span·class="w">·········</span><span·class="o">?</span><span·class="n">TAG</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">171 </span><span·class="mi">5</span><span·class="p">:</span><span·class="w">·········</span><span·class="o">?</span><span·class="n">TAG</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
172 </span><span·class="mi">6</span><span·class="p">:</span><span·class="w">···········</span><span·class="p"·data-group-id="0804552841-5">{</span><span·class="ss">loaded</span><span·class="p">,</span><span·class="n">File</span><span·class="p"·data-group-id="0804552841-5">}</span><span·class="p">;</span><span·class="w">172 </span><span·class="mi">6</span><span·class="p">:</span><span·class="w">···········</span><span·class="p"·data-group-id="6715392617-5">{</span><span·class="ss">loaded</span><span·class="p">,</span><span·class="n">File</span><span·class="p"·data-group-id="6715392617-5">}</span><span·class="p">;</span><span·class="w">
173 </span><span·class="mi">7</span><span·class="p">:</span><span·class="w">·········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">173 </span><span·class="mi">7</span><span·class="p">:</span><span·class="w">·········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 </span><span·class="mi">8</span><span·class="p">:</span><span·class="w">···········</span><span·class="ss">unloaded</span><span·class="w">174 </span><span·class="mi">8</span><span·class="p">:</span><span·class="w">···········</span><span·class="ss">unloaded</span><span·class="w">
175 </span><span·class="mi">9</span><span·class="p">:</span><span·class="w">·······</span><span·class="k">end</span><span·class="p">;</span><span·class="w">175 </span><span·class="mi">9</span><span·class="p">:</span><span·class="w">·······</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
176 </span><span·class="mi">10</span><span·class="p">:</span><span·class="w">····</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 </span><span·class="mi">10</span><span·class="p">:</span><span·class="w">····</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 </span><span·class="mi">11</span><span·class="p">:</span><span·class="w">······</span><span·class="ss">false</span><span·class="w">177 </span><span·class="mi">11</span><span·class="p">:</span><span·class="w">······</span><span·class="ss">false</span><span·class="w">
178 </span><span·class="mi">12</span><span·class="p">:</span><span·class="w">··</span><span·class="k">end</span><span·class="p">.</span></code></pre><h3·id="status-and-trigger-action"·class="section-heading">178 </span><span·class="mi">12</span><span·class="p">:</span><span·class="w">··</span><span·class="k">end</span><span·class="p">.</span></code></pre><h3·id="status-and-trigger-action"·class="section-heading">
179 ··<a·href="#status-and-trigger-action"·class="hover-link">179 ··<a·href="#status-and-trigger-action"·class="hover-link">
Offset 204, 21 lines modifiedOffset 204, 21 lines modified
204 returns·<code·class="inline">true</code>,·the·process·stops.·If·the·function·call·returns·<code·class="inline">false</code>,·the204 returns·<code·class="inline">true</code>,·the·process·stops.·If·the·function·call·returns·<code·class="inline">false</code>,·the
205 breakpoint·is·silently·ignored.</p><p><code·class="inline">Bindings</code>·is·a·list·of·variable·bindings.·To·retrieve·the·value·of·<code·class="inline">Variable</code>205 breakpoint·is·silently·ignored.</p><p><code·class="inline">Bindings</code>·is·a·list·of·variable·bindings.·To·retrieve·the·value·of·<code·class="inline">Variable</code>
206 (given·as·an·atom),·use·function206 (given·as·an·atom),·use·function
207 <a·href="int.html#get_binding/2"><code·class="inline">int:get_binding(Variable,·Bindings)</code></a>.·The·function207 <a·href="int.html#get_binding/2"><code·class="inline">int:get_binding(Variable,·Bindings)</code></a>.·The·function
208 returns·<code·class="inline">unbound</code>·or·<code·class="inline">{value,Value}</code>.</p><p><img·src="assets/cond_break_dialog.jpg"·alt="Conditional·Break·Dialog·Window"·title="Conditional·Break·Dialog·Window"/></p><p>Right-click·the·<em>Module</em>·entry·to·open·a·popup·menu·from·which·the·appropriate208 returns·<code·class="inline">unbound</code>·or·<code·class="inline">{value,Value}</code>.</p><p><img·src="assets/cond_break_dialog.jpg"·alt="Conditional·Break·Dialog·Window"·title="Conditional·Break·Dialog·Window"/></p><p>Right-click·the·<em>Module</em>·entry·to·open·a·popup·menu·from·which·the·appropriate
209 module·can·be·selected.</p><p><em>Example:</em></p><p>A·conditional·breakpoint·calling·<code·class="inline">c_test:c_break/1</code>·is·added·at·line·6·in·module209 module·can·be·selected.</p><p><em>Example:</em></p><p>A·conditional·breakpoint·calling·<code·class="inline">c_test:c_break/1</code>·is·added·at·line·6·in·module
210 <code·class="inline">fact</code>.·Each·time·the·breakpoint·is·reached,·the·function·is·called.·When·<code·class="inline">N</code>·is210 <code·class="inline">fact</code>.·Each·time·the·breakpoint·is·reached,·the·function·is·called.·When·<code·class="inline">N</code>·is
211 equal·to·3,·the·function·returns·<code·class="inline">true</code>·and·the·process·stops.</p><p>Extract·from·<code·class="inline">fact.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="mi">5</span><span·class="p">.</span><span·class="w">·</span><span·class="nf">fac</span><span·class="p"·data-group-id="2025352425-1">(</span><span·class="mi">0</span><span·class="p"·data-group-id="2025352425-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">;</span><span·class="w">211 equal·to·3,·the·function·returns·<code·class="inline">true</code>·and·the·process·stops.</p><p>Extract·from·<code·class="inline">fact.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="mi">5</span><span·class="p">.</span><span·class="w">·</span><span·class="nf">fac</span><span·class="p"·data-group-id="5877235807-1">(</span><span·class="mi">0</span><span·class="p"·data-group-id="5877235807-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">;</span><span·class="w">
212 </span><span·class="mi">6</span><span·class="p">.</span><span·class="w">·</span><span·class="nf">fac</span><span·class="p"·data-group-id="2025352425-2">(</span><span·class="n">N</span><span·class="p"·data-group-id="2025352425-2">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&gt;</span><span·c[·...·truncated·by·diffoscope;·len:·961,·SHA:·c7ca155ef73388a371376260cd3052f61d6756ec8e3f2f2664f843ee0e95d8d3·...·]-1">)</span><span·class="p">.</span><span·class="w">212 </span><span·class="mi">6</span><span·class="p">.</span><span·class="w">·</span><span·class="nf">fac</span><span·class="p"·data-group-id="5877235807-2">(</span><span·class="n">N</span><span·class="p"·data-group-id="5877235807-2">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&gt;</span><span·c[·...·truncated·by·diffoscope;·len:·961,·SHA:·4970d6687f3c89cbb7c336be25a7e74e167baac70f4aaa5a6d10d9492152db12·...·]-1">)</span><span·class="p">.</span><span·class="w">
213 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6262584722-2">(</span><span·class="p"·data-group-id="6262584722-3">[</span><span·class="ss">c_break</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="6262584722-3">]</span><span·class="p"·data-group-id="6262584722-2">)</span><span·class="p">.</span><span·class="w">213 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4579081231-2">(</span><span·class="p"·data-group-id="4579081231-3">[</span><span·class="ss">c_break</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="4579081231-3">]</span><span·class="p"·data-group-id="4579081231-2">)</span><span·class="p">.</span><span·class="w">
  
214 </span><span·class="nf">c_break</span><span·class="p"·data-group-id="6262584722-4">(</span><span·class="n">Bindings</span><span·class="p"·data-group-id="6262584722-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 </span><span·class="nf">c_break</span><span·class="p"·data-group-id="4579081231-4">(</span><span·class="n">Bindings</span><span·class="p"·data-group-id="4579081231-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
215 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">int</span><span·class="p">:</span><span·class="nf">get_binding</span><span·class="p"·data-group-id="6262584722-5">(</span><span·class="ss">&#39;N&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bindings</span><span·class="p"·data-group-id="6262584722-5">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">215 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">int</span><span·class="p">:</span><span·class="nf">get_binding</span><span·class="p"·data-group-id="4579081231-5">(</span><span·class="ss">&#39;N&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bindings</span><span·class="p"·data-group-id="4579081231-5">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
216 ········</span><span·class="p"·data-group-id="6262584722-6">{</span><span·class="ss">value</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="6262584722-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">216 ········</span><span·class="p"·data-group-id="4579081231-6">{</span><span·class="ss">value</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="4579081231-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
217 ············</span><span·class="ss">true</span><span·class="p">;</span><span·class="w">217 ············</span><span·class="ss">true</span><span·class="p">;</span><span·class="w">
218 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">218 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
219 ············</span><span·class="ss">false</span><span·class="w">219 ············</span><span·class="ss">false</span><span·class="w">
220 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><h3·id="function-breakpoints"·class="section-heading">220 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><h3·id="function-breakpoints"·class="section-heading">
221 ··<a·href="#function-breakpoints"·class="hover-link">221 ··<a·href="#function-breakpoints"·class="hover-link">
222 ····<i·class="ri-link-m"·aria-hidden="true"></i>222 ····<i·class="ri-link-m"·aria-hidden="true"></i>
223 ··</a>223 ··</a>
Offset 231, 20 lines modifiedOffset 231, 20 lines modified
231 ··<a·href="#stack-trace"·class="hover-link">231 ··<a·href="#stack-trace"·class="hover-link">
232 ····<i·class="ri-link-m"·aria-hidden="true"></i>232 ····<i·class="ri-link-m"·aria-hidden="true"></i>
233 ··</a>233 ··</a>
234 ··<span·class="text">Stack·Trace</span>234 ··<span·class="text">Stack·Trace</span>
235 </h2>235 </h2>
236 <p>The·Erlang·emulator·keeps·track·of·a·<em>stack·trace</em>,·information·about·recent236 <p>The·Erlang·emulator·keeps·track·of·a·<em>stack·trace</em>,·information·about·recent
237 function·calls.·This·information·is·used·if·an·error·occurs,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="k">catch</span><span·class="w">·</span><span·class="ss">a</span><span·class="o">+</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">237 function·calls.·This·information·is·used·if·an·error·occurs,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="k">catch</span><span·class="w">·</span><span·class="ss">a</span><span·class="o">+</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">
238 </span><span·class="p"·data-group-id="4994662491-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4994662491-2">{</span><span·class="ss">badarith</span><span·class="p">,</span><span·class="p"·data-group-id="4994662491-3">[</span><span·clas[·...·truncated·by·diffoscope;·len:·507,·SHA:·10e751993df35a2bd65ad6d0672f92f4548866579f2cf068bb7b64d32761d862·...·]-4">}</span><span·class="p">,</span><span·class="w">238 </span><span·class="p"·data-group-id="8213585709-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8213585709-2">{</span><span·class="ss">badarith</span><span·class="p">,</span><span·class="p"·data-group-id="8213585709-3">[</span><span·clas[·...·truncated·by·diffoscope;·len:·507,·SHA:·f70f61aeaa942e1e64bfa22efd867d9d22b556f742532844427b6ed2ab15f765·...·]-4">}</span><span·class="p">,</span><span·class="w">
239 ···················</span><span·class="p"·data-group-id="4994662491-7">{</span><span·class="ss">erl_eval</span><span·class="p">,</span><span·class="ss">do_apply</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="p"·data-group-id="4994662491-8">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·490,·SHA:·a43d8f4a86b9ef1b6f97a8fda3728b9cf925f644629943afb744e4963e5ac2d3·...·]-7">}</span><span·class="p">,</span><span·class="w">239 ···················</span><span·class="p"·data-group-id="8213585709-7">{</span><span·class="ss">erl_eval</span><span·class="p">,</span><span·class="ss">do_apply</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="p"·data-group-id="8213585709-8">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·490,·SHA:·eb121433313750d6f29e60965f234ea5822004e696cb9d732a0ea62ff25e353c·...·]-7">}</span><span·class="p">,</span><span·class="w">
240 ···················</span><span·class="p"·data-group-id="4994662491-11">{</span><span·class="ss">erl_eval</span><span·class="p">,</span><span·class="ss">expr</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="p"·data-group-id="4994662491-12">[</span><span·class="p"·data-group-id="4994662491-13">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="s">&quot;erl_eval.erl&quot;</span><span·class="p"·data-group-id="4994662491-13">}</span><span·class="p">,</span><span·class="p"·data-group-id="4994662491-14">{</span><span·class="ss">line</span><span·class="p">,</span><span·class="mi">357</span><span·class="p"·data-group-id="4994662491-14">}</span><span·class="p"·data-group-id="4994662491-12">]</span><span·class="p"·data-group-id="4994662491-11">}</span><span·class="p">,</span><span·class="w"> 
241 ···················</span><span·class="p"·data-group-id="4994662491-15">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">exprs</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="p"·data-group-id="4994662491-16">[</span><span·class="p"·data-group-id="4994662491-17">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="s">&quot;shell.erl&quot;</span><span·class="p"·data-group-id="4994662491-17">}</span><span·class="p">,</span><span·class="p"·data-group-id="4994662491-18">{</span><span·class="ss">line</span><span·class="p">,</span><span·class="mi">674</span><span·class="p"·data-group-id="4994662491-18">}</span><span·class="p"·data-group-id="4994662491-16">]</span><span·class="p"·data-group-id="4994662491-15">}</span><span·class="p">,</span><span·class="w"> 
242 ···················</span><span·class="p"·data-group-id="4994662491-19">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">eval_exprs</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="p"·data-group-id="4994662491-20">[</span><span·class="p"·data-group-id="4994662491-21">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="s">&quot;shell.erl&quot;</span><span·class="p"·data-group-id="4994662491-21">}</span><span·class="p">,</span><span·class="p"·data-group-id="4994662491-22">{</span><span·class="ss">line</span><span·class="p">,</span><span·class="mi">629</span><span·class="p"·data-group-id="4994662491-22">}</span><span·class="p"·data-group-id="4994662491-20">]</span><span·class="p"·data-group-id="4994662491-19">}</span><span·class="p">,</span><span·class="w"> 
243 ···················</span><span·class="p"·data-group-id="4994662491-23">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">eval_loop</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="p"·data-group-id="4994662491-24">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·724,·SHA:·e6ad5741d397d6b668170b9f7e4c2422eca73adfa1399639f669e573e23ff5d8·...·]240 ···················</span><span·class="p"·data-group-id="8213585709-11">{</span><span·class="ss">erl_eval</span><span·class="p">,</span><span·class="ss">expr</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="p"·data-group-id="8213585709-12">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·544,·SHA:·dde448ed64f5119a7dde3f14afdec3c4b1a22cc0eb42c5e7e065992f18272d10·...·]
 241 ···················</span><span·class="p"·data-group-id="8213585709-15">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">exprs</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="p"·data-group-id="8213585709-16">[</span><span·class="p"·data-group-id="8213585709-17">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="s">&quot;shell.erl&quot;</span><span·class="p"·data-group-id="8213585709-17">}</span><span·class="p">,</span><span·class="p"·data-group-id="8213585709-18">{</span><span·class="ss">line</span><span·class="p">,</span><span·class="mi">674</span><span·class="p"·data-group-id="8213585709-18">}</span><span·class="p"·data-group-id="8213585709-16">]</span><span·class="p"·data-group-id="8213585709-15">}</span><span·class="p">,</span><span·class="w">
 242 ···················</span><span·class="p"·data-group-id="8213585709-19">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">eval_exprs</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="p"·data-group-id="8213585709-20">[</span><span·class="p"·data-group-id="8213585709-21">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="s">&quot;shell.erl&quot;</span><span·class="p"·data-group-id="8213585709-21">}</span><span·class="p">,</span><span·class="p"·data-group-id="8213585709-22">{</span><span·class="ss">line</span><span·class="p">,</span><span·class="mi">629</span><span·class="p"·data-group-id="8213585709-22">}</span><span·class="p"·data-group-id="8213585709-20">]</span><span·class="p"·data-group-id="8213585709-19">}</span><span·class="p">,</span><span·class="w">
 243 ···················</span><span·class="p"·data-group-id="8213585709-23">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">eval_loop</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="p"·data-group-id="8213585709-24">[</span><span·class="p"·data-group-id="8213585709-25">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="s">&quot;shell.erl&quot;</span><span·class="p"·data-group-id="8213585709-25">}</span><span·class="p">,</span><span·class="p"·data-group-id="8213585709-26">{</span><span·class="ss">line</span><span·class="p">,</span><span·class="mi">614</span><span·class="p"·data-group-id="8213585709-26">}</span><span·class="p"·data-group-id="8213585709-24">]</span><span·class="p"·data-group-id="8213585709-23">}</span><span·class="p"·data-group-id="8213585709-3">]</span><span·class="p"·data-group-id="8213585709-2">}</span><span·class="p"·data-group-id="8213585709-1">}</span></code></pre><p>For·details·about·the·stack·trace,·see·section
244 <a·href="../../../../doc/system/errors.html">Errors·and·Error·Handling</a>·in·the·Erlang·Reference244 <a·href="../../../../doc/system/errors.html">Errors·and·Error·Handling</a>·in·the·Erlang·Reference
245 Manual.</p><p>Debugger·emulates·the·stack·trace·by·keeping·track·of·recently·called245 Manual.</p><p>Debugger·emulates·the·stack·trace·by·keeping·track·of·recently·called
246 interpreted·functions.·(The·real·stack·trace·cannot·be·used,·as·it·shows·which246 interpreted·functions.·(The·real·stack·trace·cannot·be·used,·as·it·shows·which
247 functions·of·Debugger·have·been·called,·rather·than·which·interpreted247 functions·of·Debugger·have·been·called,·rather·than·which·interpreted
248 functions.)</p><p>This·information·can·be·used·to·traverse·the·chain·of·function·calls,·using·the248 functions.)</p><p>This·information·can·be·used·to·traverse·the·chain·of·function·calls,·using·the
249 <em>Up</em>·and·<em>Down</em>·buttons·in·the249 <em>Up</em>·and·<em>Down</em>·buttons·in·the
250 <a·href="debugger_chapter.html#attach">Attach·Process·window</a>.</p><p>By·default,·Debugger·only·saves·information·about·recursive·function·calls,·that250 <a·href="debugger_chapter.html#attach">Attach·Process·window</a>.</p><p>By·default,·Debugger·only·saves·information·about·recursive·function·calls,·that
Offset 543, 15 lines modifiedOffset 543, 15 lines modified
543 ······<p·class="built-using">543 ······<p·class="built-using">
544 ········Built·using544 ········Built·using
545 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the545 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
546 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>546 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
547 ······</p>547 ······</p>
548 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>548 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
549 ····</footer>549 ····</footer>
550 ··</div>550 ··</div>
551 </main>551 </main>
552 </div>552 </div>
553 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>553 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
554 ··<script>554 ··<script>
555 ··let·initialized·=·false;555 ··let·initialized·=·false;
652 B
html2text {}
Max HTML report size reached
4.13 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/i.html
    
Offset 130, 17 lines modifiedOffset 130, 17 lines modified
130 ····<section·id="moduledoc">130 ····<section·id="moduledoc">
131 <p>Debugger/Interpreter·Interface.</p><p>The·<code·class="inline">i</code>·module·provides·short·forms·for·some·of·the·functions·used·by·the131 <p>Debugger/Interpreter·Interface.</p><p>The·<code·class="inline">i</code>·module·provides·short·forms·for·some·of·the·functions·used·by·the
132 graphical·Debugger·and·some·of·the·functions·in·module·<a·href="int.html"><code·class="inline">int</code></a>,·the·Erlang132 graphical·Debugger·and·some·of·the·functions·in·module·<a·href="int.html"><code·class="inline">int</code></a>,·the·Erlang
133 interpreter.</p><p>This·module·also·provides·facilities·for·displaying·status·information·about133 interpreter.</p><p>This·module·also·provides·facilities·for·displaying·status·information·about
134 interpreted·processes·and·break·points.</p><p>It·is·possible·to·attach·to·interpreted·processes·by·only·giving·the·corresponding134 interpreted·processes·and·break·points.</p><p>It·is·possible·to·attach·to·interpreted·processes·by·only·giving·the·corresponding
135 process·identity.·By·default,·an·attachment·window·is·displayed.·Processes135 process·identity.·By·default,·an·attachment·window·is·displayed.·Processes
136 at·other·Erlang·nodes·can·be·attached·manually·or·automatically.</p><p>The·functions·in·this·module·are·defined·in·the·Erlang·shell.·That·is,136 at·other·Erlang·nodes·can·be·attached·manually·or·automatically.</p><p>The·functions·in·this·module·are·defined·in·the·Erlang·shell.·That·is,
137 they·can·be·called·without·the·<code·class="inline">i:</code>·prefix.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">ii</span><span·class="p"·data-group-id="9796274026-1">(</span><span·class="ss">t</span><span·class="p"·data-group-id="9796274026-1">)</span><span·class="p">.</span><span·class="w">137 they·can·be·called·without·the·<code·class="inline">i:</code>·prefix.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">ii</span><span·class="p"·data-group-id="1777166574-1">(</span><span·class="ss">t</span><span·class="p"·data-group-id="1777166574-1">)</span><span·class="p">.</span><span·class="w">
138 </span><span·class="p"·data-group-id="9796274026-2">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">t</span><span·class="p"·data-group-id="9796274026-2">}</span><span·class="gp·unselectable">138 </span><span·class="p"·data-group-id="1777166574-2">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">t</span><span·class="p"·data-group-id="1777166574-2">}</span><span·class="gp·unselectable">
139 2&gt;·</span><span·class="nf">iaa</span><span·class="p"·data-group-id="9796274026-3">(</span><span·class="p"·data-group-id="9796274026-4">[</span><span·class="ss">init</span><span·class="p"·data-group-id="9796274026-4">]</span><span·class="p"·data-group-id="9796274026-3">)</span><span·class="p">.</span><span·class="w">139 2&gt;·</span><span·class="nf">iaa</span><span·class="p"·data-group-id="1777166574-3">(</span><span·class="p"·data-group-id="1777166574-4">[</span><span·class="ss">init</span><span·class="p"·data-group-id="1777166574-4">]</span><span·class="p"·data-group-id="1777166574-3">)</span><span·class="p">.</span><span·class="w">
140 </span><span·class="ss">true</span></code></pre>140 </span><span·class="ss">true</span></code></pre>
141 ····</section>141 ····</section>
  
142 </div>142 </div>
  
143 ··<section·id="summary"·class="details-list">143 ··<section·id="summary"·class="details-list">
144 ····<h1·class="section-heading">144 ····<h1·class="section-heading">
Offset 1288, 15 lines modifiedOffset 1288, 15 lines modified
1288 ······<p·class="built-using">1288 ······<p·class="built-using">
1289 ········Built·using1289 ········Built·using
1290 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1290 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1291 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1291 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1292 ······</p>1292 ······</p>
1293 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1293 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1294 ····</footer>1294 ····</footer>
1295 ··</div>1295 ··</div>
1296 </main>1296 </main>
1297 </div>1297 </div>
1298 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1298 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1299 ··<script>1299 ··<script>
1300 ··let·initialized·=·false;1300 ··let·initialized·=·false;
633 B
html2text {}
Max HTML report size reached
4.21 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/int.html
    
Offset 670, 15 lines modifiedOffset 670, 15 lines modified
670 ·························Args·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>670 ·························Args·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>
  
671 ······</div>671 ······</div>
  
672 <p>Sets·when·and·how·to·attach·automatically·to·a·process·executing·code672 <p>Sets·when·and·how·to·attach·automatically·to·a·process·executing·code
673 in·interpreted·modules.</p><p>By·default·when·the·interpreter·is·started,·automatic·attach·is·disabled.</p><p>If·<code·class="inline">Flags</code>·is·an·empty·list,·automatic·attach·is·disabled.</p><p>Otherwise·<code·class="inline">Flags</code>·should·be·a·list·containing··at·least·one·of·the·following673 in·interpreted·modules.</p><p>By·default·when·the·interpreter·is·started,·automatic·attach·is·disabled.</p><p>If·<code·class="inline">Flags</code>·is·an·empty·list,·automatic·attach·is·disabled.</p><p>Otherwise·<code·class="inline">Flags</code>·should·be·a·list·containing··at·least·one·of·the·following
674 flags:</p><ul><li><code·class="inline">init</code>·-·Attach·when·a·process·for·the·first·time·calls·an·interpreted674 flags:</p><ul><li><code·class="inline">init</code>·-·Attach·when·a·process·for·the·first·time·calls·an·interpreted
675 function.</li><li><code·class="inline">break</code>·-·Attach·whenever·a·process·reaches·a·breakpoint.</li><li><code·class="inline">exit</code>·-·Attach·when·a·process·terminates.</li></ul><p>When·the·specified·event·occurs,·the·function·<code·class="inline">Function</code>·is·called·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">spawn</span><span·class="p"·data-group-id="5887655383-1">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5887655383-2">[</span><span·class="n">Pid</span><spa[·...·truncated·by·diffoscope;·len:·188,·SHA:·22ada77f03f99c33c21433c12cb8495f7b6616440ff937a131a52a1959b12b9d·...·]3-1">)</span></code></pre><p><code·class="inline">Pid</code>·is·the·pid·of·the·process·executing·interpreted·code.</p>675 function.</li><li><code·class="inline">break</code>·-·Attach·whenever·a·process·reaches·a·breakpoint.</li><li><code·class="inline">exit</code>·-·Attach·when·a·process·terminates.</li></ul><p>When·the·specified·event·occurs,·the·function·<code·class="inline">Function</code>·is·called·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">spawn</span><span·class="p"·data-group-id="5029576403-1">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5029576403-2">[</span><span·class="n">Pid</span><spa[·...·truncated·by·diffoscope;·len:·188,·SHA:·a774b9b57cf82e1c573a57c6652f5e03f4802ebdd3394a32a2c0c9ced66cad64·...·]3-1">)</span></code></pre><p><code·class="inline">Pid</code>·is·the·pid·of·the·process·executing·interpreted·code.</p>
676 ··</section>676 ··</section>
677 </section>677 </section>
678 <section·class="detail"·id="break/2">678 <section·class="detail"·id="break/2">
  
679 ··<div·class="detail-header">679 ··<div·class="detail-header">
680 ····<a·href="#break/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">680 ····<a·href="#break/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
681 ······<i·class="ri-link-m"·aria-hidden="true"></i>681 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1399, 15 lines modifiedOffset 1399, 15 lines modified
1399 ······<p·class="built-using">1399 ······<p·class="built-using">
1400 ········Built·using1400 ········Built·using
1401 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1401 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1402 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1402 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1403 ······</p>1403 ······</p>
1404 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1404 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1405 ····</footer>1405 ····</footer>
1406 ··</div>1406 ··</div>
1407 </main>1407 </main>
1408 </div>1408 </div>
1409 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1409 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1410 ··<script>1410 ··<script>
1411 ··let·initialized·=·false;1411 ··let·initialized·=·false;
657 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/introduction.html
    
Offset 188, 15 lines modifiedOffset 188, 15 lines modified
188 ······<p·class="built-using">188 ······<p·class="built-using">
189 ········Built·using189 ········Built·using
190 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the190 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
191 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>191 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
192 ······</p>192 ······</p>
193 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>193 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
194 ····</footer>194 ····</footer>
195 ··</div>195 ··</div>
196 </main>196 </main>
197 </div>197 </div>
198 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>198 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
199 ··<script>199 ··<script>
200 ··let·initialized·=·false;200 ··let·initialized·=·false;
723 B
html2text {}
Max HTML report size reached
17.5 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/notes.html
    
Offset 139, 44 lines modifiedOffset 139, 44 lines modified
139 </h3>139 </h3>
140 <ul><li><p>Error·handling·has·been·improved·when·modules·fail·to·load.</p><p>Own·Id:·OTP-19484·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7819"·title="">GH-7819</a>,·<a·href="https://github.com/erlang/otp/pull/9399"·title="">PR-9399</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>Error·handling·has·been·improved·when·modules·fail·to·load.</p><p>Own·Id:·OTP-19484·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7819"·title="">GH-7819</a>,·<a·href="https://github.com/erlang/otp/pull/9399"·title="">PR-9399</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="7584483659-1">[</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="7584483659-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="7584483659-2">]</span><span·class="w">·</span><span·class="p">&amp;&amp;</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="7584483659-3">[</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="7584483659-3">]</span><span·class="p"·data-group-id="7584483659-1">]</span><span·class="p">.</span><span·class="w"> 
147 </span><span·class="p"·data-group-id="7584483659-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="7584483659-4">]</span></code></pre><p>Own·I[·...·truncated·by·diffoscope;·len:·254,·SHA:·aea8f84eb547c5302d7ead60733acbc5a524ebf2be7cf3ca1d1712a6880aedc8·...·]146 <ul><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·cla[·...·truncated·by·diffoscope;·len:·1021,·SHA:·eed1a34e03ffc98e3a6bded9e70ba96fb1b4b2a6edf39dfae30b0b6a6bcc426c·...·]
 147 </span><span·class="p"·data-group-id="9654361427-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="9654361427-4">]</span></code></pre><p>Own·Id:·OTP-19184·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8926"·title="">PR-8926</a></p></li><li><p>New·strict·generators·have·been·added·for·comprehensions.</p><p>The·currently·existing·generators·are·&quot;relaxed&quot;:·they·ignore·terms·in·the
148 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching148 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching
149 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="5102762390-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="5102762390-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="5102762390-2">}</span><span·class="o">=</span><span·class="n">T</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="5102762390-3">[</span><span·class="p"·data-group-id="5102762390-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5102762390-4">}</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5102762390-5">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="5102762390-5">}</span><span·class="p"·data-group-id="5102762390-3">]</span><span·class="p"·data-group-id="5102762390-1">]</span><span·class="p">.</span><span·class="w"> 
150 </span><span·class="p"·data-group-id="5102762390-6">[</span><span·class="p"·data-group-id="5102762390-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5102762390-7">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·340,·SHA:·add994b1f7dc73e6e3a5dae70ca6d5de48597b1479baffda6858de346d32b7e4·...·]149 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="1699026412-1">[</span><span·class="n">T</span><span·class[·...·truncated·by·diffoscope;·len:·1002,·SHA:·56275c1276f93443b76b1c7318003d511fb71db46469b2e8a6286953ed752135·...·]
 150 </span><span·class="p"·data-group-id="1699026412-6">[</span><span·class="p"·data-group-id="1699026412-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="1699026412-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="1699026412-8">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1699026412-8">}</span><span·class="p"·data-group-id="1699026412-6">]</span></code></pre><p>If·the·intention·is·that·all·lists·processed·by·a·list·comprehension·must·only
151 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures151 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures
152 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="1802213885-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="1802213885-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·c9377f09614ebe9725dd39902126ca04bba50bf4b307822a26dd3b558de84403·...·]-1">]</span><span·class="p">.</span><span·class="w">152 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="0995150837-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="0995150837-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·601ede2fc1db8e9c940eb1d370a1eb0f010f5702158f8d33cb0c11441330f1f7·...·]-1">]</span><span·class="p">.</span><span·class="w">
153 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="debugger-5-5"·class="section-heading">153 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="debugger-5-5"·class="section-heading">
154 ··<a·href="#debugger-5-5"·class="hover-link">154 ··<a·href="#debugger-5-5"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">Debugger·5.5</span>157 ··<span·class="text">Debugger·5.5</span>
158 </h2>158 </h2>
159 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">159 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">
160 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">160 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">
161 ····<i·class="ri-link-m"·aria-hidden="true"></i>161 ····<i·class="ri-link-m"·aria-hidden="true"></i>
162 ··</a>162 ··</a>
163 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>163 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
164 </h3>164 </h3>
165 <ul><li><p>Defining·a·fun·in·the·shell·using·the·syntax·<code·class="inline">fun·Name/Arity</code>·would·fail.·This·has·been·corrected·so·that·the·following·now·works:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nb">is_atom</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">165 <ul><li><p>Defining·a·fun·in·the·shell·using·the·syntax·<code·class="inline">fun·Name/Arity</code>·would·fail.·This·has·been·corrected·so·that·the·following·now·works:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nb">is_atom</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">
166 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">166 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">
167 &gt;·</span><span·class="n">F</span><span·class="p"·data-group-id="7092961094-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="7092961094-1">)</span><span·class="p">.</span><span·class="w">167 &gt;·</span><span·class="n">F</span><span·class="p"·data-group-id="9400165184-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="9400165184-1">)</span><span·class="p">.</span><span·class="w">
168 </span><span·class="ss">true</span><span·class="gp·unselectable">168 </span><span·class="ss">true</span><span·class="gp·unselectable">
169 3&gt;·</span><span·class="n">Id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">id</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">169 3&gt;·</span><span·class="n">Id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">id</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">
170 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">170 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">
171 4&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="7092961094-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="7092961094-2">)</span><span·class="p">.</span><span·class="w">171 4&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="9400165184-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="9400165184-2">)</span><span·class="p">.</span><span·class="w">
172 </span><span·class="gt">**·exception·error:·undefined·shell·command·id/1</span><span·class="gp·unselectable">172 </span><span·class="gt">**·exception·error:·undefined·shell·command·id/1</span><span·class="gp·unselectable">
173 5&gt;·</span><span·class="nf">id</span><span·class="p"·data-group-id="7092961094-3">(</span><span·class="n">I</span><span·class="p"·data-group-id="7092961094-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">I</span><span·class="p">.</span><span·class="w">173 5&gt;·</span><span·class="nf">id</span><span·class="p"·data-group-id="9400165184-3">(</span><span·class="n">I</span><span·class="p"·data-group-id="9400165184-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">I</span><span·class="p">.</span><span·class="w">
174 </span><span·class="ss">ok</span><span·class="gp·unselectable">174 </span><span·class="ss">ok</span><span·class="gp·unselectable">
175 6&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="7092961094-4">(</span><span·class="mi">42</span><span·class="p"·data-group-id="7092961094-4">)</span><span·class="p">.</span><span·class="w">175 6&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="9400165184-4">(</span><span·class="mi">42</span><span·class="p"·data-group-id="9400165184-4">)</span><span·class="p">.</span><span·class="w">
176 </span><span·class="mi">42</span></code></pre><p>The·Debugger·has·also·been·corrected·to·correctly·handle·this·syntax·for·a·BIF.</p><p>Own·Id:·OTP-19322·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8963"·title="">GH-8963</a>,·<a·href="https://github.com/erlang/otp/pull/8987"·title="">PR-8987</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">176 </span><span·class="mi">42</span></code></pre><p>The·Debugger·has·also·been·corrected·to·correctly·handle·this·syntax·for·a·BIF.</p><p>Own·Id:·OTP-19322·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8963"·title="">GH-8963</a>,·<a·href="https://github.com/erlang/otp/pull/8987"·title="">PR-8987</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">
177 ··<a·href="#improvements-and-new-features-1"·class="hover-link">177 ··<a·href="#improvements-and-new-features-1"·class="hover-link">
178 ····<i·class="ri-link-m"·aria-hidden="true"></i>178 ····<i·class="ri-link-m"·aria-hidden="true"></i>
179 ··</a>179 ··</a>
180 ··<span·class="text">Improvements·and·New·Features</span>180 ··<span·class="text">Improvements·and·New·Features</span>
181 </h3>181 </h3>
182 <ul><li><p>Erlang/OTP·type·specifications·has·been·updated·to·eliminate·overlapping·domains.</p><p>Own·Id:·OTP-19310·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8810"·title="">GH-8810</a>,·<a·href="https://github.com/erlang/otp/issues/8821"·title="">GH-8821</a>,·<a·href="https://github.com/erlang/otp/pull/8986"·title="">PR-8986</a></p></li></ul><h2·id="debugger-5-4"·class="section-heading">182 <ul><li><p>Erlang/OTP·type·specifications·has·been·updated·to·eliminate·overlapping·domains.</p><p>Own·Id:·OTP-19310·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8810"·title="">GH-8810</a>,·<a·href="https://github.com/erlang/otp/issues/8821"·title="">GH-8821</a>,·<a·href="https://github.com/erlang/otp/pull/8986"·title="">PR-8986</a></p></li></ul><h2·id="debugger-5-4"·class="section-heading">
Offset 1013, 15 lines modifiedOffset 1013, 15 lines modified
1013 ······<p·class="built-using">1013 ······<p·class="built-using">
1014 ········Built·using1014 ········Built·using
1015 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1015 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1016 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1016 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1017 ······</p>1017 ······</p>
1018 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1018 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1019 ····</footer>1019 ····</footer>
1020 ··</div>1020 ··</div>
1021 </main>1021 </main>
1022 </div>1022 </div>
1023 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1023 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1024 ··<script>1024 ··<script>
1025 ··let·initialized·=·false;1025 ··let·initialized·=·false;
698 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/debugger-6.0/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
463 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/api-reference.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
187 ····</footer>187 ····</footer>
188 ··</div>188 ··</div>
189 </main>189 </main>
190 </div>190 </div>
191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
192 ··<script>192 ··<script>
193 ··let·initialized·=·false;193 ··let·initialized·=·false;
704 B
html2text {}
Max HTML report size reached
122 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer.epub
2.24 KB
zipinfo {}
Max HTML report size reached
73.9 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
10.3 KB
OEBPS/notes.xhtml
Max HTML report size reached
18.8 KB
OEBPS/dialyzer_chapter.xhtml
Max HTML report size reached
14.8 KB
OEBPS/dialyzer.xhtml
Max HTML report size reached
1.23 KB
OEBPS/content.opf
1.2 KB
OEBPS/content.opf
Max HTML report size reached
16.2 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer.html
    
Offset 266, 35 lines modifiedOffset 266, 35 lines modified
266 the·value·is·a·list,·it·is·used·as·is.·If·it·is·not·a·list,·it·is·put·into·a266 the·value·is·a·list,·it·is·used·as·is.·If·it·is·not·a·list,·it·is·put·into·a
267 list.</p><p>The·list·is·appended·to·any·options·given·to·<a·href="#run/1"><code·class="inline">run/1</code></a>·or·on·the·command·line.</p><p>The·list·can·be·retrieved·with·<a·href="../../../../lib/compiler-9.0/doc/html/compile.html#env_compiler_options/0"><code·class="inline">compile:env_compiler_options/0</code></a>.</p><p>Currently·the·only·option·used·is·the267 list.</p><p>The·list·is·appended·to·any·options·given·to·<a·href="#run/1"><code·class="inline">run/1</code></a>·or·on·the·command·line.</p><p>The·list·can·be·retrieved·with·<a·href="../../../../lib/compiler-9.0/doc/html/compile.html#env_compiler_options/0"><code·class="inline">compile:env_compiler_options/0</code></a>.</p><p>Currently·the·only·option·used·is·the
268 <a·href="dialyzer.html#error_location"><code·class="inline">error_location</code></a>·option.</p><p><em>Dialyzer·configuration·file:</em></p><p>Dialyzer's·configuration·file·may·also·be·used·to·augment·the·default·options268 <a·href="dialyzer.html#error_location"><code·class="inline">error_location</code></a>·option.</p><p><em>Dialyzer·configuration·file:</em></p><p>Dialyzer's·configuration·file·may·also·be·used·to·augment·the·default·options
269 and·those·given·directly·to·the·Dialyzer·command.·It·is·commonly·used·to·avoid269 and·those·given·directly·to·the·Dialyzer·command.·It·is·commonly·used·to·avoid
270 repeating·options·which·would·otherwise·need·to·be·given·explicitly·to·Dialyzer270 repeating·options·which·would·otherwise·need·to·be·given·explicitly·to·Dialyzer
271 on·every·invocation.</p><p>The·location·of·the·configuration·file·can·be·set·via·the·<code·class="inline">DIALYZER_CONFIG</code>271 on·every·invocation.</p><p>The·location·of·the·configuration·file·can·be·set·via·the·<code·class="inline">DIALYZER_CONFIG</code>
272 environment·variable,·and·defaults·to·within·the·<code·class="inline">user_config</code>·from272 environment·variable,·and·defaults·to·within·the·<code·class="inline">user_config</code>·from
273 <a·href="../../../../lib/stdlib-7.0/doc/html/filename.html#basedir/3"><code·class="inline">filename:basedir/3</code></a>.</p><p>An·example·configuration·file's·contents·might·be:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="4278730270-1">{</span><span·class="ss">incremental</span><span·class="p">,</span><span·class="w">273 <a·href="../../../../lib/stdlib-7.0/doc/html/filename.html#basedir/3"><code·class="inline">filename:basedir/3</code></a>.</p><p>An·example·configuration·file's·contents·might·be:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="6642948787-1">{</span><span·class="ss">incremental</span><span·class="p">,</span><span·class="w">
274 ········</span><span·class="p"·data-group-id="4278730270-2">{</span><span·class="ss">default_apps</span><span·class="p">,</span><span·class="p"·data-group-id="4278730270-3">[</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·109,·SHA:·083bc469fd13bf857f4dcbee4dac930a542b199feca201a146617cdbc70b5b48·...·]-2">}</span><span·class="p">,</span><span·class="w">274 ········</span><span·class="p"·data-group-id="6642948787-2">{</span><span·class="ss">default_apps</span><span·class="p">,</span><span·class="p"·data-group-id="6642948787-3">[</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·109,·SHA:·a872be34860a6af0de6460cac6916000bd9c02cf80beb1dc9d89ca333299c808·...·]-2">}</span><span·class="p">,</span><span·class="w">
275 ········</span><span·class="p"·data-group-id="4278730270-4">{</span><span·class="ss">default_warning_apps</span><span·class="p">,</span><span·class="p"·data-group-id="4278730270-5">[</span><span·class="ss">stdlib</span><span·class="p"·data-group-id="4278730270-5">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·00eed0358922b6d284d52b5b02935bf231ba686c9a710eb2e28b7c3f0484217c·...·]-4">}</span><span·class="w">275 ········</span><span·class="p"·data-group-id="6642948787-4">{</span><span·class="ss">default_warning_apps</span><span·class="p">,</span><span·class="p"·data-group-id="6642948787-5">[</span><span·class="ss">stdlib</span><span·class="p"·data-group-id="6642948787-5">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·ddf3cc87b1acd8f59f1d375d3750491dfc8bfefd30751d28d03b4a4efdbe3bc8·...·]-4">}</span><span·class="w">
276 ······</span><span·class="p"·data-group-id="4278730270-1">}</span><span·class="p">.</span><span·class="w">276 ······</span><span·class="p"·data-group-id="6642948787-1">}</span><span·class="p">.</span><span·class="w">
277 ······</span><span·class="p"·data-group-id="4278730270-6">{</span><span·class="ss">warnings</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4278730270-7">[</span><span·class="ss">no_improper_lists</span><span·class="p"·data-group-id="4278730270-7">]</span><span·class="p"·data-group-id="4278730270-6">}</span><span·class="p">.</span><span·class="w"> 
278 ······</span><span·class="p"·data-group-id="4278730270-8">{</span><span·class="ss">add_pathsa</span><span·class="p">,</span><span·class="p"·data-group-id="4278730270-9">[</span><span·class="s">&quot;/users/samwise/potatoes/ebin&quot;</span><span·class="p"·data-group-id="4278730270-9">]</span><span·c[·...·truncated·by·diffoscope;·len:·36,·SHA:·99e431c27d6a1e681928d4c3625dbc35fc350f869174592283d74ef42844c558·...·]">}</span><span·class="p">.</span><span·class="w">277 ······</span><span·class="p"·data-group-id="6642948787-6">{</span><span·class="ss">warnings</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6642948787-7">[</span><span·class="ss">no_improper_lists</span><span·class="p"·data-group-id="6642948787-7">]</span><span·c[·...·truncated·by·diffoscope;·len:·36,·SHA:·c72430a2e821110bf88fb319fce692df5d3286bc61b70fa2f008b22ffd8d8ccc·...·]">}</span><span·class="p">.</span><span·class="w">
 278 ······</span><span·class="p"·data-group-id="6642948787-8">{</span><span·class="ss">add_pathsa</span><span·class="p">,</span><span·class="p"·data-group-id="6642948787-9">[</span><span·class="s">&quot;/users/samwise/potatoes/ebin&quot;</span><span·class="p"·data-group-id="6642948787-9">]</span><span·class="p"·data-group-id="6642948787-8">}</span><span·class="p">.</span><span·class="w">
279 ······</span><span·class="p"·data-group-id="4278730270-10">{</span><span·class="ss">add_pathsz</span><span·class="p">,</span><span·class="p"·data-group-id="4278730270-11">[</span><span·class="s">&quot;/users/smeagol/fish/ebin&quot;</span><span·class="p"·data-group-id="4278730270-11">]</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·a8d8a9bdb4506069000ba3172c32f3acdfc9c0f0fb87ca3016eb209ac1632bbf·...·]-10">}</span><span·class="p">.</span></code></pre><p><a·href=""·id="suppression"></a></p><h2·id="module-requesting-or-suppressing-warnings-in-source-files"·class="section-heading">279 ······</span><span·class="p"·data-group-id="6642948787-10">{</span><span·class="ss">add_pathsz</span><span·class="p">,</span><span·class="p"·data-group-id="6642948787-11">[</span><span·class="s">&quot;/users/smeagol/fish/ebin&quot;</span><span·class="p"·data-group-id="6642948787-11">]</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·b425ec1981428be4a604706cb8067fd73a94c389bd007e9000f90b4dd74b4bb3·...·]-10">}</span><span·class="p">.</span></code></pre><p><a·href=""·id="suppression"></a></p><h2·id="module-requesting-or-suppressing-warnings-in-source-files"·class="section-heading">
280 ··<a·href="#module-requesting-or-suppressing-warnings-in-source-files"·class="hover-link">280 ··<a·href="#module-requesting-or-suppressing-warnings-in-source-files"·class="hover-link">
281 ····<i·class="ri-link-m"·aria-hidden="true"></i>281 ····<i·class="ri-link-m"·aria-hidden="true"></i>
282 ··</a>282 ··</a>
283 ··<span·class="text">Requesting·or·Suppressing·Warnings·in·Source·Files</span>283 ··<span·class="text">Requesting·or·Suppressing·Warnings·in·Source·Files</span>
284 </h2>284 </h2>
285 <p>Attribute·<code·class="inline">-dialyzer()</code>·can·be·used·for·turning·off·warnings·in·a·module·by285 <p>Attribute·<code·class="inline">-dialyzer()</code>·can·be·used·for·turning·off·warnings·in·a·module·by
286 specifying·functions·or·warning·options.·For·example,·to·turn·off·all·warnings286 specifying·functions·or·warning·options.·For·example,·to·turn·off·all·warnings
287 for·the·function·<code·class="inline">f/0</code>,·include·the·following·line:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">dialyzer</span><span·class="p"·data-group-id="1995599762-1">(</span><span·class="p"·data-group-id="1995599762-2">{</span><span·class="ss">nowarn_function</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·73,·SHA:·ff4423dcce51403d7472039d2b1a0d993789745ae2a43b3c118e8549ab186433·...·]2-1">)</span><span·class="p">.</span></code></pre><p>To·turn·off·warnings·for·improper·lists,·add·the·following·line·to·the·source287 for·the·function·<code·class="inline">f/0</code>,·include·the·following·line:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">dialyzer</span><span·class="p"·data-group-id="6496093842-1">(</span><span·class="p"·data-group-id="6496093842-2">{</span><span·class="ss">nowarn_function</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·73,·SHA:·73b745a66013e885e5c2c29baae77d46ccd9d8f0e6d056f35cc76c3c6704eb05·...·]2-1">)</span><span·class="p">.</span></code></pre><p>To·turn·off·warnings·for·improper·lists,·add·the·following·line·to·the·source
288 file:</p><pre><code·class="text">-dialyzer(no_improper_lists).</code></pre><p>Attribute·<code·class="inline">-dialyzer()</code>·is·allowed·after·function·declarations.·Lists·of·warning288 file:</p><pre><code·class="text">-dialyzer(no_improper_lists).</code></pre><p>Attribute·<code·class="inline">-dialyzer()</code>·is·allowed·after·function·declarations.·Lists·of·warning
289 options·or·functions·are·allowed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">dialyzer</span><span·class="p"·data-group-id="8463545839-1">(</span><span·class="p"·data-group-id="8463545839-2">[</span><span·class="p"·data-group-id="8463545839-3">{</span><span·class="ss">nowarn_function</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8463545839[·...·truncated·by·diffoscope;·len:·1867,·SHA:·dee7c546c98b2a1995d85e6b968cb4adf793518a67972b680e1ddc964776ca6c·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·warning·option·for·underspecified·functions,·<code·class="inline">-Wunderspecs</code>,·can·result·in289 options·or·functions·are·allowed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">dialyzer</span><span·class="p"·data-group-id="5188840830-1">(</span><span·class="p"·data-group-id="5188840830-2">[</span><span·class="p"·data-group-id="5188840830-3">{</span><span·class="ss">nowarn_function</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5188840830[·...·truncated·by·diffoscope;·len:·1867,·SHA:·08d814b34b5144ad569e04347459c0685f9fb4cf3b121e575fa506b9bc8c8a0e·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·warning·option·for·underspecified·functions,·<code·class="inline">-Wunderspecs</code>,·can·result·in
290 useful·warnings,·but·often·functions·with·specifications·that·are·strictly·more290 useful·warnings,·but·often·functions·with·specifications·that·are·strictly·more
291 allowing·than·the·success·typing·cannot·easily·be·modified·to·be·less·allowing.291 allowing·than·the·success·typing·cannot·easily·be·modified·to·be·less·allowing.
292 To·turn·off·the·warning·for·underspecified·function·<code·class="inline">f/0</code>,·include·the·following292 To·turn·off·the·warning·for·underspecified·function·<code·class="inline">f/0</code>,·include·the·following
293 line:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">dialyzer</span><span·class="p"·data-group-id="0528658773-1">(</span><span·class="p"·data-group-id="0528658773-2">{</span><span·class="ss">no_underspecs</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·72,·SHA:·320193354f143f371e4ff0d9e3e48fccd20d431b93f87848a7589ade4c2565c2·...·]-1">)</span><span·class="p">.</span></code></pre><p>For·help·on·the·warning·options,·use·<code·class="inline">dialyzer·-Whelp</code>.·The·options·are·also293 line:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">dialyzer</span><span·class="p"·data-group-id="2961171804-1">(</span><span·class="p"·data-group-id="2961171804-2">{</span><span·class="ss">no_underspecs</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·72,·SHA:·71277fce74e2aad664713c413147af1c253d9bc96283fa2ddb3ada328dfde6a1·...·]-1">)</span><span·class="p">.</span></code></pre><p>For·help·on·the·warning·options,·use·<code·class="inline">dialyzer·-Whelp</code>.·The·options·are·also
294 enumerated,·see·type·<a·href="#t:warn_option/0"><code·class="inline">warn_option/0</code></a>.</p><p>Attribute·<code·class="inline">-dialyzer()</code>·can·also·be·used·for·turning·on·warnings.·For·example,294 enumerated,·see·type·<a·href="#t:warn_option/0"><code·class="inline">warn_option/0</code></a>.</p><p>Attribute·<code·class="inline">-dialyzer()</code>·can·also·be·used·for·turning·on·warnings.·For·example,
295 if·a·module·has·been·fixed·regarding·unmatched·returns,·adding·the·following295 if·a·module·has·been·fixed·regarding·unmatched·returns,·adding·the·following
296 line·can·help·in·assuring·that·no·new·unmatched·return·warnings·are·introduced:</p><pre><code·class="text">-dialyzer(unmatched_returns).</code></pre>296 line·can·help·in·assuring·that·no·new·unmatched·return·warnings·are·introduced:</p><pre><code·class="text">-dialyzer(unmatched_returns).</code></pre>
297 ····</section>297 ····</section>
  
298 </div>298 </div>
  
Offset 854, 15 lines modifiedOffset 854, 15 lines modified
854 ······<p·class="built-using">854 ······<p·class="built-using">
855 ········Built·using855 ········Built·using
856 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the856 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
857 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>857 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
858 ······</p>858 ······</p>
859 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>859 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
860 ····</footer>860 ····</footer>
861 ··</div>861 ··</div>
862 </main>862 </main>
863 </div>863 </div>
864 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>864 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
865 ··<script>865 ··<script>
866 ··let·initialized·=·false;866 ··let·initialized·=·false;
666 B
html2text {}
Max HTML report size reached
20.3 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/dialyzer_chapter.html
    
Offset 205, 37 lines modifiedOffset 205, 37 lines modified
205 spec·is·invalid·with·respect·to·the·implementation.·However,·if·they·do·overlap,205 spec·is·invalid·with·respect·to·the·implementation.·However,·if·they·do·overlap,
206 Dialyzer·will·proceed·under·the·assumption·that·the·correct·type·for·the·given206 Dialyzer·will·proceed·under·the·assumption·that·the·correct·type·for·the·given
207 function·is·the·intersection·of·the·inferred·type·and·the·specified·type·(the207 function·is·the·intersection·of·the·inferred·type·and·the·specified·type·(the
208 rationale·being·that·the·user·may·know·something·that·Dialyzer·itself·cannot208 rationale·being·that·the·user·may·know·something·that·Dialyzer·itself·cannot
209 deduce).·One·implication·of·this·is·that·if·the·user·gives·a·spec·for·a·function209 deduce).·One·implication·of·this·is·that·if·the·user·gives·a·spec·for·a·function
210 which·overlaps·with·Dialyzer's·inferred·type,·but·is·more·restrictive,·Dialyzer210 which·overlaps·with·Dialyzer's·inferred·type,·but·is·more·restrictive,·Dialyzer
211 will·trust·those·restrictions.·This·may·then·generate·an·error·elsewhere·that211 will·trust·those·restrictions.·This·may·then·generate·an·error·elsewhere·that
212 follows·from·the·erroneously·restricted·spec.</p><p><em>Examples:</em></p><p>Non-overlapping·argument:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="6468296062-1">(</span><span·class="nf">boolean</span><span·class="p"·data-group-id="6468296062-2">(</span><span·class="p"·data-group-id="6468296062-2">)</span><span·class="p"·data-group-id="6468296062-1">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·155,·SHA:·4834db8508751cfc8ca738f6bc51b6331c3cac6a936057b19cf5a13ac786ac86·...·]2-3">)</span><span·class="p">.</span><span·class="w">212 follows·from·the·erroneously·restricted·spec.</p><p><em>Examples:</em></p><p>Non-overlapping·argument:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="4316946992-1">(</span><span·class="nf">boolean</span><span·class="p"·data-group-id="4316946992-2">(</span><span·class="p"·data-group-id="4316946992-2">)</span><span·class="p"·data-group-id="4316946992-1">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·155,·SHA:·0b670f15abf1beaa4d22a57c57dd9aaae5c332a7a62230d042cc7ea795c775bc·...·]2-3">)</span><span·class="p">.</span><span·class="w">
213 </span><span·class="c1">%%·Dialyzer·will·infer:·foo(integer())·-&gt;·string().</span><span·class="w">213 </span><span·class="c1">%%·Dialyzer·will·infer:·foo(integer())·-&gt;·string().</span><span·class="w">
214 </span><span·class="nf">foo</span><span·class="p"·data-group-id="6468296062-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="6468296062-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 </span><span·class="nf">foo</span><span·class="p"·data-group-id="4316946992-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="4316946992-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
215 ····</span><span·class="nf">integer_to_list</span><span·class="p"·data-group-id="6468296062-5">(</span><span·class="n">N</span><span·class="p"·data-group-id="6468296062-5">)</span><span·class="p">.</span></code></pre><p>Since·the·type·of·the·argument·in·the·spec·is·different·from·the·type·that215 ····</span><span·class="nf">integer_to_list</span><span·class="p"·data-group-id="4316946992-5">(</span><span·class="n">N</span><span·class="p"·data-group-id="4316946992-5">)</span><span·class="p">.</span></code></pre><p>Since·the·type·of·the·argument·in·the·spec·is·different·from·the·type·that
216 Dialyzer·inferred,·Dialyzer·will·generate·the·following·warning:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">some_module</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">7</span><span·class="p">:</span><span·class="mi">2</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Invalid</span><span·class="w">·</span><span·class="ss">type</span><span·class="w">·</span><span·class="ss">specification</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="nc">some_module</span><span·class="p">:</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">216 Dialyzer·inferred,·Dialyzer·will·generate·the·following·warning:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">some_module</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">7</span><span·class="p">:</span><span·class="mi">2</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Invalid</span><span·class="w">·</span><span·class="ss">type</span><span·class="w">·</span><span·class="ss">specification</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="nc">some_module</span><span·class="p">:</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">
217 ·</span><span·class="n">The</span><span·class="w">·</span><span·class="ss">success</span><span·class="w">·</span><span·class="ss">typing</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nc">some_module</span><span·class="p">:</span><span·class="nf">foo</span><span·class="w">217 ·</span><span·class="n">The</span><span·class="w">·</span><span·class="ss">success</span><span·class="w">·</span><span·class="ss">typing</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nc">some_module</span><span·class="p">:</span><span·class="nf">foo</span><span·class="w">
218 ··········</span><span·class="p"·data-group-id="0486176404-1">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="0486176404-2">(</span><span·class="p"·data-group-id="0486176404-2">)</span><span·class="p"·data-group-id="0486176404-1">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·76b3b72fcd6f16d4704a09149e16f0b5e1e5505d95ddc1d2afd302937acf7a10·...·]-3">)</span><span·class="w">218 ··········</span><span·class="p"·data-group-id="6077140282-1">(</span><span·class="nf">integer</span><span·class="p"·data-group-id="6077140282-2">(</span><span·class="p"·data-group-id="6077140282-2">)</span><span·class="p"·data-group-id="6077140282-1">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·9e61f1f70d43a8c0cfb34a7ffe07050509d215278d5526dc335b6541a395004b·...·]-3">)</span><span·class="w">
219 ·</span><span·class="n">But</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">spec</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nc">some_module</span><span·class="p">:</span><span·class="nf">foo</span><span·class="w">219 ·</span><span·class="n">But</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">spec</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nc">some_module</span><span·class="p">:</span><span·class="nf">foo</span><span·class="w">
220 ··········</span><span·class="p"·data-group-id="0486176404-4">(</span><span·class="nf">boolean</span><span·class="p"·data-group-id="0486176404-5">(</span><span·class="p"·data-group-id="0486176404-5">)</span><span·class="p"·data-group-id="0486176404-4">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·0882bc54f461c33162d779c094227efe91b12999b0bbf776eafdd58c88402297·...·]-6">)</span><span·class="w">220 ··········</span><span·class="p"·data-group-id="6077140282-4">(</span><span·class="nf">boolean</span><span·class="p"·data-group-id="6077140282-5">(</span><span·class="p"·data-group-id="6077140282-5">)</span><span·class="p"·data-group-id="6077140282-4">)</span><span·class="w">·</span><span·class="p">-&gt[·...·truncated·by·diffoscope;·len:·156,·SHA:·be15f0f84cb297568ef65b4f1aa25cd0f8d484b4ecd8f0eb61534eff833bffee·...·]-6">)</span><span·class="w">
221 ·</span><span·class="n">They</span><span·class="w">·</span><span·class="ss">do</span><span·class="w">·</span><span·class="ow">not</span><span·class="w">·</span><span·class="ss">overlap</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="mi">1</span><span·class="ss">st</span><span·class="w">·</span><span·class="ss">argument</span></code></pre><p>Non-overlapping·return:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">bar</span><span·class="p"·data-group-id="9652407735-1">(</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">b</span><span·class="p"·data-group-id="9652407735-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·c[·...·truncated·by·diffoscope;·len:·139,·SHA:·c7f0fc0bf1970c534ad9d79092044fec4638763969ff833af7f2b48a8967a4da·...·]-2">)</span><span·class="p">.</span><span·class="w">221 ·</span><span·class="n">They</span><span·class="w">·</span><span·class="ss">do</span><span·class="w">·</span><span·class="ow">not</span><span·class="w">·</span><span·class="ss">overlap</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="mi">1</span><span·class="ss">st</span><span·class="w">·</span><span·class="ss">argument</span></code></pre><p>Non-overlapping·return:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">bar</span><span·class="p"·data-group-id="3241764989-1">(</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">b</span><span·class="p"·data-group-id="3241764989-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·c[·...·truncated·by·diffoscope;·len:·139,·SHA:·ac9ec5726d89fe40f5457218dbb96cc8d484608f91943874e4de71ce5ac2d3c8·...·]-2">)</span><span·class="p">.</span><span·class="w">
222 </span><span·class="c1">%%·Dialyzer·will·infer:·bar(a·|·b)·-&gt;·binary().</span><span·class="w">222 </span><span·class="c1">%%·Dialyzer·will·infer:·bar(a·|·b)·-&gt;·binary().</span><span·class="w">
223 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9652407735-3">(</span><span·class="ss">a</span><span·class="p"·data-group-id="9652407735-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9652407735-4">&lt;&lt;</span><span·class="s">&quot;a&quot;</span><span·class="p"·data-group-id="9652407735-4">&gt;&gt;</span><span·class="p">;</span><span·class="w"> 
224 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9652407735-5">(</span><span·class="ss">b</span><span·class="p"·data-group-id="9652407735-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9652407735-6">&lt;&lt;</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·196,·SHA:·47c1f66ac018e97a6a973836586745c61133c58cd5d6692376d4be1a13641dd6·...·]223 </span><span·class="nf">bar</span><span·class="p"·data-group-id="3241764989-3">(</span><span·class="ss">a</span><span·class="p"·data-group-id="3241764989-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3241764989-4">&lt;&lt;</span><span·class="s">&quo[·...·truncated·by·diffoscope;·len:·116,·SHA:·2d0a3f77c77b2be167ee330759101f4c33adb5554629cc96ddc1cbaab1126752·...·]
 224 </span><span·class="nf">bar</span><span·class="p"·data-group-id="3241764989-5">(</span><span·class="ss">b</span><span·class="p"·data-group-id="3241764989-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3241764989-6">&lt;&lt;</span><span·class="s">&quot;b&quot;</span><span·class="p"·data-group-id="3241764989-6">&gt;&gt;</span><span·class="p">.</span></code></pre><p>Since·the·return·value·in·the·spec·and·the·return·value·inferred·by·Dialyzer·are
225 different,·Dialyzer·will·generate·the·following·warning:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">some_module</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">11</span><span·class="p">:</span><span·class="mi">2</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Invalid</span><span·class="w">·</span><span·class="ss">type</span><span·class="w">·</span><span·class="ss">specification</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="nc">some_module</span><span·class="p">:</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">225 different,·Dialyzer·will·generate·the·following·warning:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">some_module</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">11</span><span·class="p">:</span><span·class="mi">2</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Invalid</span><span·class="w">·</span><span·class="ss">type</span><span·class="w">·</span><span·class="ss">specification</span><span·class="w">·</span><span·class="ss">for</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="nc">some_module</span><span·class="p">:</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">
226 ·</span><span·class="n">The</span><span·class="w">·</span><span·class="ss">success</span><span·class="w">·</span><span·class="ss">typing</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nc">some_module</span><span·class="p">:</span><span·class="nf">bar</span><span·class="w">226 ·</span><span·class="n">The</span><span·class="w">·</span><span·class="ss">success</span><span·class="w">·</span><span·class="ss">typing</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nc">some_module</span><span·class="p">:</span><span·class="nf">bar</span><span·class="w">
227 ··········</span><span·class="p"·data-group-id="9222127785-1">(</span><span·class="ss">&#39;a&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;b&#39;</span><span·class="p"·data-group-id="9222127785-1">)</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·211,·SHA:·bc7d5aab8802aa8e94ee59816c334cfaf9a2dce02e5b28c88a00537e26deaf75·...·]-2">&gt;&gt;</span><span·class="w">227 ··········</span><span·class="p"·data-group-id="3899729077-1">(</span><span·class="ss">&#39;a&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;b&#39;</span><span·class="p"·data-group-id="3899729077-1">)</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·211,·SHA:·47009587f5ec2c533a7d7f80ae03a6d5ff2181db72daf02b71facd5546f260f8·...·]-2">&gt;&gt;</span><span·class="w">
228 ·</span><span·class="n">But</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">spec</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nc">some_module</span><span·class="p">:</span><span·class="nf">bar</span><span·class="w">228 ·</span><span·class="n">But</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">spec</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="nc">some_module</span><span·class="p">:</span><span·class="nf">bar</span><span·class="w">
229 ··········</span><span·class="p"·data-group-id="9222127785-3">(</span><span·class="ss">&#39;a&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;b&#39;</span><span·class="p"·data-group-id="9222127785-3">)</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·159,·SHA:·0276e393bd56a4ea278db3d11804ad425a9d39486179cb0e416e856db171429b·...·]-4">)</span><span·class="w">229 ··········</span><span·class="p"·data-group-id="3899729077-3">(</span><span·class="ss">&#39;a&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;b&#39;</span><span·class="p"·data-group-id="3899729077-3">)</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·159,·SHA:·3ec0b2fe24a4e7f8617fb5a74db9e3fbdef9c20b6c9173d77ae79b4d13d4a41e·...·]-4">)</span><span·class="w">
230 ·</span><span·class="n">The</span><span·class="w">·</span><span·class="ss">return</span><span·class="w">·</span><span·class="ss">types</span><span·class="w">·</span><span·class="ss">do</span><span·class="w">·</span><span·class="ow">not</span><span·class="w">·</span><span·class="ss">overlap</span></code></pre><p>Overlapping·spec·and·inferred·type:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">baz</span><span·class="p"·data-group-id="9231039069-1">(</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">b</span><span·class="p"·data-group-id="9231039069-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·cl[·...·truncated·by·diffoscope;·len:·149,·SHA:·8afd10d934284db5db29abefecf298f859b35ef2e205f9b53ba2f284d4da7a74·...·]-2">)</span><span·class="p">.</span><span·class="w">230 ·</span><span·class="n">The</span><span·class="w">·</span><span·class="ss">return</span><span·class="w">·</span><span·class="ss">types</span><span·class="w">·</span><span·class="ss">do</span><span·class="w">·</span><span·class="ow">not</span><span·class="w">·</span><span·class="ss">overlap</span></code></pre><p>Overlapping·spec·and·inferred·type:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">baz</span><span·class="p"·data-group-id="9376007198-1">(</span><span·class="ss">a</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">b</span><span·class="p"·data-group-id="9376007198-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·cl[·...·truncated·by·diffoscope;·len:·149,·SHA:·c1fdfe99665fedd23748e8f774acb9bf5ede81e68e77746917bd25ec3c7bcfcf·...·]-2">)</span><span·class="p">.</span><span·class="w">
231 </span><span·class="c1">%%·Dialyzer·will·infer:·baz(b·|·c·|·d)·-&gt;·-1·|·0·|·1.</span><span·class="w">231 </span><span·class="c1">%%·Dialyzer·will·infer:·baz(b·|·c·|·d)·-&gt;·-1·|·0·|·1.</span><span·class="w">
232 </span><span·class="nf">baz</span><span·class="p"·data-group-id="9231039069-3">(</span><span·class="ss">b</span><span·class="p"·data-group-id="9231039069-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="o">-</span><span·class="mi">1</span><span·class="p">;</span><span·class="w">232 </span><span·class="nf">baz</span><span·class="p"·data-group-id="9376007198-3">(</span><span·class="ss">b</span><span·class="p"·data-group-id="9376007198-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="o">-</span><span·class="mi">1</span><span·class="p">;</span><span·class="w">
233 </span><span·class="nf">baz</span><span·class="p"·data-group-id="9231039069-4">(</span><span·class="ss">c</span><span·class="p"·data-group-id="9231039069-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">;</span><span·class="w">233 </span><span·class="nf">baz</span><span·class="p"·data-group-id="9376007198-4">(</span><span·class="ss">c</span><span·class="p"·data-group-id="9376007198-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">;</span><span·class="w">
234 </span><span·class="nf">baz</span><span·class="p"·data-group-id="9231039069-5">(</span><span·class="ss">d</span><span·class="p"·data-group-id="9231039069-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">.</span></code></pre><p>Dialyzer·will·&quot;trust&quot;·the·spec·and·using·the·intersection·of·the·spec·and234 </span><span·class="nf">baz</span><span·class="p"·data-group-id="9376007198-5">(</span><span·class="ss">d</span><span·class="p"·data-group-id="9376007198-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">.</span></code></pre><p>Dialyzer·will·&quot;trust&quot;·the·spec·and·using·the·intersection·of·the·spec·and
235 inferred·type:</p><pre><code·class="text">baz(b)·-&gt;·0·|·1.</code></pre><p>Notice·how·the·<code·class="inline">c</code>·and·<code·class="inline">d</code>·from·the·argument·to·<code·class="inline">baz/1</code>·and·the·<code·class="inline">-1</code>·in·the235 inferred·type:</p><pre><code·class="text">baz(b)·-&gt;·0·|·1.</code></pre><p>Notice·how·the·<code·class="inline">c</code>·and·<code·class="inline">d</code>·from·the·argument·to·<code·class="inline">baz/1</code>·and·the·<code·class="inline">-1</code>·in·the
236 return·from·the·inferred·type·were·dropped·once·the·spec·and·inferred·type·were236 return·from·the·inferred·type·were·dropped·once·the·spec·and·inferred·type·were
237 intersected.·This·could·result·in·warnings·being·emitted·for·later·functions.</p><p>For·example,·if·<code·class="inline">baz/1</code>·is·called·like·this:</p><pre><code·class="text">call_baz1(A)·-&gt;237 intersected.·This·could·result·in·warnings·being·emitted·for·later·functions.</p><p>For·example,·if·<code·class="inline">baz/1</code>·is·called·like·this:</p><pre><code·class="text">call_baz1(A)·-&gt;
238 ····case·baz(A)·of238 ····case·baz(A)·of
239 ········-1·-&gt;·negative;239 ········-1·-&gt;·negative;
240 ········0·-&gt;·zero;240 ········0·-&gt;·zero;
241 ········1·-&gt;·positive241 ········1·-&gt;·positive
Offset 302, 15 lines modifiedOffset 302, 15 lines modified
302 ······<p·class="built-using">302 ······<p·class="built-using">
303 ········Built·using303 ········Built·using
304 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the304 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
305 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>305 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
306 ······</p>306 ······</p>
307 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>307 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
308 ····</footer>308 ····</footer>
309 ··</div>309 ··</div>
310 </main>310 </main>
311 </div>311 </div>
312 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>312 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
313 ··<script>313 ··<script>
314 ··let·initialized·=·false;314 ··let·initialized·=·false;
750 B
html2text {}
Max HTML report size reached
11.9 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/notes.html
    
Offset 139, 17 lines modifiedOffset 139, 17 lines modified
139 </h3>139 </h3>
140 <ul><li><p>The·<code·class="inline">-Wno_unknown</code>·option·will·now·prevent·a·warning·being·printed·to·standard·output·when·the·command·line·interface·is·used.</p><p>Own·Id:·OTP-19262·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8822"·title="">GH-8822</a>,·<a·href="https://github.com/erlang/otp/pull/8885"·title="">PR-8885</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>The·<code·class="inline">-Wno_unknown</code>·option·will·now·prevent·a·warning·being·printed·to·standard·output·when·the·command·line·interface·is·used.</p><p>Own·Id:·OTP-19262·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8822"·title="">GH-8822</a>,·<a·href="https://github.com/erlang/otp/pull/8885"·title="">PR-8885</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="3244935420-1">(</span><span·class="p"·data-group-id="3244935420-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3244935420-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·03a8a8e38a1bcce4700a6ed7afdc1fbfb6d6492230618a061d4be42e638ad830·...·]-2">)</span><span·class="p">.</span><span·class="w">146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="2840102425-1">(</span><span·class="p"·data-group-id="2840102425-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2840102425-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·368e6fce11591cd1d5be7283558d60a22d72d92c8e815ee2bebca7e19363107a·...·]-2">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="3244935420-3">(</span><span·class="p"·data-group-id="3244935420-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3244935420-4">(</span><[·...·truncated·by·diffoscope;·len:·1059,·SHA:·76e153d97ee02d5c7feafa5b8584e0045b0420ea648fa0570bb29359442b4b1b·...·]75-2">)</span><span·class="p">.</span><span·class="w">147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="2840102425-3">(</span><span·class="p"·data-group-id="2840102425-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2840102425-4">(</span><[·...·truncated·by·diffoscope;·len:·1059,·SHA:·bf21b1c431846ce26ccef051c21bab7d6fa7d54ab07195a36472134f0e7692ac·...·]75-2">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="2367177475-3">(</span><span·class="p"·data-group-id="2367177475-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2367177475-4">(</span><s[·...·truncated·by·diffoscope;·len:·37,·SHA:·9b71d75148bb92291bf2276e98330fe8fa460324c6ed8ac4ff9f50a40e2e6eba·...·]75-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="dialyzer-5-3-1"·class="section-heading">148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="2029167875-3">(</span><span·class="p"·data-group-id="2029167875-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2029167875-4">(</span><s[·...·truncated·by·diffoscope;·len:·37,·SHA:·978bb6de9e43eae8e16d2dfc2a8d7027f478910b4b14f9b9a58259e176fd78ad·...·]75-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="dialyzer-5-3-1"·class="section-heading">
149 ··<a·href="#dialyzer-5-3-1"·class="hover-link">149 ··<a·href="#dialyzer-5-3-1"·class="hover-link">
150 ····<i·class="ri-link-m"·aria-hidden="true"></i>150 ····<i·class="ri-link-m"·aria-hidden="true"></i>
151 ··</a>151 ··</a>
152 ··<span·class="text">Dialyzer·5.3.1</span>152 ··<span·class="text">Dialyzer·5.3.1</span>
153 </h2>153 </h2>
154 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">154 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">
155 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">155 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">
Offset 1907, 15 lines modifiedOffset 1907, 15 lines modified
1907 ······<p·class="built-using">1907 ······<p·class="built-using">
1908 ········Built·using1908 ········Built·using
1909 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1909 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1910 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1910 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1911 ······</p>1911 ······</p>
1912 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1912 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1913 ····</footer>1913 ····</footer>
1914 ··</div>1914 ··</div>
1915 </main>1915 </main>
1916 </div>1916 </div>
1917 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1917 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1918 ··<script>1918 ··<script>
1919 ··let·initialized·=·false;1919 ··let·initialized·=·false;
709 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
463 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/dialyzer-5.4/doc/html/typer_cmd.html
    
Offset 196, 15 lines modifiedOffset 196, 15 lines modified
196 ······<p·class="built-using">196 ······<p·class="built-using">
197 ········Built·using197 ········Built·using
198 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the198 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
199 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>199 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
200 ······</p>200 ······</p>
201 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>201 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
202 ····</footer>202 ····</footer>
203 ··</div>203 ··</div>
204 </main>204 </main>
205 </div>205 </div>
206 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>206 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
207 ··<script>207 ··<script>
208 ··let·initialized·=·false;208 ··let·initialized·=·false;
657 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/api-reference.html
    
Offset 242, 15 lines modifiedOffset 242, 15 lines modified
242 ······<p·class="built-using">242 ······<p·class="built-using">
243 ········Built·using243 ········Built·using
244 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the244 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
245 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>245 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
246 ······</p>246 ······</p>
247 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>247 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
248 ····</footer>248 ····</footer>
249 ··</div>249 ··</div>
250 </main>250 </main>
251 </div>251 </div>
252 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>252 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
253 ··<script>253 ··<script>
254 ··let·initialized·=·false;254 ··let·initialized·=·false;
597 B
html2text {}
Max HTML report size reached
660 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter.epub
3.99 KB
zipinfo {}
Max HTML report size reached
136 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
9.84 KB
OEBPS/notes.xhtml
Max HTML report size reached
1.51 KB
OEBPS/diameterc_cmd.xhtml
Max HTML report size reached
17.4 KB
OEBPS/diameter_dict.xhtml
Max HTML report size reached
2.31 KB
OEBPS/diameter_codec.xhtml
Max HTML report size reached
7.47 KB
OEBPS/diameter_app.xhtml
Max HTML report size reached
480 KB
OEBPS/diameter.xhtml
Max HTML report size reached
1.24 KB
OEBPS/content.opf
1.2 KB
OEBPS/content.opf
Max HTML report size reached
199 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter.html
Max HTML report size reached
8.97 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_app.html
    
Offset 697, 20 lines modifiedOffset 697, 20 lines modified
697 ······</div>697 ······</div>
  
698 <p>Invoked·when·a·request·message·is·received·from·a·peer.·The·application·in·which698 <p>Invoked·when·a·request·message·is·received·from·a·peer.·The·application·in·which
699 the·callback·takes·place·(that·is,·the·callback·module·as·configured·with699 the·callback·takes·place·(that·is,·the·callback·module·as·configured·with
700 <a·href="diameter.html#start_service/2"><code·class="inline">diameter:start_service/2</code></a>)·is·determined·by·the·Application·Identifier·in·the700 <a·href="diameter.html#start_service/2"><code·class="inline">diameter:start_service/2</code></a>)·is·determined·by·the·Application·Identifier·in·the
701 header·of·the·incoming·request·message,·the·selected·module·being·the·one·whose701 header·of·the·incoming·request·message,·the·selected·module·being·the·one·whose
702 corresponding·dictionary·declares·itself·as·defining·either·the·application·in702 corresponding·dictionary·declares·itself·as·defining·either·the·application·in
703 question·or·the·Relay·application.</p><p>The·argument·<a·href="#t:packet/0">packet()</a>·has·the·following·signature.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">diameter_packet</span><span·class="p"·data-group-id="3030713704-1">{</span><span·class="ss">header</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">diameter_header</span><span·class="p"·data-group-id="3030713704-2">{</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·c8b585d39892e006ae11debb559d1c38a80d77a42a88389940a227c2fc755c51·...·]-2">}</span><span·class="p">,</span><span·class="w">703 question·or·the·Relay·application.</p><p>The·argument·<a·href="#t:packet/0">packet()</a>·has·the·following·signature.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">diameter_packet</span><span·class="p"·data-group-id="8792682907-1">{</span><span·class="ss">header</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">diameter_header</span><span·class="p"·data-group-id="8792682907-2">{</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·16ec3632287846d37d827bb1bbf6f2ac74361e165aac118942a401f4c772f973·...·]-2">}</span><span·class="p">,</span><span·class="w">
704 ·················</span><span·class="ss">avps</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3030713704-3">[</span><span·class="o">#</span><span·class="ss">diameter_avp</span><span·class="p"·data-group-id="3030713704-4">{</span><span·class="p"·data-group-id="3030713704-4">}</span><span·class="p"·data-group-id="3030713704-3">]</span><span·class="p">,</span><span·class="w">704 ·················</span><span·class="ss">avps</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8792682907-3">[</span><span·class="o">#</span><span·class="ss">diameter_avp</span><span·class="p"·data-group-id="8792682907-4">{</span><span·class="p"·data-group-id="8792682907-4">}</span><span·class="p"·data-group-id="8792682907-3">]</span><span·class="p">,</span><span·class="w">
705 ·················</span><span·class="ss">msg</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">record</span><span·class="p"·data-group-id="3030713704-5">(</span><span·class="p"·data-group-id="3030713704-5">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="w">705 ·················</span><span·class="ss">msg</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">record</span><span·class="p"·data-group-id="8792682907-5">(</span><span·class="p"·data-group-id="8792682907-5">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="w">
706 ·················</span><span·class="ss">errors</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3030713704-6">[</span><span·class="n">Unsigned32</span><span·class="p"·data-group-id="3030713704-7">(</span><span·class="p"·data-group-id="3030713704-7">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·479,·SHA:·05189d6860d4ec3349af10231e2384c26d3a2efeca6c71b616aea0a7d1e93482·...·]-6">]</span><span·class="p">,</span><span·class="w">706 ·················</span><span·class="ss">errors</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8792682907-6">[</span><span·class="n">Unsigned32</span><span·class="p"·data-group-id="8792682907-7">(</span><span·class="p"·data-group-id="8792682907-7">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·479,·SHA:·b215c1d0b75e3162ea0935a3f4fa0cb3cf6ee3050ce8b4f8d96d598835c0287d·...·]-6">]</span><span·class="p">,</span><span·class="w">
707 ·················</span><span·class="ss">bin</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="3030713704-11">(</span><span·class="p"·data-group-id="3030713704-11">)</span><span·class="p">,</span><span·class="w">707 ·················</span><span·class="ss">bin</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="8792682907-11">(</span><span·class="p"·data-group-id="8792682907-11">)</span><span·class="p">,</span><span·class="w">
708 ·················</span><span·class="ss">transport_data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3030713704-12">(</span><span·class="p"·data-group-id="3030713704-12">)</span><span·class="p"·data-group-id="3030713704-1">}</span></code></pre><p>The·<code·class="inline">msg</code>·field·will·be·<code·class="inline">undefined</code>·in·case·the·request·has·been·received·in·the708 ·················</span><span·class="ss">transport_data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="8792682907-12">(</span><span·class="p"·data-group-id="8792682907-12">)</span><span·class="p"·data-group-id="8792682907-1">}</span></code></pre><p>The·<code·class="inline">msg</code>·field·will·be·<code·class="inline">undefined</code>·in·case·the·request·has·been·received·in·the
709 relay·application.·Otherwise·it·contains·the·record·representing·the·request·as709 relay·application.·Otherwise·it·contains·the·record·representing·the·request·as
710 outlined·in·<a·href="diameter_dict.html#MESSAGE_RECORDS">diameter_dict(4)</a>.</p><p>The·<code·class="inline">errors</code>·field·specifies·any·results·codes·identifying·errors·found·while710 outlined·in·<a·href="diameter_dict.html#MESSAGE_RECORDS">diameter_dict(4)</a>.</p><p>The·<code·class="inline">errors</code>·field·specifies·any·results·codes·identifying·errors·found·while
711 decoding·the·request.·This·is·used·to·set·Result-Code·and/or·Failed-AVP·in·a711 decoding·the·request.·This·is·used·to·set·Result-Code·and/or·Failed-AVP·in·a
712 returned·answer·unless·the·callback·returns·a·<code·class="inline">#diameter_packet{}</code>·whose712 returned·answer·unless·the·callback·returns·a·<code·class="inline">#diameter_packet{}</code>·whose
713 <code·class="inline">errors</code>·field·is·set·to·either·a·non-empty·list·of·its·own,·in·which·case·this713 <code·class="inline">errors</code>·field·is·set·to·either·a·non-empty·list·of·its·own,·in·which·case·this
714 list·is·used·instead,·or·the·atom·<code·class="inline">false</code>·to·disable·any·setting·of·Result-Code714 list·is·used·instead,·or·the·atom·<code·class="inline">false</code>·to·disable·any·setting·of·Result-Code
715 and·Failed-AVP.·Note·that·the·errors·detected·by·diameter·are·of·the·3xxx·and715 and·Failed-AVP.·Note·that·the·errors·detected·by·diameter·are·of·the·3xxx·and
Offset 1010, 15 lines modifiedOffset 1010, 15 lines modified
1010 ······<p·class="built-using">1010 ······<p·class="built-using">
1011 ········Built·using1011 ········Built·using
1012 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1012 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1013 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1013 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1014 ······</p>1014 ······</p>
1015 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1015 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1016 ····</footer>1016 ····</footer>
1017 ··</div>1017 ··</div>
1018 </main>1018 </main>
1019 </div>1019 </div>
1020 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1020 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1021 ··<script>1021 ··<script>
1022 ··let·initialized·=·false;1022 ··let·initialized·=·false;
744 B
html2text {}
Max HTML report size reached
3.73 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_codec.html
    
Offset 135, 15 lines modifiedOffset 135, 15 lines modified
135 encode/decode.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>The·diameter·user·does·not·need·to·call·functions·here·explicitly·when·sending135 encode/decode.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>The·diameter·user·does·not·need·to·call·functions·here·explicitly·when·sending
136 and·receiving·messages·using·<a·href="diameter.html#call/4"><code·class="inline">diameter:call/4</code></a>·and·the·callback·interface136 and·receiving·messages·using·<a·href="diameter.html#call/4"><code·class="inline">diameter:call/4</code></a>·and·the·callback·interface
137 documented·in·<a·href="diameter_app.html"><code·class="inline">diameter_app</code></a>:·diameter·itself·provides·encode/decode·as·a137 documented·in·<a·href="diameter_app.html"><code·class="inline">diameter_app</code></a>:·diameter·itself·provides·encode/decode·as·a
138 consequence·of·configuration·passed·to·<a·href="diameter.html#start_service/2"><code·class="inline">diameter:start_service/2</code></a>,·and·the138 consequence·of·configuration·passed·to·<a·href="diameter.html#start_service/2"><code·class="inline">diameter:start_service/2</code></a>,·and·the
139 results·may·differ·from·those·returned·by·the·functions·documented·here,139 results·may·differ·from·those·returned·by·the·functions·documented·here,
140 depending·on·configuration.</p></section><p>The·<a·href="diameter_codec.html#header">header()</a>·and140 depending·on·configuration.</p></section><p>The·<a·href="diameter_codec.html#header">header()</a>·and
141 <a·href="diameter_codec.html#packet">packet()</a>·records·below·are·defined·in·diameter.hrl,141 <a·href="diameter_codec.html#packet">packet()</a>·records·below·are·defined·in·diameter.hrl,
142 which·can·be·included·as·follows.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="4068123743-1">(</span><span·class="s">&quot;diameter/include/diameter.hrl&quot;</span><span·class="p"·data-group-id="4068123743-1">)</span><span·class="p">.</span></code></pre><p>Application-specific·records·are·defined·in·the·hrl·files·resulting·from142 which·can·be·included·as·follows.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="4946116045-1">(</span><span·class="s">&quot;diameter/include/diameter.hrl&quot;</span><span·class="p"·data-group-id="4946116045-1">)</span><span·class="p">.</span></code></pre><p>Application-specific·records·are·defined·in·the·hrl·files·resulting·from
143 dictionary·file·compilation.</p><h2·id="module-data-types"·class="section-heading">143 dictionary·file·compilation.</p><h2·id="module-data-types"·class="section-heading">
144 ··<a·href="#module-data-types"·class="hover-link">144 ··<a·href="#module-data-types"·class="hover-link">
145 ····<i·class="ri-link-m"·aria-hidden="true"></i>145 ····<i·class="ri-link-m"·aria-hidden="true"></i>
146 ··</a>146 ··</a>
147 ··<span·class="text">DATA·TYPES</span>147 ··<span·class="text">DATA·TYPES</span>
148 </h2>148 </h2>
149 <ul><li><p><strong><code·class="inline"·id="integers">uint8() ·=·0..255</code></strong></p></li><li><p><strong><code·class="inline">uint24()·=·0..16777215</code></strong></p></li><li><p><strong><code·class="inline">uint32()·=·0..4294967295</code></strong>·-·8-bit,·24-bit·and·32-bit·integers·occurring149 <ul><li><p><strong><code·class="inline"·id="integers">uint8() ·=·0..255</code></strong></p></li><li><p><strong><code·class="inline">uint24()·=·0..16777215</code></strong></p></li><li><p><strong><code·class="inline">uint32()·=·0..4294967295</code></strong>·-·8-bit,·24-bit·and·32-bit·integers·occurring
Offset 545, 15 lines modifiedOffset 545, 15 lines modified
545 ······<p·class="built-using">545 ······<p·class="built-using">
546 ········Built·using546 ········Built·using
547 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the547 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
548 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>548 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
549 ······</p>549 ······</p>
550 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>550 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
551 ····</footer>551 ····</footer>
552 ··</div>552 ··</div>
553 </main>553 </main>
554 </div>554 </div>
555 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>555 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
556 ··<script>556 ··<script>
557 ··let·initialized·=·false;557 ··let·initialized·=·false;
663 B
html2text {}
Max HTML report size reached
18.9 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_dict.html
    
Offset 305, 37 lines modifiedOffset 305, 37 lines modified
305 (&quot;Derived·AVP·Data·Formats&quot;)·of·RFC·6733·are·encoded·as·values·of·the·types305 (&quot;Derived·AVP·Data·Formats&quot;)·of·RFC·6733·are·encoded·as·values·of·the·types
306 defined·here.·Values·are·passed·to·<a·href="diameter.html#call/4"><code·class="inline">diameter:call/4</code></a>·in·a·request·record·when306 defined·here.·Values·are·passed·to·<a·href="diameter.html#call/4"><code·class="inline">diameter:call/4</code></a>·in·a·request·record·when
307 sending·a·request,·returned·in·a·resulting·answer·record·and·passed·to·a307 sending·a·request,·returned·in·a·resulting·answer·record·and·passed·to·a
308 <a·href="diameter_app.html#c:handle_request/3">handle_request/3</a>·callback·upon·reception·of308 <a·href="diameter_app.html#c:handle_request/3">handle_request/3</a>·callback·upon·reception·of
309 an·incoming·request.</p><p>In·cases·in·which·there·is·a·choice·between·string()·and·binary()·types·for309 an·incoming·request.</p><p>In·cases·in·which·there·is·a·choice·between·string()·and·binary()·types·for
310 OctetString()·and·derived·types,·the·representation·is·determined·by·the·value310 OctetString()·and·derived·types,·the·representation·is·determined·by·the·value
311 of·<a·href="diameter.html#service_opt">diameter:service_opt()</a>311 of·<a·href="diameter.html#service_opt">diameter:service_opt()</a>
312 <a·href="diameter.html#string_decode">string_decode</a>.</p><p><em>Basic·AVP·Data·Formats</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">OctetString</span><span·class="p"·data-group-id="0721187664-1">(</span><span·class="p"·data-group-id="0721187664-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="0721187664-2">(</span><span·class="p"·data-group-id="0721187664-2">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="0721187664-3">(</span><span·class="p"·data-group-id="0721187664-3">)</span><span·class="w"> 
313 </span><span·class="n">Integer32</span><span·class="p"·data-group-id="0721187664-4">(</span><span·class="p"·data-group-id="0721187664-4">)</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="o">-</span><span·class="m[·...·truncated·by·diffoscope;·len:·95,·SHA:·57e08c7a64baf0e5bac48c9014bcd46859011a3f9dde898d0ceb7919c79b834b·...·]</span><span·class="w">312 <a·href="diameter.html#string_decode">string_decode</a>.</p><p><em>Basic·AVP·Data·Formats</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">OctetString</span><span·class="p"·data-group-id="9830443636-1">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·438,·SHA:·57e7de7007ad3928976aa4e277b1115a179b333920d315c8193f7e51a484dc7c·...·]</span><span·class="w">
 313 </span><span·class="n">Integer32</span><span·class="p"·data-group-id="9830443636-4">(</span><span·class="p"·data-group-id="9830443636-4">)</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="o">-</span><span·class="mi">2147483647</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">2147483647</span><span·class="w">
314 </span><span·class="n">Integer64</span><span·class="p"·data-group-id="0721187664-5">(</span><span·class="p"·data-group-id="0721187664-5">)</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="o">-</span><span·class="mi">9223372036854775807</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">9223372036854775807</span><span·class="w">314 </span><span·class="n">Integer64</span><span·class="p"·data-group-id="9830443636-5">(</span><span·class="p"·data-group-id="9830443636-5">)</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="o">-</span><span·class="mi">9223372036854775807</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">9223372036854775807</span><span·class="w">
315 </span><span·class="n">Unsigned32</span><span·class="p"·data-group-id="0721187664-6">(</span><span·class="p"·data-group-id="0721187664-6">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">4294967295</span><span·class="w">315 </span><span·class="n">Unsigned32</span><span·class="p"·data-group-id="9830443636-6">(</span><span·class="p"·data-group-id="9830443636-6">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">4294967295</span><span·class="w">
316 </span><span·class="n">Unsigned64</span><span·class="p"·data-group-id="0721187664-7">(</span><span·class="p"·data-group-id="0721187664-7">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">18446744073709551615</span><span·class="w">316 </span><span·class="n">Unsigned64</span><span·class="p"·data-group-id="9830443636-7">(</span><span·class="p"·data-group-id="9830443636-7">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">18446744073709551615</span><span·class="w">
317 </span><span·class="n">Float32</span><span·class="p"·data-group-id="0721187664-8">(</span><span·class="p"·data-group-id="0721187664-8">)</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">&#39;-infinity&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w[·...·truncated·by·diffoscope;·len:·133,·SHA:·76a18a880e9929affdca342596a174142955d798b82bfa19c385a3ad4d48a9f0·...·]-9">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">infinity</span><span·class="w">317 </span><span·class="n">Float32</span><span·class="p"·data-group-id="9830443636-8">(</span><span·class="p"·data-group-id="9830443636-8">)</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">&#39;-infinity&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w[·...·truncated·by·diffoscope;·len:·133,·SHA:·901f9c62c1b3c7a3a26140cb10172339aca9ac1c10d32c7e2712f2aeb67e04b5·...·]-9">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">infinity</span><span·class="w">
318 </span><span·class="n">Float64</span><span·class="p"·data-group-id="0721187664-10">(</span><span·class="p"·data-group-id="0721187664-10">)</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">&#39;-infinity&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class=[·...·truncated·by·diffoscope;·len:·136,·SHA:·58b013b3aac7215f20d9bb25b4d6dfdec9d546f70752a91ecefac99fd0af9702·...·]-11">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">infinity</span><span·class="w">318 </span><span·class="n">Float64</span><span·class="p"·data-group-id="9830443636-10">(</span><span·class="p"·data-group-id="9830443636-10">)</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">&#39;-infinity&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class=[·...·truncated·by·diffoscope;·len:·136,·SHA:·eb1a973d1962b82561d48087cc4387e96037ebb7d1d67bd6fe10ddefc5ae2c9a·...·]-11">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">infinity</span><span·class="w">
319 </span><span·class="n">Grouped</span><span·class="p"·data-group-id="0721187664-12">(</span><span·class="p"·data-group-id="0721187664-12">)</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">record</span><span·class="p"·data-group-id="0721187664-13">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·430dd42f9c09bcae91e9deb3d7bdeb6d2fbcd4a61920180c638baeeab3b7cf95·...·]-13">)</span></code></pre><p>On·encode,·an·OctetString()·can·be·specified·as·an·iolist(),·excessively·large319 </span><span·class="n">Grouped</span><span·class="p"·data-group-id="9830443636-12">(</span><span·class="p"·data-group-id="9830443636-12">)</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">record</span><span·class="p"·data-group-id="9830443636-13">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·0b1bdc9f91b611f4d413d05445cc19e4f40a11b1cb428deaa93f02a31f537001·...·]-13">)</span></code></pre><p>On·encode,·an·OctetString()·can·be·specified·as·an·iolist(),·excessively·large
320 floats·(in·absolute·value)·are·equivalent·to·<code·class="inline">infinity</code>·or·<code·class="inline">'-infinity'</code>·and320 floats·(in·absolute·value)·are·equivalent·to·<code·class="inline">infinity</code>·or·<code·class="inline">'-infinity'</code>·and
321 excessively·large·integers·result·in·encode·failure.·The·records·for·grouped321 excessively·large·integers·result·in·encode·failure.·The·records·for·grouped
322 AVPs·are·as·discussed·in·the·previous·section.</p><p><em>Derived·AVP·Data·Formats</em></p><p><a·href=""·id="Address"></a></p><pre><code·class="text">Address()·=·OctetString()322 AVPs·are·as·discussed·in·the·previous·section.</p><p><em>Derived·AVP·Data·Formats</em></p><p><a·href=""·id="Address"></a></p><pre><code·class="text">Address()·=·OctetString()
323 ··········|·tuple()</code></pre><p>On·encode,·an·OctetString()·IPv4·address·is·parsed·in·the·usual·x.x.x.x·format323 ··········|·tuple()</code></pre><p>On·encode,·an·OctetString()·IPv4·address·is·parsed·in·the·usual·x.x.x.x·format
324 while·an·IPv6·address·is·parsed·in·any·of·the·formats·specified·by·section·2.2324 while·an·IPv6·address·is·parsed·in·any·of·the·formats·specified·by·section·2.2
325 of·RFC·2373,·&quot;Text·Representation·of·Addresses&quot;.·An·IPv4·tuple()·has·length·4325 of·RFC·2373,·&quot;Text·Representation·of·Addresses&quot;.·An·IPv4·tuple()·has·length·4
326 and·contains·values·of·type·0..255.·An·IPv6·tuple()·has·length·8·and·contains326 and·contains·values·of·type·0..255.·An·IPv6·tuple()·has·length·8·and·contains
327 values·of·type·0..65535.·The·tuple·representation·is·used·on·decode.</p><p><a·href=""·id="Time"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Time</span><span·class="p"·data-group-id="4026046859-1">(</span><span·class="p"·data-group-id="4026046859-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4026046859-2">{</span><span·class="nf">date</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·301,·SHA:·2f14fd6c2150494f5b17bb9dd3f7fde386d26013ce1549a27ef94a58237005a6·...·]-2">}</span><span·class="w">327 values·of·type·0..65535.·The·tuple·representation·is·used·on·decode.</p><p><a·href=""·id="Time"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Time</span><span·class="p"·data-group-id="8197886652-1">(</span><span·class="p"·data-group-id="8197886652-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8197886652-2">{</span><span·class="nf">date</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·301,·SHA:·72443166f2cd117d9d53b6bb39912024a6ee7e8a32afe230878612e8e51a2462·...·]-2">}</span><span·class="w">
  
328 </span><span·class="ss">where</span><span·class="w">328 </span><span·class="ss">where</span><span·class="w">
  
329 ··</span><span·class="nf">date</span><span·class="p"·data-group-id="4026046859-5">(</span><span·class="p"·data-group-id="4026046859-5">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4026046859-6">{</span><span·class="n">Year</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·162,·SHA:·71842f7e479d6cb1682338e51f967375cd8068ba5eb075bda83b79927948539f·...·]-6">}</span><span·class="w">329 ··</span><span·class="nf">date</span><span·class="p"·data-group-id="8197886652-5">(</span><span·class="p"·data-group-id="8197886652-5">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8197886652-6">{</span><span·class="n">Year</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·162,·SHA:·8f5d2c1680d4a0e0830d2a89f82c8d1e3b3ffc75d794930044739f8bac0e0a87·...·]-6">}</span><span·class="w">
330 ··</span><span·class="nf">time</span><span·class="p"·data-group-id="4026046859-7">(</span><span·class="p"·data-group-id="4026046859-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4026046859-8">{</span><span·class="n">Hour</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·166,·SHA:·0b798c031a5ee4c09358f24a9915e1ed865a697134b2daea68026785aac330f1·...·]-8">}</span><span·class="w">330 ··</span><span·class="nf">time</span><span·class="p"·data-group-id="8197886652-7">(</span><span·class="p"·data-group-id="8197886652-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8197886652-8">{</span><span·class="n">Hour</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·166,·SHA:·5d56a13f9a3f5f40371e25578af4f973166dc0243bb40484bf6cd6b0b5a2e617·...·]-8">}</span><span·class="w">
  
331 ··</span><span·class="n">Year</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4026046859-9">(</span><span·class="p"·data-group-id="4026046859-9">)</span><span·class="w">331 ··</span><span·class="n">Year</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8197886652-9">(</span><span·class="p"·data-group-id="8197886652-9">)</span><span·class="w">
332 ··</span><span·class="n">Month</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">12</span><span·class="w">332 ··</span><span·class="n">Month</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">12</span><span·class="w">
333 ··</span><span·class="n">Day</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">31</span><span·class="w">333 ··</span><span·class="n">Day</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">31</span><span·class="w">
334 ··</span><span·class="n">Hour</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">23</span><span·class="w">334 ··</span><span·class="n">Hour</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">23</span><span·class="w">
335 ··</span><span·class="n">Minute</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">59</span><span·class="w">335 ··</span><span·class="n">Minute</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">59</span><span·class="w">
336 ··</span><span·class="n">Second</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">59</span></code></pre><p>Additionally,·values·that·can·be·encoded·are·limited·by·way·of·their·encoding·as336 ··</span><span·class="n">Second</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</span><span·class="mi">59</span></code></pre><p>Additionally,·values·that·can·be·encoded·are·limited·by·way·of·their·encoding·as
337 four·octets·as·required·by·RFC·6733·with·the·required·extension·from·RFC·2030.337 four·octets·as·required·by·RFC·6733·with·the·required·extension·from·RFC·2030.
338 In·particular,·only·values·between·<code·class="inline">{{1968,1,20},{3,14,8}}</code>·and338 In·particular,·only·values·between·<code·class="inline">{{1968,1,20},{3,14,8}}</code>·and
Offset 355, 16 lines modifiedOffset 355, 16 lines modified
355 ··FQDN·=·OctetString()355 ··FQDN·=·OctetString()
356 ··Port·=·integer()356 ··Port·=·integer()
357 ··Transport·=·sctp·|·tcp357 ··Transport·=·sctp·|·tcp
358 ··Protocol··=·diameter·|·radius·|·'tacacs+'</code></pre><p>On·encode,·fields·port,·transport·and·protocol·default·to·3868,·sctp·and358 ··Protocol··=·diameter·|·radius·|·'tacacs+'</code></pre><p>On·encode,·fields·port,·transport·and·protocol·default·to·3868,·sctp·and
359 diameter·respectively.·The·grammar·of·an·OctetString-valued·DiameterURI()·is·as359 diameter·respectively.·The·grammar·of·an·OctetString-valued·DiameterURI()·is·as
360 specified·in·section·4.3·of·RFC·6733.·The·record·representation·is·used·on360 specified·in·section·4.3·of·RFC·6733.·The·record·representation·is·used·on
361 decode.</p><p><a·href=""·id="Enumerated"></a></p><pre><code·class="text">Enumerated()·=·Integer32()</code></pre><p>On·encode,·values·can·be·specified·using·the·macros·defined·in·a·dictionary's361 decode.</p><p><a·href=""·id="Enumerated"></a></p><pre><code·class="text">Enumerated()·=·Integer32()</code></pre><p>On·encode,·values·can·be·specified·using·the·macros·defined·in·a·dictionary's
362 hrl·file.</p><p><a·href=""·id="IPFilterRule"></a>·<a·href=""·id="QoSFilterRule"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">IPFilterRule</span><span·class="p"·data-group-id="7127554831-1">(</span><span·class="p"·data-group-id="7127554831-1">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="n">OctetString</span><span·class="p"·data-group-id="7127554831-2">(</span><span·class="p"·data-group-id="7127554831-2">)</span><span·class="w"> 
363 </span><span·class="n">QoSFilterRule</span><span·class="p"·data-group-id="7127554831-3">(</span><span·class="p"·data-group-id="7127554831-3">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">OctetString</span><[·...·truncated·by·diffoscope;·len:·224,·SHA:·f36448d2fd53fc18cc74389bcc95d34c542e075ba887985d6a69970ed3f0debf·...·]">362 hrl·file.</p><p><a·href=""·id="IPFilterRule"></a>·<a·href=""·id="QoSFilterRule"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">IPFilterRule</span><span·class="p"·data-group-id="4823687699-1">(</span><span·class="p"·data-group-id="4[·...·truncated·by·diffoscope;·len:·248,·SHA:·40c8d3c61ca4182f72f7434b98baea838826d739413af91711b1370949c39130·...·]">
 363 </span><span·class="n">QoSFilterRule</span><span·class="p"·data-group-id="4823687699-3">(</span><span·class="p"·data-group-id="4823687699-3">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">OctetString</span><span·class="p"·data-group-id="4823687699-4">(</span><span·class="p"·data-group-id="4823687699-4">)</span></code></pre><p>Values·of·these·types·are·not·currently·parsed·by·diameter.</p><h2·id="see-also"·class="section-heading">
364 ··<a·href="#see-also"·class="hover-link">364 ··<a·href="#see-also"·class="hover-link">
365 ····<i·class="ri-link-m"·aria-hidden="true"></i>365 ····<i·class="ri-link-m"·aria-hidden="true"></i>
366 ··</a>366 ··</a>
367 ··<span·class="text">SEE·ALSO</span>367 ··<span·class="text">SEE·ALSO</span>
368 </h2>368 </h2>
369 <p><a·href="diameterc_cmd.html">diameterc(1)</a>,·<a·href="diameter.html"><code·class="inline">diameter</code></a>,·<a·href="diameter_app.html"><code·class="inline">diameter_app</code></a>,369 <p><a·href="diameterc_cmd.html">diameterc(1)</a>,·<a·href="diameter.html"><code·class="inline">diameter</code></a>,·<a·href="diameter_app.html"><code·class="inline">diameter_app</code></a>,
370 <a·href="diameter_codec.html"><code·class="inline">diameter_codec</code></a>,·<a·href="diameter_make.html"><code·class="inline">diameter_make</code></a></p>370 <a·href="diameter_codec.html"><code·class="inline">diameter_codec</code></a>,·<a·href="diameter_make.html"><code·class="inline">diameter_make</code></a></p>
Offset 405, 15 lines modifiedOffset 405, 15 lines modified
405 ······<p·class="built-using">405 ······<p·class="built-using">
406 ········Built·using406 ········Built·using
407 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the407 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
408 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>408 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
409 ······</p>409 ······</p>
410 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>410 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
411 ····</footer>411 ····</footer>
412 ··</div>412 ··</div>
413 </main>413 </main>
414 </div>414 </div>
415 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>415 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
416 ··<script>416 ··<script>
417 ··let·initialized·=·false;417 ··let·initialized·=·false;
749 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_examples.html
    
Offset 172, 15 lines modifiedOffset 172, 15 lines modified
172 ······<p·class="built-using">172 ······<p·class="built-using">
173 ········Built·using173 ········Built·using
174 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the174 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
175 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>175 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
176 ······</p>176 ······</p>
177 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>177 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
178 ····</footer>178 ····</footer>
179 ··</div>179 ··</div>
180 </main>180 </main>
181 </div>181 </div>
182 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>182 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
183 ··<script>183 ··<script>
184 ··let·initialized·=·false;184 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_intro.html
    
Offset 200, 15 lines modifiedOffset 200, 15 lines modified
200 ······<p·class="built-using">200 ······<p·class="built-using">
201 ········Built·using201 ········Built·using
202 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the202 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
203 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>203 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
204 ······</p>204 ······</p>
205 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>205 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
206 ····</footer>206 ····</footer>
207 ··</div>207 ··</div>
208 </main>208 </main>
209 </div>209 </div>
210 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>210 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
211 ··<script>211 ··<script>
212 ··let·initialized·=·false;212 ··let·initialized·=·false;
742 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_make.html
    
Offset 519, 15 lines modifiedOffset 519, 15 lines modified
519 ······<p·class="built-using">519 ······<p·class="built-using">
520 ········Built·using520 ········Built·using
521 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the521 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
522 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>522 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
523 ······</p>523 ······</p>
524 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>524 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
525 ····</footer>525 ····</footer>
526 ··</div>526 ··</div>
527 </main>527 </main>
528 </div>528 </div>
529 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>529 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
530 ··<script>530 ··<script>
531 ··let·initialized·=·false;531 ··let·initialized·=·false;
685 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_sctp.html
    
Offset 437, 15 lines modifiedOffset 437, 15 lines modified
437 ······<p·class="built-using">437 ······<p·class="built-using">
438 ········Built·using438 ········Built·using
439 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the439 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
440 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>440 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
441 ······</p>441 ······</p>
442 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>442 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
443 ····</footer>443 ····</footer>
444 ··</div>444 ··</div>
445 </main>445 </main>
446 </div>446 </div>
447 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>447 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
448 ··<script>448 ··<script>
449 ··let·initialized·=·false;449 ··let·initialized·=·false;
691 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_service.html
    
Offset 214, 15 lines modifiedOffset 214, 15 lines modified
214 ······<p·class="built-using">214 ······<p·class="built-using">
215 ········Built·using215 ········Built·using
216 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the216 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
217 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>217 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
218 ······</p>218 ······</p>
219 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>219 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
220 ····</footer>220 ····</footer>
221 ··</div>221 ··</div>
222 </main>222 </main>
223 </div>223 </div>
224 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>224 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
225 ··<script>225 ··<script>
226 ··let·initialized·=·false;226 ··let·initialized·=·false;
556 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_soc.html
    
Offset 186, 15 lines modifiedOffset 186, 15 lines modified
186 ······<p·class="built-using">186 ······<p·class="built-using">
187 ········Built·using187 ········Built·using
188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
190 ······</p>190 ······</p>
191 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>191 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
192 ····</footer>192 ····</footer>
193 ··</div>193 ··</div>
194 </main>194 </main>
195 </div>195 </div>
196 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>196 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
197 ··<script>197 ··<script>
198 ··let·initialized·=·false;198 ··let·initialized·=·false;
662 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_tcp.html
    
Offset 472, 15 lines modifiedOffset 472, 15 lines modified
472 ······<p·class="built-using">472 ······<p·class="built-using">
473 ········Built·using473 ········Built·using
474 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the474 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
475 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>475 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
476 ······</p>476 ······</p>
477 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>477 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
478 ····</footer>478 ····</footer>
479 ··</div>479 ··</div>
480 </main>480 </main>
481 </div>481 </div>
482 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>482 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
483 ··<script>483 ··<script>
484 ··let·initialized·=·false;484 ··let·initialized·=·false;
635 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_transport.html
    
Offset 317, 15 lines modifiedOffset 317, 15 lines modified
317 ······<p·class="built-using">317 ······<p·class="built-using">
318 ········Built·using318 ········Built·using
319 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the319 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
320 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>320 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
321 ······</p>321 ······</p>
322 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>322 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
323 ····</footer>323 ····</footer>
324 ··</div>324 ··</div>
325 </main>325 </main>
326 </div>326 </div>
327 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>327 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
328 ··<script>328 ··<script>
329 ··let·initialized·=·false;329 ··let·initialized·=·false;
698 B
html2text {}
Max HTML report size reached
1.42 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameter_using.html
    
Offset 172, 15 lines modifiedOffset 172, 15 lines modified
172 ······<p·class="built-using">172 ······<p·class="built-using">
173 ········Built·using173 ········Built·using
174 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the174 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
175 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>175 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
176 ······</p>176 ······</p>
177 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>177 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
178 ····</footer>178 ····</footer>
179 ··</div>179 ··</div>
180 </main>180 </main>
181 </div>181 </div>
182 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>182 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
183 ··<script>183 ··<script>
184 ··let·initialized·=·false;184 ··let·initialized·=·false;
599 B
html2text {}
Max HTML report size reached
3.02 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/diameterc_cmd.html
    
Offset 127, 15 lines modifiedOffset 127, 15 lines modified
  
127 <p>Compile·a·diameter·dictionary·to·Erlang·source.</p><h2·id="synopsis"·class="section-heading">127 <p>Compile·a·diameter·dictionary·to·Erlang·source.</p><h2·id="synopsis"·class="section-heading">
128 ··<a·href="#synopsis"·class="hover-link">128 ··<a·href="#synopsis"·class="hover-link">
129 ····<i·class="ri-link-m"·aria-hidden="true"></i>129 ····<i·class="ri-link-m"·aria-hidden="true"></i>
130 ··</a>130 ··</a>
131 ··<span·class="text">Synopsis</span>131 ··<span·class="text">Synopsis</span>
132 </h2>132 </h2>
133 <pre><code·class="makeup·erlang"·translate="no"><span·class="ss">diameterc</span><span·class="w">·</span><span·class="p"·data-group-id="6291071090-1">[</span><span·class="o">&lt;</span><span·class="ss">options</span><span·class="o">&gt;</span><span·class="p"·data-group-id="6291071090-1">]</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">file</span><span·class="o">&gt;</span></code></pre><h2·id="description"·class="section-heading">133 <pre><code·class="makeup·erlang"·translate="no"><span·class="ss">diameterc</span><span·class="w">·</span><span·class="p"·data-group-id="4555215673-1">[</span><span·class="o">&lt;</span><span·class="ss">options</span><span·class="o">&gt;</span><span·class="p"·data-group-id="4555215673-1">]</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="ss">file</span><span·class="o">&gt;</span></code></pre><h2·id="description"·class="section-heading">
134 ··<a·href="#description"·class="hover-link">134 ··<a·href="#description"·class="hover-link">
135 ····<i·class="ri-link-m"·aria-hidden="true"></i>135 ····<i·class="ri-link-m"·aria-hidden="true"></i>
136 ··</a>136 ··</a>
137 ··<span·class="text">Description</span>137 ··<span·class="text">Description</span>
138 </h2>138 </h2>
139 <p>The·diameterc·utility·is·used·to·compile·a·diameter139 <p>The·diameterc·utility·is·used·to·compile·a·diameter
140 <a·href="diameter_dict.html">dictionary·file</a>·into·Erlang·source.·The·resulting·source140 <a·href="diameter_dict.html">dictionary·file</a>·into·Erlang·source.·The·resulting·source
Offset 199, 15 lines modifiedOffset 199, 15 lines modified
199 ······<p·class="built-using">199 ······<p·class="built-using">
200 ········Built·using200 ········Built·using
201 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the201 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
202 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>202 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
203 ······</p>203 ······</p>
204 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>204 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
205 ····</footer>205 ····</footer>
206 ··</div>206 ··</div>
207 </main>207 </main>
208 </div>208 </div>
209 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>209 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
210 ··<script>210 ··<script>
211 ··let·initialized·=·false;211 ··let·initialized·=·false;
749 B
html2text {}
Max HTML report size reached
11.3 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/notes.html
    
Offset 139, 17 lines modifiedOffset 139, 17 lines modified
139 </h3>139 </h3>
140 <ul><li><p>With·this·change·diameter·will·not·crash·when·decoding·a·DiameterURI·without·port·number.</p><p>Own·Id:·OTP-19620·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9321"·title="">PR-9321</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>With·this·change·diameter·will·not·crash·when·decoding·a·DiameterURI·without·port·number.</p><p>Own·Id:·OTP-19620·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9321"·title="">PR-9321</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="0975093825-1">(</span><span·class="p"·data-group-id="0975093825-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0975093825-2">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·978f391f77e64b25ee447e491b39e9a401bd124289300e7f48919dd0fcf4500a·...·]5-2">)</span><span·class="p">.</span><span·class="w">146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="6803887305-1">(</span><span·class="p"·data-group-id="6803887305-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6803887305-2">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·c213e6c2e2f059064b394fa2b93dada5d0aad7ca9d14dd480cca08497e9ec333·...·]5-2">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="0975093825-3">(</span><span·class="p"·data-group-id="0975093825-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0975093825-4">(</span><[·...·truncated·by·diffoscope;·len:·1060,·SHA:·267ca9a34712f0bd83e92f983370815c68a1a9b66416a77978ff750c87be4b67·...·]3-2">)</span><span·class="p">.</span><span·class="w">147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="6803887305-3">(</span><span·class="p"·data-group-id="6803887305-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6803887305-4">(</span><[·...·truncated·by·diffoscope;·len:·1060,·SHA:·10ea543ddcb48c8e4a1a18612f9c8e83dc4352202b12d8acec60e93181305a5d·...·]3-2">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="6553077943-3">(</span><span·class="p"·data-group-id="6553077943-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6553077943-4">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·0ec869438d49028b0e62539dbfe5f677fa6feb727c7d01ba67913d7be87a4a0c·...·]3-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>With·this·change·diameter·will·not·use·slave·terminology</p><p>Own·Id:·OTP-19621·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9786"·title="">PR-9786</a></p></li></ul><h2·id="diameter-2-4-1"·class="section-heading">148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="4164992993-3">(</span><span·class="p"·data-group-id="4164992993-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4164992993-4">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·a8fabd0cba602ab549a5751f44875eaf57fb3f3342fcae4c339809a315ae6c2b·...·]3-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>With·this·change·diameter·will·not·use·slave·terminology</p><p>Own·Id:·OTP-19621·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9786"·title="">PR-9786</a></p></li></ul><h2·id="diameter-2-4-1"·class="section-heading">
149 ··<a·href="#diameter-2-4-1"·class="hover-link">149 ··<a·href="#diameter-2-4-1"·class="hover-link">
150 ····<i·class="ri-link-m"·aria-hidden="true"></i>150 ····<i·class="ri-link-m"·aria-hidden="true"></i>
151 ··</a>151 ··</a>
152 ··<span·class="text">diameter·2.4.1</span>152 ··<span·class="text">diameter·2.4.1</span>
153 </h2>153 </h2>
154 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">154 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">
155 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">155 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">
Offset 1378, 15 lines modifiedOffset 1378, 15 lines modified
1378 ······<p·class="built-using">1378 ······<p·class="built-using">
1379 ········Built·using1379 ········Built·using
1380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1382 ······</p>1382 ······</p>
1383 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1383 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1384 ····</footer>1384 ····</footer>
1385 ··</div>1385 ··</div>
1386 </main>1386 </main>
1387 </div>1387 </div>
1388 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1388 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1389 ··<script>1389 ··<script>
1390 ··let·initialized·=·false;1390 ··let·initialized·=·false;
740 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/diameter-2.5/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
463 B
html2text {}
Max HTML report size reached
1.39 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/404.html
    
Offset 139, 15 lines modifiedOffset 139, 15 lines modified
139 ······<p·class="built-using">139 ······<p·class="built-using">
140 ········Built·using140 ········Built·using
141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
143 ······</p>143 ······</p>
144 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>144 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
145 ····</footer>145 ····</footer>
146 ··</div>146 ··</div>
147 </main>147 </main>
148 </div>148 </div>
149 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>149 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
150 ··<script>150 ··<script>
151 ··let·initialized·=·false;151 ··let·initialized·=·false;
604 B
html2text {}
Max HTML report size reached
1.34 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/api-reference.html
    
Offset 258, 15 lines modifiedOffset 258, 15 lines modified
258 ······<p·class="built-using">258 ······<p·class="built-using">
259 ········Built·using259 ········Built·using
260 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the260 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
261 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>261 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
262 ······</p>262 ······</p>
263 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>263 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
264 ····</footer>264 ····</footer>
265 ··</div>265 ··</div>
266 </main>266 </main>
267 </div>267 </div>
268 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>268 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
269 ··<script>269 ··<script>
270 ··let·initialized·=·false;270 ··let·initialized·=·false;
531 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/chapter.html
    
Offset 833, 15 lines modifiedOffset 833, 15 lines modified
833 ······<p·class="built-using">833 ······<p·class="built-using">
834 ········Built·using834 ········Built·using
835 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the835 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
836 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>836 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
837 ······</p>837 ······</p>
838 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>838 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
839 ····</footer>839 ····</footer>
840 ··</div>840 ··</div>
841 </main>841 </main>
842 </div>842 </div>
843 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>843 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
844 ··<script>844 ··<script>
845 ··let·initialized·=·false;845 ··let·initialized·=·false;
724 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/doc_storage.html
    
Offset 232, 15 lines modifiedOffset 232, 15 lines modified
232 ······<p·class="built-using">232 ······<p·class="built-using">
233 ········Built·using233 ········Built·using
234 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the234 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
235 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>235 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
236 ······</p>236 ······</p>
237 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>237 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
238 ····</footer>238 ····</footer>
239 ··</div>239 ··</div>
240 </main>240 </main>
241 </div>241 </div>
242 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>242 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
243 ··<script>243 ··<script>
244 ··let·initialized·=·false;244 ··let·initialized·=·false;
609 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc.html
    
Offset 1341, 15 lines modifiedOffset 1341, 15 lines modified
1341 ······<p·class="built-using">1341 ······<p·class="built-using">
1342 ········Built·using1342 ········Built·using
1343 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1343 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1344 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1344 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1345 ······</p>1345 ······</p>
1346 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1346 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1347 ····</footer>1347 ····</footer>
1348 ··</div>1348 ··</div>
1349 </main>1349 </main>
1350 </div>1350 </div>
1351 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1351 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1352 ··<script>1352 ··<script>
1353 ··let·initialized·=·false;1353 ··let·initialized·=·false;
659 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc_cmd.html
    
Offset 183, 15 lines modifiedOffset 183, 15 lines modified
183 ······<p·class="built-using">183 ······<p·class="built-using">
184 ········Built·using184 ········Built·using
185 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the185 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
186 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>186 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
187 ······</p>187 ······</p>
188 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>188 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
189 ····</footer>189 ····</footer>
190 ··</div>190 ··</div>
191 </main>191 </main>
192 </div>192 </div>
193 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>193 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
194 ··<script>194 ··<script>
195 ··let·initialized·=·false;195 ··let·initialized·=·false;
714 B
html2text {}
Max HTML report size reached
1.34 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc_doclet.html
    
Offset 428, 15 lines modifiedOffset 428, 15 lines modified
428 ······<p·class="built-using">428 ······<p·class="built-using">
429 ········Built·using429 ········Built·using
430 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the430 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
431 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>431 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
432 ······</p>432 ······</p>
433 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>433 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
434 ····</footer>434 ····</footer>
435 ··</div>435 ··</div>
436 </main>436 </main>
437 </div>437 </div>
438 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>438 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
439 ··<script>439 ··<script>
440 ··let·initialized·=·false;440 ··let·initialized·=·false;
534 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc_doclet_chunks.html
    
Offset 212, 15 lines modifiedOffset 212, 15 lines modified
212 ······<p·class="built-using">212 ······<p·class="built-using">
213 ········Built·using213 ········Built·using
214 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the214 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
215 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>215 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
216 ······</p>216 ······</p>
217 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>217 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
218 ····</footer>218 ····</footer>
219 ··</div>219 ··</div>
220 </main>220 </main>
221 </div>221 </div>
222 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>222 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
223 ··<script>223 ··<script>
224 ··let·initialized·=·false;224 ··let·initialized·=·false;
591 B
html2text {}
Max HTML report size reached
5.9 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc_doclet_markdown.html
    
Offset 124, 16 lines modifiedOffset 124, 16 lines modified
124 ····<span·translate="no">edoc_doclet_markdown</span>·124 ····<span·translate="no">edoc_doclet_markdown</span>·
125 ····<small·class="app-vsn"·translate="no">(edoc·v1.4)</small>125 ····<small·class="app-vsn"·translate="no">(edoc·v1.4)</small>
  
126 ··</h1>126 ··</h1>
  
  
127 ····<section·id="moduledoc">127 ····<section·id="moduledoc">
128 <p>Doclet·converting·an·edoc·application·to·use·<a·href="https://www.erlang.org/eeps/eep-0059">EEP-59</a>·and·Markdown.</p><p>This·doclet·has·to·be·used·together·with·<a·href="edoc_layout_chunks.html"><code>edoc_layout_chunks</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">edoc</span><span·class="p">:</span><span·class="nf">application</span><span·class="p"·data-group-id="7461593097-1">(</span><span·class="ss">example</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7461593097-2">[</span><span·class="p"·data-group-id="7461593097-3">{</span><span·class="ss">preprocess</span><span·class="p"[·...·truncated·by·diffoscope;·len:·377,·SHA:·9064fcfd1049e58a60963b407dc99f656b9b91054954e9ed726afe39be536957·...·]7-4">}</span><span·class="p">,</span><span·class="w">128 <p>Doclet·converting·an·edoc·application·to·use·<a·href="https://www.erlang.org/eeps/eep-0059">EEP-59</a>·and·Markdown.</p><p>This·doclet·has·to·be·used·together·with·<a·href="edoc_layout_chunks.html"><code>edoc_layout_chunks</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">edoc</span><span·class="p">:</span><span·class="nf">application</span><span·class="p"·data-group-id="4842112977-1">(</span><span·class="ss">example</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4842112977-2">[</span><span·class="p"·data-group-id="4842112977-3">{</span><span·class="ss">preprocess</span><span·class="p"[·...·truncated·by·diffoscope;·len:·377,·SHA:·f7f23a4cd5554a3d532df98ef9bbd7778cd9ca3db268dc545d19cc950f39cb70·...·]7-4">}</span><span·class="p">,</span><span·class="w">
129 ·······</span><span·class="p"·data-group-id="7461593097-5">{</span><span·class="ss">layout</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">edoc_layout_chunks</span><span·class="p"·data-group-id="7461593097-5">}</span><span·class="p"·data-group-id="7461593097-2">]</span><span·cl[·...·truncated·by·diffoscope;·len:·32,·SHA:·d1bf76569183f4e5f28714114944e1c638aefb554931a6c20fe9c20308b530e1·...·]7-1">)</span><span·class="p">.</span></code></pre><p>It·will·convert·the·overview·to·Markdown·and·any·module·documentation·to·use·<code>-doc</code>·attributes·and·Markdown.·Any·XHTML·tags·in·the·edoc·documentation·that·are·not·part·of·the·tags·supported·by·<a·href="doc_storage.html#erlang-documentation-format">Erlang·Documentation·Format</a>·will·be·added·as·HTML·tags·in·the·Markdown.</p><p>It·does·not·delete·the·old·edoc·documentation.</p><p><em>See·also:·</em><a·href="edoc_layout_chunks.html">edoc_layout_chunks</a>.</p>129 ·······</span><span·class="p"·data-group-id="4842112977-5">{</span><span·class="ss">layout</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">edoc_layout_chunks</span><span·class="p"·data-group-id="4842112977-5">}</span><span·class="p"·data-group-id="4842112977-2">]</span><span·cl[·...·truncated·by·diffoscope;·len:·32,·SHA:·d9f9c2ed1b59d2a95c21b8b3578145587e105789e25c9bc15adefba9b3b8ef5b·...·]7-1">)</span><span·class="p">.</span></code></pre><p>It·will·convert·the·overview·to·Markdown·and·any·module·documentation·to·use·<code>-doc</code>·attributes·and·Markdown.·Any·XHTML·tags·in·the·edoc·documentation·that·are·not·part·of·the·tags·supported·by·<a·href="doc_storage.html#erlang-documentation-format">Erlang·Documentation·Format</a>·will·be·added·as·HTML·tags·in·the·Markdown.</p><p>It·does·not·delete·the·old·edoc·documentation.</p><p><em>See·also:·</em><a·href="edoc_layout_chunks.html">edoc_layout_chunks</a>.</p>
130 ····</section>130 ····</section>
  
131 </div>131 </div>
  
132 ··<section·id="summary"·class="details-list">132 ··<section·id="summary"·class="details-list">
133 ····<h1·class="section-heading">133 ····<h1·class="section-heading">
134 ······<a·class="hover-link"·href="#summary">134 ······<a·class="hover-link"·href="#summary">
Offset 213, 15 lines modifiedOffset 213, 15 lines modified
213 ······<p·class="built-using">213 ······<p·class="built-using">
214 ········Built·using214 ········Built·using
215 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the215 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
216 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>216 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
217 ······</p>217 ······</p>
218 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>218 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
219 ····</footer>219 ····</footer>
220 ··</div>220 ··</div>
221 </main>221 </main>
222 </div>222 </div>
223 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>223 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
224 ··<script>224 ··<script>
225 ··let·initialized·=·false;225 ··let·initialized·=·false;
698 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc_extract.html
    
Offset 627, 15 lines modifiedOffset 627, 15 lines modified
627 ······<p·class="built-using">627 ······<p·class="built-using">
628 ········Built·using628 ········Built·using
629 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the629 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
630 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>630 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
631 ······</p>631 ······</p>
632 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>632 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
633 ····</footer>633 ····</footer>
634 ··</div>634 ··</div>
635 </main>635 </main>
636 </div>636 </div>
637 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>637 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
638 ··<script>638 ··<script>
639 ··let·initialized·=·false;639 ··let·initialized·=·false;
663 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc_html_to_markdown.html
    
Offset 213, 15 lines modifiedOffset 213, 15 lines modified
213 ······<p·class="built-using">213 ······<p·class="built-using">
214 ········Built·using214 ········Built·using
215 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the215 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
216 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>216 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
217 ······</p>217 ······</p>
218 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>218 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
219 ····</footer>219 ····</footer>
220 ··</div>220 ··</div>
221 </main>221 </main>
222 </div>222 </div>
223 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>223 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
224 ··<script>224 ··<script>
225 ··let·initialized·=·false;225 ··let·initialized·=·false;
692 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc_layout.html
    
Offset 391, 15 lines modifiedOffset 391, 15 lines modified
391 ······<p·class="built-using">391 ······<p·class="built-using">
392 ········Built·using392 ········Built·using
393 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the393 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
394 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>394 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
395 ······</p>395 ······</p>
396 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>396 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
397 ····</footer>397 ····</footer>
398 ··</div>398 ··</div>
399 </main>399 </main>
400 </div>400 </div>
401 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>401 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
402 ··<script>402 ··<script>
403 ··let·initialized·=·false;403 ··let·initialized·=·false;
720 B
html2text {}
Max HTML report size reached
1.66 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc_layout_chunks.html
    
Offset 716, 15 lines modifiedOffset 716, 15 lines modified
716 ······<p·class="built-using">716 ······<p·class="built-using">
717 ········Built·using717 ········Built·using
718 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the718 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
719 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>719 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
720 ······</p>720 ······</p>
721 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>721 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
722 ····</footer>722 ····</footer>
723 ··</div>723 ··</div>
724 </main>724 </main>
725 </div>725 </div>
726 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>726 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
727 ··<script>727 ··<script>
728 ··let·initialized·=·false;728 ··let·initialized·=·false;
851 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc_lib.html
    
Offset 431, 15 lines modifiedOffset 431, 15 lines modified
431 ······<p·class="built-using">431 ······<p·class="built-using">
432 ········Built·using432 ········Built·using
433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
435 ······</p>435 ······</p>
436 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>436 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
437 ····</footer>437 ····</footer>
438 ··</div>438 ··</div>
439 </main>439 </main>
440 </div>440 </div>
441 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>441 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
442 ··<script>442 ··<script>
443 ··let·initialized·=·false;443 ··let·initialized·=·false;
680 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/edoc_run.html
    
Offset 346, 15 lines modifiedOffset 346, 15 lines modified
346 ······<p·class="built-using">346 ······<p·class="built-using">
347 ········Built·using347 ········Built·using
348 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the348 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
349 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>349 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
350 ······</p>350 ······</p>
351 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>351 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
352 ····</footer>352 ····</footer>
353 ··</div>353 ··</div>
354 </main>354 </main>
355 </div>355 </div>
356 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>356 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
357 ··<script>357 ··<script>
358 ··let·initialized·=·false;358 ··let·initialized·=·false;
637 B
html2text {}
Max HTML report size reached
10.8 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/notes.html
    
Offset 139, 17 lines modifiedOffset 139, 17 lines modified
139 </h3>139 </h3>
140 <ul><li><p>Refactor·code·to·not·rely·on·<code·class="inline">+nowarn_shadow_vars</code>.</p><p>Own·Id:·OTP-19574·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9678"·title="">PR-9678</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>Refactor·code·to·not·rely·on·<code·class="inline">+nowarn_shadow_vars</code>.</p><p>Own·Id:·OTP-19574·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9678"·title="">PR-9678</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="0451299043-1">(</span><span·class="p"·data-group-id="0451299043-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0451299043-2">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·f3be764c6a0dd62ea130a8d82bce782cd4e45a3f356cc4e332de7c0d5717cf55·...·]3-2">)</span><span·class="p">.</span><span·class="w">146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="9237007093-1">(</span><span·class="p"·data-group-id="9237007093-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9237007093-2">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·253cc0b5cfdcfc05498ff1c9c20d7b5a205200bdd75c96166277b2b47284ba5d·...·]3-2">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="0451299043-3">(</span><span·class="p"·data-group-id="0451299043-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0451299043-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·fe67585f3aefef88b49afc455a2ecaef0041f7164f3623038c805343442dd6b3·...·]-2">)</span><span·class="p">.</span><span·class="w">147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="9237007093-3">(</span><span·class="p"·data-group-id="9237007093-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9237007093-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·c395325cbc6fef6a62c42dcc9e245dfdbb8681f2ba06dd82f077cb4163af2570·...·]-2">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="7528359858-3">(</span><span·class="p"·data-group-id="7528359858-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7528359858-4">(</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·05284c117663150c396344af25885f872b3ff2fcdc9c63e2dcbb0fc21e62679e·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="edoc-1-3-2"·class="section-heading">148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="7838299582-3">(</span><span·class="p"·data-group-id="7838299582-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7838299582-4">(</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·8f9134bac7ae41656c6d9869790914e7f58ce4bfe0ce8ce66ed2c55496f11de6·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="edoc-1-3-2"·class="section-heading">
149 ··<a·href="#edoc-1-3-2"·class="hover-link">149 ··<a·href="#edoc-1-3-2"·class="hover-link">
150 ····<i·class="ri-link-m"·aria-hidden="true"></i>150 ····<i·class="ri-link-m"·aria-hidden="true"></i>
151 ··</a>151 ··</a>
152 ··<span·class="text">Edoc·1.3.2</span>152 ··<span·class="text">Edoc·1.3.2</span>
153 </h2>153 </h2>
154 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">154 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">
155 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">155 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">
Offset 872, 15 lines modifiedOffset 872, 15 lines modified
872 ······<p·class="built-using">872 ······<p·class="built-using">
873 ········Built·using873 ········Built·using
874 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the874 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
875 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>875 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
876 ······</p>876 ······</p>
877 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>877 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
878 ····</footer>878 ····</footer>
879 ··</div>879 ··</div>
880 </main>880 </main>
881 </div>881 </div>
882 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>882 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
883 ··<script>883 ··<script>
884 ··let·initialized·=·false;884 ··let·initialized·=·false;
553 B
html2text {}
Max HTML report size reached
1.2 KB
./usr/share/doc/erlang-doc/html/lib/edoc-1.4/doc/html/search.html
    
Offset 137, 15 lines modifiedOffset 137, 15 lines modified
137 ······<p·class="built-using">137 ······<p·class="built-using">
138 ········Built·using138 ········Built·using
139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
141 ······</p>141 ······</p>
142 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>142 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
143 ····</footer>143 ····</footer>
144 ··</div>144 ··</div>
145 </main>145 </main>
146 </div>146 </div>
147 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>147 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
148 ··<script>148 ··<script>
149 ··let·initialized·=·false;149 ··let·initialized·=·false;
395 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/api-reference.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
187 ····</footer>187 ····</footer>
188 ··</div>188 ··</div>
189 </main>189 </main>
190 </div>190 </div>
191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
192 ··<script>192 ··<script>
193 ··let·initialized·=·false;193 ··let·initialized·=·false;
626 B
html2text {}
Max HTML report size reached
92.6 KB
./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/eldap.epub
1.92 KB
zipinfo {}
Max HTML report size reached
59.7 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
29.3 KB
OEBPS/eldap.xhtml
Max HTML report size reached
1.19 KB
OEBPS/content.opf
1.15 KB
OEBPS/content.opf
Max HTML report size reached
30.6 KB
./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/eldap.html
    
Offset 951, 21 lines modifiedOffset 951, 21 lines modified
951 ·················Dn·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),951 ·················Dn·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),
952 ·················Attributes·::·[<a·href="#t:attribute/0">attribute</a>()],952 ·················Attributes·::·[<a·href="#t:attribute/0">attribute</a>()],
953 ·················Refs·::·{referral,·<a·href="#t:referrals/0">referrals</a>()},953 ·················Refs·::·{referral,·<a·href="#t:referrals/0">referrals</a>()},
954 ·················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>954 ·················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
955 ······</div>955 ······</div>
  
956 <p>Add·an·entry.·The·entry·must·not·exist.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nf">add</span><span·class="p"·data-group-id="2488949638-1">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">956 <p>Add·an·entry.·The·entry·must·not·exist.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nf">add</span><span·class="p"·data-group-id="0846586314-1">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">
957 ······</span><span·class="s">&quot;cn=Bill·Valentine,·ou=people,·o=Example·Org,·dc=example,·dc=com&quot;</span><span·class="p">,</span><span·class="w">957 ······</span><span·class="s">&quot;cn=Bill·Valentine,·ou=people,·o=Example·Org,·dc=example,·dc=com&quot;</span><span·class="p">,</span><span·class="w">
958 ·······</span><span·class="p"·data-group-id="2488949638-2">[</span><span·class="p"·data-group-id="2488949638-3">{</span><span·class="s">&quot;objectclass&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2488949638-4">[</span><span·class="s">&quot;person&quot;[·...·truncated·by·diffoscope;·len:·101,·SHA:·cda23bc2efae4a31df41e5d90bc4306b2813b41a5bce2887d7c4386d9191e141·...·]-3">}</span><span·class="p">,</span><span·class="w">958 ·······</span><span·class="p"·data-group-id="0846586314-2">[</span><span·class="p"·data-group-id="0846586314-3">{</span><span·class="s">&quot;objectclass&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0846586314-4">[</span><span·class="s">&quot;person&quot;[·...·truncated·by·diffoscope;·len:·101,·SHA:·422628fa061925d36528510b449c40f84801915c3e7e44509eceea1d24689643·...·]-3">}</span><span·class="p">,</span><span·class="w">
959 ········</span><span·class="p"·data-group-id="2488949638-5">{</span><span·class="s">&quot;cn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2488949638-6">[</span><span·class="s">&quot;Bill·Valentine&quot;</span><span·class="p"·data-group-id="2488949638-6">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·1255e97542a1a4ce48b1b51415e3b3b168a7d1da10d3283a9eeb67f55cebd779·...·]-5">}</span><span·class="p">,</span><span·class="w">959 ········</span><span·class="p"·data-group-id="0846586314-5">{</span><span·class="s">&quot;cn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0846586314-6">[</span><span·class="s">&quot;Bill·Valentine&quot;</span><span·class="p"·data-group-id="0846586314-6">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·a2d14c1ecff444d2a598ffaa76509fc785b7ee161ee0f207aed001fb62a9ebd5·...·]-5">}</span><span·class="p">,</span><span·class="w">
960 ········</span><span·class="p"·data-group-id="2488949638-7">{</span><span·class="s">&quot;sn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2488949638-8">[</span><span·class="s">&quot;Valentine&quot;</span><span·class="p"·data-group-id="2488949638-8">]</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·d741cdd91210dc4fca5545e987a80f55339d27f98145914a2929c14022158ae1·...·]-7">}</span><span·class="p">,</span><span·class="w">960 ········</span><span·class="p"·data-group-id="0846586314-7">{</span><span·class="s">&quot;sn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0846586314-8">[</span><span·class="s">&quot;Valentine&quot;</span><span·class="p"·data-group-id="0846586314-8">]</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·b55bf571388c39ae8fa6c4c59e6288140fb00d774fa8e7d23e450d84b40ce0c3·...·]-7">}</span><span·class="p">,</span><span·class="w">
961 ········</span><span·class="p"·data-group-id="2488949638-9">{</span><span·class="s">&quot;telephoneNumber&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2488949638-10">[</span><span·class="s">&quot;545·555·00&quot;</span><span·class="p"·data-group-id="248894[·...·truncated·by·diffoscope;·len:·111,·SHA:·cb91391208b5732324a3c318778cc9814dde602e88e0af206c97ff3aa8667b63·...·]-2">]</span><span·class="w">961 ········</span><span·class="p"·data-group-id="0846586314-9">{</span><span·class="s">&quot;telephoneNumber&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0846586314-10">[</span><span·class="s">&quot;545·555·00&quot;</span><span·class="p"·data-group-id="084658[·...·truncated·by·diffoscope;·len:·111,·SHA:·4a6238a988eb7523d03005deca01687bd33e5565f9d6eddc22376f799b767aea·...·]-2">]</span><span·class="w">
962 ·····</span><span·class="p"·data-group-id="2488949638-1">)</span></code></pre>962 ·····</span><span·class="p"·data-group-id="0846586314-1">)</span></code></pre>
963 ··</section>963 ··</section>
964 </section>964 </section>
965 <section·class="detail"·id="and/1">965 <section·class="detail"·id="and/1">
  
966 ··<div·class="detail-header">966 ··<div·class="detail-header">
967 ····<a·href="#and/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">967 ····<a·href="#and/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
968 ······<i·class="ri-link-m"·aria-hidden="true"></i>968 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1249, 15 lines modifiedOffset 1249, 15 lines modified
1249 ·····························OptionalAttrs·::1249 ·····························OptionalAttrs·::
1250 ·································[{matchingRule,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()}·|1250 ·································[{matchingRule,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()}·|
1251 ··································{type,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()}·|1251 ··································{type,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()}·|
1252 ··································{dnAttributes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()}].</pre>1252 ··································{dnAttributes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()}].</pre>
  
1253 ······</div>1253 ······</div>
  
1254 <p>Creates·an·extensible·match·filter.·For·example,</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">extensibleMatch</span><span·class="p"·data-group-id="8978855490-1">(</span><span·class="s">&quot;Bar&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8978855490-2">[</span><span·class="p"·data-group-id="8978855490-3">{</span><span·class="ss">type</span><span·class="p[·...·truncated·by·diffoscope;·len:·457,·SHA:·bcd3f5c164d384ee5f7620804dd6a253a35e9203b9c2f7fc145b25db93bf0de2·...·]-1">)</span><span·class="p">)</span></code></pre><p>creates·a·filter·which·performs·a·<code·class="inline">caseExactMatch</code>·on·the·attribute·<code·class="inline">sn</code>·and1254 <p>Creates·an·extensible·match·filter.·For·example,</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">extensibleMatch</span><span·class="p"·data-group-id="9266037654-1">(</span><span·class="s">&quot;Bar&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9266037654-2">[</span><span·class="p"·data-group-id="9266037654-3">{</span><span·class="ss">type</span><span·class="p[·...·truncated·by·diffoscope;·len:·457,·SHA:·ba3dddaaedff3d85ec9e1d1ff737e3f5272c1e5a0b78b67850fa3c65353d164e·...·]-1">)</span><span·class="p">)</span></code></pre><p>creates·a·filter·which·performs·a·<code·class="inline">caseExactMatch</code>·on·the·attribute·<code·class="inline">sn</code>·and
1255 matches·with·the·value·<code·class="inline">&quot;Bar&quot;</code>.·The·default·value·of·<code·class="inline">dnAttributes</code>·is·<code·class="inline">false</code>.</p>1255 matches·with·the·value·<code·class="inline">&quot;Bar&quot;</code>.·The·default·value·of·<code·class="inline">dnAttributes</code>·is·<code·class="inline">false</code>.</p>
1256 ··</section>1256 ··</section>
1257 </section>1257 </section>
1258 <section·class="detail"·id="greaterOrEqual/2">1258 <section·class="detail"·id="greaterOrEqual/2">
  
1259 ··<div·class="detail-header">1259 ··<div·class="detail-header">
1260 ····<a·href="#greaterOrEqual/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1260 ····<a·href="#greaterOrEqual/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1453, 17 lines modifiedOffset 1453, 17 lines modified
1453 ····················Dn·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),1453 ····················Dn·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),
1454 ····················ModifyOps·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],1454 ····················ModifyOps·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],
1455 ····················Refs·::·{referral,·<a·href="#t:referrals/0">referrals</a>()},1455 ····················Refs·::·{referral,·<a·href="#t:referrals/0">referrals</a>()},
1456 ····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>1456 ····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1457 ······</div>1457 ······</div>
  
1458 <p>Modify·an·entry.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nf">modify</span><span·class="p"·data-group-id="5687729692-1">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;cn=Bill·Valentine,·ou=people,·o=Example·Org,·dc=example,·dc=com&quot;</span><span·class="p">,</span><span·class="w">1458 <p>Modify·an·entry.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nf">modify</span><span·class="p"·data-group-id="1102051026-1">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;cn=Bill·Valentine,·ou=people,·o=Example·Org,·dc=example,·dc=com&quot;</span><span·class="p">,</span><span·class="w">
1459 ·········</span><span·class="p"·data-group-id="5687729692-2">[</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">mod_replace</span><span·class="p"·data-group-id="5687729692-3">(</span><span·class="s">&quot;telephoneNumber&quot;</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·197,·SHA:·e2f720c1fe787121e193cde705bbf556c1a30d958c6d14bce058130ffbb3eeab·...·]-3">)</span><span·class="p">,</span><span·class="w">1459 ·········</span><span·class="p"·data-group-id="1102051026-2">[</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">mod_replace</span><span·class="p"·data-group-id="1102051026-3">(</span><span·class="s">&quot;telephoneNumber&quot;</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·197,·SHA:·aaceb59a35721eb84ca8e99410cb1fecc8be4c565d552c8530c7242636770dc3·...·]-3">)</span><span·class="p">,</span><span·class="w">
1460 »       ··</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">mod_add</span><span·class="p"·data-group-id="5687729692-5">(</span><span·class="s">&quot;description&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5687729692-6">[</span><span·class="s">&quot;LDAP·Hacker&quot;</span><span·class="p"·data-group-id="5687729692[·...·truncated·by·diffoscope;·len:·183,·SHA:·9cab5cd944c19fd4eaaf53a7c657222b7bb3159aabd673d28a5f3cbb337bdf1a·...·]-1">)</span></code></pre>1460 »       ··</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">mod_add</span><span·class="p"·data-group-id="1102051026-5">(</span><span·class="s">&quot;description&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1102051026-6">[</span><span·class="s">&quot;LDAP·Hacker&quot;</span><span·class="p"·data-group-id="1102051026[·...·truncated·by·diffoscope;·len:·183,·SHA:·e53fed36cbfaa37be5b090c17c3c8bfe3b1074c0c544a7bb8c6572306e519ea7·...·]-1">)</span></code></pre>
1461 ··</section>1461 ··</section>
1462 </section>1462 </section>
1463 <section·class="detail"·id="modify_dn/5">1463 <section·class="detail"·id="modify_dn/5">
  
1464 ··<div·class="detail-header">1464 ··<div·class="detail-header">
1465 ····<a·href="#modify_dn/5"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1465 ····<a·href="#modify_dn/5"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1466 ······<i·class="ri-link-m"·aria-hidden="true"></i>1466 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1757, 16 lines modifiedOffset 1757, 16 lines modified
  
1757 ··········<pre·translate="no"><span·class="attribute">-spec</span>·paged_result_control(PageSize)·->·{control,·ControlOID,·true,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}1757 ··········<pre·translate="no"><span·class="attribute">-spec</span>·paged_result_control(PageSize)·->·{control,·ControlOID,·true,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}
1758 ······························when·PageSize·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·ControlOID·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>().</pre>1758 ······························when·PageSize·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·ControlOID·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>().</pre>
  
1759 ······</div>1759 ······</div>
  
1760 <p>Paged·results·is·an·extension·to·the·LDAP·protocol·specified·by·RFC2696</p><p>This·function·creates·a·control·with·the·specified·page·size·for·use·in1760 <p>Paged·results·is·an·extension·to·the·LDAP·protocol·specified·by·RFC2696</p><p>This·function·creates·a·control·with·the·specified·page·size·for·use·in
1761 <code·class="inline">search/3</code>,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Control</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">paged_result_control</span><span·class="p"·data-group-id="8868664506-1">(</span><span·class="mi">50</span><span·class="p"·data-group-id="8868664506-1">)</span><span·class="p">,</span><span·class="w">1761 <code·class="inline">search/3</code>,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Control</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">paged_result_control</span><span·class="p"·data-group-id="3732377657-1">(</span><span·class="mi">50</span><span·class="p"·data-group-id="3732377657-1">)</span><span·class="p">,</span><span·class="w">
1762 </span><span·class="p"·data-group-id="8868664506-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SearchResults</span><span·class="p"·data-group-id="8868664506-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·727,·SHA:·ba2bd1a5bd7538003437bf33f5264b54f94a4ddbed56d45450a400b038e45040·...·]-3">)</span><span·class="p">,</span></code></pre>1762 </span><span·class="p"·data-group-id="3732377657-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SearchResults</span><span·class="p"·data-group-id="3732377657-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·727,·SHA:·05a2d370b3b22c82f18f0d15998336c8421c0666b6795f62af24c49fa8678d7d·...·]-3">)</span><span·class="p">,</span></code></pre>
1763 ··</section>1763 ··</section>
1764 </section>1764 </section>
1765 <section·class="detail"·id="paged_result_control/2">1765 <section·class="detail"·id="paged_result_control/2">
  
1766 ··<div·class="detail-header">1766 ··<div·class="detail-header">
1767 ····<a·href="#paged_result_control/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1767 ····<a·href="#paged_result_control/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1768 ······<i·class="ri-link-m"·aria-hidden="true"></i>1768 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1789, 20 lines modifiedOffset 1789, 20 lines modified
1789 ··········<pre·translate="no"><span·class="attribute">-spec</span>·paged_result_control(PageSize,·Cookie)·->·{control,·ControlOID,·true,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}1789 ··········<pre·translate="no"><span·class="attribute">-spec</span>·paged_result_control(PageSize,·Cookie)·->·{control,·ControlOID,·true,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}
1790 ······························when·PageSize·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·Cookie·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),·ControlOID·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>().</pre>1790 ······························when·PageSize·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·Cookie·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),·ControlOID·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>().</pre>
  
1791 ······</div>1791 ······</div>
  
1792 <p>Paged·results·is·an·extension·to·the·LDAP·protocol·specified·by·RFC2696</p><p>This·function·creates·a·control·with·the·specified·page·size·and·cookie·for·use1792 <p>Paged·results·is·an·extension·to·the·LDAP·protocol·specified·by·RFC2696</p><p>This·function·creates·a·control·with·the·specified·page·size·and·cookie·for·use
1793 in·<code·class="inline">search/3</code>·to·retrieve·the·next·results·page.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">PageSize</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">50</span><span·class="p">,</span><span·class="w">1793 in·<code·class="inline">search/3</code>·to·retrieve·the·next·results·page.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">PageSize</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">50</span><span·class="p">,</span><span·class="w">
1794 </span><span·class="n">Control1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">paged_result_control</span><span·class="p"·data-group-id="9148102802-1">(</span><span·class="n">PageSize</span><span·class="p"·data-group-id="9148102802-1">)</span><span·class="p">,</span><span·class="w">1794 </span><span·class="n">Control1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">paged_result_control</span><span·class="p"·data-group-id="8736258498-1">(</span><span·class="n">PageSize</span><span·class="p"·data-group-id="8736258498-1">)</span><span·class="p">,</span><span·class="w">
1795 </span><span·class="p"·data-group-id="9148102802-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SearchResults1</span><span·class="p"·data-group-id="9148102802-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·729,·SHA:·77a58549c96adc267be4fcafbd060b2fbf2bb77c90ed61f433f06ea990c4258e·...·]-3">)</span><span·class="p">,</span><span·class="w">1795 </span><span·class="p"·data-group-id="8736258498-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SearchResults1</span><span·class="p"·data-group-id="8736258498-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·729,·SHA:·5f6dbb3427a237f28ae4c2f5b572077b80fa9eaed165629374e6f59e7375df79·...·]-3">)</span><span·class="p">,</span><span·class="w">
1796 </span><span·class="c1">%%·retrieve·the·returned·cookie·from·the·search·results</span><span·class="w">1796 </span><span·class="c1">%%·retrieve·the·returned·cookie·from·the·search·results</span><span·class="w">
1797 </span><span·class="p"·data-group-id="9148102802-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cookie1</span><span·class="p"·data-group-id="9148102802-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·222,·SHA:·f7181b00ab9f83bd2131a28c7a8ace447768acfdb59210f7d577b28e94936b0b·...·]-8">)</span><span·class="p">,</span><span·class="w">1797 </span><span·class="p"·data-group-id="8736258498-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cookie1</span><span·class="p"·data-group-id="8736258498-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·222,·SHA:·7747df084d012d5ee9d068b0ab47c67cbbd8f068fa767e2b9a09cdb36e7aa8ec·...·]-8">)</span><span·class="p">,</span><span·class="w">
1798 </span><span·class="n">Control2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">paged_result_control</span><span·class="p"·data-group-id="9148102802-9">(</span><span·class="n">PageSize</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cookie1</span><span·class="p"·data-group-id="9148102802-9">)</span><span·class="p">,</span><span·class="w">1798 </span><span·class="n">Control2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">paged_result_control</span><span·class="p"·data-group-id="8736258498-9">(</span><span·class="n">PageSize</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cookie1</span><span·class="p"·data-group-id="8736258498-9">)</span><span·class="p">,</span><span·class="w">
1799 </span><span·class="p"·data-group-id="9148102802-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SearchResults2</span><span·class="p"·data-group-id="9148102802-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·790,·SHA:·5b7cab104defa098ee1247d4d8a55ac4ee7bfa142a9b3f5817784ac2b1b781f4·...·]-11">)</span><span·class="p">,</span><span·class="w">1799 </span><span·class="p"·data-group-id="8736258498-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SearchResults2</span><span·class="p"·data-group-id="8736258498-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·790,·SHA:·fa70ffeab9e6e8618608e9475a7c08c94d1f8b499fa2efc2ab22a90654117f4b·...·]-11">)</span><span·class="p">,</span><span·class="w">
1800 </span><span·class="c1">%%·etc</span></code></pre>1800 </span><span·class="c1">%%·etc</span></code></pre>
1801 ··</section>1801 ··</section>
1802 </section>1802 </section>
1803 <section·class="detail"·id="paged_result_cookie/1">1803 <section·class="detail"·id="paged_result_cookie/1">
  
1804 ··<div·class="detail-header">1804 ··<div·class="detail-header">
1805 ····<a·href="#paged_result_cookie/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1805 ····<a·href="#paged_result_cookie/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1908, 16 lines modifiedOffset 1908, 16 lines modified
1908 ····················Refs·::·{referral,·<a·href="#t:referrals/0">referrals</a>()},1908 ····················Refs·::·{referral,·<a·href="#t:referrals/0">referrals</a>()},
1909 ····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>1909 ····················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1910 ······</div>1910 ······</div>
  
1911 <p>Search·the·directory·with·the·supplied·the·SearchOptions.</p><p>The·base·and·filter1911 <p>Search·the·directory·with·the·supplied·the·SearchOptions.</p><p>The·base·and·filter
1912 options·must·be·supplied.·Default·values:·scope·is·<a·href="#wholeSubtree/0"><code·class="inline">wholeSubtree/0</code></a>,·deref·is1912 options·must·be·supplied.·Default·values:·scope·is·<a·href="#wholeSubtree/0"><code·class="inline">wholeSubtree/0</code></a>,·deref·is
1913 <a·href="#derefAlways/0"><code·class="inline">derefAlways/0</code></a>,·types_only·is·<code·class="inline">false</code>·and·timeout·is·<code·class="inline">0</code>·(meaning·infinity).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="n">Filter</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">substrings</span><span·class="p"·data-group-id="5226130851-1">(</span><span·class="s">&quot;cn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5226130851-2">[</span><span·class="p"·data-group-id="5226130851-3">{</span><span·class="ss">any</span><span·class="p">[·...·truncated·by·diffoscope;·len:·191,·SHA:·c2ae1495035e37eeedb3204a90d1c41594b63bacdf6389a62066e8da3d442f61·...·]-1">)</span><span·class="p">,</span><span·class="w">1913 <a·href="#derefAlways/0"><code·class="inline">derefAlways/0</code></a>,·types_only·is·<code·class="inline">false</code>·and·timeout·is·<code·class="inline">0</code>·(meaning·infinity).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="n">Filter</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">eldap</span><span·class="p">:</span><span·class="nf">substrings</span><span·class="p"·data-group-id="9009155997-1">(</span><span·class="s">&quot;cn&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9009155997-2">[</span><span·class="p"·data-group-id="9009155997-3">{</span><span·class="ss">any</span><span·class="p">[·...·truncated·by·diffoscope;·len:·191,·SHA:·95f772548eacb73a1d9b47267b5b4f2d4d04bc9556f0551a040ea9c0aba352f7·...·]-1">)</span><span·class="p">,</span><span·class="w">
1914 ··</span><span·class="nf">search</span><span·class="p"·data-group-id="5226130851-4">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5226130851-5">[</span><span·class="p"·data-group-id="5226130851-6">{</span><span·class="ss">base</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·865,·SHA:·48b8bffd92f41ada310b2f2ee0cb24e832ed430e684dadcc3c22407e481f57bd·...·]-4">)</span><span·class="p">,</span></code></pre><p>The·<code·class="inline">timeout</code>·option·in·the·<code·class="inline">SearchOptions</code>·is·for·the·ldap·server,·while·the1914 ··</span><span·class="nf">search</span><span·class="p"·data-group-id="9009155997-4">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9009155997-5">[</span><span·class="p"·data-group-id="9009155997-6">{</span><span·class="ss">base</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·865,·SHA:·af14b7213e78abad2e9c1f292ba5072c4bda8ebfdda09de1651ec0e9d584fa60·...·]-4">)</span><span·class="p">,</span></code></pre><p>The·<code·class="inline">timeout</code>·option·in·the·<code·class="inline">SearchOptions</code>·is·for·the·ldap·server,·while·the
1915 timeout·in·<a·href="#open/2">eldap:open/2</a>·is·used·for·each·individual·request·in·the1915 timeout·in·<a·href="#open/2">eldap:open/2</a>·is·used·for·each·individual·request·in·the
1916 search·operation.</p>1916 search·operation.</p>
1917 ··</section>1917 ··</section>
1918 </section>1918 </section>
1919 <section·class="detail"·id="simple_bind/3">1919 <section·class="detail"·id="simple_bind/3">
  
1920 ··<div·class="detail-header">1920 ··<div·class="detail-header">
Offset 2137, 15 lines modifiedOffset 2137, 15 lines modified
2137 ······<p·class="built-using">2137 ······<p·class="built-using">
2138 ········Built·using2138 ········Built·using
2139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2141 ······</p>2141 ······</p>
2142 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2142 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2143 ····</footer>2143 ····</footer>
2144 ··</div>2144 ··</div>
2145 </main>2145 </main>
2146 </div>2146 </div>
2147 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2147 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2148 ··<script>2148 ··<script>
2149 ··let·initialized·=·false;2149 ··let·initialized·=·false;
587 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/notes.html
    
Offset 529, 15 lines modifiedOffset 529, 15 lines modified
529 ······<p·class="built-using">529 ······<p·class="built-using">
530 ········Built·using530 ········Built·using
531 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the531 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
532 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>532 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
533 ······</p>533 ······</p>
534 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>534 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
535 ····</footer>535 ····</footer>
536 ··</div>536 ··</div>
537 </main>537 </main>
538 </div>538 </div>
539 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>539 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
540 ··<script>540 ··<script>
541 ··let·initialized·=·false;541 ··let·initialized·=·false;
575 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/eldap-1.2.15/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
463 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/404.html
    
Offset 131, 15 lines modifiedOffset 131, 15 lines modified
131 ······<p·class="built-using">131 ······<p·class="built-using">
132 ········Built·using132 ········Built·using
133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
135 ······</p>135 ······</p>
136 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>136 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
137 ····</footer>137 ····</footer>
138 ··</div>138 ··</div>
139 </main>139 </main>
140 </div>140 </div>
141 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>141 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
142 ··<script>142 ··<script>
143 ··let·initialized·=·false;143 ··let·initialized·=·false;
670 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/ei.html
    
Offset 1023, 15 lines modifiedOffset 1023, 15 lines modified
1023 ······<p·class="built-using">1023 ······<p·class="built-using">
1024 ········Built·using1024 ········Built·using
1025 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1025 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1026 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1026 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1027 ······</p>1027 ······</p>
1028 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1028 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1029 ····</footer>1029 ····</footer>
1030 ··</div>1030 ··</div>
1031 </main>1031 </main>
1032 </div>1032 </div>
1033 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1033 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1034 ··<script>1034 ··<script>
1035 ··let·initialized·=·false;1035 ··let·initialized·=·false;
638 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/ei_connect.html
    
Offset 871, 15 lines modifiedOffset 871, 15 lines modified
871 ······<p·class="built-using">871 ······<p·class="built-using">
872 ········Built·using872 ········Built·using
873 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the873 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
874 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>874 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
875 ······</p>875 ······</p>
876 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>876 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
877 ····</footer>877 ····</footer>
878 ··</div>878 ··</div>
879 </main>879 </main>
880 </div>880 </div>
881 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>881 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
882 ··<script>882 ··<script>
883 ··let·initialized·=·false;883 ··let·initialized·=·false;
688 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/ei_global.html
    
Offset 200, 15 lines modifiedOffset 200, 15 lines modified
200 ······<p·class="built-using">200 ······<p·class="built-using">
201 ········Built·using201 ········Built·using
202 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the202 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
203 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>203 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
204 ······</p>204 ······</p>
205 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>205 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
206 ····</footer>206 ····</footer>
207 ··</div>207 ··</div>
208 </main>208 </main>
209 </div>209 </div>
210 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>210 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
211 ··<script>211 ··<script>
212 ··let·initialized·=·false;212 ··let·initialized·=·false;
685 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/ei_users_guide.html
    
Offset 425, 15 lines modifiedOffset 425, 15 lines modified
425 ······<p·class="built-using">425 ······<p·class="built-using">
426 ········Built·using426 ········Built·using
427 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the427 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
428 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>428 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
429 ······</p>429 ······</p>
430 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>430 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
431 ····</footer>431 ····</footer>
432 ··</div>432 ··</div>
433 </main>433 </main>
434 </div>434 </div>
435 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>435 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
436 ··<script>436 ··<script>
437 ··let·initialized·=·false;437 ··let·initialized·=·false;
688 B
html2text {}
Max HTML report size reached
6.01 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/erl_call_cmd.html
    
Offset 247, 16 lines modifiedOffset 247, 16 lines modified
247 ·{&lt;madonna@chivas.du.etx.ericsson.se,17,0&gt;,247 ·{&lt;madonna@chivas.du.etx.ericsson.se,17,0&gt;,
248 ··················{registered_name,code_server}},248 ··················{registered_name,code_server}},
249 ·{&lt;madonna@chivas.du.etx.ericsson.se,20,0&gt;,249 ·{&lt;madonna@chivas.du.etx.ericsson.se,20,0&gt;,
250 ··················{registered_name,user}},250 ··················{registered_name,user}},
251 ·{&lt;madonna@chivas.du.etx.ericsson.se,38,0&gt;,251 ·{&lt;madonna@chivas.du.etx.ericsson.se,38,0&gt;,
252 ··················[]}]</code></pre><p>To·forward·standard·output·without·printing·the·result·term·(<em>again,·the·input252 ··················[]}]</code></pre><p>To·forward·standard·output·without·printing·the·result·term·(<em>again,·the·input
253 ends·with·EOF·(Control-D)</em>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">erl_call</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">s</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">e</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">sname</span><span·class="w">·</span><span·class="ss">madonna</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">fetch_stdout</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">no_result_term</span><span·class="w">253 ends·with·EOF·(Control-D)</em>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">erl_call</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">s</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">e</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">sname</span><span·class="w">·</span><span·class="ss">madonna</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">fetch_stdout</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">no_result_term</span><span·class="w">
254 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4331622713-1">(</span><span·class="s">&quot;Number·of·schedulers:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4331622713-2">[</span><[·...·truncated·by·diffoscope;·len:·322,·SHA:·3c2ac5adfbcfe506863a67d05a8e6073cf01cf8db595bb46dd9da5b869a965fa·...·]-1">)</span><span·class="p">,</span><span·class="w">254 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3915452289-1">(</span><span·class="s">&quot;Number·of·schedulers:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3915452289-2">[</span><[·...·truncated·by·diffoscope;·len:·322,·SHA:·1ef4cf83b4adbd4dc6a73959c27082bb68c24ef73f323cf5859ad530fa9b3ce7·...·]-1">)</span><span·class="p">,</span><span·class="w">
255 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4331622713-4">(</span><span·class="s">&quot;Number·of·logical·cores:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4331622713-5">[</spa[·...·truncated·by·diffoscope;·len:·343,·SHA:·a73e7c8cf62442370d6024224a3d277627203d3c92b56d493f4914562d73c027·...·]-4">)</span><span·class="p">.</span><span·class="w">255 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3915452289-4">(</span><span·class="s">&quot;Number·of·logical·cores:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3915452289-5">[</spa[·...·truncated·by·diffoscope;·len:·343,·SHA:·5a26b5b2a1c9f4a94dde5a025926a610d893d5e058f78d1e164a5325823a5019·...·]-4">)</span><span·class="p">.</span><span·class="w">
256 </span><span·class="err">^</span><span·class="n">D</span><span·class="w">256 </span><span·class="err">^</span><span·class="n">D</span><span·class="w">
257 </span><span·class="n">Number</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="nc">schedulers</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">8</span><span·class="w">257 </span><span·class="n">Number</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="nc">schedulers</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">8</span><span·class="w">
258 </span><span·class="n">Number</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="ss">logical</span><span·class="w">·</span><span·class="nc">cores</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">8</span></code></pre>258 </span><span·class="n">Number</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="ss">logical</span><span·class="w">·</span><span·class="nc">cores</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">8</span></code></pre>
259 </div>259 </div>
  
260 <div·class="bottom-actions"·id="bottom-actions">260 <div·class="bottom-actions"·id="bottom-actions">
261 ··<div·class="bottom-actions-item">261 ··<div·class="bottom-actions-item">
Offset 302, 15 lines modifiedOffset 302, 15 lines modified
302 ······<p·class="built-using">302 ······<p·class="built-using">
303 ········Built·using303 ········Built·using
304 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the304 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
305 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>305 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
306 ······</p>306 ······</p>
307 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>307 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
308 ····</footer>308 ····</footer>
309 ··</div>309 ··</div>
310 </main>310 </main>
311 </div>311 </div>
312 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>312 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
313 ··<script>313 ··<script>
314 ··let·initialized·=·false;314 ··let·initialized·=·false;
596 B
html2text {}
Max HTML report size reached
83.6 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/erl_interface.epub
2.53 KB
zipinfo {}
Max HTML report size reached
74.8 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
4.57 KB
OEBPS/erl_call_cmd.xhtml
Max HTML report size reached
1.25 KB
OEBPS/content.opf
1.22 KB
OEBPS/content.opf
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/notes.html
    
Offset 1821, 15 lines modifiedOffset 1821, 15 lines modified
1821 ······<p·class="built-using">1821 ······<p·class="built-using">
1822 ········Built·using1822 ········Built·using
1823 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1823 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1824 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1824 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1825 ······</p>1825 ······</p>
1826 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1826 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1827 ····</footer>1827 ····</footer>
1828 ··</div>1828 ··</div>
1829 </main>1829 </main>
1830 </div>1830 </div>
1831 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1831 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1832 ··<script>1832 ··<script>
1833 ··let·initialized·=·false;1833 ··let·initialized·=·false;
711 B
html2text {}
Max HTML report size reached
1.31 KB
./usr/share/doc/erlang-doc/html/lib/erl_interface-5.6/doc/html/search.html
    
Offset 131, 15 lines modifiedOffset 131, 15 lines modified
131 ······<p·class="built-using">131 ······<p·class="built-using">
132 ········Built·using132 ········Built·using
133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the133 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>134 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
135 ······</p>135 ······</p>
136 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>136 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
137 ····</footer>137 ····</footer>
138 ··</div>138 ··</div>
139 </main>139 </main>
140 </div>140 </div>
141 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>141 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
142 ··<script>142 ··<script>
143 ··let·initialized·=·false;143 ··let·initialized·=·false;
494 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/api-reference.html
    
Offset 208, 15 lines modifiedOffset 208, 15 lines modified
208 ······<p·class="built-using">208 ······<p·class="built-using">
209 ········Built·using209 ········Built·using
210 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the210 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
211 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>211 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
212 ······</p>212 ······</p>
213 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>213 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
214 ····</footer>214 ····</footer>
215 ··</div>215 ··</div>
216 </main>216 </main>
217 </div>217 </div>
218 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>218 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
219 ··<script>219 ··<script>
220 ··let·initialized·=·false;220 ··let·initialized·=·false;
667 B
html2text {}
Max HTML report size reached
385 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/et.epub
4.8 KB
zipinfo {}
Max HTML report size reached
102 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:16:16,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:54:18,·uncompressed·size·20,·method=store
57.7 KB
OEBPS/et_tutorial.xhtml
Max HTML report size reached
172 KB
OEBPS/et_examples.xhtml
Max HTML report size reached
44.0 KB
OEBPS/et_desc.xhtml
Max HTML report size reached
3.87 KB
OEBPS/content.opf
3.83 KB
OEBPS/content.opf
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/et.html
    
Offset 536, 15 lines modifiedOffset 536, 15 lines modified
536 ······<p·class="built-using">536 ······<p·class="built-using">
537 ········Built·using537 ········Built·using
538 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the538 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
539 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>539 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
540 ······</p>540 ······</p>
541 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>541 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
542 ····</footer>542 ····</footer>
543 ··</div>543 ··</div>
544 </main>544 </main>
545 </div>545 </div>
546 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>546 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
547 ··<script>547 ··<script>
548 ··let·initialized·=·false;548 ··let·initialized·=·false;
702 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/et_collector.html
    
Offset 1473, 15 lines modifiedOffset 1473, 15 lines modified
1473 ······<p·class="built-using">1473 ······<p·class="built-using">
1474 ········Built·using1474 ········Built·using
1475 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1475 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1476 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1476 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1477 ······</p>1477 ······</p>
1478 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1478 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1479 ····</footer>1479 ····</footer>
1480 ··</div>1480 ··</div>
1481 </main>1481 </main>
1482 </div>1482 </div>
1483 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1483 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1484 ··<script>1484 ··<script>
1485 ··let·initialized·=·false;1485 ··let·initialized·=·false;
683 B
html2text {}
Max HTML report size reached
45.5 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/et_desc.html
    
Offset 134, 41 lines modifiedOffset 134, 41 lines modified
134 <p>The·two·major·components·of·the·<code·class="inline">Event·Tracer·(ET)</code>·tool·is·a·graphical·sequence134 <p>The·two·major·components·of·the·<code·class="inline">Event·Tracer·(ET)</code>·tool·is·a·graphical·sequence
135 chart·viewer·(<code·class="inline">et_viewer</code>)·and·its·backing·storage·(<code·class="inline">et_collector</code>).·One135 chart·viewer·(<code·class="inline">et_viewer</code>)·and·its·backing·storage·(<code·class="inline">et_collector</code>).·One
136 <code·class="inline">Collector</code>·may·be·used·as·backing·storage·for·several·simultaneous·<code·class="inline">Viewers</code>136 <code·class="inline">Collector</code>·may·be·used·as·backing·storage·for·several·simultaneous·<code·class="inline">Viewers</code>
137 where·each·one·may·display·a·different·view·of·the·same·trace·data.</p><p>The·interface·between·the·<code·class="inline">Collector</code>·and·its·<code·class="inline">Viewers</code>·is·public·in·order·to137 where·each·one·may·display·a·different·view·of·the·same·trace·data.</p><p>The·interface·between·the·<code·class="inline">Collector</code>·and·its·<code·class="inline">Viewers</code>·is·public·in·order·to
138 enable·other·types·of·<code·class="inline">Viewers</code>.·However·in·the·following·text·we·will·focus·on138 enable·other·types·of·<code·class="inline">Viewers</code>.·However·in·the·following·text·we·will·focus·on
139 usage·of·the·<code·class="inline">et_viewer</code>.</p><p>The·main·start·function·is·<a·href="et_viewer.html#start/1"><code·class="inline">et_viewer:start/1</code></a>.·By·default·it·will·start·both·an139 usage·of·the·<code·class="inline">et_viewer</code>.</p><p>The·main·start·function·is·<a·href="et_viewer.html#start/1"><code·class="inline">et_viewer:start/1</code></a>.·By·default·it·will·start·both·an
140 <code·class="inline">et_collector</code>·and·an·<code·class="inline">et_viewer</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-pa·et/examples</span><span·class="w">140 <code·class="inline">et_collector</code>·and·an·<code·class="inline">et_viewer</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·erl·-pa·et/examples</span><span·class="w">
141 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R13B03</span><span·class="w">·</span><span·class="p"·data-group-id="3578610129-1">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.7</span><span·class="p">.</span><span·class="mi">4</span><span·class="p"·data-group-id="3578610129-1">)</span><span·class="w">·</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·1129,·SHA:·60247179b76bb9fb452735c8850df670793e8f0d8a37f367c0c2ebaff946462f·...·]-6">]</span><span·class="w">141 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R13B03</span><span·class="w">·</span><span·class="p"·data-group-id="3715140843-1">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.7</span><span·class="p">.</span><span·class="mi">4</span><span·class="p"·data-group-id="3715140843-1">)</span><span·class="w">·</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·1129,·SHA:·6a52486d7d3e81e83ca7848191de17db1addf66aa34bea9d9bc327b387a70ec1·...·]-6">]</span><span·class="w">
  
142 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">7.4</span><span·class="w">··</span><span·class="p"·data-group-id="3578610129-7">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="3578610129-7">)</span><span·class="gp·unselectable">142 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">7.4</span><span·class="w">··</span><span·class="p"·data-group-id="3715140843-7">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="3715140843-7">)</span><span·class="gp·unselectable">
143 1&gt;·</span><span·class="p"·data-group-id="3578610129-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Viewer</span><span·class="p"·data-group-id="3578610129-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·281,·SHA:·33d6b7a588b339710aef7f1d668435b598542fd7927e71d1659e4fae2280cea8·...·]-9">)</span><span·class="p">.</span><span·class="w">143 1&gt;·</span><span·class="p"·data-group-id="3715140843-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Viewer</span><span·class="p"·data-group-id="3715140843-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·281,·SHA:·c6a4e122de067c91ed2f2674c438e08d268e68157fdd7ee6aedeb3cb1589d65f·...·]-9">)</span><span·class="p">.</span><span·class="w">
144 </span><span·class="p"·data-group-id="3578610129-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.40</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="3578610129-11">}</span></code></pre><p>A·<code·class="inline">Viewer</code>·gets·trace·<code·class="inline">Events</code>·from·its·<code·class="inline">Collector</code>·by·polling·it·regularly·for144 </span><span·class="p"·data-group-id="3715140843-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.40</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="3715140843-11">}</span></code></pre><p>A·<code·class="inline">Viewer</code>·gets·trace·<code·class="inline">Events</code>·from·its·<code·class="inline">Collector</code>·by·polling·it·regularly·for
145 more·<code·class="inline">Events</code>·to·display.·<code·class="inline">Events</code>·are·for·example·reported·to·the·<code·class="inline">Collector</code>145 more·<code·class="inline">Events</code>·to·display.·<code·class="inline">Events</code>·are·for·example·reported·to·the·<code·class="inline">Collector</code>
146 with·<a·href="et_collector.html#report_event/6"><code·class="inline">et_collector:report_event/6</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="n">Collector</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">et_viewer</span><span·class="p">:</span><span·class="nf">get_collector_pid</span><span·class="p"·data-group-id="7269021467-1">(</span><span·class="n">Viewer</span><span·class="p"·data-group-id="7269021467-1">)</span><span·class="p">.</span><span·class="w">146 with·<a·href="et_collector.html#report_event/6"><code·class="inline">et_collector:report_event/6</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="n">Collector</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">et_viewer</span><span·class="p">:</span><span·class="nf">get_collector_pid</span><span·class="p"·data-group-id="2353353194-1">(</span><span·class="n">Viewer</span><span·class="p"·data-group-id="2353353194-1">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="o">&lt;</span><span·class="mf">0.39</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">147 </span><span·class="o">&lt;</span><span·class="mf">0.39</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">
148 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="7269021467-2">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">60</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_tm</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_outer</span><span·class="p">,</span><span·class="gp·unselectable">148 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2353353194-2">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">60</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_tm</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start_outer</span><span·class="p">,</span><span·class="gp·unselectable">
149 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;Start·outer·transaction&quot;</span><span·class="p"·data-group-id="7269021467-2">)</span><span·class="p">,</span><span·class="gp·unselectable">149 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;Start·outer·transaction&quot;</span><span·class="p"·data-group-id="2353353194-2">)</span><span·class="p">,</span><span·class="gp·unselectable">
150 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="7269021467-3">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">40</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_tm</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">new_tid</span><span·class="p">,</span><span·class="gp·unselectable">150 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2353353194-3">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">40</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_tm</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">new_tid</span><span·class="p">,</span><span·class="gp·unselectable">
151 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;New·transaction·id·is·4711&quot;</span><span·class="p"·data-group-id="7269021467-3">)</span><span·class="p">,</span><span·class="gp·unselectable">151 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;New·transaction·id·is·4711&quot;</span><span·class="p"·data-group-id="2353353194-3">)</span><span·class="p">,</span><span·class="gp·unselectable">
152 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="7269021467-4">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">20</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_locker</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">try_write_lock</span><span·class="p">,</span><span·class="gp·unselectable">152 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2353353194-4">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">20</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_locker</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">try_write_lock</span><span·class="p">,</span><span·class="gp·unselectable">
153 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;Acquire·write·lock·for·{my_tab,·key}&quot;</span><span·class="p"·data-group-id="7269021467-4">)</span><span·class="p">,</span><span·class="gp·unselectable">153 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;Acquire·write·lock·for·{my_tab,·key}&quot;</span><span·class="p"·data-group-id="2353353194-4">)</span><span·class="p">,</span><span·class="gp·unselectable">
154 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="7269021467-5">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">10</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_locker</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">granted</span><span·class="p">,</span><span·class="gp·unselectable">154 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2353353194-5">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">10</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_locker</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">granted</span><span·class="p">,</span><span·class="gp·unselectable">
155 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;You·got·the·write·lock·for·{my_tab,·key}&quot;</span><span·class="p"·data-group-id="7269021467-5">)</span><span·class="p">,</span><span·class="gp·unselectable">155 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;You·got·the·write·lock·for·{my_tab,·key}&quot;</span><span·class="p"·data-group-id="2353353194-5">)</span><span·class="p">,</span><span·class="gp·unselectable">
156 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="7269021467-6">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">60</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">do_commit</span><span·class="p">,</span><span·class="gp·unselectable">156 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2353353194-6">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">60</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">do_commit</span><span·class="p">,</span><span·class="gp·unselectable">
157 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;Perform··transaction·commit&quot;</span><span·class="p"·data-group-id="7269021467-6">)</span><span·class="p">,</span><span·class="gp·unselectable">157 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;Perform··transaction·commit&quot;</span><span·class="p"·data-group-id="2353353194-6">)</span><span·class="p">,</span><span·class="gp·unselectable">
158 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="7269021467-7">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">40</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_locker</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">release_tid</span><span·class="p">,</span><span·class="gp·unselectable">158 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2353353194-7">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">40</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_locker</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">release_tid</span><span·class="p">,</span><span·class="gp·unselectable">
159 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;Release·all·locks·for·transaction·4711&quot;</span><span·class="p"·data-group-id="7269021467-7">)</span><span·class="p">,</span><span·class="gp·unselectable">159 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;Release·all·locks·for·transaction·4711&quot;</span><span·class="p"·data-group-id="2353353194-7">)</span><span·class="p">,</span><span·class="gp·unselectable">
160 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="7269021467-8">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">60</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_tm</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">delete_transaction</span><span·class="p">,</span><span·class="gp·unselectable">160 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2353353194-8">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">60</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_tm</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">delete_transaction</span><span·class="p">,</span><span·class="gp·unselectable">
161 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;End·of·outer·transaction&quot;</span><span·class="p"·data-group-id="7269021467-8">)</span><span·class="p">,</span><span·class="gp·unselectable">161 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;End·of·outer·transaction&quot;</span><span·class="p"·data-group-id="2353353194-8">)</span><span·class="p">,</span><span·class="gp·unselectable">
162 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="7269021467-9">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">20</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">end_outer</span><span·class="p">,</span><span·class="gp·unselectable">162 3&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2353353194-9">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">20</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_shell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">end_outer</span><span·class="p">,</span><span·class="gp·unselectable">
163 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;Transaction·returned·{atomic,·ok}&quot;</span><span·class="p"·data-group-id="7269021467-9">)</span><span·class="p">.</span><span·class="w">163 3&gt;·</span><span·class="w">··························</span><span·class="s">&quot;Transaction·returned·{atomic,·ok}&quot;</span><span·class="p"·data-group-id="2353353194-9">)</span><span·class="p">.</span><span·class="w">
164 </span><span·class="p"·data-group-id="7269021467-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7269021467-11">{</span><span·class="ss">table_handle</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.39</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="mi">16402</span><span·class="p">,</span><span·class="ss">trace_ts</span><span·class="p">,</span><span·class="w">164 </span><span·class="p"·data-group-id="2353353194-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2353353194-11">{</span><span·class="ss">table_handle</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.39</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="mi">16402</span><span·class="p">,</span><span·class="ss">trace_ts</span><span·class="p">,</span><span·class="w">
165 ·····</span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">et_collector</span><span·class="p">.</span><span·class="mf">0.62831470</span><span·class="o">&gt;</span><span·class="p"·data-group-id="7269021467-11">}</span><span·class="p"·data-group-id="7269021467-10">}</span></code></pre><p>This·actually·is·a·simulation·of·the·process·<code·class="inline">Events</code>·caused·by·a·<code·class="inline">Mnesia</code>165 ·····</span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">et_collector</span><span·class="p">.</span><span·class="mf">0.62831470</span><span·class="o">&gt;</span><span·class="p"·data-group-id="2353353194-11">}</span><span·class="p"·data-group-id="2353353194-10">}</span></code></pre><p>This·actually·is·a·simulation·of·the·process·<code·class="inline">Events</code>·caused·by·a·<code·class="inline">Mnesia</code>
166 transaction·that·writes·a·record·in·a·local·table:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">transaction</span><span·class="p"·data-group-id="9952802918-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9952802918-2">(</span><span·class="p"·data-group-id="9952802918-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</s[·...·truncated·by·diffoscope;·len:·540,·SHA:·92926c71604ea97af1aa584b150a5d2804b8ac8cf23f599c844b89e3f5c39fb0·...·]-1">)</span><span·class="p">.</span></code></pre><p>At·this·stage·when·we·have·a·couple·of·<code·class="inline">Events</code>,·it·is·time·to·show·how·it·looks166 transaction·that·writes·a·record·in·a·local·table:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">transaction</span><span·class="p"·data-group-id="9028305014-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9028305014-2">(</span><span·class="p"·data-group-id="9028305014-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</s[·...·truncated·by·diffoscope;·len:·540,·SHA:·13a6d333fdb31247c0ebe65124c36476212f4763d78246d5db856567759723d5·...·]-1">)</span><span·class="p">.</span></code></pre><p>At·this·stage·when·we·have·a·couple·of·<code·class="inline">Events</code>,·it·is·time·to·show·how·it·looks
167 like·in·the·graphical·interface·of·<code·class="inline">et_viewer</code>:</p><p><img·src="assets/sim_trans.png"·alt="A·simulated·Mnesia·transaction·which·writes·one·record"·title="A·simulated·Mnesia·transaction·which·writes·one·record"/></p><p>In·the·sequence·chart,·the·actors·(which·symbolically·has·performed·the·<code·class="inline">Event</code>)167 like·in·the·graphical·interface·of·<code·class="inline">et_viewer</code>:</p><p><img·src="assets/sim_trans.png"·alt="A·simulated·Mnesia·transaction·which·writes·one·record"·title="A·simulated·Mnesia·transaction·which·writes·one·record"/></p><p>In·the·sequence·chart,·the·actors·(which·symbolically·has·performed·the·<code·class="inline">Event</code>)
168 are·shown·as·named·vertical·bars.·The·order·of·the·actors·may·be·altered·by168 are·shown·as·named·vertical·bars.·The·order·of·the·actors·may·be·altered·by
169 dragging·(hold·mouse·button·1·pressed·during·the·operation)·the·name·tag·of·an169 dragging·(hold·mouse·button·1·pressed·during·the·operation)·the·name·tag·of·an
170 actor·and·drop·it·elsewhere:</p><p><img·src="assets/sim_trans_move_actor.png"·alt="Two·actors·has·switched·places"·title="Two·actors·has·switched·places"/></p><p>An·<code·class="inline">Event</code>·may·be·an·action·performed·by·one·single·actor·(blue·text·label)·or170 actor·and·drop·it·elsewhere:</p><p><img·src="assets/sim_trans_move_actor.png"·alt="Two·actors·has·switched·places"·title="Two·actors·has·switched·places"/></p><p>An·<code·class="inline">Event</code>·may·be·an·action·performed·by·one·single·actor·(blue·text·label)·or
171 it·may·involve·two·actors·and·is·then·depicted·as·an·arrow·directed·from·one171 it·may·involve·two·actors·and·is·then·depicted·as·an·arrow·directed·from·one
172 actor·to·another·(red·text·label).·Details·of·an·<code·class="inline">Event</code>·can·be·shown·by172 actor·to·another·(red·text·label).·Details·of·an·<code·class="inline">Event</code>·can·be·shown·by
173 clicking·(press·and·release·the·mouse·button·1)·on·the·event·label·text·or·on173 clicking·(press·and·release·the·mouse·button·1)·on·the·event·label·text·or·on
Offset 177, 19 lines modifiedOffset 177, 19 lines modified
177 ··<a·href="#filters-and-dictionary"·class="hover-link">177 ··<a·href="#filters-and-dictionary"·class="hover-link">
178 ····<i·class="ri-link-m"·aria-hidden="true"></i>178 ····<i·class="ri-link-m"·aria-hidden="true"></i>
179 ··</a>179 ··</a>
180 ··<span·class="text">Filters·and·dictionary</span>180 ··<span·class="text">Filters·and·dictionary</span>
181 </h2>181 </h2>
182 <p>The·<code·class="inline">Event·Tracer·(ET)</code>·uses·named·filters·in·various·contexts.·An·Event·Trace182 <p>The·<code·class="inline">Event·Tracer·(ET)</code>·uses·named·filters·in·various·contexts.·An·Event·Trace
183 filter·is·an·<code·class="inline">Erlang·fun</code>·that·takes·some·trace·data·as·input·and·returns·a183 filter·is·an·<code·class="inline">Erlang·fun</code>·that·takes·some·trace·data·as·input·and·returns·a
184 possibly·modified·version·of·it:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">filter</span><span·class="p"·data-group-id="6308638428-1">(</span><span·class="n">TraceData</span><span·class="p"·data-group-id="6308638428-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">|</s[·...·truncated·by·diffoscope;·len:·329,·SHA:·d821688879930788e37876e9c369a5b240b9a800806c61da679a8fbfb779dc29·...·]-2">}</span><span·class="w">184 possibly·modified·version·of·it:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">filter</span><span·class="p"·data-group-id="2726433247-1">(</span><span·class="n">TraceData</span><span·class="p"·data-group-id="2726433247-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">|</s[·...·truncated·by·diffoscope;·len:·329,·SHA:·e732989a9f6f113c4490e008b2886c9d5784b11de20f60436c4ca41eafc5d047·...·]-2">}</span><span·class="w">
  
185 </span><span·class="n">TraceData</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Event</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">erlang_trace_data</span><span·class="p"·data-group-id="6308638428-3">(</span><span·class="p"·data-group-id="6308638428-3">)</span><span·class="w">185 </span><span·class="n">TraceData</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Event</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">erlang_trace_data</span><span·class="p"·data-group-id="2726433247-3">(</span><span·class="p"·data-group-id="2726433247-3">)</span><span·class="w">
186 </span><span·class="n">Event</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">event</span><span·class="p"·data-group-id="6308638428-4">{</span><span·class="p"·data-group-id="6308638428-4">}</span><span·class="w">186 </span><span·class="n">Event</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">event</span><span·class="p"·data-group-id="2726433247-4">{</span><span·class="p"·data-group-id="2726433247-4">}</span><span·class="w">
187 </span><span·class="n">NewEvent</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">event</span><span·class="p"·data-group-id="6308638428-5">{</span><span·class="p"·data-group-id="6308638428-5">}</span></code></pre><p>The·interface·of·the·filter·function·is·the·same·as·the·the·filter·functions·for187 </span><span·class="n">NewEvent</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">event</span><span·class="p"·data-group-id="2726433247-5">{</span><span·class="p"·data-group-id="2726433247-5">}</span></code></pre><p>The·interface·of·the·filter·function·is·the·same·as·the·the·filter·functions·for
188 the·good·old·<a·href="../../../../lib/stdlib-7.0/doc/html/lists.html#filtermap/2"><code·class="inline">lists:filtermap/2</code></a>.·If·the·filter·returns·<code·class="inline">false</code>·it·means·that188 the·good·old·<a·href="../../../../lib/stdlib-7.0/doc/html/lists.html#filtermap/2"><code·class="inline">lists:filtermap/2</code></a>.·If·the·filter·returns·<code·class="inline">false</code>·it·means·that
189 the·trace·data·should·silently·be·dropped.·<code·class="inline">true</code>·means·that·the·trace·data·data189 the·trace·data·should·silently·be·dropped.·<code·class="inline">true</code>·means·that·the·trace·data·data
190 already·is·an·<code·class="inline">Event·Record</code>·and·that·it·should·be·kept·as·it·is.·<code·class="inline">true</code>·means190 already·is·an·<code·class="inline">Event·Record</code>·and·that·it·should·be·kept·as·it·is.·<code·class="inline">true</code>·means
191 that·the·<code·class="inline">TraceData</code>·already·is·an·<code·class="inline">Event·Record</code>·and·that·it·should·be·kept·as191 that·the·<code·class="inline">TraceData</code>·already·is·an·<code·class="inline">Event·Record</code>·and·that·it·should·be·kept·as
192 it·is.·<code·class="inline">{true,·NewEvent}</code>·means·that·the·original·trace·data·should·be·replaced192 it·is.·<code·class="inline">{true,·NewEvent}</code>·means·that·the·original·trace·data·should·be·replaced
193 with·<code·class="inline">Event</code>.·This·provides·means·to·get·rid·of·unwanted·<code·class="inline">Events</code>·as·well·as193 with·<code·class="inline">Event</code>.·This·provides·means·to·get·rid·of·unwanted·<code·class="inline">Events</code>·as·well·as
194 enabling·alternate·views·of·an·<code·class="inline">Event</code>.</p><p>The·first·filter·that·the·trace·data·is·exposed·for·is·the·<code·class="inline">Collector·Filter</code>.194 enabling·alternate·views·of·an·<code·class="inline">Event</code>.</p><p>The·first·filter·that·the·trace·data·is·exposed·for·is·the·<code·class="inline">Collector·Filter</code>.
Offset 208, 29 lines modifiedOffset 208, 29 lines modified
208 When·a·<code·class="inline">Viewer</code>·is·started·it·is·registered·as·a·subscriber·of·dictionary208 When·a·<code·class="inline">Viewer</code>·is·started·it·is·registered·as·a·subscriber·of·dictionary
209 updates.</p><p>In·each·<code·class="inline">Viewer</code>·there·is·only·one·filter·that·is·active·and·all·trace·<code·class="inline">Events</code>209 updates.</p><p>In·each·<code·class="inline">Viewer</code>·there·is·only·one·filter·that·is·active·and·all·trace·<code·class="inline">Events</code>
210 that·the·<code·class="inline">Viewer</code>·gets·from·the·<code·class="inline">Collector</code>·will·pass·thru·that·filter.·By210 that·the·<code·class="inline">Viewer</code>·gets·from·the·<code·class="inline">Collector</code>·will·pass·thru·that·filter.·By
211 writing·clever·filters·it·is·possible·to·customize·how·the·<code·class="inline">Events</code>·looks·like211 writing·clever·filters·it·is·possible·to·customize·how·the·<code·class="inline">Events</code>·looks·like
212 in·the·viewer.·The·following·filter·in·<code·class="inline">et/examples/et_demo.erl</code>·replaces·the212 in·the·viewer.·The·following·filter·in·<code·class="inline">et/examples/et_demo.erl</code>·replaces·the
213 actor·names·<code·class="inline">mnesia_tm</code>·and·<code·class="inline">mnesia_locker</code>·and·leaves·everything·else·in·the213 actor·names·<code·class="inline">mnesia_tm</code>·and·<code·class="inline">mnesia_locker</code>·and·leaves·everything·else·in·the
214 record·as·it·was:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">214 record·as·it·was:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">
215 </span><span·class="nf">mgr_actors</span><span·class="p"·data-group-id="9140478389-1">(</span><span·class="n">E</span><span·class="p"·data-group-id="9140478389-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_record</span><span·class="p"·data-group-id="9140478389-2">(</s[·...·truncated·by·diffoscope;·len:·146,·SHA:·3a9b2193d04d0ef28e358cbc4a19471c5c7f8337b63a68f3b2ea35330fb6f30b·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">215 </span><span·class="nf">mgr_actors</span><span·class="p"·data-group-id="8923300611-1">(</span><span·class="n">E</span><span·class="p"·data-group-id="8923300611-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_record</span><span·class="p"·data-group-id="8923300611-2">(</s[·...·truncated·by·diffoscope;·len:·146,·SHA:·dd0edece1d1392cd75b7bf755db11b50b3c7f19dfe1fbc70c278e4fec7b5a800·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
216 ····</span><span·class="n">Actor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="9140478389-3">(</span><span·class="n">A</span><span·class="p"·data-group-id="9140478389-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">216 ····</span><span·class="n">Actor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="8923300611-3">(</span><span·class="n">A</span><span·class="p"·data-group-id="8923300611-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
217 ···············</span><span·class="k">case</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="k">of</span><span·class="w">217 ···············</span><span·class="k">case</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
218 ···················</span><span·class="ss">mnesia_tm</span><span·class="w">·····</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">trans_mgr</span><span·class="p">;</span><span·class="w">218 ···················</span><span·class="ss">mnesia_tm</span><span·class="w">·····</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">trans_mgr</span><span·class="p">;</span><span·class="w">
219 ···················</span><span·class="ss">mnesia_locker</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">lock_mgr</span><span·class="p">;</span><span·class="w">219 ···················</span><span·class="ss">mnesia_locker</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">lock_mgr</span><span·class="p">;</span><span·class="w">
220 ···················</span><span·class="p">_</span><span·class="w">·············</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="w">220 ···················</span><span·class="p">_</span><span·class="w">·············</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="w">
221 ···············</span><span·class="k">end</span><span·class="w">221 ···············</span><span·class="k">end</span><span·class="w">
222 ············</span><span·class="k">end</span><span·class="p">,</span><span·class="w">222 ············</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
223 ····</span><span·class="p"·data-group-id="9140478389-4">{</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p"·data-group-id="9140478389-5">{</span><span·class="ss">from</span>[·...·truncated·by·diffoscope;·len:·323,·SHA:·ba2e9d2294ef9f0bf56ea547f1e5ae212941dd646ca82e15c7dcc9c7ff872e72·...·]-6">)</span><span·class="p">,</span><span·class="w">223 ····</span><span·class="p"·data-group-id="8923300611-4">{</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p"·data-group-id="8923300611-5">{</span><span·class="ss">from</span>[·...·truncated·by·diffoscope;·len:·323,·SHA:·0d520072763c26709f9880bf6dd7ca41e37bbecde4c565fc319178c7825ba4e5·...·]-6">)</span><span·class="p">,</span><span·class="w">
224 ···················</span><span·class="ss">to</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Actor</span><span·class="p"·data-group-id="9140478389-7">(</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span><span·class="ss">to</span><span·class="p"·data-group-id="9140478389-7">)</span><span·class="p">,</span><span·class="w">224 ···················</span><span·class="ss">to</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Actor</span><span·class="p"·data-group-id="8923300611-7">(</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span><span·class="ss">to</span><span·class="p"·data-group-id="8923300611-7">)</span><span·class="p">,</span><span·class="w">
225 ···················</span><span·class="ss">contents</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9140478389-8">[</span><span·class="p"·data-group-id="9140478389-9">{</span><span·class="ss">orig_from</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span[·...·truncated·by·diffoscope;·len:·70,·SHA:·f3de2b3daa554b91b97d09c676a17c622bc03f46e0819211a989fb4901365174·...·]-9">}</span><span·class="p">,</span><span·class="w">225 ···················</span><span·class="ss">contents</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8923300611-8">[</span><span·class="p"·data-group-id="8923300611-9">{</span><span·class="ss">orig_from</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span[·...·truncated·by·diffoscope;·len:·70,·SHA:·bb30e8de97fd019c83bf66cf89a905b3b45aa98445abb4e2e52166029072b0af·...·]-9">}</span><span·class="p">,</span><span·class="w">
226 ·······························</span><span·class="p"·data-group-id="9140478389-10">{</span><span·class="ss">orig_to</span><span·class="p">,</span><span·class="w">···</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span><span·class="ss">to</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·5be66965eaecb386668bff06a34242bc6019409bb51592d1495cece852e8c499·...·]-10">}</span><span·class="p">,</span><span·class="w">226 ·······························</span><span·class="p"·data-group-id="8923300611-10">{</span><span·class="ss">orig_to</span><span·class="p">,</span><span·class="w">···</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span><span·class="ss">to</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·f3d380b0ddcf7967e841a8898f23e9bb3ade7b9165dc6987bb359d75669e2241·...·]-10">}</span><span·class="p">,</span><span·class="w">
227 ·······························</span><span·class="p"·data-group-id="9140478389-11">{</span><span·class="ss">orig_contents</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span><span·class="ss">contents</span><span·class="p"[·...·truncated·by·diffoscope;·len:·949,·SHA:·1dd048fe70a8c900bbfaa7dbf8a1298ebccc466c30806a0fb77c500ed90dbf6b·...·]-2">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">227 ·······························</span><span·class="p"·data-group-id="8923300611-11">{</span><span·class="ss">orig_contents</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">event</span><span·class="p">.</span><span·class="ss">contents</span><span·class="p"[·...·truncated·by·diffoscope;·len:·949,·SHA:·0885ec5cddce94d5e6fdee079c10258cbc10b9858ff2d8b1ccca141a4b85d975·...·]-2">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
228 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="p">.</span><span·class="mf">6.13229925</span><span·class="o">&gt;</span><span·class="gp·unselectable">228 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="p">.</span><span·class="mf">6.13229925</span><span·class="o">&gt;</span><span·class="gp·unselectable">
229 5&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">dict_insert</span><span·class="p"·data-group-id="8760313724-3">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8760313724-4">{</span><span·class="ss">filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mgr_ac[·...·truncated·by·diffoscope;·len:·179,·SHA:·4ba3087c50f62598aa525b3224b784aeb8600f5ba26f7d2eb9258a744fc96a83·...·]-3">)</span><span·class="p">.</span><span·class="w">229 5&gt;·</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">dict_insert</span><span·class="p"·data-group-id="1866820580-3">(</span><span·class="n">Collector</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1866820580-4">{</span><span·class="ss">filter</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mgr_ac[·...·truncated·by·diffoscope;·len:·179,·SHA:·593f576bc62721c3bf822a0313e439649b2dfe100674d4e7357ebecf4352eefc·...·]-3">)</span><span·class="p">.</span><span·class="w">
230 </span><span·class="ss">ok</span></code></pre><p>you·will·see·that·the·<code·class="inline">Filter</code>·menu·in·all·viewers·have·got·a·new·entry·called230 </span><span·class="ss">ok</span></code></pre><p>you·will·see·that·the·<code·class="inline">Filter</code>·menu·in·all·viewers·have·got·a·new·entry·called
231 <code·class="inline">mgr_actors</code>.·Select·it,·and·a·new·<code·class="inline">Viewer</code>·window·will·pop·up:</p><p><img·src="assets/sim_trans_mgr_actors.png"·alt="The·same·trace·data·in·a·different·view"·title="The·same·trace·data·in·a·different·view"/></p><p>In·order·to·see·the·nitty·gritty·details·of·an·<code·class="inline">Event</code>·you·may·click·on·the231 <code·class="inline">mgr_actors</code>.·Select·it,·and·a·new·<code·class="inline">Viewer</code>·window·will·pop·up:</p><p><img·src="assets/sim_trans_mgr_actors.png"·alt="The·same·trace·data·in·a·different·view"·title="The·same·trace·data·in·a·different·view"/></p><p>In·order·to·see·the·nitty·gritty·details·of·an·<code·class="inline">Event</code>·you·may·click·on·the
232 <code·class="inline">Event</code>·in·order·to·start·a·<code·class="inline">Contents·Viewer</code>·for·that·<code·class="inline">Event</code>.·In·the232 <code·class="inline">Event</code>·in·order·to·start·a·<code·class="inline">Contents·Viewer</code>·for·that·<code·class="inline">Event</code>.·In·the
233 <code·class="inline">Contents·Viewer</code>·there·also·is·a·filter·menu·that·enables·inspection·of·the233 <code·class="inline">Contents·Viewer</code>·there·also·is·a·filter·menu·that·enables·inspection·of·the
234 <code·class="inline">Event</code>·from·other·views·than·the·one·selected·in·the·viewer.·A·click·on·the234 <code·class="inline">Event</code>·from·other·views·than·the·one·selected·in·the·viewer.·A·click·on·the
235 <code·class="inline">new_tid</code>·<code·class="inline">Event</code>·will·cause·a·<code·class="inline">Contents·Viewer</code>·window·to·pop·up,·showing·the235 <code·class="inline">new_tid</code>·<code·class="inline">Event</code>·will·cause·a·<code·class="inline">Contents·Viewer</code>·window·to·pop·up,·showing·the
236 <code·class="inline">Event</code>·in·the·<code·class="inline">mgr_actors</code>·view:</p><p><img·src="assets/sim_trans_contents_viewer_mgr_actors.png"·alt="The·trace·Event·in·the·mgr_actors·view"·title="The·trace·Event·in·the·mgr_actors·view"/></p><p>Select·the·<code·class="inline">all</code>·entry·in·the·<code·class="inline">Filters</code>·menu·and·a·new·<code·class="inline">Contents·Viewer·window</code>236 <code·class="inline">Event</code>·in·the·<code·class="inline">mgr_actors</code>·view:</p><p><img·src="assets/sim_trans_contents_viewer_mgr_actors.png"·alt="The·trace·Event·in·the·mgr_actors·view"·title="The·trace·Event·in·the·mgr_actors·view"/></p><p>Select·the·<code·class="inline">all</code>·entry·in·the·<code·class="inline">Filters</code>·menu·and·a·new·<code·class="inline">Contents·Viewer·window</code>
Offset 419, 15 lines modifiedOffset 419, 15 lines modified
419 ······<p·class="built-using">419 ······<p·class="built-using">
420 ········Built·using420 ········Built·using
421 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the421 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
422 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>422 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
423 ······</p>423 ······</p>
424 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>424 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
425 ····</footer>425 ····</footer>
426 ··</div>426 ··</div>
427 </main>427 </main>
428 </div>428 </div>
429 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>429 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
430 ··<script>430 ··<script>
431 ··let·initialized·=·false;431 ··let·initialized·=·false;
766 B
html2text {}
Max HTML report size reached
173 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/et_examples.html
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/et_intro.html
    
Offset 211, 15 lines modifiedOffset 211, 15 lines modified
211 ······<p·class="built-using">211 ······<p·class="built-using">
212 ········Built·using212 ········Built·using
213 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the213 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
214 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>214 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
215 ······</p>215 ······</p>
216 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>216 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
217 ····</footer>217 ····</footer>
218 ··</div>218 ··</div>
219 </main>219 </main>
220 </div>220 </div>
221 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>221 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
222 ··<script>222 ··<script>
223 ··let·initialized·=·false;223 ··let·initialized·=·false;
701 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/et_selector.html
    
Offset 415, 15 lines modifiedOffset 415, 15 lines modified
415 ······<p·class="built-using">415 ······<p·class="built-using">
416 ········Built·using416 ········Built·using
417 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the417 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
418 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>418 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
419 ······</p>419 ······</p>
420 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>420 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
421 ····</footer>421 ····</footer>
422 ··</div>422 ··</div>
423 </main>423 </main>
424 </div>424 </div>
425 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>425 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
426 ··<script>426 ··<script>
427 ··let·initialized·=·false;427 ··let·initialized·=·false;
715 B
html2text {}
Max HTML report size reached
59.2 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/et_tutorial.html
    
Offset 129, 49 lines modifiedOffset 129, 49 lines modified
129 ··<a·href="#visualizing-message-sequence-charts"·class="hover-link">129 ··<a·href="#visualizing-message-sequence-charts"·class="hover-link">
130 ····<i·class="ri-link-m"·aria-hidden="true"></i>130 ····<i·class="ri-link-m"·aria-hidden="true"></i>
131 ··</a>131 ··</a>
132 ··<span·class="text">Visualizing·Message·Sequence·Charts</span>132 ··<span·class="text">Visualizing·Message·Sequence·Charts</span>
133 </h2>133 </h2>
134 <p>The·easiest·way·of·using·<code·class="inline">ET</code>,·is·to·just·use·it·as·a·graphical·tool·for134 <p>The·easiest·way·of·using·<code·class="inline">ET</code>,·is·to·just·use·it·as·a·graphical·tool·for
135 displaying·message·sequence·charts.·In·order·to·do·that·you·need·to·first·start135 displaying·message·sequence·charts.·In·order·to·do·that·you·need·to·first·start
136 a·<code·class="inline">Viewer</code>·(which·by·default·starts·a·<code·class="inline">Collector</code>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="0772101502-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ViewerPid</span><span·class="p"·data-group-id="0772101502-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·489,·SHA:·7d6f6576303659b394e6f12901d1d030b7f876bbe25b1ab8bc771f427bd70dc9·...·]-2">)</span><span·class="p">,</span><span·class="w">136 a·<code·class="inline">Viewer</code>·(which·by·default·starts·a·<code·class="inline">Collector</code>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="6439761718-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ViewerPid</span><span·class="p"·data-group-id="6439761718-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·489,·SHA:·330ac4cdf37ac05eed6a686dc0b8020dae6affd6b8ad7ec39a17b363157f7900·...·]-2">)</span><span·class="p">,</span><span·class="w">
137 ······</span><span·class="n">CollectorPid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">et_viewer</span><span·class="p">:</span><span·class="nf">get_collector_pid</span><span·class="p"·data-group-id="0772101502-5">(</span><span·class="n">ViewerPid</span><span·class="p"·data-group-id="0772101502-5">)</span><span·class="p">.</span></code></pre><p><a·href=""·id="report_event"></a></p><p>Then·you·send·events·to·the·<code·class="inline">Collector</code>·with·the·function137 ······</span><span·class="n">CollectorPid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">et_viewer</span><span·class="p">:</span><span·class="nf">get_collector_pid</span><span·class="p"·data-group-id="6439761718-5">(</span><span·class="n">ViewerPid</span><span·class="p"·data-group-id="6439761718-5">)</span><span·class="p">.</span></code></pre><p><a·href=""·id="report_event"></a></p><p>Then·you·send·events·to·the·<code·class="inline">Collector</code>·with·the·function
138 <a·href="et_collector.html#report_event/6"><code·class="inline">et_collector:report_event/6</code></a>·like·this:</p><pre><code·class="text">······et_collector:report_event(CollectorPid,85,from,to,message,extra_stuff).</code></pre><p>The·<code·class="inline">Viewer</code>·will·automatically·pull·events·from·the·<code·class="inline">Collector</code>·and·display138 <a·href="et_collector.html#report_event/6"><code·class="inline">et_collector:report_event/6</code></a>·like·this:</p><pre><code·class="text">······et_collector:report_event(CollectorPid,85,from,to,message,extra_stuff).</code></pre><p>The·<code·class="inline">Viewer</code>·will·automatically·pull·events·from·the·<code·class="inline">Collector</code>·and·display
139 them·on·the·screen.</p><p>The·number·(in·this·case·85)·is·an·integer·from·1·to·100·that·specifies·the139 them·on·the·screen.</p><p>The·number·(in·this·case·85)·is·an·integer·from·1·to·100·that·specifies·the
140 &quot;detail·level&quot;·of·the·message.·The·higher·the·number,·the·more·important·it·is.140 &quot;detail·level&quot;·of·the·message.·The·higher·the·number,·the·more·important·it·is.
141 This·provides·a·crude·form·of·priority·filtering.</p><p>The·<code·class="inline">from</code>,·<code·class="inline">to</code>,·and·<code·class="inline">message</code>·parameters·are·exactly·what·they·sound·like.141 This·provides·a·crude·form·of·priority·filtering.</p><p>The·<code·class="inline">from</code>,·<code·class="inline">to</code>,·and·<code·class="inline">message</code>·parameters·are·exactly·what·they·sound·like.
142 <code·class="inline">from</code>·and·<code·class="inline">to</code>·are·visualized·in·the·<code·class="inline">Viewer</code>·as·&quot;lifelines&quot;,·with·the·message142 <code·class="inline">from</code>·and·<code·class="inline">to</code>·are·visualized·in·the·<code·class="inline">Viewer</code>·as·&quot;lifelines&quot;,·with·the·message
143 passing·from·one·to·the·other.·If·<code·class="inline">from</code>·and·<code·class="inline">to</code>·are·the·same·value,·then·it·is143 passing·from·one·to·the·other.·If·<code·class="inline">from</code>·and·<code·class="inline">to</code>·are·the·same·value,·then·it·is
144 displayed·next·to·the·lifeline·as·an·&quot;action&quot;.·The·<code·class="inline">extra_stuff</code>value·is·simply144 displayed·next·to·the·lifeline·as·an·&quot;action&quot;.·The·<code·class="inline">extra_stuff</code>value·is·simply
145 data·that·you·can·attach·that·will·be·displayed·when·someone·actually·clicks·on145 data·that·you·can·attach·that·will·be·displayed·when·someone·actually·clicks·on
146 the·action·or·message·in·the·<code·class="inline">Viewer</code>·window.</p><p>The·module·<code·class="inline">et/examples/et_display_demo.erl</code>·illustrates·how·it·can·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">146 the·action·or·message·in·the·<code·class="inline">Viewer</code>·window.</p><p>The·module·<code·class="inline">et/examples/et_display_demo.erl</code>·illustrates·how·it·can·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">
147 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2761254420-1">(</span><span·class="ss">et_display_demo</span><span·class="p"·data-group-id="2761254420-1">)</span><span·class="p">.</span><span·class="w">147 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3749667297-1">(</span><span·class="ss">et_display_demo</span><span·class="p"·data-group-id="3749667297-1">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="w">148 </span><span·class="w">
149 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2761254420-2">(</span><span·class="p"·data-group-id="2761254420-3">[</span><span·class="ss">test</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2761254420-3">]</span><span·class="p"·data-group-id="2761254420-2">)</span><span·class="p">.</span><span·class="w">149 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3749667297-2">(</span><span·class="p"·data-group-id="3749667297-3">[</span><span·class="ss">test</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="3749667297-3">]</span><span·class="p"·data-group-id="3749667297-2">)</span><span·class="p">.</span><span·class="w">
  
150 </span><span·class="nf">test</span><span·class="p"·data-group-id="2761254420-4">(</span><span·class="p"·data-group-id="2761254420-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">150 </span><span·class="nf">test</span><span·class="p"·data-group-id="3749667297-4">(</span><span·class="p"·data-group-id="3749667297-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
151 ····</span><span·class="p"·data-group-id="2761254420-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Viewer</span><span·class="p"·data-group-id="2761254420-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·724,·SHA:·fd7756dc12de0dedf57a8c7506467e007d5f7248d7cd96a64f6226643c300d78·...·]-6">)</span><span·class="p">,</span><span·class="w">151 ····</span><span·class="p"·data-group-id="3749667297-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Viewer</span><span·class="p"·data-group-id="3749667297-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·724,·SHA:·3dc63aa05ee2b8caccfba1b7f85bdcacf83ec0fed10147faa01e1f76ab79b213·...·]-6">)</span><span·class="p">,</span><span·class="w">
152 ····</span><span·class="n">Drink</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2761254420-10">{</span><span·class="ss">drink</span><span·class="p">,</span><span·class="ss">iced_chai_latte</span><span·class="p"·data-group-id="2761254420-10">}</span><span·class="p">,</span><span·class="w">152 ····</span><span·class="n">Drink</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3749667297-10">{</span><span·class="ss">drink</span><span·class="p">,</span><span·class="ss">iced_chai_latte</span><span·class="p"·data-group-id="3749667297-10">}</span><span·class="p">,</span><span·class="w">
153 ····</span><span·class="n">Size</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2761254420-11">{</span><span·class="nb">size</span><span·class="p">,</span><span·class="ss">grande</span><span·class="p"·data-group-id="2761254420-11">}</span><span·class="p">,</span><span·class="w">153 ····</span><span·class="n">Size</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3749667297-11">{</span><span·class="nb">size</span><span·class="p">,</span><span·class="ss">grande</span><span·class="p"·data-group-id="3749667297-11">}</span><span·class="p">,</span><span·class="w">
154 ····</span><span·class="n">Milk</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2761254420-12">{</span><span·class="ss">milk</span><span·class="p">,</span><span·class="ss">whole</span><span·class="p"·data-group-id="2761254420-12">}</span><span·class="p">,</span><span·class="w">154 ····</span><span·class="n">Milk</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3749667297-12">{</span><span·class="ss">milk</span><span·class="p">,</span><span·class="ss">whole</span><span·class="p"·data-group-id="3749667297-12">}</span><span·class="p">,</span><span·class="w">
155 ····</span><span·class="n">Flavor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2761254420-13">{</span><span·class="ss">flavor</span><span·class="p">,</span><span·class="ss">vanilla</span><span·class="p"·data-group-id="2761254420-13">}</span><span·class="p">,</span><span·class="w">155 ····</span><span·class="n">Flavor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3749667297-13">{</span><span·class="ss">flavor</span><span·class="p">,</span><span·class="ss">vanilla</span><span·class="p"·data-group-id="3749667297-13">}</span><span·class="p">,</span><span·class="w">
156 ····</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">et_viewer</span><span·class="p">:</span><span·class="nf">get_collector_pid</span><span·class="p"·data-group-id="2761254420-14">(</span><span·class="n">Viewer</span><span·class="p"·data-group-id="2761254420-14">)</span><span·class="p">,</span><span·class="w">156 ····</span><span·class="n">C</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">et_viewer</span><span·class="p">:</span><span·class="nf">get_collector_pid</span><span·class="p"·data-group-id="3749667297-14">(</span><span·class="n">Viewer</span><span·class="p"·data-group-id="3749667297-14">)</span><span·class="p">,</span><span·class="w">
157 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2761254420-15">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">99</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">place[·...·truncated·by·diffoscope;·len:·369,·SHA:·665e5068653745dfc72d294f6927d7f5c193fc0fa216860ba45ba60618c7f9e3·...·]-15">)</span><span·class="p">,</span><span·class="w">157 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="3749667297-15">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">99</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">place[·...·truncated·by·diffoscope;·len:·369,·SHA:·6eb1bce90875a9e19ffcf1c2447518050ea2d39bd6649cef552005f837b169a7·...·]-15">)</span><span·class="p">,</span><span·class="w">
158 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2761254420-17">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="nb">register</span><span·class="p">,</span><span·class="ss">enter[·...·truncated·by·diffoscope;·len:·318,·SHA:·ab03224585473fc868f6f1c6d7d118817e7a712c289f6b5d11452eb5762c881f·...·]-17">)</span><span·class="p">,</span><span·class="w">158 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="3749667297-17">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="nb">register</span><span·class="p">,</span><span·class="ss">enter[·...·truncated·by·diffoscope;·len:·318,·SHA:·c634de5729df9204d49458ddbacc61b6e94ae2da6d75e8aeb671a9ded8ffc909·...·]-17">)</span><span·class="p">,</span><span·class="w">
159 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2761254420-19">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="nb">register</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">give_[·...·truncated·by·diffoscope;·len:·114,·SHA:·ba59aae5daca69a2cf80cbd0bcf8007027d4b5ca14dd94a7c0410139cffe1c4a·...·]-19">)</span><span·class="p">,</span><span·class="w">159 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="3749667297-19">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="nb">register</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">give_[·...·truncated·by·diffoscope;·len:·114,·SHA:·2e5fd601fe53d4b70b86c9cbb83f0434750e2df328eee207fce7722e792855f2·...·]-19">)</span><span·class="p">,</span><span·class="w">
160 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2761254420-20">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">get_[·...·truncated·by·diffoscope;·len:·262,·SHA:·502c80311e1507a07456a160b81da507e713bdc8660cba1413f4d24fe40f58f7·...·]-20">)</span><span·class="p">,</span><span·class="w">160 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="3749667297-20">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">get_[·...·truncated·by·diffoscope;·len:·262,·SHA:·cfc6ca5a9bbb364aa5ebf3cf67939a37f3cc97811d36f66cd6e077d8aa94770a·...·]-20">)</span><span·class="p">,</span><span·class="w">
161 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2761254420-22">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">give[·...·truncated·by·diffoscope;·len:·184,·SHA:·e4b50657b46cdff016bdb06ae741094daac3ea7755d9e6efa66fd02dcb48c839·...·]-22">)</span><span·class="p">,</span><span·class="w">161 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="3749667297-22">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">give[·...·truncated·by·diffoscope;·len:·184,·SHA:·67336efadea90def384ae6796ad3f949bde98b9ffea98a9dbb1609d9b105f631·...·]-22">)</span><span·class="p">,</span><span·class="w">
162 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2761254420-24">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">90</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">reque[·...·truncated·by·diffoscope;·len:·117,·SHA:·81fdda6a5bb5108335d3dbf84bfa391be357a6cf4a81f29e513b3cc7ec0331f0·...·]-24">)</span><span·class="p">,</span><span·class="w">162 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="3749667297-24">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">90</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">reque[·...·truncated·by·diffoscope;·len:·117,·SHA:·2837cd027c2991f8fc7ac3e810cd0f7328a38a8708106dec306fafb4ae7df88d·...·]-24">)</span><span·class="p">,</span><span·class="w">
163 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2761254420-25">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">90</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">pay_m[·...·truncated·by·diffoscope;·len:·113,·SHA:·fcb35bf6cb90304ff6457f9f1661ccb7ffd216f1ddb52155f058961d983e55d9·...·]-25">)</span><span·class="p">,</span><span·class="w">163 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="3749667297-25">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">90</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">pay_m[·...·truncated·by·diffoscope;·len:·113,·SHA:·21d0b0d81bd49335fc4ec337a7ed3ee60b4c7050da25bb043b18945812e28473·...·]-25">)</span><span·class="p">,</span><span·class="w">
164 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2761254420-26">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">get_[·...·truncated·by·diffoscope;·len:·188,·SHA:·a4329069eb7f7d719be1fe52284b72089f53bcbc03deb91a2e788d4af530f7c7·...·]-26">)</span><span·class="p">,</span><span·class="w">164 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="3749667297-26">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">get_[·...·truncated·by·diffoscope;·len:·188,·SHA:·79c10aba383c62acfc853ac62216872187a73486f2a210dca3b11a82516b1b90·...·]-26">)</span><span·class="p">,</span><span·class="w">
165 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2761254420-28">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">add_[·...·truncated·by·diffoscope;·len:·215,·SHA:·0f976a7bcdc36b984870f53f9279064ba02355e2ce8673d7f9b78174e3e091de·...·]-28">)</span><span·class="p">,</span><span·class="w">165 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="3749667297-28">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">add_[·...·truncated·by·diffoscope;·len:·215,·SHA:·1b1d4eab279e24e9895e0d91f6218b63638c5d6e80ce55e8ce224e177db1e4ef·...·]-28">)</span><span·class="p">,</span><span·class="w">
166 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2761254420-30">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">add_[·...·truncated·by·diffoscope;·len:·211,·SHA:·077f7df8490cbd557d2b220ea609b0019e934628938dfa8fc26b249bd12f7400·...·]-30">)</span><span·class="p">,</span><span·class="w">166 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="3749667297-30">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">add_[·...·truncated·by·diffoscope;·len:·211,·SHA:·86cc0d4a9b1fd83040b94f2d3fb17a85fd626c4a4efc600376139082f2fc4af2·...·]-30">)</span><span·class="p">,</span><span·class="w">
167 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2761254420-32">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">add_[·...·truncated·by·diffoscope;·len:·183,·SHA:·8ff4755eaa2669aa59b24e37bc0e5e58bf0942510675ab27c22359d02231234a·...·]-32">)</span><span·class="p">,</span><span·class="w">167 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="3749667297-32">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">add_[·...·truncated·by·diffoscope;·len:·183,·SHA:·c525dea328bc8b42c4e513607396b2208e9d727c9a252eeede857ee24648180e·...·]-32">)</span><span·class="p">,</span><span·class="w">
168 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2761254420-34">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">swir[·...·truncated·by·diffoscope;·len:·181,·SHA:·d2f2de0253c47b20cee9bb97f2d9892d73d0e83c80a48e7e7c7ee1f0c873b622·...·]-34">)</span><span·class="p">,</span><span·class="w">168 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="3749667297-34">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">swir[·...·truncated·by·diffoscope;·len:·181,·SHA:·0c40201d55c01ea5b727b4cbeb73fdd46c1759fd386eabe3c6ab9b25e992701e·...·]-34">)</span><span·class="p">,</span><span·class="w">
169 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="2761254420-36">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">give_[·...·truncated·by·diffoscope;·len:·273,·SHA:·af36a919d2947b8e911a22d8a02bd7676739a5ffe456cb14d71c612a9474cefc·...·]-36">)</span><span·class="p">,</span><span·class="w">169 ····</span><span·class="nc">et_collector</span><span·class="p">:</span><span·class="nf">report_event</span><span·class="p"·data-group-id="3749667297-36">(</span><span·class="n">C</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">give_[·...·truncated·by·diffoscope;·len:·273,·SHA:·a4d6a7bc0307a861e4dcbd470e79767a114aa508a9c6bfa7ca0388daa6fca609·...·]-36">)</span><span·class="p">,</span><span·class="w">
170 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>When·you·run·the·<code·class="inline">et_display_demo:test().</code>·function·in·the·example·above,·the170 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>When·you·run·the·<code·class="inline">et_display_demo:test().</code>·function·in·the·example·above,·the
171 <code·class="inline">Viewer</code>·window·will·look·like·this:</p><p><img·src="assets/coffee_order.png"·alt="Screenshot·of·the·Viewer·window"·title="Screenshot·of·the·Viewer·window"/></p><h2·id="four-modules"·class="section-heading">171 <code·class="inline">Viewer</code>·window·will·look·like·this:</p><p><img·src="assets/coffee_order.png"·alt="Screenshot·of·the·Viewer·window"·title="Screenshot·of·the·Viewer·window"/></p><h2·id="four-modules"·class="section-heading">
172 ··<a·href="#four-modules"·class="hover-link">172 ··<a·href="#four-modules"·class="hover-link">
173 ····<i·class="ri-link-m"·aria-hidden="true"></i>173 ····<i·class="ri-link-m"·aria-hidden="true"></i>
174 ··</a>174 ··</a>
175 ··<span·class="text">Four·Modules</span>175 ··<span·class="text">Four·Modules</span>
176 </h2>176 </h2>
Offset 195, 15 lines modifiedOffset 195, 15 lines modified
195 <code·class="inline">Tracer</code>·of·the·<code·class="inline">Raw·Trace·Data</code>.</p><p>Erlang·tracing·is·a·seething·pile·of·pain·that·involves·reasonably·complex195 <code·class="inline">Tracer</code>·of·the·<code·class="inline">Raw·Trace·Data</code>.</p><p>Erlang·tracing·is·a·seething·pile·of·pain·that·involves·reasonably·complex
196 knowledge·of·clever·ports,·tracing·return·formats,·and·specialized·tracing196 knowledge·of·clever·ports,·tracing·return·formats,·and·specialized·tracing
197 <code·class="inline">MatchSpecs</code>·(which·are·really·their·own·special·kind·of·hell).·The·tracing197 <code·class="inline">MatchSpecs</code>·(which·are·really·their·own·special·kind·of·hell).·The·tracing
198 mechanism·is·very·powerful·indeed,·but·it·can·be·hard·to·grasp.</p><p>Luckily·there·is·a·simplified·way·to·start·tracing·of·<a·href="et.html#trace_me/5"><code·class="inline">et:trace_me/5</code></a>·function198 mechanism·is·very·powerful·indeed,·but·it·can·be·hard·to·grasp.</p><p>Luckily·there·is·a·simplified·way·to·start·tracing·of·<a·href="et.html#trace_me/5"><code·class="inline">et:trace_me/5</code></a>·function
199 calls.·The·idea·is·that·you·should·instrument·your·code·with·calls·to199 calls.·The·idea·is·that·you·should·instrument·your·code·with·calls·to
200 <a·href="et.html#trace_me/5"><code·class="inline">et:trace_me/5</code></a>·in·strategic·places·where·you·have·interesting·information200 <a·href="et.html#trace_me/5"><code·class="inline">et:trace_me/5</code></a>·in·strategic·places·where·you·have·interesting·information
201 available·in·your·program.·Then·you·just·start·the·<code·class="inline">Collector</code>·with·global201 available·in·your·program.·Then·you·just·start·the·<code·class="inline">Collector</code>·with·global
202 tracing·enabled:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="nc">et_viewer</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="3977450429-1">(</span><span·class="p"·data-group-id="3977450429-2">[</span><span·class="p"·data-group-id="3977450429-3">{</span><span·class="ss">trace_global</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·553,·SHA:·df3db96e010a759489f504aca2520c642c3674ce14a754791b372bbfc9af8a08·...·]-1">)</span><span·class="p">.</span></code></pre><p>This·will·start·a·<code·class="inline">Collector</code>,·a·<code·class="inline">Viewer</code>·and·also·start·the·tracing·of202 tracing·enabled:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="nc">et_viewer</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="0657731197-1">(</span><span·class="p"·data-group-id="0657731197-2">[</span><span·class="p"·data-group-id="0657731197-3">{</span><span·class="ss">trace_global</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·553,·SHA:·9cdf783e4f40b3bdf2103d6b05cc57a7d4c96cb8393a3a3854754afbbcc10b3b·...·]-1">)</span><span·class="p">.</span></code></pre><p>This·will·start·a·<code·class="inline">Collector</code>,·a·<code·class="inline">Viewer</code>·and·also·start·the·tracing·of
203 <a·href="et.html#trace_me/5"><code·class="inline">et:trace_me/5</code></a>·function·calls.·The·<code·class="inline">Raw·Trace·Data</code>·is·collected·by·the203 <a·href="et.html#trace_me/5"><code·class="inline">et:trace_me/5</code></a>·function·calls.·The·<code·class="inline">Raw·Trace·Data</code>·is·collected·by·the
204 <code·class="inline">Collector</code>·and·a·view·of·it·is·displayed·on·the·screen·by·the·<code·class="inline">Viewer</code>.·You·can204 <code·class="inline">Collector</code>·and·a·view·of·it·is·displayed·on·the·screen·by·the·<code·class="inline">Viewer</code>.·You·can
205 define·your·own·&quot;views&quot;·of·the·data·by·implementing·your·own·<code·class="inline">Filter</code>·functions205 define·your·own·&quot;views&quot;·of·the·data·by·implementing·your·own·<code·class="inline">Filter</code>·functions
206 and·register·them·in·the·<code·class="inline">Viewer</code>.</p><h2·id="the-collector-and-viewer"·class="section-heading">206 and·register·them·in·the·<code·class="inline">Viewer</code>.</p><h2·id="the-collector-and-viewer"·class="section-heading">
207 ··<a·href="#the-collector-and-viewer"·class="hover-link">207 ··<a·href="#the-collector-and-viewer"·class="hover-link">
208 ····<i·class="ri-link-m"·aria-hidden="true"></i>208 ····<i·class="ri-link-m"·aria-hidden="true"></i>
209 ··</a>209 ··</a>
Offset 251, 44 lines modifiedOffset 251, 44 lines modified
251 ··</a>251 ··</a>
252 ··<span·class="text">How·To·Put·It·Together</span>252 ··<span·class="text">How·To·Put·It·Together</span>
253 </h2>253 </h2>
254 <p>The·<code·class="inline">Collector</code>·automatically·registers·itself·to·listen·for·trace·<code·class="inline">Events</code>,·so254 <p>The·<code·class="inline">Collector</code>·automatically·registers·itself·to·listen·for·trace·<code·class="inline">Events</code>,·so
255 all·you·have·to·do·is·enable·them.</p><p>For·those·people·who·want·to·do·general·tracing,·consult·the·<code·class="inline">dbg</code>·module·on·how255 all·you·have·to·do·is·enable·them.</p><p>For·those·people·who·want·to·do·general·tracing,·consult·the·<code·class="inline">dbg</code>·module·on·how
256 to·trace·whatever·you're·interested·in·and·let·it·work·its·magic.·If·you·just256 to·trace·whatever·you're·interested·in·and·let·it·work·its·magic.·If·you·just
257 want·<a·href="et.html#trace_me/5"><code·class="inline">et:trace_me/5</code></a>·to·work,·do·the·following:</p><ol><li>Create·a·<code·class="inline">Collector</code></li><li>Create·a·<code·class="inline">Viewer</code>·(this·can·do·step·#1·for·you)</li><li>Turn·on·and·pare·down·debugging</li></ol><p>The·module·<code·class="inline">et/examples/et_trace_demo.erl</code>·achieves·this.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">257 want·<a·href="et.html#trace_me/5"><code·class="inline">et:trace_me/5</code></a>·to·work,·do·the·following:</p><ol><li>Create·a·<code·class="inline">Collector</code></li><li>Create·a·<code·class="inline">Viewer</code>·(this·can·do·step·#1·for·you)</li><li>Turn·on·and·pare·down·debugging</li></ol><p>The·module·<code·class="inline">et/examples/et_trace_demo.erl</code>·achieves·this.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">
258 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8263984550-1">(</span><span·class="ss">et_trace_demo</span><span·class="p"·data-group-id="8263984550-1">)</span><span·class="p">.</span><span·class="w">258 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3199689835-1">(</span><span·class="ss">et_trace_demo</span><span·class="p"·data-group-id="3199689835-1">)</span><span·class="p">.</span><span·class="w">
259 </span><span·class="w">259 </span><span·class="w">
260 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8263984550-2">(</span><span·class="p"·data-group-id="8263984550-3">[</span><span·class="ss">test</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="8263984550-3">]</span><span·class="p"·data-group-id="8263984550-2">)</span><span·class="p">.</span><span·class="w">260 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3199689835-2">(</span><span·class="p"·data-group-id="3199689835-3">[</span><span·class="ss">test</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="3199689835-3">]</span><span·class="p"·data-group-id="3199689835-2">)</span><span·class="p">.</span><span·class="w">
  
261 </span><span·class="nf">test</span><span·class="p"·data-group-id="8263984550-4">(</span><span·class="p"·data-group-id="8263984550-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">261 </span><span·class="nf">test</span><span·class="p"·data-group-id="3199689835-4">(</span><span·class="p"·data-group-id="3199689835-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
262 ····</span><span·class="nc">et_viewer</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="8263984550-5">(</span><span·class="p"·data-group-id="8263984550-6">[</span><span·class="w">262 ····</span><span·class="nc">et_viewer</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="3199689835-5">(</span><span·class="p"·data-group-id="3199689835-6">[</span><span·class="w">
263 ········</span><span·class="p"·data-group-id="8263984550-7">{</span><span·class="ss">title</span><span·class="p">,</span><span·class="s">&quot;Coffee·Order&quot;</span><span·class="p"·data-group-id="8263984550-7">}</span><span·class="p">,</span><span·class="w">263 ········</span><span·class="p"·data-group-id="3199689835-7">{</span><span·class="ss">title</span><span·class="p">,</span><span·class="s">&quot;Coffee·Order&quot;</span><span·class="p"·data-group-id="3199689835-7">}</span><span·class="p">,</span><span·class="w">
264 ········</span><span·class="p"·data-group-id="8263984550-8">{</span><span·class="ss">trace_global</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="8263984550-8">}</span><span·class="p">,</span><span·class="w">264 ········</span><span·class="p"·data-group-id="3199689835-8">{</span><span·class="ss">trace_global</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="3199689835-8">}</span><span·class="p">,</span><span·class="w">
265 ········</span><span·class="p"·data-group-id="8263984550-9">{</span><span·class="nb">trace_pattern</span><span·class="p">,</span><span·class="p"·data-group-id="8263984550-10">{</span><span·class="ss">et</span><span·class="p">,</span><span·class="ss">max</span><span·class="p"·data-group-id="8263984550-[·...·truncated·by·diffoscope;·len:·53,·SHA:·a7b35b83a9bb8b55c50bfea3776a9f5b3cce29c71097551041de4efdeb6af5b9·...·]-9">}</span><span·class="p">,</span><span·class="w">265 ········</span><span·class="p"·data-group-id="3199689835-9">{</span><span·class="nb">trace_pattern</span><span·class="p">,</span><span·class="p"·data-group-id="3199689835-10">{</span><span·class="ss">et</span><span·class="p">,</span><span·class="ss">max</span><span·class="p"·data-group-id="3199689835-[·...·truncated·by·diffoscope;·len:·53,·SHA:·14d9ea569f56fcc67d22450d0fbf589a8063ff1ed57caece7fe53519f04677d4·...·]-9">}</span><span·class="p">,</span><span·class="w">
266 ········</span><span·class="p"·data-group-id="8263984550-11">{</span><span·class="ss">max_actors</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="8263984550-11">}</span><span·class="w">266 ········</span><span·class="p"·data-group-id="3199689835-11">{</span><span·class="ss">max_actors</span><span·class="p">,</span><span·class="mi">10</span><span·class="p"·data-group-id="3199689835-11">}</span><span·class="w">
267 ······</span><span·class="p"·data-group-id="8263984550-6">]</span><span·class="p"·data-group-id="8263984550-5">)</span><span·class="p">,</span><span·class="w">267 ······</span><span·class="p"·data-group-id="3199689835-6">]</span><span·class="p"·data-group-id="3199689835-5">)</span><span·class="p">,</span><span·class="w">
268 ······</span><span·class="c1">%%·dbg:p(all,call),</span><span·class="w">268 ······</span><span·class="c1">%%·dbg:p(all,call),</span><span·class="w">
269 ······</span><span·class="c1">%%·dbg:tpl(et,·trace_me,·5,·[]),</span><span·class="w">269 ······</span><span·class="c1">%%·dbg:tpl(et,·trace_me,·5,·[]),</span><span·class="w">
270 ······</span><span·class="n">Drink</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8263984550-12">{</span><span·class="ss">drink</span><span·class="p">,</span><span·class="ss">iced_chai_latte</span><span·class="p"·data-group-id="8263984550-12">}</span><span·class="p">,</span><span·class="w">270 ······</span><span·class="n">Drink</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3199689835-12">{</span><span·class="ss">drink</span><span·class="p">,</span><span·class="ss">iced_chai_latte</span><span·class="p"·data-group-id="3199689835-12">}</span><span·class="p">,</span><span·class="w">
271 ······</span><span·class="n">Size</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8263984550-13">{</span><span·class="nb">size</span><span·class="p">,</span><span·class="ss">grande</span><span·class="p"·data-group-id="8263984550-13">}</span><span·class="p">,</span><span·class="w">271 ······</span><span·class="n">Size</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3199689835-13">{</span><span·class="nb">size</span><span·class="p">,</span><span·class="ss">grande</span><span·class="p"·data-group-id="3199689835-13">}</span><span·class="p">,</span><span·class="w">
272 ······</span><span·class="n">Milk</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8263984550-14">{</span><span·class="ss">milk</span><span·class="p">,</span><span·class="ss">whole</span><span·class="p"·data-group-id="8263984550-14">}</span><span·class="p">,</span><span·class="w">272 ······</span><span·class="n">Milk</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3199689835-14">{</span><span·class="ss">milk</span><span·class="p">,</span><span·class="ss">whole</span><span·class="p"·data-group-id="3199689835-14">}</span><span·class="p">,</span><span·class="w">
273 ······</span><span·class="n">Flavor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8263984550-15">{</span><span·class="ss">flavor</span><span·class="p">,</span><span·class="ss">vanilla</span><span·class="p"·data-group-id="8263984550-15">}</span><span·class="p">,</span><span·class="w">273 ······</span><span·class="n">Flavor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3199689835-15">{</span><span·class="ss">flavor</span><span·class="p">,</span><span·class="ss">vanilla</span><span·class="p"·data-group-id="3199689835-15">}</span><span·class="p">,</span><span·class="w">
274 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="8263984550-16">(</span><span·class="mi">99</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">place_order</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·321,·SHA:·346ee3037ce91ad2b3d509da64803eb393da2ce97e0d5e73c9ee460ec66fccc5·...·]-16">)</span><span·class="p">,</span><span·class="w">274 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="3199689835-16">(</span><span·class="mi">99</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">place_order</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·321,·SHA:·ee22fc5867c1626c5e2f9168018731dfd8ad6262480fdd67cc3e42d714fe4bd2·...·]-16">)</span><span·class="p">,</span><span·class="w">
275 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="8263984550-18">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="nb">register</span><span·class="p">,</span><span·class="ss">enter_order</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·270,·SHA:·907924ad046ddf8e65f558511caa2bb143736fc1599f65db63f1aa4b8a5485c5·...·]-18">)</span><span·class="p">,</span><span·class="w">275 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="3199689835-18">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="nb">register</span><span·class="p">,</span><span·class="ss">enter_order</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·270,·SHA:·b79f685f8dba08ff2cdf1acbc33407c30488ce7da43d33a72c4d258226d35cbf·...·]-18">)</span><span·class="p">,</span><span·class="w">
276 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="8263984550-20">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="nb">register</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">give_total</span><span·class="p">,</span><span·class=[·...·truncated·by·diffoscope;·len:·66,·SHA:·e92efc62a061b59454c7f016048dbff97ce5121c876d1865bb5530731d7f8849·...·]-20">)</span><span·class="p">,</span><span·class="w">276 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="3199689835-20">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="nb">register</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">give_total</span><span·class="p">,</span><span·class=[·...·truncated·by·diffoscope;·len:·66,·SHA:·ba3226f700337f05e10b61b6fe7e0b08ddd9f67a256bc904ecfc932b6ecaebc6·...·]-20">)</span><span·class="p">,</span><span·class="w">
277 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="8263984550-21">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">get_cup</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·214,·SHA:·122438b44de7efddad693d987b8b70251930ef7419940b62e76aab616ab15115·...·]-21">)</span><span·class="p">,</span><span·class="w">277 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="3199689835-21">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">get_cup</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·214,·SHA:·e4ddec2f21bd6eb1975f0f60b3b20441520facbe58b62a6f416a09316e058db4·...·]-21">)</span><span·class="p">,</span><span·class="w">
278 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="8263984550-23">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">give_cup</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·136,·SHA:·e8a1c04afa7996a1d682bbb85eb959791d9f0249519183848f4d57e272552600·...·]-23">)</span><span·class="p">,</span><span·class="w">278 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="3199689835-23">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">give_cup</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·136,·SHA:·0db21f32f0b8fc8d27272b026fc7bef86f9fe0e2443d20382b11a0e72e34bccd·...·]-23">)</span><span·class="p">,</span><span·class="w">
279 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="8263984550-25">(</span><span·class="mi">90</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">request_money</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·69,·SHA:·fd6deab8e3c4a617ae9dec4eb4292863557f07ca9b605cc68fa4adc1ddb23eb8·...·]-25">)</span><span·class="p">,</span><span·class="w">279 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="3199689835-25">(</span><span·class="mi">90</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">request_money</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·69,·SHA:·c93f466b1dda2cbe22ac50d1d24dc80bf6872048cc23750504a938b90c5756b0·...·]-25">)</span><span·class="p">,</span><span·class="w">
280 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="8263984550-26">(</span><span·class="mi">90</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">pay_money</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·65,·SHA:·ac73227cf02433d7a66db643a2d926098870141e80592a3f7b25aefca06118ae·...·]-26">)</span><span·class="p">,</span><span·class="w">280 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="3199689835-26">(</span><span·class="mi">90</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">barrista1</span><span·class="p">,</span><span·class="ss">pay_money</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·65,·SHA:·d13c8e4d79df8bbefe1e16bfdadf02190df0f81f7ea26a0284f0fe4580688aa2·...·]-26">)</span><span·class="p">,</span><span·class="w">
281 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="8263984550-27">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">get_chai_mix</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·140,·SHA:·af9c3db5a91a098d27e9413a7fff5647fe69ffff6f3f4af60b73b22ee6dc3eb7·...·]-27">)</span><span·class="p">,</span><span·class="w">281 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="3199689835-27">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">get_chai_mix</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·140,·SHA:·3cb5fff53a7e534ef050399e3838ab61ccab55ac6ff33d3c5d0a9547bbb9b89f·...·]-27">)</span><span·class="p">,</span><span·class="w">
282 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="8263984550-29">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">add_flavor</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·167,·SHA:·7aad3a240eb90290169d144d17d4623046815953b40a120acbfa8656ea53538f·...·]-29">)</span><span·class="p">,</span><span·class="w">282 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="3199689835-29">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">add_flavor</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·167,·SHA:·14950f315a194e66134b4d7f44c695febbf3733260aa99bef2a027e65d6b08a4·...·]-29">)</span><span·class="p">,</span><span·class="w">
283 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="8263984550-31">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">add_milk</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·163,·SHA:·c9e71afe274e96f31d613822c7e707b560a1777e46ef3081db2cd1f4fdd7248b·...·]-31">)</span><span·class="p">,</span><span·class="w">283 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="3199689835-31">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">add_milk</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·163,·SHA:·f6bd4249362ddac9dd0b937e13919fdbb66efaa095af0fd79997aba20f84c6a6·...·]-31">)</span><span·class="p">,</span><span·class="w">
284 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="8263984550-33">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">add_ice</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·135,·SHA:·4e05a084d501c22e4f8745ec572bcec06f520aef63e8abb308880e771d9ffbbf·...·]-33">)</span><span·class="p">,</span><span·class="w">284 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="3199689835-33">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">add_ice</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·135,·SHA:·62e2141ef32afe16012f13a228326726d5bd9b64571b031ce66671818a0baa38·...·]-33">)</span><span·class="p">,</span><span·class="w">
285 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="8263984550-35">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">swirl</span><span·class="p">,</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·133,·SHA:·a170f0d262a7dd8db5a4464d41f8bc3254aeb32e40be69f49986403921d9e397·...·]-35">)</span><span·class="p">,</span><span·class="w">285 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="3199689835-35">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">swirl</span><span·class="p">,</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·133,·SHA:·8f9455a6b53740b25b9f86b1c1db7bb19dccff29b10c9fa48519396e94177d37·...·]-35">)</span><span·class="p">,</span><span·class="w">
286 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="8263984550-37">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">give_tasty_beverage</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·225,·SHA:·9bc8c7108cf400d5e9280ad311a2d8e8ceb65c4a0c62c62b7376869f5dd53729·...·]-37">)</span><span·class="p">,</span><span·class="w">286 ······</span><span·class="nc">et</span><span·class="p">:</span><span·class="nf">trace_me</span><span·class="p"·data-group-id="3199689835-37">(</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">barrista2</span><span·class="p">,</span><span·class="ss">customer</span><span·class="p">,</span><span·class="ss">give_tasty_beverage</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·225,·SHA:·68c32bd28e8b2be11d68628b47a50643a3bfba87a75d17d257addfd7fe202963·...·]-37">)</span><span·class="p">,</span><span·class="w">
287 ······</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>Running·through·the·above,·the·most·important·points·are:</p><ul><li>Turn·on·global·tracing</li><li>Set·a·<code·class="inline">Trace·Pattern</code></li><li>Tell·<code·class="inline">dbg</code>·to·trace·function·Calls</li><li>Tell·it·specifically·to·trace·the·<a·href="et.html#trace_me/5"><code·class="inline">et:trace_me/5</code></a>·function</li></ul><p>When·you·run·the·<code·class="inline">et_trace_demo:test()</code>·function·above,·the·<code·class="inline">Viewer</code>·window·will287 ······</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>Running·through·the·above,·the·most·important·points·are:</p><ul><li>Turn·on·global·tracing</li><li>Set·a·<code·class="inline">Trace·Pattern</code></li><li>Tell·<code·class="inline">dbg</code>·to·trace·function·Calls</li><li>Tell·it·specifically·to·trace·the·<a·href="et.html#trace_me/5"><code·class="inline">et:trace_me/5</code></a>·function</li></ul><p>When·you·run·the·<code·class="inline">et_trace_demo:test()</code>·function·above,·the·<code·class="inline">Viewer</code>·window·will
288 look·like·this·screenshot:</p><p><img·src="assets/coffee_order.png"·alt="Screenshot·of·the·Viewer·window"·title="Screenshot·of·the·Viewer·window"/></p>288 look·like·this·screenshot:</p><p><img·src="assets/coffee_order.png"·alt="Screenshot·of·the·Viewer·window"·title="Screenshot·of·the·Viewer·window"/></p>
289 </div>289 </div>
  
290 <div·class="bottom-actions"·id="bottom-actions">290 <div·class="bottom-actions"·id="bottom-actions">
291 ··<div·class="bottom-actions-item">291 ··<div·class="bottom-actions-item">
  
Offset 333, 15 lines modifiedOffset 333, 15 lines modified
333 ······<p·class="built-using">333 ······<p·class="built-using">
334 ········Built·using334 ········Built·using
335 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the335 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
336 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>336 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
337 ······</p>337 ······</p>
338 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>338 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
339 ····</footer>339 ····</footer>
340 ··</div>340 ··</div>
341 </main>341 </main>
342 </div>342 </div>
343 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>343 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
344 ··<script>344 ··<script>
345 ··let·initialized·=·false;345 ··let·initialized·=·false;
665 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/et_viewer.html
    
Offset 549, 15 lines modifiedOffset 549, 15 lines modified
549 ······<p·class="built-using">549 ······<p·class="built-using">
550 ········Built·using550 ········Built·using
551 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the551 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
552 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>552 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
553 ······</p>553 ······</p>
554 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>554 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
555 ····</footer>555 ····</footer>
556 ··</div>556 ··</div>
557 </main>557 </main>
558 </div>558 </div>
559 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>559 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
560 ··<script>560 ··<script>
561 ··let·initialized·=·false;561 ··let·initialized·=·false;
578 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/notes.html
    
Offset 558, 15 lines modifiedOffset 558, 15 lines modified
558 ······<p·class="built-using">558 ······<p·class="built-using">
559 ········Built·using559 ········Built·using
560 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the560 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
561 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>561 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
562 ······</p>562 ······</p>
563 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>563 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
564 ····</footer>564 ····</footer>
565 ··</div>565 ··</div>
566 </main>566 </main>
567 </div>567 </div>
568 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>568 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
569 ··<script>569 ··<script>
570 ··let·initialized·=·false;570 ··let·initialized·=·false;
734 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/et-1.7.2/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
459 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.10/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.10/doc/html/api-reference.html
    
Offset 191, 15 lines modifiedOffset 191, 15 lines modified
191 ······<p·class="built-using">191 ······<p·class="built-using">
192 ········Built·using192 ········Built·using
193 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the193 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
194 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>194 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
195 ······</p>195 ······</p>
196 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>196 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
197 ····</footer>197 ····</footer>
198 ··</div>198 ··</div>
199 </main>199 </main>
200 </div>200 </div>
201 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>201 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
202 ··<script>202 ··<script>
203 ··let·initialized·=·false;203 ··let·initialized·=·false;
702 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.10/doc/html/chapter.html
    
Offset 790, 15 lines modifiedOffset 790, 15 lines modified
790 ······<p·class="built-using">790 ······<p·class="built-using">
791 ········Built·using791 ········Built·using
792 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the792 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
793 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>793 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
794 ······</p>794 ······</p>
795 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>795 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
796 ····</footer>796 ····</footer>
797 ··</div>797 ··</div>
798 </main>798 </main>
799 </div>799 </div>
800 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>800 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
801 ··<script>801 ··<script>
802 ··let·initialized·=·false;802 ··let·initialized·=·false;
754 B
html2text {}
Max HTML report size reached
87.7 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.10/doc/html/eunit.epub
2.23 KB
zipinfo {}
Max HTML report size reached
73.5 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:16:22,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:54:22,·uncompressed·size·20,·method=store
10.4 KB
OEBPS/notes.xhtml
Max HTML report size reached
1.19 KB
OEBPS/content.opf
1.16 KB
OEBPS/content.opf
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.10/doc/html/eunit.html
    
Offset 338, 15 lines modifiedOffset 338, 15 lines modified
338 ······<p·class="built-using">338 ······<p·class="built-using">
339 ········Built·using339 ········Built·using
340 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the340 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
341 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>341 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
342 ······</p>342 ······</p>
343 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>343 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
344 ····</footer>344 ····</footer>
345 ··</div>345 ··</div>
346 </main>346 </main>
347 </div>347 </div>
348 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>348 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
349 ··<script>349 ··<script>
350 ··let·initialized·=·false;350 ··let·initialized·=·false;
700 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.10/doc/html/eunit_surefire.html
    
Offset 154, 15 lines modifiedOffset 154, 15 lines modified
154 ······<p·class="built-using">154 ······<p·class="built-using">
155 ········Built·using155 ········Built·using
156 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the156 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
157 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>157 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
158 ······</p>158 ······</p>
159 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>159 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
160 ····</footer>160 ····</footer>
161 ··</div>161 ··</div>
162 </main>162 </main>
163 </div>163 </div>
164 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>164 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
165 ··<script>165 ··<script>
166 ··let·initialized·=·false;166 ··let·initialized·=·false;
645 B
html2text {}
Max HTML report size reached
12.0 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.10/doc/html/notes.html
    
Offset 139, 17 lines modifiedOffset 139, 17 lines modified
139 </h3>139 </h3>
140 <ul><li><p>Fix·so·that·when·running·tests·in·parallel·and·one·test·is·cancelled·due·to·a·failing·setup,·it·is·report·as·cancelled.·Before·this·fix·the·cancellation·was·ignored.</p><p>Own·Id:·OTP-19630·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9794"·title="">PR-9794</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>Fix·so·that·when·running·tests·in·parallel·and·one·test·is·cancelled·due·to·a·failing·setup,·it·is·report·as·cancelled.·Before·this·fix·the·cancellation·was·ignored.</p><p>Own·Id:·OTP-19630·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9794"·title="">PR-9794</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="0476984293-1">(</span><span·class="p"·data-group-id="0476984293-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0476984293-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·8b954fc19d79190ff516a7bcd9769b6547790284ae94e2a055797fd7cf97af74·...·]-2">)</span><span·class="p">.</span><span·class="w">146 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="7197950982-1">(</span><span·class="p"·data-group-id="7197950982-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7197950982-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·dbbc8f7df8220a6999aef19f94211c07a53ce90e4ab07f36b0f252753eda6a72·...·]-2">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="0476984293-3">(</span><span·class="p"·data-group-id="0476984293-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0476984293-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·4c72243dc12f2bac9b0621316623ad6c8b93c02b4f27f1ecee1c481c7c0277d2·...·]-2">)</span><span·class="p">.</span><span·class="w">147 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="7197950982-3">(</span><span·class="p"·data-group-id="7197950982-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7197950982-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·94162f620687fdc26ecaa49b9a13f2c61e8c38c551b35ebf12302573a3a9a84c·...·]-2">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="6531867161-3">(</span><span·class="p"·data-group-id="6531867161-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6531867161-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·8ac823c6a041ce5711f2d9b1a0f12eac5885c17d343b2af728c7228ea3b34c56·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="eunit-2-9-1"·class="section-heading">148 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="4459090907-3">(</span><span·class="p"·data-group-id="4459090907-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4459090907-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·312bc59d78656960d6ba4bbb8812ca75af31fade5ce9e53aee6bcbf6859ec6d3·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="eunit-2-9-1"·class="section-heading">
149 ··<a·href="#eunit-2-9-1"·class="hover-link">149 ··<a·href="#eunit-2-9-1"·class="hover-link">
150 ····<i·class="ri-link-m"·aria-hidden="true"></i>150 ····<i·class="ri-link-m"·aria-hidden="true"></i>
151 ··</a>151 ··</a>
152 ··<span·class="text">Eunit·2.9.1</span>152 ··<span·class="text">Eunit·2.9.1</span>
153 </h2>153 </h2>
154 <h3·id="improvements-and-new-features-1"·class="section-heading">154 <h3·id="improvements-and-new-features-1"·class="section-heading">
155 ··<a·href="#improvements-and-new-features-1"·class="hover-link">155 ··<a·href="#improvements-and-new-features-1"·class="hover-link">
Offset 789, 15 lines modifiedOffset 789, 15 lines modified
789 ······<p·class="built-using">789 ······<p·class="built-using">
790 ········Built·using790 ········Built·using
791 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the791 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
792 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>792 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
793 ······</p>793 ······</p>
794 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>794 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
795 ····</footer>795 ····</footer>
796 ··</div>796 ··</div>
797 </main>797 </main>
798 </div>798 </div>
799 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>799 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
800 ··<script>800 ··<script>
801 ··let·initialized·=·false;801 ··let·initialized·=·false;
865 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/eunit-2.10/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
461 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/ftp-1.2.4/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/ftp-1.2.4/doc/html/api-reference.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
187 ····</footer>187 ····</footer>
188 ··</div>188 ··</div>
189 </main>189 </main>
190 </div>190 </div>
191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
192 ··<script>192 ··<script>
193 ··let·initialized·=·false;193 ··let·initialized·=·false;
626 B
html2text {}
Max HTML report size reached
85.9 KB
./usr/share/doc/erlang-doc/html/lib/ftp-1.2.4/doc/html/ftp.epub
2.22 KB
zipinfo {}
Max HTML report size reached
70.2 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:16:32,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:54:50,·uncompressed·size·20,·method=store
11.8 KB
OEBPS/ftp_client.xhtml
Max HTML report size reached
1.21 KB
OEBPS/content.opf
1.17 KB
OEBPS/content.opf
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/lib/ftp-1.2.4/doc/html/ftp.html
    
Offset 1840, 15 lines modifiedOffset 1840, 15 lines modified
1840 ······<p·class="built-using">1840 ······<p·class="built-using">
1841 ········Built·using1841 ········Built·using
1842 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1842 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1843 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1843 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1844 ······</p>1844 ······</p>
1845 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1845 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1846 ····</footer>1846 ····</footer>
1847 ··</div>1847 ··</div>
1848 </main>1848 </main>
1849 </div>1849 </div>
1850 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1850 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1851 ··<script>1851 ··<script>
1852 ··let·initialized·=·false;1852 ··let·initialized·=·false;
584 B
html2text {}
Max HTML report size reached
13.3 KB
./usr/share/doc/erlang-doc/html/lib/ftp-1.2.4/doc/html/ftp_client.html
    
Offset 122, 33 lines modifiedOffset 122, 33 lines modified
122 ······</a>122 ······</a>
  
  
123 ····<span>Examples</span>123 ····<span>Examples</span>
124 ··</h1>124 ··</h1>
  
125 <p>The·following·is·a·simple·example·of·an·FTP·session,·where·the·user·<code·class="inline">guest</code>·with125 <p>The·following·is·a·simple·example·of·an·FTP·session,·where·the·user·<code·class="inline">guest</code>·with
126 password·<code·class="inline">password</code>·logs·on·to·the·remote·host·<code·class="inline">erlang.org</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="3830319327-1">(</span><span·class="p"·data-group-id="3830319327-1">)</span><span·class="p">.</span><span·class="w">126 password·<code·class="inline">password</code>·logs·on·to·the·remote·host·<code·class="inline">erlang.org</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="8771154634-1">(</span><span·class="p"·data-group-id="8771154634-1">)</span><span·class="p">.</span><span·class="w">
127 ······</span><span·class="ss">ok</span><span·class="w">127 ······</span><span·class="ss">ok</span><span·class="w">
128 ······</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3830319327-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="3830319327-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·497,·SHA:·665bd2613dda73ed690bfc4c67cfe72c20d5d3d2a1a26f21b433e153bb7059ae·...·]-3">)</span><span·class="p">.</span><span·class="w">128 ······</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8771154634-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="8771154634-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·497,·SHA:·d0b4f36ebca8d2da6e63d885740019e76540d6d823bc25e5692750d4697e6c49·...·]-3">)</span><span·class="p">.</span><span·class="w">
129 ······</span><span·class="p"·data-group-id="3830319327-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.22</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="3830319327-6">}</span><span·class="w">129 ······</span><span·class="p"·data-group-id="8771154634-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.22</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="8771154634-6">}</span><span·class="w">
130 ······</span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">user</span><span·class="p"·data-group-id="3830319327-7">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;guest&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;password&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·e7254e7236e921b7ed5595b0d3d660a84d7e1ed96f5c34f8dc23461c00277319·...·]-7">)</span><span·class="p">.</span><span·class="w">130 ······</span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">user</span><span·class="p"·data-group-id="8771154634-7">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;guest&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;password&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·f324c68f176c7a2c20c3a38f7db81b68f5278750c1c13baf7176654da8933201·...·]-7">)</span><span·class="p">.</span><span·class="w">
131 ······</span><span·class="ss">ok</span><span·class="w">131 ······</span><span·class="ss">ok</span><span·class="w">
132 ······</span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">pwd</span><span·class="p"·data-group-id="3830319327-8">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="3830319327-8">)</span><span·class="p">.</span><span·class="w">132 ······</span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">pwd</span><span·class="p"·data-group-id="8771154634-8">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="8771154634-8">)</span><span·class="p">.</span><span·class="w">
133 ······</span><span·class="p"·data-group-id="3830319327-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/home/guest&quot;</span><span·class="p"·data-group-id="3830319327-9">}</span><span·class="w">133 ······</span><span·class="p"·data-group-id="8771154634-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/home/guest&quot;</span><span·class="p"·data-group-id="8771154634-9">}</span><span·class="w">
134 ······</span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">cd</span><span·class="p"·data-group-id="3830319327-10">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;appl/examples&quot;</span><span·class="p"·data-group-id="3830319327-10">)</span><span·class="p">.</span><span·class="w">134 ······</span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">cd</span><span·class="p"·data-group-id="8771154634-10">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;appl/examples&quot;</span><span·class="p"·data-group-id="8771154634-10">)</span><span·class="p">.</span><span·class="w">
135 ······</span><span·class="ss">ok</span><span·class="w">135 ······</span><span·class="ss">ok</span><span·class="w">
136 ······</span><span·class="mi">6</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">lpwd</span><span·class="p"·data-group-id="3830319327-11">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="3830319327-11">)</span><span·class="p">.</span><span·class="w">136 ······</span><span·class="mi">6</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">lpwd</span><span·class="p"·data-group-id="8771154634-11">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="8771154634-11">)</span><span·class="p">.</span><span·class="w">
137 ······</span><span·class="p"·data-group-id="3830319327-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/home/fred&quot;</span><span·class="p"·data-group-id="3830319327-12">}</span><span·class="p">.</span><span·class="w">137 ······</span><span·class="p"·data-group-id="8771154634-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/home/fred&quot;</span><span·class="p"·data-group-id="8771154634-12">}</span><span·class="p">.</span><span·class="w">
138 ······</span><span·class="mi">7</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">lcd</span><span·class="p"·data-group-id="3830319327-13">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/home/eproj/examples&quot;</span><span·class="p"·data-group-id="3830319327-13">)</span><span·class="p">.</span><span·class="w">138 ······</span><span·class="mi">7</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">lcd</span><span·class="p"·data-group-id="8771154634-13">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/home/eproj/examples&quot;</span><span·class="p"·data-group-id="8771154634-13">)</span><span·class="p">.</span><span·class="w">
139 ······</span><span·class="ss">ok</span><span·class="w">139 ······</span><span·class="ss">ok</span><span·class="w">
140 ······</span><span·class="mi">8</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="3830319327-14">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;appl.erl&quot;</span><span·class="p"·data-group-id="3830319327-14">)</span><span·class="p">.</span><span·class="w">140 ······</span><span·class="mi">8</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="8771154634-14">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;appl.erl&quot;</span><span·class="p"·data-group-id="8771154634-14">)</span><span·class="p">.</span><span·class="w">
141 ······</span><span·class="ss">ok</span><span·class="w">141 ······</span><span·class="ss">ok</span><span·class="w">
142 ······</span><span·class="mi">9</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="3830319327-15">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="3830319327-15">)</span><span·class="p">.</span><span·class="w">142 ······</span><span·class="mi">9</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="8771154634-15">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="8771154634-15">)</span><span·class="p">.</span><span·class="w">
143 ······</span><span·class="ss">ok</span><span·class="w">143 ······</span><span·class="ss">ok</span><span·class="w">
144 ······</span><span·class="mi">10</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="3830319327-16">(</span><span·class="p"·data-group-id="3830319327-16">)</span><span·class="p">.</span><span·class="w">144 ······</span><span·class="mi">10</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ftp</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="8771154634-16">(</span><span·class="p"·data-group-id="8771154634-16">)</span><span·class="p">.</span><span·class="w">
145 ······</span><span·class="ss">ok</span></code></pre><p>The·file·<code·class="inline">appl.erl</code>·is·transferred·from·the·remote·to·the·local·host.·When·the145 ······</span><span·class="ss">ok</span></code></pre><p>The·file·<code·class="inline">appl.erl</code>·is·transferred·from·the·remote·to·the·local·host.·When·the
146 session·is·opened,·the·current·directory·at·the·remote·host·is·<code·class="inline">/home/guest</code>,146 session·is·opened,·the·current·directory·at·the·remote·host·is·<code·class="inline">/home/guest</code>,
147 and·<code·class="inline">/home/fred</code>·at·the·local·host.·Before·transferring·the·file,·the·current147 and·<code·class="inline">/home/fred</code>·at·the·local·host.·Before·transferring·the·file,·the·current
148 local·directory·is·changed·to·<code·class="inline">/home/eproj/examples</code>,·and·the·remote·directory148 local·directory·is·changed·to·<code·class="inline">/home/eproj/examples</code>,·and·the·remote·directory
149 is·set·to·<code·class="inline">/home/guest/appl/examples</code>.</p>149 is·set·to·<code·class="inline">/home/guest/appl/examples</code>.</p>
150 </div>150 </div>
  
Offset 187, 15 lines modifiedOffset 187, 15 lines modified
187 ······<p·class="built-using">187 ······<p·class="built-using">
188 ········Built·using188 ········Built·using
189 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the189 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
190 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>190 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
191 ······</p>191 ······</p>
192 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>192 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
193 ····</footer>193 ····</footer>
194 ··</div>194 ··</div>
195 </main>195 </main>
196 </div>196 </div>
197 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>197 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
198 ··<script>198 ··<script>
199 ··let·initialized·=·false;199 ··let·initialized·=·false;
754 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/ftp-1.2.4/doc/html/introduction.html
    
Offset 177, 15 lines modifiedOffset 177, 15 lines modified
177 ······<p·class="built-using">177 ······<p·class="built-using">
178 ········Built·using178 ········Built·using
179 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the179 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
180 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>180 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
181 ······</p>181 ······</p>
182 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>182 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
183 ····</footer>183 ····</footer>
184 ··</div>184 ··</div>
185 </main>185 </main>
186 </div>186 </div>
187 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>187 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
188 ··<script>188 ··<script>
189 ··let·initialized·=·false;189 ··let·initialized·=·false;
731 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/ftp-1.2.4/doc/html/notes.html
    
Offset 464, 15 lines modifiedOffset 464, 15 lines modified
464 ······<p·class="built-using">464 ······<p·class="built-using">
465 ········Built·using465 ········Built·using
466 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the466 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
467 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>467 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
468 ······</p>468 ······</p>
469 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>469 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
470 ····</footer>470 ····</footer>
471 ··</div>471 ··</div>
472 </main>472 </main>
473 </div>473 </div>
474 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>474 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
475 ··<script>475 ··<script>
476 ··let·initialized·=·false;476 ··let·initialized·=·false;
715 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/ftp-1.2.4/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
460 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.4 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/api-reference.html
    
Offset 273, 15 lines modifiedOffset 273, 15 lines modified
273 ······<p·class="built-using">273 ······<p·class="built-using">
274 ········Built·using274 ········Built·using
275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
277 ······</p>277 ······</p>
278 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>278 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
279 ····</footer>279 ····</footer>
280 ··</div>280 ··</div>
281 </main>281 </main>
282 </div>282 </div>
283 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>283 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
284 ··<script>284 ··<script>
285 ··let·initialized·=·false;285 ··let·initialized·=·false;
589 B
html2text {}
Max HTML report size reached
41.4 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/http_client.html
    
Offset 134, 40 lines modifiedOffset 134, 40 lines modified
134 <p>The·HTTP·client·default·profile·is·started·when·the·<code·class="inline">Inets</code>·application·is134 <p>The·HTTP·client·default·profile·is·started·when·the·<code·class="inline">Inets</code>·application·is
135 started·and·is·then·available·to·all·processes·on·that·Erlang·node.·Other135 started·and·is·then·available·to·all·processes·on·that·Erlang·node.·Other
136 profiles·can·also·be·started·at·application·startup,·or·profiles·can·be·started136 profiles·can·also·be·started·at·application·startup,·or·profiles·can·be·started
137 and·stopped·dynamically·in·runtime.·Each·client·profile·spawns·a·new·process·to137 and·stopped·dynamically·in·runtime.·Each·client·profile·spawns·a·new·process·to
138 handle·each·request,·unless·a·persistent·connection·can·be·used·with·or·without138 handle·each·request,·unless·a·persistent·connection·can·be·used·with·or·without
139 pipelining.·The·client·adds·a·<code·class="inline">host</code>·header·and·an·empty·<code·class="inline">te</code>·header·if·there139 pipelining.·The·client·adds·a·<code·class="inline">host</code>·header·and·an·empty·<code·class="inline">te</code>·header·if·there
140 are·no·such·headers·present·in·the·request.</p><p>The·client·supports·IPv6·as·long·as·the·underlying·mechanisms·also·do·so.</p><p>The·following·is·to·be·put·in·the·Erlang·node·application·configuration·file·to140 are·no·such·headers·present·in·the·request.</p><p>The·client·supports·IPv6·as·long·as·the·underlying·mechanisms·also·do·so.</p><p>The·following·is·to·be·put·in·the·Erlang·node·application·configuration·file·to
141 start·a·profile·at·application·startup:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7542361768-1">[</span><span·class="p"·data-group-id="7542361768-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7542361768-3">[</span><span·class="p"·data-group-id="7542361768-4">{</spa[·...·truncated·by·diffoscope;·len:·606,·SHA:·c6048215ea9ea483b61501950e18fee2507882b0e47b4b9668b7f3112b5f62c5·...·]-1">]</span></code></pre><p>For·valid·properties,·see·<a·href="httpc.html"><code·class="inline">httpc</code></a>.</p><h2·id="getting-started"·class="section-heading">141 start·a·profile·at·application·startup:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1091838064-1">[</span><span·class="p"·data-group-id="1091838064-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1091838064-3">[</span><span·class="p"·data-group-id="1091838064-4">{</spa[·...·truncated·by·diffoscope;·len:·606,·SHA:·31d1351fb880e38f3d719d6f8b2d6677abb9ee31e75e7abcc43de7dfd9ebf7e7·...·]-1">]</span></code></pre><p>For·valid·properties,·see·<a·href="httpc.html"><code·class="inline">httpc</code></a>.</p><h2·id="getting-started"·class="section-heading">
142 ··<a·href="#getting-started"·class="hover-link">142 ··<a·href="#getting-started"·class="hover-link">
143 ····<i·class="ri-link-m"·aria-hidden="true"></i>143 ····<i·class="ri-link-m"·aria-hidden="true"></i>
144 ··</a>144 ··</a>
145 ··<span·class="text">Getting·Started</span>145 ··<span·class="text">Getting·Started</span>
146 </h2>146 </h2>
147 <p>Start·<code·class="inline">Inets</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">inets</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="9747257800-1">(</span><span·class="p"·data-group-id="9747257800-1">)</span><span·class="p">.</span><span·class="w">147 <p>Start·<code·class="inline">Inets</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">inets</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="1441044811-1">(</span><span·class="p"·data-group-id="1441044811-1">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="ss">ok</span></code></pre><p>The·following·calls·use·the·default·client·profile.·Use·the·proxy148 </span><span·class="ss">ok</span></code></pre><p>The·following·calls·use·the·default·client·profile.·Use·the·proxy
149 <code·class="inline">&quot;www-proxy.mycompany.com:8000&quot;</code>,·except·from·requests·to·localhost.·This149 <code·class="inline">&quot;www-proxy.mycompany.com:8000&quot;</code>,·except·from·requests·to·localhost.·This
150 applies·to·all·the·following·requests.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">set_options</span><span·class="p"·data-group-id="3927218571-1">(</span><span·class="p"·data-group-id="3927218571-2">[</span><span·class="p"·data-group-id="3927218571-3">{</span><span·class="ss">proxy</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3927218571-4">{</spa[·...·truncated·by·diffoscope;·len:·230,·SHA:·5c242499edb232be2f4bd6418812506f01a314f7e5b7e78269448147560d0f58·...·]-5">}</span><span·class="p">,</span><span·class="w">150 applies·to·all·the·following·requests.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">set_options</span><span·class="p"·data-group-id="7673588275-1">(</span><span·class="p"·data-group-id="7673588275-2">[</span><span·class="p"·data-group-id="7673588275-3">{</span><span·class="ss">proxy</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7673588275-4">{</spa[·...·truncated·by·diffoscope;·len:·230,·SHA:·eb2c9c7bcbe1b1f90b74a23d949cbee348c5f07f08e8ded24e3afcc7bf9afe2b·...·]-5">}</span><span·class="p">,</span><span·class="w">
151 </span><span·class="p"·data-group-id="3927218571-6">[</span><span·class="s">&quot;localhost&quot;</span><span·class="p"·data-group-id="3927218571-6">]</span><span·class="p"·data-group-id="3927218571-4">}</span><span·class="p"·data-group-id="3927218571-3">}</span><span·class="p"·data-group-id="3927218571-2">]</span><span·class="p"·data-group-id="3927218571-1">)</span><span·class="p">.</span><span·class="w"> 
152 </span><span·class="ss">ok</span></code></pre><p>The·following·is·an·ordinary·synchronous·request:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="p"·data-group-id="2489940079-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2489940079-2">{</span><span·class="p"·data-group-id="2489940079-3">{</span><span·class="n">Version</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">200</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ReasonPhrase</span><span·class="p"·data-group-id="2489940079-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Headers</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Body</span><span·class="p"·data-group-id="2489940079-2">}</span><span·class="p"·data-group-id="2489940079-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w"> 
153 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="2489940079-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·805,·SHA:·736295f857e581ffafd4e73c8af26dccb8be4ae74b43fab09a02cdaafd197bb4·...·]151 </span><span·class="p"·data-group-id="7673588275-6">[</span><span·class="s">&quot;localhost&quot;</span><span·class="p"·data-group-id="7673588275-6">]</span><span·class="p"·data-group-id="7673588275-4">}</span><span·class="p"·data-group-id="7673588275-3">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·131,·SHA:·184de659577750684131c3749805ec877024babc3a0a331d7afddf680684d0b7·...·]
 152 </span><span·class="ss">ok</span></code></pre><p>The·following·is·an·ordinary·synchronous·request:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="p"·data-group-id="6444701941-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6444701941-2">{</span><span·class="p"·data-group-id="6444701941-3">{</span><span·class="n">Version</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">200</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ReasonPhrase</span><span·class="p"·data-group-id="6444701941-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Headers</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Body</span><span·class="p"·data-group-id="6444701941-2">}</span><span·class="p"·data-group-id="6444701941-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
 153 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="6444701941-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6444701941-5">{</span><span·class="s">&quot;http://www.erlang.org&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6444701941-6">[</span><span·class="p"·data-group-id="6444701941-6">]</span><span·class="p"·data-group-id="6444701941-5">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6444701941-7">[</span><span·class="p"·data-group-id="6444701941-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6444701941-8">[</span><span·class="p"·data-group-id="6444701941-8">]</span><span·class="p"·data-group-id="6444701941-4">)</span><span·class="p">.</span></code></pre><p>With·all·the·default·values·presented,·a·get·request·can·also·be·written·as
154 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="p"·data-group-id="0859988459-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0859988459-2">{</span><span·class="p"·data-group-id="0859988459-3">{</span><span·class="n">Version</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·433,·SHA:·9dea2691f34204da33ef1453977af1ecd9c47d3352c2a45cc6f8101c15cf923e·...·]-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">154 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="p"·data-group-id="0128020558-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0128020558-2">{</span><span·class="p"·data-group-id="0128020558-3">{</span><span·class="n">Version</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·433,·SHA:·a20ffdabc9f5e54265a4c8fa3c0ba9946a99182172efa47aa61a4804b4aaf9b3·...·]-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
155 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="0859988459-4">(</span><span·class="s">&quot;http://www.erlang.org&quot;</span><span·class="p"·data-group-id="0859988459-4">)</span><span·class="p">.</span></code></pre><p>The·following·is·a·https·request·and·with·verification·of·the·host:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="p"·data-group-id="6421854359-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6421854359-2">{</span><span·class="p"·data-group-id="6421854359-3">{</span><span·class="n">Version</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">200</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ReasonPhrase</span><span·class="p"·data-group-id="6421854359-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Headers</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Body</span><span·class="p"·data-group-id="6421854359-2">}</span><span·class="p"·data-group-id="6421854359-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w"> 
156 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="6421854359-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6421854359-5">{</span><span·class="s">&quot;https://www.erlang.org&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6421854359-6">[</span><span·class="p"·data-group-id="6421854359-6">]</span><span·class="p"·data-group-id="6421854359-5">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6421854359-7">[</span><span·class="p"·data-group-id="6421854359-8">{</span><span·class="ss">ssl</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">ssl_verify_host_options</span><span·class="p"·data-group-id="6421854359-9">(</span><span·class="ss">true</span><span·class="p"·data-group-id="6421854359-9">)</span><span·class="p"·data-group-id="6421854359-8">}</span><span·class="p"·data-group-id="6421854359-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6421854359-10">[</span><span·class="p"·data-group-id="6421854359-10">]</span><span·class="p"·data-group-id="6421854359-4">)</span><span·class="p">.</span></code></pre><p>The·following·is·an·ordinary·asynchronous·request:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="p"·data-group-id="8060615909-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RequestId</span><span·class="p"·data-group-id="8060615909-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w"> 
157 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="8060615909-2">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8060615909-3">{</span><span·class="s">&quot;http://www.erlang.org&quot;</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·950,·SHA:·d74aea194f653d706f54d3990ec8485254e0e307c69c4eef0ad5d400218e679a·...·]155 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="0128020558-4">(</span><span·class="s">&quot;http://www.erlang.org&quot;</span><span·class="p"·data-group-id="0128020558-4">)</span><span·class="p">.</span></code></pre><p>The·following·is·a·https·request·and·with·verification·of·the·host:</p><pre><code·cla[·...·truncated·by·diffoscope;·len:·874,·SHA:·02337754a3835174f1c9367ea4fee14c961c2b8df09d067fcd07fddb2a5ca8da·...·]
 156 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="8474264312-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8474264312-5">{</span><span·class="s">&quot;https://www.erlang.org&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8474264312-6">[</span><span·class="p"·data-group-id="8474264312-6">]</span><span·class="p"·data-group-id="8474264312-5">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8474264312-7">[</span><span·class="p"·data-group-id="8474264312-8">{</span><span·class="ss">ssl</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">ssl_verify_host_options</span><span·class="p"·data-group-id="8474264312-9">(</span><span·class="ss">true</span><span·class="p"·data-group-id="8474264312-9">)</span><span·class="p"·data-group-id="8474264312-8">}</span><span·class="p"·data-group-id="8474264312-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8474264312-10">[</span><span·class="p"·data-group-id="8474264312-10">]</span><span·class="p"·data-group-id="8474264312-4">)</span><span·class="p">.</span></code></pre><p>The·following·is·an·ordinary·asynchronous·request:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="p"·data-group-id="5101366900-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RequestId</span><span·class="p"·data-group-id="5101366900-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
 157 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="5101366900-2">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5101366900-3">{</span><span·class="s">&quot;http://www.erlang.org&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5101366900-4">[</span><span·class="p"·data-group-id="5101366900-4">]</span><span·class="p"·data-group-id="5101366900-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5101366900-5">[</span><span·class="p"·data-group-id="5101366900-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5101366900-6">[</span><span·class="p"·data-group-id="5101366900-7">{</span><span·class="ss">sync</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="5101366900-7">}</span><span·class="p"·data-group-id="5101366900-6">]</span><span·class="p"·data-group-id="5101366900-2">)</span><span·class="p">.</span></code></pre><p>The·result·is·sent·to·the·calling·process·as·<code·class="inline">{http,·{ReqestId,·Result}}</code>.</p><p>In·this·case,·the·calling·process·is·the·shell,·so·the·following·result·is
158 received:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">7&gt;·</span><span·class="k">receive</span><span·class="w">·</span><span·class="p"·data-group-id="9456041829-1">{</span><span·class="ss">http</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9456041829-2">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·b8d339e3fc50d308b8538b2fe30ee30e026884d4c926118ab0c56cb6694c56e7·...·]-1">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">500</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">error</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">158 received:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">7&gt;·</span><span·class="k">receive</span><span·class="w">·</span><span·class="p"·data-group-id="2391986582-1">{</span><span·class="ss">http</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2391986582-2">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·14a91e205a1c72ee3046232890e2353f7cfb541c7b7f4bb5c6ac92ab8b7c136c·...·]-1">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">500</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">error</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
159 </span><span·class="ss">ok</span></code></pre><p>This·sends·a·request·with·a·specified·connection·header:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">8&gt;·</span><span·class="p"·data-group-id="1920590796-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1920590796-2">{</span><span·class="p"·data-group-id="1920590796-3">{</span><span·class="n">NewVersion</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·446,·SHA:·945fc765269885e57535f949fa4d0c2ba8722215622e995c084838c3ecbb9421·...·]-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">159 </span><span·class="ss">ok</span></code></pre><p>This·sends·a·request·with·a·specified·connection·header:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">8&gt;·</span><span·class="p"·data-group-id="0377613680-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0377613680-2">{</span><span·class="p"·data-group-id="0377613680-3">{</span><span·class="n">NewVersion</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·446,·SHA:·419af63486def5fb717fa46394d49c8752cbe73ae72451bb072c5105ecb22566·...·]-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
160 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="1920590796-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1920590796-5">{</span><span·class="s">&quot;http://www.erlang.org&quot;</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·384,·SHA:·cebb9739e41d3c2acf15e97d360710326b595f9f849460c7e72a9785758e2406·...·]-5">}</span><span·class="p">,</span><span·class="w">160 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="0377613680-4">(</span><span·class="nb">get</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0377613680-5">{</span><span·class="s">&quot;http://www.erlang.org&quot;</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·384,·SHA:·7514cd4c78a073bccbcc3c37e04bd4a6b0672ae0a149061e156a97a382944b23·...·]-5">}</span><span·class="p">,</span><span·class="w">
161 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="p"·data-group-id="1920590796-8">[</span><span·class="p"·data-group-id="1920590796-8">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1920590796-9">[</span><span·class="p"·data-group-id="1920590796-9">]</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·1013,·SHA:·6dba0662f6bf7f571e4b8f1c85b390540cff2c2ba6a75abd1dcaa38d12967a4e·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">161 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="p"·data-group-id="0377613680-8">[</span><span·class="p"·data-group-id="0377613680-8">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0377613680-9">[</span><span·class="p"·data-group-id="0377613680-9">]</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·1013,·SHA:·3b1314fb1feca55d68dd9d1fd251c55886589a3dbf7f00b9b7a119fd396cdb4e·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
162 10&gt;·</span><span·class="p"·data-group-id="0083753428-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0083753428-6">{</span><span·class="p"·data-group-id="0083753428-7">{</span><span·class="n">NewVersion</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·446,·SHA:·70d36d16d4fb7e3bb8f1c713423d085831fa13ebf5f527296e597acee9beda18·...·]-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">162 10&gt;·</span><span·class="p"·data-group-id="2549322959-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2549322959-6">{</span><span·class="p"·data-group-id="2549322959-7">{</span><span·class="n">NewVersion</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·446,·SHA:·33baf9c5a0815d2e7399995978b688d7b7c4be60e2cbe38ba6abcf5cb20dea7d·...·]-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
163 ·</span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="0083753428-8">(</span><span·class="nb">put</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0083753428-9">{</span><span·class="s">&quot;http:///v1/kv/foo&quot;</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·1778,·SHA:·69b19b091b2e3353e0295d576ff91dc9a7a088cae7893f38cb5419148e0502d9·...·]-2">)</span><span·class="p">.</span><span·class="w">163 ·</span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="nc">httpc</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="2549322959-8">(</span><span·class="nb">put</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2549322959-9">{</span><span·class="s">&quot;http:///v1/kv/foo&quot;</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·1778,·SHA:·a85ae50a92c6d77edea62daf3300af1baac23188f30c777c3fd046dc156302e3·...·]-2">)</span><span·class="p">.</span><span·class="w">
164 </span><span·class="p"·data-group-id="7937836291-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.45</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·513,·SHA:·70313e4ba65f278bc01956f001862a48c3706fd6fff18b8ab8a69525e0a0e0eb·...·]-1">)</span><span·class="p">.</span><span·class="w">164 </span><span·class="p"·data-group-id="9932812685-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.45</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·513,·SHA:·027a6d91a73ae11e5425144e76e6ca6f992ffbc09af1798836b1a29143d93050·...·]-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="9202591483-2">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">econnrefused</span><span·class="p"·data-group-id="9202591483-2">}</span></code></pre><p>Stop·the·HTTP·client·profile:</p><pre><code·class="ma[·...·truncated·by·diffoscope;·len:·351,·SHA:·db7afbf840c07db0d108a3225de1d10010a432720347cfeb2b655b128d296676·...·]-1">)</span><span·class="p">.</span><span·class="w">165 </span><span·class="p"·data-group-id="9724288347-2">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">econnrefused</span><span·class="p"·data-group-id="9724288347-2">}</span></code></pre><p>Stop·the·HTTP·client·profile:</p><pre><code·class="ma[·...·truncated·by·diffoscope;·len:·351,·SHA:·948f4ceea192c364e686a584cdb6c848cff388d63bcfe63a14228d95571cd9bc·...·]-1">)</span><span·class="p">.</span><span·class="w">
166 </span><span·class="ss">ok</span></code></pre><p>Alternative·way·to·stop·the·HTTP·client·profile:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">13&gt;·</span><span·class="nc">inets</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="3756330215-1">(</span><span·class="ss">httpc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="3756330215-1">)</span><span·class="p">.</span><span·class="w">166 </span><span·class="ss">ok</span></code></pre><p>Alternative·way·to·stop·the·HTTP·client·profile:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">13&gt;·</span><span·class="nc">inets</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="0787234455-1">(</span><span·class="ss">httpc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="0787234455-1">)</span><span·class="p">.</span><span·class="w">
167 </span><span·class="ss">ok</span></code></pre>167 </span><span·class="ss">ok</span></code></pre>
168 </div>168 </div>
  
169 <div·class="bottom-actions"·id="bottom-actions">169 <div·class="bottom-actions"·id="bottom-actions">
170 ··<div·class="bottom-actions-item">170 ··<div·class="bottom-actions-item">
  
171 ······<a·href="inets_services.html"·class="bottom-actions-button"·rel="prev">171 ······<a·href="inets_services.html"·class="bottom-actions-button"·rel="prev">
Offset 211, 15 lines modifiedOffset 211, 15 lines modified
211 ······<p·class="built-using">211 ······<p·class="built-using">
212 ········Built·using212 ········Built·using
213 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the213 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
214 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>214 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
215 ······</p>215 ······</p>
216 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>216 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
217 ····</footer>217 ····</footer>
218 ··</div>218 ··</div>
219 </main>219 </main>
220 </div>220 </div>
221 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>221 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
222 ··<script>222 ··<script>
223 ··let·initialized·=·false;223 ··let·initialized·=·false;
584 B
html2text {}
Max HTML report size reached
54.6 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/http_server.html
    
Offset 137, 54 lines modifiedOffset 137, 54 lines modified
137 underlying·mechanisms·also·do·so.</p><p>The·server·implements·numerous·features,·such·as:</p><ul><li>Secure·Sockets·Layer·(SSL)</li><li>Erlang·Scripting·Interface·(ESI)</li><li>Common·Gateway·Interface·(CGI)</li><li>User·Authentication·(using·Mnesia,·Dets·or·plain·text·database)</li><li>Common·Logfile·Format·(with·or·without·disk_log(3)·support)</li><li>URL·Aliasing</li><li>Action·Mappings</li><li>Directory·Listings</li></ul><p>The·configuration·of·the·server·is·provided·as·an·Erlang·property·list.</p><p>As·of·<code·class="inline">Inets</code>·5.0·the·HTTP·server·is·an·easy·to·start/stop·and·customize·web137 underlying·mechanisms·also·do·so.</p><p>The·server·implements·numerous·features,·such·as:</p><ul><li>Secure·Sockets·Layer·(SSL)</li><li>Erlang·Scripting·Interface·(ESI)</li><li>Common·Gateway·Interface·(CGI)</li><li>User·Authentication·(using·Mnesia,·Dets·or·plain·text·database)</li><li>Common·Logfile·Format·(with·or·without·disk_log(3)·support)</li><li>URL·Aliasing</li><li>Action·Mappings</li><li>Directory·Listings</li></ul><p>The·configuration·of·the·server·is·provided·as·an·Erlang·property·list.</p><p>As·of·<code·class="inline">Inets</code>·5.0·the·HTTP·server·is·an·easy·to·start/stop·and·customize·web
138 server·providing·the·most·basic·web·server·functionality.·Inets·is·designed·for138 server·providing·the·most·basic·web·server·functionality.·Inets·is·designed·for
139 embedded·systems·and·if·you·want·a·full-fledged·web·server·there·are·other139 embedded·systems·and·if·you·want·a·full-fledged·web·server·there·are·other
140 erlang·open·source·alternatives.</p><p>Almost·all·server·functionality·has·been·implemented·using·an·especially·crafted140 erlang·open·source·alternatives.</p><p>Almost·all·server·functionality·has·been·implemented·using·an·especially·crafted
141 server·API,·which·is·described·in·the·Erlang·Web·Server·API.·This·API·can·be141 server·API,·which·is·described·in·the·Erlang·Web·Server·API.·This·API·can·be
142 used·to·enhance·the·core·server·functionality,·for·example·with·custom·logging142 used·to·enhance·the·core·server·functionality,·for·example·with·custom·logging
143 and·authentication.</p><p>The·following·is·to·be·put·in·the·Erlang·node·application·configuration·file·to143 and·authentication.</p><p>The·following·is·to·be·put·in·the·Erlang·node·application·configuration·file·to
144 start·an·HTTP·server·at·application·startup:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6425746089-1">[</span><span·class="p"·data-group-id="6425746089-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6425746089-3">[</span><span·class="p"·data-group-id="6425746089-4">{</span><span·class="ss">services</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6425746089-5">[</span><span·class="p"·data-group-id="6425746089-6">{</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6425746089-7">[</span><span·class="p"·data-group-id="6425746089-8">{</span><span·class="ss">proplist_file</span><span·class="p">,</span><span·class="w"> 
145 ···········</span><span·class="s">&quot;/var/tmp/server_root/conf/8888_props.conf&quot;</span><span·class="p"·data-group-id="6425746089-8">}</span><span·class="p"·data-group-id="6425746089-7">]</span><span·class="p"·data-group-id="6425746089-6">}</span><span·class="p">,</span><span·class="w">144 start·an·HTTP·server·at·application·startup:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7366866541-1">[</span><span·class="p"·data-group-id="7366866541-2">{</span><span·class="ss">inets</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·528,·SHA:·bea4eb335723dd95568922354145db6ceb0e3fe65bba1f279647dab222f9ed46·...·]</span><span·class="p">,</span><span·class="w">
 145 ···········</span><span·class="s">&quot;/var/tmp/server_root/conf/8888_props.conf&quot;</span><span·class="p"·data-group-id="7366866541-8">}</span><span·class="p"·data-group-id="7366866541-7">]</span><span·class="p"·data-group-id="7366866541-6">}</span><span·class="p">,</span><span·class="w">
146 ··········</span><span·class="p"·data-group-id="6425746089-9">{</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6425746089-10">[</span><span·class="p"·data-group-id="6425746089-11">{</span><span·class="ss">proplist_file</span><span·class="p">,</span><span·class="w">146 ··········</span><span·class="p"·data-group-id="7366866541-9">{</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7366866541-10">[</span><span·class="p"·data-group-id="7366866541-11">{</span><span·class="ss">proplist_file</span><span·class="p">,</span><span·class="w">
147 ···········</span><span·class="s">&quot;/var/tmp/server_root/conf/8080_props.conf&quot;</span><span·class="p"·data-group-id="6425746089-11">}</span><span·class="p"·data-group-id="6425746089-10">]</span><span·class="p"·data-group-id="6425746089-9">}</span><span·class="p"·data-group-id="6425746089-5">]</span><span·class="p"·data-group-id="6425746089-4">}</span><span·class="p"·data-group-id="6425746089-3">]</span><span·class="p"·data-group-id="6425746089-2">}</span><span·class="p"·data-group-id="6425746089-1">]</span><span·class="p">.</span></code></pre><p>The·server·is·configured·using·an·Erlang·property·list.·For·the·available 
148 properties,·see·<a·href="httpd.html"><code·class="inline">httpd</code></a>.</p><p>The·available·configuration·properties·are·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">httpd_service</span><span·class="p"·data-group-id="5213360390-1">(</span><span·class="p"·data-group-id="5213360390-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5213360390-2">{</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">httpd</span><span·class="p"·data-group-id="5213360390-3">(</span><span·class="p"·data-group-id="5213360390-3">)</span><span·class="p"·data-group-id="5213360390-2">}</span><span·class="w"> 
149 </span><span·class="nf">httpd</span><span·class="p"·data-group-id="5213360390-4">(</span><span·class="p"·data-group-id="5213360390-4">)</span><span·class="w">·········</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5213360390-5">[</span><span·class="nf">httpd_config</span><span·class="p"·data-group-id="5213360390-6">(</span><span·class="p"·data-group-id="5213360390-6">)</span><span·class="p"·data-group-id="5213360390-5">]</span><span·class="w"> 
150 </span><span·class="nf">httpd_config</span><span·class="p"·data-group-id="5213360390-7">(</span><span·class="p"·data-group-id="5213360390-7">)</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·311,·SHA:·990a7f10facc68a6f0b8ab60d599b2dca8fb97733b58bffdd019610e6d74cab9·...·]147 ···········</span><span·class="s">&quot;/var/tmp/server_root/conf/8080_props.conf&quot;</span><span·class="p"·data-group-id="7366866541-11">}</span><span·class="p"·data-group-id="7366866541-10">]</span><span·class="p"·data-group-id="7366866541-9">}</span><[·...·truncated·by·diffoscope;·len:·377,·SHA:·54b6af0eb39216a163a1d087dffbdcf5654c20f122923fbcbef1ce015ecb8e87·...·]
 148 properties,·see·<a·href="httpd.html"><code·class="inline">httpd</code></a>.</p><p>The·available·configuration·properties·are·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">httpd_service</span><span·class="p"·data-group-id="5880947935-1">(</span><span·class="p"·data-group-id="5880947935-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5880947935-2">{</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">httpd</span><span·class="p"·data-group-id="5880947935-3">(</span><span·class="p"·data-group-id="5880947935-3">)</span><span·class="p"·data-group-id="5880947935-2">}</span><span·class="w">
 149 </span><span·class="nf">httpd</span><span·class="p"·data-group-id="5880947935-4">(</span><span·class="p"·data-group-id="5880947935-4">)</span><span·class="w">·········</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5880947935-5">[</span><span·class="nf">httpd_config</span><span·class="p"·data-group-id="5880947935-6">(</span><span·class="p"·data-group-id="5880947935-6">)</span><span·class="p"·data-group-id="5880947935-5">]</span><span·class="w">
 150 </span><span·class="nf">httpd_config</span><span·class="p"·data-group-id="5880947935-7">(</span><span·class="p"·data-group-id="5880947935-7">)</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5880947935-8">{</span><span·class="ss">proplist_file</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">file</span><span·class="p"·data-group-id="5880947935-9">(</span><span·class="p"·data-group-id="5880947935-9">)</span><span·class="p"·data-group-id="5880947935-8">}</span><span·class="w">
151 ···················</span><span·class="p"·data-group-id="5213360390-10">{</span><span·class="ss">debug</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">debug</span><span·class="p"·data-group-id="5213360390-11">(</span><span·class="p"·data-group-id="5213360390-11">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·f76c7606a93603ed49b126d3a1105f175b522a1a353bfa1b5686c12068d5b68a·...·]-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">151 ···················</span><span·class="p"·data-group-id="5880947935-10">{</span><span·class="ss">debug</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">debug</span><span·class="p"·data-group-id="5880947935-11">(</span><span·class="p"·data-group-id="5880947935-11">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·975da74dda3a48a5817bdad5f011917d3a37a692b4653f7fd4c09c9e0f03c979·...·]-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
152 ···················</span><span·class="p"·data-group-id="5213360390-12">{</span><span·class="ss">accept_timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5213360390-13">(</span><span·class="p"·data-group-id="5213360390-13">)</span><span·class="p"·data-group-id="5213360390-12">}</span><span·class="w"> 
153 </span><span·class="nf">debug</span><span·class="p"·data-group-id="5213360390-14">(</span><span·class="p"·data-group-id="5213360390-14">)</span><span·class="w">·········</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">disable</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="5213360390-15">[</span><span·class="nf">debug_options</span><span·class="p"·data-group-id="5213360390-16">(</span><span·class="p"·data-group-id="5213360390-16">)</span><span·class="p"·data-group-id="5213360390-15">]</span><span·class="w"> 
154 </span><span·class="nf">debug_options</span><span·class="p"·data-group-id="5213360390-17">(</span><span·class="p"·data-group-id="5213360390-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5213360390-18">{</span><span·class="ss">all_functions</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">modules</span><span·class="p"·data-group-id="5213360390-19">(</span><span·class="p"·data-group-id="5213360390-19">)</span><span·class="p"·data-group-id="5213360390-18">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w"> 
155 ···················</span><span·class="p"·data-group-id="5213360390-20">{</span><span·class="ss">exported_functions</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">modules</span><span·class="p"·data-group-id="5213360390-21">(</span><span·class="p"·data-group-id="5213360390-21">)</span><span[·...·truncated·by·diffoscope;·len:·90,·SHA:·b8888fe705239674e98265fa490cf5ed61af6f4cb1bc5d919e9591ea9bc59d6f·...·]</span><span·class="w">152 ···················</span><span·class="p"·data-group-id="5880947935-12">{</span><span·class="ss">accept_timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5880947935-13">(</span><span·class="p"·data-group-id="5880947935-13">)</span><span·cla[·...·truncated·by·diffoscope;·len:·38,·SHA:·a25fff57d2a17f4ce344f160b9c2400c7dca144be681ce8c4e3585b44ae13d7c·...·]</span><span·class="w">
 153 </span><span·class="nf">debug</span><span·class="p"·data-group-id="5880947935-14">(</span><span·class="p"·data-group-id="5880947935-14">)</span><span·class="w">·········</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">disable</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="5880947935-15">[</span><span·class="nf">debug_options</span><span·class="p"·data-group-id="5880947935-16">(</span><span·class="p"·data-group-id="5880947935-16">)</span><span·class="p"·data-group-id="5880947935-15">]</span><span·class="w">
 154 </span><span·class="nf">debug_options</span><span·class="p"·data-group-id="5880947935-17">(</span><span·class="p"·data-group-id="5880947935-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5880947935-18">{</span><span·class="ss">all_functions</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">modules</span><span·class="p"·data-group-id="5880947935-19">(</span><span·class="p"·data-group-id="5880947935-19">)</span><span·class="p"·data-group-id="5880947935-18">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
 155 ···················</span><span·class="p"·data-group-id="5880947935-20">{</span><span·class="ss">exported_functions</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">modules</span><span·class="p"·data-group-id="5880947935-21">(</span><span·class="p"·data-group-id="5880947935-21">)</span><span·class="p"·data-group-id="5880947935-20">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
156 ···················</span><span·class="p"·data-group-id="5213360390-22">{</span><span·class="ss">disable</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">modules</span><span·class="p"·data-group-id="5213360390-23">(</span><span·class="p"·data-group-id="5213360390-23">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·94022a40162beb503359a4141e926c19da9a6c7e27f41b6bea9ae163c45186ef·...·]-22">}</span><span·class="w">156 ···················</span><span·class="p"·data-group-id="5880947935-22">{</span><span·class="ss">disable</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">modules</span><span·class="p"·data-group-id="5880947935-23">(</span><span·class="p"·data-group-id="5880947935-23">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·fa609bc4003866269096039f8e3527d9a4a5aebcb6e464f63198850a284a2737·...·]-22">}</span><span·class="w">
157 </span><span·class="nf">modules</span><span·class="p"·data-group-id="5213360390-24">(</span><span·class="p"·data-group-id="5213360390-24">)</span><span·class="w">·······</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5213360390-25">[</span><span·class="nf">atom</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·133,·SHA:·9e6a00e25c22ccf12463e083919c67b8bfffafc1c65b639ab2bf2a21721fe562·...·]-25">]</span></code></pre><p>Here:</p><ul><li><p><strong><code·class="inline">{proplist_file,·file()}</code></strong>·-·File·containing·an·Erlang·property·list,157 </span><span·class="nf">modules</span><span·class="p"·data-group-id="5880947935-24">(</span><span·class="p"·data-group-id="5880947935-24">)</span><span·class="w">·······</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5880947935-25">[</span><span·class="nf">atom</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·133,·SHA:·cfa0e7e67b9cbdf34da19c7a7f257c68ee9d27be041f40e380089220402ff23f·...·]-25">]</span></code></pre><p>Here:</p><ul><li><p><strong><code·class="inline">{proplist_file,·file()}</code></strong>·-·File·containing·an·Erlang·property·list,
158 followed·by·a·full·stop,·describing·the·HTTP·server·configuration.</p></li><li><p><strong><code·class="inline">{debug,·debug()}</code></strong>·-·Can·enable·trace·on·all·functions·or·only·exported158 followed·by·a·full·stop,·describing·the·HTTP·server·configuration.</p></li><li><p><strong><code·class="inline">{debug,·debug()}</code></strong>·-·Can·enable·trace·on·all·functions·or·only·exported
159 functions·on·chosen·modules.</p></li><li><p><strong><code·class="inline">{accept_timeout,·integer()}</code></strong>·-·Sets·the·wanted·time-out·value·for·the159 functions·on·chosen·modules.</p></li><li><p><strong><code·class="inline">{accept_timeout,·integer()}</code></strong>·-·Sets·the·wanted·time-out·value·for·the
160 server·to·set·up·a·request·connection.</p></li></ul><h2·id="getting-started"·class="section-heading">160 server·to·set·up·a·request·connection.</p></li></ul><h2·id="getting-started"·class="section-heading">
161 ··<a·href="#getting-started"·class="hover-link">161 ··<a·href="#getting-started"·class="hover-link">
162 ····<i·class="ri-link-m"·aria-hidden="true"></i>162 ····<i·class="ri-link-m"·aria-hidden="true"></i>
163 ··</a>163 ··</a>
164 ··<span·class="text">Getting·Started</span>164 ··<span·class="text">Getting·Started</span>
165 </h2>165 </h2>
166 <p><a·href=""·id="using_http_server_api"></a></p><p>Start·<code·class="inline">Inets</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">inets</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="2934703571-1">(</span><span·class="p"·data-group-id="2934703571-1">)</span><span·class="p">.</span><span·class="w">166 <p><a·href=""·id="using_http_server_api"></a></p><p>Start·<code·class="inline">Inets</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">inets</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="7990457308-1">(</span><span·class="p"·data-group-id="7990457308-1">)</span><span·class="p">.</span><span·class="w">
167 </span><span·class="ss">ok</span></code></pre><p>Start·an·HTTP·server·with·minimal·required·configuration.·If·you·specify·port167 </span><span·class="ss">ok</span></code></pre><p>Start·an·HTTP·server·with·minimal·required·configuration.·If·you·specify·port
168 <code·class="inline">0</code>,·an·arbitrary·available·port·is·used,·and·you·can·use·function·<code·class="inline">info</code>·to168 <code·class="inline">0</code>,·an·arbitrary·available·port·is·used,·and·you·can·use·function·<code·class="inline">info</code>·to
169 find·which·port·number·that·was·picked:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="5817266733-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="5817266733-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·703,·SHA:·fa691603dfced67b4c42796e2190431e940c764eafd533e31de3b3e99779df30·...·]-5">}</span><span·class="p">,</span><span·class="w">169 find·which·port·number·that·was·picked:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="6810087766-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="6810087766-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·703,·SHA:·4afb55877eb8f16263ba19f2c9f1ae63423b5958fdc67746982ea099e6599293·...·]-5">}</span><span·class="p">,</span><span·class="w">
170 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="p"·data-group-id="5817266733-6">{</span><span·class="ss">document_root</span><span·class="p">,</span><span·class="s">&quot;/tmp/htdocs&quot;</span><span·class="p"·data-group-id="5817266733-6">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·302,·SHA:·9e47c9f0573373eafda461ac444d23ccb6c1e509b816e3c526c28c561c8975c5·...·]-2">)</span><span·class="p">.</span><span·class="w">170 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="p"·data-group-id="6810087766-6">{</span><span·class="ss">document_root</span><span·class="p">,</span><span·class="s">&quot;/tmp/htdocs&quot;</span><span·class="p"·data-group-id="6810087766-6">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·302,·SHA:·5327f9d9e1fb83de0fecbb2ec9e6ccb35b37f64400d9d4f376588f948cc5b00f·...·]-2">)</span><span·class="p">.</span><span·class="w">
171 </span><span·class="p"·data-group-id="5817266733-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="mf">0.79</span><span·class="p">.</span><span·class="mi">0</span><span·class="p"·data-group-id="5817266733-8">}</span></code></pre><p>Call·<code·cla[·...·truncated·by·diffoscope;·len:·320,·SHA:·04312da887a8de00a612a274102bb351b5c07d50608a29339b8a020e73a9aeca·...·]-1">)</span><span·class="p">.</span><span·class="w">171 </span><span·class="p"·data-group-id="6810087766-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="mf">0.79</span><span·class="p">.</span><span·class="mi">0</span><span·class="p"·data-group-id="6810087766-8">}</span></code></pre><p>Call·<code·cla[·...·truncated·by·diffoscope;·len:·320,·SHA:·23944ead92d7b4fbd45d1986f2732f5951119975511202ec4295f4dc8f8fa4ad·...·]-1">)</span><span·class="p">.</span><span·class="w">
172 </span><span·class="p"·data-group-id="9755743769-2">[</span><span·class="p"·data-group-id="9755743769-3">{</span><span·class="ss">mime_types</span><span·class="p">,</span><span·class="p"·data-group-id="9755743769-4">[</span><span·class="p"·data-group-id="9755743769-5">{</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·473,·SHA:·a40a0116d5d6aaaca4c27644a180e7605a68ebf7cdaa7ae16296ab4d1faaf2e7·...·]-3">}</span><span·class="p">,</span><span·class="w">172 </span><span·class="p"·data-group-id="4039755416-2">[</span><span·class="p"·data-group-id="4039755416-3">{</span><span·class="ss">mime_types</span><span·class="p">,</span><span·class="p"·data-group-id="4039755416-4">[</span><span·class="p"·data-group-id="4039755416-5">{</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·473,·SHA:·5ae27b740c189191df54053e589ee67462adbc1f52601f3fa97447d0c7542143·...·]-3">}</span><span·class="p">,</span><span·class="w">
173 ·</span><span·class="p"·data-group-id="9755743769-7">{</span><span·class="ss">server_name</span><span·class="p">,</span><span·class="s">&quot;machine.local&quot;</span><span·class="p"·data-group-id="9755743769-7">}</span><span·class="p">,</span><span·class="w">173 ·</span><span·class="p"·data-group-id="4039755416-7">{</span><span·class="ss">server_name</span><span·class="p">,</span><span·class="s">&quot;machine.local&quot;</span><span·class="p"·data-group-id="4039755416-7">}</span><span·class="p">,</span><span·class="w">
174 ·</span><span·class="p"·data-group-id="9755743769-8">{</span><span·class="ss">bind_address</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9755743769-9">{</span><span·class="mi">127</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·171,·SHA:·1528457c01d2951f45ce5eb33d1ac79c1c1e3d9f6ea4541e9db2d917ae109dfc·...·]-8">}</span><span·class="p">,</span><span·class="w">174 ·</span><span·class="p"·data-group-id="4039755416-8">{</span><span·class="ss">bind_address</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4039755416-9">{</span><span·class="mi">127</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·171,·SHA:·a524878f5b2db483fdc438c95a379a338ffed204268e6f0a68b10ba6f74d4c28·...·]-8">}</span><span·class="p">,</span><span·class="w">
175 ·</span><span·class="p"·data-group-id="9755743769-10">{</span><span·class="ss">server_root</span><span·class="p">,</span><span·class="s">&quot;/tmp&quot;</span><span·class="p"·data-group-id="9755743769-10">}</span><span·class="p">,</span><span·class="w">175 ·</span><span·class="p"·data-group-id="4039755416-10">{</span><span·class="ss">server_root</span><span·class="p">,</span><span·class="s">&quot;/tmp&quot;</span><span·class="p"·data-group-id="4039755416-10">}</span><span·class="p">,</span><span·class="w">
176 ·</span><span·class="p"·data-group-id="9755743769-11">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="mi">59408</span><span·class="p"·data-group-id="9755743769-11">}</span><span·class="p">,</span><span·class="w">176 ·</span><span·class="p"·data-group-id="4039755416-11">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="mi">59408</span><span·class="p"·data-group-id="4039755416-11">}</span><span·class="p">,</span><span·class="w">
177 ·</span><span·class="p"·data-group-id="9755743769-12">{</span><span·class="ss">document_root</span><span·class="p">,</span><span·class="s">&quot;/tmp/htdocs&quot;</span><span·class="p"·data-group-id="9755743769-12">}</span><span·class="p">,</span><span·class="w">177 ·</span><span·class="p"·data-group-id="4039755416-12">{</span><span·class="ss">document_root</span><span·class="p">,</span><span·class="s">&quot;/tmp/htdocs&quot;</span><span·class="p"·data-group-id="4039755416-12">}</span><span·class="p">,</span><span·class="w">
178 ·</span><span·class="p"·data-group-id="9755743769-13">{</span><span·class="ss">ipfamily</span><span·class="p">,</span><span·class="ss">inet</span><span·class="p"·data-group-id="9755743769-13">}</span><span·class="p"·data-group-id="9755743769-2">]</span></code></pre><p>Reload·the·configuration·w[·...·truncated·by·diffoscope;·len:·519,·SHA:·955d07dcdffecf83abc5f223115e96d8930ccb1a11c55f1dc5f3ee7afc49ab2c·...·]-3">}</span><span·class="p">,</span><span·class="w">178 ·</span><span·class="p"·data-group-id="4039755416-13">{</span><span·class="ss">ipfamily</span><span·class="p">,</span><span·class="ss">inet</span><span·class="p"·data-group-id="4039755416-13">}</span><span·class="p"·data-group-id="4039755416-2">]</span></code></pre><p>Reload·the·configuration·w[·...·truncated·by·diffoscope;·len:·519,·SHA:·c05133825012519be3a07c11fffbc61649298e09da4366bcd48b7bf6c346e8a0·...·]-3">}</span><span·class="p">,</span><span·class="w">
179 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="p"·data-group-id="6228357813-4">{</span><span·class="ss">server_root</span><span·class="p">,</span><span·class="s">&quot;/tmp/www_test&quot;</span><span·class="p"·data-group-id="6228357813-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·184,·SHA:·ec6d4af820e36ba4a6671d8ec861e177f973dd7c2a02275b9c3d00aaac2e15f3·...·]-5">}</span><span·class="p">,</span><span·class="w">179 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="p"·data-group-id="0043354311-4">{</span><span·class="ss">server_root</span><span·class="p">,</span><span·class="s">&quot;/tmp/www_test&quot;</span><span·class="p"·data-group-id="0043354311-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·184,·SHA:·2baac0ff36b36471f7b1676aa1d032abe378402a7fe78aa9cbbe08497fb81d94·...·]-5">}</span><span·class="p">,</span><span·class="w">
180 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="p"·data-group-id="6228357813-6">{</span><span·class="ss">bind_address</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;localhost&quot;</span><span·class="p"·data-group-id="6228357813-6">}</span><span·class="p"·data-group-id="6228357813-2">]</span>[·...·truncated·by·diffoscope;·len:·127,·SHA:·db3e8cf2b2df3a60cd82b2a41bf8bcd453e1f4a39f808d026cf847f506e43d98·...·]-1">)</span><span·class="p">.</span><span·class="w">180 </span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="p"·data-group-id="0043354311-6">{</span><span·class="ss">bind_address</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;localhost&quot;</span><span·class="p"·data-group-id="0043354311-6">}</span><span·class="p"·data-group-id="0043354311-2">]</span>[·...·truncated·by·diffoscope;·len:·127,·SHA:·a01ff557406eba8bf31af791fa611661c372425198ddf0684c34cf44723578aa·...·]-1">)</span><span·class="p">.</span><span·class="w">
181 </span><span·class="ss">ok</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p><code·class="inline">port</code>·and·<code·class="inline">bind_address</code>·cannot·be·changed.·Clients·trying·to·access·the181 </span><span·class="ss">ok</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p><code·class="inline">port</code>·and·<code·class="inline">bind_address</code>·cannot·be·changed.·Clients·trying·to·access·the
182 server·during·the·reload·get·a·service·temporary·unavailable·answer.</p></section><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">httpd</span><span·class="p">:</span><span·class="nf">info</span><span·class="p"·data-group-id="0623730564-1">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0623730564-2">[</span><span·class="ss">server_root</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">document_root</span><span·class="p"·data-group-id="0623730564-2">]</span><span·class="p"·data-group-id="0623730564-1">)</span><span·class="p">.</span><span·class="w"> 
183 </span><span·class="p"·data-group-id="0623730564-3">[</span><span·class="p"·data-group-id="0623730564-4">{</span><span·class="ss">server_root</span><span·class="p">,</span><span·class="s">&quot;/tmp/www_test&quot;</span><span·class="p"·data-group-id="06237[·...·truncated·by·diffoscope;·len:·1948,·SHA:·c28ff876ffda66ea38172e5d1fddef8561886b0dd9fb41dc3fa6655e5aa33ae7·...·]>182 server·during·the·reload·get·a·service·temporary·unavailable·answer.</p></section><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">httpd</span><span·class="p">:</span><span·class="nf">info</span><s[·...·truncated·by·diffoscope;·len:·443,·SHA:·108f028e216e26065c23137a145bed6495174f05d522847fb0165b645cb95fe7·...·]>
 183 </span><span·class="p"·data-group-id="7896005299-3">[</span><span·class="p"·data-group-id="7896005299-4">{</span><span·class="ss">server_root</span><span·class="p">,</span><span·class="s">&quot;/tmp/www_test&quot;</span><span·class="p"·data-group-id="7896005299-4">}</span><span·class="p">,</span><span·class="p"·data-group-id="7896005299-5">{</span><span·class="ss">document_root</span><span·class="p">,</span><span·class="s">&quot;/tmp/www_test/htdocs&quot;</span><span·class="p"·data-group-id="7896005299-5">}</span><span·class="p"·data-group-id="7896005299-3">]</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">inets</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="4537901307-1">(</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="4537901307-1">)</span><span·class="p">.</span></code></pre><p>Alternative:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">inets</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="0109759309-1">(</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0109759309-2">{</span><span·class="p"·data-group-id="0109759309-3">{</span><span·class="mi">127</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="0109759309-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">59408</span><span·class="p"·data-group-id="0109759309-2">}</span><span·class="p"·data-group-id="0109759309-1">)</span><span·class="p">.</span></code></pre><p>Notice·that·<code·class="inline">bind_address</code>·must·be·the·IP·address·reported·by·function·<code·class="inline">info</code>
184 and·cannot·be·the·hostname·that·is·allowed·when·putting·in·<code·class="inline">bind_address</code>.</p><h2·id="dynamic-web-pages"·class="section-heading">184 and·cannot·be·the·hostname·that·is·allowed·when·putting·in·<code·class="inline">bind_address</code>.</p><h2·id="dynamic-web-pages"·class="section-heading">
185 ··<a·href="#dynamic-web-pages"·class="hover-link">185 ··<a·href="#dynamic-web-pages"·class="hover-link">
186 ····<i·class="ri-link-m"·aria-hidden="true"></i>186 ····<i·class="ri-link-m"·aria-hidden="true"></i>
187 ··</a>187 ··</a>
188 ··<span·class="text">Dynamic·Web·Pages</span>188 ··<span·class="text">Dynamic·Web·Pages</span>
189 </h2>189 </h2>
190 <p><a·href=""·id="dynamic_we_pages"></a></p><p><code·class="inline">Inets</code>·HTTP·server·provides·two·ways·of·creating·dynamic·web·pages,·each·with190 <p><a·href=""·id="dynamic_we_pages"></a></p><p><code·class="inline">Inets</code>·HTTP·server·provides·two·ways·of·creating·dynamic·web·pages,·each·with
Offset 301, 36 lines modifiedOffset 301, 36 lines modified
301 files,·Dets·databases·as·well·as·Mnesia·databases.</p><p>Uses·the·following·Erlang·Web·Server·API·interaction·data:</p><ul><li><code·class="inline">real_name</code>·-·from·<a·href="mod_alias.html"><code·class="inline">mod_alias</code></a></li></ul><p>Exports·the·following·Erlang·Web·Server·API·interaction·data:</p><ul><li><strong><code·class="inline">{remote_user,·User}</code></strong>·-·The·username·used·for·authentication.</li></ul><h4>Mnesia·As·Authentication·Database</h4><p>If·Mnesia·is·used·as·storage·method,·Mnesia·must·be·started·before·the·HTTP301 files,·Dets·databases·as·well·as·Mnesia·databases.</p><p>Uses·the·following·Erlang·Web·Server·API·interaction·data:</p><ul><li><code·class="inline">real_name</code>·-·from·<a·href="mod_alias.html"><code·class="inline">mod_alias</code></a></li></ul><p>Exports·the·following·Erlang·Web·Server·API·interaction·data:</p><ul><li><strong><code·class="inline">{remote_user,·User}</code></strong>·-·The·username·used·for·authentication.</li></ul><h4>Mnesia·As·Authentication·Database</h4><p>If·Mnesia·is·used·as·storage·method,·Mnesia·must·be·started·before·the·HTTP
302 server.·The·first·time·Mnesia·is·started,·the·schema·and·the·tables·must·be302 server.·The·first·time·Mnesia·is·started,·the·schema·and·the·tables·must·be
303 created·before·Mnesia·is·started.·A·simple·example·of·a·module·with·two303 created·before·Mnesia·is·started.·A·simple·example·of·a·module·with·two
304 functions·that·creates·and·start·Mnesia·is·provided·here.·Function304 functions·that·creates·and·start·Mnesia·is·provided·here.·Function
305 <code·class="inline">first_start/0</code>·is·to·be·used·the·first·time.·It·creates·the·schema·and·the305 <code·class="inline">first_start/0</code>·is·to·be·used·the·first·time.·It·creates·the·schema·and·the
306 tables.·<code·class="inline">start/0</code>·is·to·be·used·in·consecutive·startups.·<code·class="inline">start/0</code>·starts·Mnesia306 tables.·<code·class="inline">start/0</code>·is·to·be·used·in·consecutive·startups.·<code·class="inline">start/0</code>·starts·Mnesia
307 and·waits·for·the·tables·to·be·initiated.·This·function·must·only·be·used·when307 and·waits·for·the·tables·to·be·initiated.·This·function·must·only·be·used·when
308 the·schema·and·the·tables·are·already·created.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5042682161-1">(</span><span·class="ss">mnesia_test</span><span·class="p"·data-group-id="5042682161-1">)</span><span·class="p">.</span><span·class="w"> 
309 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5042682161-2">(</span><span·class="p"·data-group-id="5042682161-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class[·...·truncated·by·diffoscope;·len:·191,·SHA:·8ae984821edfb681994a5e18badd7ab842e21b885cdce1c9085bd6eacc091d01·...·]">)</span><span·class="p">.</span><span·class="w">308 the·schema·and·the·tables·are·already·created.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1083494766-1">(</span><span·class="ss">mnesia_test</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·27,·SHA:·3dcfc014c5f6bec85cf542d221011bdca229301d5b9c0f6ec1773a28e741f28c·...·]">)</span><span·class="p">.</span><span·class="w">
 309 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1083494766-2">(</span><span·class="p"·data-group-id="1083494766-3">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="ss">load_data</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="1083494766-3">]</span><span·class="p"·data-group-id="1083494766-2">)</span><span·class="p">.</span><span·class="w">
310 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="5042682161-4">(</span><span·class="s">&quot;mod_auth.hrl&quot;</span><span·class="p"·data-group-id="5042682161-4">)</span><span·class="p">.</span><span·class="w">310 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="1083494766-4">(</span><span·class="s">&quot;mod_auth.hrl&quot;</span><span·class="p"·data-group-id="1083494766-4">)</span><span·class="p">.</span><span·class="w">
  
311 </span><span·class="nf">first_start</span><span·class="p"·data-group-id="5042682161-5">(</span><span·class="p"·data-group-id="5042682161-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">311 </span><span·class="nf">first_start</span><span·class="p"·data-group-id="1083494766-5">(</span><span·class="p"·data-group-id="1083494766-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
312 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_schema</span><span·class="p"·data-group-id="5042682161-6">(</span><span·class="p"·data-group-id="5042682161-7">[</span><span·class="nf">node</span><span·class="p"·data-group-id="5042682161-8">(</span><span·class="p"·data-group-id="5042682161-8">)</span><span·class="p"·data-group-id="5042682161-7">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·c40a0824261bce303ac9ac89b4688c9422be2c1215cb3c88bd8f36a1cc37c367·...·]-6">)</span><span·class="p">,</span><span·class="w">312 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_schema</span><span·class="p"·data-group-id="1083494766-6">(</span><span·class="p"·data-group-id="1083494766-7">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1083494766-8">(</span><span·class="p"·data-group-id="1083494766-8">)</span><span·class="p"·data-group-id="1083494766-7">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·8ccdc6ee4a6dbec546a5b20eb8ff575e2c1b8a042f3da11736054e4934484b4a·...·]-6">)</span><span·class="p">,</span><span·class="w">
313 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="5042682161-9">(</span><span·class="p"·data-group-id="5042682161-9">)</span><span·class="p">,</span><span·class="w">313 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="1083494766-9">(</span><span·class="p"·data-group-id="1083494766-9">)</span><span·class="p">,</span><span·class="w">
314 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="5042682161-10">(</span><span·class="ss">httpd_user</span><span·class="p">,</span><span·class="w">314 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="1083494766-10">(</span><span·class="ss">httpd_user</span><span·class="p">,</span><span·class="w">
315 ························</span><span·class="p"·data-group-id="5042682161-11">[</span><span·class="p"·data-group-id="5042682161-12">{</span><span·class="ss">type</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bag</span><span·class="p"·data-group-id="5042682161-12">}</span><span·class="p">,</span><span·class="w">315 ························</span><span·class="p"·data-group-id="1083494766-11">[</span><span·class="p"·data-group-id="1083494766-12">{</span><span·class="ss">type</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bag</span><span·class="p"·data-group-id="1083494766-12">}</span><span·class="p">,</span><span·class="w">
316 ·························</span><span·class="p"·data-group-id="5042682161-13">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5042682161-14">[</span><span·class="nf">node</span><span·class="p"·data-group-id="5042682161-15">(</span><span·class="p[·...·truncated·by·diffoscope;·len:·135,·SHA:·1a1e0d181ee75ea9e6f8087fa574eff0b31458a31f5b916df12ab19a6252e522·...·]-13">}</span><span·class="p">,</span><span·class="w">316 ·························</span><span·class="p"·data-group-id="1083494766-13">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1083494766-14">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1083494766-15">(</span><span·class="p[·...·truncated·by·diffoscope;·len:·135,·SHA:·33bb38a9ab6c4a831afb688f39a50400a5d912aa6072c4736f0ce7d4a64f0340·...·]-13">}</span><span·class="p">,</span><span·class="w">
317 ·························</span><span·class="p"·data-group-id="5042682161-16">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="5042682161-17">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">317 ·························</span><span·class="p"·data-group-id="1083494766-16">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="1083494766-17">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">
318 ··················································</span><span·class="ss">httpd_user</span><span·class="p"·data-group-id="5042682161-17">)</span><span·class="p"·data-group-id="5042682161-16">}</span><span·class="p"·data-group-id="5042682161-11">]</span><span·class="p"·data-group-id="5042682161-10">)</span><span·class="p">,</span><span·class="w">318 ··················································</span><span·class="ss">httpd_user</span><span·class="p"·data-group-id="1083494766-17">)</span><span·class="p"·data-group-id="1083494766-16">}</span><span·class="p"·data-group-id="1083494766-11">]</span><span·class="p"·data-group-id="1083494766-10">)</span><span·class="p">,</span><span·class="w">
319 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="5042682161-18">(</span><span·class="ss">httpd_group</span><span·class="p">,</span><span·class="w">319 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="1083494766-18">(</span><span·class="ss">httpd_group</span><span·class="p">,</span><span·class="w">
320 ························</span><span·class="p"·data-group-id="5042682161-19">[</span><span·class="p"·data-group-id="5042682161-20">{</span><span·class="ss">type</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bag</span><span·class="p"·data-group-id="5042682161-20">}</span><span·class="p">,</span><span·class="w">320 ························</span><span·class="p"·data-group-id="1083494766-19">[</span><span·class="p"·data-group-id="1083494766-20">{</span><span·class="ss">type</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bag</span><span·class="p"·data-group-id="1083494766-20">}</span><span·class="p">,</span><span·class="w">
321 ·························</span><span·class="p"·data-group-id="5042682161-21">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5042682161-22">[</span><span·class="nf">node</span><span·class="p"·data-group-id="5042682161-23">(</span><span·class="p[·...·truncated·by·diffoscope;·len:·135,·SHA:·23b066f83f15000bacbe1b4632058c8f6e7834516f668685de7d218dcf03e096·...·]-21">}</span><span·class="p">,</span><span·class="w">321 ·························</span><span·class="p"·data-group-id="1083494766-21">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1083494766-22">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1083494766-23">(</span><span·class="p[·...·truncated·by·diffoscope;·len:·135,·SHA:·ec1a0f9bc0f12cd78f602f1e08f23cfe6b3d8eba3cd05e558da300d8db166799·...·]-21">}</span><span·class="p">,</span><span·class="w">
322 ·························</span><span·class="p"·data-group-id="5042682161-24">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="5042682161-25">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">322 ·························</span><span·class="p"·data-group-id="1083494766-24">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="1083494766-25">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">
323 ··················································</span><span·class="ss">httpd_group</span><span·class="p"·data-group-id="5042682161-25">)</span><span·class="p"·data-group-id="5042682161-24">}</span><span·class="p"·data-group-id="5042682161-19">]</span><span·class="p"·data-group-id="5042682161-18">)</span><span·class="p">,</span><span·class="w">323 ··················································</span><span·class="ss">httpd_group</span><span·class="p"·data-group-id="1083494766-25">)</span><span·class="p"·data-group-id="1083494766-24">}</span><span·class="p"·data-group-id="1083494766-19">]</span><span·class="p"·data-group-id="1083494766-18">)</span><span·class="p">,</span><span·class="w">
324 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">wait_for_tables</span><span·class="p"·data-group-id="5042682161-26">(</span><span·class="p"·data-group-id="5042682161-27">[</span><span·class="ss">httpd_user</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">httpd_group</span><span·class="p"·data-group-id="5042682161-27">]</span><span·cl[·...·truncated·by·diffoscope;·len:·110,·SHA:·e60a467cb7c09a160b9e3c9077cfd81add30e5f6c3855012d0906a97f2c1b108·...·]-26">)</span><span·class="p">.</span><span·class="w">324 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">wait_for_tables</span><span·class="p"·data-group-id="1083494766-26">(</span><span·class="p"·data-group-id="1083494766-27">[</span><span·class="ss">httpd_user</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">httpd_group</span><span·class="p"·data-group-id="1083494766-27">]</span><span·cl[·...·truncated·by·diffoscope;·len:·110,·SHA:·33999ad87244056f2cd8dcd8ac34496229ce0eec8f04113277ca6a8e5ecb2d7e·...·]-26">)</span><span·class="p">.</span><span·class="w">
  
325 </span><span·class="nf">start</span><span·class="p"·data-group-id="5042682161-28">(</span><span·class="p"·data-group-id="5042682161-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">325 </span><span·class="nf">start</span><span·class="p"·data-group-id="1083494766-28">(</span><span·class="p"·data-group-id="1083494766-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
326 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="5042682161-29">(</span><span·class="p"·data-group-id="5042682161-29">)</span><span·class="p">,</span><span·class="w">326 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="1083494766-29">(</span><span·class="p"·data-group-id="1083494766-29">)</span><span·class="p">,</span><span·class="w">
327 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">wait_for_tables</span><span·class="p"·data-group-id="5042682161-30">(</span><span·class="p"·data-group-id="5042682161-31">[</span><span·class="ss">httpd_user</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">httpd_group</span><span·class="p"·data-group-id="5042682161-31">]</span><span·cl[·...·truncated·by·diffoscope;·len:·110,·SHA:·e60a467cb7c09a160b9e3c9077cfd81add30e5f6c3855012d0906a97f2c1b108·...·]-30">)</span><span·class="p">.</span></code></pre><p>To·create·the·Mnesia·tables,·we·use·two·records·defined·in·<code·class="inline">mod_auth.hrl</code>,·so327 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">wait_for_tables</span><span·class="p"·data-group-id="1083494766-30">(</span><span·class="p"·data-group-id="1083494766-31">[</span><span·class="ss">httpd_user</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">httpd_group</span><span·class="p"·data-group-id="1083494766-31">]</span><span·cl[·...·truncated·by·diffoscope;·len:·110,·SHA:·33999ad87244056f2cd8dcd8ac34496229ce0eec8f04113277ca6a8e5ecb2d7e·...·]-30">)</span><span·class="p">.</span></code></pre><p>To·create·the·Mnesia·tables,·we·use·two·records·defined·in·<code·class="inline">mod_auth.hrl</code>,·so
328 that·file·must·be·included.·<code·class="inline">first_start/0</code>·creates·a·schema·that·specifies·on328 that·file·must·be·included.·<code·class="inline">first_start/0</code>·creates·a·schema·that·specifies·on
329 which·nodes·the·database·is·to·reside.·Then·it·starts·Mnesia·and·creates·the329 which·nodes·the·database·is·to·reside.·Then·it·starts·Mnesia·and·creates·the
330 tables.·The·first·argument·is·the·name·of·the·tables,·the·second·argument·is·a330 tables.·The·first·argument·is·the·name·of·the·tables,·the·second·argument·is·a
331 list·of·options·of·how·to·create·the·table,·see·<a·href="../../../../lib/mnesia-4.24/doc/html/mnesia.html"><code·class="inline">mnesia</code></a>,·documentation·for331 list·of·options·of·how·to·create·the·table,·see·<a·href="../../../../lib/mnesia-4.24/doc/html/mnesia.html"><code·class="inline">mnesia</code></a>,·documentation·for
332 more·information.·As·the·implementation·of·the·<code·class="inline">mod_auth_mnesia</code>·saves·one·row332 more·information.·As·the·implementation·of·the·<code·class="inline">mod_auth_mnesia</code>·saves·one·row
333 for·each·user,·the·type·must·be·<code·class="inline">bag</code>.·When·the·schema·and·the·tables·are333 for·each·user,·the·type·must·be·<code·class="inline">bag</code>.·When·the·schema·and·the·tables·are
334 created,·function·<a·href="../../../../lib/mnesia-4.24/doc/html/mnesia.html#start/0"><code·class="inline">mnesia:start/0</code></a>·is·used·to·start·Mnesia·and·waits·for·the334 created,·function·<a·href="../../../../lib/mnesia-4.24/doc/html/mnesia.html#start/0"><code·class="inline">mnesia:start/0</code></a>·is·used·to·start·Mnesia·and·waits·for·the
Offset 481, 15 lines modifiedOffset 481, 15 lines modified
481 ······<p·class="built-using">481 ······<p·class="built-using">
482 ········Built·using482 ········Built·using
483 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the483 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
484 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>484 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
485 ······</p>485 ······</p>
486 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>486 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
487 ····</footer>487 ····</footer>
488 ··</div>488 ··</div>
489 </main>489 </main>
490 </div>490 </div>
491 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>491 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
492 ··<script>492 ··<script>
493 ··let·initialized·=·false;493 ··let·initialized·=·false;
661 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/http_uri.html
    
Offset 277, 15 lines modifiedOffset 277, 15 lines modified
277 ······<p·class="built-using">277 ······<p·class="built-using">
278 ········Built·using278 ········Built·using
279 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the279 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
280 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>280 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
281 ······</p>281 ······</p>
282 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>282 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
283 ····</footer>283 ····</footer>
284 ··</div>284 ··</div>
285 </main>285 </main>
286 </div>286 </div>
287 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>287 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
288 ··<script>288 ··<script>
289 ··let·initialized·=·false;289 ··let·initialized·=·false;
670 B
html2text {}
Max HTML report size reached
8.91 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/httpc.html
    
Offset 1037, 21 lines modifiedOffset 1037, 21 lines modified
1037 options.</p></section><p>By·default·the·socket·options·set·by·function1037 options.</p></section><p>By·default·the·socket·options·set·by·function
1038 <a·href="#set_options/1">set_options/1,2</a>·are·used·when·establishing·a·connection.</p></li><li><p><strong><code·class="inline">receiver</code></strong>·-·Defines·how·the·client·delivers·the·result·of·an·asynchronous1038 <a·href="#set_options/1">set_options/1,2</a>·are·used·when·establishing·a·connection.</p></li><li><p><strong><code·class="inline">receiver</code></strong>·-·Defines·how·the·client·delivers·the·result·of·an·asynchronous
1039 request·(<code·class="inline">sync</code>·has·the·value·<code·class="inline">false</code>).</p><ul><li><p><strong><a·href="../../../../erts-16.0/doc/html/erlang.html#t:pid/0"><code·class="inline">pid/0</code></a></strong>·-·Messages·are·sent·to·this·process·in·the·format1039 request·(<code·class="inline">sync</code>·has·the·value·<code·class="inline">false</code>).</p><ul><li><p><strong><a·href="../../../../erts-16.0/doc/html/erlang.html#t:pid/0"><code·class="inline">pid/0</code></a></strong>·-·Messages·are·sent·to·this·process·in·the·format
1040 <code·class="inline">{http,·ReplyInfo}</code>.</p></li><li><p><strong><a·href="../../../../erts-16.0/doc/html/erlang.html#alias/0"><code·class="inline">alias/0</code></a></strong>·-·Messages·are·sent·to·this·special·reference·in·the·format1040 <code·class="inline">{http,·ReplyInfo}</code>.</p></li><li><p><strong><a·href="../../../../erts-16.0/doc/html/erlang.html#alias/0"><code·class="inline">alias/0</code></a></strong>·-·Messages·are·sent·to·this·special·reference·in·the·format
1041 <code·class="inline">{http,·ReplyInfo}</code>.</p></li><li><p><strong><code·class="inline">function/1</code></strong>·-·Information·is·delivered·to·the·receiver·through·calls·to1041 <code·class="inline">{http,·ReplyInfo}</code>.</p></li><li><p><strong><code·class="inline">function/1</code></strong>·-·Information·is·delivered·to·the·receiver·through·calls·to
1042 the·provided·fun·<code·class="inline">Receiver(ReplyInfo)</code>.</p></li><li><p><strong><code·class="inline">{Module,·Function,·Args}</code></strong>·-·Information·is·delivered·to·the·receiver1042 the·provided·fun·<code·class="inline">Receiver(ReplyInfo)</code>.</p></li><li><p><strong><code·class="inline">{Module,·Function,·Args}</code></strong>·-·Information·is·delivered·to·the·receiver
1043 through·calls·to·the·callback·function1043 through·calls·to·the·callback·function
1044 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(Module,·Function,·[ReplyInfo·|·Args])</code></a>.</p></li></ul><p>In·all·of·these·cases,·<code·class="inline">ReplyInfo</code>·has·the·following·structure:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="p"·data-group-id="6066766580-1">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">saved_to_file</span><span·class="p"·data-group-id="6066766580-1">}</span><span·class="w">1044 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(Module,·Function,·[ReplyInfo·|·Args])</code></a>.</p></li></ul><p>In·all·of·these·cases,·<code·class="inline">ReplyInfo</code>·has·the·following·structure:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="p"·data-group-id="8701741367-1">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">saved_to_file</span><span·class="p"·data-group-id="8701741367-1">}</span><span·class="w">
1045 ·</span><span·class="p"·data-group-id="6066766580-2">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6066766580-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</[·...·truncated·by·diffoscope;·len:·99,·SHA:·b401e4f8142313ba1d59d2fb83b298fe2f3f572948c92ccd45da3891e8989e3e·...·]-2">}</span><span·class="w">1045 ·</span><span·class="p"·data-group-id="8701741367-2">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8701741367-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</[·...·truncated·by·diffoscope;·len:·99,·SHA:·2f5f5195a4a57115a6fa69643ef847a3ea24fde5cb0dfa57239329962b9b6939·...·]-2">}</span><span·class="w">
1046 ·</span><span·class="p"·data-group-id="6066766580-4">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="6066766580-4">}</span><span·class="w">1046 ·</span><span·class="p"·data-group-id="8701741367-4">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Result</span><span·class="p"·data-group-id="8701741367-4">}</span><span·class="w">
1047 ·</span><span·class="p"·data-group-id="6066766580-5">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stream_start</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Headers</span><span·class="p"·data-group-id="606676658[·...·truncated·by·diffoscope;·len:·1,·SHA:·5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9·...·]-5">}</span><span·class="w">1047 ·</span><span·class="p"·data-group-id="8701741367-5">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stream_start</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Headers</span><span·class="p"·data-group-id="870174136[·...·truncated·by·diffoscope;·len:·1,·SHA:·7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451·...·]-5">}</span><span·class="w">
1048 ·</span><span·class="p"·data-group-id="6066766580-6">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stream_start</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Headers</span><span·class="p">,</span><span·class="w">[·...·truncated·by·diffoscope;·len:·82,·SHA:·716605dc1860452f98491419947ef05be651e537e2eb16967971da10088e013e·...·]-6">}</span><span·class="w">1048 ·</span><span·class="p"·data-group-id="8701741367-6">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stream_start</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Headers</span><span·class="p">,</span><span·class="w">[·...·truncated·by·diffoscope;·len:·82,·SHA:·e77c46521f0a54482bdc97b61beda836f0abdf8d34d38773c51437c62caef499·...·]-6">}</span><span·class="w">
1049 ·</span><span·class="p"·data-group-id="6066766580-7">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stream</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BinBodyPart</span><span·class="p"·data-group-id="6066766580-7">}</span><span·class="w">1049 ·</span><span·class="p"·data-group-id="8701741367-7">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stream</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BinBodyPart</span><span·class="p"·data-group-id="8701741367-7">}</span><span·class="w">
1050 ·</span><span·class="p"·data-group-id="6066766580-8">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stream_end</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Headers</span><span·class="p"·data-group-id="6066766580-8">}</span></code></pre><p>Default·is·the·<code·class="inline">pid</code>·of·the·process·calling·the·request·function·(<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>).</p><p><a·href=""·id="ipv6_host_with_brackets"></a></p></li><li><p><strong><code·class="inline">ipv6_host_with_brackets</code></strong>·-·Defines·when·parsing·the·Host-Port·part·of·an1050 ·</span><span·class="p"·data-group-id="8701741367-8">{</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stream_end</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Headers</span><span·class="p"·data-group-id="8701741367-8">}</span></code></pre><p>Default·is·the·<code·class="inline">pid</code>·of·the·process·calling·the·request·function·(<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>).</p><p><a·href=""·id="ipv6_host_with_brackets"></a></p></li><li><p><strong><code·class="inline">ipv6_host_with_brackets</code></strong>·-·Defines·when·parsing·the·Host-Port·part·of·an
1051 URI·with·an·IPv6·address·with·brackets,·if·those·brackets·are·to·be·retained1051 URI·with·an·IPv6·address·with·brackets,·if·those·brackets·are·to·be·retained
1052 (<code·class="inline">true</code>)·or·stripped·(<code·class="inline">false</code>).</p><p>Default·is·<code·class="inline">false</code>.</p></li></ul>1052 (<code·class="inline">true</code>)·or·stripped·(<code·class="inline">false</code>).</p><p>Default·is·<code·class="inline">false</code>.</p></li></ul>
1053 ··</section>1053 ··</section>
1054 </section>1054 </section>
1055 <section·class="detail"·id="reset_cookies/0">1055 <section·class="detail"·id="reset_cookies/0">
  
1056 ··<div·class="detail-header">1056 ··<div·class="detail-header">
Offset 1561, 15 lines modifiedOffset 1561, 15 lines modified
1561 ······<p·class="built-using">1561 ······<p·class="built-using">
1562 ········Built·using1562 ········Built·using
1563 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1563 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1564 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1564 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1565 ······</p>1565 ······</p>
1566 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1566 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1567 ····</footer>1567 ····</footer>
1568 ··</div>1568 ··</div>
1569 </main>1569 </main>
1570 </div>1570 </div>
1571 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1571 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1572 ··<script>1572 ··<script>
1573 ··let·initialized·=·false;1573 ··let·initialized·=·false;
753 B
html2text {}
Max HTML report size reached
49.8 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/httpd.html
    
Offset 246, 57 lines modifiedOffset 246, 57 lines modified
246 }</code></pre><p>An·example·of·a·log·entry·with·only·default·settings·of·logger</p><pre><code·class="text">=ERROR·REPORT====·9-Oct-2019::09:33:27.350235·===246 }</code></pre><p>An·example·of·a·log·entry·with·only·default·settings·of·logger</p><pre><code·class="text">=ERROR·REPORT====·9-Oct-2019::09:33:27.350235·===
247 ···Server:·My·Server247 ···Server:·My·Server
248 ·Protocol:·HTTP248 ·Protocol:·HTTP
249 Transport:·TLS249 Transport:·TLS
250 ······URI:·/not_there250 ······URI:·/not_there
251 ·····Host:·127.0.1.1:80251 ·····Host:·127.0.1.1:80
252 ·····Peer:·127.0.0.1:45253252 ·····Peer:·127.0.0.1:45253
253 ···Reason:·[{statuscode,404},{description,&quot;Object·Not·Found&quot;}]</code></pre><p>Using·this·option·makes·mod_log·and·mod_disk_log·error·logs·redundant.</p><p>Add·the·filter</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1421067674-1">{</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">domain</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">253 ···Reason:·[{statuscode,404},{description,&quot;Object·Not·Found&quot;}]</code></pre><p>Using·this·option·makes·mod_log·and·mod_disk_log·error·logs·redundant.</p><p>Add·the·filter</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0981108140-1">{</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">domain</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">
254 ····</span><span·class="p"·data-group-id="1421067674-2">{</span><span·class="ss">log</span><span·class="p">,</span><span·class="ss">equal</span><span·class="p">,</span><span·class="p"·data-group-id="1421067674-3">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="ss">inets</sp[·...·truncated·by·diffoscope;·len:·330,·SHA:·0061fb46d57b9222c29b43e4d22d21670bea3de34a6d23ac3400f9f9836be0de·...·]-2">}</span></code></pre><p>to·appropriate·logger·handler·to·handle·the·events.·For·example·to·write·the254 ····</span><span·class="p"·data-group-id="0981108140-2">{</span><span·class="ss">log</span><span·class="p">,</span><span·class="ss">equal</span><span·class="p">,</span><span·class="p"·data-group-id="0981108140-3">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="ss">inets</sp[·...·truncated·by·diffoscope;·len:·330,·SHA:·501b60d39098e8444feeb083bf1bbbebe020f256b16e680ceb385d556b919b31·...·]-2">}</span></code></pre><p>to·appropriate·logger·handler·to·handle·the·events.·For·example·to·write·the
255 error·log·from·an·httpd·server·with·a·<code·class="inline">ServerID</code>·of·<code·class="inline">my_server</code>·to·a·file255 error·log·from·an·httpd·server·with·a·<code·class="inline">ServerID</code>·of·<code·class="inline">my_server</code>·to·a·file
256 you·can·use·the·following·sys.config:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2514833814-1">[</span><span·class="p"·data-group-id="2514833814-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">256 you·can·use·the·following·sys.config:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2496618910-1">[</span><span·class="p"·data-group-id="2496618910-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
257 ·</span><span·class="p"·data-group-id="2514833814-3">[</span><span·class="p"·data-group-id="2514833814-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">257 ·</span><span·class="p"·data-group-id="2496618910-3">[</span><span·class="p"·data-group-id="2496618910-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
258 ··</span><span·class="p"·data-group-id="2514833814-5">[</span><span·class="p"·data-group-id="2514833814-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">http_error_test</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">258 ··</span><span·class="p"·data-group-id="2496618910-5">[</span><span·class="p"·data-group-id="2496618910-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">http_error_test</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">
259 ····</span><span·class="p"·data-group-id="2514833814-7">#{</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2514833814-8">#{</span><span·class="w">·</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·172,·SHA:·067723300eba0fe8f33a05cd06acacfa500ce759fc6c70c61f29845685486258·...·]-8">}</span><span·class="p">,</span><span·class="w">259 ····</span><span·class="p"·data-group-id="2496618910-7">#{</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2496618910-8">#{</span><span·class="w">·</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·172,·SHA:·dab2db6cae5040402f002063ba0afadd60f517cac68ce2ef06c9b0323e338aa3·...·]-8">}</span><span·class="p">,</span><span·class="w">
260 ······</span><span·class="ss">filters</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2514833814-9">[</span><span·class="p"·data-group-id="2514833814-10">{</span><span·class="ss">inets_httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2514833814-11">{</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">domain</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">260 ······</span><span·class="ss">filters</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2496618910-9">[</span><span·class="p"·data-group-id="2496618910-10">{</span><span·class="ss">inets_httpd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2496618910-11">{</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">domain</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">
261 ·································</span><span·class="p"·data-group-id="2514833814-12">{</span><span·class="ss">log</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">equal</span><span·class="p">,</span><span·class="w">261 ·································</span><span·class="p"·data-group-id="2496618910-12">{</span><span·class="ss">log</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">equal</span><span·class="p">,</span><span·class="w">
262 ··································</span><span·class="p"·data-group-id="2514833814-13">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·146,·SHA:·2f421d383917d58011716a435a168acc1ee6b85d945056575ac81cc0c7ac1b52·...·]-13">]</span><span·class="w">262 ··································</span><span·class="p"·data-group-id="2496618910-13">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·146,·SHA:·85d163ecd62ae1509d305adffd050b535250215f0a8da71b36a78c48947c85bc·...·]-13">]</span><span·class="w">
263 ·································</span><span·class="p"·data-group-id="2514833814-12">}</span><span·class="p"·data-group-id="2514833814-11">}</span><span·class="p"·data-group-id="2514833814-10">}</span><span·class="p"·data-group-id="2514833814-9">]</span><span·class="p">,</span><span·class="w">263 ·································</span><span·class="p"·data-group-id="2496618910-12">}</span><span·class="p"·data-group-id="2496618910-11">}</span><span·class="p"·data-group-id="2496618910-10">}</span><span·class="p"·data-group-id="2496618910-9">]</span><span·class="p">,</span><span·class="w">
264 ······</span><span·class="ss">filter_default</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">stop</span><span·class="w">·</span><span·class="p"·data-group-id="2514833814-7">}</span><span·class="p"·data-group-id="2514833814-6">}</span><span·class="p"·data-group-id="2514833814-5">]</span><span·class="p"·data-group-id="2514833814-4">}</span><span·class="p"·data-group-id="2514833814-3">]</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·370,·SHA:·077720d3b3715783480f851fef9794a69d02275b10e92803836fdcbfc2209f87·...·]-1">(</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">264 ······</span><span·class="ss">filter_default</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">stop</span><span·class="w">·</span><span·class="p"·data-group-id="2496618910-7">}</span><span·class="p"·data-group-id="2496618910-6">}</span><span·class="p"·data-group-id="2496618910-5">]</span><span·class="p"·data-group-id="2496618910-4">}</span><span·class="p"·data-group-id="2496618910-3">]</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·370,·SHA:·2b846d95956bdabbd1bebf36c73d7e5bb1369d9db53e403483535ce6fa1eeb33·...·]-1">(</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">
265 ··························</span><span·class="ss">inets_httpd</span><span·class="p">,</span><span·class="w">265 ··························</span><span·class="ss">inets_httpd</span><span·class="p">,</span><span·class="w">
266 ··························</span><span·class="p"·data-group-id="4128463480-2">{</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">domain</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">266 ··························</span><span·class="p"·data-group-id="9377899956-2">{</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">domain</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">
267 ···························</span><span·class="p"·data-group-id="4128463480-3">{</span><span·class="ss">log</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">equal</span><span·class="p">,</span><span·class="w">267 ···························</span><span·class="p"·data-group-id="9377899956-3">{</span><span·class="ss">log</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">equal</span><span·class="p">,</span><span·class="w">
268 ····························</span><span·class="p"·data-group-id="4128463480-4">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·305,·SHA:·2944d76bd7e9f763b22b782d2465293a344c540ee1a915c0a84e790fcc626e13·...·]-1">)</span><span·class="p">.</span></code></pre></li></ul></li><li><p><a·href=""·id="prop_log_format"></a>·<strong><code·class="inline">{log_format,·common·|·combined}</code></strong><br/>Defines·if·access·logs·are·to·be·written·according·to·the·<code·class="inline">common</code>·log·format268 ····························</span><span·class="p"·data-group-id="9377899956-4">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">httpd</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·305,·SHA:·75e8d5b7ba7b7022b3a3bfa9f98e0b3bf7ae97adaeaceac27b5a7046f1f339a5·...·]-1">)</span><span·class="p">.</span></code></pre></li></ul></li><li><p><a·href=""·id="prop_log_format"></a>·<strong><code·class="inline">{log_format,·common·|·combined}</code></strong><br/>Defines·if·access·logs·are·to·be·written·according·to·the·<code·class="inline">common</code>·log·format
269 or·the·extended·common·log·format.·The·<code·class="inline">common</code>·format·is·one·line·looking269 or·the·extended·common·log·format.·The·<code·class="inline">common</code>·format·is·one·line·looking
270 like·this:·<code·class="inline">remotehost·rfc931·authuser·[date]·&quot;request&quot;·status·bytes</code>.</p><p>Here:</p><ul><li><p><strong><code·class="inline">remotehost</code></strong>·-·Remote.</p></li><li><p><strong><code·class="inline">rfc931</code></strong>·-·The·remote·username·of·the·client270 like·this:·<code·class="inline">remotehost·rfc931·authuser·[date]·&quot;request&quot;·status·bytes</code>.</p><p>Here:</p><ul><li><p><strong><code·class="inline">remotehost</code></strong>·-·Remote.</p></li><li><p><strong><code·class="inline">rfc931</code></strong>·-·The·remote·username·of·the·client
271 (<a·href="http://www.ietf.org/rfc/rfc931.txt">RFC·931</a>).</p></li><li><p><strong><code·class="inline">authuser</code></strong>·-·The·username·used·for·authentication.</p></li><li><p><strong><code·class="inline">[date]</code></strong>·-·Date·and·time·of·the·request271 (<a·href="http://www.ietf.org/rfc/rfc931.txt">RFC·931</a>).</p></li><li><p><strong><code·class="inline">authuser</code></strong>·-·The·username·used·for·authentication.</p></li><li><p><strong><code·class="inline">[date]</code></strong>·-·Date·and·time·of·the·request
272 (<a·href="http://www.ietf.org/rfc/rfc1123.txt">RFC·1123</a>).</p></li><li><p><strong><code·class="inline">&quot;request&quot;</code></strong>·-·The·request·line·as·it·came·from·the·client272 (<a·href="http://www.ietf.org/rfc/rfc1123.txt">RFC·1123</a>).</p></li><li><p><strong><code·class="inline">&quot;request&quot;</code></strong>·-·The·request·line·as·it·came·from·the·client
273 (<a·href="http://www.ietf.org/rfc/rfc1945.txt">RFC·1945</a>).</p></li><li><p><strong><code·class="inline">status</code></strong>·-·The·HTTP·status·code·returned·to·the·client273 (<a·href="http://www.ietf.org/rfc/rfc1945.txt">RFC·1945</a>).</p></li><li><p><strong><code·class="inline">status</code></strong>·-·The·HTTP·status·code·returned·to·the·client
274 (<a·href="http://www.ietf.org/rfc/rfc1945.txt">RFC·1945</a>).</p></li><li><p><strong><code·class="inline">bytes</code></strong>·-·The·content-length·of·the·document·transferred.</p></li></ul><p>The·<code·class="inline">combined</code>·format·is·one·line·looking·like·this:274 (<a·href="http://www.ietf.org/rfc/rfc1945.txt">RFC·1945</a>).</p></li><li><p><strong><code·class="inline">bytes</code></strong>·-·The·content-length·of·the·document·transferred.</p></li></ul><p>The·<code·class="inline">combined</code>·format·is·one·line·looking·like·this:
275 <code·class="inline">remotehost·rfc931·authuser·[date]·&quot;request&quot;·status·bytes·&quot;referer&quot;·&quot;user_agent&quot;</code></p><p>In·addition·to·the·earlier:</p><ul><li><p><strong><code·class="inline">&quot;referer&quot;</code></strong>·-·The·URL·the·client·was·on·before·requesting·the·URL·(if·it275 <code·class="inline">remotehost·rfc931·authuser·[date]·&quot;request&quot;·status·bytes·&quot;referer&quot;·&quot;user_agent&quot;</code></p><p>In·addition·to·the·earlier:</p><ul><li><p><strong><code·class="inline">&quot;referer&quot;</code></strong>·-·The·URL·the·client·was·on·before·requesting·the·URL·(if·it
276 could·not·be·determined,·a·minus·sign·is·placed·in·this·field).</p></li><li><p><strong><code·class="inline">&quot;user_agent&quot;</code></strong>·-·The·software·the·client·claims·to·be·using·(if·it·could276 could·not·be·determined,·a·minus·sign·is·placed·in·this·field).</p></li><li><p><strong><code·class="inline">&quot;user_agent&quot;</code></strong>·-·The·software·the·client·claims·to·be·using·(if·it·could
277 not·be·determined,·a·minus·sign·is·placed·in·this·field).</p></li></ul><p>This·affects·the·access·logs·written·by·<code·class="inline">mod_log</code>·and·<code·class="inline">mod_disk_log</code>.</p></li><li><p><a·href=""·id="prop_elog_format"></a>·<strong><code·class="inline">{error_log_format,·pretty·|·compact}</code></strong><br/>Default·is·<code·class="inline">pretty</code>.·If·the·error·log·is·meant·to·be·read·directly·by·a·human,277 not·be·determined,·a·minus·sign·is·placed·in·this·field).</p></li></ul><p>This·affects·the·access·logs·written·by·<code·class="inline">mod_log</code>·and·<code·class="inline">mod_disk_log</code>.</p></li><li><p><a·href=""·id="prop_elog_format"></a>·<strong><code·class="inline">{error_log_format,·pretty·|·compact}</code></strong><br/>Default·is·<code·class="inline">pretty</code>.·If·the·error·log·is·meant·to·be·read·directly·by·a·human,
278 <code·class="inline">pretty</code>·is·the·best·option.</p><p><code·class="inline">pretty</code>·has·a·format·corresponding·to:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4599528740-1">(</span><span·class="s">&quot;[</span><span·class="si">~s</span><span·class="s">]·</span><span·class="si">~s</span><span·class="s">,·reason:·</span><span·class="si">~n</span><span·class="s">·</span><span·class="si">~p</span><span·class="s">·<[·...·truncated·by·diffoscope;·len:·1381,·SHA:·06f202e035c036567c7bc5678967bf50b0b0fc8e44759588096a39266eed5bf2·...·]-1">)</span><span·class="p">.</span></code></pre><p>This·affects·the·error·logs·written·by·<code·class="inline">mod_log</code>·and·<code·class="inline">mod_disk_log</code>.</p></li></ul><p><a·href=""·id="props_alias"></a></p><h3·id="module-url-aliasing-properties-requires-mod_alias"·class="section-heading">278 <code·class="inline">pretty</code>·is·the·best·option.</p><p><code·class="inline">pretty</code>·has·a·format·corresponding·to:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1982712691-1">(</span><span·class="s">&quot;[</span><span·class="si">~s</span><span·class="s">]·</span><span·class="si">~s</span><span·class="s">,·reason:·</span><span·class="si">~n</span><span·class="s">·</span><span·class="si">~p</span><span·class="s">·<[·...·truncated·by·diffoscope;·len:·1381,·SHA:·43840d249ecbeb1ac4bc2d8cad9b0cc4c6a8f9ab328143943602668133100ac4·...·]-1">)</span><span·class="p">.</span></code></pre><p>This·affects·the·error·logs·written·by·<code·class="inline">mod_log</code>·and·<code·class="inline">mod_disk_log</code>.</p></li></ul><p><a·href=""·id="props_alias"></a></p><h3·id="module-url-aliasing-properties-requires-mod_alias"·class="section-heading">
279 ··<a·href="#module-url-aliasing-properties-requires-mod_alias"·class="hover-link">279 ··<a·href="#module-url-aliasing-properties-requires-mod_alias"·class="hover-link">
280 ····<i·class="ri-link-m"·aria-hidden="true"></i>280 ····<i·class="ri-link-m"·aria-hidden="true"></i>
281 ··</a>281 ··</a>
282 ··<span·class="text">URL·Aliasing·Properties·-·Requires·mod_alias</span>282 ··<span·class="text">URL·Aliasing·Properties·-·Requires·mod_alias</span>
283 </h3>283 </h3>
284 <ul><li><p><a·href=""·id="prop_alias"></a>·<strong><code·class="inline">{alias,·{Alias,·RealName}}</code></strong><br/><code·class="inline">Alias·=·string()</code>·and·<code·class="inline">RealName·=·string()</code>.·<code·class="inline">alias</code>·allows·documents·to·be284 <ul><li><p><a·href=""·id="prop_alias"></a>·<strong><code·class="inline">{alias,·{Alias,·RealName}}</code></strong><br/><code·class="inline">Alias·=·string()</code>·and·<code·class="inline">RealName·=·string()</code>.·<code·class="inline">alias</code>·allows·documents·to·be
285 stored·in·the·local·file·system·instead·of·the·<code·class="inline">document_root</code>·location.·URLs285 stored·in·the·local·file·system·instead·of·the·<code·class="inline">document_root</code>·location.·URLs
286 with·a·path·beginning·with·url-path·is·mapped·to·local·files·beginning·with286 with·a·path·beginning·with·url-path·is·mapped·to·local·files·beginning·with
287 directory-filename,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3313039104-1">{</span><span·class="ss">alias</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3313039104-2">{</span><span·class="s">&quot;/image&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s"[·...·truncated·by·diffoscope;·len:·128,·SHA:·c6ce1ed0cb98a7881831e05df1c6a2e5851fcb06821323bbfcba63be33125046·...·]-1">}</span></code></pre><p>Access·to·<a·href="http://your.server.org/image/foo.gif">http://your.server.org/image/foo.gif</a>·would·refer·to·the·file287 directory-filename,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0540511120-1">{</span><span·class="ss">alias</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0540511120-2">{</span><span·class="s">&quot;/image&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s"[·...·truncated·by·diffoscope;·len:·128,·SHA:·5c36e05e8df2a43a90d4f5aa344d09a61cdc899ff3849118f8d7684f564798ba·...·]-1">}</span></code></pre><p>Access·to·<a·href="http://your.server.org/image/foo.gif">http://your.server.org/image/foo.gif</a>·would·refer·to·the·file
288 /ftp/pub/image/foo.gif.</p></li><li><p><a·href=""·id="prop_re_write"></a>·<strong><code·class="inline">{re_write,·{Re,·Replacement}}</code></strong><br/><code·class="inline">Re·=·string()</code>·and·<code·class="inline">Replacement·=·string()</code>.·<code·class="inline">re_write</code>·allows·documents·to288 /ftp/pub/image/foo.gif.</p></li><li><p><a·href=""·id="prop_re_write"></a>·<strong><code·class="inline">{re_write,·{Re,·Replacement}}</code></strong><br/><code·class="inline">Re·=·string()</code>·and·<code·class="inline">Replacement·=·string()</code>.·<code·class="inline">re_write</code>·allows·documents·to
289 be·stored·in·the·local·file·system·instead·of·the·<code·class="inline">document_root</code>·location.289 be·stored·in·the·local·file·system·instead·of·the·<code·class="inline">document_root</code>·location.
290 URLs·are·rewritten·by·<a·href="../../../../lib/stdlib-7.0/doc/html/re.html#replace/3"><code·class="inline">re:replace/3</code></a>·to·produce·a·path·in·the·local290 URLs·are·rewritten·by·<a·href="../../../../lib/stdlib-7.0/doc/html/re.html#replace/3"><code·class="inline">re:replace/3</code></a>·to·produce·a·path·in·the·local
291 file-system,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7079141002-1">{</span><span·class="ss">re_write</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7079141002-2">{</span><span·class="s">&quot;^/[~]([^/]+)(.*)$&quot;</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·146,·SHA:·529e9e84593e97906310c4bfe10f27cad8f4fe2ffc1b76a38d00ee2533da843e·...·]2-1">}</span></code></pre><p>Access·to·<a·href="http://your.server.org/~bob/foo.gif">http://your.server.org/~bob/foo.gif</a>·would·refer·to·the·file291 file-system,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2465839522-1">{</span><span·class="ss">re_write</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2465839522-2">{</span><span·class="s">&quot;^/[~]([^/]+)(.*)$&quot;</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·146,·SHA:·b2b54972b9d8a4a9f2603a1f3ff8514db63874a5c0d3289b00d3e1332b61c53c·...·]2-1">}</span></code></pre><p>Access·to·<a·href="http://your.server.org/~bob/foo.gif">http://your.server.org/~bob/foo.gif</a>·would·refer·to·the·file
292 /home/bob/public/foo.gif.</p></li><li><p><a·href=""·id="prop_dir_idx"></a>·<strong><code·class="inline">{directory_index,·[string()]}</code></strong><br/><code·class="inline">directory_index</code>·specifies·a·list·of·resources·to·look·for·if·a·client292 /home/bob/public/foo.gif.</p></li><li><p><a·href=""·id="prop_dir_idx"></a>·<strong><code·class="inline">{directory_index,·[string()]}</code></strong><br/><code·class="inline">directory_index</code>·specifies·a·list·of·resources·to·look·for·if·a·client
293 requests·a·directory·using·a·<code·class="inline">/</code>·at·the·end·of·the·directory·name.·<code·class="inline">file</code>293 requests·a·directory·using·a·<code·class="inline">/</code>·at·the·end·of·the·directory·name.·<code·class="inline">file</code>
294 depicts·the·name·of·a·file·in·the·directory.·Several·files·can·be·given,·in294 depicts·the·name·of·a·file·in·the·directory.·Several·files·can·be·given,·in
295 which·case·the·server·returns·the·first·it·finds,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2764266456-1">{</span><span·class="ss">directory_index</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2764266456-2">[</span><span·class="s">&quot;index.html&quot;</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·140,·SHA:·229e728aafd649a16c803c7a46a6b7c608ec66f88cf9489c241263b3bedb3929·...·]-1">}</span></code></pre><p>Access·to·<a·href="http://your.server.org/docs/">http://your.server.org/docs/</a>·would·return295 which·case·the·server·returns·the·first·it·finds,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6647240877-1">{</span><span·class="ss">directory_index</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6647240877-2">[</span><span·class="s">&quot;index.html&quot;</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·140,·SHA:·a28f461d0e733094beda7705c1e2a684a06e02d51b1e83c4ec584b5b3b36d532·...·]-1">}</span></code></pre><p>Access·to·<a·href="http://your.server.org/docs/">http://your.server.org/docs/</a>·would·return
296 <a·href="http://your.server.org/docs/index.html">http://your.server.org/docs/index.html</a>·or296 <a·href="http://your.server.org/docs/index.html">http://your.server.org/docs/index.html</a>·or
297 <a·href="http://your.server.org/docs/welcome.html">http://your.server.org/docs/welcome.html</a>·if·index.html·does·not·exist.</p></li></ul><p><a·href=""·id="props_cgi"></a></p><h3·id="module-cgi-properties-requires-mod_cgi"·class="section-heading">297 <a·href="http://your.server.org/docs/welcome.html">http://your.server.org/docs/welcome.html</a>·if·index.html·does·not·exist.</p></li></ul><p><a·href=""·id="props_cgi"></a></p><h3·id="module-cgi-properties-requires-mod_cgi"·class="section-heading">
298 ··<a·href="#module-cgi-properties-requires-mod_cgi"·class="hover-link">298 ··<a·href="#module-cgi-properties-requires-mod_cgi"·class="hover-link">
299 ····<i·class="ri-link-m"·aria-hidden="true"></i>299 ····<i·class="ri-link-m"·aria-hidden="true"></i>
300 ··</a>300 ··</a>
301 ··<span·class="text">CGI·Properties·-·Requires·mod_cgi</span>301 ··<span·class="text">CGI·Properties·-·Requires·mod_cgi</span>
302 </h3>302 </h3>
Offset 316, 23 lines modifiedOffset 316, 23 lines modified
316 activating·a·CGI·script·whenever·a·file·of·a·certain·MIME·type·is·requested.316 activating·a·CGI·script·whenever·a·file·of·a·certain·MIME·type·is·requested.
317 It·propagates·the·URL·and·file·path·of·the·requested·document·using·the317 It·propagates·the·URL·and·file·path·of·the·requested·document·using·the
318 standard·CGI·PATH_INFO·and·PATH_TRANSLATED·environment·variables.</p><p>Example:</p><pre><code·class="text">{action,·{&quot;text/plain&quot;,·&quot;/cgi-bin/log_and_deliver_text&quot;}}</code></pre></li><li><p><a·href=""·id="prop_script"></a>·<strong><code·class="inline">{script,·{Method,·CgiScript}}</code></strong>·-·requires·<code·class="inline">mod_actions</code><br/><code·class="inline">Method·=·string()</code>·and·<code·class="inline">CgiScript·=·string()</code>.·<code·class="inline">script</code>·adds·an·action318 standard·CGI·PATH_INFO·and·PATH_TRANSLATED·environment·variables.</p><p>Example:</p><pre><code·class="text">{action,·{&quot;text/plain&quot;,·&quot;/cgi-bin/log_and_deliver_text&quot;}}</code></pre></li><li><p><a·href=""·id="prop_script"></a>·<strong><code·class="inline">{script,·{Method,·CgiScript}}</code></strong>·-·requires·<code·class="inline">mod_actions</code><br/><code·class="inline">Method·=·string()</code>·and·<code·class="inline">CgiScript·=·string()</code>.·<code·class="inline">script</code>·adds·an·action
319 activating·a·CGI·script·whenever·a·file·is·requested·using·a·certain·HTTP319 activating·a·CGI·script·whenever·a·file·is·requested·using·a·certain·HTTP
320 method.·The·method·is·either·GET·or·POST,·as·defined·in320 method.·The·method·is·either·GET·or·POST,·as·defined·in
321 <a·href="http://www.ietf.org/rfc/rfc1945.txt">RFC·1945</a>.·It·propagates·the·URL·and321 <a·href="http://www.ietf.org/rfc/rfc1945.txt">RFC·1945</a>.·It·propagates·the·URL·and
322 file·path·of·the·requested·document·using·the·standard·CGI·PATH_INFO·and322 file·path·of·the·requested·document·using·the·standard·CGI·PATH_INFO·and
323 PATH_TRANSLATED·environment·variables.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5512744051-1">{</span><span·class="ss">script</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5512744051-2">{</span><span·class="s">&quot;PUT&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·124,·SHA:·3e0f001c16e7070ae6de35f33e07be95042ab518f0fee4fe8f0b4576c9bde13c·...·]-1">}</span></code></pre></li></ul><p><a·href=""·id="props_esi"></a></p><h3·id="module-esi-properties-requires-mod_esi"·class="section-heading">323 PATH_TRANSLATED·environment·variables.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9236092413-1">{</span><span·class="ss">script</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9236092413-2">{</span><span·class="s">&quot;PUT&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·124,·SHA:·6044405268aefbee1a582ae461c466ca2da3c2eab9a4fd4dbbdef97ecb17b301·...·]-1">}</span></code></pre></li></ul><p><a·href=""·id="props_esi"></a></p><h3·id="module-esi-properties-requires-mod_esi"·class="section-heading">
324 ··<a·href="#module-esi-properties-requires-mod_esi"·class="hover-link">324 ··<a·href="#module-esi-properties-requires-mod_esi"·class="hover-link">
325 ····<i·class="ri-link-m"·aria-hidden="true"></i>325 ····<i·class="ri-link-m"·aria-hidden="true"></i>
326 ··</a>326 ··</a>
327 ··<span·class="text">ESI·Properties·-·Requires·mod_esi</span>327 ··<span·class="text">ESI·Properties·-·Requires·mod_esi</span>
328 </h3>328 </h3>
329 <ul><li><p><a·href=""·id="prop_esi_alias"></a>·<strong><code·class="inline">{erl_script_alias,·{URLPath,·[AllowedModule]}}</code></strong><br/><code·class="inline">URLPath·=·string()</code>·and·<code·class="inline">AllowedModule·=·atom()</code>.·<code·class="inline">erl_script_alias</code>·marks329 <ul><li><p><a·href=""·id="prop_esi_alias"></a>·<strong><code·class="inline">{erl_script_alias,·{URLPath,·[AllowedModule]}}</code></strong><br/><code·class="inline">URLPath·=·string()</code>·and·<code·class="inline">AllowedModule·=·atom()</code>.·<code·class="inline">erl_script_alias</code>·marks
330 all·URLs·matching·url-path·as·erl·scheme·scripts.·A·matching·URL·is·mapped330 all·URLs·matching·url-path·as·erl·scheme·scripts.·A·matching·URL·is·mapped
331 into·a·specific·module·and·function,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4555803452-1">{</span><span·class="ss">erl_script_alias</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4555803452-2">{</span><span·class="s">&quot;/cgi-bin/example&quot;</span><span·class="p">,</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·243,·SHA:·cb563042cdf0563d9d2c0a36490d818e90b5df47538effa75ae1af3ed73223c8·...·]-1">}</span></code></pre><p>A·request·to·<a·href="http://your.server.org/cgi-bin/example/httpd_example:yahoo">http://your.server.org/cgi-bin/example/httpd_example:yahoo</a>·would331 into·a·specific·module·and·function,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6635842890-1">{</span><span·class="ss">erl_script_alias</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6635842890-2">{</span><span·class="s">&quot;/cgi-bin/example&quot;</span><span·class="p">,</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·243,·SHA:·26a4665c6c225cc91e6ff3abb3f3ef824a86a5d2086e489c31ad34b13ed4b9fa·...·]-1">}</span></code></pre><p>A·request·to·<a·href="http://your.server.org/cgi-bin/example/httpd_example:yahoo">http://your.server.org/cgi-bin/example/httpd_example:yahoo</a>·would
332 refer·to·httpd_example:yahoo/3·or,·if·that·does·not·exist,332 refer·to·httpd_example:yahoo/3·or,·if·that·does·not·exist,
333 httpd_example:yahoo/2·and·<a·href="http://your.server.org/cgi-bin/example/other:yahoo">http://your.server.org/cgi-bin/example/other:yahoo</a>333 httpd_example:yahoo/2·and·<a·href="http://your.server.org/cgi-bin/example/other:yahoo">http://your.server.org/cgi-bin/example/other:yahoo</a>
334 would·not·be·allowed·to·execute.</p></li><li><p><a·href=""·id="prop_esi_nocache"></a>·<strong><code·class="inline">{erl_script_nocache,·boolean()}</code></strong><br/>If·<code·class="inline">erl_script_nocache</code>·is·set·to·<code·class="inline">true</code>,·the·server·adds·HTTP·header·fields334 would·not·be·allowed·to·execute.</p></li><li><p><a·href=""·id="prop_esi_nocache"></a>·<strong><code·class="inline">{erl_script_nocache,·boolean()}</code></strong><br/>If·<code·class="inline">erl_script_nocache</code>·is·set·to·<code·class="inline">true</code>,·the·server·adds·HTTP·header·fields
335 preventing·proxies·from·caching·the·page.·This·is·generally·a·good·idea·for335 preventing·proxies·from·caching·the·page.·This·is·generally·a·good·idea·for
336 dynamic·content,·as·the·content·often·varies·between·each·request.·Default·is336 dynamic·content,·as·the·content·often·varies·between·each·request.·Default·is
337 <code·class="inline">false</code>.</p></li><li><p><a·href=""·id="prop_esi_timeout"></a>·<strong><code·class="inline">{erl_script_timeout,·integer()}</code></strong><br/>If·<code·class="inline">erl_script_timeout</code>·sets·the·time·in·seconds·the·server·waits·between·each337 <code·class="inline">false</code>.</p></li><li><p><a·href=""·id="prop_esi_timeout"></a>·<strong><code·class="inline">{erl_script_timeout,·integer()}</code></strong><br/>If·<code·class="inline">erl_script_timeout</code>·sets·the·time·in·seconds·the·server·waits·between·each
338 chunk·of·data·to·be·delivered·through·<a·href="mod_esi.html#deliver/2"><code·class="inline">mod_esi:deliver/2</code></a>.·Default·is·<code·class="inline">15</code>.338 chunk·of·data·to·be·delivered·through·<a·href="mod_esi.html#deliver/2"><code·class="inline">mod_esi:deliver/2</code></a>.·Default·is·<code·class="inline">15</code>.
Offset 374, 15 lines modifiedOffset 374, 15 lines modified
374 is·written·to·each·file·and·max·files·is·used·before·the·first·file·is374 is·written·to·each·file·and·max·files·is·used·before·the·first·file·is
375 truncated·and·reused.</p></li></ul><p><a·href=""·id="props_auth"></a></p><h3·id="module-authentication-properties-requires-mod_auth"·class="section-heading">375 truncated·and·reused.</p></li></ul><p><a·href=""·id="props_auth"></a></p><h3·id="module-authentication-properties-requires-mod_auth"·class="section-heading">
376 ··<a·href="#module-authentication-properties-requires-mod_auth"·class="hover-link">376 ··<a·href="#module-authentication-properties-requires-mod_auth"·class="hover-link">
377 ····<i·class="ri-link-m"·aria-hidden="true"></i>377 ····<i·class="ri-link-m"·aria-hidden="true"></i>
378 ··</a>378 ··</a>
379 ··<span·class="text">Authentication·Properties·-·Requires·mod_auth</span>379 ··<span·class="text">Authentication·Properties·-·Requires·mod_auth</span>
380 </h3>380 </h3>
381 <p><a·href=""·id="prop_dri"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9765974702-1">{</span><span·class="ss">directory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9765974702-2">{</span><span·class="nf">path</span><span·class="p"·data-group-id="9765974702-3">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·1510,·SHA:·939d56d5278218ef24afad8a06dc2868abc38e022525a5b1034627f1f362bd30·...·]-1">}</span></code></pre><p>The·host·<code·class="inline">123.34.56.11</code>·and·all·machines·on·the·<code·class="inline">150.100.23</code>·subnet·are381 <p><a·href=""·id="prop_dri"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2753420760-1">{</span><span·class="ss">directory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2753420760-2">{</span><span·class="nf">path</span><span·class="p"·data-group-id="2753420760-3">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·1510,·SHA:·de26328b16bf38ec7a855012a5b67dd78ac72d18df6a834b54a24ac9e4a216fd·...·]-1">}</span></code></pre><p>The·host·<code·class="inline">123.34.56.11</code>·and·all·machines·on·the·<code·class="inline">150.100.23</code>·subnet·are
382 allowed·access.</p></li><li><p><a·href=""·id="prop_deny_from"></a>·<strong><code·class="inline">{deny_from,·all·|·[RegxpHostString]}</code></strong><br/>Defines·a·set·of·hosts·to·be·denied·access·to·a·given·directory,·for·example:</p><pre><code·class="text">{deny_from,·[&quot;123.34.56.11&quot;,·&quot;150.100.23&quot;]}</code></pre><p>The·host·<code·class="inline">123.34.56.11</code>·and·all·machines·on·the·<code·class="inline">150.100.23</code>·subnet·are·not382 allowed·access.</p></li><li><p><a·href=""·id="prop_deny_from"></a>·<strong><code·class="inline">{deny_from,·all·|·[RegxpHostString]}</code></strong><br/>Defines·a·set·of·hosts·to·be·denied·access·to·a·given·directory,·for·example:</p><pre><code·class="text">{deny_from,·[&quot;123.34.56.11&quot;,·&quot;150.100.23&quot;]}</code></pre><p>The·host·<code·class="inline">123.34.56.11</code>·and·all·machines·on·the·<code·class="inline">150.100.23</code>·subnet·are·not
383 allowed·access.</p></li><li><p><a·href=""·id="prop_auth_type"></a>·<strong><code·class="inline">{auth_type,·plain·|·dets·|·mnesia}</code></strong><br/>Sets·the·type·of·authentication·database·that·is·used·for·the·directory.·The383 allowed·access.</p></li><li><p><a·href=""·id="prop_auth_type"></a>·<strong><code·class="inline">{auth_type,·plain·|·dets·|·mnesia}</code></strong><br/>Sets·the·type·of·authentication·database·that·is·used·for·the·directory.·The
384 key·difference·between·the·different·methods·is·that·dynamic·data·can·be·saved384 key·difference·between·the·different·methods·is·that·dynamic·data·can·be·saved
385 when·Mnesia·and·Dets·are·used.</p></li><li><p><a·href=""·id="prop_auth_user_file"></a>·<strong><code·class="inline">{auth_user_file,·path()}</code></strong><br/>Sets·the·name·of·a·file·containing·the·list·of·users·and·passwords·for·user385 when·Mnesia·and·Dets·are·used.</p></li><li><p><a·href=""·id="prop_auth_user_file"></a>·<strong><code·class="inline">{auth_user_file,·path()}</code></strong><br/>Sets·the·name·of·a·file·containing·the·list·of·users·and·passwords·for·user
386 authentication.·The·filename·can·be·either·absolute·or·relative·to·the386 authentication.·The·filename·can·be·either·absolute·or·relative·to·the
387 <code·class="inline">server_root</code>.·If·using·the·plain·storage·method,·this·file·is·a·plain·text387 <code·class="inline">server_root</code>.·If·using·the·plain·storage·method,·this·file·is·a·plain·text
388 file·where·each·line·contains·a·username·followed·by·a·colon,·followed·by·the388 file·where·each·line·contains·a·username·followed·by·a·colon,·followed·by·the
Offset 409, 15 lines modifiedOffset 409, 15 lines modified
409 changed·after·the·web·server·is·started.·Otherwise·it·is·written·in·clear·text409 changed·after·the·web·server·is·started.·Otherwise·it·is·written·in·clear·text
410 in·the·configuration·file.</p></li><li><p><a·href=""·id="prop_req_user"></a>·<strong><code·class="inline">{require_user,·[string()]}</code></strong><br/>Defines·users·to·grant·access·to·a·given·directory·using·a·secret·password.</p></li><li><p><a·href=""·id="prop_req_grp"></a>·<strong><code·class="inline">{require_group,·[string()]}</code></strong><br/>Defines·users·to·grant·access·to·a·given·directory·using·a·secret·password.</p></li></ul><p><a·href=""·id="props_sec"></a></p><h3·id="module-security-properties-requires-mod_security"·class="section-heading">410 in·the·configuration·file.</p></li><li><p><a·href=""·id="prop_req_user"></a>·<strong><code·class="inline">{require_user,·[string()]}</code></strong><br/>Defines·users·to·grant·access·to·a·given·directory·using·a·secret·password.</p></li><li><p><a·href=""·id="prop_req_grp"></a>·<strong><code·class="inline">{require_group,·[string()]}</code></strong><br/>Defines·users·to·grant·access·to·a·given·directory·using·a·secret·password.</p></li></ul><p><a·href=""·id="props_sec"></a></p><h3·id="module-security-properties-requires-mod_security"·class="section-heading">
411 ··<a·href="#module-security-properties-requires-mod_security"·class="hover-link">411 ··<a·href="#module-security-properties-requires-mod_security"·class="hover-link">
412 ····<i·class="ri-link-m"·aria-hidden="true"></i>412 ····<i·class="ri-link-m"·aria-hidden="true"></i>
413 ··</a>413 ··</a>
414 ··<span·class="text">Security·Properties·-·Requires·mod_security</span>414 ··<span·class="text">Security·Properties·-·Requires·mod_security</span>
415 </h3>415 </h3>
416 <p><a·href=""·id="prop_sec_dir"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1090181627-1">{</span><span·class="ss">security_directory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1090181627-2">{</span><span·class="nf">path</span><span·class="p"·data-group-id="1090181627-3">(</span><span·clas[·...·truncated·by·diffoscope;·len:·717,·SHA:·b954a1f909a415cd5734c4f361540b4fa7f3544d3a14658554873386e711dbe2·...·]-1">}</span></code></pre><p><a·href=""·id="props_sdir"></a></p><p>The·properties·for·the·security·directories·are·as·follows:</p><ul><li><p><a·href=""·id="prop_data_file"></a>·<strong><code·class="inline">{data_file,·path()}</code></strong><br/>Name·of·the·security·data·file.·The·filename·can·either·be·absolute·or416 <p><a·href=""·id="prop_sec_dir"></a></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4767095916-1">{</span><span·class="ss">security_directory</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4767095916-2">{</span><span·class="nf">path</span><span·class="p"·data-group-id="4767095916-3">(</span><span·clas[·...·truncated·by·diffoscope;·len:·717,·SHA:·175858a915a82afb550753e72eb6174de42dc826a9b0a138052df3270b8ff82a·...·]-1">}</span></code></pre><p><a·href=""·id="props_sdir"></a></p><p>The·properties·for·the·security·directories·are·as·follows:</p><ul><li><p><a·href=""·id="prop_data_file"></a>·<strong><code·class="inline">{data_file,·path()}</code></strong><br/>Name·of·the·security·data·file.·The·filename·can·either·be·absolute·or
417 relative·to·the·<code·class="inline">server_root</code>.·This·file·is·used·to·store·persistent·data·for417 relative·to·the·<code·class="inline">server_root</code>.·This·file·is·used·to·store·persistent·data·for
418 module·<code·class="inline">mod_security</code>.</p></li><li><p><a·href=""·id="prop_max_retries"></a>·<strong><code·class="inline">{max_retries,·integer()}</code></strong><br/>Specifies·the·maximum·number·of·attempts·to·authenticate·a·user·before·the418 module·<code·class="inline">mod_security</code>.</p></li><li><p><a·href=""·id="prop_max_retries"></a>·<strong><code·class="inline">{max_retries,·integer()}</code></strong><br/>Specifies·the·maximum·number·of·attempts·to·authenticate·a·user·before·the
419 user·is·blocked·out.·If·a·user·successfully·authenticates·while·blocked,·the419 user·is·blocked·out.·If·a·user·successfully·authenticates·while·blocked,·the
420 user·receives·a·403·(Forbidden)·response·from·the·server.·If·the·user·makes·a420 user·receives·a·403·(Forbidden)·response·from·the·server.·If·the·user·makes·a
421 failed·attempt·while·blocked,·the·server·returns·401·(Unauthorized),·for421 failed·attempt·while·blocked,·the·server·returns·401·(Unauthorized),·for
422 security·reasons.·Default·is·<code·class="inline">3</code>.·Can·be·set·to·infinity.</p></li><li><p><a·href=""·id="prop_block_time"></a>·<strong><code·class="inline">{block_time,·integer()}</code></strong><br/>Specifies·the·number·of·minutes·a·user·is·blocked.·After·this·time·has·passed,422 security·reasons.·Default·is·<code·class="inline">3</code>.·Can·be·set·to·infinity.</p></li><li><p><a·href=""·id="prop_block_time"></a>·<strong><code·class="inline">{block_time,·integer()}</code></strong><br/>Specifies·the·number·of·minutes·a·user·is·blocked.·After·this·time·has·passed,
423 the·user·automatically·regains·access.·Default·is·<code·class="inline">60</code>.</p></li><li><p><a·href=""·id="prop_fail_exp_time"></a>·<strong><code·class="inline">{fail_expire_time,·integer()}</code></strong><br/>Specifies·the·number·of·minutes·a·failed·user·authentication·is·remembered.·If423 the·user·automatically·regains·access.·Default·is·<code·class="inline">60</code>.</p></li><li><p><a·href=""·id="prop_fail_exp_time"></a>·<strong><code·class="inline">{fail_expire_time,·integer()}</code></strong><br/>Specifies·the·number·of·minutes·a·failed·user·authentication·is·remembered.·If
Offset 426, 30 lines modifiedOffset 426, 30 lines modified
426 remembered.·After·this·time·has·passed,·the·authentication·is·no·longer426 remembered.·After·this·time·has·passed,·the·authentication·is·no·longer
427 reported.·Default·is·<code·class="inline">30</code>.</p></li></ul><h2·id="module-web-server-api-data-types"·class="section-heading">427 reported.·Default·is·<code·class="inline">30</code>.</p></li></ul><h2·id="module-web-server-api-data-types"·class="section-heading">
428 ··<a·href="#module-web-server-api-data-types"·class="hover-link">428 ··<a·href="#module-web-server-api-data-types"·class="hover-link">
429 ····<i·class="ri-link-m"·aria-hidden="true"></i>429 ····<i·class="ri-link-m"·aria-hidden="true"></i>
430 ··</a>430 ··</a>
431 ··<span·class="text">Web·server·API·data·types</span>431 ··<span·class="text">Web·server·API·data·types</span>
432 </h2>432 </h2>
433 <p>The·Erlang·web·server·API·data·types·are·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ModData</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">mod</span><span·class="p"·data-group-id="1006009567-1">{</span><span·class="p"·data-group-id="1006009567-1">}</span><span·class="w">433 <p>The·Erlang·web·server·API·data·types·are·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ModData</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">mod</span><span·class="p"·data-group-id="3308755116-1">{</span><span·class="p"·data-group-id="3308755116-1">}</span><span·class="w">
434 </span><span·class="w">434 </span><span·class="w">
435 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="1006009567-2">(</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1006009567-3">{</span><span·class="w">435 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="3308755116-2">(</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3308755116-3">{</span><span·class="w">
436 ····</span><span·class="ss">data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1006009567-4">[</span><span·class="p"·data-group-id="1006009567-4">]</span><span·class="p">,</span><span·class="w">436 ····</span><span·class="ss">data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3308755116-4">[</span><span·class="p"·data-group-id="3308755116-4">]</span><span·class="p">,</span><span·class="w">
437 ····</span><span·class="ss">socket_type</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">ip_comm</span><span·class="p">,</span><span·class="w">437 ····</span><span·class="ss">socket_type</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">ip_comm</span><span·class="p">,</span><span·class="w">
438 ····</span><span·class="ss">socket</span><span·class="p">,</span><span·class="w">438 ····</span><span·class="ss">socket</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 4530/50184 bytes (9.03%) of diff not shown.
681 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/httpd_custom_api.html
    
Offset 309, 15 lines modifiedOffset 309, 15 lines modified
309 ······<p·class="built-using">309 ······<p·class="built-using">
310 ········Built·using310 ········Built·using
311 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the311 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
312 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>312 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
313 ······</p>313 ······</p>
314 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>314 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
315 ····</footer>315 ····</footer>
316 ··</div>316 ··</div>
317 </main>317 </main>
318 </div>318 </div>
319 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>319 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
320 ··<script>320 ··<script>
321 ··let·initialized·=·false;321 ··let·initialized·=·false;
683 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/httpd_socket.html
    
Offset 311, 15 lines modifiedOffset 311, 15 lines modified
311 ······<p·class="built-using">311 ······<p·class="built-using">
312 ········Built·using312 ········Built·using
313 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the313 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
314 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>314 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
315 ······</p>315 ······</p>
316 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>316 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
317 ····</footer>317 ····</footer>
318 ··</div>318 ··</div>
319 </main>319 </main>
320 </div>320 </div>
321 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>321 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
322 ··<script>322 ··<script>
323 ··let·initialized·=·false;323 ··let·initialized·=·false;
709 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/httpd_util.html
    
Offset 949, 15 lines modifiedOffset 949, 15 lines modified
949 ······<p·class="built-using">949 ······<p·class="built-using">
950 ········Built·using950 ········Built·using
951 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the951 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
952 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>952 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
953 ······</p>953 ······</p>
954 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>954 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
955 ····</footer>955 ····</footer>
956 ··</div>956 ··</div>
957 </main>957 </main>
958 </div>958 </div>
959 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>959 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
960 ··<script>960 ··<script>
961 ··let·initialized·=·false;961 ··let·initialized·=·false;
748 B
html2text {}
Max HTML report size reached
290 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/inets.epub
4.03 KB
zipinfo {}
Max HTML report size reached
133 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:14:50,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:53:00,·uncompressed·size·20,·method=store
2.43 KB
OEBPS/inets_services.xhtml
Max HTML report size reached
48.4 KB
OEBPS/httpd.xhtml
Max HTML report size reached
7.41 KB
OEBPS/httpc.xhtml
Max HTML report size reached
53.2 KB
OEBPS/http_server.xhtml
Max HTML report size reached
39.9 KB
OEBPS/http_client.xhtml
Max HTML report size reached
1.22 KB
OEBPS/content.opf
1.19 KB
OEBPS/content.opf
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/inets.html
    
Offset 653, 15 lines modifiedOffset 653, 15 lines modified
653 ······<p·class="built-using">653 ······<p·class="built-using">
654 ········Built·using654 ········Built·using
655 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the655 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
656 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>656 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
657 ······</p>657 ······</p>
658 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>658 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
659 ····</footer>659 ····</footer>
660 ··</div>660 ··</div>
661 </main>661 </main>
662 </div>662 </div>
663 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>663 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
664 ··<script>664 ··<script>
665 ··let·initialized·=·false;665 ··let·initialized·=·false;
659 B
html2text {}
Max HTML report size reached
4.04 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/inets_services.html
    
Offset 137, 15 lines modifiedOffset 137, 15 lines modified
137 takeover,·configure·the·services·to·be·started·at·application·startup.·When137 takeover,·configure·the·services·to·be·started·at·application·startup.·When
138 starting·the·<code·class="inline">Inets</code>·application,·the·<code·class="inline">Inets</code>·top·supervisor·starts·a·number·of138 starting·the·<code·class="inline">Inets</code>·application,·the·<code·class="inline">Inets</code>·top·supervisor·starts·a·number·of
139 subsupervisors·and·worker·processes·for·handling·the·provided·services.·When139 subsupervisors·and·worker·processes·for·handling·the·provided·services.·When
140 starting·services·dynamically,·new·children·are·added·to·the·supervision·tree,140 starting·services·dynamically,·new·children·are·added·to·the·supervision·tree,
141 unless·the·service·is·started·with·the·standalone·option.·In·this·case·the141 unless·the·service·is·started·with·the·standalone·option.·In·this·case·the
142 service·is·linked·to·the·calling·process·and·all·OTP·application·features,·such142 service·is·linked·to·the·calling·process·and·all·OTP·application·features,·such
143 as·soft·upgrade,·are·lost.</p><p>Services·to·be·configured·for·startup·at·application·startup·are·to·be·put·into143 as·soft·upgrade,·are·lost.</p><p>Services·to·be·configured·for·startup·at·application·startup·are·to·be·put·into
144 the·Erlang·node·configuration·file·on·the·following·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5710437008-1">[</span><span·class="p"·data-group-id="5710437008-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5710437008-3">[</span><span·class="p"·data-group-id="5710437008-4">{</spa[·...·truncated·by·diffoscope;·len:·329,·SHA:·40b55bebaf69e6a931699c51de17b2999e9b6d82f6a0dcd3f59587467d595dd9·...·]-1">]</span><span·class="p">.</span></code></pre><p>For·details·of·what·to·put·in·the·list·of·configured·services,·see·the144 the·Erlang·node·configuration·file·on·the·following·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8461184420-1">[</span><span·class="p"·data-group-id="8461184420-2">{</span><span·class="ss">inets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8461184420-3">[</span><span·class="p"·data-group-id="8461184420-4">{</spa[·...·truncated·by·diffoscope;·len:·329,·SHA:·f27315d55e9b7a0d655ba59431048ca513712417b73745c72094833e5c08e24b·...·]-1">]</span><span·class="p">.</span></code></pre><p>For·details·of·what·to·put·in·the·list·of·configured·services,·see·the
145 documentation·for·the·services·to·be·configured.</p>145 documentation·for·the·services·to·be·configured.</p>
146 </div>146 </div>
  
147 <div·class="bottom-actions"·id="bottom-actions">147 <div·class="bottom-actions"·id="bottom-actions">
148 ··<div·class="bottom-actions-item">148 ··<div·class="bottom-actions-item">
  
149 ······<a·href="introduction.html"·class="bottom-actions-button"·rel="prev">149 ······<a·href="introduction.html"·class="bottom-actions-button"·rel="prev">
Offset 189, 15 lines modifiedOffset 189, 15 lines modified
189 ······<p·class="built-using">189 ······<p·class="built-using">
190 ········Built·using190 ········Built·using
191 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the191 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
192 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>192 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
193 ······</p>193 ······</p>
194 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>194 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
195 ····</footer>195 ····</footer>
196 ··</div>196 ··</div>
197 </main>197 </main>
198 </div>198 </div>
199 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>199 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
200 ··<script>200 ··<script>
201 ··let·initialized·=·false;201 ··let·initialized·=·false;
696 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/introduction.html
    
Offset 186, 15 lines modifiedOffset 186, 15 lines modified
186 ······<p·class="built-using">186 ······<p·class="built-using">
187 ········Built·using187 ········Built·using
188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
190 ······</p>190 ······</p>
191 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>191 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
192 ····</footer>192 ····</footer>
193 ··</div>193 ··</div>
194 </main>194 </main>
195 </div>195 </div>
196 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>196 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
197 ··<script>197 ··<script>
198 ··let·initialized·=·false;198 ··let·initialized·=·false;
717 B
html2text {}
Max HTML report size reached
1.61 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/mod_alias.html
    
Offset 401, 15 lines modifiedOffset 401, 15 lines modified
401 ······<p·class="built-using">401 ······<p·class="built-using">
402 ········Built·using402 ········Built·using
403 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the403 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
404 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>404 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
405 ······</p>405 ······</p>
406 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>406 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
407 ····</footer>407 ····</footer>
408 ··</div>408 ··</div>
409 </main>409 </main>
410 </div>410 </div>
411 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>411 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
412 ··<script>412 ··<script>
413 ··let·initialized·=·false;413 ··let·initialized·=·false;
811 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/mod_auth.html
    
Offset 1625, 15 lines modifiedOffset 1625, 15 lines modified
1625 ······<p·class="built-using">1625 ······<p·class="built-using">
1626 ········Built·using1626 ········Built·using
1627 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1627 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1628 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1628 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1629 ······</p>1629 ······</p>
1630 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1630 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1631 ····</footer>1631 ····</footer>
1632 ··</div>1632 ··</div>
1633 </main>1633 </main>
1634 </div>1634 </div>
1635 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1635 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1636 ··<script>1636 ··<script>
1637 ··let·initialized·=·false;1637 ··let·initialized·=·false;
795 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/mod_esi.html
    
Offset 445, 15 lines modifiedOffset 445, 15 lines modified
445 ······<p·class="built-using">445 ······<p·class="built-using">
446 ········Built·using446 ········Built·using
447 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the447 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
448 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>448 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
449 ······</p>449 ······</p>
450 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>450 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
451 ····</footer>451 ····</footer>
452 ··</div>452 ··</div>
453 </main>453 </main>
454 </div>454 </div>
455 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>455 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
456 ··<script>456 ··<script>
457 ··let·initialized·=·false;457 ··let·initialized·=·false;
769 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/mod_security.html
    
Offset 767, 15 lines modifiedOffset 767, 15 lines modified
767 ······<p·class="built-using">767 ······<p·class="built-using">
768 ········Built·using768 ········Built·using
769 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the769 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
770 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>770 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
771 ······</p>771 ······</p>
772 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>772 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
773 ····</footer>773 ····</footer>
774 ··</div>774 ··</div>
775 </main>775 </main>
776 </div>776 </div>
777 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>777 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
778 ··<script>778 ··<script>
779 ··let·initialized·=·false;779 ··let·initialized·=·false;
726 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/notes.html
    
Offset 2509, 15 lines modifiedOffset 2509, 15 lines modified
2509 ······<p·class="built-using">2509 ······<p·class="built-using">
2510 ········Built·using2510 ········Built·using
2511 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2511 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2512 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2512 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2513 ······</p>2513 ······</p>
2514 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2514 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2515 ····</footer>2515 ····</footer>
2516 ··</div>2516 ··</div>
2517 </main>2517 </main>
2518 </div>2518 </div>
2519 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2519 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2520 ··<script>2520 ··<script>
2521 ··let·initialized·=·false;2521 ··let·initialized·=·false;
656 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/inets-9.4/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
460 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/404.html
    
Offset 127, 15 lines modifiedOffset 127, 15 lines modified
127 ······<p·class="built-using">127 ······<p·class="built-using">
128 ········Built·using128 ········Built·using
129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
131 ······</p>131 ······</p>
132 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>132 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
133 ····</footer>133 ····</footer>
134 ··</div>134 ··</div>
135 </main>135 </main>
136 </div>136 </div>
137 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>137 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
138 ··<script>138 ··<script>
139 ··let·initialized·=·false;139 ··let·initialized·=·false;
603 B
html2text {}
Max HTML report size reached
1.16 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/allclasses-index.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>All·Classes·and·Interfaces·(Java-Erlang·Interface·Library)</title>5 <title>All·Classes·and·Interfaces·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="class·index">9 <meta·name="description"·content="class·index">
10 <meta·name="generator"·content="javadoc/AllClassesIndexWriter">10 <meta·name="generator"·content="javadoc/AllClassesIndexWriter">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.15 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/allpackages-index.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>All·Packages·(Java-Erlang·Interface·Library)</title>5 <title>All·Packages·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="package·index">9 <meta·name="description"·content="package·index">
10 <meta·name="generator"·content="javadoc/AllPackagesIndexWriter">10 <meta·name="generator"·content="javadoc/AllPackagesIndexWriter">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/AbstractConnection.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>AbstractConnection·(Java-Erlang·Interface·Library)</title>5 <title>AbstractConnection·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·AbstractConnection">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·AbstractConnection">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/AbstractNode.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>AbstractNode·(Java-Erlang·Interface·Library)</title>5 <title>AbstractNode·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·AbstractNode">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·AbstractNode">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/GenericQueue.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>GenericQueue·(Java-Erlang·Interface·Library)</title>5 <title>GenericQueue·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·GenericQueue">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·GenericQueue">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.31 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpAuthException.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpAuthException·(Java-Erlang·Interface·Library)</title>5 <title>OtpAuthException·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpAuthException">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpAuthException">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpConnection.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpConnection·(Java-Erlang·Interface·Library)</title>5 <title>OtpConnection·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpConnection">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpConnection">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpCookedConnection.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpCookedConnection·(Java-Erlang·Interface·Library)</title>5 <title>OtpCookedConnection·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpCookedConnection">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpCookedConnection">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.27 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpEpmd.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpEpmd·(Java-Erlang·Interface·Library)</title>5 <title>OtpEpmd·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpEpmd">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpEpmd">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangAtom.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangAtom·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangAtom·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangAtom">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangAtom">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangBinary.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangBinary·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangBinary·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangBinary">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangBinary">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangBitstr.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangBitstr·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangBitstr·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangBitstr">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangBitstr">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.31 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangBoolean.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangBoolean·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangBoolean·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangBoolean">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangBoolean">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangByte.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangByte·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangByte·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangByte">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangByte">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangChar.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangChar·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangChar·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangChar">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangChar">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.34 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangDecodeException.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangDecodeException·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangDecodeException·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangDecodeException">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangDecodeException">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangDouble.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangDouble·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangDouble·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangDouble">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangDouble">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangException.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangException·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangException·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangException">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangException">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangExit.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangExit·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangExit·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangExit">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangExit">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangExternalFun.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangExternalFun·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangExternalFun·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangExternalFun">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangExternalFun">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangFloat.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangFloat·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangFloat·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangFloat">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangFloat">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangFun.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangFun·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangFun·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangFun">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangFun">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangInt.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangInt·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangInt·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangInt">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangInt">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.33 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangList.SubList.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangList.SubList·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangList.SubList·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangList,·class:·SubList">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangList,·class:·SubList">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangList.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangList·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangList·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangList">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangList">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangLong.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangLong·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangLong·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangLong">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangLong">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangMap.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangMap·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangMap·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangMap">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangMap">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.33 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangObject.Hash.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangObject.Hash·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangObject.Hash·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangObject,·class:·Hash">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangObject,·class:·Hash">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangObject.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangObject·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangObject·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangObject">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangObject">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangPid.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangPid·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangPid·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangPid">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangPid">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangPort.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangPort·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangPort·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangPort">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangPort">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.33 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangRangeException.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangRangeException·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangRangeException·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangRangeException">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangRangeException">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangRef.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangRef·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangRef·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangRef">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangRef">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangShort.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangShort·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangShort·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangShort">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangShort">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangString.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangString·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangString·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangString">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangString">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangTuple.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangTuple·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangTuple·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangTuple">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangTuple">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangUInt.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangUInt·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangUInt·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangUInt">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangUInt">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpErlangUShort.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpErlangUShort·(Java-Erlang·Interface·Library)</title>5 <title>OtpErlangUShort·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangUShort">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpErlangUShort">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpException.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpException·(Java-Erlang·Interface·Library)</title>5 <title>OtpException·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpException">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpException">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpExternal.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpExternal·(Java-Erlang·Interface·Library)</title>5 <title>OtpExternal·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpExternal">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpExternal">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.35 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpGenericTransportFactory.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpGenericTransportFactory·(Java-Erlang·Interface·Library)</title>5 <title>OtpGenericTransportFactory·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpGenericTransportFactory">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpGenericTransportFactory">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpInputStream.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpInputStream·(Java-Erlang·Interface·Library)</title>5 <title>OtpInputStream·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpInputStream">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpInputStream">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpLocalNode.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpLocalNode·(Java-Erlang·Interface·Library)</title>5 <title>OtpLocalNode·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpLocalNode">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpLocalNode">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.27 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpMbox.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpMbox·(Java-Erlang·Interface·Library)</title>5 <title>OtpMbox·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpMbox">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpMbox">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.27 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpMsg.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpMsg·(Java-Erlang·Interface·Library)</title>5 <title>OtpMsg·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpMsg">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpMsg">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpNode.Acceptor.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpNode.Acceptor·(Java-Erlang·Interface·Library)</title>5 <title>OtpNode.Acceptor·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNode,·class:·Acceptor">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNode,·class:·Acceptor">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpNode.Mailboxes.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpNode.Mailboxes·(Java-Erlang·Interface·Library)</title>5 <title>OtpNode.Mailboxes·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNode,·class:·Mailboxes">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNode,·class:·Mailboxes">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.27 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpNode.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpNode·(Java-Erlang·Interface·Library)</title>5 <title>OtpNode·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNode">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNode">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpNodeStatus.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpNodeStatus·(Java-Erlang·Interface·Library)</title>5 <title>OtpNodeStatus·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNodeStatus">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpNodeStatus">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpOutputStream.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpOutputStream·(Java-Erlang·Interface·Library)</title>5 <title>OtpOutputStream·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpOutputStream">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpOutputStream">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.27 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpPeer.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpPeer·(Java-Erlang·Interface·Library)</title>5 <title>OtpPeer·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpPeer">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpPeer">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.27 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpSelf.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpSelf·(Java-Erlang·Interface·Library)</title>5 <title>OtpSelf·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpSelf">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpSelf">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.28 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpServer.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpServer·(Java-Erlang·Interface·Library)</title>5 <title>OtpServer·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpServer">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpServer">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.34 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpServerSocketTransport.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpServerSocketTransport·(Java-Erlang·Interface·Library)</title>5 <title>OtpServerSocketTransport·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpServerSocketTransport">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpServerSocketTransport">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpServerTransport.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpServerTransport·(Java-Erlang·Interface·Library)</title>5 <title>OtpServerTransport·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·interface:·OtpServerTransport">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·interface:·OtpServerTransport">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpSocketTransport.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpSocketTransport·(Java-Erlang·Interface·Library)</title>5 <title>OtpSocketTransport·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpSocketTransport">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpSocketTransport">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.34 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpSocketTransportFactory.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpSocketTransportFactory·(Java-Erlang·Interface·Library)</title>5 <title>OtpSocketTransportFactory·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpSocketTransportFactory">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·class:·OtpSocketTransportFactory">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.3 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpTransport.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpTransport·(Java-Erlang·Interface·Library)</title>5 <title>OtpTransport·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·interface:·OtpTransport">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·interface:·OtpTransport">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.32 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/OtpTransportFactory.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>OtpTransportFactory·(Java-Erlang·Interface·Library)</title>5 <title>OtpTransportFactory·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·interface:·OtpTransportFactory">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang,·interface:·OtpTransportFactory">
10 <meta·name="generator"·content="javadoc/ClassWriterImpl">10 <meta·name="generator"·content="javadoc/ClassWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/package-summary.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>com.ericsson.otp.erlang·(Java-Erlang·Interface·Library)</title>5 <title>com.ericsson.otp.erlang·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang">9 <meta·name="description"·content="declaration:·package:·com.ericsson.otp.erlang">
10 <meta·name="generator"·content="javadoc/PackageWriterImpl">10 <meta·name="generator"·content="javadoc/PackageWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.29 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/com/ericsson/otp/erlang/package-tree.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>com.ericsson.otp.erlang·Class·Hierarchy·(Java-Erlang·Interface·Library)</title>5 <title>com.ericsson.otp.erlang·Class·Hierarchy·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="tree:·package:·com.ericsson.otp.erlang">9 <meta·name="description"·content="tree:·package:·com.ericsson.otp.erlang">
10 <meta·name="generator"·content="javadoc/PackageTreeWriter">10 <meta·name="generator"·content="javadoc/PackageTreeWriter">
11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="../../../../stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="../../../../script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="../../../../script.js"></script>13 <script·type="text/javascript"·src="../../../../script.js"></script>
14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="../../../../script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="../../../../script-dir/jquery-ui.min.js"></script>
1.17 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/constant-values.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>Constant·Field·Values·(Java-Erlang·Interface·Library)</title>5 <title>Constant·Field·Values·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="summary·of·constants">9 <meta·name="description"·content="summary·of·constants">
10 <meta·name="generator"·content="javadoc/ConstantsSummaryWriterImpl">10 <meta·name="generator"·content="javadoc/ConstantsSummaryWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.15 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/deprecated-list.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>Deprecated·List·(Java-Erlang·Interface·Library)</title>5 <title>Deprecated·List·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="deprecated·elements">9 <meta·name="description"·content="deprecated·elements">
10 <meta·name="generator"·content="javadoc/DeprecatedListWriter">10 <meta·name="generator"·content="javadoc/DeprecatedListWriter">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.11 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/help-doc.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>API·Help·(Java-Erlang·Interface·Library)</title>5 <title>API·Help·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="help">9 <meta·name="description"·content="help">
10 <meta·name="generator"·content="javadoc/HelpWriter">10 <meta·name="generator"·content="javadoc/HelpWriter">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.11 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/index-all.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>Index·(Java-Erlang·Interface·Library)</title>5 <title>Index·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="index">9 <meta·name="description"·content="index">
10 <meta·name="generator"·content="javadoc/IndexWriter">10 <meta·name="generator"·content="javadoc/IndexWriter">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.09 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/index.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>Java-Erlang·Interface·Library</title>5 <title>Java-Erlang·Interface·Library</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="index·redirect">9 <meta·name="description"·content="index·redirect">
10 <meta·name="generator"·content="javadoc/IndexRedirectWriter">10 <meta·name="generator"·content="javadoc/IndexRedirectWriter">
11 <link·rel="canonical"·href="com/ericsson/otp/erlang/package-summary.html">11 <link·rel="canonical"·href="com/ericsson/otp/erlang/package-summary.html">
12 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
13 <script·type="text/javascript">window.location.replace('com/ericsson/otp/erlang/package-summary.html')</script>13 <script·type="text/javascript">window.location.replace('com/ericsson/otp/erlang/package-summary.html')</script>
14 <noscript>14 <noscript>
15 <meta·http-equiv="Refresh"·content="0;com/ericsson/otp/erlang/package-summary.html">15 <meta·http-equiv="Refresh"·content="0;com/ericsson/otp/erlang/package-summary.html">
1.13 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/overview-tree.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>Class·Hierarchy·(Java-Erlang·Interface·Library)</title>5 <title>Class·Hierarchy·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="class·tree">9 <meta·name="description"·content="class·tree">
10 <meta·name="generator"·content="javadoc/TreeWriter">10 <meta·name="generator"·content="javadoc/TreeWriter">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.11 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/search.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>Search·(Java-Erlang·Interface·Library)</title>5 <title>Search·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="search">9 <meta·name="description"·content="search">
10 <meta·name="generator"·content="javadoc/SearchWriter">10 <meta·name="generator"·content="javadoc/SearchWriter">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.16 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/assets/java/serialized-form.html
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 <!DOCTYPE·HTML>1 <!DOCTYPE·HTML>
2 <html·lang="en">2 <html·lang="en">
3 <head>3 <head>
4 <!--·Generated·by·javadoc·(21)·on·Mon·Jun·02·17:15:11·GMT·2025·-->4 <!--·Generated·by·javadoc·(21)·on·Sun·Jul·05·23:53:20·GMT·2026·-->
5 <title>Serialized·Form·(Java-Erlang·Interface·Library)</title>5 <title>Serialized·Form·(Java-Erlang·Interface·Library)</title>
6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">6 <meta·name="viewport"·content="width=device-width,·initial-scale=1">
7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">7 <meta·http-equiv="Content-Type"·content="text/html;·charset=UTF-8">
8 <meta·name="dc.created"·content="2025-06-02">8 <meta·name="dc.created"·content="2026-07-05">
9 <meta·name="description"·content="serialized·forms">9 <meta·name="description"·content="serialized·forms">
10 <meta·name="generator"·content="javadoc/SerializedFormWriterImpl">10 <meta·name="generator"·content="javadoc/SerializedFormWriterImpl">
11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">11 <link·rel="stylesheet"·type="text/css"·href="stylesheet.css"·title="Style">
12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">12 <link·rel="stylesheet"·type="text/css"·href="script-dir/jquery-ui.min.css"·title="Style">
13 <script·type="text/javascript"·src="script.js"></script>13 <script·type="text/javascript"·src="script.js"></script>
14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>14 <script·type="text/javascript"·src="script-dir/jquery-3.7.1.min.js"></script>
15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>15 <script·type="text/javascript"·src="script-dir/jquery-ui.min.js"></script>
1.48 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/jinterface_users_guide.html
    
Offset 418, 15 lines modifiedOffset 418, 15 lines modified
418 ······<p·class="built-using">418 ······<p·class="built-using">
419 ········Built·using419 ········Built·using
420 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the420 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
421 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>421 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
422 ······</p>422 ······</p>
423 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>423 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
424 ····</footer>424 ····</footer>
425 ··</div>425 ··</div>
426 </main>426 </main>
427 </div>427 </div>
428 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>428 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
429 ··<script>429 ··<script>
430 ··let·initialized·=·false;430 ··let·initialized·=·false;
643 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/notes.html
    
Offset 842, 15 lines modifiedOffset 842, 15 lines modified
842 ······<p·class="built-using">842 ······<p·class="built-using">
843 ········Built·using843 ········Built·using
844 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the844 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
845 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>845 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
846 ······</p>846 ······</p>
847 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>847 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
848 ····</footer>848 ····</footer>
849 ··</div>849 ··</div>
850 </main>850 </main>
851 </div>851 </div>
852 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>852 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
853 ··<script>853 ··<script>
854 ··let·initialized·=·false;854 ··let·initialized·=·false;
650 B
html2text {}
Max HTML report size reached
1.23 KB
./usr/share/doc/erlang-doc/html/lib/jinterface-1.15/doc/html/search.html
    
Offset 127, 15 lines modifiedOffset 127, 15 lines modified
127 ······<p·class="built-using">127 ······<p·class="built-using">
128 ········Built·using128 ········Built·using
129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the129 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>130 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
131 ······</p>131 ······</p>
132 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>132 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
133 ····</footer>133 ····</footer>
134 ··</div>134 ··</div>
135 </main>135 </main>
136 </div>136 </div>
137 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>137 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
138 ··<script>138 ··<script>
139 ··let·initialized·=·false;139 ··let·initialized·=·false;
419 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.42 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/api-reference.html
    
Offset 499, 15 lines modifiedOffset 499, 15 lines modified
499 ······<p·class="built-using">499 ······<p·class="built-using">
500 ········Built·using500 ········Built·using
501 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the501 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
502 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>502 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
503 ······</p>503 ······</p>
504 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>504 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
505 ····</footer>505 ····</footer>
506 ··</div>506 ··</div>
507 </main>507 </main>
508 </div>508 </div>
509 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>509 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
510 ··<script>510 ··<script>
511 ··let·initialized·=·false;511 ··let·initialized·=·false;
606 B
html2text {}
Max HTML report size reached
27.6 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/app.html
    
Offset 140, 49 lines modifiedOffset 140, 49 lines modified
140 ····<i·class="ri-link-m"·aria-hidden="true"></i>140 ····<i·class="ri-link-m"·aria-hidden="true"></i>
141 ··</a>141 ··</a>
142 ··<span·class="text">File·Syntax</span>142 ··<span·class="text">File·Syntax</span>
143 </h2>143 </h2>
144 <p>The·application·resource·file·is·to·be·called·<code·class="inline">Application.app</code>,·where144 <p>The·application·resource·file·is·to·be·called·<code·class="inline">Application.app</code>,·where
145 <code·class="inline">Application</code>·is·the·application·name.·The·file·is·to·be·located·in·directory145 <code·class="inline">Application</code>·is·the·application·name.·The·file·is·to·be·located·in·directory
146 <code·class="inline">ebin</code>·for·the·application.</p><p>The·file·must·contain·a·single·Erlang·term,·which·is·called·an·<em>application146 <code·class="inline">ebin</code>·for·the·application.</p><p>The·file·must·contain·a·single·Erlang·term,·which·is·called·an·<em>application
147 specification</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9532362112-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Application</span><span·class="p">,</span><span·class="w">147 specification</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4293536664-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Application</span><span·class="p">,</span><span·class="w">
148 ··</span><span·class="p"·data-group-id="9532362112-2">[</span><span·class="p"·data-group-id="9532362112-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">··</span><span·class="n">Description</span><span·class="p"·data-group-id="9532362112-3">}</span><span·class="p">,</span><span·class="w">148 ··</span><span·class="p"·data-group-id="4293536664-2">[</span><span·class="p"·data-group-id="4293536664-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">··</span><span·class="n">Description</span><span·class="p"·data-group-id="4293536664-3">}</span><span·class="p">,</span><span·class="w">
149 ···</span><span·class="p"·data-group-id="9532362112-4">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="w">···········</span><span·class="n">Id</span><span·class="p"·data-group-id="9532362112-4">}</span><span·class="p">,</span><span·class="w">149 ···</span><span·class="p"·data-group-id="4293536664-4">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="w">···········</span><span·class="n">Id</span><span·class="p"·data-group-id="4293536664-4">}</span><span·class="p">,</span><span·class="w">
150 ···</span><span·class="p"·data-group-id="9532362112-5">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">··········</span><span·class="n">Vsn</span><span·class="p"·data-group-id="9532362112-5">}</span><span·class="p">,</span><span·class="w">150 ···</span><span·class="p"·data-group-id="4293536664-5">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">··········</span><span·class="n">Vsn</span><span·class="p"·data-group-id="4293536664-5">}</span><span·class="p">,</span><span·class="w">
151 ···</span><span·class="p"·data-group-id="9532362112-6">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">······</span><span·class="n">Modules</span><span·class="p"·data-group-id="9532362112-6">}</span><span·class="p">,</span><span·class="w">151 ···</span><span·class="p"·data-group-id="4293536664-6">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">······</span><span·class="n">Modules</span><span·class="p"·data-group-id="4293536664-6">}</span><span·class="p">,</span><span·class="w">
152 ···</span><span·class="p"·data-group-id="9532362112-7">{</span><span·class="ss">maxP</span><span·class="p">,</span><span·class="w">·········</span><span·class="n">MaxP</span><span·class="p"·data-group-id="9532362112-7">}</span><span·class="p">,</span><span·class="w">152 ···</span><span·class="p"·data-group-id="4293536664-7">{</span><span·class="ss">maxP</span><span·class="p">,</span><span·class="w">·········</span><span·class="n">MaxP</span><span·class="p"·data-group-id="4293536664-7">}</span><span·class="p">,</span><span·class="w">
153 ···</span><span·class="p"·data-group-id="9532362112-8">{</span><span·class="ss">maxT</span><span·class="p">,</span><span·class="w">·········</span><span·class="n">MaxT</span><span·class="p"·data-group-id="9532362112-8">}</span><span·class="p">,</span><span·class="w">153 ···</span><span·class="p"·data-group-id="4293536664-8">{</span><span·class="ss">maxT</span><span·class="p">,</span><span·class="w">·········</span><span·class="n">MaxT</span><span·class="p"·data-group-id="4293536664-8">}</span><span·class="p">,</span><span·class="w">
154 ···</span><span·class="p"·data-group-id="9532362112-9">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">···</span><span·class="n">Names</span><span·class="p"·data-group-id="9532362112-9">}</span><span·class="p">,</span><span·class="w">154 ···</span><span·class="p"·data-group-id="4293536664-9">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">···</span><span·class="n">Names</span><span·class="p"·data-group-id="4293536664-9">}</span><span·class="p">,</span><span·class="w">
155 ···</span><span·class="p"·data-group-id="9532362112-10">{</span><span·class="ss">included_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Apps</span><span·class="p"·data-group-id="9532362112-10">}</span><span·class="p">,</span><span·class="w">155 ···</span><span·class="p"·data-group-id="4293536664-10">{</span><span·class="ss">included_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Apps</span><span·class="p"·data-group-id="4293536664-10">}</span><span·class="p">,</span><span·class="w">
156 ···</span><span·class="p"·data-group-id="9532362112-11">{</span><span·class="ss">optional_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Apps</span><span·class="p"·data-group-id="9532362112-11">}</span><span·class="p">,</span><span·class="w">156 ···</span><span·class="p"·data-group-id="4293536664-11">{</span><span·class="ss">optional_applications</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Apps</span><span·class="p"·data-group-id="4293536664-11">}</span><span·class="p">,</span><span·class="w">
157 ···</span><span·class="p"·data-group-id="9532362112-12">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Apps</span><span·class="p"·data-group-id="9532362112-12">}</span><span·class="p">,</span><span·class="w">157 ···</span><span·class="p"·data-group-id="4293536664-12">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Apps</span><span·class="p"·data-group-id="4293536664-12">}</span><span·class="p">,</span><span·class="w">
158 ···</span><span·class="p"·data-group-id="9532362112-13">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">··········</span><span·class="n">Env</span><span·class="p"·data-group-id="9532362112-13">}</span><span·class="p">,</span><span·class="w">158 ···</span><span·class="p"·data-group-id="4293536664-13">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">··········</span><span·class="n">Env</span><span·class="p"·data-group-id="4293536664-13">}</span><span·class="p">,</span><span·class="w">
159 ···</span><span·class="p"·data-group-id="9532362112-14">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">··········</span><span·class="n">Start</span><span·class="p"·data-group-id="9532362112-14">}</span><span·class="p">,</span><span·class="w">159 ···</span><span·class="p"·data-group-id="4293536664-14">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">··········</span><span·class="n">Start</span><span·class="p"·data-group-id="4293536664-14">}</span><span·class="p">,</span><span·class="w">
160 ···</span><span·class="p"·data-group-id="9532362112-15">{</span><span·class="ss">start_phases</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Phases</span><span·class="p"·data-group-id="9532362112-15">}</span><span·class="p">,</span><span·class="w">160 ···</span><span·class="p"·data-group-id="4293536664-15">{</span><span·class="ss">start_phases</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Phases</span><span·class="p"·data-group-id="4293536664-15">}</span><span·class="p">,</span><span·class="w">
161 ···</span><span·class="p"·data-group-id="9532362112-16">{</span><span·class="ss">runtime_dependencies</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RTDeps</span><span·class="p"·data-group-id="9532362112-16">}</span><span·class="p"·data-group-id="9532362112-2">]</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·55954a2acc0550364467609ab33125f68a8cd4d3440b52611aba41bc412a0ca9·...·]-1">}</span><span·class="p">.</span><span·class="w">161 ···</span><span·class="p"·data-group-id="4293536664-16">{</span><span·class="ss">runtime_dependencies</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RTDeps</span><span·class="p"·data-group-id="4293536664-16">}</span><span·class="p"·data-group-id="4293536664-2">]</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·1d6a7eab3300e93776667ccc88e6e2ed6fde1c7cc2d448b196dc0a0dcc7e06cb·...·]-1">}</span><span·class="p">.</span><span·class="w">
  
162 ·············</span><span·class="n">Value</span><span·class="w">················</span><span·class="n">Default</span><span·class="w">162 ·············</span><span·class="n">Value</span><span·class="w">················</span><span·class="n">Default</span><span·class="w">
163 ·············</span><span·class="o">--</span><span·class="o">--</span><span·class="o">-</span><span·class="w">················</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">-</span><span·class="w">163 ·············</span><span·class="o">--</span><span·class="o">--</span><span·class="o">-</span><span·class="w">················</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">-</span><span·class="w">
164 </span><span·class="n">Application</span><span·class="w">··</span><span·class="nf">atom</span><span·class="p"·data-group-id="9532362112-17">(</span><span·class="p"·data-group-id="9532362112-17">)</span><span·class="w">···············</span><span·class="o">-</span><span·class="w">164 </span><span·class="n">Application</span><span·class="w">··</span><span·class="nf">atom</span><span·class="p"·data-group-id="4293536664-17">(</span><span·class="p"·data-group-id="4293536664-17">)</span><span·class="w">···············</span><span·class="o">-</span><span·class="w">
165 </span><span·class="n">Description</span><span·class="w">··</span><span·class="nf">string</span><span·class="p"·data-group-id="9532362112-18">(</span><span·class="p"·data-group-id="9532362112-18">)</span><span·class="w">·············</span><span·class="s">&quot;&quot;</span><span·class="w">165 </span><span·class="n">Description</span><span·class="w">··</span><span·class="nf">string</span><span·class="p"·data-group-id="4293536664-18">(</span><span·class="p"·data-group-id="4293536664-18">)</span><span·class="w">·············</span><span·class="s">&quot;&quot;</span><span·class="w">
166 </span><span·class="n">Id</span><span·class="w">···········</span><span·class="nf">string</span><span·class="p"·data-group-id="9532362112-19">(</span><span·class="p"·data-group-id="9532362112-19">)</span><span·class="w">·············</span><span·class="s">&quot;&quot;</span><span·class="w">166 </span><span·class="n">Id</span><span·class="w">···········</span><span·class="nf">string</span><span·class="p"·data-group-id="4293536664-19">(</span><span·class="p"·data-group-id="4293536664-19">)</span><span·class="w">·············</span><span·class="s">&quot;&quot;</span><span·class="w">
167 </span><span·class="n">Vsn</span><span·class="w">··········</span><span·class="nf">string</span><span·class="p"·data-group-id="9532362112-20">(</span><span·class="p"·data-group-id="9532362112-20">)</span><span·class="w">·············</span><span·class="s">&quot;&quot;</span><span·class="w">167 </span><span·class="n">Vsn</span><span·class="w">··········</span><span·class="nf">string</span><span·class="p"·data-group-id="4293536664-20">(</span><span·class="p"·data-group-id="4293536664-20">)</span><span·class="w">·············</span><span·class="s">&quot;&quot;</span><span·class="w">
168 </span><span·class="n">Modules</span><span·class="w">······</span><span·class="p"·data-group-id="9532362112-21">[</span><span·class="n">Module</span><span·class="p"·data-group-id="9532362112-21">]</span><span·class="w">·············</span><span·class="p"·data-group-id="9532362112-22">[</span><span·class="p"·data-group-id="9532362112-22">]</span><span·class="w">168 </span><span·class="n">Modules</span><span·class="w">······</span><span·class="p"·data-group-id="4293536664-21">[</span><span·class="n">Module</span><span·class="p"·data-group-id="4293536664-21">]</span><span·class="w">·············</span><span·class="p"·data-group-id="4293536664-22">[</span><span·class="p"·data-group-id="4293536664-22">]</span><span·class="w">
169 </span><span·class="n">MaxP</span><span·class="w">·········</span><span·class="nf">int</span><span·class="p"·data-group-id="9532362112-23">(</span><span·class="p"·data-group-id="9532362112-23">)</span><span·class="w">················</span><span·class="ss">infinity</span><span·class="w">169 </span><span·class="n">MaxP</span><span·class="w">·········</span><span·class="nf">int</span><span·class="p"·data-group-id="4293536664-23">(</span><span·class="p"·data-group-id="4293536664-23">)</span><span·class="w">················</span><span·class="ss">infinity</span><span·class="w">
170 </span><span·class="n">MaxT</span><span·class="w">·········</span><span·class="nf">int</span><span·class="p"·data-group-id="9532362112-24">(</span><span·class="p"·data-group-id="9532362112-24">)</span><span·class="w">················</span><span·class="ss">infinity</span><span·class="w">170 </span><span·class="n">MaxT</span><span·class="w">·········</span><span·class="nf">int</span><span·class="p"·data-group-id="4293536664-24">(</span><span·class="p"·data-group-id="4293536664-24">)</span><span·class="w">················</span><span·class="ss">infinity</span><span·class="w">
171 </span><span·class="n">Names</span><span·class="w">········</span><span·class="p"·data-group-id="9532362112-25">[</span><span·class="n">Name</span><span·class="p"·data-group-id="9532362112-25">]</span><span·class="w">···············</span><span·class="p"·data-group-id="9532362112-26">[</span><span·class="p"·data-group-id="9532362112-26">]</span><span·class="w">171 </span><span·class="n">Names</span><span·class="w">········</span><span·class="p"·data-group-id="4293536664-25">[</span><span·class="n">Name</span><span·class="p"·data-group-id="4293536664-25">]</span><span·class="w">···············</span><span·class="p"·data-group-id="4293536664-26">[</span><span·class="p"·data-group-id="4293536664-26">]</span><span·class="w">
172 </span><span·class="n">Apps</span><span·class="w">·········</span><span·class="p"·data-group-id="9532362112-27">[</span><span·class="n">App</span><span·class="p"·data-group-id="9532362112-27">]</span><span·class="w">················</span><span·class="p"·data-group-id="9532362112-28">[</span><span·class="p"·data-group-id="9532362112-28">]</span><span·class="w">172 </span><span·class="n">Apps</span><span·class="w">·········</span><span·class="p"·data-group-id="4293536664-27">[</span><span·class="n">App</span><span·class="p"·data-group-id="4293536664-27">]</span><span·class="w">················</span><span·class="p"·data-group-id="4293536664-28">[</span><span·class="p"·data-group-id="4293536664-28">]</span><span·class="w">
173 </span><span·class="n">Env</span><span·class="w">··········</span><span·class="p"·data-group-id="9532362112-29">[</span><span·class="p"·data-group-id="9532362112-30">{</span><span·class="n">Par</span><span·class="p">,</span><span·class="n">Val</span><span·class="p"·data-group-id="9532362112-30">}</span><span·class="p"·data-group-id="9532362112-29">]</[·...·truncated·by·diffoscope;·len:·133,·SHA:·60eadeedac642ada94ec64d8553fb2e0699be3439293d7cf934bdb4b3426144c·...·]-31">]</span><span·class="w">173 </span><span·class="n">Env</span><span·class="w">··········</span><span·class="p"·data-group-id="4293536664-29">[</span><span·class="p"·data-group-id="4293536664-30">{</span><span·class="n">Par</span><span·class="p">,</span><span·class="n">Val</span><span·class="p"·data-group-id="4293536664-30">}</span><span·class="p"·data-group-id="4293536664-29">]</[·...·truncated·by·diffoscope;·len:·133,·SHA:·93812a54f8a0438a923f04a4e750cd16de9f83aa9c696e3171de73e69bd15236·...·]-31">]</span><span·class="w">
174 </span><span·class="n">Start</span><span·class="w">········</span><span·class="p"·data-group-id="9532362112-32">{</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">StartArgs</span><span·class="p"·data-group-id="9532362112-32">}</span><span·class="w">···</span><span·class="p"·data-group-id="9532362112-33">[</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·ecf6ae98adf9f0dff1394aa42dbc8b5d34358ceb0d6ef293f9c2fdd9b550e7fe·...·]-33">]</span><span·class="w">174 </span><span·class="n">Start</span><span·class="w">········</span><span·class="p"·data-group-id="4293536664-32">{</span><span·class="n">Module</span><span·class="p">,</span><span·class="n">StartArgs</span><span·class="p"·data-group-id="4293536664-32">}</span><span·class="w">···</span><span·class="p"·data-group-id="4293536664-33">[</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·0eab650a6d664cc9ee0668a828fd6de6be0726ff6d39873ed45a961750642e4b·...·]-33">]</span><span·class="w">
175 </span><span·class="n">Phases</span><span·class="w">·······</span><span·class="p"·data-group-id="9532362112-34">[</span><span·class="p"·data-group-id="9532362112-35">{</span><span·class="n">Phase</span><span·class="p">,</span><span·class="n">PhaseArgs</span><span·class="p"·data-group-id="9532362112-35">}</span><span·class="p"·data-group-id="9532362112-34">]</span><span·class="w">··</span><span·class="ss">undefined</span><span·class="w">175 </span><span·class="n">Phases</span><span·class="w">·······</span><span·class="p"·data-group-id="4293536664-34">[</span><span·class="p"·data-group-id="4293536664-35">{</span><span·class="n">Phase</span><span·class="p">,</span><span·class="n">PhaseArgs</span><span·class="p"·data-group-id="4293536664-35">}</span><span·class="p"·data-group-id="4293536664-34">]</span><span·class="w">··</span><span·class="ss">undefined</span><span·class="w">
176 </span><span·class="n">RTDeps</span><span·class="w">·······</span><span·class="p"·data-group-id="9532362112-36">[</span><span·class="n">ApplicationVersion</span><span·class="p"·data-group-id="9532362112-36">]</span><span·class="w">·</span><span·class="p"·data-group-id="9532362112-37">[</span><span·class="p"·data-group-id="9532362112-37">]</span><span·class="w">176 </span><span·class="n">RTDeps</span><span·class="w">·······</span><span·class="p"·data-group-id="4293536664-36">[</span><span·class="n">ApplicationVersion</span><span·class="p"·data-group-id="4293536664-36">]</span><span·class="w">·</span><span·class="p"·data-group-id="4293536664-37">[</span><span·class="p"·data-group-id="4293536664-37">]</span><span·class="w">
  
177 </span><span·class="n">Module</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">App</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Par</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Phase</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="9532362112-38">(</span><span·class="p"·data-group-id="9532362112-38">)</span><span·class="w">177 </span><span·class="n">Module</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">App</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Par</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Phase</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="4293536664-38">(</span><span·class="p"·data-group-id="4293536664-38">)</span><span·class="w">
178 </span><span·class="n">Val</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">StartArgs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">PhaseArgs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="9532362112-39">(</span><span·class="p"·data-group-id="9532362112-39">)</span><span·class="w">178 </span><span·class="n">Val</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">StartArgs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">PhaseArgs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="4293536664-39">(</span><span·class="p"·data-group-id="4293536664-39">)</span><span·class="w">
179 </span><span·class="n">ApplicationVersion</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="9532362112-40">(</span><span·class="p"·data-group-id="9532362112-40">)</span></code></pre><ul><li><strong><code·class="inline">Application</code></strong>·-·Application·name.</li></ul><p>For·the·application·controller,·all·keys·are·optional.·The·respective·default179 </span><span·class="n">ApplicationVersion</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="4293536664-40">(</span><span·class="p"·data-group-id="4293536664-40">)</span></code></pre><ul><li><strong><code·class="inline">Application</code></strong>·-·Application·name.</li></ul><p>For·the·application·controller,·all·keys·are·optional.·The·respective·default
180 values·are·used·for·any·omitted·keys.</p><p>The·functions·in·<code·class="inline">systools</code>·require·more·information.·If·they·are·used,·the180 values·are·used·for·any·omitted·keys.</p><p>The·functions·in·<code·class="inline">systools</code>·require·more·information.·If·they·are·used,·the
181 following·keys·are·mandatory:</p><ul><li><code·class="inline">description</code></li><li><code·class="inline">vsn</code></li><li><code·class="inline">modules</code></li><li><code·class="inline">registered</code></li><li><code·class="inline">applications</code></li></ul><p>The·other·keys·are·ignored·by·<code·class="inline">systools</code>.</p><ul><li><p><strong><code·class="inline">description</code></strong>·-·A·one-line·description·of·the·application.</p></li><li><p><strong><code·class="inline">id</code></strong>·-·Product·identification,·or·similar.</p></li><li><p><strong><code·class="inline">vsn</code></strong>·-·Version·of·the·application.</p></li><li><p><strong><code·class="inline">modules</code></strong>·-·All·modules·introduced·by·this·application.·<code·class="inline">systools</code>·uses181 following·keys·are·mandatory:</p><ul><li><code·class="inline">description</code></li><li><code·class="inline">vsn</code></li><li><code·class="inline">modules</code></li><li><code·class="inline">registered</code></li><li><code·class="inline">applications</code></li></ul><p>The·other·keys·are·ignored·by·<code·class="inline">systools</code>.</p><ul><li><p><strong><code·class="inline">description</code></strong>·-·A·one-line·description·of·the·application.</p></li><li><p><strong><code·class="inline">id</code></strong>·-·Product·identification,·or·similar.</p></li><li><p><strong><code·class="inline">vsn</code></strong>·-·Version·of·the·application.</p></li><li><p><strong><code·class="inline">modules</code></strong>·-·All·modules·introduced·by·this·application.·<code·class="inline">systools</code>·uses
182 this·list·when·generating·start·scripts·and·tar·files.·A·module·can·only·be182 this·list·when·generating·start·scripts·and·tar·files.·A·module·can·only·be
183 defined·in·one·application.</p></li><li><p><strong><code·class="inline">maxP</code></strong>·-·<em>Deprecated·-·is·ignored</em></p><p>Maximum·number·of·processes·allowed·in·the·application.</p></li><li><p><strong><code·class="inline">maxT</code></strong>·-·Maximum·time,·in·milliseconds,·that·the·application·is·allowed·to183 defined·in·one·application.</p></li><li><p><strong><code·class="inline">maxP</code></strong>·-·<em>Deprecated·-·is·ignored</em></p><p>Maximum·number·of·processes·allowed·in·the·application.</p></li><li><p><strong><code·class="inline">maxT</code></strong>·-·Maximum·time,·in·milliseconds,·that·the·application·is·allowed·to
184 run.·After·the·specified·time,·the·application·terminates·automatically.</p></li><li><p><strong><code·class="inline">registered</code></strong>·-·All·names·of·registered·processes·started·in·this184 run.·After·the·specified·time,·the·application·terminates·automatically.</p></li><li><p><strong><code·class="inline">registered</code></strong>·-·All·names·of·registered·processes·started·in·this
185 application.·<code·class="inline">systools</code>·uses·this·list·to·detect·name·clashes·between185 application.·<code·class="inline">systools</code>·uses·this·list·to·detect·name·clashes·between
186 different·applications.</p></li><li><p><strong><code·class="inline">included_applications</code></strong>·-·All·applications·included·by·this·application.186 different·applications.</p></li><li><p><strong><code·class="inline">included_applications</code></strong>·-·All·applications·included·by·this·application.
Offset 207, 15 lines modifiedOffset 207, 15 lines modified
207 be·omitted·for·applications·without·processes,·typically·code·libraries,·for207 be·omitted·for·applications·without·processes,·typically·code·libraries,·for
208 example,·STDLIB.</p></li><li><p><strong><code·class="inline">start_phases</code></strong>·-·A·list·of·start·phases·and·corresponding·start·arguments208 example,·STDLIB.</p></li><li><p><strong><code·class="inline">start_phases</code></strong>·-·A·list·of·start·phases·and·corresponding·start·arguments
209 for·the·application.·If·this·key·is·present,·the·application·master,·in209 for·the·application.·If·this·key·is·present,·the·application·master,·in
210 addition·to·the·usual·call·to·<code·class="inline">Module:start/2</code>,·also·calls210 addition·to·the·usual·call·to·<code·class="inline">Module:start/2</code>,·also·calls
211 <code·class="inline">Module:start_phase(Phase,Type,PhaseArgs)</code>·for·each·start·phase·defined·by·key211 <code·class="inline">Module:start_phase(Phase,Type,PhaseArgs)</code>·for·each·start·phase·defined·by·key
212 <code·class="inline">start_phases</code>.·Only·after·this·extended·start·procedure,212 <code·class="inline">start_phases</code>.·Only·after·this·extended·start·procedure,
213 <code·class="inline">application:start(Application)</code>·returns.</p><p>Start·phases·can·be·used·to·synchronize·startup·of·an·application·and·its213 <code·class="inline">application:start(Application)</code>·returns.</p><p>Start·phases·can·be·used·to·synchronize·startup·of·an·application·and·its
214 included·applications.·In·this·case,·key·<code·class="inline">mod</code>·must·be·specified·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8373624344-1">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8373624344-2">{</span><span·class="ss">application_starter</span><span·class="p">,</span><span·class="p"·data-group-id="83736243[·...·truncated·by·diffoscope;·len:·246,·SHA:·2df967be12a4d4b7d7812bd6951ac15cac3b95f824cb25af5ec920bde526e70e·...·]-1">}</span></code></pre><p>The·application·master·then·calls·<code·class="inline">Module:start/2</code>·for·the·primary214 included·applications.·In·this·case,·key·<code·class="inline">mod</code>·must·be·specified·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0363217480-1">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0363217480-2">{</span><span·class="ss">application_starter</span><span·class="p">,</span><span·class="p"·data-group-id="03632174[·...·truncated·by·diffoscope;·len:·246,·SHA:·ac2567ae1d23d2f7d1e57bbdbe3f041214a3dc655c5628db5c43e3743c30f8a8·...·]-1">}</span></code></pre><p>The·application·master·then·calls·<code·class="inline">Module:start/2</code>·for·the·primary
215 application,·followed·by·calls·to·<code·class="inline">Module:start_phase/3</code>·for·each·start·phase215 application,·followed·by·calls·to·<code·class="inline">Module:start_phase/3</code>·for·each·start·phase
216 (as·defined·for·the·primary·application),·both·for·the·primary·application·and216 (as·defined·for·the·primary·application),·both·for·the·primary·application·and
217 for·each·of·its·included·applications,·for·which·the·start·phase·is·defined.</p><p>This·implies·that·for·an·included·application,·the·set·of·start·phases·must·be217 for·each·of·its·included·applications,·for·which·the·start·phase·is·defined.</p><p>This·implies·that·for·an·included·application,·the·set·of·start·phases·must·be
218 a·subset·of·the·set·of·phases·defined·for·the·primary·application.·For·more218 a·subset·of·the·set·of·phases·defined·for·the·primary·application.·For·more
219 information,·see·<a·href="../../../../doc/system/applications.html"><em>Applications</em>·in·<em>OTP·Design·Principles</em></a>.</p></li><li><p><strong><code·class="inline"·id="runtime_dependencies">runtime_dependencies</code></strong>·-·A·list·of·application219 information,·see·<a·href="../../../../doc/system/applications.html"><em>Applications</em>·in·<em>OTP·Design·Principles</em></a>.</p></li><li><p><strong><code·class="inline"·id="runtime_dependencies">runtime_dependencies</code></strong>·-·A·list·of·application
220 versions·that·the·application·depends·on.·An·example·of·such·an·application220 versions·that·the·application·depends·on.·An·example·of·such·an·application
221 version·is·<code·class="inline">&quot;kernel-3.0&quot;</code>.·Application·versions·specified·as·runtime221 version·is·<code·class="inline">&quot;kernel-3.0&quot;</code>.·Application·versions·specified·as·runtime
Offset 280, 15 lines modifiedOffset 280, 15 lines modified
280 ······<p·class="built-using">280 ······<p·class="built-using">
281 ········Built·using281 ········Built·using
282 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the282 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
283 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>283 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
284 ······</p>284 ······</p>
285 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>285 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
286 ····</footer>286 ····</footer>
287 ··</div>287 ··</div>
288 </main>288 </main>
289 </div>289 </div>
290 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>290 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
291 ··<script>291 ··<script>
292 ··let·initialized·=·false;292 ··let·initialized·=·false;
755 B
html2text {}
Max HTML report size reached
4.07 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/application.html
    
Offset 1591, 15 lines modifiedOffset 1591, 15 lines modified
1591 distributed.·The·argument·overrides·the·value·for·the·application·in·the·Kernel1591 distributed.·The·argument·overrides·the·value·for·the·application·in·the·Kernel
1592 configuration·parameter·<code·class="inline">distributed</code>.·<code·class="inline">Application</code>·must·be·the·application1592 configuration·parameter·<code·class="inline">distributed</code>.·<code·class="inline">Application</code>·must·be·the·application
1593 name·(same·as·in·the·first·argument).·If·a·node·crashes·and·<code·class="inline">Time</code>·is·specified,1593 name·(same·as·in·the·first·argument).·If·a·node·crashes·and·<code·class="inline">Time</code>·is·specified,
1594 the·application·controller·waits·for·<code·class="inline">Time</code>·milliseconds·before·attempting·to1594 the·application·controller·waits·for·<code·class="inline">Time</code>·milliseconds·before·attempting·to
1595 restart·the·application·on·another·node.·If·<code·class="inline">Time</code>·is·not·specified,·it·defaults1595 restart·the·application·on·another·node.·If·<code·class="inline">Time</code>·is·not·specified,·it·defaults
1596 to·<code·class="inline">0</code>·and·the·application·is·restarted·immediately.</p><p><code·class="inline">Nodes</code>·is·a·list·of·node·names·where·the·application·can·run,·in·priority·from1596 to·<code·class="inline">0</code>·and·the·application·is·restarted·immediately.</p><p><code·class="inline">Nodes</code>·is·a·list·of·node·names·where·the·application·can·run,·in·priority·from
1597 left·to·right.·Node·names·can·be·grouped·using·tuples·to·indicate·that·they·have1597 left·to·right.·Node·names·can·be·grouped·using·tuples·to·indicate·that·they·have
1598 the·same·priority.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Nodes</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3780008857-1">[</span><span·class="ss">cp1@cave</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3780008857-2">{</span><span·class="ss">cp2@cave</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">cp3@[·...·truncated·by·diffoscope;·len:·105,·SHA:·3bd60f9e3f084b81f59b349a31258fad2b24b1c281b43d5ba59307b0a1442a2b·...·]-1">]</span></code></pre><p>This·means·that·the·application·is·preferably·to·be·started·at·<code·class="inline">cp1@cave</code>.·If1598 the·same·priority.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Nodes</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1857327545-1">[</span><span·class="ss">cp1@cave</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1857327545-2">{</span><span·class="ss">cp2@cave</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">cp3@[·...·truncated·by·diffoscope;·len:·105,·SHA:·23253e261d1884d9468a38cc49c02b5c34d8d5d96ed65fbe1d82bda85b8d1e36·...·]-1">]</span></code></pre><p>This·means·that·the·application·is·preferably·to·be·started·at·<code·class="inline">cp1@cave</code>.·If
1599 <code·class="inline">cp1@cave</code>·is·down,·the·application·is·to·be·started·at·<code·class="inline">cp2@cave</code>·or1599 <code·class="inline">cp1@cave</code>·is·down,·the·application·is·to·be·started·at·<code·class="inline">cp2@cave</code>·or
1600 <code·class="inline">cp3@cave</code>.</p><p>If·<code·class="inline">Distributed·==·default</code>,·the·value·for·the·application·in·the·Kernel1600 <code·class="inline">cp3@cave</code>.</p><p>If·<code·class="inline">Distributed·==·default</code>,·the·value·for·the·application·in·the·Kernel
1601 configuration·parameter·<code·class="inline">distributed</code>·is·used.</p>1601 configuration·parameter·<code·class="inline">distributed</code>·is·used.</p>
1602 ··</section>1602 ··</section>
1603 </section>1603 </section>
1604 <section·class="detail"·id="loaded_applications/0">1604 <section·class="detail"·id="loaded_applications/0">
  
Offset 2177, 15 lines modifiedOffset 2177, 15 lines modified
2177 ······<p·class="built-using">2177 ······<p·class="built-using">
2178 ········Built·using2178 ········Built·using
2179 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2179 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2180 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2180 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2181 ······</p>2181 ······</p>
2182 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2182 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2183 ····</footer>2183 ····</footer>
2184 ··</div>2184 ··</div>
2185 </main>2185 </main>
2186 </div>2186 </div>
2187 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2187 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2188 ··<script>2188 ··<script>
2189 ··let·initialized·=·false;2189 ··let·initialized·=·false;
630 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/auth.html
    
Offset 457, 15 lines modifiedOffset 457, 15 lines modified
457 ······<p·class="built-using">457 ······<p·class="built-using">
458 ········Built·using458 ········Built·using
459 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the459 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
460 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>460 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
461 ······</p>461 ······</p>
462 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>462 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
463 ····</footer>463 ····</footer>
464 ··</div>464 ··</div>
465 </main>465 </main>
466 </div>466 </div>
467 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>467 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
468 ··<script>468 ··<script>
469 ··let·initialized·=·false;469 ··let·initialized·=·false;
664 B
html2text {}
Max HTML report size reached
22.5 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/code.html
    
Offset 189, 19 lines modifiedOffset 189, 19 lines modified
189 <a·href="#lib_dir/2"><code·class="inline">code:lib_dir/2</code></a>·and·<a·href="../../../../erts-16.0/doc/html/erl_prim_loader.html"><code·class="inline">erl_prim_loader</code></a>.</p></section><p>The·Erlang·archives·are·<code·class="inline">ZIP</code>·files·with·extension·<code·class="inline">.ez</code>.·Erlang·archives·can189 <a·href="#lib_dir/2"><code·class="inline">code:lib_dir/2</code></a>·and·<a·href="../../../../erts-16.0/doc/html/erl_prim_loader.html"><code·class="inline">erl_prim_loader</code></a>.</p></section><p>The·Erlang·archives·are·<code·class="inline">ZIP</code>·files·with·extension·<code·class="inline">.ez</code>.·Erlang·archives·can
190 also·be·<a·href="../../../../lib/stdlib-7.0/doc/html/escript.html">enclosed·in·<code·class="inline">escript</code></a>·files·whose·file·extension·is·arbitrary.</p><p>Erlang·archive·files·can·contain·entire·Erlang·applications·or·parts·of190 also·be·<a·href="../../../../lib/stdlib-7.0/doc/html/escript.html">enclosed·in·<code·class="inline">escript</code></a>·files·whose·file·extension·is·arbitrary.</p><p>Erlang·archive·files·can·contain·entire·Erlang·applications·or·parts·of
191 applications.·The·structure·in·an·archive·file·is·the·same·as·the·directory191 applications.·The·structure·in·an·archive·file·is·the·same·as·the·directory
192 structure·for·an·application.·If·you,·for·example,·create·an·archive·of192 structure·for·an·application.·If·you,·for·example,·create·an·archive·of
193 <code·class="inline">mnesia-4.4.7</code>,·the·archive·file·must·be·named·<code·class="inline">mnesia-4.4.7.ez</code>·and·it·must193 <code·class="inline">mnesia-4.4.7</code>,·the·archive·file·must·be·named·<code·class="inline">mnesia-4.4.7.ez</code>·and·it·must
194 contain·a·top·directory·named·<code·class="inline">mnesia-4.4.7</code>.·If·the·version·part·of·the·name·is194 contain·a·top·directory·named·<code·class="inline">mnesia-4.4.7</code>.·If·the·version·part·of·the·name·is
195 omitted,·it·must·also·be·omitted·in·the·archive.·That·is,·a·<code·class="inline">mnesia.ez</code>·archive195 omitted,·it·must·also·be·omitted·in·the·archive.·That·is,·a·<code·class="inline">mnesia.ez</code>·archive
196 must·contain·a·<code·class="inline">mnesia</code>·top·directory.</p><p>An·archive·file·for·an·application·can,·for·example,·be·created·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">zip</span><span·class="p">:</span><span·class="nf">create</span><span·class="p"·data-group-id="7147726011-1">(</span><span·class="s">&quot;mnesia-4.4.7.ez&quot;</span><span·class="p">,</span><span·class="w">196 must·contain·a·<code·class="inline">mnesia</code>·top·directory.</p><p>An·archive·file·for·an·application·can,·for·example,·be·created·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">zip</span><span·class="p">:</span><span·class="nf">create</span><span·class="p"·data-group-id="7239422741-1">(</span><span·class="s">&quot;mnesia-4.4.7.ez&quot;</span><span·class="p">,</span><span·class="w">
197 »       </span><span·class="p"·data-group-id="7147726011-2">[</span><span·class="s">&quot;mnesia-4.4.7&quot;</span><span·class="p"·data-group-id="7147726011-2">]</span><span·class="p">,</span><span·class="w">197 »       </span><span·class="p"·data-group-id="7239422741-2">[</span><span·class="s">&quot;mnesia-4.4.7&quot;</span><span·class="p"·data-group-id="7239422741-2">]</span><span·class="p">,</span><span·class="w">
198 »       </span><span·class="p"·data-group-id="7147726011-3">[</span><span·class="p"·data-group-id="7147726011-4">{</span><span·class="ss">cwd</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·122,·SHA:·eecd3cf5523c49f71947f1211f2e039ef4f3afd478fa3969d1a6b838409924c2·...·]1-4">}</span><span·class="p">,</span><span·class="w">198 »       </span><span·class="p"·data-group-id="7239422741-3">[</span><span·class="p"·data-group-id="7239422741-4">{</span><span·class="ss">cwd</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·122,·SHA:·68bc8db422f521ebb265f76f131784edb9a883428b896e9436e50500577698d1·...·]1-4">}</span><span·class="p">,</span><span·class="w">
199 »       ·</span><span·class="p"·data-group-id="7147726011-6">{</span><span·class="ss">compress</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">all</span><span·class="p"·data-group-id="7147726011-6">}</span><span·class="p">,</span><span·class="w">199 »       ·</span><span·class="p"·data-group-id="7239422741-6">{</span><span·class="ss">compress</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">all</span><span·class="p"·data-group-id="7239422741-6">}</span><span·class="p">,</span><span·class="w">
200 »       ·</span><span·class="p"·data-group-id="7147726011-7">{</span><span·class="ss">uncompress</span><span·class="p">,</span><span·class="p"·data-group-id="7147726011-8">[</span><span·class="s">&quot;.beam&quot;</span><span·class="p">,</span><span·class="s">&quot;.app&quot;</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·178,·SHA:·f3ac21eb8c3f940480d5129adb9b35971544cc19400eab2e500f9df1f33f8fc0·...·]1-1">)</span><span·class="p">.</span></code></pre><p>Any·file·in·the·archive·can·be·compressed,·but·to·speed·up·the·access·of200 »       ·</span><span·class="p"·data-group-id="7239422741-7">{</span><span·class="ss">uncompress</span><span·class="p">,</span><span·class="p"·data-group-id="7239422741-8">[</span><span·class="s">&quot;.beam&quot;</span><span·class="p">,</span><span·class="s">&quot;.app&quot;</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·178,·SHA:·0f0a5c170ad694fe8972e6c42347d82741023b6e3e7c130cdbbb2684d607f731·...·]1-1">)</span><span·class="p">.</span></code></pre><p>Any·file·in·the·archive·can·be·compressed,·but·to·speed·up·the·access·of
201 frequently·read·files,·it·can·be·a·good·idea·to·store·<code·class="inline">beam</code>·and·<code·class="inline">app</code>·files201 frequently·read·files,·it·can·be·a·good·idea·to·store·<code·class="inline">beam</code>·and·<code·class="inline">app</code>·files
202 uncompressed·in·the·archive.</p><p>Normally·the·top·directory·of·an·application·is·located·in·library·directory202 uncompressed·in·the·archive.</p><p>Normally·the·top·directory·of·an·application·is·located·in·library·directory
203 <code·class="inline">$OTPROOT/lib</code>·or·in·a·directory·referred·to·by·environment·variable·<code·class="inline">ERL_LIBS</code>.203 <code·class="inline">$OTPROOT/lib</code>·or·in·a·directory·referred·to·by·environment·variable·<code·class="inline">ERL_LIBS</code>.
204 At·startup,·when·the·initial·code·path·is·computed,·the·code·server·also·looks204 At·startup,·when·the·initial·code·path·is·computed,·the·code·server·also·looks
205 for·archive·files·in·these·directories·and·possibly·adds·<code·class="inline">ebin</code>·directories·in205 for·archive·files·in·these·directories·and·possibly·adds·<code·class="inline">ebin</code>·directories·in
206 archives·to·the·code·path.·The·code·path·then·contains·paths·to·directories·that206 archives·to·the·code·path.·The·code·path·then·contains·paths·to·directories·that
207 look·like·<code·class="inline">$OTPROOT/lib/mnesia.ez/mnesia/ebin</code>·or207 look·like·<code·class="inline">$OTPROOT/lib/mnesia.ez/mnesia/ebin</code>·or
Offset 2031, 18 lines modifiedOffset 2031, 18 lines modified
2031 none·of·the·modules·are·loaded·if·there·is·a·problem·with·any·of·the2031 none·of·the·modules·are·loaded·if·there·is·a·problem·with·any·of·the
2032 modules.</p><p>Loading·can·fail·for·one·the·following·reasons:</p><ul><li><p><strong><code·class="inline">badfile</code></strong>·-·The·object·code·has·an·incorrect·format·or·the·module·name·in2032 modules.</p><p>Loading·can·fail·for·one·the·following·reasons:</p><ul><li><p><strong><code·class="inline">badfile</code></strong>·-·The·object·code·has·an·incorrect·format·or·the·module·name·in
2033 the·object·code·is·not·the·expected·module·name.</p></li><li><p><strong><code·class="inline">nofile</code></strong>·-·No·file·with·object·code·exists.</p></li><li><p><strong><code·class="inline">on_load_not_allowed</code></strong>·-·A·module·contains·an2033 the·object·code·is·not·the·expected·module·name.</p></li><li><p><strong><code·class="inline">nofile</code></strong>·-·No·file·with·object·code·exists.</p></li><li><p><strong><code·class="inline">on_load_not_allowed</code></strong>·-·A·module·contains·an
2034 <a·href="../../../../doc/system/code_loading.html#on_load">-on_load·function</a>.</p></li><li><p><strong><code·class="inline">duplicated</code></strong>·-·A·module·is·included·more·than·once·in·<code·class="inline">Modules</code>.</p></li><li><p><strong><code·class="inline">not_purged</code></strong>·-·The·object·code·cannot·be·loaded·because·an·old·version·of2034 <a·href="../../../../doc/system/code_loading.html#on_load">-on_load·function</a>.</p></li><li><p><strong><code·class="inline">duplicated</code></strong>·-·A·module·is·included·more·than·once·in·<code·class="inline">Modules</code>.</p></li><li><p><strong><code·class="inline">not_purged</code></strong>·-·The·object·code·cannot·be·loaded·because·an·old·version·of
2035 the·code·already·exists.</p></li><li><p><strong><code·class="inline">sticky_directory</code></strong>·-·The·object·code·resides·in·a·sticky·directory.</p></li><li><p><strong><code·class="inline">pending_on_load</code></strong>·-·A·previously·loaded·module·contains·an·<code·class="inline">-on_load</code>2035 the·code·already·exists.</p></li><li><p><strong><code·class="inline">sticky_directory</code></strong>·-·The·object·code·resides·in·a·sticky·directory.</p></li><li><p><strong><code·class="inline">pending_on_load</code></strong>·-·A·previously·loaded·module·contains·an·<code·class="inline">-on_load</code>
2036 function·that·never·finished.</p></li></ul><p>If·it·is·important·to·minimize·the·time·that·an·application·is·inactive·while2036 function·that·never·finished.</p></li></ul><p>If·it·is·important·to·minimize·the·time·that·an·application·is·inactive·while
2037 changing·code,·use·<a·href="#prepare_loading/1"><code·class="inline">prepare_loading/1</code></a>·and·<a·href="#finish_loading/1"><code·class="inline">finish_loading/1</code></a>·instead·of2037 changing·code,·use·<a·href="#prepare_loading/1"><code·class="inline">prepare_loading/1</code></a>·and·<a·href="#finish_loading/1"><code·class="inline">finish_loading/1</code></a>·instead·of
2038 <a·href="#atomic_load/1"><code·class="inline">atomic_load/1</code></a>.·Here·is·an·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9921552525-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Prepared</span><span·class="p"·data-group-id="9921552525-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span>[·...·truncated·by·diffoscope;·len:·186,·SHA:·5d343ddbb84f29a1f3f4beac006223a93335652289cea48e3b86ce8ff124adc9·...·]5-2">)</span><span·class="p">,</span><span·class="w">2038 <a·href="#atomic_load/1"><code·class="inline">atomic_load/1</code></a>.·Here·is·an·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1034490465-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Prepared</span><span·class="p"·data-group-id="1034490465-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span>[·...·truncated·by·diffoscope;·len:·186,·SHA:·23f266b6215a12ef5cf72254a0b07ae88cc303b12cc4a7260feb3ed976f55b4a·...·]5-2">)</span><span·class="p">,</span><span·class="w">
2039 </span><span·class="c1">%%·Put·the·application·into·an·inactive·state·or·do·any</span><span·class="w">2039 </span><span·class="c1">%%·Put·the·application·into·an·inactive·state·or·do·any</span><span·class="w">
2040 </span><span·class="c1">%%·other·preparation·needed·before·changing·the·code.</span><span·class="w">2040 </span><span·class="c1">%%·other·preparation·needed·before·changing·the·code.</span><span·class="w">
2041 </span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">finish_loading</span><span·class="p"·data-group-id="9921552525-3">(</span><span·class="n">Prepared</span><span·class="p"·data-group-id="9921552525-3">)</span><span·class="p">,</span><span·class="w">2041 </span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">finish_loading</span><span·class="p"·data-group-id="1034490465-3">(</span><span·class="n">Prepared</span><span·class="p"·data-group-id="1034490465-3">)</span><span·class="p">,</span><span·class="w">
2042 </span><span·class="c1">%%·Resume·the·application.</span></code></pre>2042 </span><span·class="c1">%%·Resume·the·application.</span></code></pre>
2043 ··</section>2043 ··</section>
2044 </section>2044 </section>
2045 <section·class="detail"·id="clash/0">2045 <section·class="detail"·id="clash/0">
  
2046 ··<div·class="detail-header">2046 ··<div·class="detail-header">
2047 ····<a·href="#clash/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2047 ····<a·href="#clash/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2583, 16 lines modifiedOffset 2583, 16 lines modified
2583 ······</div>2583 ······</div>
  
2584 <p>Returns·the·object·code·for·module·<code·class="inline">Module</code>·if·found·in·the·code·path.</p><p>Returns·<code·class="inline">{Module,·Binary,·Filename}</code>·if·successful,·otherwise2584 <p>Returns·the·object·code·for·module·<code·class="inline">Module</code>·if·found·in·the·code·path.</p><p>Returns·<code·class="inline">{Module,·Binary,·Filename}</code>·if·successful,·otherwise
2585 <code·class="inline">error</code>.·<code·class="inline">Binary</code>·is·a·binary·data·object,·which·contains·the·object2585 <code·class="inline">error</code>.·<code·class="inline">Binary</code>·is·a·binary·data·object,·which·contains·the·object
2586 code·for·the·module.·This·is·useful·if·code·is·to·be·loaded·on·a2586 code·for·the·module.·This·is·useful·if·code·is·to·be·loaded·on·a
2587 remote·node·in·a·distributed·system.·For·example,·loading·module2587 remote·node·in·a·distributed·system.·For·example,·loading·module
2588 <code·class="inline">Module</code>·on·a·node·<code·class="inline">Node</code>·is·done·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">2588 <code·class="inline">Module</code>·on·a·node·<code·class="inline">Node</code>·is·done·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
2589 </span><span·class="p"·data-group-id="8158149484-1">{</span><span·class="p">_</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Binary</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Filename</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·314,·SHA:·e61d1793ac4d1232c7a1a06cb5739c5dacdfbaea3f4cb8f0b349484ed515aafc·...·]-2">)</span><span·class="p">,</span><span·class="w">2589 </span><span·class="p"·data-group-id="2536593240-1">{</span><span·class="p">_</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Binary</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Filename</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·314,·SHA:·5f0b56bf1dc8654aa637ce63a310c8b1c0fc27dd76a8277335486bfca7b56ab0·...·]-2">)</span><span·class="p">,</span><span·class="w">
2590 </span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="8158149484-3">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">code</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">load_binary</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·332,·SHA:·8aedb6afa60df1fc1a3c3827ee81bdab51ffeb5803e69736e4b78a365c4f71ec·...·]-3">)</span><span·class="p">,</span><span·class="w">2590 </span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="2536593240-3">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">code</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">load_binary</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·332,·SHA:·e5e8655a3e794d27948ca594fceb0ff0030b12afab4e386312dcd9c64fc99067·...·]-3">)</span><span·class="p">,</span><span·class="w">
2591 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>2591 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>
2592 ··</section>2592 ··</section>
2593 </section>2593 </section>
2594 <section·class="detail"·id="get_path/0">2594 <section·class="detail"·id="get_path/0">
  
2595 ··<div·class="detail-header">2595 ··<div·class="detail-header">
2596 ····<a·href="#get_path/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2596 ····<a·href="#get_path/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2695, 15 lines modifiedOffset 2695, 15 lines modified
2695 ······<div·class="specs">2695 ······<div·class="specs">
  
2696 ··········<pre·translate="no"><span·class="attribute">-spec</span>·lib_dir()·->·<a·href="file.html#t:filename/0">file:filename</a>().</pre>2696 ··········<pre·translate="no"><span·class="attribute">-spec</span>·lib_dir()·->·<a·href="file.html#t:filename/0">file:filename</a>().</pre>
  
2697 ······</div>2697 ······</div>
  
2698 <p>Returns·the·library·directory,·<code·class="inline">$OTPROOT/lib</code>,·where·<code·class="inline">$OTPROOT</code>·is·the·root2698 <p>Returns·the·library·directory,·<code·class="inline">$OTPROOT/lib</code>,·where·<code·class="inline">$OTPROOT</code>·is·the·root
2699 directory·of·Erlang/OTP.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="3223720151-1">(</span><span·class="p"·data-group-id="3223720151-1">)</span><span·class="p">.</span><span·class="w">2699 directory·of·Erlang/OTP.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="0334225912-1">(</span><span·class="p"·data-group-id="0334225912-1">)</span><span·class="p">.</span><span·class="w">
2700 </span><span·class="s">&quot;/usr/local/otp/lib&quot;</span></code></pre>2700 </span><span·class="s">&quot;/usr/local/otp/lib&quot;</span></code></pre>
2701 ··</section>2701 ··</section>
2702 </section>2702 </section>
2703 <section·class="detail"·id="lib_dir/1">2703 <section·class="detail"·id="lib_dir/1">
  
2704 ··<div·class="detail-header">2704 ··<div·class="detail-header">
2705 ····<a·href="#lib_dir/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2705 ····<a·href="#lib_dir/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2732, 15 lines modifiedOffset 2732, 15 lines modified
2732 an·<code·class="inline">ebin</code>·subdirectory,·the·path·to·this·directory·is·returned·(not·the·<code·class="inline">ebin</code>2732 an·<code·class="inline">ebin</code>·subdirectory,·the·path·to·this·directory·is·returned·(not·the·<code·class="inline">ebin</code>
2733 directory).</p><p>If·the·directory·refers·to·a·directory·in·an·archive,·the·archive·name·is2733 directory).</p><p>If·the·directory·refers·to·a·directory·in·an·archive,·the·archive·name·is
2734 stripped·away·before·the·path·is·returned.·For·example,·if·directory2734 stripped·away·before·the·path·is·returned.·For·example,·if·directory
2735 <code·class="inline">/usr/local/otp/lib/mnesia-4.2.2.ez/mnesia-4.2.2/ebin</code>·is·in·the·path,2735 <code·class="inline">/usr/local/otp/lib/mnesia-4.2.2.ez/mnesia-4.2.2/ebin</code>·is·in·the·path,
2736 <code·class="inline">/usr/local/otp/lib/mnesia-4.2.2/ebin</code>·is·returned.·This·means·that·the·library2736 <code·class="inline">/usr/local/otp/lib/mnesia-4.2.2/ebin</code>·is·returned.·This·means·that·the·library
2737 directory·for·an·application·is·the·same,·regardless·if·the·application·resides2737 directory·for·an·application·is·the·same,·regardless·if·the·application·resides
2738 in·an·archive·or·not.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Warning</h4><p>Archives·are·experimental.·In·a·future·release,·they·can·be·removed·or2738 in·an·archive·or·not.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Warning</h4><p>Archives·are·experimental.·In·a·future·release,·they·can·be·removed·or
2739 their·behavior·can·change.</p></section><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="0520088887-1">(</span><span·class="ss">mnesia</span><span·class="p"·data-group-id="0520088887-1">)</span><span·class="p">.</span><span·class="w">2739 their·behavior·can·change.</p></section><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="4261242480-1">(</span><span·class="ss">mnesia</span><span·class="p"·data-group-id="4261242480-1">)</span><span·class="p">.</span><span·class="w">
2740 </span><span·class="s">&quot;/usr/local/otp/lib/mnesia-4.23&quot;</span></code></pre><p>Returns·<code·class="inline">{error,·bad_name}</code>·if·<code·class="inline">Name</code>·is·not·the·name·of·an·application·under2740 </span><span·class="s">&quot;/usr/local/otp/lib/mnesia-4.23&quot;</span></code></pre><p>Returns·<code·class="inline">{error,·bad_name}</code>·if·<code·class="inline">Name</code>·is·not·the·name·of·an·application·under
2741 <code·class="inline">$OTPROOT/lib</code>·or·on·a·directory·referred·to·through·environment·variable2741 <code·class="inline">$OTPROOT/lib</code>·or·on·a·directory·referred·to·through·environment·variable
2742 <code·class="inline">ERL_LIBS</code>.·Fails·with·an·exception·if·<code·class="inline">Name</code>·has·the·wrong·type.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>For·backward·compatibility,·<code·class="inline">Name</code>·is·also·allowed·to·be·a·string.·That·will2742 <code·class="inline">ERL_LIBS</code>.·Fails·with·an·exception·if·<code·class="inline">Name</code>·has·the·wrong·type.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>For·backward·compatibility,·<code·class="inline">Name</code>·is·also·allowed·to·be·a·string.·That·will
2743 probably·change·in·a·future·release.</p></section>2743 probably·change·in·a·future·release.</p></section>
2744 ··</section>2744 ··</section>
2745 </section>2745 </section>
2746 <section·class="detail"·id="lib_dir/2">2746 <section·class="detail"·id="lib_dir/2">
Offset 2773, 15 lines modifiedOffset 2773, 15 lines modified
2773 <p>Returns·the·path·to·a·subdirectory·directly·under·the·top·directory·of·an2773 <p>Returns·the·path·to·a·subdirectory·directly·under·the·top·directory·of·an
2774 application.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>This·function·is·part·of·the·archive·support,·which·is·an·experimental2774 application.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><p>This·function·is·part·of·the·archive·support,·which·is·an·experimental
2775 feature·that·will·be·changed·or·removed·in·a·future·release.</p></section><p>Normally·the·subdirectories·reside·under·the·top·directory·for·the2775 feature·that·will·be·changed·or·removed·in·a·future·release.</p></section><p>Normally·the·subdirectories·reside·under·the·top·directory·for·the
2776 application,·but·when·applications·at·least·partly·reside·in·an·archive,·the2776 application,·but·when·applications·at·least·partly·reside·in·an·archive,·the
2777 situation·is·different.·Some·of·the·subdirectories·can·reside·as·regular2777 situation·is·different.·Some·of·the·subdirectories·can·reside·as·regular
2778 directories·while·others·reside·in·an·archive·file.·It·is·not·checked·whether2778 directories·while·others·reside·in·an·archive·file.·It·is·not·checked·whether
2779 this·directory·exists.</p><p>Instead·of·using·this·function,·use·<a·href="#lib_dir/1"><code·class="inline">code:lib_dir/1</code></a>2779 this·directory·exists.</p><p>Instead·of·using·this·function,·use·<a·href="#lib_dir/1"><code·class="inline">code:lib_dir/1</code></a>
2780 and·<a·href="../../../../lib/stdlib-7.0/doc/html/filename.html#join/2"><code·class="inline">filename:join/2</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="3166584342-1">(</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="3166584342-2">(</span><span·class="ss">megaco</span><span·class="p"·data-group-id="3166584342-2">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·113,·SHA:·86e654355b3ea5b46daa5b8bb54035be2a46edc98bd4273648d2e207c0fdaf61·...·]-1">)</span><span·class="p">.</span><span·class="w">2780 and·<a·href="../../../../lib/stdlib-7.0/doc/html/filename.html#join/2"><code·class="inline">filename:join/2</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="2479230593-1">(</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="2479230593-2">(</span><span·class="ss">megaco</span><span·class="p"·data-group-id="2479230593-2">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·113,·SHA:·588c7e802ecbae8f5fb1774ef7dd69c7830277436029f4c9eea2801539c0c418·...·]-1">)</span><span·class="p">.</span><span·class="w">
2781 </span><span·class="s">&quot;/usr/local/otp/lib/megaco-3.9.1.1/priv&quot;</span></code></pre><p>Fails·with·an·exception·if·<code·class="inline">Name</code>·or·<code·class="inline">SubDir</code>·has·the·wrong·type.</p>2781 </span><span·class="s">&quot;/usr/local/otp/lib/megaco-3.9.1.1/priv&quot;</span></code></pre><p>Fails·with·an·exception·if·<code·class="inline">Name</code>·or·<code·class="inline">SubDir</code>·has·the·wrong·type.</p>
2782 ··</section>2782 ··</section>
2783 </section>2783 </section>
2784 <section·class="detail"·id="load_abs/1">2784 <section·class="detail"·id="load_abs/1">
  
2785 ··<div·class="detail-header">2785 ··<div·class="detail-header">
2786 ····<a·href="#load_abs/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2786 ····<a·href="#load_abs/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 3204, 15 lines modifiedOffset 3204, 15 lines modified
3204 ······<div·class="specs">3204 ······<div·class="specs">
  
3205 ··········<pre·translate="no"><span·class="attribute">-spec</span>·root_dir()·->·<a·href="file.html#t:filename/0">file:filename</a>().</pre>3205 ··········<pre·translate="no"><span·class="attribute">-spec</span>·root_dir()·->·<a·href="file.html#t:filename/0">file:filename</a>().</pre>
  
3206 ······</div>3206 ······</div>
  
3207 <p>Returns·the·root·directory·of·Erlang/OTP,·which·is·the·directory·where·it·is3207 <p>Returns·the·root·directory·of·Erlang/OTP,·which·is·the·directory·where·it·is
3208 installed.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">root_dir</span><span·class="p"·data-group-id="3711450745-1">(</span><span·class="p"·data-group-id="3711450745-1">)</span><span·class="p">.</span><span·class="w">3208 installed.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">root_dir</span><span·class="p"·data-group-id="6191296976-1">(</span><span·class="p"·data-group-id="6191296976-1">)</span><span·class="p">.</span><span·class="w">
3209 </span><span·class="s">&quot;/usr/local/otp&quot;</span></code></pre>3209 </span><span·class="s">&quot;/usr/local/otp&quot;</span></code></pre>
3210 ··</section>3210 ··</section>
3211 </section>3211 </section>
3212 <section·class="detail"·id="set_coverage_mode/1">3212 <section·class="detail"·id="set_coverage_mode/1">
  
3213 ··<div·class="detail-header">3213 ··<div·class="detail-header">
3214 ····<a·href="#set_coverage_mode/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3214 ····<a·href="#set_coverage_mode/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 3480, 15 lines modifiedOffset 3480, 15 lines modified
3480 ······<p·class="built-using">3480 ······<p·class="built-using">
3481 ········Built·using3481 ········Built·using
3482 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3482 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3483 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3483 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3484 ······</p>3484 ······</p>
Max diff block lines reached; 164/22221 bytes (0.74%) of diff not shown.
665 B
html2text {}
Max HTML report size reached
6.46 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/config.html
    
Offset 148, 17 lines modifiedOffset 148, 17 lines modified
148 (see·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html"><code·class="inline">erts:erl(1)</code></a>).</p><p>The·value·of·a·configuration·parameter·is·retrieved·by·calling148 (see·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html"><code·class="inline">erts:erl(1)</code></a>).</p><p>The·value·of·a·configuration·parameter·is·retrieved·by·calling
149 <code·class="inline">application:get_env/1,2</code>.</p><h2·id="file-syntax"·class="section-heading">149 <code·class="inline">application:get_env/1,2</code>.</p><h2·id="file-syntax"·class="section-heading">
150 ··<a·href="#file-syntax"·class="hover-link">150 ··<a·href="#file-syntax"·class="hover-link">
151 ····<i·class="ri-link-m"·aria-hidden="true"></i>151 ····<i·class="ri-link-m"·aria-hidden="true"></i>
152 ··</a>152 ··</a>
153 ··<span·class="text">File·Syntax</span>153 ··<span·class="text">File·Syntax</span>
154 </h2>154 </h2>
155 <p>The·configuration·file·is·to·be·called·<code·class="inline">Name.config</code>,·where·<code·class="inline">Name</code>·is·any·name.</p><p>File·<code·class="inline">.config</code>·contains·a·single·Erlang·term·and·has·the·following·syntax:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6794463709-1">[</span><span·class="p"·data-group-id="6794463709-2">{</span><span·class="n">Application1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6794463709-3">[</span><span·class="p"·data-group-id="6794463709-4">[·...·truncated·by·diffoscope;·len:·379,·SHA:·d1e160732996c6dfeab3b029d8e1e270ca331585fcd2baeba26402d6326b0712·...·]-2">}</span><span·class="p">,</span><span·class="w">155 <p>The·configuration·file·is·to·be·called·<code·class="inline">Name.config</code>,·where·<code·class="inline">Name</code>·is·any·name.</p><p>File·<code·class="inline">.config</code>·contains·a·single·Erlang·term·and·has·the·following·syntax:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1928469070-1">[</span><span·class="p"·data-group-id="1928469070-2">{</span><span·class="n">Application1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1928469070-3">[</span><span·class="p"·data-group-id="1928469070-4">[·...·truncated·by·diffoscope;·len:·379,·SHA:·7e3a006d455f2a2a4cf8c89d8459883bd7c5c3ca590b4ab3d6744d50d58af2d7·...·]-2">}</span><span·class="p">,</span><span·class="w">
156 ·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">156 ·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
157 ·</span><span·class="p"·data-group-id="6794463709-5">{</span><span·class="n">ApplicationN</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6794463709-6">[</span><span·class="p"·data-group-id="6794463709-7">{</span><span·class="n">ParN1</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·379,·SHA:·c2c684682cf9da52aa03e5d1f69cb6a082cba59dba64e316b656669842c5de07·...·]-1">]</span><span·class="p">.</span></code></pre><ul><li><p><strong><code·class="inline">Application·=·atom()</code></strong>·-·Application·name.</p></li><li><p><strong><code·class="inline">Par·=·atom()</code></strong>·-·Name·of·a·configuration·parameter.</p></li><li><p><strong><code·class="inline">Val·=·term()</code></strong>·-·Value·of·a·configuration·parameter.</p></li></ul><h2·id="sys-config"·class="section-heading">157 ·</span><span·class="p"·data-group-id="1928469070-5">{</span><span·class="n">ApplicationN</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1928469070-6">[</span><span·class="p"·data-group-id="1928469070-7">{</span><span·class="n">ParN1</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·379,·SHA:·d27375bff43004a64f5aefa2f698c453fb9463cf8401864972e38dff236fc3c7·...·]-1">]</span><span·class="p">.</span></code></pre><ul><li><p><strong><code·class="inline">Application·=·atom()</code></strong>·-·Application·name.</p></li><li><p><strong><code·class="inline">Par·=·atom()</code></strong>·-·Name·of·a·configuration·parameter.</p></li><li><p><strong><code·class="inline">Val·=·term()</code></strong>·-·Value·of·a·configuration·parameter.</p></li></ul><h2·id="sys-config"·class="section-heading">
158 ··<a·href="#sys-config"·class="hover-link">158 ··<a·href="#sys-config"·class="hover-link">
159 ····<i·class="ri-link-m"·aria-hidden="true"></i>159 ····<i·class="ri-link-m"·aria-hidden="true"></i>
160 ··</a>160 ··</a>
161 ··<span·class="text">sys.config</span>161 ··<span·class="text">sys.config</span>
162 </h2>162 </h2>
163 <p>When·starting·Erlang·in·embedded·mode,·it·is·assumed·that·exactly·one·system163 <p>When·starting·Erlang·in·embedded·mode,·it·is·assumed·that·exactly·one·system
164 configuration·file·is·used,·named·<code·class="inline">sys.config</code>.·This·file·is·to·be·located·in164 configuration·file·is·used,·named·<code·class="inline">sys.config</code>.·This·file·is·to·be·located·in
Offset 253, 15 lines modifiedOffset 253, 15 lines modified
253 ······<p·class="built-using">253 ······<p·class="built-using">
254 ········Built·using254 ········Built·using
255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
257 ······</p>257 ······</p>
258 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>258 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
259 ····</footer>259 ····</footer>
260 ··</div>260 ··</div>
261 </main>261 </main>
262 </div>262 </div>
263 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>263 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
264 ··<script>264 ··<script>
265 ··let·initialized·=·false;265 ··let·initialized·=·false;
669 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/disk_log.html
    
Offset 2950, 15 lines modifiedOffset 2950, 15 lines modified
2950 ······<p·class="built-using">2950 ······<p·class="built-using">
2951 ········Built·using2951 ········Built·using
2952 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2952 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2953 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2953 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2954 ······</p>2954 ······</p>
2955 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2955 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2956 ····</footer>2956 ····</footer>
2957 ··</div>2957 ··</div>
2958 </main>2958 </main>
2959 </div>2959 </div>
2960 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2960 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2961 ··<script>2961 ··<script>
2962 ··let·initialized·=·false;2962 ··let·initialized·=·false;
719 B
html2text {}
Max HTML report size reached
14.2 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/eep48_chapter.html
    
Offset 150, 28 lines modifiedOffset 150, 28 lines modified
150 ····<i·class="ri-link-m"·aria-hidden="true"></i>150 ····<i·class="ri-link-m"·aria-hidden="true"></i>
151 ··</a>151 ··</a>
152 ··<span·class="text">The·&quot;Docs&quot;·format</span>152 ··<span·class="text">The·&quot;Docs&quot;·format</span>
153 </h2>153 </h2>
154 <p>In·both·storages,·the·documentation·is·written·in·the·exactly·same·format:·an154 <p>In·both·storages,·the·documentation·is·written·in·the·exactly·same·format:·an
155 Erlang·term·serialized·to·binary·via155 Erlang·term·serialized·to·binary·via
156 <a·href="../../../../erts-16.0/doc/html/erlang.html#term_to_binary/1"><code·class="inline">term_to_binary/1</code></a>.·The·term·can·be·optionally156 <a·href="../../../../erts-16.0/doc/html/erlang.html#term_to_binary/1"><code·class="inline">term_to_binary/1</code></a>.·The·term·can·be·optionally
157 compressed·when·serialized.·It·must·follow·the·type·specification·below:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9666230687-1">{</span><span·class="ss">docs_v1</span><span·class="p">,</span><span·class="w">157 compressed·when·serialized.·It·must·follow·the·type·specification·below:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6982422605-1">{</span><span·class="ss">docs_v1</span><span·class="p">,</span><span·class="w">
158 ·</span><span·class="n">Anno</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nc">erl_anno</span><span·class="p">:</span><span·class="nf">anno</span><span·class="p"·data-group-id="9666230687-2">(</span><span·class="p"·data-group-id="9666230687-2">)</span><span·class="p">,</span><span·class="w">158 ·</span><span·class="n">Anno</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nc">erl_anno</span><span·class="p">:</span><span·class="nf">anno</span><span·class="p"·data-group-id="6982422605-2">(</span><span·class="p"·data-group-id="6982422605-2">)</span><span·class="p">,</span><span·class="w">
159 ·</span><span·class="n">BeamLanguage</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="9666230687-3">(</span><span·class="p"·data-group-id="9666230687-3">)</span><span·class="p">,</span><span·class="w">159 ·</span><span·class="n">BeamLanguage</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="6982422605-3">(</span><span·class="p"·data-group-id="6982422605-3">)</span><span·class="p">,</span><span·class="w">
160 ·</span><span·class="n">Format</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="9666230687-4">(</span><span·class="p"·data-group-id="9666230687-4">)</span><span·class="p">,</span><span·class="w">160 ·</span><span·class="n">Format</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="6982422605-4">(</span><span·class="p"·data-group-id="6982422605-4">)</span><span·class="p">,</span><span·class="w">
161 ·</span><span·class="n">ModuleDoc</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9666230687-5">#{</span><span·class="n">DocLanguage</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">DocValue</span><span·class="p"·data-group-id="9666230687-5">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">none</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">hidden</span><span·class="p">,</span><span·class="w">161 ·</span><span·class="n">ModuleDoc</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="6982422605-5">#{</span><span·class="n">DocLanguage</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">DocValue</span><span·class="p"·data-group-id="6982422605-5">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">none</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">hidden</span><span·class="p">,</span><span·class="w">
162 ·</span><span·class="n">Metadata</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">map</span><span·class="p"·data-group-id="9666230687-6">(</span><span·class="p"·data-group-id="9666230687-6">)</span><span·class="p">,</span><span·class="w">162 ·</span><span·class="n">Metadata</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">map</span><span·class="p"·data-group-id="6982422605-6">(</span><span·class="p"·data-group-id="6982422605-6">)</span><span·class="p">,</span><span·class="w">
163 ·</span><span·class="n">Docs</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">163 ·</span><span·class="n">Docs</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">
164 ···</span><span·class="p"·data-group-id="9666230687-7">[</span><span·class="p"·data-group-id="9666230687-8">{</span><span·class="p"·data-group-id="9666230687-9">{</span><span·class="n">Kind</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·91,·SHA:·018ae78cde4283e34914e8aa001443c457e67c96d641d89d74aa0d00c089c03c·...·]-9">}</span><span·class="p">,</span><span·class="w">164 ···</span><span·class="p"·data-group-id="6982422605-7">[</span><span·class="p"·data-group-id="6982422605-8">{</span><span·class="p"·data-group-id="6982422605-9">{</span><span·class="n">Kind</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·91,·SHA:·499ba5601c1d44758d6fb81fe534bbaee91034e26868d2aa330bc2fb93910a45·...·]-9">}</span><span·class="p">,</span><span·class="w">
165 ·····</span><span·class="n">Anno</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nc">erl_anno</span><span·class="p">:</span><span·class="nf">anno</span><span·class="p"·data-group-id="9666230687-10">(</span><span·class="p"·data-group-id="9666230687-10">)</span><span·class="p">,</span><span·class="w">165 ·····</span><span·class="n">Anno</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nc">erl_anno</span><span·class="p">:</span><span·class="nf">anno</span><span·class="p"·data-group-id="6982422605-10">(</span><span·class="p"·data-group-id="6982422605-10">)</span><span·class="p">,</span><span·class="w">
166 ·····</span><span·class="n">Signature</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9666230687-11">[</span><span·class="nf">binary</span><span·class="p"·data-group-id="9666230687-12">(</span><span·class="p"·data-group-id="9666230687-12">)</span><span·class="p"·data-group-id="9666230687-11">]</span><span·class="p">,</span><span·class="w">166 ·····</span><span·class="n">Signature</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="6982422605-11">[</span><span·class="nf">binary</span><span·class="p"·data-group-id="6982422605-12">(</span><span·class="p"·data-group-id="6982422605-12">)</span><span·class="p"·data-group-id="6982422605-11">]</span><span·class="p">,</span><span·class="w">
167 ·····</span><span·class="n">Doc</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9666230687-13">#{</span><span·class="n">DocLanguage</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">DocValue</span><span·class="p"·data-group-id="9666230687-13">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">none</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">hidden</span><span·class="p">,</span><span·class="w">167 ·····</span><span·class="n">Doc</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="6982422605-13">#{</span><span·class="n">DocLanguage</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">DocValue</span><span·class="p"·data-group-id="6982422605-13">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">none</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">hidden</span><span·class="p">,</span><span·class="w">
168 ·····</span><span·class="n">Metadata</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">map</span><span·class="p"·data-group-id="9666230687-14">(</span><span·class="p"·data-group-id="9666230687-14">)</span><span·class="w">168 ·····</span><span·class="n">Metadata</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">map</span><span·class="p"·data-group-id="6982422605-14">(</span><span·class="p"·data-group-id="6982422605-14">)</span><span·class="w">
169 ····</span><span·class="p"·data-group-id="9666230687-8">}</span><span·class="p"·data-group-id="9666230687-7">]</span><span·class="p"·data-group-id="9666230687-1">}</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">DocLanguage</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·202,·SHA:·0934920db0ed480ef1e9f21591d793b24198fae090581bea6b0ebe14f1d8f038·...·]-15">)</span><span·class="p">,</span><span·class="w">169 ····</span><span·class="p"·data-group-id="6982422605-8">}</span><span·class="p"·data-group-id="6982422605-7">]</span><span·class="p"·data-group-id="6982422605-1">}</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">DocLanguage</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·202,·SHA:·41843abf0b273e96f23230bbdf7c8817dd91f8f7f8b12db2ccf5a47343aa9857·...·]-15">)</span><span·class="p">,</span><span·class="w">
170 ·············</span><span·class="n">DocValue</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="9666230687-16">(</span><span·class="p"·data-group-id="9666230687-16">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="9666230687-17">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·789803631ed46567867b2ec3e8b00a8cf3688a31868cf93378850043746cf7f5·...·]-17">)</span></code></pre><p>where·in·the·root·tuple·we·have:</p><ul><li><p><strong><code·class="inline">Anno</code></strong>·-·annotation·(line,·column,·file)·of·the·definition·itself·(see170 ·············</span><span·class="n">DocValue</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="6982422605-16">(</span><span·class="p"·data-group-id="6982422605-16">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="6982422605-17">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·53ba2f304c7213eb89a59aca97ffaa88b519141965f684b222afe12446817d1b·...·]-17">)</span></code></pre><p>where·in·the·root·tuple·we·have:</p><ul><li><p><strong><code·class="inline">Anno</code></strong>·-·annotation·(line,·column,·file)·of·the·definition·itself·(see
171 <a·href="../../../../lib/stdlib-7.0/doc/html/erl_anno.html"><code·class="inline">erl_anno</code></a>)</p></li><li><p><strong><code·class="inline">BeamLanguage</code></strong>·-·an·atom·representing·the·language,·for·example:·<code·class="inline">erlang</code>,171 <a·href="../../../../lib/stdlib-7.0/doc/html/erl_anno.html"><code·class="inline">erl_anno</code></a>)</p></li><li><p><strong><code·class="inline">BeamLanguage</code></strong>·-·an·atom·representing·the·language,·for·example:·<code·class="inline">erlang</code>,
172 <code·class="inline">elixir</code>,·<code·class="inline">lfe</code>,·<code·class="inline">alpaca</code>,·and·so·on</p></li><li><p><strong><code·class="inline">Format</code></strong>·-·the·mime·type·of·the·documentation,·such·as·<code·class="inline">&lt;&lt;&quot;text/markdown&quot;&gt;&gt;</code>172 <code·class="inline">elixir</code>,·<code·class="inline">lfe</code>,·<code·class="inline">alpaca</code>,·and·so·on</p></li><li><p><strong><code·class="inline">Format</code></strong>·-·the·mime·type·of·the·documentation,·such·as·<code·class="inline">&lt;&lt;&quot;text/markdown&quot;&gt;&gt;</code>
173 or·<code·class="inline">&lt;&lt;&quot;application/erlang+html&quot;&gt;&gt;</code>.·For·details·of·the·format·used·by·Erlang173 or·<code·class="inline">&lt;&lt;&quot;application/erlang+html&quot;&gt;&gt;</code>.·For·details·of·the·format·used·by·Erlang
174 see·the·<a·href="../../../../lib/edoc-1.4/doc/html/doc_storage.html"><code·class="inline">EEP-48·Chapter</code></a>·in·EDoc's·User's174 see·the·<a·href="../../../../lib/edoc-1.4/doc/html/doc_storage.html"><code·class="inline">EEP-48·Chapter</code></a>·in·EDoc's·User's
175 Guide.</p></li><li><p><strong><code·class="inline">ModuleDoc</code></strong>·-·a·map·with·the·documentation·language·as·key,·such·as175 Guide.</p></li><li><p><strong><code·class="inline">ModuleDoc</code></strong>·-·a·map·with·the·documentation·language·as·key,·such·as
176 <code·class="inline">&lt;&lt;&quot;en&quot;&gt;&gt;</code>·or·<code·class="inline">&lt;&lt;&quot;pt_BR&quot;&gt;&gt;</code>,·and·the·documentation·as·a·binary·value.·It·can176 <code·class="inline">&lt;&lt;&quot;en&quot;&gt;&gt;</code>·or·<code·class="inline">&lt;&lt;&quot;pt_BR&quot;&gt;&gt;</code>,·and·the·documentation·as·a·binary·value.·It·can
177 be·atom·<code·class="inline">none</code>·if·no·documentation·exists·or·the·atom·<code·class="inline">hidden</code>·if177 be·atom·<code·class="inline">none</code>·if·no·documentation·exists·or·the·atom·<code·class="inline">hidden</code>·if
Offset 263, 15 lines modifiedOffset 263, 15 lines modified
263 ······<p·class="built-using">263 ······<p·class="built-using">
264 ········Built·using264 ········Built·using
265 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the265 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
266 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>266 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
267 ······</p>267 ······</p>
268 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>268 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
269 ····</footer>269 ····</footer>
270 ··</div>270 ··</div>
271 </main>271 </main>
272 </div>272 </div>
273 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>273 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
274 ··<script>274 ··<script>
275 ··let·initialized·=·false;275 ··let·initialized·=·false;
806 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/erl_boot_server.html
    
Offset 399, 15 lines modifiedOffset 399, 15 lines modified
399 ······<p·class="built-using">399 ······<p·class="built-using">
400 ········Built·using400 ········Built·using
401 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the401 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
402 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>402 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
403 ······</p>403 ······</p>
404 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>404 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
405 ····</footer>405 ····</footer>
406 ··</div>406 ··</div>
407 </main>407 </main>
408 </div>408 </div>
409 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>409 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
410 ··<script>410 ··<script>
411 ··let·initialized·=·false;411 ··let·initialized·=·false;
648 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/erl_ddll.html
    
Offset 1311, 15 lines modifiedOffset 1311, 15 lines modified
1311 ······<p·class="built-using">1311 ······<p·class="built-using">
1312 ········Built·using1312 ········Built·using
1313 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1313 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1314 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1314 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1315 ······</p>1315 ······</p>
1316 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1316 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1317 ····</footer>1317 ····</footer>
1318 ··</div>1318 ··</div>
1319 </main>1319 </main>
1320 </div>1320 </div>
1321 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1321 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1322 ··<script>1322 ··<script>
1323 ··let·initialized·=·false;1323 ··let·initialized·=·false;
682 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/erl_debugger.html
    
Offset 1095, 15 lines modifiedOffset 1095, 15 lines modified
1095 ······<p·class="built-using">1095 ······<p·class="built-using">
1096 ········Built·using1096 ········Built·using
1097 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1097 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1098 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1098 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1099 ······</p>1099 ······</p>
1100 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1100 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1101 ····</footer>1101 ····</footer>
1102 ··</div>1102 ··</div>
1103 </main>1103 </main>
1104 </div>1104 </div>
1105 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1105 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1106 ··<script>1106 ··<script>
1107 ··let·initialized·=·false;1107 ··let·initialized·=·false;
700 B
html2text {}
Max HTML report size reached
3.93 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/erl_epmd.html
    
Offset 351, 16 lines modifiedOffset 351, 16 lines modified
351 ···················Reason·::·address·|·<a·href="file.html#t:posix/0">file:posix</a>().</pre>351 ···················Reason·::·address·|·<a·href="file.html#t:posix/0">file:posix</a>().</pre>
  
352 ······</div>352 ······</div>
  
353 <p>Called·by·<a·href="net_adm.html"><code·class="inline">net_adm:names/0</code></a>.·<code·class="inline">Host</code>·defaults·to·the·localhost.353 <p>Called·by·<a·href="net_adm.html"><code·class="inline">net_adm:names/0</code></a>.·<code·class="inline">Host</code>·defaults·to·the·localhost.
354 Returns·the·names·and·associated·port·numbers·of·the·Erlang·nodes·that·<code·class="inline">epmd</code>354 Returns·the·names·and·associated·port·numbers·of·the·Erlang·nodes·that·<code·class="inline">epmd</code>
355 registered·at·the·specified·host.·Returns·<code·class="inline">{error,·address}</code>·if·<code·class="inline">epmd</code>·is·not355 registered·at·the·specified·host.·Returns·<code·class="inline">{error,·address}</code>·if·<code·class="inline">epmd</code>·is·not
356 operational.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(arne@dunn)1&gt;·</span><span·class="nc">erl_epmd</span><span·class="p">:</span><span·class="nf">names</span><span·class="p"·data-group-id="5555596980-1">(</span><span·class="ss">localhost</span><span·class="p"·data-group-id="5555596980-1">)</span><span·class="p">.</span><span·class="w">356 operational.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(arne@dunn)1&gt;·</span><span·class="nc">erl_epmd</span><span·class="p">:</span><span·class="nf">names</span><span·class="p"·data-group-id="7617320794-1">(</span><span·class="ss">localhost</span><span·class="p"·data-group-id="7617320794-1">)</span><span·class="p">.</span><span·class="w">
357 </span><span·class="p"·data-group-id="5555596980-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5555596980-3">[</span><span·class="p"·data-group-id="5555596980-4">{</span><span·class="s">&quot;arne&quot;</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·161,·SHA:·5ccc00c7fbf160b491f4309625d88256b5d630a3ccc8e28a9eb7807b54762888·...·]-2">}</span></code></pre>357 </span><span·class="p"·data-group-id="7617320794-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7617320794-3">[</span><span·class="p"·data-group-id="7617320794-4">{</span><span·class="s">&quot;arne&quot;</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·161,·SHA:·4e98da0f0f5f9410f7039bdffe373cc2f93b6958868c1a277df67eca58d8ad9d·...·]-2">}</span></code></pre>
358 ··</section>358 ··</section>
359 </section>359 </section>
360 <section·class="detail"·id="port_please/2">360 <section·class="detail"·id="port_please/2">
  
361 ··<div·class="detail-header">361 ··<div·class="detail-header">
362 ····<a·href="#port_please/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">362 ····<a·href="#port_please/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
363 ······<i·class="ri-link-m"·aria-hidden="true"></i>363 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 550, 15 lines modifiedOffset 550, 15 lines modified
550 ······<p·class="built-using">550 ······<p·class="built-using">
551 ········Built·using551 ········Built·using
552 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the552 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
553 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>553 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
554 ······</p>554 ······</p>
555 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>555 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
556 ····</footer>556 ····</footer>
557 ··</div>557 ··</div>
558 </main>558 </main>
559 </div>559 </div>
560 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>560 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
561 ··<script>561 ··<script>
562 ··let·initialized·=·false;562 ··let·initialized·=·false;
636 B
html2text {}
Max HTML report size reached
19.3 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/erpc.html
    
Offset 1232, 28 lines modifiedOffset 1232, 28 lines modified
1232 at·the·client·side.</li></ul><p>The·call·<code·class="inline">erpc:multicall(Nodes,·Module,·Function,·Args)</code>·is·equivalent·to·the1232 at·the·client·side.</li></ul><p>The·call·<code·class="inline">erpc:multicall(Nodes,·Module,·Function,·Args)</code>·is·equivalent·to·the
1233 call·<code·class="inline">erpc:multicall(Nodes,·Module,·Function,·Args,·infinity)</code>.·These·calls·are1233 call·<code·class="inline">erpc:multicall(Nodes,·Module,·Function,·Args,·infinity)</code>.·These·calls·are
1234 also·equivalent·to·calling·<code·class="inline">my_multicall(Nodes,·Module,·Function,·Args)</code>·below1234 also·equivalent·to·calling·<code·class="inline">my_multicall(Nodes,·Module,·Function,·Args)</code>·below
1235 if·one·disregard·performance·and·failure·behavior.·<code·class="inline">multicall()</code>·can·utilize·a1235 if·one·disregard·performance·and·failure·behavior.·<code·class="inline">multicall()</code>·can·utilize·a
1236 selective·receive·optimization·which·removes·the·need·to·scan·the·message·queue1236 selective·receive·optimization·which·removes·the·need·to·scan·the·message·queue
1237 from·the·beginning·in·order·to·find·a·matching·message.·The1237 from·the·beginning·in·order·to·find·a·matching·message.·The
1238 <code·class="inline">send_request()/receive_response()</code>·combination·can,·however,·not·utilize·this1238 <code·class="inline">send_request()/receive_response()</code>·combination·can,·however,·not·utilize·this
1239 optimization.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_multicall</span><span·class="p"·data-group-id="4668421310-1">(</span><span·class="n">Nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·66,·SHA:·241f0d39801119a23f2bb2f71d5887c05e0779ecc5107b1dba92129d2261f340·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1239 optimization.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_multicall</span><span·class="p"·data-group-id="6694666239-1">(</span><span·class="n">Nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·66,·SHA:·e50cefe7f82d01487b37b6643dbbdddf0fa5ce49bd5979fd6b11c1810ffbca44·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1240 ··</span><span·class="n">ReqIds</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="4668421310-2">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="4668421310-3">(</span><span·class="n">Node</span><span·class="p"·data-group-id="4668421310-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1240 ··</span><span·class="n">ReqIds</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="6694666239-2">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6694666239-3">(</span><span·class="n">Node</span><span·class="p"·data-group-id="6694666239-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1241 ·······················</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">send_request</span><span·class="p"·data-group-id="4668421310-4">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·65,·SHA:·defa1d71f5b870d2aa40bc56f05e301b8f96e658fbf13c4cb6a5dc6e3ab7b35a·...·]-4">)</span><span·class="w">1241 ·······················</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">send_request</span><span·class="p"·data-group-id="6694666239-4">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·65,·SHA:·eb067e65aee68f9502c2c86183e35c9684ddef278951ccaba018879d926eaf2e·...·]-4">)</span><span·class="w">
1242 ·····················</span><span·class="k">end</span><span·class="p">,</span><span·class="w">1242 ·····················</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
1243 ·····················</span><span·class="n">Nodes</span><span·class="p"·data-group-id="4668421310-2">)</span><span·class="p">,</span><span·class="w">1243 ·····················</span><span·class="n">Nodes</span><span·class="p"·data-group-id="6694666239-2">)</span><span·class="p">,</span><span·class="w">
1244 ··</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="4668421310-5">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="4668421310-6">(</span><span·class="n">ReqId</span><span·class="p"·data-group-id="4668421310-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1244 ··</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="6694666239-5">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6694666239-6">(</span><span·class="n">ReqId</span><span·class="p"·data-group-id="6694666239-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1245 ··············</span><span·class="k">try</span><span·class="w">1245 ··············</span><span·class="k">try</span><span·class="w">
1246 ················</span><span·class="p"·data-group-id="4668421310-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">receive_response</span><span·class="p"·data-group-id="4668421310-8">(</span><span·class="n"[·...·truncated·by·diffoscope;·len:·187,·SHA:·909d87b02133df653ba681b7049a7d7dade7433e239a7119e627f4c4369a41ef·...·]-7">}</span><span·class="w">1246 ················</span><span·class="p"·data-group-id="6694666239-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">receive_response</span><span·class="p"·data-group-id="6694666239-8">(</span><span·class="n"[·...·truncated·by·diffoscope;·len:·187,·SHA:·97ba54b49f2fc0dd0e2adddbabeb5f5291461dda5a7ec5bf0bb559c25d00004a·...·]-7">}</span><span·class="w">
1247 ··············</span><span·class="k">catch</span><span·class="w">1247 ··············</span><span·class="k">catch</span><span·class="w">
1248 ················</span><span·class="n">Class</span><span·class="p">:</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1248 ················</span><span·class="n">Class</span><span·class="p">:</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1249 ··················</span><span·class="p"·data-group-id="4668421310-9">{</span><span·class="n">Class</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="4668421310-9">}</span><span·class="w">1249 ··················</span><span·class="p"·data-group-id="6694666239-9">{</span><span·class="n">Class</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="6694666239-9">}</span><span·class="w">
1250 ··············</span><span·class="k">end</span><span·class="w">1250 ··············</span><span·class="k">end</span><span·class="w">
1251 ············</span><span·class="k">end</span><span·class="p">,</span><span·class="w">1251 ············</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
1252 ············</span><span·class="n">ReqIds</span><span·class="p"·data-group-id="4668421310-5">)</span><span·class="p">.</span></code></pre><p>If·an·<code·class="inline">erpc</code>·operation·fails,·but·it·is·unknown·if·the·function·is/will·be1252 ············</span><span·class="n">ReqIds</span><span·class="p"·data-group-id="6694666239-5">)</span><span·class="p">.</span></code></pre><p>If·an·<code·class="inline">erpc</code>·operation·fails,·but·it·is·unknown·if·the·function·is/will·be
1253 applied·(that·is,·a·timeout,·connection·loss,·or·an·improper·<code·class="inline">Nodes</code>·list),·the1253 applied·(that·is,·a·timeout,·connection·loss,·or·an·improper·<code·class="inline">Nodes</code>·list),·the
1254 caller·will·not·receive·any·further·information·about·the·result·if/when·the1254 caller·will·not·receive·any·further·information·about·the·result·if/when·the
1255 applied·function·completes.·If·the·applied·function·communicates·with·the1255 applied·function·completes.·If·the·applied·function·communicates·with·the
1256 calling·process,·such·communication·may,·of·course,·reach·the·calling·process.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>If·the·<code·class="inline">always_spawn</code>·option·is·<code·class="inline">false</code>·(which·is·the·default),·you·cannot·make1256 calling·process,·such·communication·may,·of·course,·reach·the·calling·process.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>If·the·<code·class="inline">always_spawn</code>·option·is·<code·class="inline">false</code>·(which·is·the·default),·you·cannot·make
1257 <em>any</em>·assumptions·about·the·processes·that·will·perform·the·<code·class="inline">apply()</code>s.·It·may·be1257 <em>any</em>·assumptions·about·the·processes·that·will·perform·the·<code·class="inline">apply()</code>s.·It·may·be
1258 the·calling·process·itself,·or·freshly·spawned·processes,·or·a·mix·of·both.</p></section>1258 the·calling·process·itself,·or·freshly·spawned·processes,·or·a·mix·of·both.</p></section>
1259 ··</section>1259 ··</section>
Offset 1394, 17 lines modifiedOffset 1394, 17 lines modified
1394 exception·if/when·an·invalid·<code·class="inline">RequestId</code>·is·detected·or·if·an·invalid·<code·class="inline">Timeout</code>1394 exception·if/when·an·invalid·<code·class="inline">RequestId</code>·is·detected·or·if·an·invalid·<code·class="inline">Timeout</code>
1395 is·passed.</p><p>A·call·to·the·function·<code·class="inline">my_call(Node,·Module,·Function,·Args,·Timeout)</code>·below·is1395 is·passed.</p><p>A·call·to·the·function·<code·class="inline">my_call(Node,·Module,·Function,·Args,·Timeout)</code>·below·is
1396 equivalent·to·the·call1396 equivalent·to·the·call
1397 <a·href="#call/5"><code·class="inline">erpc:call(Node,·Module,·Function,·Args,·Timeout)</code></a>·if·one·disregards1397 <a·href="#call/5"><code·class="inline">erpc:call(Node,·Module,·Function,·Args,·Timeout)</code></a>·if·one·disregards
1398 performance.·<code·class="inline">call()</code>·can·utilize·a·selective·receive·optimization·which·removes1398 performance.·<code·class="inline">call()</code>·can·utilize·a·selective·receive·optimization·which·removes
1399 the·need·to·scan·the·message·queue·from·the·beginning·in·order·to·find·a1399 the·need·to·scan·the·message·queue·from·the·beginning·in·order·to·find·a
1400 matching·message.·The·<code·class="inline">send_request()/receive_response()</code>·combination·can,1400 matching·message.·The·<code·class="inline">send_request()/receive_response()</code>·combination·can,
1401 however,·not·utilize·this·optimization.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_call</span><span·class="p"·data-group-id="9052794926-1">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·143,·SHA:·5bbbeb144a7445dc1f4cb5ddb9c3ece1dee440f04769b3f36386a10c2f2cf021·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1401 however,·not·utilize·this·optimization.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_call</span><span·class="p"·data-group-id="4427719412-1">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·143,·SHA:·214543664e42769a6cd9097fcf87989e3e1db6228eb9bb194e2de88a1a203cd7·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1402 ··</span><span·class="n">RequestId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">send_request</span><span·class="p"·data-group-id="9052794926-2">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·65,·SHA:·ba0d9c19ea316c822e762bbfe7accdc8ef615c4f21f984ae8b810001e8dd9173·...·]-2">)</span><span·class="p">,</span><span·class="w">1402 ··</span><span·class="n">RequestId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">send_request</span><span·class="p"·data-group-id="4427719412-2">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·65,·SHA:·9b538e4682c17293a4ce61ee4274818acea2b060c148e90d7e01dbda207a45e4·...·]-2">)</span><span·class="p">,</span><span·class="w">
1403 ··</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">receive_response</span><span·class="p"·data-group-id="9052794926-3">(</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Timeout</span><span·class="p"·data-group-id="9052794926-3">)</span><span·class="p">.</span></code></pre><p>If·the·<code·class="inline">erpc</code>·operation·fails,·but·it·is·unknown·if·the·function·is/will·be1403 ··</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">receive_response</span><span·class="p"·data-group-id="4427719412-3">(</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Timeout</span><span·class="p"·data-group-id="4427719412-3">)</span><span·class="p">.</span></code></pre><p>If·the·<code·class="inline">erpc</code>·operation·fails,·but·it·is·unknown·if·the·function·is/will·be
1404 applied·(that·is,·a·timeout,·or·a·connection·loss),·the·caller·will·not·receive1404 applied·(that·is,·a·timeout,·or·a·connection·loss),·the·caller·will·not·receive
1405 any·further·information·about·the·result·if/when·the·applied·function·completes.1405 any·further·information·about·the·result·if/when·the·applied·function·completes.
1406 If·the·applied·function·explicitly·communicates·with·the·calling·process,·such1406 If·the·applied·function·explicitly·communicates·with·the·calling·process,·such
1407 communication·may,·of·course,·reach·the·calling·process.</p>1407 communication·may,·of·course,·reach·the·calling·process.</p>
1408 ··</section>1408 ··</section>
1409 </section>1409 </section>
1410 <section·class="detail"·id="receive_response/3">1410 <section·class="detail"·id="receive_response/3">
Offset 1684, 17 lines modifiedOffset 1684, 17 lines modified
1684 about·to·save·the·request·identifier·in·a·request·identifier·collection,·you·may1684 about·to·save·the·request·identifier·in·a·request·identifier·collection,·you·may
1685 want·to·consider·using·<a·href="#send_request/6"><code·class="inline">send_request/6</code></a>·instead.</p><p>A·call·to·the·function·<code·class="inline">my_call(Node,·Module,·Function,·Args,·Timeout)</code>·below·is1685 want·to·consider·using·<a·href="#send_request/6"><code·class="inline">send_request/6</code></a>·instead.</p><p>A·call·to·the·function·<code·class="inline">my_call(Node,·Module,·Function,·Args,·Timeout)</code>·below·is
1686 equivalent·to·the·call1686 equivalent·to·the·call
1687 <a·href="#call/5"><code·class="inline">erpc:call(Node,·Module,·Function,·Args,·Timeout)</code></a>·if·one·disregards1687 <a·href="#call/5"><code·class="inline">erpc:call(Node,·Module,·Function,·Args,·Timeout)</code></a>·if·one·disregards
1688 performance.·<code·class="inline">call()</code>·can·utilize·a·selective·receive·optimization·which·removes1688 performance.·<code·class="inline">call()</code>·can·utilize·a·selective·receive·optimization·which·removes
1689 the·need·to·scan·the·message·queue·from·the·beginning·in·order·to·find·a1689 the·need·to·scan·the·message·queue·from·the·beginning·in·order·to·find·a
1690 matching·message.·The·<code·class="inline">send_request()/receive_response()</code>·combination·can,1690 matching·message.·The·<code·class="inline">send_request()/receive_response()</code>·combination·can,
1691 however,·not·utilize·this·optimization.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_call</span><span·class="p"·data-group-id="8310241450-1">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·143,·SHA:·aa9961f41435af753c570259894a5c59c6df0a88a3851826525f4bd519244338·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1691 however,·not·utilize·this·optimization.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_call</span><span·class="p"·data-group-id="0750567582-1">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·143,·SHA:·0ca48aed8060bcd7b1ab9b7dbef2d9c6b3c60c2537dd2943d33922c463493b41·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1692 ··</span><span·class="n">RequestId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">send_request</span><span·class="p"·data-group-id="8310241450-2">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·65,·SHA:·94fc5a6cee618568eaceafc452be1590fe3ca8454fa0e9b294fc3c3458392150·...·]-2">)</span><span·class="p">,</span><span·class="w">1692 ··</span><span·class="n">RequestId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">send_request</span><span·class="p"·data-group-id="0750567582-2">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·65,·SHA:·34c9330f88c47f87a62183c2653261658f5213a032241ca86deb4b2a7a18eace·...·]-2">)</span><span·class="p">,</span><span·class="w">
1693 ··</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">receive_response</span><span·class="p"·data-group-id="8310241450-3">(</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Timeout</span><span·class="p"·data-group-id="8310241450-3">)</span><span·class="p">.</span></code></pre><p>Fails·with·an·<code·class="inline">{erpc,·badarg}</code>·<code·class="inline">error</code>·exception·if:</p><ul><li><code·class="inline">Node</code>·is·not·an·atom.</li><li><code·class="inline">Module</code>·is·not·an·atom.</li><li><code·class="inline">Function</code>·is·not·an·atom.</li><li><code·class="inline">Args</code>·is·not·a·list.·Note·that·the·list·is·not·verified·to·be·a·proper·list1693 ··</span><span·class="nc">erpc</span><span·class="p">:</span><span·class="nf">receive_response</span><span·class="p"·data-group-id="0750567582-3">(</span><span·class="n">RequestId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Timeout</span><span·class="p"·data-group-id="0750567582-3">)</span><span·class="p">.</span></code></pre><p>Fails·with·an·<code·class="inline">{erpc,·badarg}</code>·<code·class="inline">error</code>·exception·if:</p><ul><li><code·class="inline">Node</code>·is·not·an·atom.</li><li><code·class="inline">Module</code>·is·not·an·atom.</li><li><code·class="inline">Function</code>·is·not·an·atom.</li><li><code·class="inline">Args</code>·is·not·a·list.·Note·that·the·list·is·not·verified·to·be·a·proper·list
1694 at·the·client·side.</li></ul><p>Equivalent·to1694 at·the·client·side.</li></ul><p>Equivalent·to
1695 <a·href="#send_request/6"><code·class="inline">erpc:send_request(Node,·erlang,·apply,·[Fun,[]]),·Label,·RequestIdCollection)</code></a>.</p><p>Fails·with·an·<code·class="inline">{erpc,·badarg}</code>·<code·class="inline">error</code>·exception·if:</p><ul><li><code·class="inline">Node</code>·is·not·an·atom.</li><li><code·class="inline">Fun</code>·is·not·a·fun·of·zero·arity.</li><li><code·class="inline">RequestIdCollection</code>·is·detected·not·to·be·request·identifier·collection.</li></ul>1695 <a·href="#send_request/6"><code·class="inline">erpc:send_request(Node,·erlang,·apply,·[Fun,[]]),·Label,·RequestIdCollection)</code></a>.</p><p>Fails·with·an·<code·class="inline">{erpc,·badarg}</code>·<code·class="inline">error</code>·exception·if:</p><ul><li><code·class="inline">Node</code>·is·not·an·atom.</li><li><code·class="inline">Fun</code>·is·not·a·fun·of·zero·arity.</li><li><code·class="inline">RequestIdCollection</code>·is·detected·not·to·be·request·identifier·collection.</li></ul>
1696 ··</section>1696 ··</section>
1697 </section>1697 </section>
1698 <section·class="detail"·id="send_request/6">1698 <section·class="detail"·id="send_request/6">
  
1699 ··<div·class="detail-header">1699 ··<div·class="detail-header">
Offset 1913, 15 lines modifiedOffset 1913, 15 lines modified
1913 ······<p·class="built-using">1913 ······<p·class="built-using">
1914 ········Built·using1914 ········Built·using
1915 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1915 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1916 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1916 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1917 ······</p>1917 ······</p>
1918 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1918 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1919 ····</footer>1919 ····</footer>
1920 ··</div>1920 ··</div>
1921 </main>1921 </main>
1922 </div>1922 </div>
1923 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1923 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1924 ··<script>1924 ··<script>
1925 ··let·initialized·=·false;1925 ··let·initialized·=·false;
730 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/error_handler.html
    
Offset 325, 15 lines modifiedOffset 325, 15 lines modified
325 ······<p·class="built-using">325 ······<p·class="built-using">
326 ········Built·using326 ········Built·using
327 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the327 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
328 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>328 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
329 ······</p>329 ······</p>
330 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>330 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
331 ····</footer>331 ····</footer>
332 ··</div>332 ··</div>
333 </main>333 </main>
334 </div>334 </div>
335 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>335 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
336 ··<script>336 ··<script>
337 ··let·initialized·=·false;337 ··let·initialized·=·false;
707 B
html2text {}
Max HTML report size reached
1.6 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/error_logger.html
    
Offset 1204, 15 lines modifiedOffset 1204, 15 lines modified
1204 ······<p·class="built-using">1204 ······<p·class="built-using">
1205 ········Built·using1205 ········Built·using
1206 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1206 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1207 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1207 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1208 ······</p>1208 ······</p>
1209 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1209 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1210 ····</footer>1210 ····</footer>
1211 ··</div>1211 ··</div>
1212 </main>1212 </main>
1213 </div>1213 </div>
1214 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1214 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1215 ··<script>1215 ··<script>
1216 ··let·initialized·=·false;1216 ··let·initialized·=·false;
788 B
html2text {}
Max HTML report size reached
31.6 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/file.html
    
Offset 175, 39 lines modifiedOffset 175, 39 lines modified
175 running·its·file·server·as·slave·to·the·file·server·of·another·node,·and·the175 running·its·file·server·as·slave·to·the·file·server·of·another·node,·and·the
176 other·node·runs·on·some·other·host·machine,·they·can·have·different·file176 other·node·runs·on·some·other·host·machine,·they·can·have·different·file
177 systems.·However,·this·is·seldom·a·problem.</p></section><p><a·href="#open/2"><code·class="inline">open/2</code></a>·can·be·given·the·options·<code·class="inline">delayed_write</code>·and·<code·class="inline">read_ahead</code>·to·turn·on177 systems.·However,·this·is·seldom·a·problem.</p></section><p><a·href="#open/2"><code·class="inline">open/2</code></a>·can·be·given·the·options·<code·class="inline">delayed_write</code>·and·<code·class="inline">read_ahead</code>·to·turn·on
178 caching,·which·will·reduce·the·number·of·operating·system·calls·and·greatly178 caching,·which·will·reduce·the·number·of·operating·system·calls·and·greatly
179 improve·performance·for·small·reads·and·writes.·However,·the·overhead·won't179 improve·performance·for·small·reads·and·writes.·However,·the·overhead·won't
180 disappear·completely·and·it's·best·to·keep·the·number·of·file·operations·to·a180 disappear·completely·and·it's·best·to·keep·the·number·of·file·operations·to·a
181 minimum.·As·a·contrived·example,·the·following·function·writes·4MB·in·2.5181 minimum.·As·a·contrived·example,·the·following·function·writes·4MB·in·2.5
182 seconds·when·tested:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="2529154853-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="2529154853-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">182 seconds·when·tested:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="3417966582-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="3417966582-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
183 ····</span><span·class="p"·data-group-id="2529154853-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="2529154853-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·612,·SHA:·4b45662780c022f173ca7aa0bec6f4fe894617b1111ee9dd972f464374d60df3·...·]-3">)</span><span·class="p">,</span><span·class="w">183 ····</span><span·class="p"·data-group-id="3417966582-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="3417966582-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·612,·SHA:·8a6a7585e1b6c458acd122f12d7c17674576c32f63bfd592d67e154084008f3a·...·]-3">)</span><span·class="p">,</span><span·class="w">
184 ····</span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="2529154853-5">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="w">·</span><span·class="ow">bsl</span><span·class="w">·</span><span·class="mi">20</span><span·class="p"·data-group-id="2529[·...·truncated·by·diffoscope;·len:·6,·SHA:·08be7e3928fc0adeb10ed291af2238524490b416969fc79b62f5bb62703f34a0·...·]-5">)</span><span·class="p">,</span><span·class="w">184 ····</span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="3417966582-5">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="w">·</span><span·class="ow">bsl</span><span·class="w">·</span><span·class="mi">20</span><span·class="p"·data-group-id="3417[·...·truncated·by·diffoscope;·len:·6,·SHA:·18bd456176271a34be84135ea68796e8caf11c9ef61609586fdea2d45db04e5b·...·]-5">)</span><span·class="p">,</span><span·class="w">
185 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="2529154853-6">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="2529154853-6">)</span><span·class="p">.</span><span·class="w">185 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="3417966582-6">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="3417966582-6">)</span><span·class="p">.</span><span·class="w">
  
186 </span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="2529154853-7">(</span><span·class="p">_</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="2529154853-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">186 </span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="3417966582-7">(</span><span·class="p">_</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="3417966582-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
187 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">187 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
188 </span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="2529154853-8">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="p"·data-group-id="2529154853-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">188 </span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="3417966582-8">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="p"·data-group-id="3417966582-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
189 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="2529154853-9">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2529154853-10">&lt;&lt;</span><span·class="mi">0</span><span·class="p"·data-group-id="2529154853-10">&gt;&gt;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·d22b1c25a7f9ccbb9c61d370752027ce097dbd2a9cf3c5bf8da9a67f4bf9ffe3·...·]-9">)</span><span·class="p">,</span><span·class="w">189 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="3417966582-9">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3417966582-10">&lt;&lt;</span><span·class="mi">0</span><span·class="p"·data-group-id="3417966582-10">&gt;&gt;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·88e83209ce82bc8be619e22d9a0ed3b3ba7c4dcff0da85e676848fbe5ec6731e·...·]-9">)</span><span·class="p">,</span><span·class="w">
190 ····</span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="2529154853-11">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="25291548[·...·truncated·by·diffoscope;·len:·2,·SHA:·2858dcd1057d3eae7f7d5f782167e24b61153c01551450a628cee722509f6529·...·]-11">)</span><span·class="p">.</span></code></pre><p>The·following·functionally·equivalent·code·writes·128·bytes·per·call·to190 ····</span><span·class="nf">create_file_slow_1</span><span·class="p"·data-group-id="3417966582-11">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="34179665[·...·truncated·by·diffoscope;·len:·2,·SHA:·a46e37632fa6ca51a13fe39a567b3c23b28c2f47d8af6be9bd63e030e214ba38·...·]-11">)</span><span·class="p">.</span></code></pre><p>The·following·functionally·equivalent·code·writes·128·bytes·per·call·to
191 <a·href="#write/2"><code·class="inline">write/2</code></a>·and·so·does·the·same·work·in·0.08·seconds,·which·is·roughly·30·times191 <a·href="#write/2"><code·class="inline">write/2</code></a>·and·so·does·the·same·work·in·0.08·seconds,·which·is·roughly·30·times
192 faster:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">create_file</span><span·class="p"·data-group-id="7133800324-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="7133800324-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">192 faster:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">create_file</span><span·class="p"·data-group-id="1900608592-1">(</span><span·class="n">Name</span><span·class="p"·data-group-id="1900608592-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="p"·data-group-id="7133800324-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="7133800324-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·612,·SHA:·a0aa6c3e2b63b9d3c26bc524535985424d68636331a2270c87ad4312d8966fe2·...·]-3">)</span><span·class="p">,</span><span·class="w">193 ····</span><span·class="p"·data-group-id="1900608592-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="1900608592-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·612,·SHA:·2d263a72b48b2121ed0e13169df9ed884f343f78ec42bd39cf98ec1753baa5a5·...·]-3">)</span><span·class="p">,</span><span·class="w">
194 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="7133800324-5">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="w">·</span><span·class="ow">bsl</span><span·class="w">·</span><span·class="mi">20</span><span·class="p"·data-group-id="7133[·...·truncated·by·diffoscope;·len:·6,·SHA:·367ad4e9bc06b9bfe4aba79480bd1e3f51b65c0c855e9a27ebd0d525c38588bd·...·]-5">)</span><span·class="p">,</span><span·class="w">194 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="1900608592-5">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="w">·</span><span·class="ow">bsl</span><span·class="w">·</span><span·class="mi">20</span><span·class="p"·data-group-id="1900[·...·truncated·by·diffoscope;·len:·6,·SHA:·1bc7a2fdf17369d8e5347c0edcdeed31b67ca1d4323a856df3bdebbbfc96f32c·...·]-5">)</span><span·class="p">,</span><span·class="w">
195 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="7133800324-6">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="7133800324-6">)</span><span·class="p">,</span><span·class="w">195 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="1900608592-6">(</span><span·class="n">Fd</span><span·class="p"·data-group-id="1900608592-6">)</span><span·class="p">,</span><span·class="w">
196 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">196 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
197 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="7133800324-7">(</span><span·class="p">_</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="7133800324-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">197 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="1900608592-7">(</span><span·class="p">_</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="1900608592-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
198 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">198 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
199 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="7133800324-8">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="p"·data-group-id="7133800324-8">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">M</span><span·class="w">·</span><span·class="o">&gt;=</span><span·class="w">·</span><span·class="mi">128</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">199 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="1900608592-8">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="p"·data-group-id="1900608592-8">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">M</span><span·class="w">·</span><span·class="o">&gt;=</span><span·class="w">·</span><span·class="mi">128</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
200 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="7133800324-9">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7133800324-10">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="p"·data-group-id="7133800324-11">(</sp[·...·truncated·by·diffoscope;·len:·287,·SHA:·6bfd054ddd0d689df3e47cebc5fb69c0aeb2ff4c7c5cff226ac3a0270a5b6480·...·]-9">)</span><span·class="p">,</span><span·class="w">200 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="1900608592-9">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1900608592-10">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="p"·data-group-id="1900608592-11">(</sp[·...·truncated·by·diffoscope;·len:·287,·SHA:·a5b94087a5faf2cfe33fea987b904f7fe5535b2fc7e2468b48e2097a85efa2c9·...·]-9">)</span><span·class="p">,</span><span·class="w">
201 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="7133800324-12">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">128</span><span·class="p"·data-group-id="713380[·...·truncated·by·diffoscope;·len:·4,·SHA:·8752f24ec0a8ac50ef732fbaa26f2df1cea32e477b8d4ad4160748155ed23054·...·]-12">)</span><span·class="p">;</span><span·class="w">201 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="1900608592-12">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">128</span><span·class="p"·data-group-id="190060[·...·truncated·by·diffoscope;·len:·4,·SHA:·1724d7333046d2818a4a1b1edf16da3e4af6ff939f16f790f3d787909db9194d·...·]-12">)</span><span·class="p">;</span><span·class="w">
202 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="7133800324-13">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="p"·data-group-id="7133800324-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">202 </span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="1900608592-13">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="p"·data-group-id="1900608592-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
203 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="7133800324-14">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7133800324-15">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="p"·data-group-id="7133800324-16">(</s[·...·truncated·by·diffoscope;·len:·285,·SHA:·a6f636194eca4de6dd7897ccf1269d0443de2095d2e83377aa95b531d8917273·...·]-14">)</span><span·class="p">,</span><span·class="w">203 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="1900608592-14">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1900608592-15">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="p"·data-group-id="1900608592-16">(</s[·...·truncated·by·diffoscope;·len:·285,·SHA:·eea6c1f8efe6e7ec6021127740115e4072e7e7e46c39518a416ab7f4099a0783·...·]-14">)</span><span·class="p">,</span><span·class="w">
204 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="7133800324-17">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="71338003[·...·truncated·by·diffoscope;·len:·2,·SHA:·c2356069e9d1e79ca924378153cfbbfb4d4416b1f99d41a2940bfdb66c5319db·...·]-17">)</span><span·class="p">.</span></code></pre><p>When·writing·data·it's·generally·more·efficient·to·write·a·list·of·binaries204 ····</span><span·class="nf">create_file_1</span><span·class="p"·data-group-id="1900608592-17">(</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="19006085[·...·truncated·by·diffoscope;·len:·2,·SHA:·8241649609f88ccd2a0a5b233a07a538ec313ff6adf695aa44a969dbca39f67d·...·]-17">)</span><span·class="p">.</span></code></pre><p>When·writing·data·it's·generally·more·efficient·to·write·a·list·of·binaries
205 rather·than·a·list·of·integers.·It·is·not·needed·to·flatten·a·deep·list·before205 rather·than·a·list·of·integers.·It·is·not·needed·to·flatten·a·deep·list·before
206 writing.·On·Unix·hosts,·scatter·output,·which·writes·a·set·of·buffers·in·one206 writing.·On·Unix·hosts,·scatter·output,·which·writes·a·set·of·buffers·in·one
207 operation,·is·used·when·possible.·In·this·way207 operation,·is·used·when·possible.·In·this·way
208 <a·href="#write/2"><code·class="inline">write(FD,·[Bin1,·Bin2·|·Bin3])</code></a>·writes·the·contents·of·the208 <a·href="#write/2"><code·class="inline">write(FD,·[Bin1,·Bin2·|·Bin3])</code></a>·writes·the·contents·of·the
209 binaries·without·copying·the·data·at·all,·except·for·perhaps·deep·down·in·the209 binaries·without·copying·the·data·at·all,·except·for·perhaps·deep·down·in·the
210 operating·system·kernel.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>If·an·error·occurs·when·accessing·an·open·file·with·module·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html"><code·class="inline">io</code></a>,·the·process210 operating·system·kernel.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>If·an·error·occurs·when·accessing·an·open·file·with·module·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html"><code·class="inline">io</code></a>,·the·process
211 handling·the·file·exits.·The·dead·file·process·can·hang·if·a·process·tries·to211 handling·the·file·exits.·The·dead·file·process·can·hang·if·a·process·tries·to
Offset 1954, 16 lines modifiedOffset 1954, 16 lines modified
1954 ······</div>1954 ······</div>
  
1955 <p>Reads·Erlang·terms,·separated·by·<code·class="inline">.</code>,·from·<code·class="inline">Filename</code>.·Returns·one·of·the1955 <p>Reads·Erlang·terms,·separated·by·<code·class="inline">.</code>,·from·<code·class="inline">Filename</code>.·Returns·one·of·the
1956 following:</p><ul><li><p><strong><code·class="inline">{ok,·Terms}</code></strong>·-·The·file·was·successfully·read.</p></li><li><p><strong><code·class="inline">{error,·atom()}</code></strong>·-·An·error·occurred·when·opening·the·file·or·reading·it.1956 following:</p><ul><li><p><strong><code·class="inline">{ok,·Terms}</code></strong>·-·The·file·was·successfully·read.</p></li><li><p><strong><code·class="inline">{error,·atom()}</code></strong>·-·An·error·occurred·when·opening·the·file·or·reading·it.
1957 For·a·list·of·typical·error·codes,·see·<a·href="#open/2"><code·class="inline">open/2</code></a>.</p></li><li><p><strong><code·class="inline">{error,·{Line,·Mod,·Term}}</code></strong>·-·An·error·occurred·when·interpreting·the1957 For·a·list·of·typical·error·codes,·see·<a·href="#open/2"><code·class="inline">open/2</code></a>.</p></li><li><p><strong><code·class="inline">{error,·{Line,·Mod,·Term}}</code></strong>·-·An·error·occurred·when·interpreting·the
1958 Erlang·terms·in·the·file.·To·convert·the·three-element·tuple·to·an·English1958 Erlang·terms·in·the·file.·To·convert·the·three-element·tuple·to·an·English
1959 description·of·the·error,·use·<a·href="#format_error/1"><code·class="inline">format_error/1</code></a>.</p></li></ul><p><em>Example:</em></p><pre><code·class="text">f.txt:··{person,·&quot;kalle&quot;,·25}.1959 description·of·the·error,·use·<a·href="#format_error/1"><code·class="inline">format_error/1</code></a>.</p></li></ul><p><em>Example:</em></p><pre><code·class="text">f.txt:··{person,·&quot;kalle&quot;,·25}.
1960 ········{person,·&quot;pelle&quot;,·30}.</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">consult</span><span·class="p"·data-group-id="4215194658-1">(</span><span·class="s">&quot;f.txt&quot;</span><span·class="p"·data-group-id="4215194658-1">)</span><span·class="p">.</span><span·class="w">1960 ········{person,·&quot;pelle&quot;,·30}.</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">consult</span><span·class="p"·data-group-id="1657373106-1">(</span><span·class="s">&quot;f.txt&quot;</span><span·class="p"·data-group-id="1657373106-1">)</span><span·class="p">.</span><span·class="w">
1961 </span><span·class="p"·data-group-id="4215194658-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4215194658-3">[</span><span·class="p"·data-group-id="4215194658-4">{</span><span·class="ss">person</span><span·class="p">,</span><span·class="s">&quot;ka[·...·truncated·by·diffoscope;·len:·487,·SHA:·e8672951c8936d0c4605ee498cec775eee119932d7e8e5f70c2b33ea360465d8·...·]-2">}</span></code></pre><p>The·encoding·of·<code·class="inline">Filename</code>·can·be·set·by·a·comment,·as·described·in1961 </span><span·class="p"·data-group-id="1657373106-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1657373106-3">[</span><span·class="p"·data-group-id="1657373106-4">{</span><span·class="ss">person</span><span·class="p">,</span><span·class="s">&quot;ka[·...·truncated·by·diffoscope;·len:·487,·SHA:·f4add45c706ccd78a22d7e4691aeaec731475c656818697e5c9a47ca0c2ce08e·...·]-2">}</span></code></pre><p>The·encoding·of·<code·class="inline">Filename</code>·can·be·set·by·a·comment,·as·described·in
1962 <a·href="../../../../lib/stdlib-7.0/doc/html/epp.html#encoding"><code·class="inline">epp</code></a>.</p>1962 <a·href="../../../../lib/stdlib-7.0/doc/html/epp.html#encoding"><code·class="inline">epp</code></a>.</p>
1963 ··</section>1963 ··</section>
1964 </section>1964 </section>
1965 <section·class="detail"·id="copy/2">1965 <section·class="detail"·id="copy/2">
  
1966 ··<div·class="detail-header">1966 ··<div·class="detail-header">
1967 ····<a·href="#copy/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1967 ····<a·href="#copy/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 3243, 15 lines modifiedOffset 3243, 15 lines modified
3243 ····························FileInfo·::·<a·href="#t:file_info/0">file_info</a>(),3243 ····························FileInfo·::·<a·href="#t:file_info/0">file_info</a>(),
3244 ····························Reason·::·<a·href="#t:posix/0">posix</a>()·|·badarg.</pre>3244 ····························Reason·::·<a·href="#t:posix/0">posix</a>()·|·badarg.</pre>
  
3245 ······</div>3245 ······</div>
  
3246 <p>Retrieves·information·about·a·file.·Returns·<code·class="inline">{ok,·FileInfo}</code>·if·successful,3246 <p>Retrieves·information·about·a·file.·Returns·<code·class="inline">{ok,·FileInfo}</code>·if·successful,
3247 otherwise·<code·class="inline">{error,·Reason}</code>.</p><p><code·class="inline">FileInfo</code>·is·a·record·<code·class="inline">file_info</code>,·defined·in·the·Kernel·include·file·<code·class="inline">file.hrl</code>.3247 otherwise·<code·class="inline">{error,·Reason}</code>.</p><p><code·class="inline">FileInfo</code>·is·a·record·<code·class="inline">file_info</code>,·defined·in·the·Kernel·include·file·<code·class="inline">file.hrl</code>.
3248 Include·the·following·directive·in·the·module·from·which·the·function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="7627391909-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="7627391909-1">)</span><span·class="p">.</span></code></pre><p>The·time·type·returned·in·<code·class="inline">atime</code>,·<code·class="inline">mtime</code>,·and·<code·class="inline">ctime</code>·is·dependent·on·the·time3248 Include·the·following·directive·in·the·module·from·which·the·function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="2333557997-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="2333557997-1">)</span><span·class="p">.</span></code></pre><p>The·time·type·returned·in·<code·class="inline">atime</code>,·<code·class="inline">mtime</code>,·and·<code·class="inline">ctime</code>·is·dependent·on·the·time
3249 type·set·in·<code·class="inline">Opts·::·{time,·Type}</code>·as·follows:</p><ul><li><p><strong><code·class="inline">local</code></strong>·-·Returns·local·time.</p></li><li><p><strong><code·class="inline">universal</code></strong>·-·Returns·universal·time.</p></li><li><p><strong><code·class="inline">posix</code></strong>·-·Returns·seconds·since·or·before·Unix·time·epoch,·which·is3249 type·set·in·<code·class="inline">Opts·::·{time,·Type}</code>·as·follows:</p><ul><li><p><strong><code·class="inline">local</code></strong>·-·Returns·local·time.</p></li><li><p><strong><code·class="inline">universal</code></strong>·-·Returns·universal·time.</p></li><li><p><strong><code·class="inline">posix</code></strong>·-·Returns·seconds·since·or·before·Unix·time·epoch,·which·is
3250 1970-01-01·00:00·UTC.</p></li></ul><p>Default·is·<code·class="inline">{time,·local}</code>.</p><p>If·the·option·<code·class="inline">raw</code>·is·set,·the·file·server·is·not·called·and·only·information3250 1970-01-01·00:00·UTC.</p></li></ul><p>Default·is·<code·class="inline">{time,·local}</code>.</p><p>If·the·option·<code·class="inline">raw</code>·is·set,·the·file·server·is·not·called·and·only·information
3251 about·local·files·is·returned.·Note·that·this·will·break·this·module's·atomicity3251 about·local·files·is·returned.·Note·that·this·will·break·this·module's·atomicity
3252 guarantees·as·it·can·race·with·a·concurrent·call·to3252 guarantees·as·it·can·race·with·a·concurrent·call·to
3253 <a·href="#write_file_info/2"><code·class="inline">write_file_info/1,2</code>·</a>.</p><p>This·option·has·no·effect·when·the·function·is·given·an·I/O·device·instead·of·a3253 <a·href="#write_file_info/2"><code·class="inline">write_file_info/1,2</code>·</a>.</p><p>This·option·has·no·effect·when·the·function·is·given·an·I/O·device·instead·of·a
3254 file·name.·Use·<a·href="#open/2"><code·class="inline">open/2</code></a>·with·the·<code·class="inline">raw</code>·mode·to·obtain·a·file·descriptor·first.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>As·file·times·are·stored·in·POSIX·time·on·most·OS,·it·is·faster·to·query·file3254 file·name.·Use·<a·href="#open/2"><code·class="inline">open/2</code></a>·with·the·<code·class="inline">raw</code>·mode·to·obtain·a·file·descriptor·first.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>As·file·times·are·stored·in·POSIX·time·on·most·OS,·it·is·faster·to·query·file
3255 information·with·option·<code·class="inline">posix</code>.</p></section><p>The·record·<code·class="inline">file_info</code>·contains·the·following·fields:</p><ul><li><p><strong><code·class="inline">size·=</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·Size·of·file·in·bytes.</p></li><li><p><strong><code·class="inline">type·=·device·|·directory·|·other·|·regular</code></strong>·-·The·type·of·the·file.·Can3255 information·with·option·<code·class="inline">posix</code>.</p></section><p>The·record·<code·class="inline">file_info</code>·contains·the·following·fields:</p><ul><li><p><strong><code·class="inline">size·=</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·Size·of·file·in·bytes.</p></li><li><p><strong><code·class="inline">type·=·device·|·directory·|·other·|·regular</code></strong>·-·The·type·of·the·file.·Can
Offset 3897, 15 lines modifiedOffset 3897, 15 lines modified
3897 ·····························Reason·::·<a·href="#t:posix/0">posix</a>()·|·badarg.</pre>3897 ·····························Reason·::·<a·href="#t:posix/0">posix</a>()·|·badarg.</pre>
  
3898 ······</div>3898 ······</div>
  
3899 <p>Changes·file·information.·Returns·<code·class="inline">ok</code>·if·successful,·otherwise3899 <p>Changes·file·information.·Returns·<code·class="inline">ok</code>·if·successful,·otherwise
3900 <code·class="inline">{error,·Reason}</code>.</p><p><code·class="inline">FileInfo</code>·is·a·record·<code·class="inline">file_info</code>,·defined·in·the·Kernel3900 <code·class="inline">{error,·Reason}</code>.</p><p><code·class="inline">FileInfo</code>·is·a·record·<code·class="inline">file_info</code>,·defined·in·the·Kernel
3901 include·file·<code·class="inline">file.hrl</code>.·Include·the·following·directive·in·the·module·from3901 include·file·<code·class="inline">file.hrl</code>.·Include·the·following·directive·in·the·module·from
3902 which·the·function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="8197920537-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="8197920537-1">)</span><span·class="p">.</span></code></pre><p>The·time·type·set·in·<code·class="inline">atime</code>,·<code·class="inline">mtime</code>,·and·<code·class="inline">ctime</code>·depends·on·the·time·type·set3902 which·the·function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="1200873998-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="1200873998-1">)</span><span·class="p">.</span></code></pre><p>The·time·type·set·in·<code·class="inline">atime</code>,·<code·class="inline">mtime</code>,·and·<code·class="inline">ctime</code>·depends·on·the·time·type·set
3903 in·<code·class="inline">Opts·::·{time,·Type}</code>·as·follows:</p><ul><li><p><strong><code·class="inline">local</code></strong>·-·Interprets·the·time·set·as·local.</p></li><li><p><strong><code·class="inline">universal</code></strong>·-·Interprets·it·as·universal·time.</p></li><li><p><strong><code·class="inline">posix</code></strong>·-·Must·be·seconds·since·or·before·Unix·time·epoch,·which·is3903 in·<code·class="inline">Opts·::·{time,·Type}</code>·as·follows:</p><ul><li><p><strong><code·class="inline">local</code></strong>·-·Interprets·the·time·set·as·local.</p></li><li><p><strong><code·class="inline">universal</code></strong>·-·Interprets·it·as·universal·time.</p></li><li><p><strong><code·class="inline">posix</code></strong>·-·Must·be·seconds·since·or·before·Unix·time·epoch,·which·is
3904 1970-01-01·00:00·UTC.</p></li></ul><p>Default·is·<code·class="inline">{time,·local}</code>.</p><p>If·the·option·<code·class="inline">raw</code>·is·set,·the·file·server·is·not·called·and·only·information3904 1970-01-01·00:00·UTC.</p></li></ul><p>Default·is·<code·class="inline">{time,·local}</code>.</p><p>If·the·option·<code·class="inline">raw</code>·is·set,·the·file·server·is·not·called·and·only·information
3905 about·local·files·is·returned.</p><p>The·following·fields·are·used·from·the·record,·if·they·are·specified:</p><ul><li><p><strong><code·class="inline">atime·=</code>·<a·href="#t:date_time/0"><code·class="inline">date_time/0</code></a>·<code·class="inline">|</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·The·last·time·the·file·was3905 about·local·files·is·returned.</p><p>The·following·fields·are·used·from·the·record,·if·they·are·specified:</p><ul><li><p><strong><code·class="inline">atime·=</code>·<a·href="#t:date_time/0"><code·class="inline">date_time/0</code></a>·<code·class="inline">|</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·The·last·time·the·file·was
3906 read.</p></li><li><p><strong><code·class="inline">mtime·=</code>·<a·href="#t:date_time/0"><code·class="inline">date_time/0</code></a>·<code·class="inline">|</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·The·last·time·the·file·was3906 read.</p></li><li><p><strong><code·class="inline">mtime·=</code>·<a·href="#t:date_time/0"><code·class="inline">date_time/0</code></a>·<code·class="inline">|</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·The·last·time·the·file·was
3907 written.</p></li><li><p><strong><code·class="inline">ctime·=</code>·<a·href="#t:date_time/0"><code·class="inline">date_time/0</code></a>·<code·class="inline">|</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·On·Unix,·any·value3907 written.</p></li><li><p><strong><code·class="inline">ctime·=</code>·<a·href="#t:date_time/0"><code·class="inline">date_time/0</code></a>·<code·class="inline">|</code>·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0"><code·class="inline">non_neg_integer/0</code></a></strong>·-·On·Unix,·any·value
3908 specified·for·this·field·is·ignored·(the·&quot;ctime&quot;·for·the·file·is·set·to·the3908 specified·for·this·field·is·ignored·(the·&quot;ctime&quot;·for·the·file·is·set·to·the
3909 current·time).·On·Windows,·this·field·is·the·new·creation·time·to·set·for·the3909 current·time).·On·Windows,·this·field·is·the·new·creation·time·to·set·for·the
Offset 3939, 15 lines modifiedOffset 3939, 15 lines modified
3939 ······<p·class="built-using">3939 ······<p·class="built-using">
3940 ········Built·using3940 ········Built·using
3941 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3941 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3942 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3942 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3943 ······</p>3943 ······</p>
3944 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3944 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3945 ····</footer>3945 ····</footer>
3946 ··</div>3946 ··</div>
3947 </main>3947 </main>
3948 </div>3948 </div>
3949 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3949 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3950 ··<script>3950 ··<script>
3951 ··let·initialized·=·false;3951 ··let·initialized·=·false;
663 B
html2text {}
Max HTML report size reached
170 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/gen_sctp.html
Max HTML report size reached
61.0 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/gen_tcp.html
    
Offset 126, 35 lines modifiedOffset 126, 35 lines modified
  
126 ··</h1>126 ··</h1>
  
  
127 ····<section·id="moduledoc">127 ····<section·id="moduledoc">
128 <p>Interface·to·TCP/IP·sockets.</p><p>This·module·provides·functions·for·communicating·over·TCP/IP128 <p>Interface·to·TCP/IP·sockets.</p><p>This·module·provides·functions·for·communicating·over·TCP/IP
129 protocol·sockets.</p><p>The·following·code·fragment·is·a·simple·example·of·a·client·connecting·to·a129 protocol·sockets.</p><p>The·following·code·fragment·is·a·simple·example·of·a·client·connecting·to·a
130 server·at·port·5678,·transferring·a·binary,·and·closing·the·connection:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">client</span><span·class="p"·data-group-id="6988485474-1">(</span><span·class="p"·data-group-id="6988485474-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">130 server·at·port·5678,·transferring·a·binary,·and·closing·the·connection:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">client</span><span·class="p"·data-group-id="5729497357-1">(</span><span·class="p"·data-group-id="5729497357-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
131 ····</span><span·class="n">SomeHostInNet</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;localhost&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·to·make·it·runnable·on·one·machine</span><span·class="w">131 ····</span><span·class="n">SomeHostInNet</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;localhost&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·to·make·it·runnable·on·one·machine</span><span·class="w">
132 ····</span><span·class="p"·data-group-id="6988485474-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sock</span><span·class="p"·data-group-id="6988485474-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·119,·SHA:·9fa983578aedce92abf9edb5c759707171d9dd1347f9efff24ce497f9285852a·...·]-3">(</span><span·class="n">SomeHostInNet</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5678</span><span·class="p">,</span><span·class="w">132 ····</span><span·class="p"·data-group-id="5729497357-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sock</span><span·class="p"·data-group-id="5729497357-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·119,·SHA:·8e687ffcf01c22a29bd10f9d2fcf5e84dc7d0478e31235fc6e9f35b5dd04cf6f·...·]-3">(</span><span·class="n">SomeHostInNet</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5678</span><span·class="p">,</span><span·class="w">
133 ·································</span><span·class="p"·data-group-id="6988485474-4">[</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6988485474-5">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span>[·...·truncated·by·diffoscope;·len:·147,·SHA:·4c2947aea4c0250688875939353d46c0ad485d2d5f2b21442f86a96257aea914·...·]-3">)</span><span·class="p">,</span><span·class="w">133 ·································</span><span·class="p"·data-group-id="5729497357-4">[</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5729497357-5">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span>[·...·truncated·by·diffoscope;·len:·147,·SHA:·71c950876eae14c72b2d8d1676161addb075b46eb60e1a72b1f739ccfdcfc2bf·...·]-3">)</span><span·class="p">,</span><span·class="w">
134 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="6988485474-6">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Some·Data&quot;</span><span·class="p"·data-group-id="6988485474-6">)</span><span·class="p">,</span><span·class="w">134 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="5729497357-6">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Some·Data&quot;</span><span·class="p"·data-group-id="5729497357-6">)</span><span·class="p">,</span><span·class="w">
135 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="6988485474-7">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="6988485474-7">)</span><span·class="p">.</span></code></pre><p>At·the·other·end,·a·server·is·listening·on·port·5678,·accepts·the·connection,135 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="5729497357-7">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="5729497357-7">)</span><span·class="p">.</span></code></pre><p>At·the·other·end,·a·server·is·listening·on·port·5678,·accepts·the·connection,
136 and·receives·the·binary:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">server</span><span·class="p"·data-group-id="7862291007-1">(</span><span·class="p"·data-group-id="7862291007-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">136 and·receives·the·binary:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">server</span><span·class="p"·data-group-id="7636659485-1">(</span><span·class="p"·data-group-id="7636659485-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
137 ····</span><span·class="p"·data-group-id="7862291007-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">LSock</span><span·class="p"·data-group-id="7862291007-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·534,·SHA:·863e027b380cd20467da7ada1daccd3a3c7569a4aa128582dde31113c31f904c·...·]-5">}</span><span·class="p">,</span><span·class="w">137 ····</span><span·class="p"·data-group-id="7636659485-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">LSock</span><span·class="p"·data-group-id="7636659485-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·534,·SHA:·f0c6ce9f390381c32cc50b5fcf1d34b598890dbf3c8f9fc065f7b45c50b50b05·...·]-5">}</span><span·class="p">,</span><span·class="w">
138 ········································</span><span·class="p"·data-group-id="7862291007-6">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="7862291007-6">}</span><span·class="p"·data-group-id="7862291007-4">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·70092653517912ca747b2d4747837008f92df27e857d36c85688409c8e4c2e0b·...·]-3">)</span><span·class="p">,</span><span·class="w">138 ········································</span><span·class="p"·data-group-id="7636659485-6">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="7636659485-6">}</span><span·class="p"·data-group-id="7636659485-4">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·e1df6a1506c40de08fc20ee4303209fa7ffc0ca474cd41593f9fdbf3762f481b·...·]-3">)</span><span·class="p">,</span><span·class="w">
139 ····</span><span·class="p"·data-group-id="7862291007-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sock</span><span·class="p"·data-group-id="7862291007-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·198,·SHA:·f52b506b05a39310538f86665296c45706b5b8687ab33460588fac513849eed8·...·]-8">)</span><span·class="p">,</span><span·class="w">139 ····</span><span·class="p"·data-group-id="7636659485-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sock</span><span·class="p"·data-group-id="7636659485-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·198,·SHA:·d275e1918af0c18330f7eef4693428325df50ddb886fc5c7a8b68983e9e50bc5·...·]-8">)</span><span·class="p">,</span><span·class="w">
140 ····</span><span·class="p"·data-group-id="7862291007-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span·class="p"·data-group-id="7862291007-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·299,·SHA:·6e4919a39fb02eb0277762c64df1da451a869949df0f22583f16e7719763f01d·...·]-10">)</span><span·class="p">,</span><span·class="w">140 ····</span><span·class="p"·data-group-id="7636659485-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span·class="p"·data-group-id="7636659485-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·299,·SHA:·db86c4c1a31fdba46d3c64fd913f43b132295f2b7121cbefdf5866b7f14d9aac·...·]-10">)</span><span·class="p">,</span><span·class="w">
141 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="7862291007-12">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="7862291007-12">)</span><span·class="p">,</span><span·class="w">141 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="7636659485-12">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="7636659485-12">)</span><span·class="p">,</span><span·class="w">
142 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="7862291007-13">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="7862291007-13">)</span><span·class="p">,</span><span·class="w">142 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="7636659485-13">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="7636659485-13">)</span><span·class="p">,</span><span·class="w">
143 ····</span><span·class="n">Bin</span><span·class="p">.</span><span·class="w">143 ····</span><span·class="n">Bin</span><span·class="p">.</span><span·class="w">
  
144 </span><span·class="nf">do_recv</span><span·class="p"·data-group-id="7862291007-14">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bs</span><span·class="p"·data-group-id="7862291007-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">144 </span><span·class="nf">do_recv</span><span·class="p"·data-group-id="7636659485-14">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bs</span><span·class="p"·data-group-id="7636659485-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
145 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="7862291007-15">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="7862291007-15">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">145 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="7636659485-15">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="7636659485-15">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
146 ········</span><span·class="p"·data-group-id="7862291007-16">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p"·data-group-id="7862291007-16">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">146 ········</span><span·class="p"·data-group-id="7636659485-16">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p"·data-group-id="7636659485-16">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
147 ············</span><span·class="nf">do_recv</span><span·class="p"·data-group-id="7862291007-17">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7862291007-18">[</span><span·class="n">Bs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·cl[·...·truncated·by·diffoscope;·len:·87,·SHA:·a629cc73667df6118b63d04c1af07fe0fefc08da87022b29d77d6eb281bb6f73·...·]-17">)</span><span·class="p">;</span><span·class="w">147 ············</span><span·class="nf">do_recv</span><span·class="p"·data-group-id="7636659485-17">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7636659485-18">[</span><span·class="n">Bs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·cl[·...·truncated·by·diffoscope;·len:·87,·SHA:·daf9777830ceea83f4154c493311281d126379affe1467ae69d6f7d199ba6e9e·...·]-17">)</span><span·class="p">;</span><span·class="w">
148 ········</span><span·class="p"·data-group-id="7862291007-19">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">closed</span><span·class="p"·data-group-id="7862291007-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">148 ········</span><span·class="p"·data-group-id="7636659485-19">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">closed</span><span·class="p"·data-group-id="7636659485-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
149 ············</span><span·class="p"·data-group-id="7862291007-20">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="7862291007-21">(</span><span·class="n">Bs</span><span·class="p"·data-group-id="7862291007-2[·...·truncated·by·diffoscope;·len:·52,·SHA:·e21711341873b89d005d1c396886a22ac7ede15106eb2ce3a283d8b03000676c·...·]-20">}</span><span·class="w">149 ············</span><span·class="p"·data-group-id="7636659485-20">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="7636659485-21">(</span><span·class="n">Bs</span><span·class="p"·data-group-id="7636659485-2[·...·truncated·by·diffoscope;·len:·52,·SHA:·102bf23fe4ed6492aaf6b9e655e78237d16e2b1fd333ea45372ec0226c723e22·...·]-20">}</span><span·class="w">
150 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>For·more·examples,·see·section·<a·href="#module-examples">Examples</a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Functions·that·create·sockets·can·take·an·optional·option;150 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>For·more·examples,·see·section·<a·href="#module-examples">Examples</a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Functions·that·create·sockets·can·take·an·optional·option;
151 <code·class="inline">{inet_backend, Backend}</code>·that,·if·specified,·has·to·be·the·first·option.·This151 <code·class="inline">{inet_backend, Backend}</code>·that,·if·specified,·has·to·be·the·first·option.·This
152 selects·the·implementation·backend·towards·the·platform's·socket·API.</p><p>This·is·a·<em>temporary</em>·option·that·will·be·ignored·in·a·future·release.</p><p>The·default·is·<code·class="inline">Backend = inet</code>·that·selects·the·traditional·<code·class="inline">inet_drv.c</code>152 selects·the·implementation·backend·towards·the·platform's·socket·API.</p><p>This·is·a·<em>temporary</em>·option·that·will·be·ignored·in·a·future·release.</p><p>The·default·is·<code·class="inline">Backend = inet</code>·that·selects·the·traditional·<code·class="inline">inet_drv.c</code>
153 driver.·The·other·choice·is·<code·class="inline">Backend = socket</code>·that·selects·the·new·<a·href="socket.html"><code·class="inline">socket</code></a>153 driver.·The·other·choice·is·<code·class="inline">Backend = socket</code>·that·selects·the·new·<a·href="socket.html"><code·class="inline">socket</code></a>
154 module·and·its·NIF·implementation.</p><p>The·system·default·can·be·changed·when·the·node·is·started·with·the154 module·and·its·NIF·implementation.</p><p>The·system·default·can·be·changed·when·the·node·is·started·with·the
155 application·<code·class="inline">kernel</code>'s·configuration·variable·<code·class="inline">inet_backend</code>.</p><p>For·<code·class="inline">gen_tcp</code>·with·<code·class="inline">inet_backend·=·socket</code>·we·have·tried·to·be·as·&quot;compatible&quot;155 application·<code·class="inline">kernel</code>'s·configuration·variable·<code·class="inline">inet_backend</code>.</p><p>For·<code·class="inline">gen_tcp</code>·with·<code·class="inline">inet_backend·=·socket</code>·we·have·tried·to·be·as·&quot;compatible&quot;
156 as·possible·which·has·sometimes·been·impossible.·Here·is·a·list·of·cases·when156 as·possible·which·has·sometimes·been·impossible.·Here·is·a·list·of·cases·when
Offset 185, 91 lines modifiedOffset 185, 91 lines modified
185 ··<span·class="text">Examples</span>185 ··<span·class="text">Examples</span>
186 </h2>186 </h2>
187 <p>The·following·example·illustrates·use·of·option·<code·class="inline">{active,once}</code>·and·multiple187 <p>The·following·example·illustrates·use·of·option·<code·class="inline">{active,once}</code>·and·multiple
188 accepts·by·implementing·a·server·as·a·number·of·worker·processes·doing·accept·on188 accepts·by·implementing·a·server·as·a·number·of·worker·processes·doing·accept·on
189 a·single·listening·socket.·Function·<code·class="inline">start/2</code>·takes·the·number·of·worker189 a·single·listening·socket.·Function·<code·class="inline">start/2</code>·takes·the·number·of·worker
190 processes·and·the·port·number·on·which·to·listen·for·incoming·connections.·If190 processes·and·the·port·number·on·which·to·listen·for·incoming·connections.·If
191 <code·class="inline">LPort</code>·is·specified·as·<code·class="inline">0</code>,·an·ephemeral·port·number·is·used,·which·is·why·the191 <code·class="inline">LPort</code>·is·specified·as·<code·class="inline">0</code>,·an·ephemeral·port·number·is·used,·which·is·why·the
192 start·function·returns·the·actual·port·number·allocated:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">start</span><span·class="p"·data-group-id="5935705524-1">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">LPort</span><span·class="p"·data-group-id="5935705524-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">192 start·function·returns·the·actual·port·number·allocated:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">start</span><span·class="p"·data-group-id="1104157893-1">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">LPort</span><span·class="p"·data-group-id="1104157893-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">listen</span><span·class="p"·data-group-id="5935705524-2">(</span><span·class="n">LPort</span><span·class="p">,</span><span·class="p"·data-group-id="5935705524-3">[</span><span·class="p"·data-group-id="5935705524-4">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·387,·SHA:·472c2b6d60fae10472e4d87cbdff123288895adaf6cee6bf2a2ba8b8b334bb5d·...·]-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">193 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">listen</span><span·class="p"·data-group-id="1104157893-2">(</span><span·class="n">LPort</span><span·class="p">,</span><span·class="p"·data-group-id="1104157893-3">[</span><span·class="p"·data-group-id="1104157893-4">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·387,·SHA:·eb52c8be7f59243b1be73e3b2496157849c796a74d8779f42ff8fb561e1bc487·...·]-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
194 ········</span><span·class="p"·data-group-id="5935705524-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ListenSock</span><span·class="p"·data-group-id="5935705524-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">194 ········</span><span·class="p"·data-group-id="1104157893-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ListenSock</span><span·class="p"·data-group-id="1104157893-6">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
195 ············</span><span·class="nf">start_servers</span><span·class="p"·data-group-id="5935705524-7">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">ListenSock</span><span·class="p"·data-group-id="5935705524-7">)</span><span·class="p">,</span><span·class="w">195 ············</span><span·class="nf">start_servers</span><span·class="p"·data-group-id="1104157893-7">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">ListenSock</span><span·class="p"·data-group-id="1104157893-7">)</span><span·class="p">,</span><span·class="w">
196 ············</span><span·class="p"·data-group-id="5935705524-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="5935705524-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·199,·SHA:·c51d80e8af88e06a0722a780d8e31c7edf4b184e55314153a13a63059488a3c8·...·]-9">)</span><span·class="p">,</span><span·class="w">196 ············</span><span·class="p"·data-group-id="1104157893-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="1104157893-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·199,·SHA:·ec5f31aa2a1ed88f97d92346145a22f037a223a633ed3394f60a5dc328ab80ad·...·]-9">)</span><span·class="p">,</span><span·class="w">
197 ············</span><span·class="n">Port</span><span·class="p">;</span><span·class="w">197 ············</span><span·class="n">Port</span><span·class="p">;</span><span·class="w">
198 ········</span><span·class="p"·data-group-id="5935705524-10">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="n">Reason</span><span·class="p"·data-group-id="5935705524-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
199 ············</span><span·class="p"·data-group-id="5935705524-11">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="n">Reason</span><span·class="p"·data-group-id="5935705524-11">}</span><span·class="w">198 ········</span><span·class="p"·data-group-id="1104157893-10">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="n">Reason</span><span·class="p"·data-group-id="1104157893-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
 199 ············</span><span·class="p"·data-group-id="1104157893-11">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="n">Reason</span><span·class="p"·data-group-id="1104157893-11">}</span><span·class="w">
200 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">200 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
201 </span><span·class="nf">start_servers</span><span·class="p"·data-group-id="5935705524-12">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="5935705524-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">201 </span><span·class="nf">start_servers</span><span·class="p"·data-group-id="1104157893-12">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="1104157893-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
202 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">202 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
203 </span><span·class="nf">start_servers</span><span·class="p"·data-group-id="5935705524-13">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">LS</span><span·class="p"·data-group-id="5935705524-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">203 </span><span·class="nf">start_servers</span><span·class="p"·data-group-id="1104157893-13">(</span><span·class="n">Num</span><span·class="p">,</span><span·class="n">LS</span><span·class="p"·data-group-id="1104157893-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
204 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="5935705524-14">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="ss">server</span><span·class="p">,</span><span·class="p"·data-group-id="5935705524-15">[</span><span·class="n">LS</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·72,·SHA:·2312e4eb192322407b966923fa49970526025d5a5557af94a854f929c0d39e87·...·]-14">)</span><span·class="p">,</span><span·class="w">204 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="1104157893-14">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="ss">server</span><span·class="p">,</span><span·class="p"·data-group-id="1104157893-15">[</span><span·class="n">LS</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·72,·SHA:·2525a6271a78039dc995d0fc1e5523c1c940add7388603bd5f26092a6635a817·...·]-14">)</span><span·class="p">,</span><span·class="w">
205 ····</span><span·class="nf">start_servers</span><span·class="p"·data-group-id="5935705524-16">(</span><span·class="n">Num</span><span·class="o">-</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">LS</span><span·class="p"·data-group-id="5935705524-16">)</span><span·class="p">.</span><span·class="w">205 ····</span><span·class="nf">start_servers</span><span·class="p"·data-group-id="1104157893-16">(</span><span·class="n">Num</span><span·class="o">-</span><span·class="mi">1</span><span·class="p">,</span><span·class="n">LS</span><span·class="p"·data-group-id="1104157893-16">)</span><span·class="p">.</span><span·class="w">
  
206 </span><span·class="nf">server</span><span·class="p"·data-group-id="5935705524-17">(</span><span·class="n">LS</span><span·class="p"·data-group-id="5935705524-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">206 </span><span·class="nf">server</span><span·class="p"·data-group-id="1104157893-17">(</span><span·class="n">LS</span><span·class="p"·data-group-id="1104157893-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
207 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">accept</span><span·class="p"·data-group-id="5935705524-18">(</span><span·class="n">LS</span><span·class="p"·data-group-id="5935705524-18">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">207 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">accept</span><span·class="p"·data-group-id="1104157893-18">(</span><span·class="n">LS</span><span·class="p"·data-group-id="1104157893-18">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
208 ········</span><span·class="p"·data-group-id="5935705524-19">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="5935705524-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 ········</span><span·class="p"·data-group-id="1104157893-19">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="1104157893-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="5935705524-20">(</span><span·class="n">S</span><span·class="p"·data-group-id="5935705524-20">)</span><span·class="p">,</span><span·class="w"> 
210 ············</span><span·class="nf">server</span><span·class="p"·data-group-id="5935705524-21">(</span><span·class="n">LS</span><span·class="p"·data-group-id="5935705524-21">)</span><span·class="p">;</span><span·class="w">209 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="1104157893-20">(</span><span·class="n">S</span><span·class="p"·data-group-id="1104157893-20">)</span><span·class="p">,</span><span·class="w">
 210 ············</span><span·class="nf">server</span><span·class="p"·data-group-id="1104157893-21">(</span><span·class="n">LS</span><span·class="p"·data-group-id="1104157893-21">)</span><span·class="p">;</span><span·class="w">
211 ········</span><span·class="n">Other</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">211 ········</span><span·class="n">Other</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
212 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5935705524-22">(</span><span·class="s">&quot;accept·returned·</span><span·class="si">~w</span><span·class="s">·-·goodbye!</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5935705524-23">[</[·...·truncated·by·diffoscope;·len:·128,·SHA:·dc8727f6ea4dafd74782008553b5b04d6fbd437f98a53f9907c3a2f7a7d469ae·...·]-22">)</span><span·class="p">,</span><span·class="w">212 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1104157893-22">(</span><span·class="s">&quot;accept·returned·</span><span·class="si">~w</span><span·class="s">·-·goodbye!</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="1104157893-23">[</[·...·truncated·by·diffoscope;·len:·128,·SHA:·b542543362980a78b461c8a9af7ac581d9f2a4ea115e9ad69fc9d623ead4f377·...·]-22">)</span><span·class="p">,</span><span·class="w">
213 ············</span><span·class="ss">ok</span><span·class="w">213 ············</span><span·class="ss">ok</span><span·class="w">
214 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">214 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
215 </span><span·class="nf">loop</span><span·class="p"·data-group-id="5935705524-24">(</span><span·class="n">S</span><span·class="p"·data-group-id="5935705524-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">215 </span><span·class="nf">loop</span><span·class="p"·data-group-id="1104157893-24">(</span><span·class="n">S</span><span·class="p"·data-group-id="1104157893-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
216 ····</span><span·class="nc">inet</span><span·class="p">:</span><span·class="nf">setopts</span><span·class="p"·data-group-id="5935705524-25">(</span><span·class="n">S</span><span·class="p">,</span><span·class="p"·data-group-id="5935705524-26">[</span><span·class="p"·data-group-id="5935705524-27">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="ss">once</[·...·truncated·by·diffoscope;·len:·154,·SHA:·5425fed870d2b556977b5143ab823cf1bac5ea1b68030ca0f549e9f8452f3291·...·]-25">)</span><span·class="p">,</span><span·class="w">216 ····</span><span·class="nc">inet</span><span·class="p">:</span><span·class="nf">setopts</span><span·class="p"·data-group-id="1104157893-25">(</span><span·class="n">S</span><span·class="p">,</span><span·class="p"·data-group-id="1104157893-26">[</span><span·class="p"·data-group-id="1104157893-27">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="ss">once</[·...·truncated·by·diffoscope;·len:·154,·SHA:·23b7980766703a998129f84f5dd7716f76343e4276ee580950ec4909e21a8b5f·...·]-25">)</span><span·class="p">,</span><span·class="w">
217 ····</span><span·class="k">receive</span><span·class="w">217 ····</span><span·class="k">receive</span><span·class="w">
218 ········</span><span·class="p"·data-group-id="5935705524-28">{</span><span·class="ss">tcp</span><span·class="p">,</span><span·class="n">S</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="5935705524-28">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">218 ········</span><span·class="p"·data-group-id="1104157893-28">{</span><span·class="ss">tcp</span><span·class="p">,</span><span·class="n">S</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="1104157893-28">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
219 ············</span><span·class="n">Answer</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">process</span><span·class="p"·data-group-id="5935705524-29">(</span><span·class="n">Data</span><span·class="p"·data-group-id="5935705524-29">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Not·implemented·in·this·example</span><span·class="w">219 ············</span><span·class="n">Answer</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">process</span><span·class="p"·data-group-id="1104157893-29">(</span><span·class="n">Data</span><span·class="p"·data-group-id="1104157893-29">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Not·implemented·in·this·example</span><span·class="w">
220 ············</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="5935705524-30">(</span><span·class="n">S</span><span·class="p">,</span><span·class="n">Answer</span><span·class="p"·data-group-id="5935705524-30">)</span><span·class="p">,</span><span·class="w">220 ············</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="1104157893-30">(</span><span·class="n">S</span><span·class="p">,</span><span·class="n">Answer</span><span·class="p"·data-group-id="1104157893-30">)</span><span·class="p">,</span><span·class="w">
221 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="5935705524-31">(</span><span·class="n">S</span><span·class="p"·data-group-id="5935705524-31">)</span><span·class="p">;</span><span·class="w">221 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="1104157893-31">(</span><span·class="n">S</span><span·class="p"·data-group-id="1104157893-31">)</span><span·class="p">;</span><span·class="w">
222 ········</span><span·class="p"·data-group-id="5935705524-32">{</span><span·class="ss">tcp_closed</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="5935705524-32">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">222 ········</span><span·class="p"·data-group-id="1104157893-32">{</span><span·class="ss">tcp_closed</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="1104157893-32">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
223 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5935705524-33">(</span><span·class="s">&quot;Socket·</span><span·class="si">~w</span><span·class="s">·closed·[</span><span·class="si">~w</span><span·class="s">]</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·323,·SHA:·d5ea68713bde0b4efe347ef106bd181b600f21357eb4d87b58a0ee48b128a944·...·]-33">)</span><span·class="p">,</span><span·class="w">223 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1104157893-33">(</span><span·class="s">&quot;Socket·</span><span·class="si">~w</span><span·class="s">·closed·[</span><span·class="si">~w</span><span·class="s">]</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·323,·SHA:·5b42f62cdbbcea69fc0e4d3681876b01f81a3dc4ec5a0e14eaaed8b90b86aaa3·...·]-33">)</span><span·class="p">,</span><span·class="w">
224 ············</span><span·class="ss">ok</span><span·class="w">224 ············</span><span·class="ss">ok</span><span·class="w">
225 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Example·of·a·simple·client:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">client</span><span·class="p"·data-group-id="1298446318-1">(</span><span·class="n">PortNo</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="1298446318-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">225 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Example·of·a·simple·client:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">client</span><span·class="p"·data-group-id="7008598055-1">(</span><span·class="n">PortNo</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="7008598055-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
226 ····</span><span·class="p"·data-group-id="1298446318-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Sock</span><span·class="p"·data-group-id="1298446318-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><[·...·truncated·by·diffoscope;·len:·458,·SHA:·3bf56c3435f4f5ce3fb583ee3193ce76382e6fa913d3461253e0d86b8b1b560a·...·]-5">}</span><span·class="p">,</span><span·class="w">226 ····</span><span·class="p"·data-group-id="7008598055-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Sock</span><span·class="p"·data-group-id="7008598055-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><[·...·truncated·by·diffoscope;·len:·458,·SHA:·eae0f2d34be1ff4c3ad9b36e553940892c2e7c1b61277d18f9bf2187c08348d0·...·]-5">}</span><span·class="p">,</span><span·class="w">
227 ····················································</span><span·class="p"·data-group-id="1298446318-6">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1298446318-6">}</span><span·class="p"·data-group-id="1298446318-4">]</span><span·class="p"·data-group-id="1298446318-3">)</span><span·class="p">,</span><span·class="w">227 ····················································</span><span·class="p"·data-group-id="7008598055-6">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7008598055-6">}</span><span·class="p"·data-group-id="7008598055-4">]</span><span·class="p"·data-group-id="7008598055-3">)</span><span·class="p">,</span><span·class="w">
228 ····</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="1298446318-7">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="1298446318-7">)</span><span·class="p">,</span><span·class="w">228 ····</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="7008598055-7">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="7008598055-7">)</span><span·class="p">,</span><span·class="w">
229 ····</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="1298446318-8">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1298446318-8">)</span><span·class="p">,</span><span·class="w">229 ····</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="7008598055-8">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="7008598055-8">)</span><span·class="p">,</span><span·class="w">
230 ····</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="1298446318-9">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="1298446318-9">)</span><span·class="p">,</span><span·class="w">230 ····</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="7008598055-9">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="7008598055-9">)</span><span·class="p">,</span><span·class="w">
231 ····</span><span·class="n">A</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">send</code>·call·does·not·accept·a·time-out·option·because·time-outs·on·send·is231 ····</span><span·class="n">A</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">send</code>·call·does·not·accept·a·time-out·option·because·time-outs·on·send·is
232 handled·through·socket·option·<code·class="inline">send_timeout</code>.·The·behavior·of·a·send·operation232 handled·through·socket·option·<code·class="inline">send_timeout</code>.·The·behavior·of·a·send·operation
233 with·no·receiver·is·mainly·defined·by·the·underlying·TCP·stack·and·the·network233 with·no·receiver·is·mainly·defined·by·the·underlying·TCP·stack·and·the·network
234 infrastructure.·To·write·code·that·handles·a·hanging·receiver·that·can234 infrastructure.·To·write·code·that·handles·a·hanging·receiver·that·can
235 eventually·cause·the·sender·to·hang·on·a·<code·class="inline">send</code>·do·like·the·following.</p><p>Consider·a·process·that·receives·data·from·a·client·process·to·be·forwarded·to·a235 eventually·cause·the·sender·to·hang·on·a·<code·class="inline">send</code>·do·like·the·following.</p><p>Consider·a·process·that·receives·data·from·a·client·process·to·be·forwarded·to·a
236 server·on·the·network.·The·process·is·connected·to·the·server·through·TCP/IP·and236 server·on·the·network.·The·process·is·connected·to·the·server·through·TCP/IP·and
237 does·not·get·any·acknowledge·for·each·message·it·sends,·but·has·to·rely·on·the237 does·not·get·any·acknowledge·for·each·message·it·sends,·but·has·to·rely·on·the
238 send·time-out·option·to·detect·that·the·other·end·is·unresponsive.·Option238 send·time-out·option·to·detect·that·the·other·end·is·unresponsive.·Option
239 <code·class="inline">send_timeout</code>·can·be·used·when·connecting:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">239 <code·class="inline">send_timeout</code>·can·be·used·when·connecting:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
240 </span><span·class="p"·data-group-id="0032365777-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Sock</span><span·class="p"·data-group-id="0032365777-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><[·...·truncated·by·diffoscope;·len:·95,·SHA:·fd09ace627b7afd50c4777116992f5c0f49484de498b6f881bf821f545c1b605·...·]-2">(</span><span·class="n">HostAddress</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">240 </span><span·class="p"·data-group-id="7302288989-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Sock</span><span·class="p"·data-group-id="7302288989-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">gen_tcp</span><[·...·truncated·by·diffoscope;·len:·95,·SHA:·5c3b6e8a1a152a323b1e2e3cc27c7630ad8210bbfbf260c53e156d6d755202d6·...·]-2">(</span><span·class="n">HostAddress</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">
241 ····························</span><span·class="p"·data-group-id="0032365777-3">[</span><span·class="p"·data-group-id="0032365777-4">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="0032365777-4">}</span><span·class="p">,</span><span·class="w">241 ····························</span><span·class="p"·data-group-id="7302288989-3">[</span><span·class="p"·data-group-id="7302288989-4">{</span><span·class="ss">active</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="7302288989-4">}</span><span·class="p">,</span><span·class="w">
242 ·····························</span><span·class="p"·data-group-id="0032365777-5">{</span><span·class="ss">send_timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5000</span><span·class="p"·data-group-id="0032365777-5">}</span><span·class="p">,</span><span·class="w">242 ·····························</span><span·class="p"·data-group-id="7302288989-5">{</span><span·class="ss">send_timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5000</span><span·class="p"·data-group-id="7302288989-5">}</span><span·class="p">,</span><span·class="w">
243 ·····························</span><span·class="p"·data-group-id="0032365777-6">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0032365777-6">}</span><span·class="p"·data-group-id="0032365777-3">]</span><span·class="p"·data-group-id="0032365777-2">)</span><span·class="p">,</span><span·class="w">243 ·····························</span><span·class="p"·data-group-id="7302288989-6">{</span><span·class="ss">packet</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7302288989-6">}</span><span·class="p"·data-group-id="7302288989-3">]</span><span·class="p"·data-group-id="7302288989-2">)</span><span·class="p">,</span><span·class="w">
244 ················</span><span·class="nf">loop</span><span·class="p"·data-group-id="0032365777-7">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="0032365777-7">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·See·below</span><span·class="w">244 ················</span><span·class="nf">loop</span><span·class="p"·data-group-id="7302288989-7">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="7302288989-7">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·See·below</span><span·class="w">
245 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>In·the·loop·where·requests·are·handled,·send·time-outs·can·now·be·detected:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="2058625771-1">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2058625771-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">245 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>In·the·loop·where·requests·are·handled,·send·time-outs·can·now·be·detected:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="3852271672-1">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="3852271672-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
246 ····</span><span·class="k">receive</span><span·class="w">246 ····</span><span·class="k">receive</span><span·class="w">
247 ········</span><span·class="p"·data-group-id="2058625771-2">{</span><span·class="n">Client</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">send_data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Binary</span><span·class="p"·data-group-id="2058625771-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">247 ········</span><span·class="p"·data-group-id="3852271672-2">{</span><span·class="n">Client</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">send_data</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Binary</span><span·class="p"·data-group-id="3852271672-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
248 ············</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="2058625771-3">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="p"·data-group-id="2058625771-4">[</span><span·class="n">Binary</span><span·class="p"·data-group-id="2058625771-4">]</span><span·class="p"·data-group-id="2058625771-3">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">248 ············</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="3852271672-3">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="p"·data-group-id="3852271672-4">[</span><span·class="n">Binary</span><span·class="p"·data-group-id="3852271672-4">]</span><span·class="p"·data-group-id="3852271672-3">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
249 ················</span><span·class="p"·data-group-id="2058625771-5">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">timeout</span><span·class="p"·data-group-id="2058625771-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">249 ················</span><span·class="p"·data-group-id="3852271672-5">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">timeout</span><span·class="p"·data-group-id="3852271672-5">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
250 ····················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2058625771-6">(</span><span·class="s">&quot;Send·timeout,·closing!</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">250 ····················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3852271672-6">(</span><span·class="s">&quot;Send·timeout,·closing!</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">
251 ······························</span><span·class="p"·data-group-id="2058625771-7">[</span><span·class="p"·data-group-id="2058625771-7">]</span><span·class="p"·data-group-id="2058625771-6">)</span><span·class="p">,</span><span·class="w">251 ······························</span><span·class="p"·data-group-id="3852271672-7">[</span><span·class="p"·data-group-id="3852271672-7">]</span><span·class="p"·data-group-id="3852271672-6">)</span><span·class="p">,</span><span·class="w">
252 ····················</span><span·class="nf">handle_send_timeout</span><span·class="p"·data-group-id="2058625771-8">(</span><span·class="p"·data-group-id="2058625771-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Not·implemented·here</span><span·class="w"> 
253 ····················</span><span·class="n">Client</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="2058625771-9">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2058625771-10">(</span><span·class="p"·data-group-id="205[·...·truncated·by·diffoscope;·len:·338,·SHA:·8ecb61a03f5144a8d79ea9ad9010aafa070c366f44b90ff5474620d7be75f963·...·]</span><span·class="w">252 ····················</span><span·class="nf">handle_send_timeout</span><span·class="p"·data-group-id="3852271672-8">(</span><span·class="p"·data-group-id="3852271672-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Not·implemented·here</span><span·class="w">
 253 ····················</span><span·class="n">Client</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3852271672-9">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3852271672-10">(</span><span·class="p"·data-group-id="3852271672-10">)</span><span·class="p">,</span><span·class="p"·data-group-id="3852271672-11">{</span><span·class="ss">error_sending</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">timeout</span><span·class="p"·data-group-id="3852271672-11">}</span><span·class="p"·data-group-id="3852271672-9">}</span><span·class="p">,</span><span·class="w">
254 ····················</span><span·class="c1">%%·Usually,·it&#39;s·a·good·idea·to·give·up·in·case·of·a</span><span·class="w">254 ····················</span><span·class="c1">%%·Usually,·it&#39;s·a·good·idea·to·give·up·in·case·of·a</span><span·class="w">
255 ····················</span><span·class="c1">%%·send·timeout,·as·you·never·know·how·much·actually</span><span·class="w">255 ····················</span><span·class="c1">%%·send·timeout,·as·you·never·know·how·much·actually</span><span·class="w">
256 ····················</span><span·class="c1">%%·reached·the·server,·maybe·only·a·packet·header?!</span><span·class="w">256 ····················</span><span·class="c1">%%·reached·the·server,·maybe·only·a·packet·header?!</span><span·class="w">
257 ····················</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="2058625771-12">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2058625771-12">)</span><span·class="p">;</span><span·class="w">257 ····················</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="3852271672-12">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="3852271672-12">)</span><span·class="p">;</span><span·class="w">
258 ················</span><span·class="p"·data-group-id="2058625771-13">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OtherSendError</span><span·class="p"·data-group-id="2058625771-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">258 ················</span><span·class="p"·data-group-id="3852271672-13">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OtherSendError</span><span·class="p"·data-group-id="3852271672-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
259 ····················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2058625771-14">(</span><span·class="s">&quot;Some·other·error·on·socket·(</span><span·class="si">~p</span><span·class="s">),·closing&quot;</span><span·class="p">,</span><span·class="w">259 ····················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3852271672-14">(</span><span·class="s">&quot;Some·other·error·on·socket·(</span><span·class="si">~p</span><span·class="s">),·closing&quot;</span><span·class="p">,</span><span·class="w">
260 ······························</span><span·class="p"·data-group-id="2058625771-15">[</span><span·class="n">OtherSendError</span><span·class="p"·data-group-id="2058625771-15">]</span><span·class="p"·data-group-id="2058625771-14">)</span><span·class="p">,</span><span·class="w">260 ······························</span><span·class="p"·data-group-id="3852271672-15">[</span><span·class="n">OtherSendError</span><span·class="p"·data-group-id="3852271672-15">]</span><span·class="p"·data-group-id="3852271672-14">)</span><span·class="p">,</span><span·class="w">
261 ····················</span><span·class="n">Client</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="2058625771-16">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2058625771-17">(</span><span·class="p"·data-group-id="2058625771-17">)</span><span·class="p">,</span><span·class="p"·data-group-id="2058625771-18">{</span><span·class="ss">er[·...·truncated·by·diffoscope;·len:·198,·SHA:·6a986c3b76596a422b578bad9aa21783d21034ee81a4bdbc1d414f8c0f250474·...·]-16">}</span><span·class="p">,</span><span·class="w">261 ····················</span><span·class="n">Client</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3852271672-16">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3852271672-17">(</span><span·class="p"·data-group-id="3852271672-17">)</span><span·class="p">,</span><span·class="p"·data-group-id="3852271672-18">{</span><span·class="ss">er[·...·truncated·by·diffoscope;·len:·198,·SHA:·ea1c2eb649e9f23f2f21583aca2e8ee724eba07d6236a3a9a746cc91195af972·...·]-16">}</span><span·class="p">,</span><span·class="w">
262 ····················</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="2058625771-19">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2058625771-19">)</span><span·class="p">;</span><span·class="w">262 ····················</span><span·class="nc">gen_tcp</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="3852271672-19">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="3852271672-19">)</span><span·class="p">;</span><span·class="w">
263 ················</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">263 ················</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
264 ····················</span><span·class="n">Client</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="2058625771-20">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2058625771-21">(</span><span·class="p"·data-group-id="2058625771-21">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">data_sent</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·f204163734497a7bf3aac48eb6522ad4ccd595b962ba4e4dd948141c7000e038·...·]-20">}</span><span·class="p">,</span><span·class="w">264 ····················</span><span·class="n">Client</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3852271672-20">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3852271672-21">(</span><span·class="p"·data-group-id="3852271672-21">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">data_sent</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·d5c003f52290976afe301253e5f86b9d8c047eb0d68ec7afc10534d7212210d4·...·]-20">}</span><span·class="p">,</span><span·class="w">
265 ····················</span><span·class="nf">loop</span><span·class="p"·data-group-id="2058625771-22">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2058625771-22">)</span><span·class="w">265 ····················</span><span·class="nf">loop</span><span·class="p"·data-group-id="3852271672-22">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="3852271672-22">)</span><span·class="w">
266 ············</span><span·class="k">end</span><span·class="w">266 ············</span><span·class="k">end</span><span·class="w">
267 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Usually·it·suffices·to·detect·time-outs·on·receive,·as·most·protocols·include267 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>Usually·it·suffices·to·detect·time-outs·on·receive,·as·most·protocols·include
268 some·sort·of·acknowledgment·from·the·server,·but·if·the·protocol·is·strictly·one268 some·sort·of·acknowledgment·from·the·server,·but·if·the·protocol·is·strictly·one
269 way,·option·<code·class="inline">send_timeout</code>·comes·in·handy.</p>269 way,·option·<code·class="inline">send_timeout</code>·comes·in·handy.</p>
Max diff block lines reached; 711/61586 bytes (1.15%) of diff not shown.
738 B
html2text {}
Max HTML report size reached
8.91 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/gen_udp.html
    
Offset 924, 25 lines modifiedOffset 924, 25 lines modified
924 time-to-live·(TTL)·for·outgoing·multicast·datagrams·to·control·the·scope·of924 time-to-live·(TTL)·for·outgoing·multicast·datagrams·to·control·the·scope·of
925 the·multicasts.</p><p>Datagrams·with·a·TTL·of·1·are·not·forwarded·beyond·the·local·network.925 the·multicasts.</p><p>Datagrams·with·a·TTL·of·1·are·not·forwarded·beyond·the·local·network.
926 Defaults·to·<code·class="inline">1</code>.</p></li><li><p><strong><code·class="inline">{add_membership, {MultiAddress, InterfaceAddress}}</code></strong>·-926 Defaults·to·<code·class="inline">1</code>.</p></li><li><p><strong><code·class="inline">{add_membership, {MultiAddress, InterfaceAddress}}</code></strong>·-
927 Joins·a·multicast·group.</p></li><li><p><strong><code·class="inline">{drop_membership, {MultiAddress, InterfaceAddress}}</code></strong>·-927 Joins·a·multicast·group.</p></li><li><p><strong><code·class="inline">{drop_membership, {MultiAddress, InterfaceAddress}}</code></strong>·-
928 Leaves·a·multicast·group.</p></li><li><p><strong><a·href="#t:option/0"><code·class="inline">option/0</code></a></strong>·-·See·<a·href="inet.html#setopts/2"><code·class="inline">inet:setopts/2</code></a>.</p></li></ul><p>UDP·packets·are·sent·with·this·socket·using·<a·href="#send/3"><code·class="inline">send(Socket, ...)</code></a>.928 Leaves·a·multicast·group.</p></li><li><p><strong><a·href="#t:option/0"><code·class="inline">option/0</code></a></strong>·-·See·<a·href="inet.html#setopts/2"><code·class="inline">inet:setopts/2</code></a>.</p></li></ul><p>UDP·packets·are·sent·with·this·socket·using·<a·href="#send/3"><code·class="inline">send(Socket, ...)</code></a>.
929 When·UDP·packets·arrive·to·the·<code·class="inline">Socket</code>'s·UDP·port,·and·the·socket·is·in929 When·UDP·packets·arrive·to·the·<code·class="inline">Socket</code>'s·UDP·port,·and·the·socket·is·in
930 an·<em>active·mode</em>,·the·packets·are·delivered·as·messages·to·the930 an·<em>active·mode</em>,·the·packets·are·delivered·as·messages·to·the
931 controlling·process·(socket·owner):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5309804862-1">{</span><span·class="ss">udp</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Socket</span><span·class="p">,</span><span·class="err"> </span><span·class="n">PeerIP</span><span·class="p">,</span><span·class="err"> </span[·...·truncated·by·diffoscope;·len:·152,·SHA:·c0526501523d3cad6860091e5104560a576166c8ce9d627eeab49153a1749520·...·]-1">}</span><span·class="w">·</span><span·class="c1">%·Without·ancillary·data</span><span·class="w">931 controlling·process·(socket·owner):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7875291414-1">{</span><span·class="ss">udp</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Socket</span><span·class="p">,</span><span·class="err"> </span><span·class="n">PeerIP</span><span·class="p">,</span><span·class="err"> </span[·...·truncated·by·diffoscope;·len:·152,·SHA:·5aa6fda55e4f3ec418aa6ed27f3811d9a1620c0773d14f46e7a1d5fb45e31479·...·]-1">}</span><span·class="w">·</span><span·class="c1">%·Without·ancillary·data</span><span·class="w">
932 </span><span·class="p"·data-group-id="5309804862-2">{</span><span·class="ss">udp</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Socket</span><span·class="p">,</span><span·class="err"> </span><span·class="n">PeerIP</span><span·class="p">,</span><span·class="err"> </span[·...·truncated·by·diffoscope;·len:·232,·SHA:·63bbe0ce6ca17007ab29ef84b9583317f9ab0847c89f346641f5a7da401907fb·...·]-2">}</span><span·class="w">·</span><span·class="c1">%·With·ancillary·data</span></code></pre><p><code·class="inline">PeerIP</code>·and·<code·class="inline">PeerPort</code>·are·the·address·from·which·<code·class="inline">Packet</code>·was·sent.932 </span><span·class="p"·data-group-id="7875291414-2">{</span><span·class="ss">udp</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Socket</span><span·class="p">,</span><span·class="err"> </span><span·class="n">PeerIP</span><span·class="p">,</span><span·class="err"> </span[·...·truncated·by·diffoscope;·len:·232,·SHA:·e3b547fa9f31be83c8d977895fec09558d0ca02e3b0c8b44cb165b6f6adde786·...·]-2">}</span><span·class="w">·</span><span·class="c1">%·With·ancillary·data</span></code></pre><p><code·class="inline">PeerIP</code>·and·<code·class="inline">PeerPort</code>·are·the·address·from·which·<code·class="inline">Packet</code>·was·sent.
933 <code·class="inline">Packet</code>·is·a·list·of·bytes·(<code·class="inline">[</code><a·href="../../../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a><code·class="inline">]</code>·if·option·<code·class="inline">list</code>933 <code·class="inline">Packet</code>·is·a·list·of·bytes·(<code·class="inline">[</code><a·href="../../../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a><code·class="inline">]</code>·if·option·<code·class="inline">list</code>
934 is·active·and·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0"><code·class="inline">binary/0</code></a>·if·option·<code·class="inline">binary</code>is·active934 is·active·and·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0"><code·class="inline">binary/0</code></a>·if·option·<code·class="inline">binary</code>is·active
935 (they·are·mutually·exclusive).</p><p>The·message·contains·an·<code·class="inline">AncData</code>·field·only·if·any·of·the·socket935 (they·are·mutually·exclusive).</p><p>The·message·contains·an·<code·class="inline">AncData</code>·field·only·if·any·of·the·socket
936 <a·href="#t:option/0">options</a>·<a·href="inet.html#option-recvtos"><code·class="inline">recvtos</code></a>,936 <a·href="#t:option/0">options</a>·<a·href="inet.html#option-recvtos"><code·class="inline">recvtos</code></a>,
937 <a·href="inet.html#option-recvtclass"><code·class="inline">recvtclass</code></a>·or937 <a·href="inet.html#option-recvtclass"><code·class="inline">recvtclass</code></a>·or
938 <a·href="inet.html#option-recvttl"><code·class="inline">recvttl</code></a>·are·active.</p><p>When·a·socket·in·<code·class="inline">{active, N}</code>·mode·(see·<a·href="inet.html#setopts/2"><code·class="inline">inet:setopts/2</code></a>·for·details),938 <a·href="inet.html#option-recvttl"><code·class="inline">recvttl</code></a>·are·active.</p><p>When·a·socket·in·<code·class="inline">{active, N}</code>·mode·(see·<a·href="inet.html#setopts/2"><code·class="inline">inet:setopts/2</code></a>·for·details),
939 transitions·to·passive·(<code·class="inline">{active, false}</code>)·mode·(<code·class="inline">N</code>·counts·down·to·<code·class="inline">0</code>),939 transitions·to·passive·(<code·class="inline">{active, false}</code>)·mode·(<code·class="inline">N</code>·counts·down·to·<code·class="inline">0</code>),
940 the·controlling·process·is·notified·by·a·message·on·this·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5420924468-1">{</span><span·class="ss">udp_passive</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Socket</span><span·class="p"·data-group-id="5420924468-1">}</span></code></pre><p>If·the·OS·protocol·stack·reports·an·error·for·the·socket,·the·following940 the·controlling·process·is·notified·by·a·message·on·this·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8854183820-1">{</span><span·class="ss">udp_passive</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Socket</span><span·class="p"·data-group-id="8854183820-1">}</span></code></pre><p>If·the·OS·protocol·stack·reports·an·error·for·the·socket,·the·following
941 message·is·sent·to·the·controlling·process:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3893375640-1">{</span><span·class="ss">udp_error</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Socket</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Reason</span><span·class="p"·data-group-id="3893375640-1">}</span></code></pre><p><code·class="inline">Reason</code>·is·mostly·a·<a·href="inet.html#posix-error-codes">POSIX·Error·Code</a>.</p><p>If·the·socket·is·in·<em>passive·mode</em>·(not·in·an·<em>active·mode</em>),·received·data941 message·is·sent·to·the·controlling·process:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3590089997-1">{</span><span·class="ss">udp_error</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Socket</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Reason</span><span·class="p"·data-group-id="3590089997-1">}</span></code></pre><p><code·class="inline">Reason</code>·is·mostly·a·<a·href="inet.html#posix-error-codes">POSIX·Error·Code</a>.</p><p>If·the·socket·is·in·<em>passive·mode</em>·(not·in·an·<em>active·mode</em>),·received·data
942 can·be·retrieved·with·the<code·class="inline">recv/2,3</code>](<a·href="#recv/2"><code·class="inline">recv/2</code></a>)·calls.·Note·that·incoming942 can·be·retrieved·with·the<code·class="inline">recv/2,3</code>](<a·href="#recv/2"><code·class="inline">recv/2</code></a>)·calls.·Note·that·incoming
943 UDP·packets·that·are·longer·than·the·receive·buffer·option·specifies943 UDP·packets·that·are·longer·than·the·receive·buffer·option·specifies
944 can·be·truncated·without·warning.</p><p>The·default·value·for·the·receive·buffer·option·is·<code·class="inline">{recbuf, 9216}</code>.</p>944 can·be·truncated·without·warning.</p><p>The·default·value·for·the·receive·buffer·option·is·<code·class="inline">{recbuf, 9216}</code>.</p>
945 ··</section>945 ··</section>
946 </section>946 </section>
947 <section·class="detail"·id="recv/2">947 <section·class="detail"·id="recv/2">
  
Offset 1225, 15 lines modifiedOffset 1225, 15 lines modified
1225 ······<p·class="built-using">1225 ······<p·class="built-using">
1226 ········Built·using1226 ········Built·using
1227 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1227 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1228 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1228 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1229 ······</p>1229 ······</p>
1230 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1230 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1231 ····</footer>1231 ····</footer>
1232 ··</div>1232 ··</div>
1233 </main>1233 </main>
1234 </div>1234 </div>
1235 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1235 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1236 ··<script>1236 ··<script>
1237 ··let·initialized·=·false;1237 ··let·initialized·=·false;
834 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/global.html
    
Offset 1244, 15 lines modifiedOffset 1244, 15 lines modified
1244 ······<p·class="built-using">1244 ······<p·class="built-using">
1245 ········Built·using1245 ········Built·using
1246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1248 ······</p>1248 ······</p>
1249 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1249 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1250 ····</footer>1250 ····</footer>
1251 ··</div>1251 ··</div>
1252 </main>1252 </main>
1253 </div>1253 </div>
1254 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1254 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1255 ··<script>1255 ··<script>
1256 ··let·initialized·=·false;1256 ··let·initialized·=·false;
736 B
html2text {}
Max HTML report size reached
4.34 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/global_group.html
    
Offset 128, 15 lines modifiedOffset 128, 15 lines modified
  
  
128 ····<section·id="moduledoc">128 ····<section·id="moduledoc">
129 <p>Grouping·nodes·to·global·name·registration·groups.</p><p>This·module·makes·it·possible·to·partition·the·nodes·of·a·system·into·<em>global129 <p>Grouping·nodes·to·global·name·registration·groups.</p><p>This·module·makes·it·possible·to·partition·the·nodes·of·a·system·into·<em>global
130 groups</em>.·Each·global·group·has·its·own·global·namespace,·see·<a·href="global.html"><code·class="inline">global</code></a>.</p><p>The·main·advantage·of·dividing·systems·into·global·groups·is·that·the·background130 groups</em>.·Each·global·group·has·its·own·global·namespace,·see·<a·href="global.html"><code·class="inline">global</code></a>.</p><p>The·main·advantage·of·dividing·systems·into·global·groups·is·that·the·background
131 load·decreases·while·the·number·of·nodes·to·be·updated·is·reduced·when131 load·decreases·while·the·number·of·nodes·to·be·updated·is·reduced·when
132 manipulating·globally·registered·names.</p><p>The·Kernel·configuration·parameter·<a·href="kernel_app.html#global_groups"><code·class="inline">global_groups</code></a>132 manipulating·globally·registered·names.</p><p>The·Kernel·configuration·parameter·<a·href="kernel_app.html#global_groups"><code·class="inline">global_groups</code></a>
133 defines·the·global·groups:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9617243796-1">{</span><span·class="ss">global_groups</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9617243796-2">[</span><span·class="n">GroupTuple</span><span·class="w">·</span><span·class="p">:</span><span·class="p"[·...·truncated·by·diffoscope;·len:·268,·SHA:·cbb42c09c150e0625c0a363697676257b5082a22991b62915ef161a34df9a575·...·]-1">}</span></code></pre><p>For·the·processes·and·nodes·to·run·smoothly·using·the·global·group133 defines·the·global·groups:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3657295731-1">{</span><span·class="ss">global_groups</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3657295731-2">[</span><span·class="n">GroupTuple</span><span·class="w">·</span><span·class="p">:</span><span·class="p"[·...·truncated·by·diffoscope;·len:·268,·SHA:·15b875c6c035efa0313d8923e7b60bb5a7d25090631d777c13b61fb85d62797a·...·]-1">}</span></code></pre><p>For·the·processes·and·nodes·to·run·smoothly·using·the·global·group
134 functionality,·the·following·criteria·must·be·met:</p><ul><li>An·instance·of·the·global·group·server,·<code·class="inline">global_group</code>,·must·be·running·on134 functionality,·the·following·criteria·must·be·met:</p><ul><li>An·instance·of·the·global·group·server,·<code·class="inline">global_group</code>,·must·be·running·on
135 each·node.·The·processes·are·automatically·started·and·synchronized·when·a135 each·node.·The·processes·are·automatically·started·and·synchronized·when·a
136 node·is·started.</li><li>All·involved·nodes·must·agree·on·the·global·group·definition,·otherwise·the136 node·is·started.</li><li>All·involved·nodes·must·agree·on·the·global·group·definition,·otherwise·the
137 behavior·of·the·system·is·undefined.</li><li><em>All</em>·nodes·in·the·system·must·belong·to·exactly·one·global·group.</li></ul><p>In·the·following·descriptions,·a·<em>group·node</em>·is·a·node·belonging·to·the·same137 behavior·of·the·system·is·undefined.</li><li><em>All</em>·nodes·in·the·system·must·belong·to·exactly·one·global·group.</li></ul><p>In·the·following·descriptions,·a·<em>group·node</em>·is·a·node·belonging·to·the·same
138 global·group·as·the·local·node.</p><h2·id="module-notes"·class="section-heading">138 global·group·as·the·local·node.</p><h2·id="module-notes"·class="section-heading">
139 ··<a·href="#module-notes"·class="hover-link">139 ··<a·href="#module-notes"·class="hover-link">
140 ····<i·class="ri-link-m"·aria-hidden="true"></i>140 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 901, 15 lines modifiedOffset 901, 15 lines modified
901 ······<p·class="built-using">901 ······<p·class="built-using">
902 ········Built·using902 ········Built·using
903 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the903 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
904 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>904 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
905 ······</p>905 ······</p>
906 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>906 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
907 ····</footer>907 ····</footer>
908 ··</div>908 ··</div>
909 </main>909 </main>
910 </div>910 </div>
911 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>911 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
912 ··<script>912 ··<script>
913 ··let·initialized·=·false;913 ··let·initialized·=·false;
750 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/heart.html
    
Offset 589, 15 lines modifiedOffset 589, 15 lines modified
589 ······<p·class="built-using">589 ······<p·class="built-using">
590 ········Built·using590 ········Built·using
591 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the591 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
592 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>592 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
593 ······</p>593 ······</p>
594 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>594 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
595 ····</footer>595 ····</footer>
596 ··</div>596 ··</div>
597 </main>597 </main>
598 </div>598 </div>
599 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>599 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
600 ··<script>600 ··<script>
601 ··let·initialized·=·false;601 ··let·initialized·=·false;
676 B
html2text {}
Max HTML report size reached
36.5 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/inet.html
    
Offset 151, 27 lines modifiedOffset 151, 27 lines modified
151 inet_default_listen_options·'[{delay_send,true}]'</code></pre><p><strong>Please·note</strong>·that·the·default·option·<code·class="inline">{active,·true}</code>·cannot·be·changed,151 inet_default_listen_options·'[{delay_send,true}]'</code></pre><p><strong>Please·note</strong>·that·the·default·option·<code·class="inline">{active,·true}</code>·cannot·be·changed,
152 for·internal·implementation·reasons.</p><p>Addresses·as·inputs·to·functions·can·be·either·a·string·or·a·tuple.152 for·internal·implementation·reasons.</p><p>Addresses·as·inputs·to·functions·can·be·either·a·string·or·a·tuple.
153 For·example,·the·IP·address·150.236.20.73·can·be·passed·to153 For·example,·the·IP·address·150.236.20.73·can·be·passed·to
154 <a·href="#gethostbyaddr/1"><code·class="inline">gethostbyaddr/1</code></a>,·either·as·a·string·<code·class="inline">&quot;150.236.20.73&quot;</code>154 <a·href="#gethostbyaddr/1"><code·class="inline">gethostbyaddr/1</code></a>,·either·as·a·string·<code·class="inline">&quot;150.236.20.73&quot;</code>
155 or·as·a·tuple·<code·class="inline">{150, 236, 20, 73}</code>.</p><p><em>IPv4·address·examples:</em></p><pre><code·class="text">Address··········ip_address()155 or·as·a·tuple·<code·class="inline">{150, 236, 20, 73}</code>.</p><p><em>IPv4·address·examples:</em></p><pre><code·class="text">Address··········ip_address()
156 -------··········------------156 -------··········------------
157 127.0.0.1········{127,0,0,1}157 127.0.0.1········{127,0,0,1}
158 192.168.42.2·····{192,168,42,2}</code></pre><p><em>IPv6·address·examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Address</span><span·class="w">··········</span><span·class="nf">ip_address</span><span·class="p"·data-group-id="0764773257-1">(</span><span·class="p"·data-group-id="0764773257-1">)</span><span·class="w">158 192.168.42.2·····{192,168,42,2}</code></pre><p><em>IPv6·address·examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Address</span><span·class="w">··········</span><span·class="nf">ip_address</span><span·class="p"·data-group-id="4600815532-1">(</span><span·class="p"·data-group-id="4600815532-1">)</span><span·class="w">
159 </span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">-</span><span·class="w">··········</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="w">159 </span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">-</span><span·class="w">··········</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="o">--</span><span·class="w">
160 </span><span·class="p">:</span><span·class="p">:</span><span·class="mi">1</span><span·class="w">·············</span><span·class="p"·data-group-id="0764773257-2">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·175,·SHA:·d46edca43b494840c3cd4e36ae55a99c34261d46b410344c6183849d178c032a·...·]-2">}</span><span·class="w">160 </span><span·class="p">:</span><span·class="p">:</span><span·class="mi">1</span><span·class="w">·············</span><span·class="p"·data-group-id="4600815532-2">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·175,·SHA:·a5fbbc71d33ba0e42f681a23c5d7e262cd9a26c4c4156fbab5b10c01cbeff5c1·...·]-2">}</span><span·class="w">
161 </span><span·class="p">:</span><span·class="p">:</span><span·class="mf">192.168</span><span·class="p">.</span><span·class="mf">42.2</span><span·class="w">··</span><span·class="p"·data-group-id="0764773257-3">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·792,·SHA:·dd3628dcd641422d1f5236011b7db5770da24f4cf2e4b54171ded9e5ecd8ae7c·...·]-3">}</span><span·class="w">161 </span><span·class="p">:</span><span·class="p">:</span><span·class="mf">192.168</span><span·class="p">.</span><span·class="mf">42.2</span><span·class="w">··</span><span·class="p"·data-group-id="4600815532-3">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·792,·SHA:·9ffbd104a9ec9038102c561228b505f1ea4c8815e3c1fa61dcea0256ce468f55·...·]-3">}</span><span·class="w">
162 </span><span·class="p">:</span><span·class="p">:</span><span·class="n">FFFF</span><span·class="p">:</span><span·class="mf">192.168</span><span·class="p">.</span><span·class="mf">42.2</span><span·class="w">162 </span><span·class="p">:</span><span·class="p">:</span><span·class="n">FFFF</span><span·class="p">:</span><span·class="mf">192.168</span><span·class="p">.</span><span·class="mf">42.2</span><span·class="w">
163 ················</span><span·class="p"·data-group-id="0764773257-6">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·798,·SHA:·e588d8b4c0e3bd34208c40b33a59010162c370d16e4fdb2de251f627c02f8e0e·...·]-6">}</span><span·class="w">163 ················</span><span·class="p"·data-group-id="4600815532-6">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·798,·SHA:·4609183fb54ae716354e0aa9e93f85856ef33e664048eab9eb7a2255fd970bdd·...·]-6">}</span><span·class="w">
164 </span><span·class="mi">3</span><span·class="nc">ffe</span><span·class="p">:</span><span·class="nc">b80</span><span·class="p">:</span><span·class="mi">1</span><span·class="nc">f8d</span><span·class="p">:</span><span·class="mi">2</span><span·class="p">:</span><span·class="mi">204</span><span·class="p">:</span><span·class="nc">acff</span><span·class="p">:</span><span·class="nc">fe17</span><span·class="p">:</span><span·class="ss">bf38</span><span·class="w">164 </span><span·class="mi">3</span><span·class="nc">ffe</span><span·class="p">:</span><span·class="nc">b80</span><span·class="p">:</span><span·class="mi">1</span><span·class="nc">f8d</span><span·class="p">:</span><span·class="mi">2</span><span·class="p">:</span><span·class="mi">204</span><span·class="p">:</span><span·class="nc">acff</span><span·class="p">:</span><span·class="nc">fe17</span><span·class="p">:</span><span·class="ss">bf38</span><span·class="w">
165 ················</span><span·class="p"·data-group-id="0764773257-9">{</span><span·class="mi">16#3ffe</span><span·class="p">,</span><span·class="mi">16#b80</span><span·class="p">,</span><span·class="mi">16#1f8d</span><span·class="p">,</span><span·class="mi">16#2</span><span·class="p">,</span><span·class="mi">1[·...·truncated·by·diffoscope;·len:·218,·SHA:·830e298a1f605dd293537be1eea4ad2f6691f965cff007b623d72871f90161af·...·]-9">}</span><span·class="w">165 ················</span><span·class="p"·data-group-id="4600815532-9">{</span><span·class="mi">16#3ffe</span><span·class="p">,</span><span·class="mi">16#b80</span><span·class="p">,</span><span·class="mi">16#1f8d</span><span·class="p">,</span><span·class="mi">16#2</span><span·class="p">,</span><span·class="mi">1[·...·truncated·by·diffoscope;·len:·218,·SHA:·c2467cc22a5d96b1cd2aee948b04c13f5dc3a8c4e6d4ac32d4e0b4be172b381c·...·]-9">}</span><span·class="w">
166 </span><span·class="nc">fe80</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">204</span><span·class="p">:</span><span·class="nc">acff</span><span·class="p">:</span><span·class="nc">fe17</span><span·class="p">:</span><span·class="ss">bf38</span><span·class="w">166 </span><span·class="nc">fe80</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">204</span><span·class="p">:</span><span·class="nc">acff</span><span·class="p">:</span><span·class="nc">fe17</span><span·class="p">:</span><span·class="ss">bf38</span><span·class="w">
167 ················</span><span·class="p"·data-group-id="0764773257-10">{</span><span·class="mi">16#fe80</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">16#204</span><[·...·truncated·by·diffoscope;·len:·657,·SHA:·21d8c09589bc64701c471152db3f460b4b7c21371d213b6be49bfe98a216831a·...·]-1">)</span><span·class="p">.</span><span·class="w">167 ················</span><span·class="p"·data-group-id="4600815532-10">{</span><span·class="mi">16#fe80</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">16#204</span><[·...·truncated·by·diffoscope;·len:·657,·SHA:·c500acb7d709fea1418dbd1427236f58aac843e162163fead3f2696c7906b9ba·...·]-1">)</span><span·class="p">.</span><span·class="w">
168 </span><span·class="p"·data-group-id="3387079880-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3387079880-3">{</span><span·class="mi">192</span><span·class="p">,</span><span·class="mi">168</span><span·class="p">,</span><span·class="mi">42</span><sp[·...·truncated·by·diffoscope;·len:·140,·SHA:·6c9d547fe27a78fd9f9a69272142e8d622b2a6930c1adb1a5333d5e66a09aecd·...·]-2">}</span><span·class="gp·unselectable">168 </span><span·class="p"·data-group-id="4018525185-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4018525185-3">{</span><span·class="mi">192</span><span·class="p">,</span><span·class="mi">168</span><span·class="p">,</span><span·class="mi">42</span><sp[·...·truncated·by·diffoscope;·len:·140,·SHA:·4939d1df1554c5c65c921272ee9573037f4b54ca22ed2d05bcca1f1a88e72927·...·]-2">}</span><span·class="gp·unselectable">
169 2&gt;·</span><span·class="nc">inet</span><span·class="p">:</span><span·class="nf">parse_address</span><span·class="p"·data-group-id="3387079880-4">(</span><span·class="s">&quot;::FFFF:192.168.42.2&quot;</span><span·class="p"·data-group-id="3387079880-4">)</span><span·class="p">.</span><span·class="w">169 2&gt;·</span><span·class="nc">inet</span><span·class="p">:</span><span·class="nf">parse_address</span><span·class="p"·data-group-id="4018525185-4">(</span><span·class="s">&quot;::FFFF:192.168.42.2&quot;</span><span·class="p"·data-group-id="4018525185-4">)</span><span·class="p">.</span><span·class="w">
170 </span><span·class="p"·data-group-id="3387079880-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3387079880-6">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·cl[·...·truncated·by·diffoscope;·len:·343,·SHA:·1c24e3ad9846569dc90119bf64c2776125c49aba5db813016d43a57795096dbd·...·]-5">}</span></code></pre><h2·id="module-posix-error-codes"·class="section-heading">170 </span><span·class="p"·data-group-id="4018525185-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4018525185-6">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·cl[·...·truncated·by·diffoscope;·len:·343,·SHA:·05b2f8dd8523f0ba77ff0d43195952afc986b52c5ba98a3bd9660cbe004d097a·...·]-5">}</span></code></pre><h2·id="module-posix-error-codes"·class="section-heading">
171 ··<a·href="#module-posix-error-codes"·class="hover-link">171 ··<a·href="#module-posix-error-codes"·class="hover-link">
172 ····<i·class="ri-link-m"·aria-hidden="true"></i>172 ····<i·class="ri-link-m"·aria-hidden="true"></i>
173 ··</a>173 ··</a>
174 ··<span·class="text"><a·href=""·id="posix-error-codes"></a>·POSIX·Error·Codes</span>174 ··<span·class="text"><a·href=""·id="posix-error-codes"></a>·POSIX·Error·Codes</span>
175 </h2>175 </h2>
176 <ul><li><code·class="inline">e2big</code>·-·Too·long·argument·list</li><li><code·class="inline">eacces</code>·-·Permission·denied</li><li><code·class="inline">eaddrinuse</code>·-·Address·already·in·use</li><li><code·class="inline">eaddrnotavail</code>·-·Cannot·assign·requested·address</li><li><code·class="inline">eadv</code>·-·Advertise·error</li><li><code·class="inline">eafnosupport</code>·-·Address·family·not·supported·by·protocol·family</li><li><code·class="inline">eagain</code>·-·Resource·temporarily·unavailable</li><li><code·class="inline">ealign</code>·-·EALIGN</li><li><code·class="inline">ealready</code>·-·Operation·already·in·progress</li><li><code·class="inline">ebade</code>·-·Bad·exchange·descriptor</li><li><code·class="inline">ebadf</code>·-·Bad·file·number</li><li><code·class="inline">ebadfd</code>·-·File·descriptor·in·bad·state</li><li><code·class="inline">ebadmsg</code>·-·Not·a·data·message</li><li><code·class="inline">ebadr</code>·-·Bad·request·descriptor</li><li><code·class="inline">ebadrpc</code>·-·Bad·RPC·structure</li><li><code·class="inline">ebadrqc</code>·-·Bad·request·code</li><li><code·class="inline">ebadslt</code>·-·Invalid·slot</li><li><code·class="inline">ebfont</code>·-·Bad·font·file·format</li><li><code·class="inline">ebusy</code>·-·File·busy</li><li><code·class="inline">echild</code>·-·No·children</li><li><code·class="inline">echrng</code>·-·Channel·number·out·of·range</li><li><code·class="inline">ecomm</code>·-·Communication·error·on·send</li><li><code·class="inline">econnaborted</code>·-·Software·caused·connection·abort</li><li><code·class="inline">econnrefused</code>·-·Connection·refused</li><li><code·class="inline">econnreset</code>·-·Connection·reset·by·peer</li><li><code·class="inline">edeadlk</code>·-·Resource·deadlock·avoided</li><li><code·class="inline">edeadlock</code>·-·Resource·deadlock·avoided</li><li><code·class="inline">edestaddrreq</code>·-·Destination·address·required</li><li><code·class="inline">edirty</code>·-·Mounting·a·dirty·fs·without·force</li><li><code·class="inline">edom</code>·-·Math·argument·out·of·range</li><li><code·class="inline">edotdot</code>·-·Cross·mount·point</li><li><code·class="inline">edquot</code>·-·Disk·quota·exceeded</li><li><code·class="inline">eduppkg</code>·-·Duplicate·package·name</li><li><code·class="inline">eexist</code>·-·File·already·exists</li><li><code·class="inline">efault</code>·-·Bad·address·in·system·call·argument</li><li><code·class="inline">efbig</code>·-·File·too·large</li><li><code·class="inline">ehostdown</code>·-·Host·is·down</li><li><code·class="inline">ehostunreach</code>·-·Host·is·unreachable</li><li><code·class="inline">eidrm</code>·-·Identifier·removed</li><li><code·class="inline">einit</code>·-·Initialization·error</li><li><code·class="inline">einprogress</code>·-·Operation·now·in·progress</li><li><code·class="inline">eintr</code>·-·Interrupted·system·call</li><li><code·class="inline">einval</code>·-·Invalid·argument</li><li><code·class="inline">eio</code>·-·I/O·error</li><li><code·class="inline">eisconn</code>·-·Socket·is·already·connected</li><li><code·class="inline">eisdir</code>·-·Illegal·operation·on·a·directory</li><li><code·class="inline">eisnam</code>·-·Is·a·named·file</li><li><code·class="inline">el2hlt</code>·-·Level·2·halted</li><li><code·class="inline">el2nsync</code>·-·Level·2·not·synchronized</li><li><code·class="inline">el3hlt</code>·-·Level·3·halted</li><li><code·class="inline">el3rst</code>·-·Level·3·reset</li><li><code·class="inline">elbin</code>·-·ELBIN</li><li><code·class="inline">elibacc</code>·-·Cannot·access·a·needed·shared·library</li><li><code·class="inline">elibbad</code>·-·Accessing·a·corrupted·shared·library</li><li><code·class="inline">elibexec</code>·-·Cannot·exec·a·shared·library·directly</li><li><code·class="inline">elibmax</code>·-·Attempting·to·link·in·more·shared·libraries·than·system·limit</li><li><code·class="inline">elibscn</code>·-·<code·class="inline">.lib</code>·section·in·<code·class="inline">a.out</code>·corrupted</li><li><code·class="inline">elnrng</code>·-·Link·number·out·of·range</li><li><code·class="inline">eloop</code>·-·Too·many·levels·of·symbolic·links</li><li><code·class="inline">emfile</code>·-·Too·many·open·files</li><li><code·class="inline">emlink</code>·-·Too·many·links</li><li><code·class="inline">emsgsize</code>·-·Message·too·long</li><li><code·class="inline">emultihop</code>·-·Multihop·attempted</li><li><code·class="inline">enametoolong</code>·-·Filename·too·long</li><li><code·class="inline">enavail</code>·-·Unavailable</li><li><code·class="inline">enet</code>·-·ENET</li><li><code·class="inline">enetdown</code>·-·Network·is·down</li><li><code·class="inline">enetreset</code>·-·Network·dropped·connection·on·reset</li><li><code·class="inline">enetunreach</code>·-·Network·is·unreachable</li><li><code·class="inline">enfile</code>·-·File·table·overflow</li><li><code·class="inline">enoano</code>·-·Anode·table·overflow</li><li><code·class="inline">enobufs</code>·-·No·buffer·space·available</li><li><code·class="inline">enocsi</code>·-·No·CSI·structure·available</li><li><code·class="inline">enodata</code>·-·No·data·available</li><li><code·class="inline">enodev</code>·-·No·such·device</li><li><code·class="inline">enoent</code>·-·No·such·file·or·directory</li><li><code·class="inline">enoexec</code>·-·Exec·format·error</li><li><code·class="inline">enolck</code>·-·No·locks·available</li><li><code·class="inline">enolink</code>·-·Link·has·been·severed</li><li><code·class="inline">enomem</code>·-·Not·enough·memory</li><li><code·class="inline">enomsg</code>·-·No·message·of·desired·type</li><li><code·class="inline">enonet</code>·-·Machine·is·not·on·the·network</li><li><code·class="inline">enopkg</code>·-·Package·not·installed</li><li><code·class="inline">enoprotoopt</code>·-·Bad·protocol·option</li><li><code·class="inline">enospc</code>·-·No·space·left·on·device</li><li><code·class="inline">enosr</code>·-·Out·of·stream·resources·or·not·a·stream·device</li><li><code·class="inline">enosym</code>·-·Unresolved·symbol·name</li><li><code·class="inline">enosys</code>·-·Function·not·implemented</li><li><code·class="inline">enotblk</code>·-·Block·device·required</li><li><code·class="inline">enotconn</code>·-·Socket·is·not·connected</li><li><code·class="inline">enotdir</code>·-·Not·a·directory</li><li><code·class="inline">enotempty</code>·-·Directory·not·empty</li><li><code·class="inline">enotnam</code>·-·Not·a·named·file</li><li><code·class="inline">enotsock</code>·-·Socket·operation·on·non-socket</li><li><code·class="inline">enotsup</code>·-·Operation·not·supported</li><li><code·class="inline">enotty</code>·-·Inappropriate·device·for·<code·class="inline">ioctl</code></li><li><code·class="inline">enotuniq</code>·-·Name·not·unique·on·network</li><li><code·class="inline">enxio</code>·-·No·such·device·or·address</li><li><code·class="inline">eopnotsupp</code>·-·Operation·not·supported·on·socket</li><li><code·class="inline">eperm</code>·-·Not·owner</li><li><code·class="inline">epfnosupport</code>·-·Protocol·family·not·supported</li><li><code·class="inline">epipe</code>·-·Broken·pipe</li><li><code·class="inline">eproclim</code>·-·Too·many·processes</li><li><code·class="inline">eprocunavail</code>·-·Bad·procedure·for·program</li><li><code·class="inline">eprogmismatch</code>·-·Wrong·program·version</li><li><code·class="inline">eprogunavail</code>·-·RPC·program·unavailable</li><li><code·class="inline">eproto</code>·-·Protocol·error</li><li><code·class="inline">eprotonosupport</code>·-·Protocol·not·supported</li><li><code·class="inline">eprototype</code>·-·Wrong·protocol·type·for·socket</li><li><code·class="inline">erange</code>·-·Math·result·unrepresentable</li><li><code·class="inline">erefused</code>·-·EREFUSED</li><li><code·class="inline">eremchg</code>·-·Remote·address·changed</li><li><code·class="inline">eremdev</code>·-·Remote·device</li><li><code·class="inline">eremote</code>·-·Pathname·hit·remote·filesystem</li><li><code·class="inline">eremoteio</code>·-·Remote·I/O·error</li><li><code·class="inline">eremoterelease</code>·-·EREMOTERELEASE</li><li><code·class="inline">erofs</code>·-·Read-only·filesystem</li><li><code·class="inline">erpcmismatch</code>·-·Wrong·RPC·version</li><li><code·class="inline">erremote</code>·-·Object·is·remote</li><li><code·class="inline">eshutdown</code>·-·Cannot·send·after·socket·shutdown</li><li><code·class="inline">esocktnosupport</code>·-·Socket·type·not·supported</li><li><code·class="inline">espipe</code>·-·Invalid·seek</li><li><code·class="inline">esrch</code>·-·No·such·process</li><li><code·class="inline">esrmnt</code>·-·Srmount·error</li><li><code·class="inline">estale</code>·-·Stale·remote·file·handle</li><li><code·class="inline">esuccess</code>·-·Error·0</li><li><code·class="inline">etime</code>·-·Timer·expired</li><li><code·class="inline">etimedout</code>·-·Connection·timed·out</li><li><code·class="inline">etoomanyrefs</code>·-·Too·many·references</li><li><code·class="inline">etxtbsy</code>·-·Text·file·or·pseudo-device·busy</li><li><code·class="inline">euclean</code>·-·Structure·needs·cleaning</li><li><code·class="inline">eunatch</code>·-·Protocol·driver·not·attached</li><li><code·class="inline">eusers</code>·-·Too·many·users</li><li><code·class="inline">eversion</code>·-·Version·mismatch</li><li><code·class="inline">ewouldblock</code>·-·Operation·would·block</li><li><code·class="inline">exdev</code>·-·Cross-device·link</li><li><code·class="inline">exfull</code>·-·Message·tables·full</li><li><code·class="inline">nxdomain</code>·-·Hostname·or·domain·name·cannot·be·found</li></ul>176 <ul><li><code·class="inline">e2big</code>·-·Too·long·argument·list</li><li><code·class="inline">eacces</code>·-·Permission·denied</li><li><code·class="inline">eaddrinuse</code>·-·Address·already·in·use</li><li><code·class="inline">eaddrnotavail</code>·-·Cannot·assign·requested·address</li><li><code·class="inline">eadv</code>·-·Advertise·error</li><li><code·class="inline">eafnosupport</code>·-·Address·family·not·supported·by·protocol·family</li><li><code·class="inline">eagain</code>·-·Resource·temporarily·unavailable</li><li><code·class="inline">ealign</code>·-·EALIGN</li><li><code·class="inline">ealready</code>·-·Operation·already·in·progress</li><li><code·class="inline">ebade</code>·-·Bad·exchange·descriptor</li><li><code·class="inline">ebadf</code>·-·Bad·file·number</li><li><code·class="inline">ebadfd</code>·-·File·descriptor·in·bad·state</li><li><code·class="inline">ebadmsg</code>·-·Not·a·data·message</li><li><code·class="inline">ebadr</code>·-·Bad·request·descriptor</li><li><code·class="inline">ebadrpc</code>·-·Bad·RPC·structure</li><li><code·class="inline">ebadrqc</code>·-·Bad·request·code</li><li><code·class="inline">ebadslt</code>·-·Invalid·slot</li><li><code·class="inline">ebfont</code>·-·Bad·font·file·format</li><li><code·class="inline">ebusy</code>·-·File·busy</li><li><code·class="inline">echild</code>·-·No·children</li><li><code·class="inline">echrng</code>·-·Channel·number·out·of·range</li><li><code·class="inline">ecomm</code>·-·Communication·error·on·send</li><li><code·class="inline">econnaborted</code>·-·Software·caused·connection·abort</li><li><code·class="inline">econnrefused</code>·-·Connection·refused</li><li><code·class="inline">econnreset</code>·-·Connection·reset·by·peer</li><li><code·class="inline">edeadlk</code>·-·Resource·deadlock·avoided</li><li><code·class="inline">edeadlock</code>·-·Resource·deadlock·avoided</li><li><code·class="inline">edestaddrreq</code>·-·Destination·address·required</li><li><code·class="inline">edirty</code>·-·Mounting·a·dirty·fs·without·force</li><li><code·class="inline">edom</code>·-·Math·argument·out·of·range</li><li><code·class="inline">edotdot</code>·-·Cross·mount·point</li><li><code·class="inline">edquot</code>·-·Disk·quota·exceeded</li><li><code·class="inline">eduppkg</code>·-·Duplicate·package·name</li><li><code·class="inline">eexist</code>·-·File·already·exists</li><li><code·class="inline">efault</code>·-·Bad·address·in·system·call·argument</li><li><code·class="inline">efbig</code>·-·File·too·large</li><li><code·class="inline">ehostdown</code>·-·Host·is·down</li><li><code·class="inline">ehostunreach</code>·-·Host·is·unreachable</li><li><code·class="inline">eidrm</code>·-·Identifier·removed</li><li><code·class="inline">einit</code>·-·Initialization·error</li><li><code·class="inline">einprogress</code>·-·Operation·now·in·progress</li><li><code·class="inline">eintr</code>·-·Interrupted·system·call</li><li><code·class="inline">einval</code>·-·Invalid·argument</li><li><code·class="inline">eio</code>·-·I/O·error</li><li><code·class="inline">eisconn</code>·-·Socket·is·already·connected</li><li><code·class="inline">eisdir</code>·-·Illegal·operation·on·a·directory</li><li><code·class="inline">eisnam</code>·-·Is·a·named·file</li><li><code·class="inline">el2hlt</code>·-·Level·2·halted</li><li><code·class="inline">el2nsync</code>·-·Level·2·not·synchronized</li><li><code·class="inline">el3hlt</code>·-·Level·3·halted</li><li><code·class="inline">el3rst</code>·-·Level·3·reset</li><li><code·class="inline">elbin</code>·-·ELBIN</li><li><code·class="inline">elibacc</code>·-·Cannot·access·a·needed·shared·library</li><li><code·class="inline">elibbad</code>·-·Accessing·a·corrupted·shared·library</li><li><code·class="inline">elibexec</code>·-·Cannot·exec·a·shared·library·directly</li><li><code·class="inline">elibmax</code>·-·Attempting·to·link·in·more·shared·libraries·than·system·limit</li><li><code·class="inline">elibscn</code>·-·<code·class="inline">.lib</code>·section·in·<code·class="inline">a.out</code>·corrupted</li><li><code·class="inline">elnrng</code>·-·Link·number·out·of·range</li><li><code·class="inline">eloop</code>·-·Too·many·levels·of·symbolic·links</li><li><code·class="inline">emfile</code>·-·Too·many·open·files</li><li><code·class="inline">emlink</code>·-·Too·many·links</li><li><code·class="inline">emsgsize</code>·-·Message·too·long</li><li><code·class="inline">emultihop</code>·-·Multihop·attempted</li><li><code·class="inline">enametoolong</code>·-·Filename·too·long</li><li><code·class="inline">enavail</code>·-·Unavailable</li><li><code·class="inline">enet</code>·-·ENET</li><li><code·class="inline">enetdown</code>·-·Network·is·down</li><li><code·class="inline">enetreset</code>·-·Network·dropped·connection·on·reset</li><li><code·class="inline">enetunreach</code>·-·Network·is·unreachable</li><li><code·class="inline">enfile</code>·-·File·table·overflow</li><li><code·class="inline">enoano</code>·-·Anode·table·overflow</li><li><code·class="inline">enobufs</code>·-·No·buffer·space·available</li><li><code·class="inline">enocsi</code>·-·No·CSI·structure·available</li><li><code·class="inline">enodata</code>·-·No·data·available</li><li><code·class="inline">enodev</code>·-·No·such·device</li><li><code·class="inline">enoent</code>·-·No·such·file·or·directory</li><li><code·class="inline">enoexec</code>·-·Exec·format·error</li><li><code·class="inline">enolck</code>·-·No·locks·available</li><li><code·class="inline">enolink</code>·-·Link·has·been·severed</li><li><code·class="inline">enomem</code>·-·Not·enough·memory</li><li><code·class="inline">enomsg</code>·-·No·message·of·desired·type</li><li><code·class="inline">enonet</code>·-·Machine·is·not·on·the·network</li><li><code·class="inline">enopkg</code>·-·Package·not·installed</li><li><code·class="inline">enoprotoopt</code>·-·Bad·protocol·option</li><li><code·class="inline">enospc</code>·-·No·space·left·on·device</li><li><code·class="inline">enosr</code>·-·Out·of·stream·resources·or·not·a·stream·device</li><li><code·class="inline">enosym</code>·-·Unresolved·symbol·name</li><li><code·class="inline">enosys</code>·-·Function·not·implemented</li><li><code·class="inline">enotblk</code>·-·Block·device·required</li><li><code·class="inline">enotconn</code>·-·Socket·is·not·connected</li><li><code·class="inline">enotdir</code>·-·Not·a·directory</li><li><code·class="inline">enotempty</code>·-·Directory·not·empty</li><li><code·class="inline">enotnam</code>·-·Not·a·named·file</li><li><code·class="inline">enotsock</code>·-·Socket·operation·on·non-socket</li><li><code·class="inline">enotsup</code>·-·Operation·not·supported</li><li><code·class="inline">enotty</code>·-·Inappropriate·device·for·<code·class="inline">ioctl</code></li><li><code·class="inline">enotuniq</code>·-·Name·not·unique·on·network</li><li><code·class="inline">enxio</code>·-·No·such·device·or·address</li><li><code·class="inline">eopnotsupp</code>·-·Operation·not·supported·on·socket</li><li><code·class="inline">eperm</code>·-·Not·owner</li><li><code·class="inline">epfnosupport</code>·-·Protocol·family·not·supported</li><li><code·class="inline">epipe</code>·-·Broken·pipe</li><li><code·class="inline">eproclim</code>·-·Too·many·processes</li><li><code·class="inline">eprocunavail</code>·-·Bad·procedure·for·program</li><li><code·class="inline">eprogmismatch</code>·-·Wrong·program·version</li><li><code·class="inline">eprogunavail</code>·-·RPC·program·unavailable</li><li><code·class="inline">eproto</code>·-·Protocol·error</li><li><code·class="inline">eprotonosupport</code>·-·Protocol·not·supported</li><li><code·class="inline">eprototype</code>·-·Wrong·protocol·type·for·socket</li><li><code·class="inline">erange</code>·-·Math·result·unrepresentable</li><li><code·class="inline">erefused</code>·-·EREFUSED</li><li><code·class="inline">eremchg</code>·-·Remote·address·changed</li><li><code·class="inline">eremdev</code>·-·Remote·device</li><li><code·class="inline">eremote</code>·-·Pathname·hit·remote·filesystem</li><li><code·class="inline">eremoteio</code>·-·Remote·I/O·error</li><li><code·class="inline">eremoterelease</code>·-·EREMOTERELEASE</li><li><code·class="inline">erofs</code>·-·Read-only·filesystem</li><li><code·class="inline">erpcmismatch</code>·-·Wrong·RPC·version</li><li><code·class="inline">erremote</code>·-·Object·is·remote</li><li><code·class="inline">eshutdown</code>·-·Cannot·send·after·socket·shutdown</li><li><code·class="inline">esocktnosupport</code>·-·Socket·type·not·supported</li><li><code·class="inline">espipe</code>·-·Invalid·seek</li><li><code·class="inline">esrch</code>·-·No·such·process</li><li><code·class="inline">esrmnt</code>·-·Srmount·error</li><li><code·class="inline">estale</code>·-·Stale·remote·file·handle</li><li><code·class="inline">esuccess</code>·-·Error·0</li><li><code·class="inline">etime</code>·-·Timer·expired</li><li><code·class="inline">etimedout</code>·-·Connection·timed·out</li><li><code·class="inline">etoomanyrefs</code>·-·Too·many·references</li><li><code·class="inline">etxtbsy</code>·-·Text·file·or·pseudo-device·busy</li><li><code·class="inline">euclean</code>·-·Structure·needs·cleaning</li><li><code·class="inline">eunatch</code>·-·Protocol·driver·not·attached</li><li><code·class="inline">eusers</code>·-·Too·many·users</li><li><code·class="inline">eversion</code>·-·Version·mismatch</li><li><code·class="inline">ewouldblock</code>·-·Operation·would·block</li><li><code·class="inline">exdev</code>·-·Cross-device·link</li><li><code·class="inline">exfull</code>·-·Message·tables·full</li><li><code·class="inline">nxdomain</code>·-·Hostname·or·domain·name·cannot·be·found</li></ul>
177 ····</section>177 ····</section>
Offset 957, 15 lines modifiedOffset 957, 15 lines modified
957 ···················h_addrtype·::·inet·|·inet6,957 ···················h_addrtype·::·inet·|·inet6,
958 ···················h_length·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),958 ···················h_length·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),
959 ···················h_addr_list·::·[<a·href="inet.html#t:ip_address/0">inet:ip_address</a>()]}.</pre>959 ···················h_addr_list·::·[<a·href="inet.html#t:ip_address/0">inet:ip_address</a>()]}.</pre>
  
960 ······</div>960 ······</div>
  
961 <p>A·record·describing·a·host;·name·and·address.</p><p>Corresponds·to·the·<code·class="inline">C</code>:·<code·class="inline">struct hostent</code>·as·returned·by·for·example961 <p>A·record·describing·a·host;·name·and·address.</p><p>Corresponds·to·the·<code·class="inline">C</code>:·<code·class="inline">struct hostent</code>·as·returned·by·for·example
962 <code·class="inline">gethostbyname(3)</code>.</p><p>The·record·is·defined·in·the·Kernel·include·file·<code·class="inline">&quot;inet.hrl&quot;</code>.</p><p>Add·the·following·directive·to·the·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="4570106307-1">(</span><span·class="s">&quot;kernel/include/inet.hrl&quot;</span><span·class="p"·data-group-id="4570106307-1">)</span><span·class="p">.</span></code></pre>962 <code·class="inline">gethostbyname(3)</code>.</p><p>The·record·is·defined·in·the·Kernel·include·file·<code·class="inline">&quot;inet.hrl&quot;</code>.</p><p>Add·the·following·directive·to·the·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="9787309696-1">(</span><span·class="s">&quot;kernel/include/inet.hrl&quot;</span><span·class="p"·data-group-id="9787309696-1">)</span><span·class="p">.</span></code></pre>
963 ··</section>963 ··</section>
964 </section>964 </section>
965 <section·class="detail"·id="t:hostname/0">965 <section·class="detail"·id="t:hostname/0">
  
966 ··<div·class="detail-header">966 ··<div·class="detail-header">
967 ····<a·href="#t:hostname/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">967 ····<a·href="#t:hostname/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">
968 ······<i·class="ri-link-m"·aria-hidden="true"></i>968 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2054, 17 lines modifiedOffset 2054, 17 lines modified
2054 coded·in·native·endianness.</p><p>Asking·for·and·inspecting·raw·socket·options·require·low-level·information·about2054 coded·in·native·endianness.</p><p>Asking·for·and·inspecting·raw·socket·options·require·low-level·information·about
2055 the·current·operating·system·and·TCP·stack.</p><p><em>Example:</em></p><p>Consider·a·Linux·machine·where·option·<code·class="inline">TCP_INFO</code>·can·be·used·to·collect·TCP2055 the·current·operating·system·and·TCP·stack.</p><p><em>Example:</em></p><p>Consider·a·Linux·machine·where·option·<code·class="inline">TCP_INFO</code>·can·be·used·to·collect·TCP
2056 statistics·for·a·socket.·Assume·you·are·interested·in·field·<code·class="inline">tcpi_sacked</code>·of2056 statistics·for·a·socket.·Assume·you·are·interested·in·field·<code·class="inline">tcpi_sacked</code>·of
2057 <code·class="inline">struct·tcp_info</code>·filled·in·when·asking·for·<code·class="inline">TCP_INFO</code>.·To·be·able·to·access2057 <code·class="inline">struct·tcp_info</code>·filled·in·when·asking·for·<code·class="inline">TCP_INFO</code>.·To·be·able·to·access
2058 this·information,·you·need·to·know·the·following:</p><ul><li>The·numeric·value·of·protocol·level·<code·class="inline">IPPROTO_TCP</code></li><li>The·numeric·value·of·option·<code·class="inline">TCP_INFO</code></li><li>The·size·of·<code·class="inline">struct·tcp_info</code></li><li>The·size·and·offset·of·the·specific·field</li></ul><p>By·inspecting·the·headers·or·writing·a·small·C·program,·it·is·found·that2058 this·information,·you·need·to·know·the·following:</p><ul><li>The·numeric·value·of·protocol·level·<code·class="inline">IPPROTO_TCP</code></li><li>The·numeric·value·of·option·<code·class="inline">TCP_INFO</code></li><li>The·size·of·<code·class="inline">struct·tcp_info</code></li><li>The·size·and·offset·of·the·specific·field</li></ul><p>By·inspecting·the·headers·or·writing·a·small·C·program,·it·is·found·that
2059 <code·class="inline">IPPROTO_TCP</code>·is·6,·<code·class="inline">TCP_INFO</code>·is·11,·the·structure·size·is·92·(bytes),·the2059 <code·class="inline">IPPROTO_TCP</code>·is·6,·<code·class="inline">TCP_INFO</code>·is·11,·the·structure·size·is·92·(bytes),·the
2060 offset·of·<code·class="inline">tcpi_sacked</code>·is·28·bytes,·and·the·value·is·a·32-bit·integer.·The2060 offset·of·<code·class="inline">tcpi_sacked</code>·is·28·bytes,·and·the·value·is·a·32-bit·integer.·The
2061 following·code·can·be·used·to·retrieve·the·value:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">get_tcpi_sacked</span><span·class="p"·data-group-id="3015384125-1">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="3015384125-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2061 following·code·can·be·used·to·retrieve·the·value:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">get_tcpi_sacked</span><span·class="p"·data-group-id="1538035174-1">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="1538035174-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2062 ····</span><span·class="p"·data-group-id="3015384125-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3015384125-3">[</span><span·class="p"·data-group-id="3015384125-4">{</span><span·class="ss">raw</span><span·class="p">,</span><span·class="p">_</span><sp[·...·truncated·by·diffoscope;·len:·943,·SHA:·38b8f0d57f3fc81ef93fafaa6eb12724a6f7ff9f13ec6337921807c301830bf1·...·]-5">)</span><span·class="p">,</span><span·class="w">2062 ····</span><span·class="p"·data-group-id="1538035174-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1538035174-3">[</span><span·class="p"·data-group-id="1538035174-4">{</span><span·class="ss">raw</span><span·class="p">,</span><span·class="p">_</span><sp[·...·truncated·by·diffoscope;·len:·943,·SHA:·67c16e4866458b34285fce8765974c10a0a673c3334ec8df3f3426b14bb9220d·...·]-5">)</span><span·class="p">,</span><span·class="w">
2063 ····</span><span·class="p"·data-group-id="3015384125-8">&lt;&lt;</span><span·class="p">_</span><span·class="p">:</span><span·class="mi">28</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="n">TcpiSacked</span><span·class="p">:</span><span·class="mi">3[·...·truncated·by·diffoscope;·len:·205,·SHA:·db1efefc65d004624f69d52d88d230d1ca80aaf3d524212018a965d1364b9afd·...·]-8">&gt;&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">2063 ····</span><span·class="p"·data-group-id="1538035174-8">&lt;&lt;</span><span·class="p">_</span><span·class="p">:</span><span·class="mi">28</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="n">TcpiSacked</span><span·class="p">:</span><span·class="mi">3[·...·truncated·by·diffoscope;·len:·205,·SHA:·c8f1e585a76621801418bfdc9711b68d809c5446f99b815c7f51320ed64d41a4·...·]-8">&gt;&gt;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">
2064 ····</span><span·class="n">TcpiSacked</span><span·class="p">.</span></code></pre><p>Preferably,·you·would·check·the·machine·type,·the·operating·system,·and·the2064 ····</span><span·class="n">TcpiSacked</span><span·class="p">.</span></code></pre><p>Preferably,·you·would·check·the·machine·type,·the·operating·system,·and·the
2065 Kernel·version·before·executing·anything·similar·to·this·code.</p>2065 Kernel·version·before·executing·anything·similar·to·this·code.</p>
2066 ··</section>2066 ··</section>
2067 </section>2067 </section>
2068 <section·class="detail"·id="getstat/1">2068 <section·class="detail"·id="getstat/1">
  
2069 ··<div·class="detail-header">2069 ··<div·class="detail-header">
Offset 2385, 15 lines modifiedOffset 2385, 15 lines modified
2385 ······<div·class="specs">2385 ······<div·class="specs">
  
2386 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor(Socket)·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0">reference</a>()·when·Socket·::·<a·href="#t:socket/0">socket</a>().</pre>2386 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor(Socket)·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0">reference</a>()·when·Socket·::·<a·href="#t:socket/0">socket</a>().</pre>
  
2387 ······</div>2387 ······</div>
  
2388 <p>Start·a·socket·monitor.</p><p>If·the·<code·class="inline">Socket</code>·to·monitor·doesn't·exist·or·when·the·monitor·is·triggered,2388 <p>Start·a·socket·monitor.</p><p>If·the·<code·class="inline">Socket</code>·to·monitor·doesn't·exist·or·when·the·monitor·is·triggered,
2389 a·<code·class="inline">'DOWN'</code>·message·is·sent·that·has·the·following·pattern:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»     ····</span><span·class="p"·data-group-id="0648924607-1">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MonitorRef</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">[·...·truncated·by·diffoscope;·len:·153,·SHA:·f102a769d93dee32914eb5bc2efff4cc686a8987722e1b797be678af35176ac3·...·]-1">}</span></code></pre><ul><li><p><strong><code·class="inline">MonitorRef</code></strong>·-·The·return·value·from·this·function.</p></li><li><p><strong><code·class="inline">Type</code></strong>·-·The·type·of·socket,·can·be·one·of·the·following2389 a·<code·class="inline">'DOWN'</code>·message·is·sent·that·has·the·following·pattern:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»     ····</span><span·class="p"·data-group-id="6550262081-1">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MonitorRef</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">[·...·truncated·by·diffoscope;·len:·153,·SHA:·77ca4f503ac81ccb84199639763eb0d3ee99e998862eabec5173209e1dc478de·...·]-1">}</span></code></pre><ul><li><p><strong><code·class="inline">MonitorRef</code></strong>·-·The·return·value·from·this·function.</p></li><li><p><strong><code·class="inline">Type</code></strong>·-·The·type·of·socket,·can·be·one·of·the·following
2390 <a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0"><code·class="inline">atom/0</code></a>s:·<code·class="inline">port</code>·or·<code·class="inline">socket</code>.</p></li><li><p><strong><code·class="inline">Object</code></strong>·-·The·monitored·entity,·the·socket,·which·triggered·the·event.</p></li><li><p><strong><code·class="inline">Info</code></strong>·-·Either·the·termination·reason·of·the·socket·or·<code·class="inline">nosock</code>2390 <a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0"><code·class="inline">atom/0</code></a>s:·<code·class="inline">port</code>·or·<code·class="inline">socket</code>.</p></li><li><p><strong><code·class="inline">Object</code></strong>·-·The·monitored·entity,·the·socket,·which·triggered·the·event.</p></li><li><p><strong><code·class="inline">Info</code></strong>·-·Either·the·termination·reason·of·the·socket·or·<code·class="inline">nosock</code>
2391 (the·<code·class="inline">Socket</code>·did·not·exist·when·this·function·was·called).</p></li></ul><p>Making·several·calls·to·<a·href="#monitor/1"><code·class="inline">inet:monitor/1</code></a>·for·the·same·<code·class="inline">Socket</code>2391 (the·<code·class="inline">Socket</code>·did·not·exist·when·this·function·was·called).</p></li></ul><p>Making·several·calls·to·<a·href="#monitor/1"><code·class="inline">inet:monitor/1</code></a>·for·the·same·<code·class="inline">Socket</code>
2392 is·not·an·error;·one·monitor·is·created·per·call.</p><p>The·monitor·is·triggered·when·the·socket·is·closed·in·any·way·such·as2392 is·not·an·error;·one·monitor·is·created·per·call.</p><p>The·monitor·is·triggered·when·the·socket·is·closed·in·any·way·such·as
2393 an·API·call,·remote·end·close,·closed·by·signal·when·owner·exits,·...</p>2393 an·API·call,·remote·end·close,·closed·by·signal·when·owner·exits,·...</p>
2394 ··</section>2394 ··</section>
2395 </section>2395 </section>
2396 <section·class="detail"·id="ntoa/1">2396 <section·class="detail"·id="ntoa/1">
Offset 3224, 15 lines modifiedOffset 3224, 15 lines modified
3224 ······<p·class="built-using">3224 ······<p·class="built-using">
3225 ········Built·using3225 ········Built·using
3226 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3226 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3227 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3227 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3228 ······</p>3228 ······</p>
3229 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3229 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3230 ····</footer>3230 ····</footer>
3231 ··</div>3231 ··</div>
3232 </main>3232 </main>
3233 </div>3233 </div>
3234 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3234 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3235 ··<script>3235 ··<script>
3236 ··let·initialized·=·false;3236 ··let·initialized·=·false;
755 B
html2text {}
Max HTML report size reached
50.9 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/inet_res.html
    
Offset 175, 23 lines modifiedOffset 175, 23 lines modified
175 <p>The·following·data·types·concern·the·DNS·client:</p><h2·id="module-example"·class="section-heading">175 <p>The·following·data·types·concern·the·DNS·client:</p><h2·id="module-example"·class="section-heading">
176 ··<a·href="#module-example"·class="hover-link">176 ··<a·href="#module-example"·class="hover-link">
177 ····<i·class="ri-link-m"·aria-hidden="true"></i>177 ····<i·class="ri-link-m"·aria-hidden="true"></i>
178 ··</a>178 ··</a>
179 ··<span·class="text">Example</span>179 ··<span·class="text">Example</span>
180 </h2>180 </h2>
181 <p>This·access·functions·example·shows·how·<a·href="#lookup/3"><code·class="inline">lookup/3</code></a>·can·be·implemented·using181 <p>This·access·functions·example·shows·how·<a·href="#lookup/3"><code·class="inline">lookup/3</code></a>·can·be·implemented·using
182 <a·href="#resolve/3"><code·class="inline">resolve/3</code></a>·from·outside·the·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">example_lookup</span><span·class="p"·data-group-id="9053302168-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Class</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type</span><span·class="p"·data-group-id="9053302168-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">182 <a·href="#resolve/3"><code·class="inline">resolve/3</code></a>·from·outside·the·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">example_lookup</span><span·class="p"·data-group-id="7848778071-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Class</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type</span><span·class="p"·data-group-id="7848778071-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
183 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">inet_res</span><span·class="p">:</span><span·class="nf">resolve</span><span·class="p"·data-group-id="9053302168-2">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Class</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type</span><span·class="p"·data-group-id="9053302168-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">183 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">inet_res</span><span·class="p">:</span><span·class="nf">resolve</span><span·class="p"·data-group-id="7848778071-2">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Class</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type</span><span·class="p"·data-group-id="7848778071-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
184 ········</span><span·class="p"·data-group-id="9053302168-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Msg</span><span·class="p"·data-group-id="9053302168-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">184 ········</span><span·class="p"·data-group-id="7848778071-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Msg</span><span·class="p"·data-group-id="7848778071-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
185 ············</span><span·class="p"·data-group-id="9053302168-4">[</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">rr</span><span·class="p"·data-group-id="9053302168-5">(</span><span·class="n">RR</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">data</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·e9faa8f3a66bd60ffeae8403de226ade23bdd67b9f1581ada579e2bc03759c89·...·]-5">)</span><span·class="w">185 ············</span><span·class="p"·data-group-id="7848778071-4">[</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">rr</span><span·class="p"·data-group-id="7848778071-5">(</span><span·class="n">RR</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">data</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·539b4d1c5be7e02c490b11097c28331f156ade65b1a672c97250f63be3a0554a·...·]-5">)</span><span·class="w">
186 ·············</span><span·class="p">||</span><span·class="w">·</span><span·class="n">RR</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">msg</span><span·class="p"·data-group-id="9053302168-6">(</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">anlist</span><span·class="p"·data-group-id="9053302168-6">)</span><span·class="p">,</span><span·class="w">186 ·············</span><span·class="p">||</span><span·class="w">·</span><span·class="n">RR</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">msg</span><span·class="p"·data-group-id="7848778071-6">(</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">anlist</span><span·class="p"·data-group-id="7848778071-6">)</span><span·class="p">,</span><span·class="w">
187 ·················</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">rr</span><span·class="p"·data-group-id="9053302168-7">(</span><span·class="n">RR</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">type</span><span·class="p"·data-group-id="9053302168-7">)</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">187 ·················</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">rr</span><span·class="p"·data-group-id="7848778071-7">(</span><span·class="n">RR</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">type</span><span·class="p"·data-group-id="7848778071-7">)</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">
188 ·················</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">rr</span><span·class="p"·data-group-id="9053302168-8">(</span><span·class="n">RR</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">class</span><span·class="p"·data-group-id="9053302168-8">)</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·64,·SHA:·1603a7ea3456f6986f2372355ad41bcf1e4c7c258e3db4097e8bc5540b4f760b·...·]-4">]</span><span·class="p">;</span><span·class="w">188 ·················</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">rr</span><span·class="p"·data-group-id="7848778071-8">(</span><span·class="n">RR</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">class</span><span·class="p"·data-group-id="7848778071-8">)</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·64,·SHA:·267e17fba7b7e69f848fd9383cdf01a580b2e8401766a4a50414cbb4365d17ad·...·]-4">]</span><span·class="p">;</span><span·class="w">
189 ········</span><span·class="p"·data-group-id="9053302168-9">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="9053302168-9">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">189 ········</span><span·class="p"·data-group-id="7848778071-9">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="7848778071-9">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
190 ············</span><span·class="p"·data-group-id="9053302168-10">[</span><span·class="p"·data-group-id="9053302168-10">]</span><span·class="w">190 ············</span><span·class="p"·data-group-id="7848778071-10">[</span><span·class="p"·data-group-id="7848778071-10">]</span><span·class="w">
191 ·····</span><span·class="k">end</span><span·class="p">.</span></code></pre>191 ·····</span><span·class="k">end</span><span·class="p">.</span></code></pre>
192 ····</section>192 ····</section>
  
193 </div>193 </div>
  
194 ··<section·id="summary"·class="details-list">194 ··<section·id="summary"·class="details-list">
195 ····<h1·class="section-heading">195 ····<h1·class="section-heading">
Offset 584, 65 lines modifiedOffset 584, 65 lines modified
584 ··········<pre·translate="no"><span·class="attribute">-type</span>·dns_msg()·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>584 ··········<pre·translate="no"><span·class="attribute">-type</span>·dns_msg()·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
585 ······</div>585 ······</div>
  
586 <p>A·DNS·message.</p><p>This·is·the·start·of·a·hierarchy·of·opaque·data·structures·that·can·be586 <p>A·DNS·message.</p><p>This·is·the·start·of·a·hierarchy·of·opaque·data·structures·that·can·be
587 examined·with·access·functions·in·<code·class="inline">inet_dns</code>,·which·return·lists·of587 examined·with·access·functions·in·<code·class="inline">inet_dns</code>,·which·return·lists·of
588 <code·class="inline">{Field,Value}</code>·tuples.·The·arity·2·functions·return·the·value588 <code·class="inline">{Field,Value}</code>·tuples.·The·arity·2·functions·return·the·value
589 for·a·specified·field.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">dns_msg</span><span·class="p"·data-group-id="7772172053-1">(</span><span·class="p"·data-group-id="7772172053-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">DnsMsg</span><span·class="w">589 for·a·specified·field.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">dns_msg</span><span·class="p"·data-group-id="0030316413-1">(</span><span·class="p"·data-group-id="0030316413-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">DnsMsg</span><span·class="w">
590 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">msg</span><span·class="p"·data-group-id="7772172053-2">(</span><span·class="n">DnsMsg</span><span·class="p"·data-group-id="7772172053-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">590 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">msg</span><span·class="p"·data-group-id="0030316413-2">(</span><span·class="n">DnsMsg</span><span·class="p"·data-group-id="0030316413-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
591 ········</span><span·class="p"·data-group-id="7772172053-3">[</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-4">{</span><span·class="ss">header</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_header</span><span·class="p"·data-group-id="7772172053-5">[·...·truncated·by·diffoscope;·len:·101,·SHA:·3c17a0052eabdb8f86eff75cf25aaae3b0a8eeea2ad1c966137a19080e1eb7b3·...·]3-4">}</span><span·class="w">591 ········</span><span·class="p"·data-group-id="0030316413-3">[</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-4">{</span><span·class="ss">header</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_header</span><span·class="p"·data-group-id="0030316413-5">[·...·truncated·by·diffoscope;·len:·101,·SHA:·4e6208d3f97a840bac96bf65db209432970e9932a28574c4de635c603708e274·...·]3-4">}</span><span·class="w">
592 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-6">{</span><span·class="ss">qdlist</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_query</span><span·class="p"·data-group-id="7772172053-7">(</span><span·class="p"·data-group-id="7772172053-7">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·2c4441cd7723d7c2f871beee2018282ea701eed825175bb9d54736162cdd71e1·...·]3-6">}</span><span·class="w">592 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-6">{</span><span·class="ss">qdlist</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_query</span><span·class="p"·data-group-id="0030316413-7">(</span><span·class="p"·data-group-id="0030316413-7">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·894d1ac1804a251478f2fe713c78bdf3fee260bdbbad833a1222d76cb65b1908·...·]3-6">}</span><span·class="w">
593 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-8">{</span><span·class="ss">anlist</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_rr</span><span·class="p"·data-group-id="7772172053-9">(</span><span·class="p"·data-group-id="7772172053-9">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·955dfaf3f649f4eaa636d052d1668db7f7bb71b3301a12da6b7853ef007ba9be·...·]3-8">}</span><span·class="w">593 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-8">{</span><span·class="ss">anlist</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_rr</span><span·class="p"·data-group-id="0030316413-9">(</span><span·class="p"·data-group-id="0030316413-9">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·b787e5cfa886b54614dbb611d5a3e2e46d46d814f0336a1ef5d68b5426e7794b·...·]3-8">}</span><span·class="w">
594 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-10">{</span><span·class="ss">nslist</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_rr</span><span·class="p"·data-group-id="7772172053-11">(</span><span·class="p"·data-group-id="7772172053-11">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·2c4441cd7723d7c2f871beee2018282ea701eed825175bb9d54736162cdd71e1·...·]3-10">}</span><span·class="w">594 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-10">{</span><span·class="ss">nslist</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_rr</span><span·class="p"·data-group-id="0030316413-11">(</span><span·class="p"·data-group-id="0030316413-11">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·894d1ac1804a251478f2fe713c78bdf3fee260bdbbad833a1222d76cb65b1908·...·]3-10">}</span><span·class="w">
595 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-12">{</span><span·class="ss">arlist</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_rr</span><span·class="p"·data-group-id="7772172053-13">(</span><span·class="p"·data-group-id="7772172053-13">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·101,·SHA:·6b802f11b468f5d9373ac31a41c04ff9c73b51de8dda910d456a5688b8435c13·...·]3-3">]</span><span·class="w">595 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-12">{</span><span·class="ss">arlist</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_rr</span><span·class="p"·data-group-id="0030316413-13">(</span><span·class="p"·data-group-id="0030316413-13">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·101,·SHA:·99da789307b2e8f53df0b072ee2b2a0318858b2ea61de9a05ef22ca70fc317b4·...·]3-3">]</span><span·class="w">
596 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">msg</span><span·class="p"·data-group-id="7772172053-14">(</span><span·class="n">DnsMsg</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">header</span><span·class="p"·data-group-id="7772172053-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·132,·SHA:·212f0b0464986b8692c603645c5fdf0dc7d4a2aa10f5878330bfb9abe05e5a54·...·]3-15">)</span><span·class="w">·</span><span·class="c1">%·for·example</span><span·class="w">596 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">msg</span><span·class="p"·data-group-id="0030316413-14">(</span><span·class="n">DnsMsg</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">header</span><span·class="p"·data-group-id="0030316413-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·132,·SHA:·ab10a1dbbf7eec1224cc3dfeaeddc3165d9e5f037c20ecbb905e417fc6c12367·...·]3-15">)</span><span·class="w">·</span><span·class="c1">%·for·example</span><span·class="w">
597 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">msg</span><span·class="p"·data-group-id="7772172053-16">(</span><span·class="n">DnsMsg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Field</span><span·class="p"·data-group-id="7772172053-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Value</span><span·class="w">597 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">msg</span><span·class="p"·data-group-id="0030316413-16">(</span><span·class="n">DnsMsg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Field</span><span·class="p"·data-group-id="0030316413-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Value</span><span·class="w">
  
598 </span><span·class="nf">dns_header</span><span·class="p"·data-group-id="7772172053-17">(</span><span·class="p"·data-group-id="7772172053-17">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">DnsHeader</span><span·class="w">598 </span><span·class="nf">dns_header</span><span·class="p"·data-group-id="0030316413-17">(</span><span·class="p"·data-group-id="0030316413-17">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">DnsHeader</span><span·class="w">
599 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">header</span><span·class="p"·data-group-id="7772172053-18">(</span><span·class="n">DnsHeader</span><span·class="p"·data-group-id="7772172053-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">599 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">header</span><span·class="p"·data-group-id="0030316413-18">(</span><span·class="n">DnsHeader</span><span·class="p"·data-group-id="0030316413-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
600 ········</span><span·class="p"·data-group-id="7772172053-19">[</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-20">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7772172053-21">(</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·fa71e4b3ba76660b495f0e216ff9fe785ac8ed2382140994594ee5c25d53c192·...·]3-20">}</span><span·class="w">600 ········</span><span·class="p"·data-group-id="0030316413-19">[</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-20">{</span><span·class="ss">id</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0030316413-21">(</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·4f7a199e5f5990cf70e6bd7a6cf7e4a8326e330a230a150bfaedd9443214958f·...·]3-20">}</span><span·class="w">
601 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-22">{</span><span·class="ss">qr</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">boolean</span><span·class="p"·data-group-id="7772172053-23">(</span><span·class="p"·data-group-id="7772172053-23">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·955dfaf3f649f4eaa636d052d1668db7f7bb71b3301a12da6b7853ef007ba9be·...·]3-22">}</span><span·class="w">601 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-22">{</span><span·class="ss">qr</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">boolean</span><span·class="p"·data-group-id="0030316413-23">(</span><span·class="p"·data-group-id="0030316413-23">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·b787e5cfa886b54614dbb611d5a3e2e46d46d814f0336a1ef5d68b5426e7794b·...·]3-22">}</span><span·class="w">
602 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-24">{</span><span·class="ss">opcode</span><span·class="p">,</span><span·class="w">·</span><span·class="k">query</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">iquery</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·328,·SHA:·ecdad04866b097869b4139f349ace571ffb999fb5db2fb6d73d42ae3fb04941f·...·]3-24">}</span><span·class="w">602 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-24">{</span><span·class="ss">opcode</span><span·class="p">,</span><span·class="w">·</span><span·class="k">query</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">iquery</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·328,·SHA:·f873b1282bc2b4b7a4d343c78b303426cd113885512a7b1b90a2ec22a6ff1ca5·...·]3-24">}</span><span·class="w">
603 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-26">{</span><span·class="ss">aa</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">boolean</span><span·class="p"·data-group-id="7772172053-27">(</span><span·class="p"·data-group-id="7772172053-27">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·955dfaf3f649f4eaa636d052d1668db7f7bb71b3301a12da6b7853ef007ba9be·...·]3-26">}</span><span·class="w">603 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-26">{</span><span·class="ss">aa</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">boolean</span><span·class="p"·data-group-id="0030316413-27">(</span><span·class="p"·data-group-id="0030316413-27">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·b787e5cfa886b54614dbb611d5a3e2e46d46d814f0336a1ef5d68b5426e7794b·...·]3-26">}</span><span·class="w">
604 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-28">{</span><span·class="ss">tc</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">boolean</span><span·class="p"·data-group-id="7772172053-29">(</span><span·class="p"·data-group-id="7772172053-29">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·955dfaf3f649f4eaa636d052d1668db7f7bb71b3301a12da6b7853ef007ba9be·...·]3-28">}</span><span·class="w">604 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-28">{</span><span·class="ss">tc</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">boolean</span><span·class="p"·data-group-id="0030316413-29">(</span><span·class="p"·data-group-id="0030316413-29">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·b787e5cfa886b54614dbb611d5a3e2e46d46d814f0336a1ef5d68b5426e7794b·...·]3-28">}</span><span·class="w">
605 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-30">{</span><span·class="ss">rd</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">boolean</span><span·class="p"·data-group-id="7772172053-31">(</span><span·class="p"·data-group-id="7772172053-31">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·955dfaf3f649f4eaa636d052d1668db7f7bb71b3301a12da6b7853ef007ba9be·...·]3-30">}</span><span·class="w">605 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-30">{</span><span·class="ss">rd</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">boolean</span><span·class="p"·data-group-id="0030316413-31">(</span><span·class="p"·data-group-id="0030316413-31">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·b787e5cfa886b54614dbb611d5a3e2e46d46d814f0336a1ef5d68b5426e7794b·...·]3-30">}</span><span·class="w">
606 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-32">{</span><span·class="ss">ra</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">boolean</span><span·class="p"·data-group-id="7772172053-33">(</span><span·class="p"·data-group-id="7772172053-33">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·955dfaf3f649f4eaa636d052d1668db7f7bb71b3301a12da6b7853ef007ba9be·...·]3-32">}</span><span·class="w">606 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-32">{</span><span·class="ss">ra</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">boolean</span><span·class="p"·data-group-id="0030316413-33">(</span><span·class="p"·data-group-id="0030316413-33">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·b787e5cfa886b54614dbb611d5a3e2e46d46d814f0336a1ef5d68b5426e7794b·...·]3-32">}</span><span·class="w">
607 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-34">{</span><span·class="ss">pr</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">boolean</span><span·class="p"·data-group-id="7772172053-35">(</span><span·class="p"·data-group-id="7772172053-35">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·955dfaf3f649f4eaa636d052d1668db7f7bb71b3301a12da6b7853ef007ba9be·...·]3-34">}</span><span·class="w">607 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-34">{</span><span·class="ss">pr</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">boolean</span><span·class="p"·data-group-id="0030316413-35">(</span><span·class="p"·data-group-id="0030316413-35">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·b787e5cfa886b54614dbb611d5a3e2e46d46d814f0336a1ef5d68b5426e7794b·...·]3-34">}</span><span·class="w">
608 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-36">{</span><span·class="ss">rcode</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7772172053-37">(</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</spa[·...·truncated·by·diffoscope;·len:·200,·SHA:·38229619522d42a49baa5170195b4cec3e76944d998d400e228c35a319c5b568·...·]3-19">]</span><span·class="w">608 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-36">{</span><span·class="ss">rcode</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0030316413-37">(</span><span·class="mi">0</span><span·class="p">.</span><span·class="p">.</spa[·...·truncated·by·diffoscope;·len:·200,·SHA:·540f4b899b267341beb27b7cb79abccdb0204e144ccc4acee65636f07442f7c8·...·]3-19">]</span><span·class="w">
609 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">header</span><span·class="p"·data-group-id="7772172053-38">(</span><span·class="n">DnsHeader</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Field</span><span·class="p"·data-group-id="7772172053-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Value</span><span·class="w">609 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">header</span><span·class="p"·data-group-id="0030316413-38">(</span><span·class="n">DnsHeader</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Field</span><span·class="p"·data-group-id="0030316413-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Value</span><span·class="w">
  
610 </span><span·class="nf">query_type</span><span·class="p"·data-group-id="7772172053-39">(</span><span·class="p"·data-group-id="7772172053-39">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">axfr</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·423,·SHA:·da56db7f8692560118602a05898547d471372fd3f53eb417f49a3ee206b03910·...·]3-40">)</span><span·class="w">610 </span><span·class="nf">query_type</span><span·class="p"·data-group-id="0030316413-39">(</span><span·class="p"·data-group-id="0030316413-39">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">axfr</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·423,·SHA:·0ecbb2bcc184db18cc3807b8fc7a8426bf4b7f0ec11c446a68c36cf157b59e5f·...·]3-40">)</span><span·class="w">
  
611 </span><span·class="nf">dns_query</span><span·class="p"·data-group-id="7772172053-41">(</span><span·class="p"·data-group-id="7772172053-41">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">DnsQuery</span><span·class="w">611 </span><span·class="nf">dns_query</span><span·class="p"·data-group-id="0030316413-41">(</span><span·class="p"·data-group-id="0030316413-41">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">DnsQuery</span><span·class="w">
612 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">dns_query</span><span·class="p"·data-group-id="7772172053-42">(</span><span·class="n">DnsQuery</span><span·class="p"·data-group-id="7772172053-42">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">612 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">dns_query</span><span·class="p"·data-group-id="0030316413-42">(</span><span·class="n">DnsQuery</span><span·class="p"·data-group-id="0030316413-42">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
613 ········</span><span·class="p"·data-group-id="7772172053-43">[</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-44">{</span><span·class="ss">domain</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_name</span><span·class="p"·data-group-id="7772172053-45"[·...·truncated·by·diffoscope;·len:·103,·SHA:·3b7b608bed1b54814b7fd836fe9354e7cde9729bc0d13dca7ad96ff2b7f3d3c4·...·]3-44">}</span><span·class="w">613 ········</span><span·class="p"·data-group-id="0030316413-43">[</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-44">{</span><span·class="ss">domain</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_name</span><span·class="p"·data-group-id="0030316413-45"[·...·truncated·by·diffoscope;·len:·103,·SHA:·412095a3618ede003354ec4b181e22db3be5a4f9251973becc631c240e493c78·...·]3-44">}</span><span·class="w">
614 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-46">{</span><span·class="ss">type</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">query_type</span><span·class="p"·data-group-id="7772172053-47">(</span><span·class="p"·data-group-id="7772172053-47">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·25,·SHA:·6c935f1e8b924a8ae21d55094a322baaef43230d09e5080997bb2933d1f2e563·...·]3-46">}</span><span·class="w">614 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-46">{</span><span·class="ss">type</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">query_type</span><span·class="p"·data-group-id="0030316413-47">(</span><span·class="p"·data-group-id="0030316413-47">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·25,·SHA:·b879166e5a158d35111b2beed17ec47f020616419281fc7b31ba021f40445539·...·]3-46">}</span><span·class="w">
615 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-48">{</span><span·class="ss">class</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_class</span><span·class="p"·data-group-id="7772172053-49">(</span><span·class="p"·data-group-id="7772172053-49">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·103,·SHA:·4a4dd840ab6940048eebb433b04baf955f9e48e830f233e6366bf59a1da62b66·...·]3-43">]</span><span·class="w">615 ········</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-48">{</span><span·class="ss">class</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_class</span><span·class="p"·data-group-id="0030316413-49">(</span><span·class="p"·data-group-id="0030316413-49">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·103,·SHA:·0348efde59dd44fe73c734669ed8c2f5ab1b1f581d1ec8df2f4371456a2e815b·...·]3-43">]</span><span·class="w">
616 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">dns_query</span><span·class="p"·data-group-id="7772172053-50">(</span><span·class="n">DnsQuery</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Field</span><span·class="p"·data-group-id="7772172053-50">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Value</span><span·class="w">616 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">dns_query</span><span·class="p"·data-group-id="0030316413-50">(</span><span·class="n">DnsQuery</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Field</span><span·class="p"·data-group-id="0030316413-50">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Value</span><span·class="w">
  
617 </span><span·class="nf">dns_rr</span><span·class="p"·data-group-id="7772172053-51">(</span><span·class="p"·data-group-id="7772172053-51">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">DnsRr</span><span·class="w">617 </span><span·class="nf">dns_rr</span><span·class="p"·data-group-id="0030316413-51">(</span><span·class="p"·data-group-id="0030316413-51">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">DnsRr</span><span·class="w">
618 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">rr</span><span·class="p"·data-group-id="7772172053-52">(</span><span·class="n">DnsRr</span><span·class="p"·data-group-id="7772172053-52">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">DnsRrFields</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">DnsRrOptFields</span><span·class="w">618 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">rr</span><span·class="p"·data-group-id="0030316413-52">(</span><span·class="n">DnsRr</span><span·class="p"·data-group-id="0030316413-52">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">DnsRrFields</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">DnsRrOptFields</span><span·class="w">
619 ····</span><span·class="n">DnsRrFields</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-53">[</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-54">{</span><span·class="ss">domain</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_name</span><span·class="p"·data-group-id="7772172053-55"[·...·truncated·by·diffoscope;·len:·103,·SHA:·aa4ded171046fa474b59efac07856b9fd10295d694a3f466121b7dba81102c53·...·]3-54">}</span><span·class="w">619 ····</span><span·class="n">DnsRrFields</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-53">[</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-54">{</span><span·class="ss">domain</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_name</span><span·class="p"·data-group-id="0030316413-55"[·...·truncated·by·diffoscope;·len:·103,·SHA:·8b44a221471cea60b500c65d0f1e82be4973df49428ffa9585abd17fee2e17a6·...·]3-54">}</span><span·class="w">
620 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-56">{</span><span·class="ss">type</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_rr_type</span><span·class="p"·data-group-id="7772172053-57">(</span><span·class="p"·data-group-id="7772172053-57">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·26,·SHA:·0260344746a80f7bbebcfdfc747c714c66a49a101b2b5b98e2ad6247cc95db00·...·]3-56">}</span><span·class="w">620 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-56">{</span><span·class="ss">type</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_rr_type</span><span·class="p"·data-group-id="0030316413-57">(</span><span·class="p"·data-group-id="0030316413-57">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·26,·SHA:·e045e5eaa1d9f41f1217fe4ba3f29ad0d3840869b15ee33ee98e962579219091·...·]3-56">}</span><span·class="w">
621 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-58">{</span><span·class="ss">class</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_class</span><span·class="p"·data-group-id="7772172053-59">(</span><span·class="p"·data-group-id="7772172053-59">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·25,·SHA:·6c935f1e8b924a8ae21d55094a322baaef43230d09e5080997bb2933d1f2e563·...·]3-58">}</span><span·class="w">621 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-58">{</span><span·class="ss">class</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_class</span><span·class="p"·data-group-id="0030316413-59">(</span><span·class="p"·data-group-id="0030316413-59">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·25,·SHA:·b879166e5a158d35111b2beed17ec47f020616419281fc7b31ba021f40445539·...·]3-58">}</span><span·class="w">
622 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-60">{</span><span·class="ss">ttl</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7772172053-61">(</span><span·class="p"·data-group-id="7772172053-61">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·21,·SHA:·5409638b88fbf2f23572141cf1c99ead9d6832d688d0543cc31aa64df64dca3a·...·]3-60">}</span><span·class="w">622 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-60">{</span><span·class="ss">ttl</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0030316413-61">(</span><span·class="p"·data-group-id="0030316413-61">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·21,·SHA:·f1f99b8e18be2e46c8a3527e189c177c0fd1b8af2d31a9278d2f5822a889ba23·...·]3-60">}</span><span·class="w">
623 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-62">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_data</span><span·class="p"·data-group-id="7772172053-63">(</span><span·class="p"·data-group-id="7772172053-63">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·101,·SHA:·b702d2dee2b94244d1207a79db69fdc8f50325ef4395d3ef63ae14184cab9341·...·]3-53">]</span><span·class="w">623 ··················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-62">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_data</span><span·class="p"·data-group-id="0030316413-63">(</span><span·class="p"·data-group-id="0030316413-63">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·101,·SHA:·867ddb90b6b2684a80041640970672f96fd9d67672d60f6087e85bcb40982d43·...·]3-53">]</span><span·class="w">
624 ····</span><span·class="n">DnsRrOptFields</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-64">[</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-65">{</span><span·class="ss">domain</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_name</span><span·class="p"·data-group-id="7772172053-66"[·...·truncated·by·diffoscope;·len:·103,·SHA:·90ea2a560324ddb0af0b3e1701be41cb5696a9cfed7306309cee446fd2fed1ee·...·]3-65">}</span><span·class="w">624 ····</span><span·class="n">DnsRrOptFields</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-64">[</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-65">{</span><span·class="ss">domain</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_name</span><span·class="p"·data-group-id="0030316413-66"[·...·truncated·by·diffoscope;·len:·103,·SHA:·607c496c035d64dbfd1309a5b1d0b5531aca7c5f8f1af382900142a9f9cc9b1c·...·]3-65">}</span><span·class="w">
625 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-67">{</span><span·class="ss">type</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">opt</span><span·class="p"·data-group-id="7772172053-67">}</span><span·class="w">625 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-67">{</span><span·class="ss">type</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">opt</span><span·class="p"·data-group-id="0030316413-67">}</span><span·class="w">
626 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-68">{</span><span·class="ss">udp_payload_size</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7772172053-69">(</span><span·class="p"·data-group-id="7772172053-69">)</span><span·[·...·truncated·by·diffoscope;·len:·34,·SHA:·b53618d44bc7ffdac5298f751c3aca92d73dcb8b35a1730ace9b6e794a933a91·...·]3-68">}</span><span·class="w">626 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-68">{</span><span·class="ss">udp_payload_size</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0030316413-69">(</span><span·class="p"·data-group-id="0030316413-69">)</span><span·[·...·truncated·by·diffoscope;·len:·34,·SHA:·7fd407ce4fdedac6fe356abf4ebcec5bc931f7369fd76e1daa7118dab1ea37bf·...·]3-68">}</span><span·class="w">
627 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-70">{</span><span·class="ss">ext_rcode</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7772172053-71">(</span><span·class="p"·data-group-id="7772172053-71">)</span><span·class="[·...·truncated·by·diffoscope;·len:·27,·SHA:·c7a98e6f7fda63bda8508dbd20b037795650b3a41ce903428fa60b7c40322a56·...·]3-70">}</span><span·class="w">627 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-70">{</span><span·class="ss">ext_rcode</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0030316413-71">(</span><span·class="p"·data-group-id="0030316413-71">)</span><span·class="[·...·truncated·by·diffoscope;·len:·27,·SHA:·d5768461af3100f58f01641c31930ec3bffd0002c2ed80779692c2014f22ea35·...·]3-70">}</span><span·class="w">
628 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-72">{</span><span·class="ss">version</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7772172053-73">(</span><span·class="p"·data-group-id="7772172053-73">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·25,·SHA:·6c935f1e8b924a8ae21d55094a322baaef43230d09e5080997bb2933d1f2e563·...·]3-72">}</span><span·class="w">628 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-72">{</span><span·class="ss">version</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0030316413-73">(</span><span·class="p"·data-group-id="0030316413-73">)</span><span·class="p"[·...·truncated·by·diffoscope;·len:·25,·SHA:·b879166e5a158d35111b2beed17ec47f020616419281fc7b31ba021f40445539·...·]3-72">}</span><span·class="w">
629 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-74">{</span><span·class="ss">z</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7772172053-75">(</span><span·class="p"·data-group-id="7772172053-75">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·19,·SHA:·54523521fade740e92c7c8bcdfa42cb93f9ba9b3579242ae81f8b1e3c3e169a4·...·]3-74">}</span><span·class="w">629 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-74">{</span><span·class="ss">z</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0030316413-75">(</span><span·class="p"·data-group-id="0030316413-75">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·19,·SHA:·31eaa93d27819fceab1216e9d638825b3120f8dca30b2ff7e184aad9a24edbf6·...·]3-74">}</span><span·class="w">
630 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="7772172053-76">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_data</span><span·class="p"·data-group-id="7772172053-77">(</span><span·class="p"·data-group-id="7772172053-77">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·101,·SHA:·2982077f6b7dd980884219c7c4166aee2f2855fd60b7f23d88e0d10b666154cd·...·]3-64">]</span><span·class="w">630 ·····················</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="0030316413-76">{</span><span·class="ss">data</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">dns_data</span><span·class="p"·data-group-id="0030316413-77">(</span><span·class="p"·data-group-id="0030316413-77">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·101,·SHA:·260c744597fca8775cc4ddec0eadfb5b5f654f06cb54e3b50b22852937f09817·...·]3-64">]</span><span·class="w">
631 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">rr</span><span·class="p"·data-group-id="7772172053-78">(</span><span·class="n">DnsRr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Field</span><span·class="p"·data-group-id="7772172053-78">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·472,·SHA:·27a12136879ae8ab1be237ad1487de6a3714a20d6fadf12009fe785af29d2d32·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">msg</span><span·class="p">;</span><span·class="w">631 ····</span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">rr</span><span·class="p"·data-group-id="0030316413-78">(</span><span·class="n">DnsRr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Field</span><span·class="p"·data-group-id="0030316413-78">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·472,·SHA:·55a745a3675c1504e7739bbe2e5beb8ab82e8f5f5084c27a10a0b4efbfb26144·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">msg</span><span·class="p">;</span><span·class="w">
632 </span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">record_type</span><span·class="p"·data-group-id="3566433751-3">(</span><span·class="nf">dns_header</span><span·class="p"·data-group-id="3566433751-4">(</span><span·class="p"·data-group-id="3566433751-4">)</span><span·class="p"·data-group-id="3566433751-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">header</span><span·class="p">;</span><span·class="w">632 </span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">record_type</span><span·class="p"·data-group-id="2568143927-3">(</span><span·class="nf">dns_header</span><span·class="p"·data-group-id="2568143927-4">(</span><span·class="p"·data-group-id="2568143927-4">)</span><span·class="p"·data-group-id="2568143927-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">header</span><span·class="p">;</span><span·class="w">
633 </span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">record_type</span><span·class="p"·data-group-id="3566433751-5">(</span><span·class="nf">dns_query</span><span·class="p"·data-group-id="3566433751-6">(</span><span·class="p"·data-group-id="3566433751-6">)</span><span·class="p"·data-group-id="3566433751-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">dns_query</span><span·class="p">;</span><span·class="w">633 </span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">record_type</span><span·class="p"·data-group-id="2568143927-5">(</span><span·class="nf">dns_query</span><span·class="p"·data-group-id="2568143927-6">(</span><span·class="p"·data-group-id="2568143927-6">)</span><span·class="p"·data-group-id="2568143927-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">dns_query</span><span·class="p">;</span><span·class="w">
634 </span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">record_type</span><span·class="p"·data-group-id="3566433751-7">(</span><span·class="nf">dns_rr</span><span·class="p"·data-group-id="3566433751-8">(</span><span·class="p"·data-group-id="3566433751-8">)</span><span·class="p"·data-group-id="3566433751-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">rr</span><span·class="p">;</span><span·class="w">634 </span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">record_type</span><span·class="p"·data-group-id="2568143927-7">(</span><span·class="nf">dns_rr</span><span·class="p"·data-group-id="2568143927-8">(</span><span·class="p"·data-group-id="2568143927-8">)</span><span·class="p"·data-group-id="2568143927-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">rr</span><span·class="p">;</span><span·class="w">
635 </span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">record_type</span><span·class="p"·data-group-id="3566433751-9">(</span><span·class="p">_</span><span·class="p"·data-group-id="3566433751-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">.</span></code></pre><p>So,·<code·class="inline">inet_dns:(inet_dns:record_type(X))(X)</code>·converts·any·of·these·data635 </span><span·class="nc">inet_dns</span><span·class="p">:</span><span·class="nf">record_type</span><span·class="p"·data-group-id="2568143927-9">(</span><span·class="p">_</span><span·class="p"·data-group-id="2568143927-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">.</span></code></pre><p>So,·<code·class="inline">inet_dns:(inet_dns:record_type(X))(X)</code>·converts·any·of·these·data
636 structures·into·a·<code·class="inline">{Field,Value}</code>·list.</p>636 structures·into·a·<code·class="inline">{Field,Value}</code>·list.</p>
637 ··</section>637 ··</section>
638 </section>638 </section>
639 <section·class="detail"·id="t:dns_name/0">639 <section·class="detail"·id="t:dns_name/0">
  
640 ··<div·class="detail-header">640 ··<div·class="detail-header">
641 ····<a·href="#t:dns_name/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">641 ····<a·href="#t:dns_name/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">
Offset 1456, 15 lines modifiedOffset 1456, 15 lines modified
1456 ······<p·class="built-using">1456 ······<p·class="built-using">
1457 ········Built·using1457 ········Built·using
1458 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1458 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1459 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1459 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1460 ······</p>1460 ······</p>
1461 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1461 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1462 ····</footer>1462 ····</footer>
1463 ··</div>1463 ··</div>
1464 </main>1464 </main>
1465 </div>1465 </div>
1466 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1466 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1467 ··<script>1467 ··<script>
1468 ··let·initialized·=·false;1468 ··let·initialized·=·false;
692 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/introduction_chapter.html
    
Offset 187, 15 lines modifiedOffset 187, 15 lines modified
187 ······<p·class="built-using">187 ······<p·class="built-using">
188 ········Built·using188 ········Built·using
189 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the189 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
190 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>190 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
191 ······</p>191 ······</p>
192 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>192 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
193 ····</footer>193 ····</footer>
194 ··</div>194 ··</div>
195 </main>195 </main>
196 </div>196 </div>
197 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>197 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
198 ··<script>198 ··<script>
199 ··let·initialized·=·false;199 ··let·initialized·=·false;
705 B
html2text {}
Max HTML report size reached
1.33 MB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/kernel.epub
8.32 KB
zipinfo {}
Max HTML report size reached
317 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
40.8 KB
OEBPS/trace.xhtml
Max HTML report size reached
113 KB
OEBPS/socket_usage.xhtml
Max HTML report size reached
32.1 KB
OEBPS/socket.xhtml
Max HTML report size reached
50.0 KB
OEBPS/seq_trace.xhtml
Max HTML report size reached
5.01 KB
OEBPS/rpc.xhtml
Max HTML report size reached
3.17 KB
OEBPS/pg.xhtml
Max HTML report size reached
28.0 KB
OEBPS/os.xhtml
Max HTML report size reached
17.8 KB
OEBPS/notes.xhtml
Max HTML report size reached
26.0 KB
OEBPS/net_kernel.xhtml
Max HTML report size reached
3.0 KB
OEBPS/net_adm.xhtml
Max HTML report size reached
4.81 KB
OEBPS/net.xhtml
Max HTML report size reached
4.42 KB
OEBPS/logger_std_h.xhtml
Max HTML report size reached
15.5 KB
OEBPS/logger_filters.xhtml
Max HTML report size reached
4.69 KB
OEBPS/logger_disk_log_h.xhtml
Max HTML report size reached
93.9 KB
OEBPS/logger_cookbook.xhtml
Max HTML report size reached
104 KB
OEBPS/logger_chapter.xhtml
Max HTML report size reached
52.9 KB
OEBPS/logger.xhtml
Max HTML report size reached
49.5 KB
OEBPS/inet_res.xhtml
Max HTML report size reached
34.9 KB
OEBPS/inet.xhtml
Max HTML report size reached
2.85 KB
OEBPS/global_group.xhtml
Max HTML report size reached
7.33 KB
OEBPS/gen_udp.xhtml
Max HTML report size reached
59.5 KB
OEBPS/gen_tcp.xhtml
Max HTML report size reached
169 KB
OEBPS/gen_sctp.xhtml
Max HTML report size reached
30.2 KB
OEBPS/file.xhtml
Max HTML report size reached
17.8 KB
OEBPS/erpc.xhtml
Max HTML report size reached
2.54 KB
OEBPS/erl_epmd.xhtml
Max HTML report size reached
12.6 KB
OEBPS/eep48_chapter.xhtml
Max HTML report size reached
1.23 KB
OEBPS/content.opf
1.2 KB
OEBPS/content.opf
Max HTML report size reached
5.03 KB
OEBPS/config.xhtml
Max HTML report size reached
21.0 KB
OEBPS/code.xhtml
Max HTML report size reached
2.68 KB
OEBPS/application.xhtml
Max HTML report size reached
26.1 KB
OEBPS/app.xhtml
Max HTML report size reached
1.63 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/kernel_app.html
    
Offset 439, 15 lines modifiedOffset 439, 15 lines modified
439 ······<p·class="built-using">439 ······<p·class="built-using">
440 ········Built·using440 ········Built·using
441 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the441 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
442 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>442 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
443 ······</p>443 ······</p>
444 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>444 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
445 ····</footer>445 ····</footer>
446 ··</div>446 ··</div>
447 </main>447 </main>
448 </div>448 </div>
449 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>449 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
450 ··<script>450 ··<script>
451 ··let·initialized·=·false;451 ··let·initialized·=·false;
827 B
html2text {}
Max HTML report size reached
54.4 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/logger.html
    
Offset 126, 34 lines modifiedOffset 126, 34 lines modified
  
126 ··</h1>126 ··</h1>
  
  
127 ····<section·id="moduledoc">127 ····<section·id="moduledoc">
128 <p>API·module·for·Logger,·the·standard·logging·facility·in·Erlang/OTP.</p><p>This·module·implements·the·main·API·for·logging·in·Erlang/OTP.·To·create·a·log128 <p>API·module·for·Logger,·the·standard·logging·facility·in·Erlang/OTP.</p><p>This·module·implements·the·main·API·for·logging·in·Erlang/OTP.·To·create·a·log
129 event,·use·the·<a·href="#logging-api-functions">API·functions</a>·or·the·log129 event,·use·the·<a·href="#logging-api-functions">API·functions</a>·or·the·log
130 <a·href="#module-macros">macros</a>,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">LOG_ERROR</span><span·class="p"·data-group-id="8802827733-1">(</span><span·class="s">&quot;error·happened·because:·</span><span·class="si">~p</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8802827733-2">[</span><span·class="n">Reason</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·2c1127dbe161a79415e0b41b5ec74efb0d112c3adcab35d3f9c280cad9f9b6c4·...·]-1">)</span><span·class="p">.</span><span·class="w">···</span><span·class="c1">%·With·macro</span><span·class="w">130 <a·href="#module-macros">macros</a>,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">LOG_ERROR</span><span·class="p"·data-group-id="7724673201-1">(</span><span·class="s">&quot;error·happened·because:·</span><span·class="si">~p</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7724673201-2">[</span><span·class="n">Reason</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·256b9981b481b141ce60de007b140771b33a047213c4b4abd4af3eab1bc84642·...·]-1">)</span><span·class="p">.</span><span·class="w">···</span><span·class="c1">%·With·macro</span><span·class="w">
131 </span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="8802827733-3">(</span><span·class="s">&quot;error·happened·because:·</span><span·class="si">~p</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8802827733-4">[</span><span·class="n">Reason</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·f6b2d2af9b852d1ecbd0b791b93af4e2e8700a551d1971fb9369815c9545acea·...·]-3">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·Without·macro</span></code></pre><p>To·configure·the·Logger·backend,·use131 </span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="7724673201-3">(</span><span·class="s">&quot;error·happened·because:·</span><span·class="si">~p</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7724673201-4">[</span><span·class="n">Reason</s[·...·truncated·by·diffoscope;·len:·98,·SHA:·1b197ae2895199d6a80c6586fe0d2d2d789f5f4a260bb9818523d446b3658407·...·]-3">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·Without·macro</span></code></pre><p>To·configure·the·Logger·backend,·use
132 <a·href="kernel_app.html#logger">Kernel·configuration·parameters</a>·or132 <a·href="kernel_app.html#logger">Kernel·configuration·parameters</a>·or
133 <a·href="#configuration-api-functions">configuration·functions</a>·in·the·Logger·API.</p><p>By·default,·the·Kernel·application·installs·one·log·handler·at·system·start.133 <a·href="#configuration-api-functions">configuration·functions</a>·in·the·Logger·API.</p><p>By·default,·the·Kernel·application·installs·one·log·handler·at·system·start.
134 This·handler·is·named·<code·class="inline">default</code>.·It·receives·and·processes·standard·log·events134 This·handler·is·named·<code·class="inline">default</code>.·It·receives·and·processes·standard·log·events
135 produced·by·the·Erlang·runtime·system,·standard·behaviours·and·different135 produced·by·the·Erlang·runtime·system,·standard·behaviours·and·different
136 Erlang/OTP·applications.·The·log·events·are·by·default·printed·to·the·terminal.</p><p>If·you·want·your·systems·logs·to·be·printed·to·a·file·instead,·you·must136 Erlang/OTP·applications.·The·log·events·are·by·default·printed·to·the·terminal.</p><p>If·you·want·your·systems·logs·to·be·printed·to·a·file·instead,·you·must
137 configure·the·default·handler·to·do·so.·The·simplest·way·is·to·include·the137 configure·the·default·handler·to·do·so.·The·simplest·way·is·to·include·the
138 following·in·your·<a·href="config.html"><code·class="inline">sys.config</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7493989410-1">[</span><span·class="p"·data-group-id="7493989410-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">138 following·in·your·<a·href="config.html"><code·class="inline">sys.config</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4251015860-1">[</span><span·class="p"·data-group-id="4251015860-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
139 ··</span><span·class="p"·data-group-id="7493989410-3">[</span><span·class="p"·data-group-id="7493989410-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">139 ··</span><span·class="p"·data-group-id="4251015860-3">[</span><span·class="p"·data-group-id="4251015860-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
140 ····</span><span·class="p"·data-group-id="7493989410-5">[</span><span·class="p"·data-group-id="7493989410-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">140 ····</span><span·class="p"·data-group-id="4251015860-5">[</span><span·class="p"·data-group-id="4251015860-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">
141 ······</span><span·class="p"·data-group-id="7493989410-7">#{</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7493989410-8">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;[·...·truncated·by·diffoscope;·len:·493,·SHA:·700a5b6309af6966687aa3088c1bd4886e54185104f7c28744fffeea00f96087·...·]0-1">]</span><span·class="p">.</span></code></pre><p>For·more·information·about:</p><ul><li>the·Logger·facility·in·general,·see·the·<a·href="logger_chapter.html">User's·Guide</a>.</li><li>how·to·configure·Logger,·see·the141 ······</span><span·class="p"·data-group-id="4251015860-7">#{</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4251015860-8">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;[·...·truncated·by·diffoscope;·len:·493,·SHA:·73d96299a402f815c6739ddad09cbf90967820a16279de4be8501a0d367ef71b·...·]0-1">]</span><span·class="p">.</span></code></pre><p>For·more·information·about:</p><ul><li>the·Logger·facility·in·general,·see·the·<a·href="logger_chapter.html">User's·Guide</a>.</li><li>how·to·configure·Logger,·see·the
142 <a·href="logger_chapter.html#configuration">Configuration</a>·section·in·the·User's·Guide.</li><li>the·built-in·handlers,·see·<a·href="logger_std_h.html"><code·class="inline">logger_std_h</code></a>·and·<a·href="logger_disk_log_h.html"><code·class="inline">logger_disk_log_h</code></a>.</li><li>the·built-in·formatter,·see·<a·href="logger_formatter.html"><code·class="inline">logger_formatter</code></a>.</li><li>built-in·filters,·see·<a·href="logger_filters.html"><code·class="inline">logger_filters</code></a>.</li></ul><h2·id="module-macros"·class="section-heading">142 <a·href="logger_chapter.html#configuration">Configuration</a>·section·in·the·User's·Guide.</li><li>the·built-in·handlers,·see·<a·href="logger_std_h.html"><code·class="inline">logger_std_h</code></a>·and·<a·href="logger_disk_log_h.html"><code·class="inline">logger_disk_log_h</code></a>.</li><li>the·built-in·formatter,·see·<a·href="logger_formatter.html"><code·class="inline">logger_formatter</code></a>.</li><li>built-in·filters,·see·<a·href="logger_filters.html"><code·class="inline">logger_filters</code></a>.</li></ul><h2·id="module-macros"·class="section-heading">
143 ··<a·href="#module-macros"·class="hover-link">143 ··<a·href="#module-macros"·class="hover-link">
144 ····<i·class="ri-link-m"·aria-hidden="true"></i>144 ····<i·class="ri-link-m"·aria-hidden="true"></i>
145 ··</a>145 ··</a>
146 ··<span·class="text">Macros</span>146 ··<span·class="text">Macros</span>
147 </h2>147 </h2>
148 <p>The·following·macros·are·defined·in·<code·class="inline">logger.hrl</code>,·which·is·included·in·a·module148 <p>The·following·macros·are·defined·in·<code·class="inline">logger.hrl</code>,·which·is·included·in·a·module
149 with·the·directive</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="0218889238-1">(</span><span·class="s">&quot;kernel/include/logger.hrl&quot;</span><span·class="p"·data-group-id="0218889238-1">)</span><span·class="p">.</span></code></pre><ul><li><code·class="inline">?LOG_EMERGENCY(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_EMERGENCY(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_ALERT(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_ALERT(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_CRITICAL(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_CRITICAL(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_ERROR(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_ERROR(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_WARNING(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_WARNING(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_NOTICE(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_NOTICE(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_INFO(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_INFO(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_DEBUG(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_DEBUG(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG(Level,StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG(Level,FunOrFormat,Args[,Metadata])</code></li></ul><p>All·macros·expand·to·a·call·to·Logger,·where·<code·class="inline">Level</code>·is·taken·from·the·macro149 with·the·directive</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="1085015883-1">(</span><span·class="s">&quot;kernel/include/logger.hrl&quot;</span><span·class="p"·data-group-id="1085015883-1">)</span><span·class="p">.</span></code></pre><ul><li><code·class="inline">?LOG_EMERGENCY(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_EMERGENCY(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_ALERT(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_ALERT(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_CRITICAL(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_CRITICAL(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_ERROR(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_ERROR(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_WARNING(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_WARNING(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_NOTICE(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_NOTICE(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_INFO(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_INFO(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG_DEBUG(StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG_DEBUG(FunOrFormat,Args[,Metadata])</code></li><li><code·class="inline">?LOG(Level,StringOrReport[,Metadata])</code></li><li><code·class="inline">?LOG(Level,FunOrFormat,Args[,Metadata])</code></li></ul><p>All·macros·expand·to·a·call·to·Logger,·where·<code·class="inline">Level</code>·is·taken·from·the·macro
150 name,·or·from·the·first·argument·in·the·case·of·the·<code·class="inline">?LOG</code>·macro.·Location·data150 name,·or·from·the·first·argument·in·the·case·of·the·<code·class="inline">?LOG</code>·macro.·Location·data
151 is·added·to·the·metadata·as·described·under·the·<a·href="#t:metadata/0"><code·class="inline">metadata/0</code></a>·type·definition.</p><p>The·call·is·wrapped·in·a·case·statement·and·will·be·evaluated·only·if·<code·class="inline">Level</code>·is151 is·added·to·the·metadata·as·described·under·the·<a·href="#t:metadata/0"><code·class="inline">metadata/0</code></a>·type·definition.</p><p>The·call·is·wrapped·in·a·case·statement·and·will·be·evaluated·only·if·<code·class="inline">Level</code>·is
152 equal·to·or·below·the·configured·log·level.</p><h2·id="module-see-also"·class="section-heading">152 equal·to·or·below·the·configured·log·level.</p><h2·id="module-see-also"·class="section-heading">
153 ··<a·href="#module-see-also"·class="hover-link">153 ··<a·href="#module-see-also"·class="hover-link">
154 ····<i·class="ri-link-m"·aria-hidden="true"></i>154 ····<i·class="ri-link-m"·aria-hidden="true"></i>
155 ··</a>155 ··</a>
156 ··<span·class="text">See·Also</span>156 ··<span·class="text">See·Also</span>
Offset 1804, 34 lines modifiedOffset 1804, 34 lines modified
1804 ······</div>1804 ······</div>
  
1805 <p>Reads·the·application·configuration·parameter·<code·class="inline">logger</code>·and·calls1805 <p>Reads·the·application·configuration·parameter·<code·class="inline">logger</code>·and·calls
1806 <a·href="#add_handlers/1"><code·class="inline">add_handlers/1</code></a>·with·its·contents.</p><p>This·function·should·be·used·by·custom·Logger·handlers·to·make·configuration1806 <a·href="#add_handlers/1"><code·class="inline">add_handlers/1</code></a>·with·its·contents.</p><p>This·function·should·be·used·by·custom·Logger·handlers·to·make·configuration
1807 consistent·no·matter·which·handler·the·system·uses.·Normal·usage·is·to·add·a1807 consistent·no·matter·which·handler·the·system·uses.·Normal·usage·is·to·add·a
1808 call·to·<a·href="#add_handlers/1"><code·class="inline">logger:add_handlers/1</code></a>·just·after·the·processes·that·the·handler·needs1808 call·to·<a·href="#add_handlers/1"><code·class="inline">logger:add_handlers/1</code></a>·just·after·the·processes·that·the·handler·needs
1809 are·started,·and·pass·the·application's·<code·class="inline">logger</code>·configuration·as·the·argument.1809 are·started,·and·pass·the·application's·<code·class="inline">logger</code>·configuration·as·the·argument.
1810 For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="2064433431-1">(</span><span·class="ss">application</span><span·class="p"·data-group-id="2064433431-1">)</span><span·class="p">.</span><span·class="w">1810 For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="8144290639-1">(</span><span·class="ss">application</span><span·class="p"·data-group-id="8144290639-1">)</span><span·class="p">.</span><span·class="w">
1811 </span><span·class="nf">start</span><span·class="p"·data-group-id="2064433431-2">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2064433431-3">[</span><span·class="p"·data-group-id="2064433431-3">]</span><span·class="p"·data-group-id="2064433431-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1811 </span><span·class="nf">start</span><span·class="p"·data-group-id="8144290639-2">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8144290639-3">[</span><span·class="p"·data-group-id="8144290639-3">]</span><span·class="p"·data-group-id="8144290639-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1812 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">supervisor</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="2064433431-4">(</span><span·class="p"·data-group-id="2064433431-5">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_sup</span><span·class="p"·data-group-id="2064433431-5">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·252,·SHA:·90e331845487817e07e1e1128477178c2f5626c8de6e0453ef44f04c5dd2a266·...·]-4">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">1812 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">supervisor</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="8144290639-4">(</span><span·class="p"·data-group-id="8144290639-5">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_sup</span><span·class="p"·data-group-id="8144290639-5">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·252,·SHA:·462c481191f98525171fa62665265ab3818fc17788c684eef5a3276a4fc11fc9·...·]-4">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
1813 ········</span><span·class="p"·data-group-id="2064433431-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="2064433431-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1813 ········</span><span·class="p"·data-group-id="8144290639-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="8144290639-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1814 ············</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handlers</span><span·class="p"·data-group-id="2064433431-8">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="2064433431-8">)</span><span·class="p">,</span><span·class="w">1814 ············</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handlers</span><span·class="p"·data-group-id="8144290639-8">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="8144290639-8">)</span><span·class="p">,</span><span·class="w">
1815 ············</span><span·class="p"·data-group-id="2064433431-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2064433431-10">[</span><span·class="p"·data-group-id="2[·...·truncated·by·diffoscope;·len:·63,·SHA:·eceb6d36a89812d812acdae473ef1f5d01b4ea5978a7f85616a4fd174a76111f·...·]-9">}</span><span·class="p">;</span><span·class="w">1815 ············</span><span·class="p"·data-group-id="8144290639-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8144290639-10">[</span><span·class="p"·data-group-id="8[·...·truncated·by·diffoscope;·len:·63,·SHA:·9e9ab5d78855469459acc34f9044400e870d6d0f2b770974dfc3a1346c66f637·...·]-9">}</span><span·class="p">;</span><span·class="w">
1816 ········</span><span·class="n">Error</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Error</span><span·class="w">1816 ········</span><span·class="n">Error</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Error</span><span·class="w">
1817 ·····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>This·reads·the·<code·class="inline">logger</code>·configuration·parameter·from·the·<code·class="inline">my_app</code>·application1817 ·····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>This·reads·the·<code·class="inline">logger</code>·configuration·parameter·from·the·<code·class="inline">my_app</code>·application
1818 and·starts·the·configured·handlers.·The·contents·of·the·configuration·use·the1818 and·starts·the·configured·handlers.·The·contents·of·the·configuration·use·the
1819 same·rules·as·the1819 same·rules·as·the
1820 <a·href="logger_chapter.html#handler-configuration">logger·handler·configuration</a>.</p><p>If·the·handler·is·meant·to·replace·the·default·handler,·the·Kernel's·default1820 <a·href="logger_chapter.html#handler-configuration">logger·handler·configuration</a>.</p><p>If·the·handler·is·meant·to·replace·the·default·handler,·the·Kernel's·default
1821 handler·have·to·be·disabled·before·the·new·handler·is·added.·A·<code·class="inline">sys.config</code>·file1821 handler·have·to·be·disabled·before·the·new·handler·is·added.·A·<code·class="inline">sys.config</code>·file
1822 that·disables·the·Kernel·handler·and·adds·a·custom·handler·could·look·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2378361900-1">[</span><span·class="p"·data-group-id="2378361900-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">1822 that·disables·the·Kernel·handler·and·adds·a·custom·handler·could·look·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8493869576-1">[</span><span·class="p"·data-group-id="8493869576-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
1823 ··</span><span·class="p"·data-group-id="2378361900-3">[</span><span·class="p"·data-group-id="2378361900-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">1823 ··</span><span·class="p"·data-group-id="8493869576-3">[</span><span·class="p"·data-group-id="8493869576-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
1824 ····</span><span·class="c1">%%·Disable·the·default·Kernel·handler</span><span·class="w">1824 ····</span><span·class="c1">%%·Disable·the·default·Kernel·handler</span><span·class="w">
1825 ····</span><span·class="p"·data-group-id="2378361900-5">[</span><span·class="p"·data-group-id="2378361900-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">undefi[·...·truncated·by·diffoscope;·len:·263,·SHA:·a8ed8eb383f63313c6240eda5620db75293ddce7b819f910242e4f04dbf409e0·...·]-2">}</span><span·class="p">,</span><span·class="w">1825 ····</span><span·class="p"·data-group-id="8493869576-5">[</span><span·class="p"·data-group-id="8493869576-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">undefi[·...·truncated·by·diffoscope;·len:·263,·SHA:·0553cba96e9062d24842a64184df34923b9113b60164c5db5a2f9bea58aa795c·...·]-2">}</span><span·class="p">,</span><span·class="w">
1826 ·</span><span·class="p"·data-group-id="2378361900-7">{</span><span·class="ss">my_app</span><span·class="p">,</span><span·class="w">1826 ·</span><span·class="p"·data-group-id="8493869576-7">{</span><span·class="ss">my_app</span><span·class="p">,</span><span·class="w">
1827 ··</span><span·class="p"·data-group-id="2378361900-8">[</span><span·class="p"·data-group-id="2378361900-9">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">1827 ··</span><span·class="p"·data-group-id="8493869576-8">[</span><span·class="p"·data-group-id="8493869576-9">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
1828 ····</span><span·class="c1">%%·Enable·this·handler·as·the·default</span><span·class="w">1828 ····</span><span·class="c1">%%·Enable·this·handler·as·the·default</span><span·class="w">
1829 ····</span><span·class="p"·data-group-id="2378361900-10">[</span><span·class="p"·data-group-id="2378361900-11">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_h[·...·truncated·by·diffoscope;·len:·478,·SHA:·b1b3b749e0f5ee57191c753be686667c6ab9d8f6e66b338e1175867fec759ea3·...·]-1">]</span><span·class="p">.</span></code></pre>1829 ····</span><span·class="p"·data-group-id="8493869576-10">[</span><span·class="p"·data-group-id="8493869576-11">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_h[·...·truncated·by·diffoscope;·len:·478,·SHA:·809da3fb7eff1a00f63359461f9b9cd7508857ef651ff06afcc09081183930c6·...·]-1">]</span><span·class="p">.</span></code></pre>
1830 ··</section>1830 ··</section>
1831 </section>1831 </section>
1832 <section·class="detail"·id="add_primary_filter/2">1832 <section·class="detail"·id="add_primary_filter/2">
  
1833 ··<div·class="detail-header">1833 ··<div·class="detail-header">
1834 ····<a·href="#add_primary_filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1834 ····<a·href="#add_primary_filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1835 ······<i·class="ri-link-m"·aria-hidden="true"></i>1835 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2722, 16 lines modifiedOffset 2722, 16 lines modified
2722 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_formatter_config(HandlerId,·FormatterConfig)·->·ok·|·{error,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}2722 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_formatter_config(HandlerId,·FormatterConfig)·->·ok·|·{error,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}
2723 ·································when2723 ·································when
2724 ·····································HandlerId·::·<a·href="logger_handler.html#t:id/0">logger_handler:id</a>(),2724 ·····································HandlerId·::·<a·href="logger_handler.html#t:id/0">logger_handler:id</a>(),
2725 ·····································FormatterConfig·::·<a·href="#t:formatter_config/0">formatter_config</a>().</pre>2725 ·····································FormatterConfig·::·<a·href="#t:formatter_config/0">formatter_config</a>().</pre>
  
2726 ······</div>2726 ······</div>
  
2727 <p>Update·the·formatter·configuration·for·the·specified·handler.</p><p>The·new·configuration·is·merged·with·the·existing·formatter·configuration.</p><p>To·overwrite·the·existing·configuration·without·any·merge,·use</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">set_handler_config</span><span·class="p"·data-group-id="5365405977-1">(</span><span·class="n">HandlerId</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">formatter</span><span·class="p">,</span><span·class="w">2727 <p>Update·the·formatter·configuration·for·the·specified·handler.</p><p>The·new·configuration·is·merged·with·the·existing·formatter·configuration.</p><p>To·overwrite·the·existing·configuration·without·any·merge,·use</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">set_handler_config</span><span·class="p"·data-group-id="3979968138-1">(</span><span·class="n">HandlerId</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">formatter</span><span·class="p">,</span><span·class="w">
2728 »       ······</span><span·class="p"·data-group-id="5365405977-2">{</span><span·class="n">FormatterModule</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FormatterConfig</span><span·class="p"·data-group-id="5365405977-2">}</span><span·class="p"·data-group-id="5365405977-1">)</span><span·class="p">.</span></code></pre>2728 »       ······</span><span·class="p"·data-group-id="3979968138-2">{</span><span·class="n">FormatterModule</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FormatterConfig</span><span·class="p"·data-group-id="3979968138-2">}</span><span·class="p"·data-group-id="3979968138-1">)</span><span·class="p">.</span></code></pre>
2729 ··</section>2729 ··</section>
2730 </section>2730 </section>
2731 <section·class="detail"·id="update_formatter_config/3">2731 <section·class="detail"·id="update_formatter_config/3">
  
2732 ··<div·class="detail-header">2732 ··<div·class="detail-header">
2733 ····<a·href="#update_formatter_config/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2733 ····<a·href="#update_formatter_config/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
2734 ······<i·class="ri-link-m"·aria-hidden="true"></i>2734 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2782, 16 lines modifiedOffset 2782, 16 lines modified
  
2782 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_handler_config(HandlerId,·Config)·->·ok·|·{error,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}2782 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_handler_config(HandlerId,·Config)·->·ok·|·{error,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}
2783 ·······························when·HandlerId·::·<a·href="logger_handler.html#t:id/0">logger_handler:id</a>(),·Config·::·<a·href="logger_handler.html#t:config/0">logger_handler:config</a>().</pre>2783 ·······························when·HandlerId·::·<a·href="logger_handler.html#t:id/0">logger_handler:id</a>(),·Config·::·<a·href="logger_handler.html#t:config/0">logger_handler:config</a>().</pre>
  
2784 ······</div>2784 ······</div>
  
2785 <p>Update·configuration·data·for·the·specified·handler.·This·function·behaves·as·if2785 <p>Update·configuration·data·for·the·specified·handler.·This·function·behaves·as·if
2786 it·was·implemented·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4872432435-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4872432435-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Old</span><span·class="p"·data-group-id="4872432435-2">}</span><span·class="p"·data-group-id="4872432435-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">get_handler_config</span><span·class="p"·data-group-id="4872432435-3">(</span><span·class="n">HandlerId</span><span·class="p"·data-group-id="4872432435-3">)</span><span·class="p">,</span><span·class="w"> 
2787 </span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_handler_config</span><span·class="p"·data-group-id="4872432435-4">(</span><span·class="n">HandlerId</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">map[·...·truncated·by·diffoscope;·len:·425,·SHA:·82cf776fbc929253e517ebcc1005464884883db8903708c172c63bf27657b69f·...·]2786 it·was·implemented·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5640295398-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5640295398-2">{<[·...·truncated·by·diffoscope;·len:·556,·SHA:·e9a2a36e2fda16cf6081c770da4c2d80764061333977ccc6d75670d9041a7efd·...·]
 2787 </span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_handler_config</span><span·class="p"·data-group-id="5640295398-4">(</span><span·class="n">HandlerId</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">merge</span><span·class="p"·data-group-id="5640295398-5">(</span><span·class="n">Old</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="5640295398-5">)</span><span·class="p"·data-group-id="5640295398-4">)</span><span·class="p">.</span></code></pre><p>To·overwrite·the·existing·configuration·without·any·merge,·use
2788 <a·href="#set_handler_config/2"><code·class="inline">set_handler_config/2</code>·</a>.</p>2788 <a·href="#set_handler_config/2"><code·class="inline">set_handler_config/2</code>·</a>.</p>
2789 ··</section>2789 ··</section>
2790 </section>2790 </section>
2791 <section·class="detail"·id="update_handler_config/3">2791 <section·class="detail"·id="update_handler_config/3">
  
2792 ··<div·class="detail-header">2792 ··<div·class="detail-header">
2793 ····<a·href="#update_handler_config/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2793 ····<a·href="#update_handler_config/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2872, 16 lines modifiedOffset 2872, 16 lines modified
2872 ······<div·class="specs">2872 ······<div·class="specs">
  
2873 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_primary_config(Config)·->·ok·|·{error,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}·when·Config·::·<a·href="#t:primary_config/0">primary_config</a>().</pre>2873 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_primary_config(Config)·->·ok·|·{error,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}·when·Config·::·<a·href="#t:primary_config/0">primary_config</a>().</pre>
  
2874 ······</div>2874 ······</div>
  
2875 <p>Update·primary·configuration·data·for·Logger.·This·function·behaves·as·if·it·was2875 <p>Update·primary·configuration·data·for·Logger.·This·function·behaves·as·if·it·was
2876 implemented·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Old</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">get_primary_config</span><span·class="p"·data-group-id="1066431328-1">(</span><span·class="p"·data-group-id="1066431328-1">)</span><span·class="p">,</span><span·class="w">2876 implemented·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Old</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">get_primary_config</span><span·class="p"·data-group-id="2383178621-1">(</span><span·class="p"·data-group-id="2383178621-1">)</span><span·class="p">,</span><span·class="w">
2877 </span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_primary_config</span><span·class="p"·data-group-id="1066431328-2">(</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">merge</span><span·class="p"·data-group-id="1066431328-3">(</span><span·class="n">Old</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</sp[·...·truncated·by·diffoscope;·len:·97,·SHA:·e1cfed05c79cb13fa131c237c00728d67018c80acb31f834720985cb9a930836·...·]-2">)</span><span·class="p">.</span></code></pre><p>To·overwrite·the·existing·configuration·without·any·merge,·use2877 </span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_primary_config</span><span·class="p"·data-group-id="2383178621-2">(</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">merge</span><span·class="p"·data-group-id="2383178621-3">(</span><span·class="n">Old</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</sp[·...·truncated·by·diffoscope;·len:·97,·SHA:·d173a25553386c46222df83ef2bc53b4f829738f50b0622b27d901be21d4a125·...·]-2">)</span><span·class="p">.</span></code></pre><p>To·overwrite·the·existing·configuration·without·any·merge,·use
2878 <a·href="#set_primary_config/1"><code·class="inline">set_primary_config/1</code>·</a>.</p>2878 <a·href="#set_primary_config/1"><code·class="inline">set_primary_config/1</code>·</a>.</p>
2879 ··</section>2879 ··</section>
2880 </section>2880 </section>
2881 <section·class="detail"·id="update_process_metadata/1">2881 <section·class="detail"·id="update_process_metadata/1">
  
2882 ··<div·class="detail-header">2882 ··<div·class="detail-header">
2883 ····<a·href="#update_process_metadata/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2883 ····<a·href="#update_process_metadata/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2903, 15 lines modifiedOffset 2903, 15 lines modified
2903 ······<div·class="specs">2903 ······<div·class="specs">
  
2904 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_process_metadata(Meta)·->·ok·when·Meta·::·<a·href="#t:metadata/0">metadata</a>().</pre>2904 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_process_metadata(Meta)·->·ok·when·Meta·::·<a·href="#t:metadata/0">metadata</a>().</pre>
  
2905 ······</div>2905 ······</div>
Max diff block lines reached; 21513/54737 bytes (39.30%) of diff not shown.
806 B
html2text {}
Max HTML report size reached
105 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/logger_chapter.html
    
Offset 186, 15 lines modifiedOffset 186, 15 lines modified
186 ····<i·class="ri-link-m"·aria-hidden="true"></i>186 ····<i·class="ri-link-m"·aria-hidden="true"></i>
187 ··</a>187 ··</a>
188 ··<span·class="text">Logger·API</span>188 ··<span·class="text">Logger·API</span>
189 </h2>189 </h2>
190 <p>The·API·for·logging·consists·of·a·set·of·<a·href="logger.html#module-macros">macros</a>,·and·a·set190 <p>The·API·for·logging·consists·of·a·set·of·<a·href="logger.html#module-macros">macros</a>,·and·a·set
191 of·functions·of·the·form·<code·class="inline">logger:Level/1,2,3</code>,·which·are·all·shortcuts·for191 of·functions·of·the·form·<code·class="inline">logger:Level/1,2,3</code>,·which·are·all·shortcuts·for
192 <a·href="logger.html#log/2"><code·class="inline">logger:log(Level,Arg1[,Arg2[,Arg3]])</code></a>.</p><p>The·macros·are·defined·in·<code·class="inline">logger.hrl</code>,·which·is·included·in·a·module·with·the192 <a·href="logger.html#log/2"><code·class="inline">logger:log(Level,Arg1[,Arg2[,Arg3]])</code></a>.</p><p>The·macros·are·defined·in·<code·class="inline">logger.hrl</code>,·which·is·included·in·a·module·with·the
193 directive</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="6861223029-1">(</span><span·class="s">&quot;kernel/include/logger.hrl&quot;</span><span·class="p"·data-group-id="6861223029-1">)</span><span·class="p">.</span></code></pre><p>The·difference·between·using·the·macros·and·the·exported·functions·is·that193 directive</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="6117223093-1">(</span><span·class="s">&quot;kernel/include/logger.hrl&quot;</span><span·class="p"·data-group-id="6117223093-1">)</span><span·class="p">.</span></code></pre><p>The·difference·between·using·the·macros·and·the·exported·functions·is·that
194 macros·add·location·(originator)·information·to·the·metadata,·and·performs·lazy194 macros·add·location·(originator)·information·to·the·metadata,·and·performs·lazy
195 evaluation·by·wrapping·the·logger·call·in·a·case·statement,·so·it·is·only195 evaluation·by·wrapping·the·logger·call·in·a·case·statement,·so·it·is·only
196 evaluated·if·the·log·level·of·the·event·passes·the·primary·log·level·check.</p><h3·id="log-level"·class="section-heading">196 evaluated·if·the·log·level·of·the·event·passes·the·primary·log·level·check.</p><h3·id="log-level"·class="section-heading">
197 ··<a·href="#log-level"·class="hover-link">197 ··<a·href="#log-level"·class="hover-link">
198 ····<i·class="ri-link-m"·aria-hidden="true"></i>198 ····<i·class="ri-link-m"·aria-hidden="true"></i>
199 ··</a>199 ··</a>
200 ··<span·class="text">Log·Level</span>200 ··<span·class="text">Log·Level</span>
Offset 208, 31 lines modifiedOffset 208, 31 lines modified
208 ··<a·href="#log-message"·class="hover-link">208 ··<a·href="#log-message"·class="hover-link">
209 ····<i·class="ri-link-m"·aria-hidden="true"></i>209 ····<i·class="ri-link-m"·aria-hidden="true"></i>
210 ··</a>210 ··</a>
211 ··<span·class="text">Log·Message</span>211 ··<span·class="text">Log·Message</span>
212 </h3>212 </h3>
213 <p>The·log·message·contains·the·information·to·be·logged.·The·message·can·consist213 <p>The·log·message·contains·the·information·to·be·logged.·The·message·can·consist
214 of·a·format·string·and·arguments·(given·as·two·separate·parameters·in·the·Logger214 of·a·format·string·and·arguments·(given·as·two·separate·parameters·in·the·Logger
215 API),·a·string·or·a·report.</p><p>Example,·format·string·and·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="6130631029-1">(</span><span·class="s">&quot;The·file·does·not·exist:·~ts&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="6130631029-2">[</span><span·class="n">Filename</span><span·class="p"·data-group-id="6130631029-2">]</span><span·clas[·...·truncated·by·diffoscope;·len:·367,·SHA:·f599a015ad06d494d7a7c90b36c456aa7c9ddba1ec2c4d66066ad4b3a3f9b218·...·]-1">)</span></code></pre><p>A·report,·which·is·either·a·map·or·a·key-value·list,·is·the·preferred·way·to·log215 API),·a·string·or·a·report.</p><p>Example,·format·string·and·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="3783589387-1">(</span><span·class="s">&quot;The·file·does·not·exist:·~ts&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="3783589387-2">[</span><span·class="n">Filename</span><span·class="p"·data-group-id="3783589387-2">]</span><span·clas[·...·truncated·by·diffoscope;·len:·367,·SHA:·c78da95ed128d68e9419508ea6a72452da13ccaf1b90f8f67b4b4cfb2c6ceb62·...·]-1">)</span></code></pre><p>A·report,·which·is·either·a·map·or·a·key-value·list,·is·the·preferred·way·to·log
216 using·Logger·as·it·makes·it·possible·for·different·backends·to·filter·and·format216 using·Logger·as·it·makes·it·possible·for·different·backends·to·filter·and·format
217 the·log·event·as·it·needs·to.</p><p>Example,·report:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">LOG_ERROR</span><span·class="p"·data-group-id="1985854732-1">(</span><span·class="p"·data-group-id="1985854732-2">#{</span><span·class="w">·</span><span·class="ss">user</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">joe</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·464,·SHA:·42a1ae472c885aaa547e1a8b239c3e8ceb0dc5a5fd06c7ce2b17925bf367eb6e·...·]-1">)</span></code></pre><p>Reports·can·be·accompanied·by·a·<em>report·callback</em>·specified·in·the·log·event's217 the·log·event·as·it·needs·to.</p><p>Example,·report:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">LOG_ERROR</span><span·class="p"·data-group-id="9744819439-1">(</span><span·class="p"·data-group-id="9744819439-2">#{</span><span·class="w">·</span><span·class="ss">user</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">joe</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·464,·SHA:·dd75c79a594db40669125b6cfbbc48d290d5e601c71a24d63a2749e9fe5c6c66·...·]-1">)</span></code></pre><p>Reports·can·be·accompanied·by·a·<em>report·callback</em>·specified·in·the·log·event's
218 <a·href="#metadata">metadata</a>.·The·report·callback·is·a·convenience218 <a·href="#metadata">metadata</a>.·The·report·callback·is·a·convenience
219 function·that·the·<a·href="#formatters">formatter</a>·can·use·to·convert219 function·that·the·<a·href="#formatters">formatter</a>·can·use·to·convert
220 the·report·to·a·format·string·and·arguments,·or·directly·to·a·string.·The220 the·report·to·a·format·string·and·arguments,·or·directly·to·a·string.·The
221 formatter·can·also·use·its·own·conversion·function,·if·no·callback·is·provided,221 formatter·can·also·use·its·own·conversion·function,·if·no·callback·is·provided,
222 or·if·a·customized·formatting·is·desired.</p><p>The·report·callback·must·be·a·fun·with·one·or·two·arguments.·If·it·takes·one222 or·if·a·customized·formatting·is·desired.</p><p>The·report·callback·must·be·a·fun·with·one·or·two·arguments.·If·it·takes·one
223 argument,·this·is·the·report·itself,·and·the·fun·returns·a·format·string·and223 argument,·this·is·the·report·itself,·and·the·fun·returns·a·format·string·and
224 arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="4172020950-1">(</span><span·class="p"·data-group-id="4172020950-2">(</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">report</span><span·class="p"·data-group-id="4172020950-3">(</span><span·class="p"·data-group-id="4172020950-3">)</span><span·class="p"·data-group-id="4172020950-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4172020950-4">{</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4172020950-5">(</span><span·class="p"·data-group-id="4172020950-5">)</span><span·class="p">,</span><span·class="p"·data-group-id="4172020950-6">[</span><span·class="nf">term</span><span·class="p"·data-group-id="4172020950-7">(</span><span·class="p"·data-group-id="4172020950-7">)</span><span·class="p"·data-group-id="4172020950-6">]</span><span·class="p"·data-group-id="4172020950-4">}</span><span·class="p"·data-group-id="4172020950-1">)</span></code></pre><p>If·it·takes·two·arguments,·the·first·is·the·report,·and·the·second·is·a·map 
225 containing·extra·data·that·allows·direct·conversion·to·a·string:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="2561967670-1">(</span><span·class="p"·data-group-id="2561967670-2">(</span><span·c[·...·truncated·by·diffoscope;·len:·924,·SHA:·100a59229fecbc3b715ed6cdd9c845a0c71ebd25c7142aa7fdf2bc3cf7690c4a·...·]224 arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="0707410418-1">(</span><span·class="p"·data-group-id="0707410418-2">(</span><span·class="nc">logger</span><span·class="p">:</span><span·c[·...·truncated·by·diffoscope;·len:·958,·SHA:·2793b9184dbb33351141cf6e0246658da40a5e7357cf53b7bd2a145d8f47aefd·...·]
 225 containing·extra·data·that·allows·direct·conversion·to·a·string:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="7346619455-1">(</span><span·class="p"·data-group-id="7346619455-2">(</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">report</span><span·class="p"·data-group-id="7346619455-3">(</span><span·class="p"·data-group-id="7346619455-3">)</span><span·class="p">,</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">report_cb_config</span><span·class="p"·data-group-id="7346619455-4">(</span><span·class="p"·data-group-id="7346619455-4">)</span><span·class="p"·data-group-id="7346619455-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">chardata</span><span·class="p"·data-group-id="7346619455-5">(</span><span·class="p"·data-group-id="7346619455-5">)</span><span·class="p"·data-group-id="7346619455-1">)</span></code></pre><p>The·fun·must·obey·the·<code·class="inline">depth</code>·and·<code·class="inline">chars_limit</code>·parameters·provided·in·the
226 second·argument,·as·the·formatter·cannot·do·anything·useful·of·these·parameters226 second·argument,·as·the·formatter·cannot·do·anything·useful·of·these·parameters
227 with·the·returned·string.·The·extra·data·also·contains·a·field·named227 with·the·returned·string.·The·extra·data·also·contains·a·field·named
228 <code·class="inline">single_line</code>,·indicating·if·the·printed·log·message·may·contain·line·breaks·or228 <code·class="inline">single_line</code>,·indicating·if·the·printed·log·message·may·contain·line·breaks·or
229 not.·This·variant·is·used·when·the·formatting·of·the·report·depends·on·the·size229 not.·This·variant·is·used·when·the·formatting·of·the·report·depends·on·the·size
230 or·single·line·parameters.</p><p>Example,·report,·and·metadata·with·report·callback:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">debug</span><span·class="p"·data-group-id="3836696918-1">(</span><span·class="p"·data-group-id="3836696918-2">#{</span><span·class="ss">got</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">connection_request</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·362,·SHA:·a76e671262a4bd0a858a5c462f1a7d2b5489e1eb2207de4a2d39f87ce92196e2·...·]-2">}</span><span·class="p">,</span><span·class="w">230 or·single·line·parameters.</p><p>Example,·report,·and·metadata·with·report·callback:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">debug</span><span·class="p"·data-group-id="0141882995-1">(</span><span·class="p"·data-group-id="0141882995-2">#{</span><span·class="ss">got</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">connection_request</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·362,·SHA:·cec8e8f23eca344a62c7b9cc8af48e743d9d73dbf4e0a2b81ad434f0d147bc3b·...·]-2">}</span><span·class="p">,</span><span·class="w">
231 ·············</span><span·class="p"·data-group-id="3836696918-3">#{</span><span·class="ss">report_cb</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3836696918-4">(</span><span·class="n">R</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·597,·SHA:·243a0e3514a9245b3fc52fdb8587d13a69d224d05ef9ef92937006c8091fccf5·...·]-1">)</span></code></pre><p>The·log·message·can·also·be·provided·through·a·fun·for·lazy·evaluation.·The·fun231 ·············</span><span·class="p"·data-group-id="0141882995-3">#{</span><span·class="ss">report_cb</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="0141882995-4">(</span><span·class="n">R</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·597,·SHA:·85034a318ee8dcb83c55609a37a07c35eb27fab7b17e5dab0637fbb0b39017af·...·]-1">)</span></code></pre><p>The·log·message·can·also·be·provided·through·a·fun·for·lazy·evaluation.·The·fun
232 is·only·evaluated·if·the·primary·log·level·check·passes,·and·is·therefore232 is·only·evaluated·if·the·primary·log·level·check·passes,·and·is·therefore
233 recommended·if·it·is·expensive·to·generate·the·message.·The·lazy·fun·must·return233 recommended·if·it·is·expensive·to·generate·the·message.·The·lazy·fun·must·return
234 a·string,·a·report,·or·a·tuple·with·format·string·and·arguments.</p><h3·id="metadata"·class="section-heading">234 a·string,·a·report,·or·a·tuple·with·format·string·and·arguments.</p><h3·id="metadata"·class="section-heading">
235 ··<a·href="#metadata"·class="hover-link">235 ··<a·href="#metadata"·class="hover-link">
236 ····<i·class="ri-link-m"·aria-hidden="true"></i>236 ····<i·class="ri-link-m"·aria-hidden="true"></i>
237 ··</a>237 ··</a>
238 ··<span·class="text">Metadata</span>238 ··<span·class="text">Metadata</span>
Offset 411, 20 lines modifiedOffset 411, 20 lines modified
411 with·<a·href="#logger_level"><code·class="inline">logger_level</code></a>,·and·the·compatibility411 with·<a·href="#logger_level"><code·class="inline">logger_level</code></a>,·and·the·compatibility
412 with·<a·href="../../../../lib/sasl-4.3/doc/html/error_logging.html">SASL·Error·Logging</a>,·which·is·specified·with412 with·<a·href="../../../../lib/sasl-4.3/doc/html/error_logging.html">SASL·Error·Logging</a>,·which·is·specified·with
413 <a·href="#logger_sasl_compatible"><code·class="inline">logger_sasl_compatible</code></a>.</p><p>With·this·parameter,·you·can·modify·or·disable·the·default·handler,·add·custom413 <a·href="#logger_sasl_compatible"><code·class="inline">logger_sasl_compatible</code></a>.</p><p>With·this·parameter,·you·can·modify·or·disable·the·default·handler,·add·custom
414 handlers·and·primary·logger·filters,·set·log·levels·per·module,·and·modify·the414 handlers·and·primary·logger·filters,·set·log·levels·per·module,·and·modify·the
415 <a·href="#logger-proxy">proxy</a>·configuration.</p><p><code·class="inline">Config</code>·is·any·(zero·or·more)·of·the·following:</p><ul><li><p><strong><code·class="inline">{handler,·default,·undefined}</code></strong>·-·Disables·the·default·handler.·This415 <a·href="#logger-proxy">proxy</a>·configuration.</p><p><code·class="inline">Config</code>·is·any·(zero·or·more)·of·the·following:</p><ul><li><p><strong><code·class="inline">{handler,·default,·undefined}</code></strong>·-·Disables·the·default·handler.·This
416 allows·another·application·to·add·its·own·default·handler.</p><p>Only·one·entry·of·this·type·is·allowed.</p></li><li><p><strong><code·class="inline">{handler,·HandlerId,·Module,·HandlerConfig}</code></strong>·-·If·<code·class="inline">HandlerId</code>·is416 allows·another·application·to·add·its·own·default·handler.</p><p>Only·one·entry·of·this·type·is·allowed.</p></li><li><p><strong><code·class="inline">{handler,·HandlerId,·Module,·HandlerConfig}</code></strong>·-·If·<code·class="inline">HandlerId</code>·is
417 <code·class="inline">default</code>,·then·this·entry·modifies·the·default·handler,·equivalent·to417 <code·class="inline">default</code>,·then·this·entry·modifies·the·default·handler,·equivalent·to
418 calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">remove_handler</span><span·class="p"·data-group-id="2955315098-1">(</span><span·class="ss">default</span><span·class="p"·data-group-id="2955315098-1">)</span></code></pre><p>followed·by</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">[·...·truncated·by·diffoscope;·len:·304,·SHA:·3e4e3894981fc809e7f29cb96a4b772529f9757c92f54e78c646ece693d31246·...·]-1">)</span></code></pre><p>For·all·other·values·of·<code·class="inline">HandlerId</code>,·this·entry·adds·a·new·handler,418 calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">remove_handler</span><span·class="p"·data-group-id="5919360388-1">(</span><span·class="ss">default</span><span·class="p"·data-group-id="5919360388-1">)</span></code></pre><p>followed·by</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">[·...·truncated·by·diffoscope;·len:·304,·SHA:·48a5b312c21262c93d72547e92d10acf75a741d0b416c54d6a9d76d4575386f5·...·]-1">)</span></code></pre><p>For·all·other·values·of·<code·class="inline">HandlerId</code>,·this·entry·adds·a·new·handler,
419 equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="0181281063-1">(</span><span·class="n">HandlerId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">HandlerConfig</span><span·class="p"·data-group-id="0181281063-1">)</span></code></pre><p>Multiple·entries·of·this·type·are·allowed.</p></li><li><p><strong><code·class="inline">{filters,·FilterDefault,·[Filter]}</code></strong>·-·Adds·the·specified·primary419 equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="4698827687-1">(</span><span·class="n">HandlerId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">HandlerConfig</span><span·class="p"·data-group-id="4698827687-1">)</span></code></pre><p>Multiple·entries·of·this·type·are·allowed.</p></li><li><p><strong><code·class="inline">{filters,·FilterDefault,·[Filter]}</code></strong>·-·Adds·the·specified·primary
420 filters.</p><ul><li><p><code·class="inline">FilterDefault·=·log·|·stop</code></p></li><li><code·class="inline">Filter·=·{FilterId,·{FilterFun,·FilterConfig}}</code></li></ul><p>Equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_primary_filter</span><span·class="p"·data-group-id="2990208309-1">(</span><span·class="n">FilterId</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2990208309-2">{</span><span·class="n">FilterFun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Filter[·...·truncated·by·diffoscope;·len:·107,·SHA:·6db6e0376b3bc767d88d2d443d1f21e7173f7c8bbf0376aef66e370329b5a0d7·...·]-1">)</span></code></pre><p>for·each·<code·class="inline">Filter</code>.</p><p><code·class="inline">FilterDefault</code>·specifies·the·behaviour·if·all·primary·filters·return420 filters.</p><ul><li><p><code·class="inline">FilterDefault·=·log·|·stop</code></p></li><li><code·class="inline">Filter·=·{FilterId,·{FilterFun,·FilterConfig}}</code></li></ul><p>Equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_primary_filter</span><span·class="p"·data-group-id="5194696675-1">(</span><span·class="n">FilterId</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5194696675-2">{</span><span·class="n">FilterFun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Filter[·...·truncated·by·diffoscope;·len:·107,·SHA:·5d89adecafd86e863d7231d5506a5f18685ddaa044142259cb76c589b212920c·...·]-1">)</span></code></pre><p>for·each·<code·class="inline">Filter</code>.</p><p><code·class="inline">FilterDefault</code>·specifies·the·behaviour·if·all·primary·filters·return
421 <code·class="inline">ignore</code>,·see·section·<a·href="#filters">Filters</a>.</p><p>Only·one·entry·of·this·type·is·allowed.</p></li><li><p><strong><code·class="inline">{module_level,·Level,·[Module]}</code></strong>·-·Sets·module·log·level·for·the·given421 <code·class="inline">ignore</code>,·see·section·<a·href="#filters">Filters</a>.</p><p>Only·one·entry·of·this·type·is·allowed.</p></li><li><p><strong><code·class="inline">{module_level,·Level,·[Module]}</code></strong>·-·Sets·module·log·level·for·the·given
422 modules.·Equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_module_level</span><span·class="p"·data-group-id="8434695821-1">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Level</span><span·class="p"·data-group-id="8434695821-1">)</span></code></pre><p>for·each·<code·class="inline">Module</code>.</p><p>Multiple·entries·of·this·type·are·allowed.</p></li><li><p><strong><code·class="inline">{proxy,·ProxyConfig}</code></strong>·-·Sets·the·proxy·configuration,·equivalent·to422 modules.·Equivalent·to·calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_module_level</span><span·class="p"·data-group-id="1020444781-1">(</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Level</span><span·class="p"·data-group-id="1020444781-1">)</span></code></pre><p>for·each·<code·class="inline">Module</code>.</p><p>Multiple·entries·of·this·type·are·allowed.</p></li><li><p><strong><code·class="inline">{proxy,·ProxyConfig}</code></strong>·-·Sets·the·proxy·configuration,·equivalent·to
423 calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_proxy_config</span><span·class="p"·data-group-id="3858641069-1">(</span><span·class="n">ProxyConfig</span><span·class="p"·data-group-id="3858641069-1">)</span></code></pre><p>Only·one·entry·of·this·type·is·allowed.</p></li></ul><p>See·section·<a·href="#configuration-examples">Configuration·Examples</a>·for423 calling</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_proxy_config</span><span·class="p"·data-group-id="8457059212-1">(</span><span·class="n">ProxyConfig</span><span·class="p"·data-group-id="8457059212-1">)</span></code></pre><p>Only·one·entry·of·this·type·is·allowed.</p></li></ul><p>See·section·<a·href="#configuration-examples">Configuration·Examples</a>·for
424 examples·using·the·<code·class="inline">logger</code>·parameter·for·system·configuration.</p></li><li><p><strong><code·class="inline"·id="logger_metadata">logger_metadata·=·map()</code></strong>·-·Specifies·the·primary424 examples·using·the·<code·class="inline">logger</code>·parameter·for·system·configuration.</p></li><li><p><strong><code·class="inline"·id="logger_metadata">logger_metadata·=·map()</code></strong>·-·Specifies·the·primary
425 metadata.·See·the·<a·href="kernel_app.html#logger_metadata"><code·class="inline">kernel(6)</code></a>·manual·page·for425 metadata.·See·the·<a·href="kernel_app.html#logger_metadata"><code·class="inline">kernel(6)</code></a>·manual·page·for
426 more·information·about·this·parameter.</p></li><li><p><strong><code·class="inline"·id="logger_level">logger_level·=·Level</code></strong>·-·Specifies·the·primary·log426 more·information·about·this·parameter.</p></li><li><p><strong><code·class="inline"·id="logger_level">logger_level·=·Level</code></strong>·-·Specifies·the·primary·log
427 level.·See·the·<a·href="kernel_app.html#logger_level"><code·class="inline">kernel(6)</code></a>·manual·page·for·more427 level.·See·the·<a·href="kernel_app.html#logger_level"><code·class="inline">kernel(6)</code></a>·manual·page·for·more
428 information·about·this·parameter.</p></li><li><p><strong><code·class="inline"·id="logger_sasl_compatible">logger_sasl_compatible·=·true·|·false</code></strong>·-428 information·about·this·parameter.</p></li><li><p><strong><code·class="inline"·id="logger_sasl_compatible">logger_sasl_compatible·=·true·|·false</code></strong>·-
429 Specifies·Logger's·compatibility·with429 Specifies·Logger's·compatibility·with
430 <a·href="../../../../lib/sasl-4.3/doc/html/error_logging.html">SASL·Error·Logging</a>.·See·the430 <a·href="../../../../lib/sasl-4.3/doc/html/error_logging.html">SASL·Error·Logging</a>.·See·the
Offset 437, 39 lines modifiedOffset 437, 39 lines modified
437 </h3>437 </h3>
438 <p>The·value·of·the·Kernel·configuration·parameter·<code·class="inline">logger</code>·is·a·list·of·tuples.·It438 <p>The·value·of·the·Kernel·configuration·parameter·<code·class="inline">logger</code>·is·a·list·of·tuples.·It
439 is·possible·to·write·the·term·on·the·command·line·when·starting·an·erlang·node,439 is·possible·to·write·the·term·on·the·command·line·when·starting·an·erlang·node,
440 but·as·the·term·grows,·a·better·approach·is·to·use·the·system·configuration440 but·as·the·term·grows,·a·better·approach·is·to·use·the·system·configuration
441 file.·See·the·<a·href="config.html"><code·class="inline">config(4)</code></a>·manual·page·for·more·information·about441 file.·See·the·<a·href="config.html"><code·class="inline">config(4)</code></a>·manual·page·for·more·information·about
442 this·file.</p><p>Each·of·the·following·examples·shows·a·simple·system·configuration·file·that442 this·file.</p><p>Each·of·the·following·examples·shows·a·simple·system·configuration·file·that
443 configures·Logger·according·to·the·description.</p><p>Modify·the·default·handler·to·print·to·a·file·instead·of443 configures·Logger·according·to·the·description.</p><p>Modify·the·default·handler·to·print·to·a·file·instead·of
444 <a·href="../../../../lib/stdlib-7.0/doc/html/io.html#t:standard_io/0"><code·class="inline">standard_io</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3695261510-1">[</span><span·class="p"·data-group-id="3695261510-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">444 <a·href="../../../../lib/stdlib-7.0/doc/html/io.html#t:standard_io/0"><code·class="inline">standard_io</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6850607599-1">[</span><span·class="p"·data-group-id="6850607599-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
445 ··</span><span·class="p"·data-group-id="3695261510-3">[</span><span·class="p"·data-group-id="3695261510-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">445 ··</span><span·class="p"·data-group-id="6850607599-3">[</span><span·class="p"·data-group-id="6850607599-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
446 ····</span><span·class="p"·data-group-id="3695261510-5">[</span><span·class="p"·data-group-id="3695261510-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">··</span><span·class="c1">%·{handler,·HandlerId,·Module,</span><span·class="w">446 ····</span><span·class="p"·data-group-id="6850607599-5">[</span><span·class="p"·data-group-id="6850607599-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">··</span><span·class="c1">%·{handler,·HandlerId,·Module,</span><span·class="w">
447 ······</span><span·class="p"·data-group-id="3695261510-7">#{</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3695261510-8">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;log/erlang.log&quot;</span><span·class="p"·data-group-id="3695261510-8">}</span><span·class="p"·data-group-id="3695261510-7">}</span><span·class="p"·data-group-id="3695261510-6">}</span><span·class="w">··</span><span·class="c1">%·Config}</span><span·class="w"> 
448 ····</span><span·class="p"·data-group-id="3695261510-5">]</span><span·class="p"·data-group-id="3695261510-4">}</span><span·class="p"·data-group-id="3695261510-3">]</span><span·class="p"·data-group-id="3695261510-2">}</span><span·class="p"·data-group-id="369526[·...·truncated·by·diffoscope;·len:·329,·SHA:·771939760e5cd9fa10eb70fd93e63d1284b4e439b304318696aec9a72c966246·...·]</span><span·class="w">447 ······</span><span·class="p"·data-group-id="6850607599-7">#{</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6850607599-8">#{</span><span·class="ss">file</span><span[·...·truncated·by·diffoscope;·len:·330,·SHA:·17f2b63dbfbb442af8130f46d6b12dc99ad7d651e8791d7eae7cc57e8f4b4bb8·...·]</span><span·class="w">
 448 ····</span><span·class="p"·data-group-id="6850607599-5">]</span><span·class="p"·data-group-id="6850607599-4">}</span><span·class="p"·data-group-id="6850607599-3">]</span><span·class="p"·data-group-id="6850607599-2">}</span><span·class="p"·data-group-id="6850607599-1">]</span><span·class="p">.</span></code></pre><p>Modify·the·default·handler·to·print·each·log·event·as·a·single·line:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9026127283-1">[</span><span·class="p"·data-group-id="9026127283-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
449 ··</span><span·class="p"·data-group-id="9999165197-3">[</span><span·class="p"·data-group-id="9999165197-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">449 ··</span><span·class="p"·data-group-id="9026127283-3">[</span><span·class="p"·data-group-id="9026127283-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
450 ····</span><span·class="p"·data-group-id="9999165197-5">[</span><span·class="p"·data-group-id="9999165197-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">450 ····</span><span·class="p"·data-group-id="9026127283-5">[</span><span·class="p"·data-group-id="9026127283-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">
451 ······</span><span·class="p"·data-group-id="9999165197-7">#{</span><span·class="ss">formatter</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9999165197-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·409,·SHA:·121d8a42fc31c40560f86bb92c77e9e97174e83602c97083f0ddd000f88f4599·...·]-6">}</span><span·class="w">451 ······</span><span·class="p"·data-group-id="9026127283-7">#{</span><span·class="ss">formatter</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9026127283-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·409,·SHA:·b1f6c4f9cf10c72e14561e02f4e9a84c4b68a68501c8dce5e67e4631b1780ba5·...·]-6">}</span><span·class="w">
452 ····</span><span·class="p"·data-group-id="9999165197-5">]</span><span·class="p"·data-group-id="9999165197-4">}</span><span·class="p"·data-group-id="9999165197-3">]</span><span·class="p"·data-group-id="9999165197-2">}</span><span·class="p"·data-group-id="9999165197-1">]</span><span·class="p">.</span></code></pre><p>Modify·the·default·handler·to·print·the·pid·of·the·logging·process·for·each·log452 ····</span><span·class="p"·data-group-id="9026127283-5">]</span><span·class="p"·data-group-id="9026127283-4">}</span><span·class="p"·data-group-id="9026127283-3">]</span><span·class="p"·data-group-id="9026127283-2">}</span><span·class="p"·data-group-id="9026127283-1">]</span><span·class="p">.</span></code></pre><p>Modify·the·default·handler·to·print·the·pid·of·the·logging·process·for·each·log
453 event:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2797118698-1">[</span><span·class="p"·data-group-id="2797118698-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">453 event:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8876063693-1">[</span><span·class="p"·data-group-id="8876063693-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
454 ··</span><span·class="p"·data-group-id="2797118698-3">[</span><span·class="p"·data-group-id="2797118698-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">454 ··</span><span·class="p"·data-group-id="8876063693-3">[</span><span·class="p"·data-group-id="8876063693-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
455 ····</span><span·class="p"·data-group-id="2797118698-5">[</span><span·class="p"·data-group-id="2797118698-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">455 ····</span><span·class="p"·data-group-id="8876063693-5">[</span><span·class="p"·data-group-id="8876063693-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">
456 ······</span><span·class="p"·data-group-id="2797118698-7">#{</span><span·class="ss">formatter</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2797118698-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">456 ······</span><span·class="p"·data-group-id="8876063693-7">#{</span><span·class="ss">formatter</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8876063693-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">
457 ························</span><span·class="p"·data-group-id="2797118698-9">#{</span><span·class="ss">template</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2797118698-10">[</span><span·class="ss">time</span><span·class="p">,</span><span·class="s">&qu[·...·truncated·by·diffoscope;·len:·494,·SHA:·94f24398d29084e6763f84aa4cb2967bbe8405ca71b435a040a2e231a193cb90·...·]-6">}</span><span·class="w">457 ························</span><span·class="p"·data-group-id="8876063693-9">#{</span><span·class="ss">template</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8876063693-10">[</span><span·class="ss">time</span><span·class="p">,</span><span·class="s">&qu[·...·truncated·by·diffoscope;·len:·494,·SHA:·7ede3ce453bfc4c7331e8daefdea42ff7bb8f468a4d243ac38094dff6f4cadb4·...·]-6">}</span><span·class="w">
458 ····</span><span·class="p"·data-group-id="2797118698-5">]</span><span·class="p"·data-group-id="2797118698-4">}</span><span·class="p"·data-group-id="2797118698-3">]</span><span·class="p"·data-group-id="2797118698-2">}</span><span·class="p"·data-group-id="2797118698-1">]</span><span·class="p">.</span></code></pre><p>Modify·the·default·handler·to·only·print·errors·and·more·severe·log·events·to458 ····</span><span·class="p"·data-group-id="8876063693-5">]</span><span·class="p"·data-group-id="8876063693-4">}</span><span·class="p"·data-group-id="8876063693-3">]</span><span·class="p"·data-group-id="8876063693-2">}</span><span·class="p"·data-group-id="8876063693-1">]</span><span·class="p">.</span></code></pre><p>Modify·the·default·handler·to·only·print·errors·and·more·severe·log·events·to
459 &quot;log/erlang.log&quot;,·and·add·another·handler·to·print·all·log·events·to459 &quot;log/erlang.log&quot;,·and·add·another·handler·to·print·all·log·events·to
460 &quot;log/debug.log&quot;.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4203653241-1">[</span><span·class="p"·data-group-id="4203653241-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">460 &quot;log/debug.log&quot;.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5388561229-1">[</span><span·class="p"·data-group-id="5388561229-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
461 ··</span><span·class="p"·data-group-id="4203653241-3">[</span><span·class="p"·data-group-id="4203653241-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">461 ··</span><span·class="p"·data-group-id="5388561229-3">[</span><span·class="p"·data-group-id="5388561229-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
462 ····</span><span·class="p"·data-group-id="4203653241-5">[</span><span·class="p"·data-group-id="4203653241-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">462 ····</span><span·class="p"·data-group-id="5388561229-5">[</span><span·class="p"·data-group-id="5388561229-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">
463 ······</span><span·class="p"·data-group-id="4203653241-7">#{</span><span·class="ss">level</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">463 ······</span><span·class="p"·data-group-id="5388561229-7">#{</span><span·class="ss">level</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">
464 ········</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4203653241-8">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;log/erlang.log&quot;</span><span·class="p"·data-group-id="4203653241-8">}</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·c2ca09eafd439ad463f08a2a0ff413f6e2dca4d318bd945efae4dddfa77851e5·...·]-6">}</span><span·class="p">,</span><span·class="w">464 ········</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5388561229-8">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;log/erlang.log&quot;</span><span·class="p"·data-group-id="5388561229-8">}</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·227c45cd97290f2f8dd6f863ef080b04c32ef0d1de8a356e44a2eeafff96da14·...·]-6">}</span><span·class="p">,</span><span·class="w">
465 ·····</span><span·class="p"·data-group-id="4203653241-9">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">465 ·····</span><span·class="p"·data-group-id="5388561229-9">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">
466 ······</span><span·class="p"·data-group-id="4203653241-10">#{</span><span·class="ss">level</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">debug</span><span·class="p">,</span><span·class="w">466 ······</span><span·class="p"·data-group-id="5388561229-10">#{</span><span·class="ss">level</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">debug</span><span·class="p">,</span><span·class="w">
467 ········</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4203653241-11">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;log/debug.log&quot;</span><span·class="p"·data-group-id="4203653241-11">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·69,·SHA:·2c4975ad1f5e2a57e85dcceb7e968f029d2aba27a15bf639e7e15e3d5e731feb·...·]-9">}</span><span·class="w">467 ········</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5388561229-11">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;log/debug.log&quot;</span><span·class="p"·data-group-id="5388561229-11">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·69,·SHA:·5cb6a7c1bfa281fe7f71e3d01a4fadde59dd8dcfa01535b72095ab25a5eeec81·...·]-9">}</span><span·class="w">
468 ····</span><span·class="p"·data-group-id="4203653241-5">]</span><span·class="p"·data-group-id="4203653241-4">}</span><span·class="p"·data-group-id="4203653241-3">]</span><span·class="p"·data-group-id="4203653241-2">}</span><span·class="p"·data-group-id="4203653241-1">]</span><span·class="p">.</span></code></pre><h2·id="backwards-compatibility-with-error_logger"·class="section-heading">468 ····</span><span·class="p"·data-group-id="5388561229-5">]</span><span·class="p"·data-group-id="5388561229-4">}</span><span·class="p"·data-group-id="5388561229-3">]</span><span·class="p"·data-group-id="5388561229-2">}</span><span·class="p"·data-group-id="5388561229-1">]</span><span·class="p">.</span></code></pre><h2·id="backwards-compatibility-with-error_logger"·class="section-heading">
469 ··<a·href="#backwards-compatibility-with-error_logger"·class="hover-link">469 ··<a·href="#backwards-compatibility-with-error_logger"·class="hover-link">
470 ····<i·class="ri-link-m"·aria-hidden="true"></i>470 ····<i·class="ri-link-m"·aria-hidden="true"></i>
471 ··</a>471 ··</a>
472 ··<span·class="text">Backwards·Compatibility·with·error_logger</span>472 ··<span·class="text">Backwards·Compatibility·with·error_logger</span>
473 </h2>473 </h2>
474 <p>Logger·provides·backwards·compatibility·with·<code·class="inline">error_logger</code>·in·the·following474 <p>Logger·provides·backwards·compatibility·with·<code·class="inline">error_logger</code>·in·the·following
475 ways:</p><ul><li><p><strong>API·for·Logging</strong>·-·The·<code·class="inline">error_logger</code>·API·still·exists,·but·should·only·be475 ways:</p><ul><li><p><strong>API·for·Logging</strong>·-·The·<code·class="inline">error_logger</code>·API·still·exists,·but·should·only·be
Offset 503, 17 lines modifiedOffset 503, 17 lines modified
503 <a·href="../../../../lib/sasl-4.3/doc/html/sasl_app.html#deprecated_error_logger_config">SASL·configuration·parameters</a>503 <a·href="../../../../lib/sasl-4.3/doc/html/sasl_app.html#deprecated_error_logger_config">SASL·configuration·parameters</a>
504 can·then·be·used·as·before,·and·the·SASL·reports·will·only·be·printed·if·the504 can·then·be·used·as·before,·and·the·SASL·reports·will·only·be·printed·if·the
505 SASL·application·is·running,·through·a·second·log·handler·named·<code·class="inline">sasl</code>.</p><p>All·SASL·reports·have·a·metadata·field·<code·class="inline">domain</code>·which·is·set·to·<code·class="inline">[otp,sasl]</code>.505 SASL·application·is·running,·through·a·second·log·handler·named·<code·class="inline">sasl</code>.</p><p>All·SASL·reports·have·a·metadata·field·<code·class="inline">domain</code>·which·is·set·to·<code·class="inline">[otp,sasl]</code>.
506 This·field·can·be·used·by·filters·to·stop·or·allow·the·log·events.</p><p>See·section·<a·href="../../../../lib/sasl-4.3/doc/html/error_logging.html">SASL·User's·Guide</a>·for·more506 This·field·can·be·used·by·filters·to·stop·or·allow·the·log·events.</p><p>See·section·<a·href="../../../../lib/sasl-4.3/doc/html/error_logging.html">SASL·User's·Guide</a>·for·more
507 information·about·the·old·SASL·error·logging·functionality.</p></li><li><p><strong><a·href=""·id="legacy_event_handlers"></a>·Legacy·Event·Handlers</strong>·-·To·use·event507 information·about·the·old·SASL·error·logging·functionality.</p></li><li><p><strong><a·href=""·id="legacy_event_handlers"></a>·Legacy·Event·Handlers</strong>·-·To·use·event
508 handlers·written·for·<code·class="inline">error_logger</code>,·just·add·your·event·handler508 handlers·written·for·<code·class="inline">error_logger</code>,·just·add·your·event·handler
509 with</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">error_logger</span><span·class="p">:</span><span·class="ss">add_report_handler</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">.</span></code></pre><p>This·automatically·starts·the·error·logger·event·manager,·and·adds509 with</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">error_logger</span><span·class="p">:</span><span·class="ss">add_report_handler</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">.</span></code></pre><p>This·automatically·starts·the·error·logger·event·manager,·and·adds
510 <code·class="inline">error_logger</code>·as·a·handler·to·Logger,·with·the·following·configuration:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9722488085-1">#{</span><span·class="ss">level</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">510 <code·class="inline">error_logger</code>·as·a·handler·to·Logger,·with·the·following·configuration:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5242841386-1">#{</span><span·class="ss">level</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">
511 ··</span><span·class="ss">filter_default</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">log</span><span·class="p">,</span><span·class="w">511 ··</span><span·class="ss">filter_default</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">log</span><span·class="p">,</span><span·class="w">
512 ··</span><span·class="ss">filters</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9722488085-2">[</span><span·class="p"·data-group-id="9722488085-2">]</span><span·class="p"·data-group-id="9722488085-1">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·handler·ignores·events·that·do·not·originate·from·the·<code·class="inline">error_logger</code>512 ··</span><span·class="ss">filters</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5242841386-2">[</span><span·class="p"·data-group-id="5242841386-2">]</span><span·class="p"·data-group-id="5242841386-1">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·handler·ignores·events·that·do·not·originate·from·the·<code·class="inline">error_logger</code>
513 API,·or·from·within·OTP.·This·means·that·if·your·code·uses·the·Logger·API513 API,·or·from·within·OTP.·This·means·that·if·your·code·uses·the·Logger·API
514 for·logging,·then·your·log·events·will·be·discarded·by·this·handler.</p><p>The·handler·is·not·overload·protected.</p></section></li></ul><h2·id="error-handling"·class="section-heading">514 for·logging,·then·your·log·events·will·be·discarded·by·this·handler.</p><p>The·handler·is·not·overload·protected.</p></section></li></ul><h2·id="error-handling"·class="section-heading">
515 ··<a·href="#error-handling"·class="hover-link">515 ··<a·href="#error-handling"·class="hover-link">
516 ····<i·class="ri-link-m"·aria-hidden="true"></i>516 ····<i·class="ri-link-m"·aria-hidden="true"></i>
517 ··</a>517 ··</a>
518 ··<span·class="text">Error·Handling</span>518 ··<span·class="text">Error·Handling</span>
Max diff block lines reached; 58372/106948 bytes (54.58%) of diff not shown.
876 B
html2text {}
Max HTML report size reached
95.6 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/logger_cookbook.html
    
Offset 140, 27 lines modifiedOffset 140, 27 lines modified
140 </h2>140 </h2>
141 <h3·id="print-the-primary-logger-configurations"·class="section-heading">141 <h3·id="print-the-primary-logger-configurations"·class="section-heading">
142 ··<a·href="#print-the-primary-logger-configurations"·class="hover-link">142 ··<a·href="#print-the-primary-logger-configurations"·class="hover-link">
143 ····<i·class="ri-link-m"·aria-hidden="true"></i>143 ····<i·class="ri-link-m"·aria-hidden="true"></i>
144 ··</a>144 ··</a>
145 ··<span·class="text">Print·the·primary·Logger·configurations.</span>145 ··<span·class="text">Print·the·primary·Logger·configurations.</span>
146 </h3>146 </h3>
147 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">i</span><span·class="p"·data-group-id="4910710428-1">(</span><span·class="ss">primary</span><span·class="p"·data-group-id="4910710428-1">)</span><span·class="p">.</span><span·class="w">147 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">i</span><span·class="p"·data-group-id="8617168107-1">(</span><span·class="ss">primary</span><span·class="p"·data-group-id="8617168107-1">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="n">Primary</span><span·class="w">·</span><span·class="nc">configuration</span><span·class="p">:</span><span·class="w">148 </span><span·class="n">Primary</span><span·class="w">·</span><span·class="nc">configuration</span><span·class="p">:</span><span·class="w">
149 ····</span><span·class="n">Level</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">notice</span><span·class="w">149 ····</span><span·class="n">Level</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">notice</span><span·class="w">
150 ····</span><span·class="n">Filter</span><span·class="w">·</span><span·class="n">Default</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">log</span><span·class="w">150 ····</span><span·class="n">Filter</span><span·class="w">·</span><span·class="n">Default</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">log</span><span·class="w">
151 ····</span><span·class="n">Filters</span><span·class="p">:</span><span·class="w">151 ····</span><span·class="n">Filters</span><span·class="p">:</span><span·class="w">
152 ········</span><span·class="p"·data-group-id="4910710428-2">(</span><span·class="ss">none</span><span·class="p"·data-group-id="4910710428-2">)</span></code></pre><p>It·is·also·possible·to·fetch·the·configuration·using152 ········</span><span·class="p"·data-group-id="8617168107-2">(</span><span·class="ss">none</span><span·class="p"·data-group-id="8617168107-2">)</span></code></pre><p>It·is·also·possible·to·fetch·the·configuration·using
153 <a·href="logger.html#get_primary_config/0"><code·class="inline">logger:get_primary_config()</code></a>.</p><h4>See·also</h4><ul><li><a·href="logger.html#i/0">logger:i()</a></li><li><a·href="logger_chapter.html#configuration">Configuration</a>·in·the·Logging·User's·Guide</li></ul><h3·id="print-the-configuration-of-all-handlers"·class="section-heading">153 <a·href="logger.html#get_primary_config/0"><code·class="inline">logger:get_primary_config()</code></a>.</p><h4>See·also</h4><ul><li><a·href="logger.html#i/0">logger:i()</a></li><li><a·href="logger_chapter.html#configuration">Configuration</a>·in·the·Logging·User's·Guide</li></ul><h3·id="print-the-configuration-of-all-handlers"·class="section-heading">
154 ··<a·href="#print-the-configuration-of-all-handlers"·class="hover-link">154 ··<a·href="#print-the-configuration-of-all-handlers"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">Print·the·configuration·of·all·handlers.</span>157 ··<span·class="text">Print·the·configuration·of·all·handlers.</span>
158 </h3>158 </h3>
159 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">i</span><span·class="p"·data-group-id="5681588081-1">(</span><span·class="ss">handlers</span><span·class="p"·data-group-id="5681588081-1">)</span><span·class="p">.</span><span·class="w">159 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">i</span><span·class="p"·data-group-id="1992298580-1">(</span><span·class="ss">handlers</span><span·class="p"·data-group-id="1992298580-1">)</span><span·class="p">.</span><span·class="w">
160 </span><span·class="n">Handler</span><span·class="w">·</span><span·class="nc">configuration</span><span·class="p">:</span><span·class="w">160 </span><span·class="n">Handler</span><span·class="w">·</span><span·class="nc">configuration</span><span·class="p">:</span><span·class="w">
161 ····</span><span·class="n">Id</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">default</span><span·class="w">161 ····</span><span·class="n">Id</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">default</span><span·class="w">
162 ········</span><span·class="n">Module</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="w">162 ········</span><span·class="n">Module</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="w">
163 ········</span><span·class="n">Level</span><span·class="p">:</span><span·class="w">··</span><span·class="ss">all</span><span·class="w">163 ········</span><span·class="n">Level</span><span·class="p">:</span><span·class="w">··</span><span·class="ss">all</span><span·class="w">
164 ········</span><span·class="n">Formatter</span><span·class="p">:</span><span·class="w">164 ········</span><span·class="n">Formatter</span><span·class="p">:</span><span·class="w">
165 ············</span><span·class="n">Module</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">logger_formatter</span><span·class="w">165 ············</span><span·class="n">Module</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">logger_formatter</span><span·class="w">
166 ············</span><span·class="n">Config</span><span·class="p">:</span><span·class="w">166 ············</span><span·class="n">Config</span><span·class="p">:</span><span·class="w">
Offset 169, 18 lines modifiedOffset 169, 18 lines modified
169 ········</span><span·class="n">Filter</span><span·class="w">·</span><span·class="n">Default</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">stop</span><span·class="w">169 ········</span><span·class="n">Filter</span><span·class="w">·</span><span·class="n">Default</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">stop</span><span·class="w">
170 ········</span><span·class="n">Filters</span><span·class="p">:</span><span·class="w">170 ········</span><span·class="n">Filters</span><span·class="p">:</span><span·class="w">
171 ············</span><span·class="n">Id</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">remote_gl</span><span·class="w">171 ············</span><span·class="n">Id</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">remote_gl</span><span·class="w">
172 ················</span><span·class="n">Fun</span><span·class="p">:</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">remote_gl</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">172 ················</span><span·class="n">Fun</span><span·class="p">:</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">remote_gl</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">
173 ················</span><span·class="n">Arg</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">stop</span><span·class="w">173 ················</span><span·class="n">Arg</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">stop</span><span·class="w">
174 ············</span><span·class="n">Id</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">domain</span><span·class="w">174 ············</span><span·class="n">Id</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">domain</span><span·class="w">
175 ················</span><span·class="n">Fun</span><span·class="p">:</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">domain</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">175 ················</span><span·class="n">Fun</span><span·class="p">:</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">domain</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">
176 ················</span><span·class="n">Arg</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="5681588081-2">{</span><span·class="ss">log</span><span·class="p">,</span><span·class="ss">super</span><span·class="p">,</span><span·class="p"·data-group-id="5681588081-3">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="ss">sasl</spa[·...·truncated·by·diffoscope;·len:·96,·SHA:·fe8b2d3abfa7382fe334ffe0017770240e72cd89fd6cdecef826c051eb9402a2·...·]-2">}</span><span·class="w">176 ················</span><span·class="n">Arg</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="1992298580-2">{</span><span·class="ss">log</span><span·class="p">,</span><span·class="ss">super</span><span·class="p">,</span><span·class="p"·data-group-id="1992298580-3">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="ss">sasl</spa[·...·truncated·by·diffoscope;·len:·96,·SHA:·73e7e56fdefa6fd1c221cbbc5dff7869be1712be53bc5d77e09476f10700f1ce·...·]-2">}</span><span·class="w">
177 ············</span><span·class="n">Id</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">no_domain</span><span·class="w">177 ············</span><span·class="n">Id</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">no_domain</span><span·class="w">
178 ················</span><span·class="n">Fun</span><span·class="p">:</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">domain</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">178 ················</span><span·class="n">Fun</span><span·class="p">:</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">domain</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">
179 ················</span><span·class="n">Arg</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="5681588081-4">{</span><span·class="ss">log</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="p"·data-group-id="5681588081-5">[</span><span·class="p"·data-group-id="5681588081-5">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·bcda0ea38bf3748ef314e7787d5a58e5756c25f448b0edb4ebf27ceb51cc37ed·...·]-4">}</span><span·class="w">179 ················</span><span·class="n">Arg</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="1992298580-4">{</span><span·class="ss">log</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="p"·data-group-id="1992298580-5">[</span><span·class="p"·data-group-id="1992298580-5">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·4eef75d09461eb21e63e37a21fdc58039e5415ea4b65f6e939093f9afa249a91·...·]-4">}</span><span·class="w">
180 ········</span><span·class="n">Handler</span><span·class="w">·</span><span·class="n">Config</span><span·class="p">:</span><span·class="w">180 ········</span><span·class="n">Handler</span><span·class="w">·</span><span·class="n">Config</span><span·class="p">:</span><span·class="w">
181 ············</span><span·class="nc">burst_limit_enable</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">181 ············</span><span·class="nc">burst_limit_enable</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">
182 ············</span><span·class="nc">burst_limit_max_count</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">500</span><span·class="w">182 ············</span><span·class="nc">burst_limit_max_count</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">500</span><span·class="w">
183 ············</span><span·class="nc">burst_limit_window_time</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">1000</span><span·class="w">183 ············</span><span·class="nc">burst_limit_window_time</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">1000</span><span·class="w">
184 ············</span><span·class="nc">drop_mode_qlen</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">200</span><span·class="w">184 ············</span><span·class="nc">drop_mode_qlen</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">200</span><span·class="w">
185 ············</span><span·class="nc">filesync_repeat_interval</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">no_repeat</span><span·class="w">185 ············</span><span·class="nc">filesync_repeat_interval</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">no_repeat</span><span·class="w">
186 ············</span><span·class="nc">flush_qlen</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">1000</span><span·class="w">186 ············</span><span·class="nc">flush_qlen</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">1000</span><span·class="w">
Offset 211, 15 lines modifiedOffset 211, 15 lines modified
211 level·to·<code·class="inline">info</code></p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">kernel</span><span·class="w">·</span><span·class="ss">logger_level</span><span·class="w">·</span><span·class="ss">info</span><span·class="w">211 level·to·<code·class="inline">info</code></p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">kernel</span><span·class="w">·</span><span·class="ss">logger_level</span><span·class="w">·</span><span·class="ss">info</span><span·class="w">
212 </span><span·class="o">=</span><span·class="n">PROGRESS</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="o">==</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">4</span><span·class="o">-</span><span·class="n">Nov</span><span·class="o">-</span><span·class="mi">2019</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">33</span><span·class="p">:</span><span·class="mf">11.742069</span><span·class="w">·</span><span·class="o">==</span><span·class="o">=</span><span·class="w">212 </span><span·class="o">=</span><span·class="n">PROGRESS</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="o">==</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">4</span><span·class="o">-</span><span·class="n">Nov</span><span·class="o">-</span><span·class="mi">2019</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">33</span><span·class="p">:</span><span·class="mf">11.742069</span><span·class="w">·</span><span·class="o">==</span><span·class="o">=</span><span·class="w">
213 ····</span><span·class="nc">application</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">kernel</span><span·class="w">213 ····</span><span·class="nc">application</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">kernel</span><span·class="w">
214 ····</span><span·class="nc">started_at</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">nonode@nohost</span><span·class="w">214 ····</span><span·class="nc">started_at</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">nonode@nohost</span><span·class="w">
215 </span><span·class="o">=</span><span·class="n">PROGRESS</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="o">==</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">4</span><span·class="o">-</span><span·class="n">Nov</span><span·class="o">-</span><span·class="mi">2019</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">33</span><span·class="p">:</span><span·class="mf">11.746546</span><span·class="w">·</span><span·class="o">==</span><span·class="o">=</span><span·class="w">215 </span><span·class="o">=</span><span·class="n">PROGRESS</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="o">==</span><span·class="o">==</span><span·class="w">·</span><span·class="mi">4</span><span·class="o">-</span><span·class="n">Nov</span><span·class="o">-</span><span·class="mi">2019</span><span·class="p">:</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">33</span><span·class="p">:</span><span·class="mf">11.746546</span><span·class="w">·</span><span·class="o">==</span><span·class="o">=</span><span·class="w">
216 ····</span><span·class="nc">application</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">stdlib</span><span·class="w">216 ····</span><span·class="nc">application</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">stdlib</span><span·class="w">
217 ····</span><span·class="nc">started_at</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">nonode@nohost</span><span·class="w">217 ····</span><span·class="nc">started_at</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">nonode@nohost</span><span·class="w">
218 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V10</span><span·class="p">.</span><span·class="mf">5.3</span><span·class="w">··</span><span·class="p"·data-group-id="8055837796-1">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="8055837796-1">)</span><span·class="w">218 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V10</span><span·class="p">.</span><span·class="mf">5.3</span><span·class="w">··</span><span·class="p"·data-group-id="0725881778-1">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="0725881778-1">)</span><span·class="w">
219 </span><span·class="mi">1</span><span·class="o">&gt;</span></code></pre><h2·id="configure-logger-formatter"·class="section-heading">219 </span><span·class="mi">1</span><span·class="o">&gt;</span></code></pre><h2·id="configure-logger-formatter"·class="section-heading">
220 ··<a·href="#configure-logger-formatter"·class="hover-link">220 ··<a·href="#configure-logger-formatter"·class="hover-link">
221 ····<i·class="ri-link-m"·aria-hidden="true"></i>221 ····<i·class="ri-link-m"·aria-hidden="true"></i>
222 ··</a>222 ··</a>
223 ··<span·class="text">Configure·Logger·formatter</span>223 ··<span·class="text">Configure·Logger·formatter</span>
224 </h2>224 </h2>
225 <p>In·order·to·fit·better·into·your·existing·logging·infrastructure·Logger·can225 <p>In·order·to·fit·better·into·your·existing·logging·infrastructure·Logger·can
Offset 229, 40 lines modifiedOffset 229, 40 lines modified
229 ····<i·class="ri-link-m"·aria-hidden="true"></i>229 ····<i·class="ri-link-m"·aria-hidden="true"></i>
230 ··</a>230 ··</a>
231 ··<span·class="text">Single·line·configuration</span>231 ··<span·class="text">Single·line·configuration</span>
232 </h3>232 </h3>
233 <p>Since·single·line·logging·is·the·default·of·the·built-in·formatter·you·only·have233 <p>Since·single·line·logging·is·the·default·of·the·built-in·formatter·you·only·have
234 to·provide·the·empty·map·as·the·configuration.·The·example·below·uses·the234 to·provide·the·empty·map·as·the·configuration.·The·example·below·uses·the
235 <code·class="inline">sys.config</code>·to·change·the·formatter·configuration.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">cat</span><span·class="w">·</span><span·class="ss">sys</span><span·class="p">.</span><span·class="ss">config</span><span·class="w">235 <code·class="inline">sys.config</code>·to·change·the·formatter·configuration.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">cat</span><span·class="w">·</span><span·class="ss">sys</span><span·class="p">.</span><span·class="ss">config</span><span·class="w">
236 </span><span·class="p"·data-group-id="6459056782-1">[</span><span·class="p"·data-group-id="6459056782-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">236 </span><span·class="p"·data-group-id="5598960938-1">[</span><span·class="p"·data-group-id="5598960938-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
237 ··</span><span·class="p"·data-group-id="6459056782-3">[</span><span·class="p"·data-group-id="6459056782-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">237 ··</span><span·class="p"·data-group-id="5598960938-3">[</span><span·class="p"·data-group-id="5598960938-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
238 ····</span><span·class="p"·data-group-id="6459056782-5">[</span><span·class="p"·data-group-id="6459056782-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">238 ····</span><span·class="p"·data-group-id="5598960938-5">[</span><span·class="p"·data-group-id="5598960938-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">
239 ······</span><span·class="p"·data-group-id="6459056782-7">#{</span><span·class="w">·</span><span·class="ss">formatter</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6459056782-8">{</span><span·class="ss">logger_formatter</span><span·c[·...·truncated·by·diffoscope;·len:·584,·SHA:·73c1be5f320bbdb6d4c9d463c47bfd1a223c9d1733bcc033733c488dfb7cea1a·...·]-1">]</span><span·class="p">.</span><span·class="w">239 ······</span><span·class="p"·data-group-id="5598960938-7">#{</span><span·class="w">·</span><span·class="ss">formatter</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5598960938-8">{</span><span·class="ss">logger_formatter</span><span·c[·...·truncated·by·diffoscope;·len:·584,·SHA:·b733be5636cffaf58d21cab2e4e97b6154c2d4c293f2eb6e0f6a00c43984115f·...·]-1">]</span><span·class="p">.</span><span·class="w">
240 </span><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">config</span><span·class="w">·</span><span·class="ss">sys</span><span·class="w">240 </span><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">config</span><span·class="w">·</span><span·class="ss">sys</span><span·class="w">
241 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V10</span><span·class="p">.</span><span·class="mf">5.1</span><span·class="w">··</span><span·class="p"·data-group-id="6459056782-10">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="6459056782-10">)</span><span·class="gp·unselectable">241 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V10</span><span·class="p">.</span><span·class="mf">5.1</span><span·class="w">··</span><span·class="p"·data-group-id="5598960938-10">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="5598960938-10">)</span><span·class="gp·unselectable">
242 1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="6459056782-11">(</span><span·class="s">&quot;Oh·noes,·an·error&quot;</span><span·class="p"·data-group-id="6459056782-11">)</span><span·class="p">.</span><span·class="w">242 1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="5598960938-11">(</span><span·class="s">&quot;Oh·noes,·an·error&quot;</span><span·class="p"·data-group-id="5598960938-11">)</span><span·class="p">.</span><span·class="w">
243 </span><span·class="mi">1962</span><span·class="o">-</span><span·class="mi">10</span><span·class="o">-</span><span·class="mi">03</span><span·class="n">T11</span><span·class="p">:</span><span·class="mi">07</span><span·class="p">:</span><span·class="mf">47.466763</span><span·class="o">-</span><span·class="mi">04</span><span·class="p">:</span><span·class="mi">00</span><span·class="w">·</span><span·class="nc">error</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Oh</span><span·class="w">·</span><span·class="ss">noes</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">an</span><span·class="w">·</span><span·class="ss">error</span></code></pre><p>However,·if·you·just·want·to·change·it·for·the·current·session·you·can·also·do243 </span><span·class="mi">1962</span><span·class="o">-</span><span·class="mi">10</span><span·class="o">-</span><span·class="mi">03</span><span·class="n">T11</span><span·class="p">:</span><span·class="mi">07</span><span·class="p">:</span><span·class="mf">47.466763</span><span·class="o">-</span><span·class="mi">04</span><span·class="p">:</span><span·class="mi">00</span><span·class="w">·</span><span·class="nc">error</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Oh</span><span·class="w">·</span><span·class="ss">noes</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">an</span><span·class="w">·</span><span·class="ss">error</span></code></pre><p>However,·if·you·just·want·to·change·it·for·the·current·session·you·can·also·do
244 that.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_handler_config</span><span·class="p"·data-group-id="2753595501-1">(</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">formatter</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2753595501-2">{</span><span·class="ss">logg[·...·truncated·by·diffoscope;·len:·268,·SHA:·13852649198371e7e3c843ea427a636c42bbb477b9f6f1dbddeb12ea0a5ab1dd·...·]-1">)</span><span·class="p">.</span><span·class="w">244 that.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_handler_config</span><span·class="p"·data-group-id="5291862562-1">(</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">formatter</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5291862562-2">{</span><span·class="ss">logg[·...·truncated·by·diffoscope;·len:·268,·SHA:·04f35ae9efcab821659c262b60371b0decbc6eac3dbae1f3e4b6d4375346aa01·...·]-1">)</span><span·class="p">.</span><span·class="w">
245 </span><span·class="ss">ok</span><span·class="gp·unselectable">245 </span><span·class="ss">ok</span><span·class="gp·unselectable">
246 2&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="2753595501-4">(</span><span·class="s">&quot;Oh·noes,·another·error&quot;</span><span·class="p"·data-group-id="2753595501-4">)</span><span·class="p">.</span><span·class="w">246 2&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="5291862562-4">(</span><span·class="s">&quot;Oh·noes,·another·error&quot;</span><span·class="p"·data-group-id="5291862562-4">)</span><span·class="p">.</span><span·class="w">
247 </span><span·class="mi">1962</span><span·class="o">-</span><span·class="mi">10</span><span·class="o">-</span><span·class="mi">04</span><span·class="n">T15</span><span·class="p">:</span><span·class="mi">34</span><span·class="p">:</span><span·class="mf">02.648713</span><span·class="o">-</span><span·class="mi">04</span><span·class="p">:</span><span·class="mi">00</span><span·class="w">·</span><span·class="nc">error</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Oh</span><span·class="w">·</span><span·class="ss">noes</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">another</span><span·class="w">·</span><span·class="ss">error</span></code></pre><h4>See·also</h4><ul><li><a·href="logger_formatter.html#t:config/0">logger_formatter's·Configuration</a></li><li><a·href="logger_chapter.html#formatters">Formatters</a>·in·the·Logging·User's·Guide</li><li><a·href="logger.html#set_handler_config/3"><code·class="inline">logger:set_handler_config/3</code></a></li></ul><h3·id="add-file-and-line-number-to-log-entries"·class="section-heading">247 </span><span·class="mi">1962</span><span·class="o">-</span><span·class="mi">10</span><span·class="o">-</span><span·class="mi">04</span><span·class="n">T15</span><span·class="p">:</span><span·class="mi">34</span><span·class="p">:</span><span·class="mf">02.648713</span><span·class="o">-</span><span·class="mi">04</span><span·class="p">:</span><span·class="mi">00</span><span·class="w">·</span><span·class="nc">error</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Oh</span><span·class="w">·</span><span·class="ss">noes</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">another</span><span·class="w">·</span><span·class="ss">error</span></code></pre><h4>See·also</h4><ul><li><a·href="logger_formatter.html#t:config/0">logger_formatter's·Configuration</a></li><li><a·href="logger_chapter.html#formatters">Formatters</a>·in·the·Logging·User's·Guide</li><li><a·href="logger.html#set_handler_config/3"><code·class="inline">logger:set_handler_config/3</code></a></li></ul><h3·id="add-file-and-line-number-to-log-entries"·class="section-heading">
248 ··<a·href="#add-file-and-line-number-to-log-entries"·class="hover-link">248 ··<a·href="#add-file-and-line-number-to-log-entries"·class="hover-link">
249 ····<i·class="ri-link-m"·aria-hidden="true"></i>249 ····<i·class="ri-link-m"·aria-hidden="true"></i>
250 ··</a>250 ··</a>
251 ··<span·class="text">Add·file·and·line·number·to·log·entries</span>251 ··<span·class="text">Add·file·and·line·number·to·log·entries</span>
252 </h3>252 </h3>
253 <p>You·can·change·what·is·printed·to·the·log·by·using·the·formatter·template:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">cat</span><span·class="w">·</span><span·class="ss">sys</span><span·class="p">.</span><span·class="ss">config</span><span·class="w">253 <p>You·can·change·what·is·printed·to·the·log·by·using·the·formatter·template:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">cat</span><span·class="w">·</span><span·class="ss">sys</span><span·class="p">.</span><span·class="ss">config</span><span·class="w">
254 </span><span·class="p"·data-group-id="9958738480-1">[</span><span·class="p"·data-group-id="9958738480-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">254 </span><span·class="p"·data-group-id="0969393871-1">[</span><span·class="p"·data-group-id="0969393871-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
255 ··</span><span·class="p"·data-group-id="9958738480-3">[</span><span·class="p"·data-group-id="9958738480-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">255 ··</span><span·class="p"·data-group-id="0969393871-3">[</span><span·class="p"·data-group-id="0969393871-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
256 ····</span><span·class="p"·data-group-id="9958738480-5">[</span><span·class="p"·data-group-id="9958738480-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">256 ····</span><span·class="p"·data-group-id="0969393871-5">[</span><span·class="p"·data-group-id="0969393871-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">
257 ······</span><span·class="p"·data-group-id="9958738480-7">#{</span><span·class="w">·</span><span·class="ss">formatter</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9958738480-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">257 ······</span><span·class="p"·data-group-id="0969393871-7">#{</span><span·class="w">·</span><span·class="ss">formatter</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0969393871-8">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">
258 ········</span><span·class="p"·data-group-id="9958738480-9">#{</span><span·class="w">·</span><span·class="ss">template</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9958738480-10">[</span><span·class="ss">time</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·1058,·SHA:·508aa622030580fc29e2dc3fa95ebc930874d3841296b9666c85372891c28bf1·...·]-1">]</span><span·class="p">.</span><span·class="w">258 ········</span><span·class="p"·data-group-id="0969393871-9">#{</span><span·class="w">·</span><span·class="ss">template</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0969393871-10">[</span><span·class="ss">time</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·1058,·SHA:·329cc72c2b7d50716578beb9dddf5bcbd07638c083988af61ec8eb98a099b90c·...·]-1">]</span><span·class="p">.</span><span·class="w">
259 </span><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">config</span><span·class="w">·</span><span·class="ss">sys</span><span·class="w">259 </span><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">config</span><span·class="w">·</span><span·class="ss">sys</span><span·class="w">
260 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V10</span><span·class="p">.</span><span·class="mf">5.1</span><span·class="w">··</span><span·class="p"·data-group-id="9958738480-11">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="9958738480-11">)</span><span·class="gp·unselectable">260 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V10</span><span·class="p">.</span><span·class="mf">5.1</span><span·class="w">··</span><span·class="p"·data-group-id="0969393871-11">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="0969393871-11">)</span><span·class="gp·unselectable">
261 1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="9958738480-12">(</span><span·class="s">&quot;Oh·noes,·more·errors&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="9958738480-13">#{</span><span·class="w">·</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</[·...·truncated·by·diffoscope;·len:·369,·SHA:·5a9f812b2d787f54c3bda1c8ec5fee440d5e1f76397f89117ef506fd60004926·...·]-12">)</span><span·class="p">.</span><span·class="w">261 1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="0969393871-12">(</span><span·class="s">&quot;Oh·noes,·more·errors&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="0969393871-13">#{</span><span·class="w">·</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</[·...·truncated·by·diffoscope;·len:·369,·SHA:·0cd9467bf3a3ffbb1ba970b6eb68f097ca6db997e2176a24cc9f33e8283f89e8·...·]-12">)</span><span·class="p">.</span><span·class="w">
262 </span><span·class="mi">1962</span><span·class="o">-</span><span·class="mi">10</span><span·class="o">-</span><span·class="mi">05</span><span·class="n">T07</span><span·class="p">:</span><span·class="mi">37</span><span·class="p">:</span><span·class="mf">44.104241</span><span·class="o">+</span><span·class="mi">02</span><span·class="p">:</span><span·class="mi">00</span><span·class="w">·</span><span·class="ss">shell</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">1</span><span·class="w">·</span><span·class="nc">error</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Oh</span><span·class="w">·</span><span·class="ss">noes</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">more</span><span·class="w">·</span><span·class="ss">errors</span></code></pre><p>Note·that·file·and·line·have·to·be·added·in·the·metadata·by·the·caller·of262 </span><span·class="mi">1962</span><span·class="o">-</span><span·class="mi">10</span><span·class="o">-</span><span·class="mi">05</span><span·class="n">T07</span><span·class="p">:</span><span·class="mi">37</span><span·class="p">:</span><span·class="mf">44.104241</span><span·class="o">+</span><span·class="mi">02</span><span·class="p">:</span><span·class="mi">00</span><span·class="w">·</span><span·class="ss">shell</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">1</span><span·class="w">·</span><span·class="nc">error</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Oh</span><span·class="w">·</span><span·class="ss">noes</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">more</span><span·class="w">·</span><span·class="ss">errors</span></code></pre><p>Note·that·file·and·line·have·to·be·added·in·the·metadata·by·the·caller·of
263 <a·href="logger.html#log/3"><code·class="inline">logger:log/3</code></a>·as·otherwise·Logger·will·not·know·from·where·it·was·called.·The263 <a·href="logger.html#log/3"><code·class="inline">logger:log/3</code></a>·as·otherwise·Logger·will·not·know·from·where·it·was·called.·The
264 file·and·line·number·are·automatically·added·if·you·use·the·<code·class="inline">?LOG_ERROR</code>·macros264 file·and·line·number·are·automatically·added·if·you·use·the·<code·class="inline">?LOG_ERROR</code>·macros
265 in·<code·class="inline">kernel/include/logger.hrl</code>.</p><h4>See·also</h4><ul><li><a·href="logger_formatter.html#t:config/0">logger_formatter's·Configuration</a></li><li><a·href="logger_formatter.html#t:template/0">logger_formatter's·Template</a></li><li><a·href="logger.html#module-macros">Logger·Macros</a></li><li><a·href="logger_chapter.html#metadata">Metadata</a>·in·the·Logging·User's·Guide</li></ul><h2·id="configuring-handlers"·class="section-heading">265 in·<code·class="inline">kernel/include/logger.hrl</code>.</p><h4>See·also</h4><ul><li><a·href="logger_formatter.html#t:config/0">logger_formatter's·Configuration</a></li><li><a·href="logger_formatter.html#t:template/0">logger_formatter's·Template</a></li><li><a·href="logger.html#module-macros">Logger·Macros</a></li><li><a·href="logger_chapter.html#metadata">Metadata</a>·in·the·Logging·User's·Guide</li></ul><h2·id="configuring-handlers"·class="section-heading">
266 ··<a·href="#configuring-handlers"·class="hover-link">266 ··<a·href="#configuring-handlers"·class="hover-link">
267 ····<i·class="ri-link-m"·aria-hidden="true"></i>267 ····<i·class="ri-link-m"·aria-hidden="true"></i>
268 ··</a>268 ··</a>
Offset 271, 67 lines modifiedOffset 271, 67 lines modified
271 <h3·id="print-logs-to-a-file"·class="section-heading">271 <h3·id="print-logs-to-a-file"·class="section-heading">
272 ··<a·href="#print-logs-to-a-file"·class="hover-link">272 ··<a·href="#print-logs-to-a-file"·class="hover-link">
273 ····<i·class="ri-link-m"·aria-hidden="true"></i>273 ····<i·class="ri-link-m"·aria-hidden="true"></i>
274 ··</a>274 ··</a>
275 ··<span·class="text">Print·logs·to·a·file</span>275 ··<span·class="text">Print·logs·to·a·file</span>
276 </h3>276 </h3>
277 <p>Instead·of·printing·the·logs·to·stdout·we·print·them·to·a·rotating·file·log.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">cat</span><span·class="w">·</span><span·class="ss">sys</span><span·class="p">.</span><span·class="ss">config</span><span·class="w">277 <p>Instead·of·printing·the·logs·to·stdout·we·print·them·to·a·rotating·file·log.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">cat</span><span·class="w">·</span><span·class="ss">sys</span><span·class="p">.</span><span·class="ss">config</span><span·class="w">
278 </span><span·class="p"·data-group-id="1733747044-1">[</span><span·class="p"·data-group-id="1733747044-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">278 </span><span·class="p"·data-group-id="4797758272-1">[</span><span·class="p"·data-group-id="4797758272-2">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">
279 ··</span><span·class="p"·data-group-id="1733747044-3">[</span><span·class="p"·data-group-id="1733747044-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">279 ··</span><span·class="p"·data-group-id="4797758272-3">[</span><span·class="p"·data-group-id="4797758272-4">{</span><span·class="ss">logger</span><span·class="p">,</span><span·class="w">
280 ····</span><span·class="p"·data-group-id="1733747044-5">[</span><span·class="p"·data-group-id="1733747044-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">280 ····</span><span·class="p"·data-group-id="4797758272-5">[</span><span·class="p"·data-group-id="4797758272-6">{</span><span·class="ss">handler</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">
281 ······</span><span·class="p"·data-group-id="1733747044-7">#{</span><span·class="w">·</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1733747044-8">#{</span><span·class="w">·</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;log/erlang.log&quot;</span><span·class="p">,</span><span·class="w">281 ······</span><span·class="p"·data-group-id="4797758272-7">#{</span><span·class="w">·</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4797758272-8">#{</span><span·class="w">·</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;log/erlang.log&quot;</span><span·class="p">,</span><span·class="w">
282 ······················</span><span·class="ss">max_no_bytes</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">4096</span><span·class="p">,</span><span·class="w">282 ······················</span><span·class="ss">max_no_bytes</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">4096</span><span·class="p">,</span><span·class="w">
283 ······················</span><span·class="ss">max_no_files</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">5</span><span·class="p"·data-group-id="1733747044-8">}</span><span·class="p">,</span><span·class="w">283 ······················</span><span·class="ss">max_no_files</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">5</span><span·class="p"·data-group-id="4797758272-8">}</span><span·class="p">,</span><span·class="w">
284 ·········</span><span·class="ss">formatter</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1733747044-9">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1733747044-10">#{</span><span·class="p"·data-group-id="1733747044-10">}</span><span·class="p"·data-group-id="173374[·...·truncated·by·diffoscope;·len:·375,·SHA:·47bb0caf20462603ae59900e8aabd30ba8d1f2a866624a6474e45ee286f426ce·...·]-1">]</span><span·class="p">.</span><span·class="w">284 ·········</span><span·class="ss">formatter</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4797758272-9">{</span><span·class="ss">logger_formatter</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4797758272-10">#{</span><span·class="p"·data-group-id="4797758272-10">}</span><span·class="p"·data-group-id="479775[·...·truncated·by·diffoscope;·len:·375,·SHA:·3a786a75645e418e24c07999e1555f73cc99dee8bd1b609109251945d9725181·...·]-1">]</span><span·class="p">.</span><span·class="w">
285 </span><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">config</span><span·class="w">·</span><span·class="ss">sys</span><span·class="w">285 </span><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">config</span><span·class="w">·</span><span·class="ss">sys</span><span·class="w">
286 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V10</span><span·class="p">.</span><span·class="mf">5.1</span><span·class="w">··</span><span·class="p"·data-group-id="1733747044-11">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="1733747044-11">)</span><span·class="gp·unselectable">286 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V10</span><span·class="p">.</span><span·class="mf">5.1</span><span·class="w">··</span><span·class="p"·data-group-id="4797758272-11">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="4797758272-11">)</span><span·class="gp·unselectable">
287 1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="1733747044-12">(</span><span·class="s">&quot;Oh·noes,·even·more·errors&quot;</span><span·class="p"·data-group-id="1733747044-12">)</span><span·class="p">.</span><span·class="w">287 1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="4797758272-12">(</span><span·class="s">&quot;Oh·noes,·even·more·errors&quot;</span><span·class="p"·data-group-id="4797758272-12">)</span><span·class="p">.</span><span·class="w">
288 </span><span·class="ss">ok</span><span·class="gp·unselectable">288 </span><span·class="ss">ok</span><span·class="gp·unselectable">
289 2&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">halt</span><span·class="p"·data-group-id="1733747044-13">(</span><span·class="p"·data-group-id="1733747044-13">)</span><span·class="p">.</span><span·class="w">289 2&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">halt</span><span·class="p"·data-group-id="4797758272-13">(</span><span·class="p"·data-group-id="4797758272-13">)</span><span·class="p">.</span><span·class="w">
290 </span><span·class="sc">$·</span><span·class="ss">cat</span><span·class="w">·</span><span·class="ss">log</span><span·class="o">/</span><span·class="ss">erlang</span><span·class="p">.</span><span·class="ss">log</span><span·class="w">290 </span><span·class="sc">$·</span><span·class="ss">cat</span><span·class="w">·</span><span·class="ss">log</span><span·class="o">/</span><span·class="ss">erlang</span><span·class="p">.</span><span·class="ss">log</span><span·class="w">
291 </span><span·class="mi">2019</span><span·class="o">-</span><span·class="mi">10</span><span·class="o">-</span><span·class="mi">07</span><span·class="n">T11</span><span·class="p">:</span><span·class="mi">47</span><span·class="p">:</span><span·class="mf">16.837958</span><span·class="o">+</span><span·class="mi">02</span><span·class="p">:</span><span·class="mi">00</span><span·class="w">·</span><span·class="nc">error</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Oh</span><span·class="w">·</span><span·class="ss">noes</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">even</span><span·class="w">·</span><span·class="ss">more</span><span·class="w">·</span><span·class="ss">errors</span></code></pre><h4>See·also</h4><ul><li><a·href="logger_std_h.html"><code·class="inline">logger_std_h</code></a></li><li><a·href="logger_chapter.html#handlers">Handlers</a>·in·the·Logging·User's·Guide</li></ul><h3·id="debug-only-handler"·class="section-heading">291 </span><span·class="mi">2019</span><span·class="o">-</span><span·class="mi">10</span><span·class="o">-</span><span·class="mi">07</span><span·class="n">T11</span><span·class="p">:</span><span·class="mi">47</span><span·class="p">:</span><span·class="mf">16.837958</span><span·class="o">+</span><span·class="mi">02</span><span·class="p">:</span><span·class="mi">00</span><span·class="w">·</span><span·class="nc">error</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Oh</span><span·class="w">·</span><span·class="ss">noes</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">even</span><span·class="w">·</span><span·class="ss">more</span><span·class="w">·</span><span·class="ss">errors</span></code></pre><h4>See·also</h4><ul><li><a·href="logger_std_h.html"><code·class="inline">logger_std_h</code></a></li><li><a·href="logger_chapter.html#handlers">Handlers</a>·in·the·Logging·User's·Guide</li></ul><h3·id="debug-only-handler"·class="section-heading">
292 ··<a·href="#debug-only-handler"·class="hover-link">292 ··<a·href="#debug-only-handler"·class="hover-link">
293 ····<i·class="ri-link-m"·aria-hidden="true"></i>293 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Max diff block lines reached; 55951/96966 bytes (57.70%) of diff not shown.
819 B
html2text {}
Max HTML report size reached
6.01 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/logger_disk_log_h.html
    
Offset 160, 20 lines modifiedOffset 160, 20 lines modified
160 sync·if·something·has·actually·been·logged.</p><p>Defaults·to·<code·class="inline">5000</code>·milliseconds.</p><p>If·<code·class="inline">no_repeat</code>·is·set·as·value,·the·repeated·sync·operation·is·disabled.·The160 sync·if·something·has·actually·been·logged.</p><p>Defaults·to·<code·class="inline">5000</code>·milliseconds.</p><p>If·<code·class="inline">no_repeat</code>·is·set·as·value,·the·repeated·sync·operation·is·disabled.·The
161 user·can·also·call·the·<a·href="#filesync/1"><code·class="inline">filesync/1</code></a>·function·to·perform·a161 user·can·also·call·the·<a·href="#filesync/1"><code·class="inline">filesync/1</code></a>·function·to·perform·a
162 disk_log·sync.</p></li></ul><p>Other·configuration·parameters·exist,·to·be·used·for·customizing·the·overload162 disk_log·sync.</p></li></ul><p>Other·configuration·parameters·exist,·to·be·used·for·customizing·the·overload
163 protection·behaviour.·The·same·parameters·are·used·both·in·the·standard·handler163 protection·behaviour.·The·same·parameters·are·used·both·in·the·standard·handler
164 and·the·disk_log·handler,·and·are·documented·in·the164 and·the·disk_log·handler,·and·are·documented·in·the
165 <a·href="logger_chapter.html#overload_protection"><code·class="inline">User's·Guide</code></a>.</p><p>Notice·that·when·changing·the·configuration·of·the·handler·in·runtime,·the165 <a·href="logger_chapter.html#overload_protection"><code·class="inline">User's·Guide</code></a>.</p><p>Notice·that·when·changing·the·configuration·of·the·handler·in·runtime,·the
166 disk_log·options·(<code·class="inline">file</code>,·<code·class="inline">type</code>,·<code·class="inline">max_no_files</code>,·<code·class="inline">max_no_bytes</code>)·must·not·be166 disk_log·options·(<code·class="inline">file</code>,·<code·class="inline">type</code>,·<code·class="inline">max_no_files</code>,·<code·class="inline">max_no_bytes</code>)·must·not·be
167 modified.</p><p>Example·of·adding·a·disk_log·handler:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="7422015236-1">(</span><span·class="ss">my_disk_log_h</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_disk_log_h</span><span·class="p">,</span><span·class="w">167 modified.</p><p>Example·of·adding·a·disk_log·handler:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="1211650345-1">(</span><span·class="ss">my_disk_log_h</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_disk_log_h</span><span·class="p">,</span><span·class="w">
168 ···················</span><span·class="p"·data-group-id="7422015236-2">#{</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7422015236-3">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;./my_disk_log&quot;</span><span·class="p">,</span><span·class="w">168 ···················</span><span·class="p"·data-group-id="1211650345-2">#{</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1211650345-3">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;./my_disk_log&quot;</span><span·class="p">,</span><span·class="w">
169 ·································</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">wrap</span><span·class="p">,</span><span·class="w">169 ·································</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">wrap</span><span·class="p">,</span><span·class="w">
170 ·································</span><span·class="ss">max_no_files</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">170 ·································</span><span·class="ss">max_no_files</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">
171 ·································</span><span·class="ss">max_no_bytes</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">10000</span><span·class="p">,</span><span·class="w">171 ·································</span><span·class="ss">max_no_bytes</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">10000</span><span·class="p">,</span><span·class="w">
172 ·································</span><span·class="ss">filesync_repeat_interval</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">1000</span><span·class="p"·data-group-id="7422015236-3">}</span><span·class="p"·data-group-id="7422015236-2">}</span><span·class="p"·data-group-id="7422015236-1">)</span><span·class="p">.</span></code></pre><p>To·use·the·disk_log·handler·instead·of·the·default·standard·handler·when172 ·································</span><span·class="ss">filesync_repeat_interval</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">1000</span><span·class="p"·data-group-id="1211650345-3">}</span><span·class="p"·data-group-id="1211650345-2">}</span><span·class="p"·data-group-id="1211650345-1">)</span><span·class="p">.</span></code></pre><p>To·use·the·disk_log·handler·instead·of·the·default·standard·handler·when
173 starting·an·Erlang·node,·change·the·Kernel·default·logger·to·use173 starting·an·Erlang·node,·change·the·Kernel·default·logger·to·use
174 <code·class="inline">logger_disk_log_h</code>.·Example:</p><pre><code·class="text">erl·-kernel·logger·'[{handler,default,logger_disk_log_h,174 <code·class="inline">logger_disk_log_h</code>.·Example:</p><pre><code·class="text">erl·-kernel·logger·'[{handler,default,logger_disk_log_h,
175 ······················#{config·=&gt;·#{file·=&gt;·&quot;./system_disk_log&quot;}}}]'</code></pre><h2·id="module-see-also"·class="section-heading">175 ······················#{config·=&gt;·#{file·=&gt;·&quot;./system_disk_log&quot;}}}]'</code></pre><h2·id="module-see-also"·class="section-heading">
176 ··<a·href="#module-see-also"·class="hover-link">176 ··<a·href="#module-see-also"·class="hover-link">
177 ····<i·class="ri-link-m"·aria-hidden="true"></i>177 ····<i·class="ri-link-m"·aria-hidden="true"></i>
178 ··</a>178 ··</a>
179 ··<span·class="text">See·Also</span>179 ··<span·class="text">See·Also</span>
Offset 269, 15 lines modifiedOffset 269, 15 lines modified
269 ······<p·class="built-using">269 ······<p·class="built-using">
270 ········Built·using270 ········Built·using
271 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the271 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
272 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>272 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
273 ······</p>273 ······</p>
274 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>274 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
275 ····</footer>275 ····</footer>
276 ··</div>276 ··</div>
277 </main>277 </main>
278 </div>278 </div>
279 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>279 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
280 ··<script>280 ··<script>
281 ··let·initialized·=·false;281 ··let·initialized·=·false;
560 B
html2text {}
Max HTML report size reached
16.9 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/logger_filters.html
    
Offset 245, 35 lines modifiedOffset 245, 35 lines modified
245 ······</div>245 ······</div>
  
246 <p>This·filter·provides·a·way·of·filtering·log·events·based·on·a·<code·class="inline">domain</code>·field·in246 <p>This·filter·provides·a·way·of·filtering·log·events·based·on·a·<code·class="inline">domain</code>·field·in
247 <code·class="inline">Metadata</code>.·This·field·is·optional,·and·the·purpose·of·using·it·is·to·group·log247 <code·class="inline">Metadata</code>.·This·field·is·optional,·and·the·purpose·of·using·it·is·to·group·log
248 events·from,·for·example,·a·specific·functional·area.·This·allows·filtering·or248 events·from,·for·example,·a·specific·functional·area.·This·allows·filtering·or
249 other·specialized·treatment·in·a·Logger·handler.</p><p>A·domain·field·must·be·a·list·of·atoms,·creating·smaller·and·more·specialized249 other·specialized·treatment·in·a·Logger·handler.</p><p>A·domain·field·must·be·a·list·of·atoms,·creating·smaller·and·more·specialized
250 domains·as·the·list·grows·longer.·The·greatest·domain·is·<code·class="inline">[]</code>,·which·comprises250 domains·as·the·list·grows·longer.·The·greatest·domain·is·<code·class="inline">[]</code>,·which·comprises
251 all·possible·domains.</p><p>For·example,·consider·the·following·domains:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">D1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6983135816-1">[</span><span·class="ss">otp</span><span·class="p"·data-group-id="6983135816-1">]</span><span·class="w">251 all·possible·domains.</p><p>For·example,·consider·the·following·domains:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">D1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1628673664-1">[</span><span·class="ss">otp</span><span·class="p"·data-group-id="1628673664-1">]</span><span·class="w">
252 </span><span·class="n">D2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6983135816-2">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">sasl</span><span·class="p"·data-group-id="6983135816-2">]</span></code></pre><p><code·class="inline">D1</code>·is·the·greatest·of·the·two,·and·is·said·to·be·a·super-domain·of·<code·class="inline">D2</code>.·<code·class="inline">D2</code>252 </span><span·class="n">D2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1628673664-2">[</span><span·class="ss">otp</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">sasl</span><span·class="p"·data-group-id="1628673664-2">]</span></code></pre><p><code·class="inline">D1</code>·is·the·greatest·of·the·two,·and·is·said·to·be·a·super-domain·of·<code·class="inline">D2</code>.·<code·class="inline">D2</code>
253 is·a·sub-domain·<code·class="inline">D1</code>.·Both·<code·class="inline">D1</code>·and·<code·class="inline">D2</code>·are·sub-domains·of·<code·class="inline">[]</code>.</p><p>The·above·domains·are·used·for·logs·originating·from·Erlang/OTP.·D1·specifies253 is·a·sub-domain·<code·class="inline">D1</code>.·Both·<code·class="inline">D1</code>·and·<code·class="inline">D2</code>·are·sub-domains·of·<code·class="inline">[]</code>.</p><p>The·above·domains·are·used·for·logs·originating·from·Erlang/OTP.·D1·specifies
254 that·the·log·event·comes·from·Erlang/OTP·in·general,·and·D2·indicates·that·the254 that·the·log·event·comes·from·Erlang/OTP·in·general,·and·D2·indicates·that·the
255 log·event·is·a·so·called·<a·href="logger_chapter.html#sasl_reports">SASL·report</a>.</p><p>The·<code·class="inline">Extra</code>·parameter·to·the·<a·href="#domain/2"><code·class="inline">domain/2</code></a>·function·is·specified·when255 log·event·is·a·so·called·<a·href="logger_chapter.html#sasl_reports">SASL·report</a>.</p><p>The·<code·class="inline">Extra</code>·parameter·to·the·<a·href="#domain/2"><code·class="inline">domain/2</code></a>·function·is·specified·when
256 adding·the·filter·via·<a·href="logger.html#add_primary_filter/2"><code·class="inline">logger:add_primary_filter/2</code></a>·or256 adding·the·filter·via·<a·href="logger.html#add_primary_filter/2"><code·class="inline">logger:add_primary_filter/2</code></a>·or
257 <a·href="logger.html#add_handler_filter/3"><code·class="inline">logger:add_handler_filter/3</code></a>.</p><p>The·filter·compares·the·value·of·the·<code·class="inline">domain</code>·field·in·the·log·event's·metadata257 <a·href="logger.html#add_handler_filter/3"><code·class="inline">logger:add_handler_filter/3</code></a>.</p><p>The·filter·compares·the·value·of·the·<code·class="inline">domain</code>·field·in·the·log·event's·metadata
258 (<code·class="inline">Domain</code>)·against·<code·class="inline">MatchDomain</code>.·The·filter·matches·if·the·value·of·<code·class="inline">Compare</code>258 (<code·class="inline">Domain</code>)·against·<code·class="inline">MatchDomain</code>.·The·filter·matches·if·the·value·of·<code·class="inline">Compare</code>
259 is:</p><ul><li><p><strong><code·class="inline">sub</code></strong>·-·and·<code·class="inline">Domain</code>·is·equal·to·or·a·sub-domain·of·<code·class="inline">MatchDomain</code>,·that259 is:</p><ul><li><p><strong><code·class="inline">sub</code></strong>·-·and·<code·class="inline">Domain</code>·is·equal·to·or·a·sub-domain·of·<code·class="inline">MatchDomain</code>,·that
260 is,·if·<code·class="inline">MatchDomain</code>·is·a·prefix·of·<code·class="inline">Domain</code>.</p></li><li><p><strong><code·class="inline">super</code></strong>·-·and·<code·class="inline">Domain</code>·is·equal·to·or·a·super-domain·of·<code·class="inline">MatchDomain</code>,260 is,·if·<code·class="inline">MatchDomain</code>·is·a·prefix·of·<code·class="inline">Domain</code>.</p></li><li><p><strong><code·class="inline">super</code></strong>·-·and·<code·class="inline">Domain</code>·is·equal·to·or·a·super-domain·of·<code·class="inline">MatchDomain</code>,
261 that·is,·if·<code·class="inline">Domain</code>·is·a·prefix·of·<code·class="inline">MatchDomain</code>.</p></li><li><p><strong><code·class="inline">equal</code></strong>·-·and·<code·class="inline">Domain</code>·is·equal·to·<code·class="inline">MatchDomain</code>.</p></li><li><p><strong><code·class="inline">not_equal</code></strong>·-·and·<code·class="inline">Domain</code>·differs·from·<code·class="inline">MatchDomain</code>,·or·if·there·is·no261 that·is,·if·<code·class="inline">Domain</code>·is·a·prefix·of·<code·class="inline">MatchDomain</code>.</p></li><li><p><strong><code·class="inline">equal</code></strong>·-·and·<code·class="inline">Domain</code>·is·equal·to·<code·class="inline">MatchDomain</code>.</p></li><li><p><strong><code·class="inline">not_equal</code></strong>·-·and·<code·class="inline">Domain</code>·differs·from·<code·class="inline">MatchDomain</code>,·or·if·there·is·no
262 domain·field·in·metadata.</p></li><li><p><strong><code·class="inline">undefined</code></strong>·-·and·there·is·no·domain·field·in·metadata.·In·this·case262 domain·field·in·metadata.</p></li><li><p><strong><code·class="inline">undefined</code></strong>·-·and·there·is·no·domain·field·in·metadata.·In·this·case
263 <code·class="inline">MatchDomain</code>·must·be·set·to·<code·class="inline">[]</code>.</p></li></ul><p>If·the·filter·matches·and·<code·class="inline">Action</code>·is·<code·class="inline">log</code>,·the·log·event·is·allowed.·If·the263 <code·class="inline">MatchDomain</code>·must·be·set·to·<code·class="inline">[]</code>.</p></li></ul><p>If·the·filter·matches·and·<code·class="inline">Action</code>·is·<code·class="inline">log</code>,·the·log·event·is·allowed.·If·the
264 filter·matches·and·<code·class="inline">Action</code>·is·<code·class="inline">stop</code>,·the·log·event·is·stopped.</p><p>If·the·filter·does·not·match,·it·returns·<code·class="inline">ignore</code>,·meaning·that·other·filters,264 filter·matches·and·<code·class="inline">Action</code>·is·<code·class="inline">stop</code>,·the·log·event·is·stopped.</p><p>If·the·filter·does·not·match,·it·returns·<code·class="inline">ignore</code>,·meaning·that·other·filters,
265 or·the·value·of·the·configuration·parameter·<code·class="inline">filter_default</code>,·decide·if·the265 or·the·value·of·the·configuration·parameter·<code·class="inline">filter_default</code>,·decide·if·the
266 event·is·allowed·or·not.</p><p>Log·events·that·do·not·contain·any·domain·field,·match·only·when·<code·class="inline">Compare</code>·is266 event·is·allowed·or·not.</p><p>Log·events·that·do·not·contain·any·domain·field,·match·only·when·<code·class="inline">Compare</code>·is
267 equal·to·<code·class="inline">undefined</code>·or·<code·class="inline">not_equal</code>.</p><p>Example:·stop·all·events·with·domain·<code·class="inline">[otp,·sasl·|·_]</code></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_handler_config</span><span·class="p"·data-group-id="1541905577-1">(</span><span·class="ss">h1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">filter_default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">log</span><span·class="p"·data-group-id="1541905577-1">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·this·is·the·default</span><span·class="w">267 equal·to·<code·class="inline">undefined</code>·or·<code·class="inline">not_equal</code>.</p><p>Example:·stop·all·events·with·domain·<code·class="inline">[otp,·sasl·|·_]</code></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_handler_config</span><span·class="p"·data-group-id="7536341547-1">(</span><span·class="ss">h1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">filter_default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">log</span><span·class="p"·data-group-id="7536341547-1">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·this·is·the·default</span><span·class="w">
268 </span><span·class="ss">ok</span><span·class="gp·unselectable">268 </span><span·class="ss">ok</span><span·class="gp·unselectable">
269 2&gt;·</span><span·class="n">Filter</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1541905577-2">{</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">domain</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·511,·SHA:·eda15383baa500c453033c26970496adfb1e2c2e0682d25a385af95869b3a56e·...·]7-2">}</span><span·class="p">.</span><span·class="w">269 2&gt;·</span><span·class="n">Filter</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7536341547-2">{</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">domain</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·511,·SHA:·d4d1a3f7dbd0a44a554db9d6770b60e525380cdea648407bd7d2c3a288f2cf28·...·]7-2">}</span><span·class="p">.</span><span·class="w">
270 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">270 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">
271 3&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler_filter</span><span·class="p"·data-group-id="1541905577-5">(</span><span·class="ss">h1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">no_sasl</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Filter</span><span·class="p"·data-group-id="1541905577-5">)</span><span·class="p">.</span><span·class="w">271 3&gt;·</span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler_filter</span><span·class="p"·data-group-id="7536341547-5">(</span><span·class="ss">h1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">no_sasl</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Filter</span><span·class="p"·data-group-id="7536341547-5">)</span><span·class="p">.</span><span·class="w">
272 </span><span·class="ss">ok</span></code></pre>272 </span><span·class="ss">ok</span></code></pre>
273 ··</section>273 ··</section>
274 </section>274 </section>
275 <section·class="detail"·id="level/2">275 <section·class="detail"·id="level/2">
  
276 ··<div·class="detail-header">276 ··<div·class="detail-header">
277 ····<a·href="#level/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">277 ····<a·href="#level/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 308, 17 lines modifiedOffset 308, 17 lines modified
308 matches·log·events·by·comparing·the·log·level·with·a·specified·<code·class="inline">MatchLevel</code></p><p>The·<code·class="inline">Extra</code>·parameter·is·specified·when·adding·the·filter·via308 matches·log·events·by·comparing·the·log·level·with·a·specified·<code·class="inline">MatchLevel</code></p><p>The·<code·class="inline">Extra</code>·parameter·is·specified·when·adding·the·filter·via
309 <a·href="logger.html#add_primary_filter/2"><code·class="inline">logger:add_primary_filter/2</code></a>·or·<a·href="logger.html#add_handler_filter/3"><code·class="inline">logger:add_handler_filter/3</code></a>.</p><p>The·filter·compares·the·value·of·the·event's·log·level·(<code·class="inline">Level</code>)·to·<code·class="inline">MatchLevel</code>309 <a·href="logger.html#add_primary_filter/2"><code·class="inline">logger:add_primary_filter/2</code></a>·or·<a·href="logger.html#add_handler_filter/3"><code·class="inline">logger:add_handler_filter/3</code></a>.</p><p>The·filter·compares·the·value·of·the·event's·log·level·(<code·class="inline">Level</code>)·to·<code·class="inline">MatchLevel</code>
310 by·calling310 by·calling
311 <a·href="logger.html#compare_levels/2"><code·class="inline">logger:compare_levels(Level,·MatchLevel)</code></a>.·The311 <a·href="logger.html#compare_levels/2"><code·class="inline">logger:compare_levels(Level,·MatchLevel)</code></a>.·The
312 filter·matches·if·the·value·of·<code·class="inline">Operator</code>·is:</p><ul><li><p><strong><code·class="inline">neq</code></strong>·-·and·the·compare·function·returns·<code·class="inline">lt</code>·or·<code·class="inline">gt</code>.</p></li><li><p><strong><code·class="inline">eq</code></strong>·-·and·the·compare·function·returns·<code·class="inline">eq</code>.</p></li><li><p><strong><code·class="inline">lt</code></strong>·-·and·the·compare·function·returns·<code·class="inline">lt</code>.</p></li><li><p><strong><code·class="inline">gt</code></strong>·-·and·the·compare·function·returns·<code·class="inline">gt</code>.</p></li><li><p><strong><code·class="inline">lteq</code></strong>·-·and·the·compare·function·returns·<code·class="inline">lt</code>·or·<code·class="inline">eq</code>.</p></li><li><p><strong><code·class="inline">gteq</code></strong>·-·and·the·compare·function·returns·<code·class="inline">gt</code>·or·<code·class="inline">eq</code>.</p></li></ul><p>If·the·filter·matches·and·<code·class="inline">Action</code>·is·<code·class="inline">log</code>,·the·log·event·is·allowed.·If·the312 filter·matches·if·the·value·of·<code·class="inline">Operator</code>·is:</p><ul><li><p><strong><code·class="inline">neq</code></strong>·-·and·the·compare·function·returns·<code·class="inline">lt</code>·or·<code·class="inline">gt</code>.</p></li><li><p><strong><code·class="inline">eq</code></strong>·-·and·the·compare·function·returns·<code·class="inline">eq</code>.</p></li><li><p><strong><code·class="inline">lt</code></strong>·-·and·the·compare·function·returns·<code·class="inline">lt</code>.</p></li><li><p><strong><code·class="inline">gt</code></strong>·-·and·the·compare·function·returns·<code·class="inline">gt</code>.</p></li><li><p><strong><code·class="inline">lteq</code></strong>·-·and·the·compare·function·returns·<code·class="inline">lt</code>·or·<code·class="inline">eq</code>.</p></li><li><p><strong><code·class="inline">gteq</code></strong>·-·and·the·compare·function·returns·<code·class="inline">gt</code>·or·<code·class="inline">eq</code>.</p></li></ul><p>If·the·filter·matches·and·<code·class="inline">Action</code>·is·<code·class="inline">log</code>,·the·log·event·is·allowed.·If·the
313 filter·matches·and·<code·class="inline">Action</code>·is·<code·class="inline">stop</code>,·the·log·event·is·stopped.</p><p>If·the·filter·does·not·match,·it·returns·<code·class="inline">ignore</code>,·meaning·that·other·filters,313 filter·matches·and·<code·class="inline">Action</code>·is·<code·class="inline">stop</code>,·the·log·event·is·stopped.</p><p>If·the·filter·does·not·match,·it·returns·<code·class="inline">ignore</code>,·meaning·that·other·filters,
314 or·the·value·of·the·configuration·parameter·<code·class="inline">filter_default</code>,·will·decide·if·the314 or·the·value·of·the·configuration·parameter·<code·class="inline">filter_default</code>,·will·decide·if·the
315 event·is·allowed·or·not.</p><p>Example:·only·allow·debug·level·log·events</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_handler_config</span><span·class="p"·data-group-id="3363824655-1">(</span><span·class="ss">h1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">filter_default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p"·data-group-id="3363824655-1">)</span><span·class="p">.</span><span·class="w">315 event·is·allowed·or·not.</p><p>Example:·only·allow·debug·level·log·events</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">set_handler_config</span><span·class="p"·data-group-id="5690640252-1">(</span><span·class="ss">h1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">filter_default</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p"·data-group-id="5690640252-1">)</span><span·class="p">.</span><span·class="w">
316 </span><span·class="n">Filter</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3363824655-2">{</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">level</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·329,·SHA:·20d02629a0478fd582215f7b808dec34e56e45ccc2cf1c80d15689c3d6ce845c·...·]-2">}</span><span·class="p">.</span><span·class="w">316 </span><span·class="n">Filter</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5690640252-2">{</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">logger_filters</span><span·class="p">:</span><span·class="ss">level</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·329,·SHA:·88412cf479bc3dbf0d8151a7e7a83210f7abdb08e619f68bf7f6c6fc9c303bee·...·]-2">}</span><span·class="p">.</span><span·class="w">
317 </span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler_filter</span><span·class="p"·data-group-id="3363824655-4">(</span><span·class="ss">h1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">debug_only</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Filter</span><span·class="p"·data-group-id="3363824655-4">)</span><span·class="p">.</span><span·class="w">317 </span><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler_filter</span><span·class="p"·data-group-id="5690640252-4">(</span><span·class="ss">h1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">debug_only</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Filter</span><span·class="p"·data-group-id="5690640252-4">)</span><span·class="p">.</span><span·class="w">
318 </span><span·class="ss">ok</span></code></pre>318 </span><span·class="ss">ok</span></code></pre>
319 ··</section>319 ··</section>
320 </section>320 </section>
321 <section·class="detail"·id="progress/2">321 <section·class="detail"·id="progress/2">
  
322 ··<div·class="detail-header">322 ··<div·class="detail-header">
323 ····<a·href="#progress/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">323 ····<a·href="#progress/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 402, 15 lines modifiedOffset 402, 15 lines modified
402 ······<p·class="built-using">402 ······<p·class="built-using">
403 ········Built·using403 ········Built·using
404 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the404 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
405 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>405 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
406 ······</p>406 ······</p>
407 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>407 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
408 ····</footer>408 ····</footer>
409 ··</div>409 ··</div>
410 </main>410 </main>
411 </div>411 </div>
412 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>412 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
413 ··<script>413 ··<script>
414 ··let·initialized·=·false;414 ··let·initialized·=·false;
627 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/logger_formatter.html
    
Offset 607, 15 lines modifiedOffset 607, 15 lines modified
607 ······<p·class="built-using">607 ······<p·class="built-using">
608 ········Built·using608 ········Built·using
609 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the609 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
610 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>610 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
611 ······</p>611 ······</p>
612 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>612 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
613 ····</footer>613 ····</footer>
614 ··</div>614 ··</div>
615 </main>615 </main>
616 </div>616 </div>
617 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>617 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
618 ··<script>618 ··<script>
619 ··let·initialized·=·false;619 ··let·initialized·=·false;
736 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/logger_handler.html
    
Offset 580, 15 lines modifiedOffset 580, 15 lines modified
580 ······<p·class="built-using">580 ······<p·class="built-using">
581 ········Built·using581 ········Built·using
582 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the582 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
583 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>583 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
584 ······</p>584 ······</p>
585 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>585 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
586 ····</footer>586 ····</footer>
587 ··</div>587 ··</div>
588 </main>588 </main>
589 </div>589 </div>
590 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>590 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
591 ··<script>591 ··<script>
592 ··let·initialized·=·false;592 ··let·initialized·=·false;
697 B
html2text {}
Max HTML report size reached
5.76 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/logger_std_h.html
    
Offset 181, 17 lines modifiedOffset 181, 17 lines modified
181 but·only·performs·a·new·sync·if·something·has·actually·been·logged.</p><p>If·<code·class="inline">no_repeat</code>·is·set·as·value,·the·repeated·file·sync·operation·is·disabled,181 but·only·performs·a·new·sync·if·something·has·actually·been·logged.</p><p>If·<code·class="inline">no_repeat</code>·is·set·as·value,·the·repeated·file·sync·operation·is·disabled,
182 and·it·is·the·operating·system·settings·that·determine·how·quickly·or·slowly182 and·it·is·the·operating·system·settings·that·determine·how·quickly·or·slowly
183 data·is·written·to·disk.·The·user·can·also·call·the·<a·href="#filesync/1"><code·class="inline">filesync/1</code></a>·function·to183 data·is·written·to·disk.·The·user·can·also·call·the·<a·href="#filesync/1"><code·class="inline">filesync/1</code></a>·function·to
184 perform·a·file·sync.</p><p>Defaults·to·<code·class="inline">5000</code>·milliseconds.</p></li></ul><p>Other·configuration·parameters·exist,·to·be·used·for·customizing·the·overload184 perform·a·file·sync.</p><p>Defaults·to·<code·class="inline">5000</code>·milliseconds.</p></li></ul><p>Other·configuration·parameters·exist,·to·be·used·for·customizing·the·overload
185 protection·behaviour.·The·same·parameters·are·used·both·in·the·standard·handler185 protection·behaviour.·The·same·parameters·are·used·both·in·the·standard·handler
186 and·the·disk_log·handler,·and·are·documented·in·the186 and·the·disk_log·handler,·and·are·documented·in·the
187 <a·href="logger_chapter.html#overload_protection"><code·class="inline">User's·Guide</code></a>.</p><p>Notice·that·if·changing·the·configuration·of·the·handler·in·runtime,·the·<code·class="inline">type</code>,187 <a·href="logger_chapter.html#overload_protection"><code·class="inline">User's·Guide</code></a>.</p><p>Notice·that·if·changing·the·configuration·of·the·handler·in·runtime,·the·<code·class="inline">type</code>,
188 <code·class="inline">file</code>,·or·<code·class="inline">modes</code>·parameters·must·not·be·modified.</p><p>Example·of·adding·a·standard·handler:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="1328972311-1">(</span><span·class="ss">my_standard_h</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">188 <code·class="inline">file</code>,·or·<code·class="inline">modes</code>·parameters·must·not·be·modified.</p><p>Example·of·adding·a·standard·handler:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">logger</span><span·class="p">:</span><span·class="nf">add_handler</span><span·class="p"·data-group-id="5888956977-1">(</span><span·class="ss">my_standard_h</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">logger_std_h</span><span·class="p">,</span><span·class="w">
189 ···················</span><span·class="p"·data-group-id="1328972311-2">#{</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1328972311-3">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;./system_info.log&quot;</span><span·class="p">,</span><span·class="w">189 ···················</span><span·class="p"·data-group-id="5888956977-2">#{</span><span·class="ss">config</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5888956977-3">#{</span><span·class="ss">file</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;./system_info.log&quot;</span><span·class="p">,</span><span·class="w">
190 ·································</span><span·class="ss">filesync_repeat_interval</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">1000</span><span·class="p"·data-group-id="1328972311-3">}</span><span·class="p"·data-group-id="1328972311-2">}</span><span·class="p"·data-group-id="1328972311-1">)</span><span·class="p">.</span></code></pre><p>To·set·the·default·handler,·that·starts·initially·with·the·Kernel·application,190 ·································</span><span·class="ss">filesync_repeat_interval</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">1000</span><span·class="p"·data-group-id="5888956977-3">}</span><span·class="p"·data-group-id="5888956977-2">}</span><span·class="p"·data-group-id="5888956977-1">)</span><span·class="p">.</span></code></pre><p>To·set·the·default·handler,·that·starts·initially·with·the·Kernel·application,
191 to·log·to·file·instead·of·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#t:standard_io/0"><code·class="inline">standard_io</code></a>,·change·the191 to·log·to·file·instead·of·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#t:standard_io/0"><code·class="inline">standard_io</code></a>,·change·the
192 Kernel·default·logger·configuration.·Example:</p><pre><code·class="text">erl·-kernel·logger·'[{handler,default,logger_std_h,192 Kernel·default·logger·configuration.·Example:</p><pre><code·class="text">erl·-kernel·logger·'[{handler,default,logger_std_h,
193 ······················#{config·=&gt;·#{file·=&gt;·&quot;./log.log&quot;}}}]'</code></pre><p>An·example·of·how·to·replace·the·standard·handler·with·a·disk_log·handler·at193 ······················#{config·=&gt;·#{file·=&gt;·&quot;./log.log&quot;}}}]'</code></pre><p>An·example·of·how·to·replace·the·standard·handler·with·a·disk_log·handler·at
194 startup·is·found·in·the·<a·href="logger_disk_log_h.html"><code·class="inline">logger_disk_log_h</code></a>·manual.</p><h2·id="module-see-also"·class="section-heading">194 startup·is·found·in·the·<a·href="logger_disk_log_h.html"><code·class="inline">logger_disk_log_h</code></a>·manual.</p><h2·id="module-see-also"·class="section-heading">
195 ··<a·href="#module-see-also"·class="hover-link">195 ··<a·href="#module-see-also"·class="hover-link">
196 ····<i·class="ri-link-m"·aria-hidden="true"></i>196 ····<i·class="ri-link-m"·aria-hidden="true"></i>
197 ··</a>197 ··</a>
Offset 288, 15 lines modifiedOffset 288, 15 lines modified
288 ······<p·class="built-using">288 ······<p·class="built-using">
289 ········Built·using289 ········Built·using
290 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the290 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
291 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>291 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
292 ······</p>292 ······</p>
293 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>293 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
294 ····</footer>294 ····</footer>
295 ··</div>295 ··</div>
296 </main>296 </main>
297 </div>297 </div>
298 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>298 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
299 ··<script>299 ··<script>
300 ··let·initialized·=·false;300 ··let·initialized·=·false;
562 B
html2text {}
Max HTML report size reached
6.27 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/net.html
    
Offset 553, 21 lines modifiedOffset 553, 21 lines modified
  
553 ··········<pre·translate="no"><span·class="attribute">-type</span>·ifaddrs_filter_fun()·::·fun((<a·href="#t:ifaddrs/0">ifaddrs</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()).</pre>553 ··········<pre·translate="no"><span·class="attribute">-type</span>·ifaddrs_filter_fun()·::·fun((<a·href="#t:ifaddrs/0">ifaddrs</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()).</pre>
  
554 ······</div>554 ······</div>
  
555 <p>Interface·address·filtering·selector·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:function/0"><code·class="inline">function/0</code></a>.</p><p>For·each·<code·class="inline">ifaddrs</code>·entry,·return·either·<code·class="inline">true</code>·to·keep·the·entry555 <p>Interface·address·filtering·selector·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:function/0"><code·class="inline">function/0</code></a>.</p><p>For·each·<code·class="inline">ifaddrs</code>·entry,·return·either·<code·class="inline">true</code>·to·keep·the·entry
556 or·<code·class="inline">false</code>·to·discard·the·entry.</p><p>For·example,·to·get·an·interface·list·which·only·contains556 or·<code·class="inline">false</code>·to·discard·the·entry.</p><p>For·example,·to·get·an·interface·list·which·only·contains
557 non-<code·class="inline">loopback</code>·<code·class="inline">inet</code>·interfaces:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">net</span><span·class="p">:</span><span·class="nf">getifaddrs</span><span·class="p"·data-group-id="9595109811-1">(</span><span·class="w">557 non-<code·class="inline">loopback</code>·<code·class="inline">inet</code>·interfaces:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">net</span><span·class="p">:</span><span·class="nf">getifaddrs</span><span·class="p"·data-group-id="8803289370-1">(</span><span·class="w">
558 ····</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="9595109811-2">(</span><span·class="p"·data-group-id="9595109811-3">#{</span><span·class="w">·</span><span·class="ss">addr</span><span·class="w">··</span><span·class="p">:=</span><span·class="w">·</span><span·class="p"·data-group-id="9595109811-4">#{</span>[·...·truncated·by·diffoscope;·len:·172,·SHA:·32f6d0691679aaaf716957b0087abf44d464d5dffef8b81a8d1ce4321fc9b2ac·...·]-4">}</span><span·class="p">,</span><span·class="w">558 ····</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="8803289370-2">(</span><span·class="p"·data-group-id="8803289370-3">#{</span><span·class="w">·</span><span·class="ss">addr</span><span·class="w">··</span><span·class="p">:=</span><span·class="w">·</span><span·class="p"·data-group-id="8803289370-4">#{</span>[·...·truncated·by·diffoscope;·len:·172,·SHA:·5858487cce28c890837e5f58c045039c060e4ff5088e1fd733ade42a086a4fe5·...·]-4">}</span><span·class="p">,</span><span·class="w">
559 ············</span><span·class="ss">flags</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Flags</span><span·class="p"·data-group-id="9595109811-3">}</span><span·class="p"·data-group-id="9595109811-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">559 ············</span><span·class="ss">flags</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Flags</span><span·class="p"·data-group-id="8803289370-3">}</span><span·class="p"·data-group-id="8803289370-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
560 ··········</span><span·class="ow">not</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">member</span><span·class="p"·data-group-id="9595109811-5">(</span><span·class="ss">loopback</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Flags</span><span·class="p"·data-group-id="9595109811-5">)</span><span·class="p">;</span><span·class="w">560 ··········</span><span·class="ow">not</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">member</span><span·class="p"·data-group-id="8803289370-5">(</span><span·class="ss">loopback</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Flags</span><span·class="p"·data-group-id="8803289370-5">)</span><span·class="p">;</span><span·class="w">
561 ········</span><span·class="p"·data-group-id="9595109811-6">(</span><span·class="p">_</span><span·class="p"·data-group-id="9595109811-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">561 ········</span><span·class="p"·data-group-id="8803289370-6">(</span><span·class="p">_</span><span·class="p"·data-group-id="8803289370-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
562 ··········</span><span·class="ss">false</span><span·class="w">562 ··········</span><span·class="ss">false</span><span·class="w">
563 ····</span><span·class="k">end</span><span·class="p"·data-group-id="9595109811-1">)</span><span·class="p">.</span></code></pre>563 ····</span><span·class="k">end</span><span·class="p"·data-group-id="8803289370-1">)</span><span·class="p">.</span></code></pre>
564 ··</section>564 ··</section>
565 </section>565 </section>
566 <section·class="detail"·id="t:ifaddrs_filter_map/0">566 <section·class="detail"·id="t:ifaddrs_filter_map/0">
  
567 ··<div·class="detail-header">567 ··<div·class="detail-header">
568 ····<a·href="#t:ifaddrs_filter_map/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">568 ····<a·href="#t:ifaddrs_filter_map/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">
569 ······<i·class="ri-link-m"·aria-hidden="true"></i>569 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1350, 15 lines modifiedOffset 1350, 15 lines modified
1350 ······<p·class="built-using">1350 ······<p·class="built-using">
1351 ········Built·using1351 ········Built·using
1352 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1352 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1353 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1353 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1354 ······</p>1354 ······</p>
1355 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1355 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1356 ····</footer>1356 ····</footer>
1357 ··</div>1357 ··</div>
1358 </main>1358 </main>
1359 </div>1359 </div>
1360 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1360 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1361 ··<script>1361 ··<script>
1362 ··let·initialized·=·false;1362 ··let·initialized·=·false;
705 B
html2text {}
Max HTML report size reached
4.46 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/net_adm.html
    
Offset 475, 16 lines modifiedOffset 475, 16 lines modified
475 ···················Name·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),475 ···················Name·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),
476 ···················Port·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),476 ···················Port·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),
477 ···················Reason·::·address·|·<a·href="file.html#t:posix/0">file:posix</a>().</pre>477 ···················Reason·::·address·|·<a·href="file.html#t:posix/0">file:posix</a>().</pre>
  
478 ······</div>478 ······</div>
  
479 <p>Returns·the·names·and·associated·port·numbers·of·the·Erlang·nodes·that·<code·class="inline">epmd</code>479 <p>Returns·the·names·and·associated·port·numbers·of·the·Erlang·nodes·that·<code·class="inline">epmd</code>
480 registered·at·the·specified·host.</p><p>Similar·to·<code·class="inline">epmd·-names</code>,·see·<a·href="../../../../erts-16.0/doc/html/epmd_cmd.html"><code·class="inline">erts:epmd</code></a>.</p><p>Returns·<code·class="inline">{error,·address}</code>·if·<code·class="inline">epmd</code>·is·not·operational.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(arne@dunn)1&gt;·</span><span·class="nc">net_adm</span><span·class="p">:</span><span·class="nf">names</span><span·class="p"·data-group-id="2479231916-1">(</span><span·class="p"·data-group-id="2479231916-1">)</span><span·class="p">.</span><span·class="w">480 registered·at·the·specified·host.</p><p>Similar·to·<code·class="inline">epmd·-names</code>,·see·<a·href="../../../../erts-16.0/doc/html/epmd_cmd.html"><code·class="inline">erts:epmd</code></a>.</p><p>Returns·<code·class="inline">{error,·address}</code>·if·<code·class="inline">epmd</code>·is·not·operational.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(arne@dunn)1&gt;·</span><span·class="nc">net_adm</span><span·class="p">:</span><span·class="nf">names</span><span·class="p"·data-group-id="7318524011-1">(</span><span·class="p"·data-group-id="7318524011-1">)</span><span·class="p">.</span><span·class="w">
481 </span><span·class="p"·data-group-id="2479231916-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2479231916-3">[</span><span·class="p"·data-group-id="2479231916-4">{</span><span·class="s">&quot;arne&quot;</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·161,·SHA:·7b72e3cc68669b765f223ffb338cf5c8ee4aeedf33fd26abf4a8de51bfed21ea·...·]-2">}</span></code></pre>481 </span><span·class="p"·data-group-id="7318524011-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7318524011-3">[</span><span·class="p"·data-group-id="7318524011-4">{</span><span·class="s">&quot;arne&quot;</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·161,·SHA:·713d896f1588974e57ff248c5fa67d751a8a6cdca79955fab62f780776ba6c25·...·]-2">}</span></code></pre>
482 ··</section>482 ··</section>
483 </section>483 </section>
484 <section·class="detail"·id="ping/1">484 <section·class="detail"·id="ping/1">
  
485 ··<div·class="detail-header">485 ··<div·class="detail-header">
486 ····<a·href="#ping/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">486 ····<a·href="#ping/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
487 ······<i·class="ri-link-m"·aria-hidden="true"></i>487 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 642, 15 lines modifiedOffset 642, 15 lines modified
642 ······<p·class="built-using">642 ······<p·class="built-using">
643 ········Built·using643 ········Built·using
644 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the644 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
645 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>645 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
646 ······</p>646 ······</p>
647 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>647 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
648 ····</footer>648 ····</footer>
649 ··</div>649 ··</div>
650 </main>650 </main>
651 </div>651 </div>
652 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>652 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
653 ··<script>653 ··<script>
654 ··let·initialized·=·false;654 ··let·initialized·=·false;
713 B
html2text {}
Max HTML report size reached
27.4 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/net_kernel.html
    
Offset 128, 17 lines modifiedOffset 128, 17 lines modified
  
  
128 ····<section·id="moduledoc">128 ····<section·id="moduledoc">
129 <p>Erlang·networking·kernel.</p><p>The·net·kernel·is·a·system·process,·registered·as·<code·class="inline">net_kernel</code>,·which·must·be129 <p>Erlang·networking·kernel.</p><p>The·net·kernel·is·a·system·process,·registered·as·<code·class="inline">net_kernel</code>,·which·must·be
130 operational·for·distributed·Erlang·to·work.·The·purpose·of·this·process·is·to130 operational·for·distributed·Erlang·to·work.·The·purpose·of·this·process·is·to
131 implement·parts·of·the·BIFs·<a·href="../../../../erts-16.0/doc/html/erlang.html#spawn/4"><code·class="inline">spawn/4</code></a>·and131 implement·parts·of·the·BIFs·<a·href="../../../../erts-16.0/doc/html/erlang.html#spawn/4"><code·class="inline">spawn/4</code></a>·and
132 <a·href="../../../../erts-16.0/doc/html/erlang.html#spawn_link/4"><code·class="inline">spawn_link/4</code></a>,·and·to·provide·monitoring·of·the·network.</p><p>An·Erlang·node·is·started·using·command-line·flag·<code·class="inline">-name</code>·or·<code·class="inline">-sname</code>:</p><pre><code·class="text">$·erl·-sname·foobar</code></pre><p>It·is·also·possible·to·call·<a·href="#start/2"><code·class="inline">net_kernel:start(foobar,·#{})</code></a>132 <a·href="../../../../erts-16.0/doc/html/erlang.html#spawn_link/4"><code·class="inline">spawn_link/4</code></a>,·and·to·provide·monitoring·of·the·network.</p><p>An·Erlang·node·is·started·using·command-line·flag·<code·class="inline">-name</code>·or·<code·class="inline">-sname</code>:</p><pre><code·class="text">$·erl·-sname·foobar</code></pre><p>It·is·also·possible·to·call·<a·href="#start/2"><code·class="inline">net_kernel:start(foobar,·#{})</code></a>
133 directly·from·the·normal·Erlang·shell·prompt:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">net_kernel</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="6616614663-1">(</span><span·class="ss">foobar</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6616614663-2">#{</span><span·class="ss">name_domain</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w"[·...·truncated·by·diffoscope;·len:·137,·SHA:·69df99238a4542d6b98b2dcae3f05b9eba74e6532cdad7910ad5f2c2006aee82·...·]-1">)</span><span·class="p">.</span><span·class="w">133 directly·from·the·normal·Erlang·shell·prompt:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">net_kernel</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="7958247690-1">(</span><span·class="ss">foobar</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7958247690-2">#{</span><span·class="ss">name_domain</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w"[·...·truncated·by·diffoscope;·len:·137,·SHA:·94ab623186f6092bd064e7508acb7c608a4232d6f0ce4c285172f8ede29d38d0·...·]-1">)</span><span·class="p">.</span><span·class="w">
134 </span><span·class="p"·data-group-id="6616614663-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.64</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="6616614663-3">}</span><span·class="w">134 </span><span·class="p"·data-group-id="7958247690-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.64</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="7958247690-3">}</span><span·class="w">
135 </span><span·class="p"·data-group-id="6616614663-4">(</span><span·class="ss">foobar@gringotts</span><span·class="p"·data-group-id="6616614663-4">)</span><span·class="mi">2</span><span·class="o">&gt;</span></code></pre><p>If·the·node·is·started·with·command-line·flag·<code·class="inline">-sname</code>,·the·node·name·is135 </span><span·class="p"·data-group-id="7958247690-4">(</span><span·class="ss">foobar@gringotts</span><span·class="p"·data-group-id="7958247690-4">)</span><span·class="mi">2</span><span·class="o">&gt;</span></code></pre><p>If·the·node·is·started·with·command-line·flag·<code·class="inline">-sname</code>,·the·node·name·is
136 <code·class="inline">foobar@Host</code>,·where·<code·class="inline">Host</code>·is·the·short·name·of·the·host·(not·the·fully136 <code·class="inline">foobar@Host</code>,·where·<code·class="inline">Host</code>·is·the·short·name·of·the·host·(not·the·fully
137 qualified·domain·name).·If·started·with·flag·<code·class="inline">-name</code>,·the·node·name·is137 qualified·domain·name).·If·started·with·flag·<code·class="inline">-name</code>,·the·node·name·is
138 <code·class="inline">foobar@Host</code>,·where·<code·class="inline">Host</code>·is·the·fully·qualified·domain·name.·For·more138 <code·class="inline">foobar@Host</code>,·where·<code·class="inline">Host</code>·is·the·fully·qualified·domain·name.·For·more
139 information,·see·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html"><code·class="inline">erl</code></a>.</p><p>Normally,·connections·are·established·automatically·when·another·node·is139 information,·see·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html"><code·class="inline">erl</code></a>.</p><p>Normally,·connections·are·established·automatically·when·another·node·is
140 referenced.·This·functionality·can·be·disabled·by·setting·Kernel·configuration140 referenced.·This·functionality·can·be·disabled·by·setting·Kernel·configuration
141 parameter·<code·class="inline">dist_auto_connect</code>·to·<code·class="inline">never</code>,·see·<a·href="kernel_app.html"><code·class="inline">kernel(6)</code></a>.·In141 parameter·<code·class="inline">dist_auto_connect</code>·to·<code·class="inline">never</code>,·see·<a·href="kernel_app.html"><code·class="inline">kernel(6)</code></a>.·In
142 this·case,·connections·must·be·established·explicitly·by·calling142 this·case,·connections·must·be·established·explicitly·by·calling
Offset 690, 21 lines modifiedOffset 690, 21 lines modified
690 node·through·the·newly·established·connection.</li><li><code·class="inline">nodedown</code>·messages·are·delivered·after·all·the·signals·from·the·remote·node690 node·through·the·newly·established·connection.</li><li><code·class="inline">nodedown</code>·messages·are·delivered·after·all·the·signals·from·the·remote·node
691 over·the·connection·have·been·delivered.</li><li><code·class="inline">nodeup</code>·messages·are·delivered·after·the·corresponding·node·appears·in691 over·the·connection·have·been·delivered.</li><li><code·class="inline">nodeup</code>·messages·are·delivered·after·the·corresponding·node·appears·in
692 results·from·<code·class="inline">erlang:nodes()</code>.</li><li><code·class="inline">nodedown</code>·messages·are·delivered·after·the·corresponding·node·has·disappeared692 results·from·<code·class="inline">erlang:nodes()</code>.</li><li><code·class="inline">nodedown</code>·messages·are·delivered·after·the·corresponding·node·has·disappeared
693 in·results·from·<code·class="inline">erlang:nodes()</code>.</li><li>As·of·OTP·23.0,·a·<code·class="inline">nodedown</code>·message·for·a·connection·being·taken·down·will·be693 in·results·from·<code·class="inline">erlang:nodes()</code>.</li><li>As·of·OTP·23.0,·a·<code·class="inline">nodedown</code>·message·for·a·connection·being·taken·down·will·be
694 delivered·before·a·<code·class="inline">nodeup</code>·message·due·to·a·new·connection·to·the·same·node.694 delivered·before·a·<code·class="inline">nodeup</code>·message·due·to·a·new·connection·to·the·same·node.
695 Prior·to·OTP·23.0,·this·was·not·guaranteed·to·be·the·case.</li></ul><p>The·format·of·the·node·status·change·messages·depends·on·<code·class="inline">Options</code>.·If·<code·class="inline">Options</code>695 Prior·to·OTP·23.0,·this·was·not·guaranteed·to·be·the·case.</li></ul><p>The·format·of·the·node·status·change·messages·depends·on·<code·class="inline">Options</code>.·If·<code·class="inline">Options</code>
696 is·the·empty·list·or·if·<a·href="#monitor_nodes/1"><code·class="inline">net_kernel:monitor_nodes/1</code></a>·is·called,·the·format·is·as696 is·the·empty·list·or·if·<a·href="#monitor_nodes/1"><code·class="inline">net_kernel:monitor_nodes/1</code></a>·is·called,·the·format·is·as
697 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1511329080-1">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="1511329080-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·197,·SHA:·fda3b24cdbaebb7cb394c49b9d3fe9738f1793da97c451f1f841f2abdc9c525b·...·]-2">}</span><span·class="w">697 follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5617484056-1">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="5617484056-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·197,·SHA:·5f6449f96323b7e299666e5f65e5492358b5f15190306a509bfb1e330fe52bc4·...·]-2">}</span><span·class="w">
698 ··</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">node</span><span·class="p"·data-group-id="1511329080-3">(</span><span·class="p"·data-group-id="1511329080-3">)</span></code></pre><p>When·<code·class="inline">Options</code>·is·the·empty·map·or·empty·list,·the·caller·will·only·subscribe698 ··</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">node</span><span·class="p"·data-group-id="5617484056-3">(</span><span·class="p"·data-group-id="5617484056-3">)</span></code></pre><p>When·<code·class="inline">Options</code>·is·the·empty·map·or·empty·list,·the·caller·will·only·subscribe
699 for·status·change·messages·for·visible·nodes.·That·is,·only·nodes·that·appear·in699 for·status·change·messages·for·visible·nodes.·That·is,·only·nodes·that·appear·in
700 the·result·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#nodes/0"><code·class="inline">erlang:nodes/0</code></a>.</p><p>If·<code·class="inline">Options</code>·equals·anything·other·than·the·empty·list,·the·format·of·the·status700 the·result·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#nodes/0"><code·class="inline">erlang:nodes/0</code></a>.</p><p>If·<code·class="inline">Options</code>·equals·anything·other·than·the·empty·list,·the·format·of·the·status
701 change·messages·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2065667218-1">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p"·data-group-id="2065667218-1">}</span><[·...·truncated·by·diffoscope;·len:·347,·SHA:·3e3707a81a3c58277e2f5d933c1bc3107a69789e04be81adc5dedda693f7193e·...·]-2">}</span><span·class="w">701 change·messages·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1643358782-1">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p"·data-group-id="1643358782-1">}</span><[·...·truncated·by·diffoscope;·len:·347,·SHA:·b7953f9693c717b05eedcd79bfe99bfdafe23be48e0be5e999ad5b7bd6bff655·...·]-2">}</span><span·class="w">
702 ··</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">node</span><span·class="p"·data-group-id="2065667218-3">(</span><span·class="p"·data-group-id="2065667218-3">)</span><span·class="w">702 ··</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">node</span><span·class="p"·data-group-id="1643358782-3">(</span><span·class="p"·data-group-id="1643358782-3">)</span><span·class="w">
703 ··</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2065667218-4">#{</span><span·class="n">Tag</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Val</span><span·class="p"·data-group-id="2065667218-4">}</span><span·class="w">·</span><span·class="p">|</span><spa[·...·truncated·by·diffoscope;·len:·320,·SHA:·4ab298789e80b8d9b43a53c4f96610cf19513a4a05d23af74a5590c5e73233ff·...·]-5">]</span></code></pre><p><code·class="inline">Info</code>·is·either·a·map·or·a·list·of·2-tuples.·Its·content·depends·on·<code·class="inline">Options</code>.703 ··</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1643358782-4">#{</span><span·class="n">Tag</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Val</span><span·class="p"·data-group-id="1643358782-4">}</span><span·class="w">·</span><span·class="p">|</span><spa[·...·truncated·by·diffoscope;·len:·320,·SHA:·b8ec5ee9823680b59d4c7b6d3a6fcc257a1c622b1c04e5ccc0f11997f23aa4a5·...·]-5">]</span></code></pre><p><code·class="inline">Info</code>·is·either·a·map·or·a·list·of·2-tuples.·Its·content·depends·on·<code·class="inline">Options</code>.
704 If·<code·class="inline">Options</code>·is·a·map,·<code·class="inline">Info</code>·will·also·be·a·map.·If·<code·class="inline">Options</code>·is·a·list,·<code·class="inline">Info</code>704 If·<code·class="inline">Options</code>·is·a·map,·<code·class="inline">Info</code>·will·also·be·a·map.·If·<code·class="inline">Options</code>·is·a·list,·<code·class="inline">Info</code>
705 will·also·be·a·list.</p><p>When·<code·class="inline">Options</code>·is·a·map,·currently·the·following·associations·are·allowed:</p><ul><li><p><strong><code·class="inline">connection_id·=&gt;·boolean()</code></strong>·-·If·the·value·of·the·association·equals705 will·also·be·a·list.</p><p>When·<code·class="inline">Options</code>·is·a·map,·currently·the·following·associations·are·allowed:</p><ul><li><p><strong><code·class="inline">connection_id·=&gt;·boolean()</code></strong>·-·If·the·value·of·the·association·equals
706 <code·class="inline">true</code>,·a·<code·class="inline">connection_id·=&gt;·ConnectionId</code>·association·will·be·included·in·the706 <code·class="inline">true</code>,·a·<code·class="inline">connection_id·=&gt;·ConnectionId</code>·association·will·be·included·in·the
707 <code·class="inline">Info</code>·map·where·<code·class="inline">ConnectionId</code>·is·the·connection·identifier·of·the·connection707 <code·class="inline">Info</code>·map·where·<code·class="inline">ConnectionId</code>·is·the·connection·identifier·of·the·connection
708 coming·up·or·going·down.·For·more·info·about·this·connection·identifier·see708 coming·up·or·going·down.·For·more·info·about·this·connection·identifier·see
709 the·documentation·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#connection_id">erlang:nodes/2</a>.</p></li><li><p><strong><code·class="inline">node_type·=&gt;·NodeType</code></strong>·-·Valid·values·for·<code·class="inline">NodeType</code>:</p><ul><li><p><strong><code·class="inline">visible</code></strong>·-·Subscribe·to·node·status·change·messages·for·visible·nodes709 the·documentation·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#connection_id">erlang:nodes/2</a>.</p></li><li><p><strong><code·class="inline">node_type·=&gt;·NodeType</code></strong>·-·Valid·values·for·<code·class="inline">NodeType</code>:</p><ul><li><p><strong><code·class="inline">visible</code></strong>·-·Subscribe·to·node·status·change·messages·for·visible·nodes
710 only.·The·association·<code·class="inline">node_type·=&gt;·visible</code>·will·be·included·in·the·<code·class="inline">Info</code>710 only.·The·association·<code·class="inline">node_type·=&gt;·visible</code>·will·be·included·in·the·<code·class="inline">Info</code>
Offset 730, 31 lines modifiedOffset 730, 31 lines modified
730 only.·The·tuple·<code·class="inline">{node_type,·hidden}</code>·will·be·included·in·the·<code·class="inline">Info</code>·list.</p></li><li><p><strong><code·class="inline">all</code></strong>·-·Subscribe·to·node·status·change·messages·for·both·visible·and730 only.·The·tuple·<code·class="inline">{node_type,·hidden}</code>·will·be·included·in·the·<code·class="inline">Info</code>·list.</p></li><li><p><strong><code·class="inline">all</code></strong>·-·Subscribe·to·node·status·change·messages·for·both·visible·and
731 hidden·nodes.·The·tuple·<code·class="inline">{node_type,·visible·|·hidden}</code>·will·be·included·in731 hidden·nodes.·The·tuple·<code·class="inline">{node_type,·visible·|·hidden}</code>·will·be·included·in
732 the·<code·class="inline">Info</code>·list.</p></li></ul><p>If·no·<code·class="inline">{node_type,·NodeType}</code>·option·has·been·given.·The·caller·will·subscribe732 the·<code·class="inline">Info</code>·list.</p></li></ul><p>If·no·<code·class="inline">{node_type,·NodeType}</code>·option·has·been·given.·The·caller·will·subscribe
733 for·status·change·messages·for·visible·nodes·only,·but·<em>no</em>733 for·status·change·messages·for·visible·nodes·only,·but·<em>no</em>
734 <code·class="inline">{node_type,·visible}</code>·tuple·will·be·included·in·the·<code·class="inline">Info</code>·list.</p></li><li><p><strong><code·class="inline">nodedown_reason</code></strong>·-·The·tuple·<code·class="inline">{nodedown_reason,·Reason}</code>·will·be·included734 <code·class="inline">{node_type,·visible}</code>·tuple·will·be·included·in·the·<code·class="inline">Info</code>·list.</p></li><li><p><strong><code·class="inline">nodedown_reason</code></strong>·-·The·tuple·<code·class="inline">{nodedown_reason,·Reason}</code>·will·be·included
735 in·the·<code·class="inline">Info</code>·list·for·<code·class="inline">nodedown</code>·messages.</p><p>See·the·documentation·of·the735 in·the·<code·class="inline">Info</code>·list·for·<code·class="inline">nodedown</code>·messages.</p><p>See·the·documentation·of·the
736 <a·href="net_kernel.html#nodedown_reasons"><code·class="inline">nodedown_reason·=&gt;·boolean()</code></a>·association736 <a·href="net_kernel.html#nodedown_reasons"><code·class="inline">nodedown_reason·=&gt;·boolean()</code></a>·association
737 above·for·information·about·possible·<code·class="inline">Reason</code>·values.</p></li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(a@localhost)1&gt;·</span><span·class="nc">net_kernel</span><span·class="p">:</span><span·class="nf">monitor_nodes</span><span·class="p"·data-group-id="3298168361-1">(</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3298168361-2">#{</span><span·class="ss">connection_id</span><span·class="p">=&gt;</span><span·class="ss">true</span><span·class[·...·truncated·by·diffoscope;·len:·362,·SHA:·41f9acd0a1729b827753d07bf691c76e75287fe936eac337fca511c7296daa12·...·]-1">)</span><span·class="p">.</span><span·class="w">737 above·for·information·about·possible·<code·class="inline">Reason</code>·values.</p></li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(a@localhost)1&gt;·</span><span·class="nc">net_kernel</span><span·class="p">:</span><span·class="nf">monitor_nodes</span><span·class="p"·data-group-id="8672586079-1">(</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8672586079-2">#{</span><span·class="ss">connection_id</span><span·class="p">=&gt;</span><span·class="ss">true</span><span·class[·...·truncated·by·diffoscope;·len:·362,·SHA:·db6f5cbd8ee2cdc3d30c8af840738cafee3479270efeff3444a194638bd73e1c·...·]-1">)</span><span·class="p">.</span><span·class="w">
738 </span><span·class="nf">ok</span><span·class="w">738 </span><span·class="nf">ok</span><span·class="w">
739 </span><span·class="p"·data-group-id="3298168361-3">(</span><span·class="ss">a@localhost</span><span·class="p"·data-group-id="3298168361-3">)</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nf">flush</span><span·class="p"·data-group-id="3298168361[·...·truncated·by·diffoscope;·len:·53,·SHA:·9df6741a0718acc5f20f55150ccbf9c4af4924977983a48c32075c57c615f0bc·...·]-4">)</span><span·class="p">.</span><span·class="w">739 </span><span·class="p"·data-group-id="8672586079-3">(</span><span·class="ss">a@localhost</span><span·class="p"·data-group-id="8672586079-3">)</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nf">flush</span><span·class="p"·data-group-id="8672586079[·...·truncated·by·diffoscope;·len:·53,·SHA:·c5fcde21dfc15f5812968f5bcebc6f8f2b253428b70d32e460e956ca1e4fcbc2·...·]-4">)</span><span·class="p">.</span><span·class="w">
740 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="3298168361-5">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">740 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="8672586079-5">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">
741 ··················</span><span·class="p"·data-group-id="3298168361-6">#{</span><span·class="ss">connection_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">3067552</span><span·class="p">,</span><span·class="ss">node_type</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·169,·SHA:·8939f6cf9e7154b2b4e9ba22f081eef748bc138e429d325b57f91c09b37d0b9e·...·]-5">}</span><span·class="w">741 ··················</span><span·class="p"·data-group-id="8672586079-6">#{</span><span·class="ss">connection_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">3067552</span><span·class="p">,</span><span·class="ss">node_type</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·169,·SHA:·068faa9bb06feeb9a4b9f1d36120c0710db59f4716f7405c6f79dee328fe87cc·...·]-5">}</span><span·class="w">
742 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="3298168361-7">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">c@localhost</span><span·class="p">,</span><span·class="w">742 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="8672586079-7">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">c@localhost</span><span·class="p">,</span><span·class="w">
743 ··················</span><span·class="p"·data-group-id="3298168361-8">#{</span><span·class="ss">connection_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">13892107</span><span·class="p">,</span><span·class="ss">node_type</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·169,·SHA:·0dad818b0e4a10c4ea9fd9cdf7fd43651935d4e5f733430386328a8793175c62·...·]-7">}</span><span·class="w">743 ··················</span><span·class="p"·data-group-id="8672586079-8">#{</span><span·class="ss">connection_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">13892107</span><span·class="p">,</span><span·class="ss">node_type</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·169,·SHA:·a47a1bb086b5ca6a9db3b3b4b72bf11327fefea1a25708c967de242aa8aeb715·...·]-7">}</span><span·class="w">
744 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="3298168361-9">{</span><span·class="ss">nodedown</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">744 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="8672586079-9">{</span><span·class="ss">nodedown</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">
745 ····················</span><span·class="p"·data-group-id="3298168361-10">#{</span><span·class="ss">connection_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">3067552</span><span·class="p">,</span><span·class="ss">node_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">visible</span><span·class="p">,</span><span·class="w">745 ····················</span><span·class="p"·data-group-id="8672586079-10">#{</span><span·class="ss">connection_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">3067552</span><span·class="p">,</span><span·class="ss">node_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">visible</span><span·class="p">,</span><span·class="w">
746 ······················</span><span·class="ss">nodedown_reason</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">connection_closed</span><span·class="p"·data-group-id="3298168361-10">}</span><span·class="p"·data-group-id="3298168361-9">}</span><span·class="w">746 ······················</span><span·class="ss">nodedown_reason</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">connection_closed</span><span·class="p"·data-group-id="8672586079-10">}</span><span·class="p"·data-group-id="8672586079-9">}</span><span·class="w">
747 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="3298168361-11">{</span><span·class="ss">nodedown</span><span·class="p">,</span><span·class="ss">c@localhost</span><span·class="p">,</span><span·class="w">747 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="8672586079-11">{</span><span·class="ss">nodedown</span><span·class="p">,</span><span·class="ss">c@localhost</span><span·class="p">,</span><span·class="w">
748 ····················</span><span·class="p"·data-group-id="3298168361-12">#{</span><span·class="ss">connection_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">13892107</span><span·class="p">,</span><span·class="ss">node_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">hidden</span><span·class="p">,</span><span·class="w">748 ····················</span><span·class="p"·data-group-id="8672586079-12">#{</span><span·class="ss">connection_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">13892107</span><span·class="p">,</span><span·class="ss">node_type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">hidden</span><span·class="p">,</span><span·class="w">
749 ······················</span><span·class="ss">nodedown_reason</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">net_tick_timeout</span><span·class="p"·data-group-id="3298168361-12">}</span><span·class="p"·data-group-id="3298168361-11">}</span><span·class="w">749 ······················</span><span·class="ss">nodedown_reason</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">net_tick_timeout</span><span·class="p"·data-group-id="8672586079-12">}</span><span·class="p"·data-group-id="8672586079-11">}</span><span·class="w">
750 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="3298168361-13">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">750 </span><span·class="n">Shell</span><span·class="w">·</span><span·class="ss">got</span><span·class="w">·</span><span·class="p"·data-group-id="8672586079-13">{</span><span·class="ss">nodeup</span><span·class="p">,</span><span·class="ss">b@localhost</span><span·class="p">,</span><span·class="w">
751 ··················</span><span·class="p"·data-group-id="3298168361-14">#{</span><span·class="ss">connection_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">3067553</span><span·class="p">,</span><span·class="ss">node_type</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·171,·SHA:·5fd6dce047d54523ff3ddac1e9b3e1573a2f5c274256399402c054c576603d5f·...·]-13">}</span><span·class="w">751 ··················</span><span·class="p"·data-group-id="8672586079-14">#{</span><span·class="ss">connection_id</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">3067553</span><span·class="p">,</span><span·class="ss">node_type</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·171,·SHA:·552d7c6214415877a0f19f52cc4a597c5d019f4d41df02fd1141b935fb2dcb83·...·]-13">}</span><span·class="w">
752 </span><span·class="nf">ok</span><span·class="w">752 </span><span·class="nf">ok</span><span·class="w">
753 </span><span·class="p"·data-group-id="3298168361-15">(</span><span·class="ss">a@localhost</span><span·class="p"·data-group-id="3298168361-15">)</span><span·class="mi">3</span><span·class="o">&gt;</span></code></pre>753 </span><span·class="p"·data-group-id="8672586079-15">(</span><span·class="ss">a@localhost</span><span·class="p"·data-group-id="8672586079-15">)</span><span·class="mi">3</span><span·class="o">&gt;</span></code></pre>
754 ··</section>754 ··</section>
755 </section>755 </section>
756 <section·class="detail"·id="set_net_ticktime/1">756 <section·class="detail"·id="set_net_ticktime/1">
  
757 ··<div·class="detail-header">757 ··<div·class="detail-header">
758 ····<a·href="#set_net_ticktime/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">758 ····<a·href="#set_net_ticktime/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
759 ······<i·class="ri-link-m"·aria-hidden="true"></i>759 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1024, 15 lines modifiedOffset 1024, 15 lines modified
1024 ······<p·class="built-using">1024 ······<p·class="built-using">
1025 ········Built·using1025 ········Built·using
1026 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1026 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1027 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1027 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1028 ······</p>1028 ······</p>
1029 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1029 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1030 ····</footer>1030 ····</footer>
1031 ··</div>1031 ··</div>
1032 </main>1032 </main>
1033 </div>1033 </div>
1034 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1034 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1035 ··<script>1035 ··<script>
1036 ··let·initialized·=·false;1036 ··let·initialized·=·false;
677 B
html2text {}
Max HTML report size reached
31.8 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/notes.html
    
Offset 140, 17 lines modifiedOffset 140, 17 lines modified
140 <ul><li><p>Fixed·an·issue·where·output·to·the·shell·would·not·print·the·prompt·on·a·new·line.</p><p>Own·Id:·OTP-19228·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8820"·title="">PR-8820</a></p></li><li><p>When·in·<a·href="../../../../lib/stdlib-7.0/doc/html/shell.html"><code·class="inline">shell</code></a>·is·in·<code·class="inline">-noshell</code>·mode,·and·in·<code·class="inline">latin1</code>·encoding·mode,·io·requests·in·latin1·encoding·will·not·be·translated·to·unicode·and·back·to·latin1.</p><p>Own·Id:·OTP-19296·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9013"·title="">PR-9013</a></p></li><li><p>Fixed·a·bug·where·a·composing·unicode·character·would·bind·to·a·character·not·available·to·the·user·and·deleting·that·character·would·cause·a·crash.</p><p>Own·Id:·OTP-19297·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9005"·title="">PR-9005</a></p></li><li><p>The·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html#noshell"><code·class="inline">-noshell</code></a>·mode·has·been·updated·to·read·data·lazily·from·standard·input.·Before·this·fix·any·data·would·be·read·greedily·which·meant·that·Erlang·could·consume·data·not·meant·for·it.·It·also·meant·that·in·order·for·<a·href="../../../../lib/stdlib-7.0/doc/html/shell.html#start_interactive/0"><code·class="inline">shell:start_interactive/0</code></a>·to·work·on·Windows·an·API·that·did·not·support·reading·of·Unicode·characters·had·to·be·used.</p><p>Own·Id:·OTP-19313·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8113"·title="">GH-8113</a></p></li><li><p>The·Erlang·shell·no·longer·crashes·when·a·shell·prompt·ends·with·an·escape·sequence.</p><p>Own·Id:·OTP-19414·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9272"·title="">PR-9272</a></p></li><li><p><a·href="code.html#get_doc/1"><code·class="inline">code:get_doc/1</code></a>·now·works·for·cover-compiled·modules.</p><p>Own·Id:·OTP-19513·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9433"·title="">PR-9433</a></p></li><li><p>An·infinite·loop·in·CNAME·loop·detection·that·can·cause·Out·Of·Memory·has·been·fixed.··This·affected·CNAME·lookup·with·the·internal·DNS·resolver.</p><p>Own·Id:·OTP-19544·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9587"·title="">PR-9587</a>,·OTP-19545</p></li><li><p>The·internal·resolver·framework·has·been·fixed·to·wait·with·the·first·resolver·lookup·until·the·ERL_INETRC·environment·variable·has·been·applied.</p><p>Previously,·on·some·platform(s)·(Linux)·a·first·lookup·when·figuring·out·the·domain·name·was·always·placed·on·the·<code·class="inline">native</code>·resolver·even·if·ERL_INETRC·was·used·to·disable·it.</p><p>Own·Id:·OTP-19555·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9543"·title="">PR-9543</a></p></li><li><p>Fix·<a·href="logger.html#add_handler/3"><code·class="inline">logger:add_handler(default,·...)</code></a>·to·correctly·replay·events·generated·during·startup·when·the·default·logger·is·set·to·<code·class="inline">undefined</code>·in·<a·href="logger_chapter.html#kernel-configuration-parameters">logger's·configuration·parameters</a>.</p><p>Own·Id:·OTP-19588·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9595"·title="">PR-9595</a>,·<a·href="https://github.com/erlang/otp/issues/9436"·title="">GH-9436</a></p></li><li><p>Enhance·specs·of·timeout·for·improving·documentation·and·dialyzer·analysis.</p><p>Own·Id:·OTP-19604·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9574"·title="">PR-9574</a></p></li><li><p>Removed·the·default·values·for·SCTP·send·(sndbuf)·and·receive·(recbuf)·buffers.</p><p>Own·Id:·OTP-19627·Aux·Id:·OTP-19576,·<a·href="https://github.com/erlang/otp/issues/9722"·title="">GH-9722</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>Fixed·an·issue·where·output·to·the·shell·would·not·print·the·prompt·on·a·new·line.</p><p>Own·Id:·OTP-19228·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8820"·title="">PR-8820</a></p></li><li><p>When·in·<a·href="../../../../lib/stdlib-7.0/doc/html/shell.html"><code·class="inline">shell</code></a>·is·in·<code·class="inline">-noshell</code>·mode,·and·in·<code·class="inline">latin1</code>·encoding·mode,·io·requests·in·latin1·encoding·will·not·be·translated·to·unicode·and·back·to·latin1.</p><p>Own·Id:·OTP-19296·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9013"·title="">PR-9013</a></p></li><li><p>Fixed·a·bug·where·a·composing·unicode·character·would·bind·to·a·character·not·available·to·the·user·and·deleting·that·character·would·cause·a·crash.</p><p>Own·Id:·OTP-19297·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9005"·title="">PR-9005</a></p></li><li><p>The·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html#noshell"><code·class="inline">-noshell</code></a>·mode·has·been·updated·to·read·data·lazily·from·standard·input.·Before·this·fix·any·data·would·be·read·greedily·which·meant·that·Erlang·could·consume·data·not·meant·for·it.·It·also·meant·that·in·order·for·<a·href="../../../../lib/stdlib-7.0/doc/html/shell.html#start_interactive/0"><code·class="inline">shell:start_interactive/0</code></a>·to·work·on·Windows·an·API·that·did·not·support·reading·of·Unicode·characters·had·to·be·used.</p><p>Own·Id:·OTP-19313·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8113"·title="">GH-8113</a></p></li><li><p>The·Erlang·shell·no·longer·crashes·when·a·shell·prompt·ends·with·an·escape·sequence.</p><p>Own·Id:·OTP-19414·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9272"·title="">PR-9272</a></p></li><li><p><a·href="code.html#get_doc/1"><code·class="inline">code:get_doc/1</code></a>·now·works·for·cover-compiled·modules.</p><p>Own·Id:·OTP-19513·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9433"·title="">PR-9433</a></p></li><li><p>An·infinite·loop·in·CNAME·loop·detection·that·can·cause·Out·Of·Memory·has·been·fixed.··This·affected·CNAME·lookup·with·the·internal·DNS·resolver.</p><p>Own·Id:·OTP-19544·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9587"·title="">PR-9587</a>,·OTP-19545</p></li><li><p>The·internal·resolver·framework·has·been·fixed·to·wait·with·the·first·resolver·lookup·until·the·ERL_INETRC·environment·variable·has·been·applied.</p><p>Previously,·on·some·platform(s)·(Linux)·a·first·lookup·when·figuring·out·the·domain·name·was·always·placed·on·the·<code·class="inline">native</code>·resolver·even·if·ERL_INETRC·was·used·to·disable·it.</p><p>Own·Id:·OTP-19555·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9543"·title="">PR-9543</a></p></li><li><p>Fix·<a·href="logger.html#add_handler/3"><code·class="inline">logger:add_handler(default,·...)</code></a>·to·correctly·replay·events·generated·during·startup·when·the·default·logger·is·set·to·<code·class="inline">undefined</code>·in·<a·href="logger_chapter.html#kernel-configuration-parameters">logger's·configuration·parameters</a>.</p><p>Own·Id:·OTP-19588·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9595"·title="">PR-9595</a>,·<a·href="https://github.com/erlang/otp/issues/9436"·title="">GH-9436</a></p></li><li><p>Enhance·specs·of·timeout·for·improving·documentation·and·dialyzer·analysis.</p><p>Own·Id:·OTP-19604·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9574"·title="">PR-9574</a></p></li><li><p>Removed·the·default·values·for·SCTP·send·(sndbuf)·and·receive·(recbuf)·buffers.</p><p>Own·Id:·OTP-19627·Aux·Id:·OTP-19576,·<a·href="https://github.com/erlang/otp/issues/9722"·title="">GH-9722</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p><a·href="application.html#load/1"><code·class="inline">application:load/1</code></a>·slows·down·as·the·number·of·directories·in·the·code·path·increases·because·the·call·to·<a·href="code.html#where_is_file/1"><code·class="inline">code:where_is_file/1</code></a>·for·the·'.app'·file·must·scan·each·directory·for·the·app.·</p><p><code·class="inline">code_server</code>·maintains·a·cache·of·the·contents·of·directories·in·the·path.·Re-using·that·cache·when·searching·for·'.app'·files·in·<a·href="application.html#load/1"><code·class="inline">application:load/1</code></a>·may·improve·its·runtime,·especially·when·loading·multiple·applications.</p><p>Own·Id:·OTP-19194·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8078"·title="">PR-8078</a></p></li><li><p>The·<a·href="../../../../lib/ssh-5.3/doc/html/using_ssh.html#running-an-erlang-ssh-daemon"><code·class="inline">Erlang·SSH·daemon</code></a>·now·uses·the·same·backend·to·handle·multiline·functionality·as·the·Erlang·shell.</p><p>Own·Id:·OTP-19226·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8805"·title="">PR-8805</a></p></li><li><p>Added·support·for·<code·class="inline">SIGWINCH</code>,·<code·class="inline">SIGCONT</code>,·and·<code·class="inline">SIGINFO</code>·signals·to·<a·href="os.html#set_signal/2"><code·class="inline">os:set_signal/2</code></a>·where·available.</p><p>Own·Id:·OTP-19278·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8887"·title="">PR-8887</a>,·<a·href="https://github.com/erlang/otp/pull/8938"·title="">PR-8938</a></p></li><li><p>Add·<a·href="net_kernel.html#allowed/0"><code·class="inline">net_kernel:allowed/0</code></a>,·it·returns·a·list·of·nodes·that·are·explicitly·allowed·to·connect·to·the·node·by·calling146 <ul><li><p><a·href="application.html#load/1"><code·class="inline">application:load/1</code></a>·slows·down·as·the·number·of·directories·in·the·code·path·increases·because·the·call·to·<a·href="code.html#where_is_file/1"><code·class="inline">code:where_is_file/1</code></a>·for·the·'.app'·file·must·scan·each·directory·for·the·app.·</p><p><code·class="inline">code_server</code>·maintains·a·cache·of·the·contents·of·directories·in·the·path.·Re-using·that·cache·when·searching·for·'.app'·files·in·<a·href="application.html#load/1"><code·class="inline">application:load/1</code></a>·may·improve·its·runtime,·especially·when·loading·multiple·applications.</p><p>Own·Id:·OTP-19194·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8078"·title="">PR-8078</a></p></li><li><p>The·<a·href="../../../../lib/ssh-5.3/doc/html/using_ssh.html#running-an-erlang-ssh-daemon"><code·class="inline">Erlang·SSH·daemon</code></a>·now·uses·the·same·backend·to·handle·multiline·functionality·as·the·Erlang·shell.</p><p>Own·Id:·OTP-19226·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8805"·title="">PR-8805</a></p></li><li><p>Added·support·for·<code·class="inline">SIGWINCH</code>,·<code·class="inline">SIGCONT</code>,·and·<code·class="inline">SIGINFO</code>·signals·to·<a·href="os.html#set_signal/2"><code·class="inline">os:set_signal/2</code></a>·where·available.</p><p>Own·Id:·OTP-19278·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8887"·title="">PR-8887</a>,·<a·href="https://github.com/erlang/otp/pull/8938"·title="">PR-8938</a></p></li><li><p>Add·<a·href="net_kernel.html#allowed/0"><code·class="inline">net_kernel:allowed/0</code></a>,·it·returns·a·list·of·nodes·that·are·explicitly·allowed·to·connect·to·the·node·by·calling
147 <a·href="net_kernel.html#allow/1"><code·class="inline">net_kernel:allow/1</code></a></p><p>Own·Id:·OTP-19287·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8207"·title="">PR-8207</a></p></li><li><p>Documentation·chunks·(EEP-48)·has·been·updated·to·include·the·following·reserved·metadata·fields:·<code·class="inline">behaviours</code>,·<code·class="inline">group</code>,·<code·class="inline">source_path</code>,·and·<code·class="inline">source_annos</code>.·The·compiler·has·also·been·updated·to·emit·this·metadata.·See·the·<a·href="eep48_chapter.html">EEP-48·documentation</a>·for·more·details.</p><p>Own·Id:·OTP-19306·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8945"·title="">PR-8945</a>,·<a·href="https://github.com/erlang/otp/pull/8975"·title="">PR-8975</a></p></li><li><p>The·<a·href="erpc.html#call/3"><code·class="inline">erpc:call/3</code></a>,·<a·href="erpc.html#call/5"><code·class="inline">erpc:call/5</code></a>,·<a·href="erpc.html#multicall/3"><code·class="inline">erpc:multicall/3</code></a>,·and·<a·href="erpc.html#multicall/5"><code·class="inline">erpc:multicall/5</code></a>·functions·now·also·accept·an·option·map·as·last·argument·containing·the·<code·class="inline">timeout</code>·and·<code·class="inline">always_spawn</code>·options.·The·<code·class="inline">always_spawn</code>·option·can·be·used·in·order·to·ensure·that·the·call·operation·will·use·a·newly·spawned·process·when·executing·the·remote·call.</p><p>Own·Id:·OTP-19343·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8642"·title="">PR-8642</a></p></li><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="2978423414-1">(</span><span·class="p"·data-group-id="2978423414-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2978423414-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·76c6e76c59ccb64e123fe56bbe33b09aa0777d1f0ddec18e79ec79f71cd36c1d·...·]-2">)</span><span·class="p">.</span><span·class="w">147 <a·href="net_kernel.html#allow/1"><code·class="inline">net_kernel:allow/1</code></a></p><p>Own·Id:·OTP-19287·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8207"·title="">PR-8207</a></p></li><li><p>Documentation·chunks·(EEP-48)·has·been·updated·to·include·the·following·reserved·metadata·fields:·<code·class="inline">behaviours</code>,·<code·class="inline">group</code>,·<code·class="inline">source_path</code>,·and·<code·class="inline">source_annos</code>.·The·compiler·has·also·been·updated·to·emit·this·metadata.·See·the·<a·href="eep48_chapter.html">EEP-48·documentation</a>·for·more·details.</p><p>Own·Id:·OTP-19306·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8945"·title="">PR-8945</a>,·<a·href="https://github.com/erlang/otp/pull/8975"·title="">PR-8975</a></p></li><li><p>The·<a·href="erpc.html#call/3"><code·class="inline">erpc:call/3</code></a>,·<a·href="erpc.html#call/5"><code·class="inline">erpc:call/5</code></a>,·<a·href="erpc.html#multicall/3"><code·class="inline">erpc:multicall/3</code></a>,·and·<a·href="erpc.html#multicall/5"><code·class="inline">erpc:multicall/5</code></a>·functions·now·also·accept·an·option·map·as·last·argument·containing·the·<code·class="inline">timeout</code>·and·<code·class="inline">always_spawn</code>·options.·The·<code·class="inline">always_spawn</code>·option·can·be·used·in·order·to·ensure·that·the·call·operation·will·use·a·newly·spawned·process·when·executing·the·remote·call.</p><p>Own·Id:·OTP-19343·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8642"·title="">PR-8642</a></p></li><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="7009610800-1">(</span><span·class="p"·data-group-id="7009610800-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7009610800-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·765e8144d38131b5da1affb7f5534ed4b4bff654c79378fbce8576372e82c5af·...·]-2">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="2978423414-3">(</span><span·class="p"·data-group-id="2978423414-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2978423414-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·aa88d9520d3bf864adf64624572d0c621bc8adbc579f7f7c8f4ebd6a037f1a13·...·]-2">)</span><span·class="p">.</span><span·class="w">148 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="7009610800-3">(</span><span·class="p"·data-group-id="7009610800-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7009610800-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·f629a90f8c6b9fc78966f97cb935f731b268607cc7751d3ded543b557b1f4021·...·]-2">)</span><span·class="p">.</span><span·class="w">
149 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="0166492242-3">(</span><span·class="p"·data-group-id="0166492242-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="0166492242-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·cc204cfc26d4ad541b026811bab50a6d064d0bcd70b1c5ce606ccd043ff1a1c3·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Improved·open·debug·for·gen_tcp_socket·(connect·and·listen)·and·gen_udp_socket·(open).</p><p>Own·Id:·OTP-19386</p></li><li><p><a·href="../../../../lib/stdlib-7.0/doc/html/io.html#t:standard_error/0"><code·class="inline">io:standard_error/0</code></a>·has·been·updated·to·write·via·a·NIF·API·instead·of·a·port.·This·allows·it·to·access·the·dirty-scheduler·pool·and·make·sure·that·writes·have·been·written·to·the·OSs·<code·class="inline">stderr</code>·when·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#format/3"><code·class="inline">io:format/3</code></a>·and·equivalent·return.</p><p>Own·Id:·OTP-19401·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9116"·title="">PR-9116</a></p></li><li><p>Added·the·option·<code·class="inline">exception_on_failure</code>·to·<a·href="os.html#cmd/2"><code·class="inline">os:cmd/2</code></a>·to·make·<a·href="os.html#cmd/2"><code·class="inline">os:cmd/2</code></a>·raise·an·exception·if·the·command·fails·to·execute.</p><p>Own·Id:·OTP-19404·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9082"·title="">PR-9082</a></p></li><li><p>A·<code·class="inline">socket</code>·option·<code·class="inline">{otp,select_read}</code>·has·been·added·that·enables·keeping·a·socket·in·the·VM·select/poll·set·between·calls·to·recv·functions.</p><p>This·increases·throughput·by·reducing·the·number·of·calls·to·said·functions.</p><p>Own·Id:·OTP-19451·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9344"·title="">PR-9344</a></p></li><li><p>Add·a·configure·chapter·to·the·socket·usage·guide</p><p>Own·Id:·OTP-19522·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9508"·title="">PR-9508</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>Increase·the·default·inet-driver·buffer·size(s).·Also·introduce·kernel·parameters·for·UDP·and·SCTP·to·change·the·sizes·when·creating·(those)·sockets.</p><p>Own·Id:·OTP-19576</p></li><li><p>An··<strong>experimental</strong>·API·for·a·native·debugger·has·been·added.·The·main·components·are·the·following:</p><ul><li><p>A·new·compiler·option·<code·class="inline">beam_debug_info</code>·for·the·Erlang·compiler.·When·given,·most·optimizations·are·disabled·and·debug·information·suitable·for·the·native·debugger·are·added·to·generated·BEAM·files.</p></li><li><p>A·new·<code·class="inline">+D</code>·emulator·flag.·When·given,·the·VM·becomes·&quot;debuggable&quot;,·which·means·that·when·modules·that·been·compiled·with·the·<code·class="inline">beam_debug_info</code>·option·are·loaded,·the·code·is·instrumented·so·that·one·can·enable·and·disable·breakpoints·on·executable·lines.</p></li><li><p>An·experimental·<code·class="inline">erl_debugger</code>·module·with·a·new·debugging·API.·Essentially,·it·allows·a·single,·local,·process·to·be·registered·as·the·&quot;debugger&quot;·process·for·the·node.·This·process·is·the·one·that·will·receive·messages·notifying·that·a·process·hit·a·breakpoint.·This·way,·the·front-end·implementation·of·a·debugger·(such·as·<a·href="https://github.com/WhatsApp/edb">edb·from·WhatApp</a>)·can·be·decoupled·from·OTP.</p></li><li><p>The·<code·class="inline">erl_debugger</code>·module·also·exposes·new·BIFs·to·inspect·<code·class="inline">X</code>·and·<code·class="inline">Y</code>·registers·of·a·suspended·process.·Together·with·new·code-information·BIFs,·this·let's·a·debugger·show·the·values·of·variables·in·scope·for·a·suspended·process.</p></li></ul><p>Own·Id:·OTP-19609·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a>,·<a·href="https://github.com/erlang/otp/pull/9334"·title="">PR-9334</a>,·<a·href="https://github.com/erlang/otp/pull/9604"·title="">PR-9604</a></p></li></ul><h2·id="kernel-10-2-7"·class="section-heading">149 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="2048206893-3">(</span><span·class="p"·data-group-id="2048206893-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2048206893-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·759a00d6796ab8aa9ecca4de198862c1b515274dd6a62e3080660f5b40d32639·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Improved·open·debug·for·gen_tcp_socket·(connect·and·listen)·and·gen_udp_socket·(open).</p><p>Own·Id:·OTP-19386</p></li><li><p><a·href="../../../../lib/stdlib-7.0/doc/html/io.html#t:standard_error/0"><code·class="inline">io:standard_error/0</code></a>·has·been·updated·to·write·via·a·NIF·API·instead·of·a·port.·This·allows·it·to·access·the·dirty-scheduler·pool·and·make·sure·that·writes·have·been·written·to·the·OSs·<code·class="inline">stderr</code>·when·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#format/3"><code·class="inline">io:format/3</code></a>·and·equivalent·return.</p><p>Own·Id:·OTP-19401·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9116"·title="">PR-9116</a></p></li><li><p>Added·the·option·<code·class="inline">exception_on_failure</code>·to·<a·href="os.html#cmd/2"><code·class="inline">os:cmd/2</code></a>·to·make·<a·href="os.html#cmd/2"><code·class="inline">os:cmd/2</code></a>·raise·an·exception·if·the·command·fails·to·execute.</p><p>Own·Id:·OTP-19404·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9082"·title="">PR-9082</a></p></li><li><p>A·<code·class="inline">socket</code>·option·<code·class="inline">{otp,select_read}</code>·has·been·added·that·enables·keeping·a·socket·in·the·VM·select/poll·set·between·calls·to·recv·functions.</p><p>This·increases·throughput·by·reducing·the·number·of·calls·to·said·functions.</p><p>Own·Id:·OTP-19451·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9344"·title="">PR-9344</a></p></li><li><p>Add·a·configure·chapter·to·the·socket·usage·guide</p><p>Own·Id:·OTP-19522·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9508"·title="">PR-9508</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>Increase·the·default·inet-driver·buffer·size(s).·Also·introduce·kernel·parameters·for·UDP·and·SCTP·to·change·the·sizes·when·creating·(those)·sockets.</p><p>Own·Id:·OTP-19576</p></li><li><p>An··<strong>experimental</strong>·API·for·a·native·debugger·has·been·added.·The·main·components·are·the·following:</p><ul><li><p>A·new·compiler·option·<code·class="inline">beam_debug_info</code>·for·the·Erlang·compiler.·When·given,·most·optimizations·are·disabled·and·debug·information·suitable·for·the·native·debugger·are·added·to·generated·BEAM·files.</p></li><li><p>A·new·<code·class="inline">+D</code>·emulator·flag.·When·given,·the·VM·becomes·&quot;debuggable&quot;,·which·means·that·when·modules·that·been·compiled·with·the·<code·class="inline">beam_debug_info</code>·option·are·loaded,·the·code·is·instrumented·so·that·one·can·enable·and·disable·breakpoints·on·executable·lines.</p></li><li><p>An·experimental·<code·class="inline">erl_debugger</code>·module·with·a·new·debugging·API.·Essentially,·it·allows·a·single,·local,·process·to·be·registered·as·the·&quot;debugger&quot;·process·for·the·node.·This·process·is·the·one·that·will·receive·messages·notifying·that·a·process·hit·a·breakpoint.·This·way,·the·front-end·implementation·of·a·debugger·(such·as·<a·href="https://github.com/WhatsApp/edb">edb·from·WhatApp</a>)·can·be·decoupled·from·OTP.</p></li><li><p>The·<code·class="inline">erl_debugger</code>·module·also·exposes·new·BIFs·to·inspect·<code·class="inline">X</code>·and·<code·class="inline">Y</code>·registers·of·a·suspended·process.·Together·with·new·code-information·BIFs,·this·let's·a·debugger·show·the·values·of·variables·in·scope·for·a·suspended·process.</p></li></ul><p>Own·Id:·OTP-19609·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8670"·title="">PR-8670</a>,·<a·href="https://github.com/erlang/otp/pull/9334"·title="">PR-9334</a>,·<a·href="https://github.com/erlang/otp/pull/9604"·title="">PR-9604</a></p></li></ul><h2·id="kernel-10-2-7"·class="section-heading">
150 ··<a·href="#kernel-10-2-7"·class="hover-link">150 ··<a·href="#kernel-10-2-7"·class="hover-link">
151 ····<i·class="ri-link-m"·aria-hidden="true"></i>151 ····<i·class="ri-link-m"·aria-hidden="true"></i>
152 ··</a>152 ··</a>
153 ··<span·class="text">Kernel·10.2.7</span>153 ··<span·class="text">Kernel·10.2.7</span>
154 </h2>154 </h2>
155 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">155 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">
156 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">156 ··<a·href="#fixed-bugs-and-malfunctions-1"·class="hover-link">
Offset 4190, 20 lines modifiedOffset 4190, 20 lines modified
4190 will·make·repeated·attempts·to·open·the·disk·log·fail·every·time.</p><p>Own·Id:·OTP-5558·Aux·Id:·seq9823</p></li><li><p>Previously·<a·href="../../../../erts-16.0/doc/html/erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="../../../../erts-16.0/doc/html/erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·behaved4190 will·make·repeated·attempts·to·open·the·disk·log·fail·every·time.</p><p>Own·Id:·OTP-5558·Aux·Id:·seq9823</p></li><li><p>Previously·<a·href="../../../../erts-16.0/doc/html/erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="../../../../erts-16.0/doc/html/erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·behaved
4191 completely·asynchronous.·This·had·one·undesirable·effect,·though.·You·could4191 completely·asynchronous.·This·had·one·undesirable·effect,·though.·You·could
4192 never·know·when·you·were·guaranteed·<em>not</em>·to·be·affected·by·a·link·that·you4192 never·know·when·you·were·guaranteed·<em>not</em>·to·be·affected·by·a·link·that·you
4193 had·unlinked·or·a·monitor·that·you·had·demonitored.</p><p>The·new·behavior·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="../../../../erts-16.0/doc/html/erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·can·be4193 had·unlinked·or·a·monitor·that·you·had·demonitored.</p><p>The·new·behavior·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#unlink/1"><code·class="inline">unlink/1</code></a>·and·<a·href="../../../../erts-16.0/doc/html/erlang.html#demonitor/2"><code·class="inline">erlang:demonitor/2</code></a>·can·be
4194 viewed·as·two·operations·performed·atomically.·Asynchronously·send·an·unlink4194 viewed·as·two·operations·performed·atomically.·Asynchronously·send·an·unlink
4195 signal·or·a·demonitor·signal,·and·ignore·any·future·results·of·the·link·or4195 signal·or·a·demonitor·signal,·and·ignore·any·future·results·of·the·link·or
4196 monitor.</p><p><em>NOTE</em>:·This·change·can·cause·some·obscure·code·to·fail·which·previously·did4196 monitor.</p><p><em>NOTE</em>:·This·change·can·cause·some·obscure·code·to·fail·which·previously·did
4197 not.·For·example,·the·following·code·might·hang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">············</span><span·class="n">Mon</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monitor</span><span·class="p"·data-group-id="9134300367-1">(</span><span·class="ss">process</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="9134300367-1">)</span><span·class="p">,</span><span·class="w">4197 not.·For·example,·the·following·code·might·hang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">············</span><span·class="n">Mon</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monitor</span><span·class="p"·data-group-id="7433394652-1">(</span><span·class="ss">process</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="7433394652-1">)</span><span·class="p">,</span><span·class="w">
4198 ············</span><span·class="c1">%%·...</span><span·class="w">4198 ············</span><span·class="c1">%%·...</span><span·class="w">
4199 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="9134300367-2">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bang</span><span·class="p"·data-group-id="9134300367-2">)</span><span·class="p">,</span><span·class="w">4199 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="7433394652-2">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bang</span><span·class="p"·data-group-id="7433394652-2">)</span><span·class="p">,</span><span·class="w">
4200 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="9134300367-3">(</span><span·class="n">Mon</span><span·class="p"·data-group-id="9134300367-3">)</span><span·class="p">,</span><span·class="w">4200 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="7433394652-3">(</span><span·class="n">Mon</span><span·class="p"·data-group-id="7433394652-3">)</span><span·class="p">,</span><span·class="w">
4201 ············</span><span·class="k">receive</span><span·class="w">4201 ············</span><span·class="k">receive</span><span·class="w">
4202 ················</span><span·class="p"·data-group-id="9134300367-4">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mon</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">process</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·144,·SHA:·3bd71b50e9dd9fc06e5cb8d9f528df853c4fbfe98fc34a909b500fa23c624475·...·]-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">4202 ················</span><span·class="p"·data-group-id="7433394652-4">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mon</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">process</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·144,·SHA:·93a6f67577352663e8569cbe8b290fadda65bde375f612f1167478f2b2825d28·...·]-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">
4203 ············</span><span·class="c1">%%·We·were·previously·guaranteed·to·get·a·down·message</span><span·class="w">4203 ············</span><span·class="c1">%%·We·were·previously·guaranteed·to·get·a·down·message</span><span·class="w">
4204 ············</span><span·class="c1">%%·(since·we·exited·the·process·ourself),·so·we·could</span><span·class="w">4204 ············</span><span·class="c1">%%·(since·we·exited·the·process·ourself),·so·we·could</span><span·class="w">
4205 ············</span><span·class="c1">%%·in·this·case·leave·out:</span><span·class="w">4205 ············</span><span·class="c1">%%·in·this·case·leave·out:</span><span·class="w">
4206 ············</span><span·class="c1">%%·after·0·-&gt;·ok</span><span·class="w">4206 ············</span><span·class="c1">%%·after·0·-&gt;·ok</span><span·class="w">
4207 ············</span><span·class="k">end</span><span·class="p">,</span></code></pre><p>*<strong>·POTENTIAL·INCOMPATIBILITY·*</strong></p><p>Own·Id:·OTP-5772</p></li><li><p>The·behavior·when·an·application·fails·to·start·and·possibly·causes·the4207 ············</span><span·class="k">end</span><span·class="p">,</span></code></pre><p>*<strong>·POTENTIAL·INCOMPATIBILITY·*</strong></p><p>Own·Id:·OTP-5772</p></li><li><p>The·behavior·when·an·application·fails·to·start·and·possibly·causes·the
4208 runtime·system·to·halt·has·been·cleaned·up,·including·fixing·some·minor·bugs.</p><p><code·class="inline">application_controller</code>·should·now·always·terminate·with·a·non-nested·string,4208 runtime·system·to·halt·has·been·cleaned·up,·including·fixing·some·minor·bugs.</p><p><code·class="inline">application_controller</code>·should·now·always·terminate·with·a·non-nested·string,
4209 meaning·the·slogan·in·an·<code·class="inline">erl_crash.dump</code>·should·always·be·easy·to·read.</p><p><code·class="inline">init</code>·now·makes·sure·that·the·slogan·passed·to·<a·href="../../../../erts-16.0/doc/html/erlang.html#halt/1"><code·class="inline">erlang:halt/1</code></a>·does·not4209 meaning·the·slogan·in·an·<code·class="inline">erl_crash.dump</code>·should·always·be·easy·to·read.</p><p><code·class="inline">init</code>·now·makes·sure·that·the·slogan·passed·to·<a·href="../../../../erts-16.0/doc/html/erlang.html#halt/1"><code·class="inline">erlang:halt/1</code></a>·does·not
Offset 4622, 15 lines modifiedOffset 4622, 15 lines modified
4622 ······<p·class="built-using">4622 ······<p·class="built-using">
4623 ········Built·using4623 ········Built·using
4624 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the4624 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
4625 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>4625 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
4626 ······</p>4626 ······</p>
4627 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>4627 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
4628 ····</footer>4628 ····</footer>
4629 ··</div>4629 ··</div>
4630 </main>4630 </main>
4631 </div>4631 </div>
4632 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>4632 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
4633 ··<script>4633 ··<script>
4634 ··let·initialized·=·false;4634 ··let·initialized·=·false;
753 B
html2text {}
Max HTML report size reached
29.4 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/os.html
    
Offset 640, 27 lines modifiedOffset 640, 27 lines modified
640 ······<div·class="specs">640 ······<div·class="specs">
  
641 ··········<pre·translate="no"><span·class="attribute">-spec</span>·cmd(Command,·Options)·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·when·Command·::·<a·href="#t:os_command/0">os_command</a>(),·Options·::·<a·href="#t:os_command_opts/0">os_command_opts</a>().</pre>641 ··········<pre·translate="no"><span·class="attribute">-spec</span>·cmd(Command,·Options)·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·when·Command·::·<a·href="#t:os_command/0">os_command</a>(),·Options·::·<a·href="#t:os_command_opts/0">os_command_opts</a>().</pre>
  
642 ······</div>642 ······</div>
  
643 <p>Executes·<code·class="inline">Command</code>·in·a·command·shell·of·the·target·OS,·captures·the·standard643 <p>Executes·<code·class="inline">Command</code>·in·a·command·shell·of·the·target·OS,·captures·the·standard
644 output·and·standard·error·of·the·command,·and·returns·this·result·as·a·string.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">LsOut</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="0521785935-1">(</span><span·class="s">&quot;ls&quot;</span><span·class="p"·data-group-id="0521785935-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·on·unix·platform</span><span·class="w">644 output·and·standard·error·of·the·command,·and·returns·this·result·as·a·string.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">LsOut</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="2578601033-1">(</span><span·class="s">&quot;ls&quot;</span><span·class="p"·data-group-id="2578601033-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·on·unix·platform</span><span·class="w">
645 </span><span·class="n">DirOut</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="0521785935-2">(</span><span·class="s">&quot;dir&quot;</span><span·class="p"·data-group-id="0521785935-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·on·Win32·platform</span></code></pre><p>Notice·that·in·some·cases,·standard·output·of·a·command·when·called·from·another645 </span><span·class="n">DirOut</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="2578601033-2">(</span><span·class="s">&quot;dir&quot;</span><span·class="p"·data-group-id="2578601033-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·on·Win32·platform</span></code></pre><p>Notice·that·in·some·cases,·standard·output·of·a·command·when·called·from·another
646 program·can·differ,·compared·with·the·standard·output·of·the·command·when·called646 program·can·differ,·compared·with·the·standard·output·of·the·command·when·called
647 directly·from·an·OS·command·shell.</p><p>The·possible·options·are:</p><ul><li><p><strong><code·class="inline">max_size</code></strong>·-·The·maximum·size·of·the·data·returned·by·the·<a·href="#cmd/2"><code·class="inline">os:cmd/2</code></a>·call.647 directly·from·an·OS·command·shell.</p><p>The·possible·options·are:</p><ul><li><p><strong><code·class="inline">max_size</code></strong>·-·The·maximum·size·of·the·data·returned·by·the·<a·href="#cmd/2"><code·class="inline">os:cmd/2</code></a>·call.
648 This·option·is·a·safety·feature·that·should·be·used·when·the·command·executed648 This·option·is·a·safety·feature·that·should·be·used·when·the·command·executed
649 can·return·a·very·large,·possibly·infinite,·result.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="6879377061-1">(</span><span·class="s">&quot;cat·/dev/zero&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6879377061-2">#{</span><span·class="w">·</span><span·class="ss">max_size</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·192,·SHA:·37cf3f04bfc95a72edc51406801c598e50339c8b510d78e3616cbe7d75b5b58f·...·]-1">)</span><span·class="p">.</span><span·class="w">649 can·return·a·very·large,·possibly·infinite,·result.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="0666374256-1">(</span><span·class="s">&quot;cat·/dev/zero&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0666374256-2">#{</span><span·class="w">·</span><span·class="ss">max_size</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·192,·SHA:·5d4a67c46c120b41ed94458985851e3f302f8ab900be8492d5981a382c7f7cc9·...·]-1">)</span><span·class="p">.</span><span·class="w">
650 </span><span·class="p"·data-group-id="6879377061-3">[</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·763,·SHA:·7207c715808b2113763025eaedf1255292368bf0000bc3c5a32f185153d0a818·...·]-3">]</span></code></pre></li><li><p><strong><code·class="inline">exception_on_failure</code></strong>·-·If·set·to·true,·<a·href="#cmd/2"><code·class="inline">os:cmd/2</code></a>·will·throw·an·error650 </span><span·class="p"·data-group-id="0666374256-3">[</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·763,·SHA:·9ffa8ee9676c0d96484e259c6c743a4c4913a022324e311fe2c198a368d21f54·...·]-3">]</span></code></pre></li><li><p><strong><code·class="inline">exception_on_failure</code></strong>·-·If·set·to·true,·<a·href="#cmd/2"><code·class="inline">os:cmd/2</code></a>·will·throw·an·error
651 exception·if·the·command·exits·with·a·non-zero·exit·code.·The·exception·reason651 exception·if·the·command·exits·with·a·non-zero·exit·code.·The·exception·reason
652 looks·like·this:·<code·class="inline">{command_failed,·ResultBeforeFailure,·ExitCode}</code>·where652 looks·like·this:·<code·class="inline">{command_failed,·ResultBeforeFailure,·ExitCode}</code>·where
653 <code·class="inline">ResultBeforeFailure</code>·is·the·result·written·to·stdout·by·the·command·before653 <code·class="inline">ResultBeforeFailure</code>·is·the·result·written·to·stdout·by·the·command·before
654 the·error·happened·and·<code·class="inline">ExitCode</code>·is·the·exit·code·from·the·command.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="k">catch</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="7504744274-1">(</span><span·class="s">&quot;echo·hello·&amp;&amp;·exit·123&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7504744274-2">#{</span><span·class="w">·</span><span·class="ss">exception_on_failure</span[·...·truncated·by·diffoscope;·len:·223,·SHA:·6ffe94a5dd27803932cd3a6f5889b21bcf995168da8fb15a0cd2062be152d4dd·...·]-1">)</span><span·class="p">.</span><span·class="w">654 the·error·happened·and·<code·class="inline">ExitCode</code>·is·the·exit·code·from·the·command.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="k">catch</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="0862444741-1">(</span><span·class="s">&quot;echo·hello·&amp;&amp;·exit·123&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0862444741-2">#{</span><span·class="w">·</span><span·class="ss">exception_on_failure</span[·...·truncated·by·diffoscope;·len:·223,·SHA:·59a637cee36bc40ddc8df180e7672123388878a0de239239f6ac5612b5b644d2·...·]-1">)</span><span·class="p">.</span><span·class="w">
655 </span><span·class="p"·data-group-id="7504744274-3">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="7504744274-4">{</span><span·class="p"·data-group-id="7504744274-5">{</span><span·class="ss">command_failed</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·130,·SHA:·4dd6a9a81f0ce9317c471a42ce2325535597e62cf7dad632e809c2635b9856cb·...·]-5">}</span><span·class="p">,</span><span·class="w">655 </span><span·class="p"·data-group-id="0862444741-3">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="0862444741-4">{</span><span·class="p"·data-group-id="0862444741-5">{</span><span·class="ss">command_failed</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·130,·SHA:·9938a0f2dcb658d911960f51dea82e3d5352f9aab8bf789a0b5e4b9dd8737910·...·]-5">}</span><span·class="p">,</span><span·class="w">
656 ·········</span><span·class="p"·data-group-id="7504744274-6">[</span><span·class="p"·data-group-id="7504744274-7">{</span><span·class="ss">os</span><span·class="p">,</span><span·class="ss">cmd</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·526,·SHA:·f06a9060b86eabb2992d8052d1fa138ec6754083706879f3771740dfbbac35a4·...·]-7">}</span><span·class="p">,</span><span·class="w">656 ·········</span><span·class="p"·data-group-id="0862444741-6">[</span><span·class="p"·data-group-id="0862444741-7">{</span><span·class="ss">os</span><span·class="p">,</span><span·class="ss">cmd</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·526,·SHA:·6816a7cc75fa65f49de873e9abd90bd6456e4051a16bfe85c03c1937426895eb·...·]-7">}</span><span·class="p">,</span><span·class="w">
657 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre></li></ul><p>The·command·shell·can·be·set·using·the657 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre></li></ul><p>The·command·shell·can·be·set·using·the
658 <a·href="kernel_app.html#os_cmd_shell">kernel·configuration·parameter</a>,·by·default·the658 <a·href="kernel_app.html#os_cmd_shell">kernel·configuration·parameter</a>,·by·default·the
659 shell·is·detected·upon·system·startup.</p>659 shell·is·detected·upon·system·startup.</p>
660 ··</section>660 ··</section>
661 </section>661 </section>
662 <section·class="detail"·id="env/0">662 <section·class="detail"·id="env/0">
  
Offset 927, 15 lines modifiedOffset 927, 15 lines modified
  
927 ······</div>927 ······</div>
  
928 <p>Returns·a·performance·counter·that·can·be·used·as·a·very·fast·and·high928 <p>Returns·a·performance·counter·that·can·be·used·as·a·very·fast·and·high
929 resolution·timestamp.</p><p>This·counter·is·read·directly·from·the·hardware·or·operating·system·with·the929 resolution·timestamp.</p><p>This·counter·is·read·directly·from·the·hardware·or·operating·system·with·the
930 same·guarantees.·This·means·that·two·consecutive·calls·to·the·function·are·not930 same·guarantees.·This·means·that·two·consecutive·calls·to·the·function·are·not
931 guaranteed·to·be·monotonic,·though·it·most·likely·will·be.·The·performance931 guaranteed·to·be·monotonic,·though·it·most·likely·will·be.·The·performance
932 counter·will·be·converted·to·the·resolution·passed·as·an·argument.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">T1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">perf_counter</span><span·class="p"·data-group-id="2670185321-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="2670185321-1">)</span><span·class="p">,</span><span·class="k">receive</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">10000<[·...·truncated·by·diffoscope;·len:·487,·SHA:·72fc38c48a4322ad84813b8f4685b306e16d6788b47406cdfed5a313df3054bd·...·]-2">)</span><span·class="p">.</span><span·class="w">932 counter·will·be·converted·to·the·resolution·passed·as·an·argument.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">T1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">perf_counter</span><span·class="p"·data-group-id="4512288094-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="4512288094-1">)</span><span·class="p">,</span><span·class="k">receive</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">10000<[·...·truncated·by·diffoscope;·len:·487,·SHA:·3066a53893ddc4fa70eb1bde29a453f020714fe5ffc30ccb568dfacb7d8ba598·...·]-2">)</span><span·class="p">.</span><span·class="w">
933 </span><span·class="mi">176525861</span><span·class="gp·unselectable">933 </span><span·class="mi">176525861</span><span·class="gp·unselectable">
934 2&gt;·</span><span·class="n">T2</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="n">T1</span><span·class="p">.</span><span·class="w">934 2&gt;·</span><span·class="n">T2</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="n">T1</span><span·class="p">.</span><span·class="w">
935 </span><span·class="mi">10004</span></code></pre>935 </span><span·class="mi">10004</span></code></pre>
936 ··</section>936 ··</section>
937 </section>937 </section>
938 <section·class="detail"·id="putenv/2">938 <section·class="detail"·id="putenv/2">
  
Offset 1088, 24 lines modifiedOffset 1088, 24 lines modified
1088 <p>Returns·the·current·<a·href="../../../../erts-16.0/doc/html/time_correction.html#os-system-time">OS·system·time</a>1088 <p>Returns·the·current·<a·href="../../../../erts-16.0/doc/html/time_correction.html#os-system-time">OS·system·time</a>
1089 in·the·same·format·as·<a·href="../../../../erts-16.0/doc/html/erlang.html#timestamp/0"><code·class="inline">erlang:timestamp/0</code></a>.</p><p>The·tuple·can·be·used·together·with·function·<a·href="../../../../lib/stdlib-7.0/doc/html/calendar.html#now_to_universal_time/1"><code·class="inline">calendar:now_to_universal_time/1</code></a>1089 in·the·same·format·as·<a·href="../../../../erts-16.0/doc/html/erlang.html#timestamp/0"><code·class="inline">erlang:timestamp/0</code></a>.</p><p>The·tuple·can·be·used·together·with·function·<a·href="../../../../lib/stdlib-7.0/doc/html/calendar.html#now_to_universal_time/1"><code·class="inline">calendar:now_to_universal_time/1</code></a>
1090 or·<a·href="../../../../lib/stdlib-7.0/doc/html/calendar.html#now_to_local_time/1"><code·class="inline">calendar:now_to_local_time/1</code></a>·to·get·calendar·time.·Using·the·calendar·time,1090 or·<a·href="../../../../lib/stdlib-7.0/doc/html/calendar.html#now_to_local_time/1"><code·class="inline">calendar:now_to_local_time/1</code></a>·to·get·calendar·time.·Using·the·calendar·time,
1091 together·with·the·<code·class="inline">MicroSecs</code>·part·of·the·return·tuple·from·this·function,1091 together·with·the·<code·class="inline">MicroSecs</code>·part·of·the·return·tuple·from·this·function,
1092 allows·you·to·log·time·stamps·in·high·resolution·and·consistent·with·the·time·in1092 allows·you·to·log·time·stamps·in·high·resolution·and·consistent·with·the·time·in
1093 ·the·rest·of·the·OS.</p><p>Example·of·code·formatting·a·string·in·format·&quot;DD·Mon·YYYY·HH:MM:SS.mmmmmm&quot;,1093 ·the·rest·of·the·OS.</p><p>Example·of·code·formatting·a·string·in·format·&quot;DD·Mon·YYYY·HH:MM:SS.mmmmmm&quot;,
1094 where·DD·is·the·day·of·month,·Mon·is·the·textual·month·name,·YYYY·is·the·year,1094 where·DD·is·the·day·of·month,·Mon·is·the·textual·month·name,·YYYY·is·the·year,
1095 HH:MM:SS·is·the·time,·and·mmmmmm·is·the·microseconds·in·six·positions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1871498547-1">(</span><span·class="ss">print_time</span><span·class="p"·data-group-id="1871498547-1">)</span><span·class="p">.</span><span·class="w"> 
1096 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1871498547-2">(</span><span·class="p"·data-group-id="1871498547-3">[</span><span·class="ss">format_utc_timestamp</span><span·class="p">/</span><span·class="mi">0</s[·...·truncated·by·diffoscope;·len:·100,·SHA:·6a680aa9ee3c342527e4302f76a45bb14f771004ee873ee0b75d2c22feecf45e·...·]">)</span><span·class="p">.</span><span·class="w">1095 HH:MM:SS·is·the·time,·and·mmmmmm·is·the·microseconds·in·six·positions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9934593670-1">(</span><span·class="ss">print_time[·...·truncated·by·diffoscope;·len:·50,·SHA:·219382de392b7a6e9cb87c64e437b696f754279e0f1bb272d2d4437837d3632a·...·]">)</span><span·class="p">.</span><span·class="w">
 1096 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9934593670-2">(</span><span·class="p"·data-group-id="9934593670-3">[</span><span·class="ss">format_utc_timestamp</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9934593670-3">]</span><span·class="p"·data-group-id="9934593670-2">)</span><span·class="p">.</span><span·class="w">
1097 </span><span·class="nf">format_utc_timestamp</span><span·class="p"·data-group-id="1871498547-4">(</span><span·class="p"·data-group-id="1871498547-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1097 </span><span·class="nf">format_utc_timestamp</span><span·class="p"·data-group-id="9934593670-4">(</span><span·class="p"·data-group-id="9934593670-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1098 ····</span><span·class="n">TS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1871498547-5">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Micro</span><span·class="p"·data-group-id="1871498547-5">}</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·192,·SHA:·54871da2be11d907d5b3bdd708a1787d8205835c002d9027872bc5015033db0a·...·]-6">)</span><span·class="p">,</span><span·class="w">1098 ····</span><span·class="n">TS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9934593670-5">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Micro</span><span·class="p"·data-group-id="9934593670-5">}</span><span·class="w">·</span><span·class="o">=</span><span·cla[·...·truncated·by·diffoscope;·len:·192,·SHA:·31d31c8e02add8175045df9a861a54fbd92b6e34a9bb79bd1e71baac128d9538·...·]-6">)</span><span·class="p">,</span><span·class="w">
1099 ····</span><span·class="p"·data-group-id="1871498547-7">{</span><span·class="p"·data-group-id="1871498547-8">{</span><span·class="n">Year</span><span·class="p">,</span><span·class="n">Month</span><span·class="p">,</span><span·class="n">Day</span><span·class="p"·data-group-id="1871498547-8">}</span[·...·truncated·by·diffoscope;·len:·305,·SHA:·489396e3645c8a24aad1d8ff347a96ee7279417f8680879b27c2f4b22f6628b2·...·]-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">1099 ····</span><span·class="p"·data-group-id="9934593670-7">{</span><span·class="p"·data-group-id="9934593670-8">{</span><span·class="n">Year</span><span·class="p">,</span><span·class="n">Month</span><span·class="p">,</span><span·class="n">Day</span><span·class="p"·data-group-id="9934593670-8">}</span[·...·truncated·by·diffoscope;·len:·305,·SHA:·240de1f6fe2e809c3dba42c2d4a902c6a08ef8806c3d1719ff048881a09474bb·...·]-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
1100 </span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">now_to_universal_time</span><span·class="p"·data-group-id="1871498547-10">(</span><span·class="n">TS</span><span·class="p"·data-group-id="1871498547-10">)</span><span·class="p">,</span><span·class="w">1100 </span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">now_to_universal_time</span><span·class="p"·data-group-id="9934593670-10">(</span><span·class="n">TS</span><span·class="p"·data-group-id="9934593670-10">)</span><span·class="p">,</span><span·class="w">
1101 ····</span><span·class="n">Mstr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="1871498547-11">(</span><span·class="n">Month</span><span·class="p">,</span><span·class="p"·data-group-id="1871498547-12">{</span><span·class="s">&quot;Jan&quot;</span><span·class="p">,</span><span·class="s">&quot;Feb&quot;</span><span·class="p">,</span><span·class="s">&quot;Mar&quot;</span><span·class="p">,</span><span·class="s">&quot;Apr&quot;</span><span·class="p">,</span><span·class="s">&quot;May&quot;</span><span·class="p">,</span><span·class="s">&quot;Jun&quot;</span><span·class="p">,</span><span·class="s">&quot;Jul&quot;</span><span·class="p">,</span><span·class="w">1101 ····</span><span·class="n">Mstr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="9934593670-11">(</span><span·class="n">Month</span><span·class="p">,</span><span·class="p"·data-group-id="9934593670-12">{</span><span·class="s">&quot;Jan&quot;</span><span·class="p">,</span><span·class="s">&quot;Feb&quot;</span><span·class="p">,</span><span·class="s">&quot;Mar&quot;</span><span·class="p">,</span><span·class="s">&quot;Apr&quot;</span><span·class="p">,</span><span·class="s">&quot;May&quot;</span><span·class="p">,</span><span·class="s">&quot;Jun&quot;</span><span·class="p">,</span><span·class="s">&quot;Jul&quot;</span><span·class="p">,</span><span·class="w">
1102 ····</span><span·class="s">&quot;Aug&quot;</span><span·class="p">,</span><span·class="s">&quot;Sep&quot;</span><span·class="p">,</span><span·class="s">&quot;Oct&quot;</span><span·class="p">,</span><span·class="s">&quot;Nov&quot;</span><span·class="p">,</span><span·class="s">&quot;Dec&quot;</span><span·class="p"·data-group-id="1871498547-12">}</span><span·class="p"·data-group-id="1871498547-11">)</span><span·class="p">,</span><span·class="w">1102 ····</span><span·class="s">&quot;Aug&quot;</span><span·class="p">,</span><span·class="s">&quot;Sep&quot;</span><span·class="p">,</span><span·class="s">&quot;Oct&quot;</span><span·class="p">,</span><span·class="s">&quot;Nov&quot;</span><span·class="p">,</span><span·class="s">&quot;Dec&quot;</span><span·class="p"·data-group-id="9934593670-12">}</span><span·class="p"·data-group-id="9934593670-11">)</span><span·class="p">,</span><span·class="w">
1103 ····</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1871498547-13">(</span><span·class="s">&quot;</span><span·class="si">~2w</span><span·class="s">·</span><span·class="si">~s</span><span·class="s">·</span><span·class="si">~4w</span><span·class="s">·</span><span·class="si">~2w</span><span·class="s">:</span><span·class="si">~2..0w</span><span·class="s">:</span><span·class="si">~2..0w</span><span·class="s">.</span><span·class="si">~6..0w</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">1103 ····</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9934593670-13">(</span><span·class="s">&quot;</span><span·class="si">~2w</span><span·class="s">·</span><span·class="si">~s</span><span·class="s">·</span><span·class="si">~4w</span><span·class="s">·</span><span·class="si">~2w</span><span·class="s">:</span><span·class="si">~2..0w</span><span·class="s">:</span><span·class="si">~2..0w</span><span·class="s">.</span><span·class="si">~6..0w</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">
1104 ····</span><span·class="p"·data-group-id="1871498547-14">[</span><span·class="n">Day</span><span·class="p">,</span><span·class="n">Mstr</span><span·class="p">,</span><span·class="n">Year</span><span·class="p">,</span><span·class="n">Hour</span><span·class="p">,</span><span·class="n">Minute</span><[·...·truncated·by·diffoscope;·len:·1004,·SHA:·d1a65fdf9df0d15dcdb3ac860065ed40e9a98458bd0d64dcca1642885ad84399·...·]-1">)</span><span·class="p">.</span><span·class="w">1104 ····</span><span·class="p"·data-group-id="9934593670-14">[</span><span·class="n">Day</span><span·class="p">,</span><span·class="n">Mstr</span><span·class="p">,</span><span·class="n">Year</span><span·class="p">,</span><span·class="n">Hour</span><span·class="p">,</span><span·class="n">Minute</span><[·...·truncated·by·diffoscope;·len:·1004,·SHA:·553a3d973075e73f8a690f427ed2c4e630e2a316e0a5c777bd43a8bb50221642·...·]-1">)</span><span·class="p">.</span><span·class="w">
1105 </span><span·class="mi">29</span><span·class="w">·</span><span·class="n">Apr</span><span·class="w">·</span><span·class="mi">2009</span><span·class="w">··</span><span·class="mi">9</span><span·class="p">:</span><span·class="mi">55</span><span·class="p">:</span><span·class="mf">30.051711</span></code></pre><p>OS·system·time·can·also·be·retrieved·by·<a·href="#system_time/0"><code·class="inline">system_time/0</code></a>·and·<a·href="#system_time/1"><code·class="inline">system_time/1</code></a>.</p>1105 </span><span·class="mi">29</span><span·class="w">·</span><span·class="n">Apr</span><span·class="w">·</span><span·class="mi">2009</span><span·class="w">··</span><span·class="mi">9</span><span·class="p">:</span><span·class="mi">55</span><span·class="p">:</span><span·class="mf">30.051711</span></code></pre><p>OS·system·time·can·also·be·retrieved·by·<a·href="#system_time/0"><code·class="inline">system_time/0</code></a>·and·<a·href="#system_time/1"><code·class="inline">system_time/1</code></a>.</p>
1106 ··</section>1106 ··</section>
1107 </section>1107 </section>
1108 <section·class="detail"·id="type/0">1108 <section·class="detail"·id="type/0">
  
1109 ··<div·class="detail-header">1109 ··<div·class="detail-header">
1110 ····<a·href="#type/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1110 ····<a·href="#type/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1219, 15 lines modifiedOffset 1219, 15 lines modified
1219 ······<p·class="built-using">1219 ······<p·class="built-using">
1220 ········Built·using1220 ········Built·using
1221 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1221 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1222 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1222 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1223 ······</p>1223 ······</p>
1224 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1224 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1225 ····</footer>1225 ····</footer>
1226 ··</div>1226 ··</div>
1227 </main>1227 </main>
1228 </div>1228 </div>
1229 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1229 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1230 ··<script>1230 ··<script>
1231 ··let·initialized·=·false;1231 ··let·initialized·=·false;
600 B
html2text {}
Max HTML report size reached
4.59 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/pg.html
    
Offset 836, 15 lines modifiedOffset 836, 15 lines modified
  
836 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor_scope(Scope·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>())·->·{<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0">reference</a>(),·#{<a·href="#t:group/0">group</a>()·=>·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:pid/0">pid</a>()]}}.</pre>836 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor_scope(Scope·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>())·->·{<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0">reference</a>(),·#{<a·href="#t:group/0">group</a>()·=>·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:pid/0">pid</a>()]}}.</pre>
  
837 ······</div>837 ······</div>
  
838 <p>Subscribes·the·caller·to·updates·from·the·specified·scope.</p><p>Returns·content·of·the·entire·scope·and·a·reference·to·match·the·upcoming838 <p>Subscribes·the·caller·to·updates·from·the·specified·scope.</p><p>Returns·content·of·the·entire·scope·and·a·reference·to·match·the·upcoming
839 notifications.</p><p>Whenever·any·group·membership·changes,·an·update·message·is·sent·to·the839 notifications.</p><p>Whenever·any·group·membership·changes,·an·update·message·is·sent·to·the
840 subscriber:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7159647341-1">{</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">join</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Group</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·781,·SHA:·fcec1707fc8fb3913dd6f25feeeca1191232b88ad9e7779c80d6f82a0f369895·...·]-1">}</span></code></pre>840 subscriber:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2173383657-1">{</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">join</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Group</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·781,·SHA:·f4bdbb2b76709374bb029793558cb34ea0b0d11c52c5941931b41582bed50e01·...·]-1">}</span></code></pre>
841 ··</section>841 ··</section>
842 </section>842 </section>
843 <section·class="detail"·id="start/1">843 <section·class="detail"·id="start/1">
  
844 ··<div·class="detail-header">844 ··<div·class="detail-header">
845 ····<a·href="#start/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">845 ····<a·href="#start/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
846 ······<i·class="ri-link-m"·aria-hidden="true"></i>846 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1007, 15 lines modifiedOffset 1007, 15 lines modified
1007 ······<p·class="built-using">1007 ······<p·class="built-using">
1008 ········Built·using1008 ········Built·using
1009 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1009 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1010 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1010 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1011 ······</p>1011 ······</p>
1012 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1012 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1013 ····</footer>1013 ····</footer>
1014 ··</div>1014 ··</div>
1015 </main>1015 </main>
1016 </div>1016 </div>
1017 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1017 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1018 ··<script>1018 ··<script>
1019 ··let·initialized·=·false;1019 ··let·initialized·=·false;
662 B
html2text {}
Max HTML report size reached
6.44 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/rpc.html
    
Offset 1043, 18 lines modifiedOffset 1043, 18 lines modified
1043 all·the·nodes,·but·the·multicall·is·faster,·as·all·the·requests·are·sent·at·the1043 all·the·nodes,·but·the·multicall·is·faster,·as·all·the·requests·are·sent·at·the
1044 same·time·and·are·collected·one·by·one·as·they·come·back.</p><p>The·function·evaluates·<a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(Module,·Function,·Args)</code></a>·on·the1044 same·time·and·are·collected·one·by·one·as·they·come·back.</p><p>The·function·evaluates·<a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(Module,·Function,·Args)</code></a>·on·the
1045 specified·nodes·and·collects·the·answers.·It·returns·<code·class="inline">{ResL,·BadNodes}</code>,·where1045 specified·nodes·and·collects·the·answers.·It·returns·<code·class="inline">{ResL,·BadNodes}</code>,·where
1046 <code·class="inline">BadNodes</code>·is·a·list·of·the·nodes·that·do·not·exist,·and·<code·class="inline">ResL</code>·is·a·list·of·the1046 <code·class="inline">BadNodes</code>·is·a·list·of·the·nodes·that·do·not·exist,·and·<code·class="inline">ResL</code>·is·a·list·of·the
1047 return·values,·or·<code·class="inline">{badrpc,·Reason}</code>·for·failing·calls.·<code·class="inline">Timeout</code>·is·a·time1047 return·values,·or·<code·class="inline">{badrpc,·Reason}</code>·for·failing·calls.·<code·class="inline">Timeout</code>·is·a·time
1048 (integer)·in·milliseconds,·or·<code·class="inline">infinity</code>.</p><p>The·following·example·is·useful·when·new·object·code·is·to·be·loaded·on·all1048 (integer)·in·milliseconds,·or·<code·class="inline">infinity</code>.</p><p>The·following·example·is·useful·when·new·object·code·is·to·be·loaded·on·all
1049 nodes·in·the·network,·and·indicates·some·side·effects·that·RPCs·can·produce:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Find·object·code·for·module·Mod</span><span·class="w">1049 nodes·in·the·network,·and·indicates·some·side·effects·that·RPCs·can·produce:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Find·object·code·for·module·Mod</span><span·class="w">
1050 </span><span·class="p"·data-group-id="7068336316-1">{</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-group-id="7068336316-1">}</span><span·[·...·truncated·by·diffoscope;·len:·277,·SHA:·b18e5647b1a4778b497b75e84caa44f8901728189e3ebc8e7c0721ace59efaf6·...·]-2">)</span><span·class="p">,</span><span·class="w">1050 </span><span·class="p"·data-group-id="0110754124-1">{</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-group-id="0110754124-1">}</span><span·[·...·truncated·by·diffoscope;·len:·277,·SHA:·77fb62ef3e8755cb2fbbb11e9c5248a97930e3d2b6767ea4388dcf25618ef500·...·]-2">)</span><span·class="p">,</span><span·class="w">
  
1051 </span><span·class="c1">%%·and·load·it·on·all·nodes·including·this·one</span><span·class="w">1051 </span><span·class="c1">%%·and·load·it·on·all·nodes·including·this·one</span><span·class="w">
1052 </span><span·class="p"·data-group-id="7068336316-3">{</span><span·class="n">ResL</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="7068336316-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·608,·SHA:·b98b0b38f01f58f6e04ca6098a124570e3012437415b0be8ff26847e68af7b59·...·]-4">)</span><span·class="p">,</span><span·class="w">1052 </span><span·class="p"·data-group-id="0110754124-3">{</span><span·class="n">ResL</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="0110754124-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·608,·SHA:·3221c6bc44d96a7e3fc1ae42a796c16efb159abc3767a98f6e676acca843d6d3·...·]-4">)</span><span·class="p">,</span><span·class="w">
  
1053 </span><span·class="c1">%%·and·then·maybe·check·the·ResL·list.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>If·you·want·the·ability·to·distinguish·between·results,·you·may·want·to1053 </span><span·class="c1">%%·and·then·maybe·check·the·ResL·list.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>If·you·want·the·ability·to·distinguish·between·results,·you·may·want·to
1054 consider·using·the·<a·href="erpc.html#multicall/4"><code·class="inline">erpc:multicall()</code></a>·function·from·the1054 consider·using·the·<a·href="erpc.html#multicall/4"><code·class="inline">erpc:multicall()</code></a>·function·from·the
1055 <code·class="inline">erpc</code>·module·instead.</p></section><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>You·cannot·make·<em>any</em>·assumptions·about·the·process·that·will·perform·the1055 <code·class="inline">erpc</code>·module·instead.</p></section><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>You·cannot·make·<em>any</em>·assumptions·about·the·process·that·will·perform·the
1056 <code·class="inline">apply()</code>.·It·may·be·the·calling·process·itself,·an·<code·class="inline">rpc</code>·server,·another1056 <code·class="inline">apply()</code>.·It·may·be·the·calling·process·itself,·an·<code·class="inline">rpc</code>·server,·another
1057 server,·or·a·freshly·spawned·process.</p></section>1057 server,·or·a·freshly·spawned·process.</p></section>
1058 ··</section>1058 ··</section>
Offset 1396, 15 lines modifiedOffset 1396, 15 lines modified
1396 ······<p·class="built-using">1396 ······<p·class="built-using">
1397 ········Built·using1397 ········Built·using
1398 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1398 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1399 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1399 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1400 ······</p>1400 ······</p>
1401 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1401 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1402 ····</footer>1402 ····</footer>
1403 ··</div>1403 ··</div>
1404 </main>1404 </main>
1405 </div>1405 </div>
1406 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1406 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1407 ··<script>1407 ··<script>
1408 ··let·initialized·=·false;1408 ··let·initialized·=·false;
662 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
462 B
html2text {}
Max HTML report size reached
51.4 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/seq_trace.html
    
Offset 137, 17 lines modifiedOffset 137, 17 lines modified
137 of·the·trace·output.</p><h2·id="module-trace-messages-sent-to-the-system-tracer"·class="section-heading">137 of·the·trace·output.</p><h2·id="module-trace-messages-sent-to-the-system-tracer"·class="section-heading">
138 ··<a·href="#module-trace-messages-sent-to-the-system-tracer"·class="hover-link">138 ··<a·href="#module-trace-messages-sent-to-the-system-tracer"·class="hover-link">
139 ····<i·class="ri-link-m"·aria-hidden="true"></i>139 ····<i·class="ri-link-m"·aria-hidden="true"></i>
140 ··</a>140 ··</a>
141 ··<span·class="text">Trace·Messages·Sent·to·the·System·Tracer</span>141 ··<span·class="text">Trace·Messages·Sent·to·the·System·Tracer</span>
142 </h2>142 </h2>
143 <p>The·format·of·the·messages·is·one·of·the·following,·depending·on·if·flag143 <p>The·format·of·the·messages·is·one·of·the·following,·depending·on·if·flag
144 <code·class="inline">timestamp</code>·of·the·trace·token·is·set·to·<code·class="inline">true</code>·or·<code·class="inline">false</code>:</p><pre><code·class="text">{seq_trace,·Label,·SeqTraceInfo,·TimeStamp}</code></pre><p>or</p><pre><code·class="text">{seq_trace,·Label,·SeqTraceInfo}</code></pre><p>Where:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Label</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="2157997019-1">(</span><span·class="p"·data-group-id="2157997019-1">)</span><span·class="w">144 <code·class="inline">timestamp</code>·of·the·trace·token·is·set·to·<code·class="inline">true</code>·or·<code·class="inline">false</code>:</p><pre><code·class="text">{seq_trace,·Label,·SeqTraceInfo,·TimeStamp}</code></pre><p>or</p><pre><code·class="text">{seq_trace,·Label,·SeqTraceInfo}</code></pre><p>Where:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Label</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="8973812457-1">(</span><span·class="p"·data-group-id="8973812457-1">)</span><span·class="w">
145 </span><span·class="n">TimeStamp</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2157997019-2">{</span><span·class="n">Seconds</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Milliseconds</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Microseconds</span><span·class="p"·data-group-id="2157997[·...·truncated·by·diffoscope;·len:·3,·SHA:·8eba3ded9f5f3cbb5ed3e427e665cdae058aa4a677d92d895aefc4729477a1e5·...·]-2">}</span><span·class="w">145 </span><span·class="n">TimeStamp</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8973812457-2">{</span><span·class="n">Seconds</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Milliseconds</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Microseconds</span><span·class="p"·data-group-id="8973812[·...·truncated·by·diffoscope;·len:·3,·SHA:·353767b239099863e13ca954e20a66c9d75f777baf239f56e399958de49bf79d·...·]-2">}</span><span·class="w">
146 ··</span><span·class="n">Seconds</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Milliseconds</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Microseconds</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="2157997019-3">(</span><span·class="p"·data-group-id="2157997019-3">)</span></code></pre><p><code·class="inline">SeqTraceInfo</code>·can·have·the·following·formats:</p><ul><li><p><strong><code·class="inline">{send,·Serial,·From,·To,·Message}</code></strong>·-·Used·when·a·process·<code·class="inline">From</code>·with·its146 ··</span><span·class="n">Seconds</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Milliseconds</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Microseconds</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="8973812457-3">(</span><span·class="p"·data-group-id="8973812457-3">)</span></code></pre><p><code·class="inline">SeqTraceInfo</code>·can·have·the·following·formats:</p><ul><li><p><strong><code·class="inline">{send,·Serial,·From,·To,·Message}</code></strong>·-·Used·when·a·process·<code·class="inline">From</code>·with·its
147 trace·token·flag·<code·class="inline">send</code>·set·to·<code·class="inline">true</code>·has·sent·information.·<code·class="inline">To</code>·may·be·a147 trace·token·flag·<code·class="inline">send</code>·set·to·<code·class="inline">true</code>·has·sent·information.·<code·class="inline">To</code>·may·be·a
148 process·identifier,·a·registered·name·on·a·node·represented·as148 process·identifier,·a·registered·name·on·a·node·represented·as
149 <code·class="inline">{NameAtom,·NodeAtom}</code>,·or·a·node·name·represented·as·an·atom.·<code·class="inline">From</code>·may·be·a149 <code·class="inline">{NameAtom,·NodeAtom}</code>,·or·a·node·name·represented·as·an·atom.·<code·class="inline">From</code>·may·be·a
150 process·identifier·or·a·node·name·represented·as·an·atom.·<code·class="inline">Message</code>·contains150 process·identifier·or·a·node·name·represented·as·an·atom.·<code·class="inline">Message</code>·contains
151 the·information·passed·along·in·this·information·transfer.·If·the·transfer·is151 the·information·passed·along·in·this·information·transfer.·If·the·transfer·is
152 done·via·message·passing,·it·is·the·actual·message.</p></li><li><p><strong><code·class="inline">{'receive',·Serial,·From,·To,·Message}</code></strong>·-·Used·when·a·process·<code·class="inline">To</code>152 done·via·message·passing,·it·is·the·actual·message.</p></li><li><p><strong><code·class="inline">{'receive',·Serial,·From,·To,·Message}</code></strong>·-·Used·when·a·process·<code·class="inline">To</code>
153 receives·information·with·a·trace·token·that·has·flag·<code·class="inline">'receive'</code>·set·to153 receives·information·with·a·trace·token·that·has·flag·<code·class="inline">'receive'</code>·set·to
Offset 283, 76 lines modifiedOffset 283, 76 lines modified
283 from·the·sequential·tracing·point·of·view.</p><h2·id="module-example-of-use"·class="section-heading">283 from·the·sequential·tracing·point·of·view.</p><h2·id="module-example-of-use"·class="section-heading">
284 ··<a·href="#module-example-of-use"·class="hover-link">284 ··<a·href="#module-example-of-use"·class="hover-link">
285 ····<i·class="ri-link-m"·aria-hidden="true"></i>285 ····<i·class="ri-link-m"·aria-hidden="true"></i>
286 ··</a>286 ··</a>
287 ··<span·class="text">Example·of·Use</span>287 ··<span·class="text">Example·of·Use</span>
288 </h2>288 </h2>
289 <p>This·example·gives·a·rough·idea·of·how·the·new·primitives·can·be·used·and·what289 <p>This·example·gives·a·rough·idea·of·how·the·new·primitives·can·be·used·and·what
290 kind·of·output·it·produces.</p><p>Assume·that·you·have·an·initiating·process·with·<code·class="inline">Pid·==·&lt;0.30.0&gt;</code>·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2546976465-1">(</span><span·class="ss">seqex</span><span·class="p"·data-group-id="2546976465-1">)</span><span·class="p">.</span><span·class="w">290 kind·of·output·it·produces.</p><p>Assume·that·you·have·an·initiating·process·with·<code·class="inline">Pid·==·&lt;0.30.0&gt;</code>·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3845000610-1">(</span><span·class="ss">seqex</span><span·class="p"·data-group-id="3845000610-1">)</span><span·class="p">.</span><span·class="w">
291 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="2546976465-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="2546976465-2">)</span><span·class="p">.</span><span·class="w">291 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="3845000610-2">(</span><span·class="ss">export_all</span><span·class="p"·data-group-id="3845000610-2">)</span><span·class="p">.</span><span·class="w">
  
292 </span><span·class="nf">loop</span><span·class="p"·data-group-id="2546976465-3">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2546976465-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">292 </span><span·class="nf">loop</span><span·class="p"·data-group-id="3845000610-3">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3845000610-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
293 ····</span><span·class="k">receive</span><span·class="w">293 ····</span><span·class="k">receive</span><span·class="w">
294 ········</span><span·class="p"·data-group-id="2546976465-4">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="2546976465-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">294 ········</span><span·class="p"·data-group-id="3845000610-4">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="3845000610-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
295 ············</span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">set_token</span><span·class="p"·data-group-id="2546976465-5">(</span><span·class="ss">label</span><span·class="p">,</span><span·class="mi">17</span><span·class="p"·data-group-id="2546976465-5">)</span><span·class="p">,</span><span·class="w">295 ············</span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">set_token</span><span·class="p"·data-group-id="3845000610-5">(</span><span·class="ss">label</span><span·class="p">,</span><span·class="mi">17</span><span·class="p"·data-group-id="3845000610-5">)</span><span·class="p">,</span><span·class="w">
296 ············</span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">set_token</span><span·class="p"·data-group-id="2546976465-6">(</span><span·class="ss">&#39;receive&#39;</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="2546976465-6">)</span><span·class="p">,</span><span·class="w">296 ············</span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">set_token</span><span·class="p"·data-group-id="3845000610-6">(</span><span·class="ss">&#39;receive&#39;</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="3845000610-6">)</span><span·class="p">,</span><span·class="w">
297 ············</span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">set_token</span><span·class="p"·data-group-id="2546976465-7">(</span><span·class="ss">print</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="2546976465-7">)</span><span·class="p">,</span><span·class="w">297 ············</span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">set_token</span><span·class="p"·data-group-id="3845000610-7">(</span><span·class="ss">print</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="3845000610-7">)</span><span·class="p">,</span><span·class="w">
298 ············</span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">print</span><span·class="p"·data-group-id="2546976465-8">(</span><span·class="mi">17</span><span·class="p">,</span><span·class="s">&quot;****·Trace·Started·****&quot;</span><span·class="p"·data-group-id="2546976465-8">)</span><span·class="p">,</span><span·class="w">298 ············</span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">print</span><span·class="p"·data-group-id="3845000610-8">(</span><span·class="mi">17</span><span·class="p">,</span><span·class="s">&quot;****·Trace·Started·****&quot;</span><span·class="p"·data-group-id="3845000610-8">)</span><span·class="p">,</span><span·class="w">
299 ············</span><span·class="ss">call_server</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="2546976465-9">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2546976465-10">(</span><span·class="p"·data-group-id="2546976465-10">)</span><span·class="p">,</span><span·class="ss">the_message</span><span·class="p"·data-group-id="25469764[·...·truncated·by·diffoscope;·len:·2,·SHA:·108c995b953c8a35561103e2014cf828eb654a99e310f87fab94c2f4b7d2a04f·...·]-9">}</span><span·class="p">;</span><span·class="w">299 ············</span><span·class="ss">call_server</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="3845000610-9">{</span><span·class="nf">self</span><span·class="p"·data-group-id="3845000610-10">(</span><span·class="p"·data-group-id="3845000610-10">)</span><span·class="p">,</span><span·class="ss">the_message</span><span·class="p"·data-group-id="38450006[·...·truncated·by·diffoscope;·len:·2,·SHA:·4a44dc15364204a80fe80e9039455cc1608281820fe2b24f1e5233ade6af1dd5·...·]-9">}</span><span·class="p">;</span><span·class="w">
300 ········</span><span·class="p"·data-group-id="2546976465-11">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="n">Ack</span><span·class="p"·data-group-id="2546976465-11">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">300 ········</span><span·class="p"·data-group-id="3845000610-11">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="n">Ack</span><span·class="p"·data-group-id="3845000610-11">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
301 ············</span><span·class="ss">ok</span><span·class="w">301 ············</span><span·class="ss">ok</span><span·class="w">
302 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">302 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
303 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="2546976465-12">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2546976465-12">)</span><span·class="p">.</span></code></pre><p>And·a·registered·process·<code·class="inline">call_server</code>·with·<code·class="inline">Pid·==·&lt;0.31.0&gt;[·...·truncated·by·diffoscope;·len:·192,·SHA:·72001d67b2264e5afa78ec3893583f742485cbb5104239a82757dd9f42a7098d·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">303 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="3845000610-12">(</span><span·class="n">Port</span><span·class="p"·data-group-id="3845000610-12">)</span><span·class="p">.</span></code></pre><p>And·a·registered·process·<code·class="inline">call_server</code>·with·<code·class="inline">Pid·==·&lt;0.31.0&gt;[·...·truncated·by·diffoscope;·len:·192,·SHA:·4b313a29bc2eb8e57cceba9e0f79d6b31bbb094874bba933467518905aaa49db·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
304 ····</span><span·class="k">receive</span><span·class="w">304 ····</span><span·class="k">receive</span><span·class="w">
305 ········</span><span·class="p"·data-group-id="7663317326-2">{</span><span·class="n">PortController</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="7663317326-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">305 ········</span><span·class="p"·data-group-id="9561694880-2">{</span><span·class="n">PortController</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="9561694880-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
306 ············</span><span·class="n">Ack</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7663317326-3">{</span><span·class="ss">received</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Message</span><span·class="p"·data-group-id="7663317326-3">}</span><span·class="p">,</span><span·class="w">306 ············</span><span·class="n">Ack</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9561694880-3">{</span><span·class="ss">received</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Message</span><span·class="p"·data-group-id="9561694880-3">}</span><span·class="p">,</span><span·class="w">
307 ············</span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">print</span><span·class="p"·data-group-id="7663317326-4">(</span><span·class="mi">17</span><span·class="p">,</span><span·class="s">&quot;We·are·here·now&quot;</span><span·class="p"·data-group-id="7663317326-4">)</span><span·class="p">,</span><span·class="w">307 ············</span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">print</span><span·class="p"·data-group-id="9561694880-4">(</span><span·class="mi">17</span><span·class="p">,</span><span·class="s">&quot;We·are·here·now&quot;</span><span·class="p"·data-group-id="9561694880-4">)</span><span·class="p">,</span><span·class="w">
308 ············</span><span·class="n">PortController</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="7663317326-5">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="n">Ack</span><span·class="p"·data-group-id="7663317326-5">}</span><span·class="w">308 ············</span><span·class="n">PortController</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9561694880-5">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="n">Ack</span><span·class="p"·data-group-id="9561694880-5">}</span><span·class="w">
309 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">309 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
310 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="7663317326-6">(</span><span·class="p"·data-group-id="7663317326-6">)</span><span·class="p">.</span></code></pre><p>A·possible·output·from·the·system's·<code·class="inline">sequential_tracer</code>·can·be·like·this:</p><pre><code·class="makeup·erlang"·trans[·...·truncated·by·diffoscope;·len:·434,·SHA:·b6c41dd23cd324fc8101f60b8631259c7d300ee5194216dec00e2ed6362382a5·...·]-1">}</span><span·class="w">·</span><span·class="n">WITH</span><span·class="w">310 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="9561694880-6">(</span><span·class="p"·data-group-id="9561694880-6">)</span><span·class="p">.</span></code></pre><p>A·possible·output·from·the·system's·<code·class="inline">sequential_tracer</code>·can·be·like·this:</p><pre><code·class="makeup·erlang"·trans[·...·truncated·by·diffoscope;·len:·434,·SHA:·3f6eb7ad3384f0e795e252ddf7ec235a5539bcb86bc3d46811d40c3b739f49f1·...·]-1">}</span><span·class="w">·</span><span·class="n">WITH</span><span·class="w">
311 </span><span·class="s">&quot;****·Trace·Started·****&quot;</span><span·class="w">311 </span><span·class="s">&quot;****·Trace·Started·****&quot;</span><span·class="w">
312 </span><span·class="mi">17</span><span·class="p">:</span><span·class="o">&lt;</span><span·class="mf">0.31</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Received</span><span·class="w">·</span><span·class="p"·data-group-id="2569117080-2">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="2569117080-2">}</span><span·class="w">·</span><span·class="n">FROM</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.30</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">WITH</span><span·class="w">312 </span><span·class="mi">17</span><span·class="p">:</span><span·class="o">&lt;</span><span·class="mf">0.31</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Received</span><span·class="w">·</span><span·class="p"·data-group-id="1703462546-2">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1703462546-2">}</span><span·class="w">·</span><span·class="n">FROM</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.30</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">WITH</span><span·class="w">
313 </span><span·class="p"·data-group-id="2569117080-3">{</span><span·class="o">&lt;</span><span·class="mf">0.30</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="ss">the_message</span><span·class="p"·data-group-id="2569117080-3">}</span><span·class="w">313 </span><span·class="p"·data-group-id="1703462546-3">{</span><span·class="o">&lt;</span><span·class="mf">0.30</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="ss">the_message</span><span·class="p"·data-group-id="1703462546-3">}</span><span·class="w">
314 </span><span·class="mi">17</span><span·class="p">:</span><span·class="o">&lt;</span><span·class="mf">0.31</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Info</span><span·class="w">·</span><span·class="p"·data-group-id="2569117080-4">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="2569117080-4">}</span><span·class="w">·</span><span·class="n">WITH</span><span·class="w">314 </span><span·class="mi">17</span><span·class="p">:</span><span·class="o">&lt;</span><span·class="mf">0.31</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Info</span><span·class="w">·</span><span·class="p"·data-group-id="1703462546-4">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="1703462546-4">}</span><span·class="w">·</span><span·class="n">WITH</span><span·class="w">
315 </span><span·class="s">&quot;We·are·here·now&quot;</span><span·class="w">315 </span><span·class="s">&quot;We·are·here·now&quot;</span><span·class="w">
316 </span><span·class="mi">17</span><span·class="p">:</span><span·class="o">&lt;</span><span·class="mf">0.30</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Received</span><span·class="w">·</span><span·class="p"·data-group-id="2569117080-5">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="2569117080-5">}</span><span·class="w">·</span><span·class="n">FROM</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.31</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">WITH</span><span·class="w">316 </span><span·class="mi">17</span><span·class="p">:</span><span·class="o">&lt;</span><span·class="mf">0.30</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">Received</span><span·class="w">·</span><span·class="p"·data-group-id="1703462546-5">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="1703462546-5">}</span><span·class="w">·</span><span·class="n">FROM</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.31</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">WITH</span><span·class="w">
317 </span><span·class="p"·data-group-id="2569117080-6">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="p"·data-group-id="2569117080-7">{</span><span·class="ss">received</span><span·class="p">,</span><span·class="ss">the_message</span><span·class="p"·data-group-id="25691170[·...·truncated·by·diffoscope;·len:·55,·SHA:·7ca863af93426302fcc69c75db4500922f448fd92da2c301c0a3844a29f9260a·...·]-6">}</span></code></pre><p>The·implementation·of·a·system·tracer·process·that·produces·this·printout·can317 </span><span·class="p"·data-group-id="1703462546-6">{</span><span·class="ss">ack</span><span·class="p">,</span><span·class="p"·data-group-id="1703462546-7">{</span><span·class="ss">received</span><span·class="p">,</span><span·class="ss">the_message</span><span·class="p"·data-group-id="17034625[·...·truncated·by·diffoscope;·len:·55,·SHA:·41336ef37474753538a13724fe4a33bf88d0c874ec540b32b320641629fcfc5c·...·]-6">}</span></code></pre><p>The·implementation·of·a·system·tracer·process·that·produces·this·printout·can
318 look·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">tracer</span><span·class="p"·data-group-id="0625428628-1">(</span><span·class="p"·data-group-id="0625428628-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">318 look·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">tracer</span><span·class="p"·data-group-id="2791868702-1">(</span><span·class="p"·data-group-id="2791868702-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
319 ····</span><span·class="k">receive</span><span·class="w">319 ····</span><span·class="k">receive</span><span·class="w">
320 ········</span><span·class="p"·data-group-id="0625428628-2">{</span><span·class="ss">seq_trace</span><span·class="p">,</span><span·class="n">Label</span><span·class="p">,</span><span·class="n">TraceInfo</span><span·class="p"·data-group-id="0625428628-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">320 ········</span><span·class="p"·data-group-id="2791868702-2">{</span><span·class="ss">seq_trace</span><span·class="p">,</span><span·class="n">Label</span><span·class="p">,</span><span·class="n">TraceInfo</span><span·class="p"·data-group-id="2791868702-2">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
321 ···········</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="0625428628-3">(</span><span·class="n">Label</span><span·class="p">,</span><span·class="n">TraceInfo</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="0625428628-3">)</span><span·class="p">;</span><span·class="w">321 ···········</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2791868702-3">(</span><span·class="n">Label</span><span·class="p">,</span><span·class="n">TraceInfo</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="2791868702-3">)</span><span·class="p">;</span><span·class="w">
322 ········</span><span·class="p"·data-group-id="0625428628-4">{</span><span·class="ss">seq_trace</span><span·class="p">,</span><span·class="n">Label</span><span·class="p">,</span><span·class="n">TraceInfo</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p"·data-group-id="0625428628-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">322 ········</span><span·class="p"·data-group-id="2791868702-4">{</span><span·class="ss">seq_trace</span><span·class="p">,</span><span·class="n">Label</span><span·class="p">,</span><span·class="n">TraceInfo</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p"·data-group-id="2791868702-4">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
323 ···········</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="0625428628-5">(</span><span·class="n">Label</span><span·class="p">,</span><span·class="n">TraceInfo</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p"·data-group-id="0625428628-5">)</span><span·class="p">;</span><span·class="w">323 ···········</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2791868702-5">(</span><span·class="n">Label</span><span·class="p">,</span><span·class="n">TraceInfo</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p"·data-group-id="2791868702-5">)</span><span·class="p">;</span><span·class="w">
324 ········</span><span·class="p">_</span><span·class="n">Other</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ignore</span><span·class="w">324 ········</span><span·class="p">_</span><span·class="n">Other</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ignore</span><span·class="w">
325 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">325 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
326 ····</span><span·class="nf">tracer</span><span·class="p"·data-group-id="0625428628-6">(</span><span·class="p"·data-group-id="0625428628-6">)</span><span·class="p">.</span><span·class="w">326 ····</span><span·class="nf">tracer</span><span·class="p"·data-group-id="2791868702-6">(</span><span·class="p"·data-group-id="2791868702-6">)</span><span·class="p">.</span><span·class="w">
  
327 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="0625428628-7">(</span><span·class="n">Label</span><span·class="p">,</span><span·class="n">TraceInfo</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="0625428628-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">327 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2791868702-7">(</span><span·class="n">Label</span><span·class="p">,</span><span·class="n">TraceInfo</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="2791868702-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
328 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0625428628-8">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">:&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="0625428628-9">[</span><span·class="n">Label</span><span·class="p"·data-group-id="0625428628-9"[·...·truncated·by·diffoscope;·len:·50,·SHA:·2d38b20f1ef4517fe64e95455dc48d89b66db81377cf411f87bf554baf1545cf·...·]-8">)</span><span·class="p">,</span><span·class="w">328 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2791868702-8">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">:&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="2791868702-9">[</span><span·class="n">Label</span><span·class="p"·data-group-id="2791868702-9"[·...·truncated·by·diffoscope;·len:·50,·SHA:·b5efeed4b5a46e6fc79a19239141b0598c25b4070f96e10c3ecaf0635c3d9f8c·...·]-8">)</span><span·class="p">,</span><span·class="w">
329 ····</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="0625428628-10">(</span><span·class="n">TraceInfo</span><span·class="p"·data-group-id="0625428628-10">)</span><span·class="p">;</span><span·class="w">329 ····</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2791868702-10">(</span><span·class="n">TraceInfo</span><span·class="p"·data-group-id="2791868702-10">)</span><span·class="p">;</span><span·class="w">
330 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="0625428628-11">(</span><span·class="n">Label</span><span·class="p">,</span><span·class="n">TraceInfo</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p"·data-group-id="0625428628-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">330 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2791868702-11">(</span><span·class="n">Label</span><span·class="p">,</span><span·class="n">TraceInfo</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p"·data-group-id="2791868702-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
331 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0625428628-12">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">·</span><span·class="si">~p</span><span·class="s">:&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="0625428628-13">[</span><span·class="n">Labe[·...·truncated·by·diffoscope;·len:·152,·SHA:·24a4ecbc4d859e8de402a497af36b5295f01a0e7d4bbd26b665c8e2e302fbd9d·...·]-12">)</span><span·class="p">,</span><span·class="w">331 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2791868702-12">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">·</span><span·class="si">~p</span><span·class="s">:&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="2791868702-13">[</span><span·class="n">Labe[·...·truncated·by·diffoscope;·len:·152,·SHA:·86e07f80997cd2a19d9677de9938624507022e12494e867969f42af96a3a0ee7·...·]-12">)</span><span·class="p">,</span><span·class="w">
332 ····</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="0625428628-14">(</span><span·class="n">TraceInfo</span><span·class="p"·data-group-id="0625428628-14">)</span><span·class="p">.</span><span·class="w">332 ····</span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2791868702-14">(</span><span·class="n">TraceInfo</span><span·class="p"·data-group-id="2791868702-14">)</span><span·class="p">.</span><span·class="w">
  
333 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="0625428628-15">(</span><span·class="p"·data-group-id="0625428628-16">{</span><span·class="ss">print</span><span·class="p">,</span><span·class="n">Serial</span><span·class="p">,</span><span·class="n">From</span><span·class="p">,</span><span·class="p">_</spa[·...·truncated·by·diffoscope;·len:·148,·SHA:·77d43008bd068ec657c504e5639efba198e825b587346e63f6fab70933463b76·...·]-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">333 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2791868702-15">(</span><span·class="p"·data-group-id="2791868702-16">{</span><span·class="ss">print</span><span·class="p">,</span><span·class="n">Serial</span><span·class="p">,</span><span·class="n">From</span><span·class="p">,</span><span·class="p">_</spa[·...·truncated·by·diffoscope;·len:·148,·SHA:·45c68c76de126a65b48dd27ec6906e7ee7c6c30e487120885c82a033d6da3ebe·...·]-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
334 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0625428628-17">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">·Info·</span><span·class="si">~p</span><span·class="s">·WITH</span><span·class="si">~n</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·340,·SHA:·fef895221ee4868c512337bda9f865fbb31f61c0e29b890e81dd065f3ca5494b·...·]-17">)</span><span·class="p">;</span><span·class="w">334 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2791868702-17">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">·Info·</span><span·class="si">~p</span><span·class="s">·WITH</span><span·class="si">~n</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·340,·SHA:·867cf98489a26d68211d259e33655160a4cd33c0f5edb6a9e60ceb79a70b4c86·...·]-17">)</span><span·class="p">;</span><span·class="w">
335 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="0625428628-19">(</span><span·class="p"·data-group-id="0625428628-20">{</span><span·class="ss">&#39;receive&#39;</span><span·class="p">,</span><span·class="n">Serial</span><span·class="p">,</span><span·class="n">From</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·164,·SHA:·230a7c88aa7a559d41c2b9618011cdd9e023a66f7e0312cd72e2797cfb1d2350·...·]-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">335 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2791868702-19">(</span><span·class="p"·data-group-id="2791868702-20">{</span><span·class="ss">&#39;receive&#39;</span><span·class="p">,</span><span·class="n">Serial</span><span·class="p">,</span><span·class="n">From</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·164,·SHA:·c02387c85d34ae2ce58fc45c4f1a6518c0f3d554905a3b9e1a69fb598d0c756d·...·]-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
336 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0625428628-21">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">·Received·</span><span·class="si">~p</span><span·class="s">·FROM·</span><span·class="si">~p</span><span·class="s">·WITH</span><span·class="si">~n</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">336 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2791868702-21">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">·Received·</span><span·class="si">~p</span><span·class="s">·FROM·</span><span·class="si">~p</span><span·class="s">·WITH</span><span·class="si">~n</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">
337 ··············</span><span·class="p"·data-group-id="0625428628-22">[</span><span·class="n">To</span><span·class="p">,</span><span·class="n">Serial</span><span·class="p">,</span><span·class="n">From</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="0625428628-22">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·ca1c890974a63414ddabdf4a6d0cc4bea8b647001abda98f9971dbe8a663644e·...·]-21">)</span><span·class="p">;</span><span·class="w">337 ··············</span><span·class="p"·data-group-id="2791868702-22">[</span><span·class="n">To</span><span·class="p">,</span><span·class="n">Serial</span><span·class="p">,</span><span·class="n">From</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="2791868702-22">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·ef0ce33d766e29aeb15603900fdf0d7dd9ffd70ba5dcba64fc0c97b245e46fe9·...·]-21">)</span><span·class="p">;</span><span·class="w">
338 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="0625428628-23">(</span><span·class="p"·data-group-id="0625428628-24">{</span><span·class="nb">send</span><span·class="p">,</span><span·class="n">Serial</span><span·class="p">,</span><span·class="n">From</span><span·class="p">,</span><span·class="n">To</spa[·...·truncated·by·diffoscope;·len:·151,·SHA:·60fdf0d349e93f6efec88814f3a9fe4601e8e4500758ce2037b78c334be18871·...·]-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">338 </span><span·class="nf">print_trace</span><span·class="p"·data-group-id="2791868702-23">(</span><span·class="p"·data-group-id="2791868702-24">{</span><span·class="nb">send</span><span·class="p">,</span><span·class="n">Serial</span><span·class="p">,</span><span·class="n">From</span><span·class="p">,</span><span·class="n">To</spa[·...·truncated·by·diffoscope;·len:·151,·SHA:·bb74d9203285ef84fbe3f916f476ecb1dc6cdae4c8afd3d3e39c4a68886f386d·...·]-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
339 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0625428628-25">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">·Sent·</span><span·class="si">~p</span><span·class="s">·TO·</span><span·class="si">~p</span><span·class="s">·WITH</span><span·class="si">~n</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">339 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2791868702-25">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">·Sent·</span><span·class="si">~p</span><span·class="s">·TO·</span><span·class="si">~p</span><span·class="s">·WITH</span><span·class="si">~n</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">
340 ··············</span><span·class="p"·data-group-id="0625428628-26">[</span><span·class="n">From</span><span·class="p">,</span><span·class="n">Serial</span><span·class="p">,</span><span·class="n">To</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="0625428628-26">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·ca1c890974a63414ddabdf4a6d0cc4bea8b647001abda98f9971dbe8a663644e·...·]-25">)</span><span·class="p">.</span></code></pre><p>The·code·that·creates·a·process·that·runs·this·tracer·function·and·sets·that340 ··············</span><span·class="p"·data-group-id="2791868702-26">[</span><span·class="n">From</span><span·class="p">,</span><span·class="n">Serial</span><span·class="p">,</span><span·class="n">To</span><span·class="p">,</span><span·class="n">Message</span><span·class="p"·data-group-id="2791868702-26">]</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·ef0ce33d766e29aeb15603900fdf0d7dd9ffd70ba5dcba64fc0c97b245e46fe9·...·]-25">)</span><span·class="p">.</span></code></pre><p>The·code·that·creates·a·process·that·runs·this·tracer·function·and·sets·that
341 process·as·the·system·tracer·can·look·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">start</span><span·class="p"·data-group-id="3858874732-1">(</span><span·class="p"·data-group-id="3858874732-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">341 process·as·the·system·tracer·can·look·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">start</span><span·class="p"·data-group-id="0031670816-1">(</span><span·class="p"·data-group-id="0031670816-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
342 ····</span><span·class="n">Pid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="3858874732-2">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="ss">tracer</span><span·class="p">,</span><span·class="p"·data-group-id="3858874732-3">[</span><span·class="p"·data-group-id="3858874732-3">]</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·e4c2f4a0a519601a608c772fbfc772633215ebaae5af1e9c3fd28ede9dd9baeb·...·]-2">)</span><span·class="p">,</span><span·class="w">342 ····</span><span·class="n">Pid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="0031670816-2">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="ss">tracer</span><span·class="p">,</span><span·class="p"·data-group-id="0031670816-3">[</span><span·class="p"·data-group-id="0031670816-3">]</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·a871874f045af0675b38c4d42327be165405572b362a760a3e7473d992766de1·...·]-2">)</span><span·class="p">,</span><span·class="w">
343 ····</span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">set_system_tracer</span><span·class="p"·data-group-id="3858874732-4">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="3858874732-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·set·Pid·as·the·system·tracer</span><span·class="w">343 ····</span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">set_system_tracer</span><span·class="p"·data-group-id="0031670816-4">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="0031670816-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·set·Pid·as·the·system·tracer</span><span·class="w">
344 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>With·a·function·like·<code·class="inline">test/0</code>,·the·whole·example·can·be·started:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">test</span><span·class="p"·data-group-id="5072398340-1">(</span><span·class="p"·data-group-id="5072398340-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">344 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>With·a·function·like·<code·class="inline">test/0</code>,·the·whole·example·can·be·started:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">test</span><span·class="p"·data-group-id="2795583635-1">(</span><span·class="p"·data-group-id="2795583635-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
345 ····</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="5072398340-2">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">loop</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5072398340-3">[</span><spa[·...·truncated·by·diffoscope;·len:·118,·SHA:·0064b5bf0419cbc8aae3292b9498eb617e1241aebb53ef1f884749f542de078c·...·]-2">)</span><span·class="p">,</span><span·class="w">345 ····</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="2795583635-2">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">loop</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2795583635-3">[</span><spa[·...·truncated·by·diffoscope;·len:·118,·SHA:·634eea549db913c20782b23ab42c50727bc8dc61985528d75bf061651093d69f·...·]-2">)</span><span·class="p">,</span><span·class="w">
346 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="5072398340-4">(</span><span·class="ss">call_server</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="5072398340-5">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">[·...·truncated·by·diffoscope;·len:·308,·SHA:·522c6a3b0f6ad93cf59adf6afb5ec3eb6ee45212e9426ac3d86e6e81adf07a92·...·]-4">)</span><span·class="p">,</span><span·class="w">346 ····</span><span·class="nf">register</span><span·class="p"·data-group-id="2795583635-4">(</span><span·class="ss">call_server</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="2795583635-5">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">[·...·truncated·by·diffoscope;·len:·308,·SHA:·0225db0af90a7aa8537e7b202bbf01545476e8e99e4a12c815ccb24b22d4c352·...·]-4">)</span><span·class="p">,</span><span·class="w">
347 ····</span><span·class="nf">start</span><span·class="p"·data-group-id="5072398340-7">(</span><span·class="p"·data-group-id="5072398340-7">)</span><span·class="p">,</span><span·class="w">347 ····</span><span·class="nf">start</span><span·class="p"·data-group-id="2795583635-7">(</span><span·class="p"·data-group-id="2795583635-7">)</span><span·class="p">,</span><span·class="w">
348 ····</span><span·class="n">P</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5072398340-8">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="ss">message</span><span·class="p"·data-group-id="5072398340-8">}</span><span·class="p">.</span></code></pre>348 ····</span><span·class="n">P</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="2795583635-8">{</span><span·class="ss">port</span><span·class="p">,</span><span·class="ss">message</span><span·class="p"·data-group-id="2795583635-8">}</span><span·class="p">.</span></code></pre>
349 ····</section>349 ····</section>
  
350 </div>350 </div>
  
351 ··<section·id="summary"·class="details-list">351 ··<section·id="summary"·class="details-list">
352 ····<h1·class="section-heading">352 ····<h1·class="section-heading">
353 ······<a·class="hover-link"·href="#summary">353 ······<a·class="hover-link"·href="#summary">
Offset 907, 19 lines modifiedOffset 907, 19 lines modified
  
907 ······</div>907 ······</div>
  
908 <p>Sets·the·trace·token·for·the·calling·process·to·<code·class="inline">Token</code>.·If·<code·class="inline">Token·==·[]</code>·then908 <p>Sets·the·trace·token·for·the·calling·process·to·<code·class="inline">Token</code>.·If·<code·class="inline">Token·==·[]</code>·then
909 tracing·is·disabled,·otherwise·<code·class="inline">Token</code>·should·be·an·Erlang·term·returned·from909 tracing·is·disabled,·otherwise·<code·class="inline">Token</code>·should·be·an·Erlang·term·returned·from
910 <a·href="#get_token/0"><code·class="inline">get_token/0</code></a>·or·<a·href="#set_token/1"><code·class="inline">set_token/1</code></a>.·<a·href="#set_token/1"><code·class="inline">set_token/1</code></a>910 <a·href="#get_token/0"><code·class="inline">get_token/0</code></a>·or·<a·href="#set_token/1"><code·class="inline">set_token/1</code></a>.·<a·href="#set_token/1"><code·class="inline">set_token/1</code></a>
911 can·be·used·to·temporarily·exclude·message·passing·from·the·trace·by·setting·the911 can·be·used·to·temporarily·exclude·message·passing·from·the·trace·by·setting·the
912 trace·token·to·empty·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">OldToken</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">set_token</span><span·class="p"·data-group-id="1428750706-1">(</span><span·class="p"·data-group-id="1428750706-2">[</span><span·class="p"·data-group-id="1428750706-2">]</span><span·class="p"·data-group-id="1428750706-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·set·to·empty·and·save</span><span·class="w">912 trace·token·to·empty·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">OldToken</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">set_token</span><span·class="p"·data-group-id="9348034339-1">(</span><span·class="p"·data-group-id="9348034339-2">[</span><span·class="p"·data-group-id="9348034339-2">]</span><span·class="p"·data-group-id="9348034339-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·set·to·empty·and·save</span><span·class="w">
913 ····································</span><span·class="c1">%·old·value</span><span·class="w">913 ····································</span><span·class="c1">%·old·value</span><span·class="w">
914 </span><span·class="c1">%·do·something·that·should·not·be·part·of·the·trace</span><span·class="w">914 </span><span·class="c1">%·do·something·that·should·not·be·part·of·the·trace</span><span·class="w">
915 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1428750706-3">(</span><span·class="s">&quot;Exclude·the·signalling·caused·by·this</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="1428750706-3">)</span><span·class="p">,</span><span·class="w">915 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9348034339-3">(</span><span·class="s">&quot;Exclude·the·signalling·caused·by·this</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="9348034339-3">)</span><span·class="p">,</span><span·class="w">
916 </span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">set_token</span><span·class="p"·data-group-id="1428750706-4">(</span><span·class="n">OldToken</span><span·class="p"·data-group-id="1428750706-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·activate·the·trace·token·again</span><span·class="w">916 </span><span·class="nc">seq_trace</span><span·class="p">:</span><span·class="nf">set_token</span><span·class="p"·data-group-id="9348034339-4">(</span><span·class="n">OldToken</span><span·class="p"·data-group-id="9348034339-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·activate·the·trace·token·again</span><span·class="w">
917 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>Returns·the·previous·value·of·the·trace·token.</p>917 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>Returns·the·previous·value·of·the·trace·token.</p>
918 ··</section>918 ··</section>
919 </section>919 </section>
920 <section·class="detail"·id="set_token/2">920 <section·class="detail"·id="set_token/2">
  
921 ··<div·class="detail-header">921 ··<div·class="detail-header">
922 ····<a·href="#set_token/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">922 ····<a·href="#set_token/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1001, 15 lines modifiedOffset 1001, 15 lines modified
1001 ······<p·class="built-using">1001 ······<p·class="built-using">
1002 ········Built·using1002 ········Built·using
1003 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1003 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1004 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1004 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1005 ······</p>1005 ······</p>
1006 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1006 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1007 ····</footer>1007 ····</footer>
1008 ··</div>1008 ··</div>
1009 </main>1009 </main>
1010 </div>1010 </div>
Max diff block lines reached; 40/51868 bytes (0.08%) of diff not shown.
669 B
html2text {}
Max HTML report size reached
33.7 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/socket.html
    
Offset 184, 16 lines modifiedOffset 184, 16 lines modified
184 will·then·be·the·<a·href="#t:select_handle/0"><code·class="inline">SelectHandle</code></a>·in·the·returned184 will·then·be·the·<a·href="#t:select_handle/0"><code·class="inline">SelectHandle</code></a>·in·the·returned
185 <a·href="#t:select_info/0"><code·class="inline">select_info/0</code></a>·and·the·received·<code·class="inline">select</code>·message,·or·be185 <a·href="#t:select_info/0"><code·class="inline">select_info/0</code></a>·and·the·received·<code·class="inline">select</code>·message,·or·be
186 the·<a·href="#t:completion_handle/0"><code·class="inline">CompletionHandle</code></a>·in·the·returned186 the·<a·href="#t:completion_handle/0"><code·class="inline">CompletionHandle</code></a>·in·the·returned
187 <a·href="#t:completion_info/0"><code·class="inline">completion_info/0</code></a>·and·the·received·<code·class="inline">completion</code>·message.</p><p>The·compiler·may·then·optimize·a·following·<code·class="inline">receive</code>·statement187 <a·href="#t:completion_info/0"><code·class="inline">completion_info/0</code></a>·and·the·received·<code·class="inline">completion</code>·message.</p><p>The·compiler·may·then·optimize·a·following·<code·class="inline">receive</code>·statement
188 to·only·scan·the·messages·that·arrive·after·the·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0"><code·class="inline">reference/0</code></a>188 to·only·scan·the·messages·that·arrive·after·the·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0"><code·class="inline">reference/0</code></a>
189 is·created.··If·the·message·queue·is·large·this·is·a·big·optimization.</p><p>It·is·not·possible·to·have·more·than·one·operation·in·progress189 is·created.··If·the·message·queue·is·large·this·is·a·big·optimization.</p><p>It·is·not·possible·to·have·more·than·one·operation·in·progress
190 with·the·same·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0"><code·class="inline">reference/0</code></a>.</p><h4>Repeating·an·Operation·on·a·<code·class="inline">select</code>·Systems</h4><p>On<code·class="inline">select</code>·systems,·if·a·call·would·be·repeated·<em>before</em>·the·<code·class="inline">select</code>190 with·the·same·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0"><code·class="inline">reference/0</code></a>.</p><h4>Repeating·an·Operation·on·a·<code·class="inline">select</code>·Systems</h4><p>On<code·class="inline">select</code>·systems,·if·a·call·would·be·repeated·<em>before</em>·the·<code·class="inline">select</code>
191 message·has·been·received·it·replaces·the·operation·in·progress:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="p"·data-group-id="0484231159-1">{</span><span·class="ss">select</span><span·class="p">,</span><span·class="err"> </span><span·class="p"·data-group-id="0484231159-2">{</span><span·class="ss">select_info</span><span·class="p">,</span><span·class="err"> </span><span·class="n">[·...·truncated·by·diffoscope;·len:·477,·SHA:·a473230908e41209b198331942d235ada65b76b86db55508586ba5c1a502217e·...·]-3">)</span><span·class="p">,</span><span·class="w">191 message·has·been·received·it·replaces·the·operation·in·progress:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="p"·data-group-id="8251454424-1">{</span><span·class="ss">select</span><span·class="p">,</span><span·class="err"> </span><span·class="p"·data-group-id="8251454424-2">{</span><span·class="ss">select_info</span><span·class="p">,</span><span·class="err"> </span><span·class="n">[·...·truncated·by·diffoscope;·len:·477,·SHA:·6e1b2202fd80ad00ae17e088f06faf35f1ad5967bdff9114608f2c471711c7ca·...·]-3">)</span><span·class="p">,</span><span·class="w">
192 ····</span><span·class="p"·data-group-id="0484231159-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Socket</span><span·class="p"·data-group-id="0484231159-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·280,·SHA:·6cec5b88fcbbab545176c4cc2f0018c0acd3dce108048a6faa2ff52b32f769c6·...·]-5">)</span><span·class="p">,</span><span·class="w">192 ····</span><span·class="p"·data-group-id="8251454424-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="err"> </span><span·class="n">Socket</span><span·class="p"·data-group-id="8251454424-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·280,·SHA:·ef9abd395e165b6102b1b7e591efb376ff13e282498e0e34712d1c2baba85e17·...·]-5">)</span><span·class="p">,</span><span·class="w">
193 ····</span><span·class="p">:</span></code></pre><p>Above,·<code·class="inline">Handle</code>·is·<em>no·longer</em>·valid·once·the·second·<a·href="#accept/2"><code·class="inline">accept/2</code></a>,·call193 ····</span><span·class="p">:</span></code></pre><p>Above,·<code·class="inline">Handle</code>·is·<em>no·longer</em>·valid·once·the·second·<a·href="#accept/2"><code·class="inline">accept/2</code></a>,·call
194 has·been·made·(the·first·call·is·automatically·canceled).194 has·been·made·(the·first·call·is·automatically·canceled).
195 After·the·second·<a·href="#accept/2"><code·class="inline">accept/2</code></a>·call·returns,·the·accept·operation195 After·the·second·<a·href="#accept/2"><code·class="inline">accept/2</code></a>·call·returns,·the·accept·operation
196 has·completed.</p><p>Note·that·there·is·a·race·here;·there·is·no·way·to·know·if·the·call196 has·completed.</p><p>Note·that·there·is·a·race·here;·there·is·no·way·to·know·if·the·call
197 is·repeated·<em>before</em>·the·<code·class="inline">select</code>·message·is·sent·since·it·<em>may</em>197 is·repeated·<em>before</em>·the·<code·class="inline">select</code>·message·is·sent·since·it·<em>may</em>
198 have·been·sent·just·before·the·repeated·call.··So·now·there198 have·been·sent·just·before·the·repeated·call.··So·now·there
199 might·be·a·<code·class="inline">select</code>·message·containing·<code·class="inline">Handle</code>·in·the·inbox.</p><h4>The·<code·class="inline">abort</code>·Message</h4><p>Another·message·the·user·must·be·prepared·for199 might·be·a·<code·class="inline">select</code>·message·containing·<code·class="inline">Handle</code>·in·the·inbox.</p><h4>The·<code·class="inline">abort</code>·Message</h4><p>Another·message·the·user·must·be·prepared·for
Offset 218, 36 lines modifiedOffset 218, 36 lines modified
218 (<a·href="#t:completion_handle/0">completion·handle</a>)218 (<a·href="#t:completion_handle/0">completion·handle</a>)
219 API·features·could·be·considered·no·longer·experimental.</li></ul><h2·id="module-examples"·class="section-heading">219 API·features·could·be·considered·no·longer·experimental.</li></ul><h2·id="module-examples"·class="section-heading">
220 ··<a·href="#module-examples"·class="hover-link">220 ··<a·href="#module-examples"·class="hover-link">
221 ····<i·class="ri-link-m"·aria-hidden="true"></i>221 ····<i·class="ri-link-m"·aria-hidden="true"></i>
222 ··</a>222 ··</a>
223 ··<span·class="text">Examples</span>223 ··<span·class="text">Examples</span>
224 </h2>224 </h2>
225 <pre><code·class="makeup·erlang"·translate="no"><span·class="nf">client</span><span·class="p"·data-group-id="5323837882-1">(</span><span·class="n">SAddr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SPort</span><span·class="p"·data-group-id="5323837882-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">225 <pre><code·class="makeup·erlang"·translate="no"><span·class="nf">client</span><span·class="p"·data-group-id="1913858248-1">(</span><span·class="n">SAddr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SPort</span><span·class="p"·data-group-id="1913858248-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
226 ···</span><span·class="p"·data-group-id="5323837882-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sock</span><span·class="p"·data-group-id="5323837882-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·349,·SHA:·8488aae6af6ad5431dbbec78de36d39af9ce8cb8daa3550d2d203186e9a18520·...·]-3">)</span><span·class="p">,</span><span·class="w">226 ···</span><span·class="p"·data-group-id="1913858248-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sock</span><span·class="p"·data-group-id="1913858248-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·349,·SHA:·02b4147c1ee7e4adf379d6472742eaedccf30b7ef9f621a5dd943b55e951dfc9·...·]-3">)</span><span·class="p">,</span><span·class="w">
227 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="5323837882-4">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5323837882-5">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">inet</span><span·class="p">,</span><span·class="w">227 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="1913858248-4">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1913858248-5">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">inet</span><span·class="p">,</span><span·class="w">
228 ·······························</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">SAddr</span><span·class="p">,</span><span·class="w">228 ·······························</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">SAddr</span><span·class="p">,</span><span·class="w">
229 ·······························</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">SPort</span><span·class="p"·data-group-id="5323837882-5">}</span><span·class="p"·data-group-id="5323837882-4">)</span><span·class="p">,</span><span·class="w">229 ·······························</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">SPort</span><span·class="p"·data-group-id="1913858248-5">}</span><span·class="p"·data-group-id="1913858248-4">)</span><span·class="p">,</span><span·class="w">
230 ···</span><span·class="n">Msg</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5323837882-6">&lt;&lt;</span><span·class="s">&quot;hello&quot;</span><span·class="p"·data-group-id="5323837882-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">230 ···</span><span·class="n">Msg</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1913858248-6">&lt;&lt;</span><span·class="s">&quot;hello&quot;</span><span·class="p"·data-group-id="1913858248-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">
231 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="5323837882-7">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="5323837882-7">)</span><span·class="p">,</span><span·class="w">231 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="1913858248-7">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="1913858248-7">)</span><span·class="p">,</span><span·class="w">
232 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="5323837882-8">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">write</span><span·class="p"·data-group-id="5323837882-8">)</span><span·class="p">,</span><span·class="w">232 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="1913858248-8">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">write</span><span·class="p"·data-group-id="1913858248-8">)</span><span·class="p">,</span><span·class="w">
233 ···</span><span·class="p"·data-group-id="5323837882-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="5323837882-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·195,·SHA:·f92dc641d1da8883e76f51cb766fa1fd88f1d40c0defef2494260907f07894e6·...·]-10">)</span><span·class="p">,</span><span·class="w">233 ···</span><span·class="p"·data-group-id="1913858248-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="1913858248-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·195,·SHA:·222f63429b06b28f4648278464b565d66e9f1486fbc266e5bf3ef3d25eae216d·...·]-10">)</span><span·class="p">,</span><span·class="w">
234 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="5323837882-11">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="5323837882-11">)</span><span·class="p">.</span><span·class="w">234 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="1913858248-11">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="1913858248-11">)</span><span·class="p">.</span><span·class="w">
  
235 </span><span·class="nf">server</span><span·class="p"·data-group-id="5323837882-12">(</span><span·class="n">Addr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="5323837882-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">235 </span><span·class="nf">server</span><span·class="p"·data-group-id="1913858248-12">(</span><span·class="n">Addr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="1913858248-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
236 ···</span><span·class="p"·data-group-id="5323837882-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">LSock</span><span·class="p"·data-group-id="5323837882-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·353,·SHA:·c6255a67639806b89bc25d302ace1872dac8df345181946d55a20db67fa1047b·...·]-14">)</span><span·class="p">,</span><span·class="w">236 ···</span><span·class="p"·data-group-id="1913858248-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">LSock</span><span·class="p"·data-group-id="1913858248-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·353,·SHA:·a991e42065b423ea962b607eb416d0ee81f2720d71fb12ee1486358942b4df22·...·]-14">)</span><span·class="p">,</span><span·class="w">
237 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">bind</span><span·class="p"·data-group-id="5323837882-15">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5323837882-16">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">inet</span><span·class="p">,</span><span·class="w">237 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">bind</span><span·class="p"·data-group-id="1913858248-15">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1913858248-16">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">inet</span><span·class="p">,</span><span·class="w">
238 ·····························</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">238 ·····························</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">
239 ·····························</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p"·data-group-id="5323837882-16">}</span><span·class="p"·data-group-id="5323837882-15">)</span><span·class="p">,</span><span·class="w">239 ·····························</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p"·data-group-id="1913858248-16">}</span><span·class="p"·data-group-id="1913858248-15">)</span><span·class="p">,</span><span·class="w">
240 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">listen</span><span·class="p"·data-group-id="5323837882-17">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="5323837882-17">)</span><span·class="p">,</span><span·class="w">240 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">listen</span><span·class="p"·data-group-id="1913858248-17">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="1913858248-17">)</span><span·class="p">,</span><span·class="w">
241 ···</span><span·class="p"·data-group-id="5323837882-18">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sock</span><span·class="p"·data-group-id="5323837882-18">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·201,·SHA:·82ee87a66134d6ea9028f117490fc0c78cb6b9dfdf9a319f8e78838c13a7fc0b·...·]-19">)</span><span·class="p">,</span><span·class="w">241 ···</span><span·class="p"·data-group-id="1913858248-18">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sock</span><span·class="p"·data-group-id="1913858248-18">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·201,·SHA:·6f2dd70bd61b9b9113b6be3a01b20c65e4ad69f431879b3bf7619cde9b0680cb·...·]-19">)</span><span·class="p">,</span><span·class="w">
242 ···</span><span·class="p"·data-group-id="5323837882-20">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="5323837882-20">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·197,·SHA:·d98170f9122c71c5b0afd36449ea7b9943bf804a2d9cc6f8ab9f66e9e1b6f893·...·]-21">)</span><span·class="p">,</span><span·class="w">242 ···</span><span·class="p"·data-group-id="1913858248-20">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="1913858248-20">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·197,·SHA:·078fa81d6e83550dbb1393575e54bb548a8f9e48a5b2115fc9c7426ca89865de·...·]-21">)</span><span·class="p">,</span><span·class="w">
243 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="5323837882-22">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="5323837882-22">)</span><span·class="p">,</span><span·class="w">243 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="1913858248-22">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="1913858248-22">)</span><span·class="p">,</span><span·class="w">
244 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="5323837882-23">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="5323837882-23">)</span><span·class="p">,</span><span·class="w">244 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="1913858248-23">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="1913858248-23">)</span><span·class="p">,</span><span·class="w">
245 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="5323837882-24">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="5323837882-24">)</span><span·class="p">.</span></code></pre>245 ···</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="1913858248-24">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="1913858248-24">)</span><span·class="p">.</span></code></pre>
246 ····</section>246 ····</section>
  
247 </div>247 </div>
  
248 ··<section·id="summary"·class="details-list">248 ··<section·id="summary"·class="details-list">
249 ····<h1·class="section-heading">249 ····<h1·class="section-heading">
250 ······<a·class="hover-link"·href="#summary">250 ······<a·class="hover-link"·href="#summary">
Offset 4699, 15 lines modifiedOffset 4699, 15 lines modified
4699 with·its·name·and·address.</p></li><li><p><strong><code·class="inline">nread</code></strong>·-·Get·the·number·of·bytes·immediately·available·for·reading4699 with·its·name·and·address.</p></li><li><p><strong><code·class="inline">nread</code></strong>·-·Get·the·number·of·bytes·immediately·available·for·reading
4700 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>.</p></li><li><p><strong><code·class="inline">nwrite</code></strong>·-·Get·the·number·of·bytes·in·the·send·queue4700 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>.</p></li><li><p><strong><code·class="inline">nwrite</code></strong>·-·Get·the·number·of·bytes·in·the·send·queue
4701 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>.</p></li><li><p><strong><code·class="inline">nspace</code></strong>·-·Get·the·free·space·in·the·send·queue4701 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>.</p></li><li><p><strong><code·class="inline">nspace</code></strong>·-·Get·the·free·space·in·the·send·queue
4702 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>.</p></li><li><p><strong><code·class="inline">atmark</code></strong>·-·Test·if·there·is·OOB·(out-of-bound)·data·waiting·to·be·read4702 <em>(since·OTP·26.1)</em>.</p><p>Result;·the·number·of·bytes,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0"><code·class="inline">integer/0</code></a>.</p></li><li><p><strong><code·class="inline">atmark</code></strong>·-·Test·if·there·is·OOB·(out-of-bound)·data·waiting·to·be·read
4703 <em>(since·OTP·26.1)</em>.</p><p>Result;·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0"><code·class="inline">boolean/0</code></a>.</p></li><li><p><strong><code·class="inline">tcp_info</code></strong>·-·Get·miscellaneous·TCP·related·information·for·a4703 <em>(since·OTP·26.1)</em>.</p><p>Result;·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0"><code·class="inline">boolean/0</code></a>.</p></li><li><p><strong><code·class="inline">tcp_info</code></strong>·-·Get·miscellaneous·TCP·related·information·for·a
4704 <em>connected</em>·socket·<em>(since·OTP·26.1)</em>.</p><p>Result;·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:map/0"><code·class="inline">map/0</code></a>·with·information·items·as·key-value·pairs.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Not·all·requests·are·supported·by·all·platforms.4704 <em>connected</em>·socket·<em>(since·OTP·26.1)</em>.</p><p>Result;·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:map/0"><code·class="inline">map/0</code></a>·with·information·items·as·key-value·pairs.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Not·all·requests·are·supported·by·all·platforms.
4705 To·see·if·a·ioctl·request·is·supported·on·the·current·platform:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="n">Request</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">nread</span><span·class="p">,</span><span·class="w">4705 To·see·if·a·ioctl·request·is·supported·on·the·current·platform:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="n">Request</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">nread</span><span·class="p">,</span><span·class="w">
4706 ······</span><span·class="ss">true</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">is_supported</span><span·class="p"·data-group-id="9190947675-1">(</span><span·class="ss">ioctl_requests</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Request</span><span·class="p"·data-group-id="9190947675-1">)</span><span·class="p">,</span><span·class="w">4706 ······</span><span·class="ss">true</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">is_supported</span><span·class="p"·data-group-id="7863585446-1">(</span><span·class="ss">ioctl_requests</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Request</span><span·class="p"·data-group-id="7863585446-1">)</span><span·class="p">,</span><span·class="w">
4707 ······</span><span·class="p">:</span></code></pre></section>4707 ······</span><span·class="p">:</span></code></pre></section>
4708 ··</section>4708 ··</section>
4709 </section>4709 </section>
4710 <section·class="detail"·id="ioctl/3">4710 <section·class="detail"·id="ioctl/3">
  
4711 ··<div·class="detail-header">4711 ··<div·class="detail-header">
4712 ····<a·href="#ioctl/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">4712 ····<a·href="#ioctl/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 4857, 15 lines modifiedOffset 4857, 15 lines modified
  
4857 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_supported(Key1·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>().</pre>4857 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_supported(Key1·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>().</pre>
  
4858 ······</div>4858 ······</div>
  
4859 <p>Check·if·a·socket·feature·is·supported.</p><p>Returns·<code·class="inline">true</code>·if·<a·href="#supports/0"><code·class="inline">supports/0</code></a>·has·a·<code·class="inline">{Key1,·true}</code>·tuple4859 <p>Check·if·a·socket·feature·is·supported.</p><p>Returns·<code·class="inline">true</code>·if·<a·href="#supports/0"><code·class="inline">supports/0</code></a>·has·a·<code·class="inline">{Key1,·true}</code>·tuple
4860 or·a·<code·class="inline">{Key1,·list()}</code>·tuple·in·its·returned·list,4860 or·a·<code·class="inline">{Key1,·list()}</code>·tuple·in·its·returned·list,
4861 otherwise·<code·class="inline">false</code>·(also·for·unknown·keys).</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">true</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">is_supported</span><span·class="p"·data-group-id="2827836036-1">(</span><span·class="ss">local</span><span·class="p"·data-group-id="2827836036-1">)</span><span·class="p">,</span></code></pre>4861 otherwise·<code·class="inline">false</code>·(also·for·unknown·keys).</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">true</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">is_supported</span><span·class="p"·data-group-id="2777212367-1">(</span><span·class="ss">local</span><span·class="p"·data-group-id="2777212367-1">)</span><span·class="p">,</span></code></pre>
4862 ··</section>4862 ··</section>
4863 </section>4863 </section>
4864 <section·class="detail"·id="is_supported/2">4864 <section·class="detail"·id="is_supported/2">
  
4865 ··<div·class="detail-header">4865 ··<div·class="detail-header">
4866 ····<a·href="#is_supported/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">4866 ····<a·href="#is_supported/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
4867 ······<i·class="ri-link-m"·aria-hidden="true"></i>4867 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 4886, 15 lines modifiedOffset 4886, 15 lines modified
4886 ······<div·class="specs">4886 ······<div·class="specs">
  
4887 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_supported(Key1·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·Key2·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>().</pre>4887 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_supported(Key1·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·Key2·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>().</pre>
  
4888 ······</div>4888 ······</div>
  
4889 <p>Check·if·a·socket·feature·is·supported.</p><p>Returns·<code·class="inline">true</code>·if·<a·href="#supports/1"><code·class="inline">supports(Key1)</code></a>·has·a·<code·class="inline">{Key2,·true}</code>·tuple4889 <p>Check·if·a·socket·feature·is·supported.</p><p>Returns·<code·class="inline">true</code>·if·<a·href="#supports/1"><code·class="inline">supports(Key1)</code></a>·has·a·<code·class="inline">{Key2,·true}</code>·tuple
4890 in·its·returned·list,·otherwise·<code·class="inline">false</code>·(also·for·unknown·keys).</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">true</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">is_supported</span><span·class="p"·data-group-id="3026649650-1">(</span><span·class="ss">msg_flags</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">errqueue</span><span·class="p"·data-group-id="3026649650-1">)</span><span·class="p">,</span></code></pre>4890 in·its·returned·list,·otherwise·<code·class="inline">false</code>·(also·for·unknown·keys).</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">true</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">is_supported</span><span·class="p"·data-group-id="9508724933-1">(</span><span·class="ss">msg_flags</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">errqueue</span><span·class="p"·data-group-id="9508724933-1">)</span><span·class="p">,</span></code></pre>
4891 ··</section>4891 ··</section>
4892 </section>4892 </section>
4893 <section·class="detail"·id="listen/1">4893 <section·class="detail"·id="listen/1">
  
4894 ··<div·class="detail-header">4894 ··<div·class="detail-header">
4895 ····<a·href="#listen/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">4895 ····<a·href="#listen/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
4896 ······<i·class="ri-link-m"·aria-hidden="true"></i>4896 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 4977, 15 lines modifiedOffset 4977, 15 lines modified
  
4977 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor(Socket·::·<a·href="#t:socket/0">socket</a>())·->·MonitorRef·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0">reference</a>().</pre>4977 ··········<pre·translate="no"><span·class="attribute">-spec</span>·monitor(Socket·::·<a·href="#t:socket/0">socket</a>())·->·MonitorRef·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:reference/0">reference</a>().</pre>
  
4978 ······</div>4978 ······</div>
  
4979 <p>Start·a·socket·monitor.</p><p>If·the·<code·class="inline">Socket</code>·doesn't·exist·or·when·later·the·monitor·is·triggered,4979 <p>Start·a·socket·monitor.</p><p>If·the·<code·class="inline">Socket</code>·doesn't·exist·or·when·later·the·monitor·is·triggered,
4980 a·<code·class="inline">'DOWN'</code>·message·is·sent·to·the·process·that·called·<a·href="#monitor/1"><code·class="inline">monitor/1</code></a>4980 a·<code·class="inline">'DOWN'</code>·message·is·sent·to·the·process·that·called·<a·href="#monitor/1"><code·class="inline">monitor/1</code></a>
4981 with·the·following·pattern:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»       ····</span><span·class="p"·data-group-id="8833666909-1">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MonitorRef</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">socket</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·156,·SHA:·aaea1ee02b869be6aad60d6e4006b4a9383c45c70978e2f86037240d5708eed7·...·]-1">}</span></code></pre><p><code·class="inline">Info</code>·is·the·termination·reason·of·the·socket·or·<code·class="inline">nosock</code>·if4981 with·the·following·pattern:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»       ····</span><span·class="p"·data-group-id="2893759841-1">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MonitorRef</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">socket</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·156,·SHA:·e05366096b42cd6c80dffe4058c501b21ed95f131d8f8fcb509342f0482c4bcf·...·]-1">}</span></code></pre><p><code·class="inline">Info</code>·is·the·termination·reason·of·the·socket·or·<code·class="inline">nosock</code>·if
4982 <code·class="inline">Socket</code>·did·not·exist·when·the·monitor·was·started.</p><p>Making·several·calls·to·<a·href="#monitor/1"><code·class="inline">socket:monitor/1</code></a>·for·the·same·<code·class="inline">Socket</code>·is·not·an4982 <code·class="inline">Socket</code>·did·not·exist·when·the·monitor·was·started.</p><p>Making·several·calls·to·<a·href="#monitor/1"><code·class="inline">socket:monitor/1</code></a>·for·the·same·<code·class="inline">Socket</code>·is·not·an
4983 error;·each·call·creates·an·independent·monitor·instance.</p>4983 error;·each·call·creates·an·independent·monitor·instance.</p>
4984 ··</section>4984 ··</section>
4985 </section>4985 </section>
4986 <section·class="detail"·id="number_of/0">4986 <section·class="detail"·id="number_of/0">
  
4987 ··<div·class="detail-header">4987 ··<div·class="detail-header">
Offset 7111, 15 lines modifiedOffset 7111, 15 lines modified
7111 ······<p·class="built-using">7111 ······<p·class="built-using">
7112 ········Built·using7112 ········Built·using
7113 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the7113 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
7114 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>7114 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
7115 ······</p>7115 ······</p>
7116 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>7116 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
7117 ····</footer>7117 ····</footer>
Max diff block lines reached; 154/33529 bytes (0.46%) of diff not shown.
832 B
html2text {}
Max HTML report size reached
114 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/socket_usage.html
    
Offset 182, 244 lines modifiedOffset 182, 244 lines modified
182 effects·<em>that</em>·specific·socket).</p><h2·id="example"·class="section-heading">182 effects·<em>that</em>·specific·socket).</p><h2·id="example"·class="section-heading">
183 ··<a·href="#example"·class="hover-link">183 ··<a·href="#example"·class="hover-link">
184 ····<i·class="ri-link-m"·aria-hidden="true"></i>184 ····<i·class="ri-link-m"·aria-hidden="true"></i>
185 ··</a>185 ··</a>
186 ··<span·class="text">Example</span>186 ··<span·class="text">Example</span>
187 </h2>187 </h2>
188 <p>This·example·is·intended·to·show·how·to·create·a·simple·(echo)·server188 <p>This·example·is·intended·to·show·how·to·create·a·simple·(echo)·server
189 (and·client).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2203808821-1">(</span><span·class="ss">example</span><span·class="p"·data-group-id="2203808821-1">)</span><span·class="p">.</span><span·class="w">189 (and·client).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9655326388-1">(</span><span·class="ss">example</span><span·class="p"·data-group-id="9655326388-1">)</span><span·class="p">.</span><span·class="w">
190 </span><span·class="w">190 </span><span·class="w">
191 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2203808821-2">(</span><span·class="p"·data-group-id="2203808821-3">[</span><span·class="ss">client</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">client</span><span·class="p">/</span>[·...·truncated·by·diffoscope;·len:·119,·SHA:·26df92ab65b911e3c8e83d5ec08f03f1f224b206599afda7c8e1f50921fbc291·...·]-2">)</span><span·class="p">.</span><span·class="w">191 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9655326388-2">(</span><span·class="p"·data-group-id="9655326388-3">[</span><span·class="ss">client</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">client</span><span·class="p">/</span>[·...·truncated·by·diffoscope;·len:·119,·SHA:·ac0ea8807076b2c34111bfb5f50717da7d5f88e4431e72a876fdb9a8c0b2a8bb·...·]-2">)</span><span·class="p">.</span><span·class="w">
192 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2203808821-4">(</span><span·class="p"·data-group-id="2203808821-5">[</span><span·class="ss">server</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">server</span><span·class="p">/</span>[·...·truncated·by·diffoscope;·len:·246,·SHA:·891558a133d417a50bcfb04df244da0c49fae7c93bbb2a9cc0e8b797708bc7ba·...·]-4">)</span><span·class="p">.</span><span·class="w">192 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9655326388-4">(</span><span·class="p"·data-group-id="9655326388-5">[</span><span·class="ss">server</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">server</span><span·class="p">/</span>[·...·truncated·by·diffoscope;·len:·246,·SHA:·adb75b75b8aefaaacc392b754d707a0d03f1450a4e42306b8cb707f2f824840f·...·]-4">)</span><span·class="p">.</span><span·class="w">
  
  
193 </span><span·class="c1">%%·======================================================================</span><span·class="w">193 </span><span·class="c1">%%·======================================================================</span><span·class="w">
  
194 </span><span·class="c1">%%·===·Client·===</span><span·class="w">194 </span><span·class="c1">%%·===·Client·===</span><span·class="w">
  
195 </span><span·class="nf">client</span><span·class="p"·data-group-id="2203808821-6">(</span><span·class="p"·data-group-id="2203808821-7">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Family</span><span·class="p"·data-group-id="2203808821-7">}</[·...·truncated·by·diffoscope;·len:·229,·SHA:·04ff4469799bd63c34f9240f809b1fc7c1107f276cedb24385bb45101225c50b·...·]-6">)</span><span·class="w">195 </span><span·class="nf">client</span><span·class="p"·data-group-id="9655326388-6">(</span><span·class="p"·data-group-id="9655326388-7">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Family</span><span·class="p"·data-group-id="9655326388-7">}</[·...·truncated·by·diffoscope;·len:·229,·SHA:·016208fb8b190a19a211492acc362b96b3b22468e8c7d49e25d8ce5bff06d4be·...·]-6">)</span><span·class="w">
196 ··</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="2203808821-8">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="2203808821-8">)</span><span·class="w">·</span><span·class="ow">orelse</span><span·class="w">·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="2203808821-9"[·...·truncated·by·diffoscope;·len:·76,·SHA:·c2fb81a0919bc2b8d0dfa176790025280b0cc8c94b4acdb0bf3566dd2c98f629·...·]-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">196 ··</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="9655326388-8">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="9655326388-8">)</span><span·class="w">·</span><span·class="ow">orelse</span><span·class="w">·</span><span·class="nf">is_binary</span><span·class="p"·data-group-id="9655326388-9"[·...·truncated·by·diffoscope;·len:·76,·SHA:·1047ef4c116ed3afd77611badadd78d183ca544fa85e46464b7c48f8cc63b3c2·...·]-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
197 ····</span><span·class="p"·data-group-id="2203808821-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sock</span><span·class="p"·data-group-id="2203808821-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·357,·SHA:·df64875ac62450632b739b6be34585fa070452e69da48ba5ca2c8ab63a1720df·...·]-11">)</span><span·class="p">,</span><span·class="w">197 ····</span><span·class="p"·data-group-id="9655326388-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sock</span><span·class="p"·data-group-id="9655326388-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·357,·SHA:·93f0dc58071aa888819908c9ef64b3e6ef088e64587dcc067f46ff33bd03a27f·...·]-11">)</span><span·class="p">,</span><span·class="w">
198 ····</span><span·class="ss">ok</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">maybe_bind</span><span·class="p"·data-group-id="2203808821-12">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Family</span><span·class="p"·data-group-id="2203808821-12">)</span><span·class="p">,</span><span·class="w">198 ····</span><span·class="ss">ok</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">maybe_bind</span><span·class="p"·data-group-id="9655326388-12">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Family</span><span·class="p"·data-group-id="9655326388-12">)</span><span·class="p">,</span><span·class="w">
199 ····</span><span·class="ss">ok</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="2203808821-13">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ServerSockAddr</span><span·class="p"·data-group-id="2203808821-13">)</span><span·class="p">,</span><span·class="w">199 ····</span><span·class="ss">ok</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="9655326388-13">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ServerSockAddr</span><span·class="p"·data-group-id="9655326388-13">)</span><span·class="p">,</span><span·class="w">
200 ····</span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="2203808821-14">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="2203808821-14">)</span><span·class="p">;</span><span·class="w">200 ····</span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="9655326388-14">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="9655326388-14">)</span><span·class="p">;</span><span·class="w">
  
201 </span><span·class="nf">client</span><span·class="p"·data-group-id="2203808821-15">(</span><span·class="n">ServerPort</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="2203808821-15">)</span><span·class="w">201 </span><span·class="nf">client</span><span·class="p"·data-group-id="9655326388-15">(</span><span·class="n">ServerPort</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="9655326388-15">)</span><span·class="w">
202 ··</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="2203808821-16">(</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="2203808821-16">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="2203808821-17">(</span><span·class="[·...·truncated·by·diffoscope;·len:·161,·SHA:·4226ad7c4aebe96059dd52e0ddb4b8b1760902d376de6179127bb37b56df0af7·...·]-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">202 ··</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="9655326388-16">(</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="9655326388-16">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="9655326388-17">(</span><span·class="[·...·truncated·by·diffoscope;·len:·161,·SHA:·f1d6a61eaa564f480c3be153e384fcfc306ecd572d1ac0e12b82f79efab0716a·...·]-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
203 ····</span><span·class="n">Family</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">inet</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Default</span><span·class="w">203 ····</span><span·class="n">Family</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">inet</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Default</span><span·class="w">
204 ····</span><span·class="n">Addr</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">get_local_addr</span><span·class="p"·data-group-id="2203808821-18">(</span><span·class="n">Family</span><span·class="p"·data-group-id="2203808821-18">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Pick·an·address</span><span·class="w">204 ····</span><span·class="n">Addr</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">get_local_addr</span><span·class="p"·data-group-id="9655326388-18">(</span><span·class="n">Family</span><span·class="p"·data-group-id="9655326388-18">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Pick·an·address</span><span·class="w">
205 ····</span><span·class="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2203808821-19">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">205 ····</span><span·class="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9655326388-19">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">
206 »       »       ·</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p">,</span><span·class="w">206 »       »       ·</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p">,</span><span·class="w">
207 »       »       ·</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="2203808821-19">}</span><span·class="p">,</span><span·class="w">207 »       »       ·</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="9655326388-19">}</span><span·class="p">,</span><span·class="w">
208 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="2203808821-20">(</span><span·class="n">SockAddr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="2203808821-20">)</span><span·class="p">.</span><span·class="w">208 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="9655326388-20">(</span><span·class="n">SockAddr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="9655326388-20">)</span><span·class="p">.</span><span·class="w">
  
209 </span><span·class="nf">client</span><span·class="p"·data-group-id="2203808821-21">(</span><span·class="n">ServerPort</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ServerAddr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="2203808821-21">)</span><span·class="w">209 </span><span·class="nf">client</span><span·class="p"·data-group-id="9655326388-21">(</span><span·class="n">ServerPort</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ServerAddr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="9655326388-21">)</span><span·class="w">
210 ··</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="2203808821-22">(</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="2203808821-22">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="2203808821-23">(</span><span·class="[·...·truncated·by·diffoscope;·len:·161,·SHA:·4226ad7c4aebe96059dd52e0ddb4b8b1760902d376de6179127bb37b56df0af7·...·]-23">)</span><span·class="w">·</span><span·class="ow">andalso</span><span·class="w">210 ··</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="9655326388-22">(</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="9655326388-22">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="9655326388-23">(</span><span·class="[·...·truncated·by·diffoscope;·len:·161,·SHA:·f1d6a61eaa564f480c3be153e384fcfc306ecd572d1ac0e12b82f79efab0716a·...·]-23">)</span><span·class="w">·</span><span·class="ow">andalso</span><span·class="w">
211 ·······</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="2203808821-24">(</span><span·class="n">ServerAddr</span><span·class="p"·data-group-id="2203808821-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">211 ·······</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="9655326388-24">(</span><span·class="n">ServerAddr</span><span·class="p"·data-group-id="9655326388-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
212 ····</span><span·class="n">Family</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">which_family</span><span·class="p"·data-group-id="2203808821-25">(</span><span·class="n">ServerAddr</span><span·class="p"·data-group-id="2203808821-25">)</span><span·class="p">,</span><span·class="w">212 ····</span><span·class="n">Family</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">which_family</span><span·class="p"·data-group-id="9655326388-25">(</span><span·class="n">ServerAddr</span><span·class="p"·data-group-id="9655326388-25">)</span><span·class="p">,</span><span·class="w">
213 ····</span><span·class="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2203808821-26">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">213 ····</span><span·class="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9655326388-26">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">
214 »       »       ·</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">ServerAddr</span><span·class="p">,</span><span·class="w">214 »       »       ·</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">ServerAddr</span><span·class="p">,</span><span·class="w">
215 »       »       ·</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="2203808821-26">}</span><span·class="p">,</span><span·class="w">215 »       »       ·</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">ServerPort</span><span·class="p"·data-group-id="9655326388-26">}</span><span·class="p">,</span><span·class="w">
216 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="2203808821-27">(</span><span·class="n">SockAddr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="2203808821-27">)</span><span·class="p">.</span><span·class="w">216 ····</span><span·class="nf">client</span><span·class="p"·data-group-id="9655326388-27">(</span><span·class="n">SockAddr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="9655326388-27">)</span><span·class="p">.</span><span·class="w">
  
217 </span><span·class="c1">%%·Send·the·message·to·the·(echo)·server·and·wait·for·the·echo·to·come·back.</span><span·class="w">217 </span><span·class="c1">%%·Send·the·message·to·the·(echo)·server·and·wait·for·the·echo·to·come·back.</span><span·class="w">
218 </span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="2203808821-28">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="2203808821-28">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·149,·SHA:·930fbaa7fbf571248c3a8b4dde45d7a063de43e7998d1211b101113ae1a95c7a·...·]-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">218 </span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="9655326388-28">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="9655326388-28">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·149,·SHA:·c942765746420fb27ac5e6c095c63682b94107d97bfe964cfe08cf60736b165b·...·]-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
219 ····</span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="2203808821-30">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="2203808821-31">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="220380882[·...·truncated·by·diffoscope;·len:·55,·SHA:·8c4188cafb7c80d38e4322a57f06527bc5bd688b2dce35793887e1387a0e8a95·...·]-30">)</span><span·class="p">;</span><span·class="w">219 ····</span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="9655326388-30">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="9655326388-31">(</span><span·class="n">Msg</span><span·class="p"·data-group-id="965532638[·...·truncated·by·diffoscope;·len:·55,·SHA:·ce48735eb123e74060ff8c29b7ee06b77df8a8ebd4644e0398430c176ec4d342·...·]-30">)</span><span·class="p">;</span><span·class="w">
220 </span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="2203808821-32">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="2203808821-32">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·151,·SHA:·1f19681d6343606e78c42385a1c8ed0277dbd2089738cdd1ded938c0627a41b0·...·]-33">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">220 </span><span·class="nf">client_exchange</span><span·class="p"·data-group-id="9655326388-32">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="9655326388-32">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·151,·SHA:·de7442a612cf4820c752d17d43c4a163aa1587237d8df765156adaa2b1727f7e·...·]-33">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
221 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="2203808821-34">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">infinity</span><span·class="p"·data-group-id="2203808821-34">)</span><span·class="p">,</span><span·class="w">221 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="9655326388-34">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">infinity</span><span·class="p"·data-group-id="9655326388-34">)</span><span·class="p">,</span><span·class="w">
222 ····</span><span·class="p"·data-group-id="2203808821-35">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="2203808821-35">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·492,·SHA:·3a685f62f077beec78b95bd1a891d9d96cf2b6fd6ea47404a52d6467c6244930·...·]-36">)</span><span·class="p">,</span><span·class="w">222 ····</span><span·class="p"·data-group-id="9655326388-35">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="9655326388-35">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·492,·SHA:·0d45ce895451e71de2b79f603ea936d5f4ac86b0a47a37da53ce0324b5db8e83·...·]-36">)</span><span·class="p">,</span><span·class="w">
223 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">223 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
  
224 </span><span·class="c1">%%·======================================================================</span><span·class="w">224 </span><span·class="c1">%%·======================================================================</span><span·class="w">
  
225 </span><span·class="c1">%%·===·Server·===</span><span·class="w">225 </span><span·class="c1">%%·===·Server·===</span><span·class="w">
  
226 </span><span·class="nf">server</span><span·class="p"·data-group-id="2203808821-38">(</span><span·class="p"·data-group-id="2203808821-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">226 </span><span·class="nf">server</span><span·class="p"·data-group-id="9655326388-38">(</span><span·class="p"·data-group-id="9655326388-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
227 ····</span><span·class="c1">%%·Make·system·choose·port·(and·address)</span><span·class="w">227 ····</span><span·class="c1">%%·Make·system·choose·port·(and·address)</span><span·class="w">
228 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="2203808821-39">(</span><span·class="mi">0</span><span·class="p"·data-group-id="2203808821-39">)</span><span·class="p">.</span><span·class="w">228 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="9655326388-39">(</span><span·class="mi">0</span><span·class="p"·data-group-id="9655326388-39">)</span><span·class="p">.</span><span·class="w">
  
229 </span><span·class="c1">%%·This·function·return·the·port·and·address·that·it·actually·uses,</span><span·class="w">229 </span><span·class="c1">%%·This·function·return·the·port·and·address·that·it·actually·uses,</span><span·class="w">
230 </span><span·class="c1">%%·in·case·server/0·or·server/1·(with·a·port·number)·was·used·to·start·it.</span><span·class="w">230 </span><span·class="c1">%%·in·case·server/0·or·server/1·(with·a·port·number)·was·used·to·start·it.</span><span·class="w">
  
231 </span><span·class="nf">server</span><span·class="p"·data-group-id="2203808821-40">(</span><span·class="p"·data-group-id="2203808821-41">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·501,·SHA:·55a8f449f0c336da31f4e57d75a90b1bb6c7c136ff1f0c60daf1fb74149a004a·...·]-40">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">231 </span><span·class="nf">server</span><span·class="p"·data-group-id="9655326388-40">(</span><span·class="p"·data-group-id="9655326388-41">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·501,·SHA:·24ce853d8a94b66913aa75e832516ef0a141f3f13e5f74defc6ffc98dab9888f·...·]-40">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ····</span><span·class="p"·data-group-id="2203808821-42">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sock</span><span·class="p"·data-group-id="2203808821-42">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·353,·SHA:·f58af3d032e356c39c9c6b5d7f4d4b79e087c362ad35c37b1678b12de698ed35·...·]-43">)</span><span·class="p">,</span><span·class="w">232 ····</span><span·class="p"·data-group-id="9655326388-42">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sock</span><span·class="p"·data-group-id="9655326388-42">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·353,·SHA:·19672829095a02a34c1a1399766b72ecc8c28648f21fba7595fa3a264a45c38c·...·]-43">)</span><span·class="p">,</span><span·class="w">
233 ····</span><span·class="ss">ok</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">bind</span><span·class="p"·data-group-id="2203808821-44">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="2203808821-44">)</span><span·class="p">,</span><span·class="w">233 ····</span><span·class="ss">ok</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">bind</span><span·class="p"·data-group-id="9655326388-44">(</span><span·class="n">Sock</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="9655326388-44">)</span><span·class="p">,</span><span·class="w">
234 ····</span><span·class="ss">ok</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">listen</span><span·class="p"·data-group-id="2203808821-45">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2203808821-45">)</span><span·class="p">,</span><span·class="w">234 ····</span><span·class="ss">ok</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">listen</span><span·class="p"·data-group-id="9655326388-45">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="9655326388-45">)</span><span·class="p">,</span><span·class="w">
235 ····</span><span·class="p"·data-group-id="2203808821-46">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2203808821-47">#{</span><span·class="ss">port</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·412,·SHA:·6c24cb1f8ec592842c8f402412e2f123f642d7c6e1758ba00e032a07bb657dc2·...·]-48">)</span><span·class="p">,</span><span·class="w">235 ····</span><span·class="p"·data-group-id="9655326388-46">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9655326388-47">#{</span><span·class="ss">port</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·412,·SHA:·abca10f9cb05e16daa7650c5737f583ef2025c036b9e1fee5cd251216029babb·...·]-48">)</span><span·class="p">,</span><span·class="w">
236 ····</span><span·class="n">Acceptor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">start_acceptor</span><span·class="p"·data-group-id="2203808821-49">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2203808821-49">)</span><span·class="p">,</span><span·class="w"> 
237 ····</span><span·class="p"·data-group-id="2203808821-50">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2203808821-51">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·219,·SHA:·3e1b33bb25d9aa4286e38444643a51f1d1baed6abec03827544b059f9170af64·...·]</span><span·class="w">236 ····</span><span·class="n">Acceptor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">start_acceptor</span><span·class="p"·data-group-id="9655326388-49">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="9655326388-49">)[·...·truncated·by·diffoscope;·len:·24,·SHA:·fb649ce4501752a181a95639f50a14dc0dcddcf7a62949109a2ee6f0ba38f75c·...·]</span><span·class="w">
 237 ····</span><span·class="p"·data-group-id="9655326388-50">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9655326388-51">{</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acceptor</span><span·class="p"·data-group-id="9655326388-51">}</span><span·class="p"·data-group-id="9655326388-50">}</span><span·class="p">;</span><span·class="w">
  
238 </span><span·class="nf">server</span><span·class="p"·data-group-id="2203808821-52">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2203808821-52">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="2203808821-5[·...·truncated·by·diffoscope;·len:·79,·SHA:·ecc8edfc1bdf3b4f6cb4eead9faecc86caa03ba4aac57fbb94289c4341b31d46·...·]-53">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">238 </span><span·class="nf">server</span><span·class="p"·data-group-id="9655326388-52">(</span><span·class="n">Port</span><span·class="p"·data-group-id="9655326388-52">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="9655326388-5[·...·truncated·by·diffoscope;·len:·79,·SHA:·147b6045f43c7cb753d76aa5aedbe8c6ac9f0059fc683c036acf2d1024f55be5·...·]-53">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
239 ····</span><span·class="n">Family</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">inet</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Default</span><span·class="w">239 ····</span><span·class="n">Family</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">inet</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Default</span><span·class="w">
240 ····</span><span·class="n">Addr</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">get_local_addr</span><span·class="p"·data-group-id="2203808821-54">(</span><span·class="n">Family</span><span·class="p"·data-group-id="2203808821-54">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Pick·an·address</span><span·class="w">240 ····</span><span·class="n">Addr</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">get_local_addr</span><span·class="p"·data-group-id="9655326388-54">(</span><span·class="n">Family</span><span·class="p"·data-group-id="9655326388-54">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·Pick·an·address</span><span·class="w">
241 ····</span><span·class="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2203808821-55">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">241 ····</span><span·class="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9655326388-55">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">
242 »       »       ·</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p">,</span><span·class="w">242 »       »       ·</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p">,</span><span·class="w">
243 »       »       ·</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="2203808821-55">}</span><span·class="p">,</span><span·class="w">243 »       »       ·</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="9655326388-55">}</span><span·class="p">,</span><span·class="w">
244 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="2203808821-56">(</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="2203808821-56">)</span><span·class="p">.</span><span·class="w">244 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="9655326388-56">(</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="9655326388-56">)</span><span·class="p">.</span><span·class="w">
  
245 </span><span·class="nf">server</span><span·class="p"·data-group-id="2203808821-57">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p"·data-group-id="2203808821-57">)</span><span·class="w">245 </span><span·class="nf">server</span><span·class="p"·data-group-id="9655326388-57">(</span><span·class="n">Port</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p"·data-group-id="9655326388-57">)</span><span·class="w">
246 ··</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="2203808821-58">(</span><span·class="n">Port</span><span·class="p"·data-group-id="2203808821-58">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="2203808821-59">(</span><span·class="n">Por[·...·truncated·by·diffoscope;·len:·150,·SHA:·e876bbaec359621453bf551f52957c45d96b80a0fd4b15489b2fae7a319ee895·...·]-59">)</span><span·class="w">·</span><span·class="ow">andalso</span><span·class="w">246 ··</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="9655326388-58">(</span><span·class="n">Port</span><span·class="p"·data-group-id="9655326388-58">)</span><span·class="w">·</span><span·class="nf">andalso</span><span·class="w">·</span><span·class="p"·data-group-id="9655326388-59">(</span><span·class="n">Por[·...·truncated·by·diffoscope;·len:·150,·SHA:·8353b7e0a38f4fc7e34412872327c3dd31d052ffe0ef564a53ea0a6c41efb155·...·]-59">)</span><span·class="w">·</span><span·class="ow">andalso</span><span·class="w">
247 ·······</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="2203808821-60">(</span><span·class="n">Addr</span><span·class="p"·data-group-id="2203808821-60">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">247 ·······</span><span·class="nf">is_tuple</span><span·class="p"·data-group-id="9655326388-60">(</span><span·class="n">Addr</span><span·class="p"·data-group-id="9655326388-60">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
248 ····</span><span·class="n">Family</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">which_family</span><span·class="p"·data-group-id="2203808821-61">(</span><span·class="n">Addr</span><span·class="p"·data-group-id="2203808821-61">)</span><span·class="p">,</span><span·class="w">248 ····</span><span·class="n">Family</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">which_family</span><span·class="p"·data-group-id="9655326388-61">(</span><span·class="n">Addr</span><span·class="p"·data-group-id="9655326388-61">)</span><span·class="p">,</span><span·class="w">
249 ····</span><span·class="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2203808821-62">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">249 ····</span><span·class="n">SockAddr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9655326388-62">#{</span><span·class="ss">family</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Family</span><span·class="p">,</span><span·class="w">
250 »       »       ·</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p">,</span><span·class="w">250 »       »       ·</span><span·class="ss">addr</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Addr</span><span·class="p">,</span><span·class="w">
251 »       »       ·</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="2203808821-62">}</span><span·class="p">,</span><span·class="w">251 »       »       ·</span><span·class="ss">port</span><span·class="w">···</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Port</span><span·class="p"·data-group-id="9655326388-62">}</span><span·class="p">,</span><span·class="w">
252 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="2203808821-63">(</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="2203808821-63">)</span><span·class="p">.</span><span·class="w">252 ····</span><span·class="nf">server</span><span·class="p"·data-group-id="9655326388-63">(</span><span·class="n">SockAddr</span><span·class="p"·data-group-id="9655326388-63">)</span><span·class="p">.</span><span·class="w">
  
  
253 </span><span·class="c1">%%·---·Echo·Server·-·Acceptor·---</span><span·class="w">253 </span><span·class="c1">%%·---·Echo·Server·-·Acceptor·---</span><span·class="w">
  
254 </span><span·class="nf">start_acceptor</span><span·class="p"·data-group-id="2203808821-64">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="2203808821-64">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">254 </span><span·class="nf">start_acceptor</span><span·class="p"·data-group-id="9655326388-64">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="9655326388-64">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
255 ····</span><span·class="n">Self</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="2203808821-65">(</span><span·class="p"·data-group-id="2203808821-65">)</span><span·class="p">,</span><span·class="w">255 ····</span><span·class="n">Self</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="9655326388-65">(</span><span·class="p"·data-group-id="9655326388-65">)</span><span·class="p">,</span><span·class="w">
256 ····</span><span·class="p"·data-group-id="2203808821-66">{</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p"·data-group-id="2203808821-66">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·635,·SHA:·e48ba6fbaace78db6c5e101d861b9fc779b86eaef2eddf3cb6b9fb3507622702·...·]-67">)</span><span·class="p">,</span><span·class="w">256 ····</span><span·class="p"·data-group-id="9655326388-66">{</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p"·data-group-id="9655326388-66">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·635,·SHA:·8904a6ad2119364dcf165eba101d5c4670c972fef23803ca07b52f436ef5bab2·...·]-67">)</span><span·class="p">,</span><span·class="w">
257 ····</span><span·class="k">receive</span><span·class="w">257 ····</span><span·class="k">receive</span><span·class="w">
258 »       </span><span·class="p"·data-group-id="2203808821-70">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">process</span><span·class="p">,</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·149,·SHA:·51cb069ba817b8fe9bd3d6f8bb32ca075a5ee40c40704fe8015e7208b6ce3ec6·...·]-70">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">258 »       </span><span·class="p"·data-group-id="9655326388-70">{</span><span·class="ss">&#39;DOWN&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MRef</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">process</span><span·class="p">,</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·149,·SHA:·87722ccd8d38309aef2ffe3b6d09f74b2f673b0627460d0fe5bb759dba078423·...·]-70">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
259 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="2203808821-71">(</span><span·class="p"·data-group-id="2203808821-72">{</span><span·class="ss">failed_starting_acceptor</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p"·data-group-id="2203808821-72">}</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·329e0d3e407d15781b839e30bcdc2d1cc57a3b390bdcb4e6b7a5b533c130bc17·...·]-71">)</span><span·class="p">;</span><span·class="w">259 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="9655326388-71">(</span><span·class="p"·data-group-id="9655326388-72">{</span><span·class="ss">failed_starting_acceptor</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p"·data-group-id="9655326388-72">}</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·de905e8576ddb05ef0fb693a97a73cbeead5133133bda45a5537d416b8d2f222·...·]-71">)</span><span·class="p">;</span><span·class="w">
260 »       </span><span·class="p"·data-group-id="2203808821-73">{</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">started</span><span·class="p"·data-group-id="2203808821-73">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">260 »       </span><span·class="p"·data-group-id="9655326388-73">{</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">started</span><span·class="p"·data-group-id="9655326388-73">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
261 »       ····</span><span·class="c1">%%·Transfer·ownership</span><span·class="w">261 »       ····</span><span·class="c1">%%·Transfer·ownership</span><span·class="w">
262 »       ····</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">setopt</span><span·class="p"·data-group-id="2203808821-74">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">otp</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">owner</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·62,·SHA:·a70ccae0a936e420fd3c7da2d81826d2389ec6ce30955f7c99d8b298f0a90e59·...·]-74">)</span><span·class="p">,</span><span·class="w">262 »       ····</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">setopt</span><span·class="p"·data-group-id="9655326388-74">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">otp</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">owner</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·62,·SHA:·e2179003d24cfd5ba012c7e0f1eba9760446a8994778cf40093222b89a5a9744·...·]-74">)</span><span·class="p">,</span><span·class="w">
263 »       ····</span><span·class="n">Pid</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="2203808821-75">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2203808821-76">(</span><span·class="p"·data-group-id="2203808821-76">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">continue</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·d371831e90a92e35c581ff699ebeab153e30aa4aed6e712b0c1e7507c5978aa3·...·]-75">}</span><span·class="p">,</span><span·class="w">263 »       ····</span><span·class="n">Pid</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9655326388-75">{</span><span·class="nf">self</span><span·class="p"·data-group-id="9655326388-76">(</span><span·class="p"·data-group-id="9655326388-76">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">continue</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·02c083373062d02e2189b0b9dfe7f292ab95e6a93daccb70f9bc3f88b2d68082·...·]-75">}</span><span·class="p">,</span><span·class="w">
264 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="2203808821-77">(</span><span·class="n">MRef</span><span·class="p"·data-group-id="2203808821-77">)</span><span·class="p">,</span><span·class="w">264 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">demonitor</span><span·class="p"·data-group-id="9655326388-77">(</span><span·class="n">MRef</span><span·class="p"·data-group-id="9655326388-77">)</span><span·class="p">,</span><span·class="w">
265 »       ····</span><span·class="n">Pid</span><span·class="w">265 »       ····</span><span·class="n">Pid</span><span·class="w">
266 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">266 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
267 ····267 ····
268 </span><span·class="nf">acceptor_init</span><span·class="p"·data-group-id="2203808821-78">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">LSock</span><span·class="p"·data-group-id="2203808821-78">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">268 </span><span·class="nf">acceptor_init</span><span·class="p"·data-group-id="9655326388-78">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">LSock</span><span·class="p"·data-group-id="9655326388-78">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
269 ····</span><span·class="n">Parent</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="2203808821-79">{</span><span·class="nf">self</span><span·class="p"·data-group-id="2203808821-80">(</span><span·class="p"·data-group-id="2203808821-80">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">started</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·a9d52335e5c454ae5ae0e1f8711de6ab39056da795ab7553c16762f8c83c50dc·...·]-79">}</span><span·class="p">,</span><span·class="w">269 ····</span><span·class="n">Parent</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9655326388-79">{</span><span·class="nf">self</span><span·class="p"·data-group-id="9655326388-80">(</span><span·class="p"·data-group-id="9655326388-80">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">started</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·fcc1000220aad690de9f906bc3017ad7312f71cdd3b1ce8311adb4b67c0e85cb·...·]-79">}</span><span·class="p">,</span><span·class="w">
270 ····</span><span·class="k">receive</span><span·class="w">270 ····</span><span·class="k">receive</span><span·class="w">
271 »       </span><span·class="p"·data-group-id="2203808821-81">{</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">continue</span><span·class="p"·data-group-id="2203808821-81">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">271 »       </span><span·class="p"·data-group-id="9655326388-81">{</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">continue</span><span·class="p"·data-group-id="9655326388-81">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
272 »       ····</span><span·class="ss">ok</span><span·class="w">272 »       ····</span><span·class="ss">ok</span><span·class="w">
273 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">273 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
274 ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="2203808821-82">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="2203808821-82">)</span><span·class="p">.</span><span·class="w">274 ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="9655326388-82">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="9655326388-82">)</span><span·class="p">.</span><span·class="w">
  
275 </span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="2203808821-83">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="2203808821-83">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">275 </span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="9655326388-83">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="9655326388-83">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
276 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">accept</span><span·class="p"·data-group-id="2203808821-84">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">infinity</span><span·class="p"·data-group-id="2203808821-84">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">276 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">socket</span><span·class="p">:</span><span·class="nf">accept</span><span·class="p"·data-group-id="9655326388-84">(</span><span·class="n">LSock</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">infinity</span><span·class="p"·data-group-id="9655326388-84">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
277 »       </span><span·class="p"·data-group-id="2203808821-85">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ASock</span><span·class="p"·data-group-id="2203808821-85">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">277 »       </span><span·class="p"·data-group-id="9655326388-85">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ASock</span><span·class="p"·data-group-id="9655326388-85">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
278 »       ····</span><span·class="nf">start_handler</span><span·class="p"·data-group-id="2203808821-86">(</span><span·class="n">ASock</span><span·class="p"·data-group-id="2203808821-86">)</span><span·class="p">,</span><span·class="w">278 »       ····</span><span·class="nf">start_handler</span><span·class="p"·data-group-id="9655326388-86">(</span><span·class="n">ASock</span><span·class="p"·data-group-id="9655326388-86">)</span><span·class="p">,</span><span·class="w">
279 »       ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="2203808821-87">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="2203808821-87">)</span><span·class="p">;</span><span·class="w">279 »       ····</span><span·class="nf">acceptor_loop</span><span·class="p"·data-group-id="9655326388-87">(</span><span·class="n">LSock</span><span·class="p"·data-group-id="9655326388-87">)</span><span·class="p">;</span><span·class="w">
280 »       </span><span·class="p"·data-group-id="2203808821-88">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="2203808821-88">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">280 »       </span><span·class="p"·data-group-id="9655326388-88">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="9655326388-88">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
281 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="2203808821-89">(</span><span·class="p"·data-group-id="2203808821-90">{</span><span·class="ss">accept_failed</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="2203808821-90">}</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·33d044954596804834319c29f3bf46d922945ce963066d75bafc05e845f47b8e·...·]-89">)</span><span·class="w">281 »       ····</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="9655326388-89">(</span><span·class="p"·data-group-id="9655326388-90">{</span><span·class="ss">accept_failed</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="9655326388-90">}</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·f7b1b4739a36870b2f280044477ab17fbdddc2f5beb1b53efd67029880218207·...·]-89">)</span><span·class="w">
282 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">282 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
  
283 </span><span·class="c1">%%·---·Echo·Server·-·Handler·---</span><span·class="w">283 </span><span·class="c1">%%·---·Echo·Server·-·Handler·---</span><span·class="w">
  
284 </span><span·class="nf">start_handler</span><span·class="p"·data-group-id="2203808821-91">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="2203808821-91">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">284 </span><span·class="nf">start_handler</span><span·class="p"·data-group-id="9655326388-91">(</span><span·class="n">Sock</span><span·class="p"·data-group-id="9655326388-91">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
285 ····</span><span·class="n">Self</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="2203808821-92">(</span><span·class="p"·data-group-id="2203808821-92">)</span><span·class="p">,</span><span·class="w">285 ····</span><span·class="n">Self</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="9655326388-92">(</span><span·class="p"·data-group-id="9655326388-92">)</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 53625/116082 bytes (46.20%) of diff not shown.
677 B
html2text {}
Max HTML report size reached
42.1 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/trace.html
    
Offset 142, 31 lines modifiedOffset 142, 31 lines modified
142 </h2>142 </h2>
143 <p>All·tracing·is·done·within·a·trace·session.·Trace·sessions·can·be143 <p>All·tracing·is·done·within·a·trace·session.·Trace·sessions·can·be
144 <a·href="#session_create/3">created</a>·and·<a·href="#session_destroy/1">destroyed</a>144 <a·href="#session_create/3">created</a>·and·<a·href="#session_destroy/1">destroyed</a>
145 dynamically.·Each·session·has·its·own·tracer·that·will·receive·all·trace145 dynamically.·Each·session·has·its·own·tracer·that·will·receive·all·trace
146 messages.·Several·sessions·can·exist·at·the·same·time·without·interfering·with146 messages.·Several·sessions·can·exist·at·the·same·time·without·interfering·with
147 each·other.·When·a·trace·session·is·destroyed,·all·its·trace·settings·are147 each·other.·When·a·trace·session·is·destroyed,·all·its·trace·settings·are
148 automatically·cleaned·up.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Create·a·tracer·process·that·will·receive·the·trace·events</span><span·class="gp·unselectable">148 automatically·cleaned·up.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Create·a·tracer·process·that·will·receive·the·trace·events</span><span·class="gp·unselectable">
149 1&gt;·</span><span·class="n">Tracer</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="0949425211-1">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="0949425211-2">(</span><span·class="p"·data-group-id="0949425211-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><s[·...·truncated·by·diffoscope;·len:·945,·SHA:·94e4facaf348592f8fbfdd4326c4cf7eb840fea2a991fece9f530822432a1659·...·]-1">)</span><span·class="p">.</span><span·class="w">149 1&gt;·</span><span·class="n">Tracer</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="2890226930-1">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="2890226930-2">(</span><span·class="p"·data-group-id="2890226930-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><s[·...·truncated·by·diffoscope;·len:·945,·SHA:·99370efff904775ad13164a885f7c3ab0836c92dbea992f003ad8d887817e032·...·]-1">)</span><span·class="p">.</span><span·class="w">
150 </span><span·class="o">&lt;</span><span·class="mf">0.91</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">150 </span><span·class="o">&lt;</span><span·class="mf">0.91</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">
151 </span><span·class="c1">%%·Create·a·session·using·the·Tracer</span><span·class="gp·unselectable">151 </span><span·class="c1">%%·Create·a·session·using·the·Tracer</span><span·class="gp·unselectable">
152 2&gt;·</span><span·class="n">Session</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">session_create</span><span·class="p"·data-group-id="0949425211-6">(</span><span·class="ss">my_session</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tracer</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0949425211-7">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·72,·SHA:·2c847468744f4fd94f2cfd90a03e661974a16591afb9aa6ea7408c1ffa044004·...·]-6">)</span><span·class="p">.</span><span·class="w">152 2&gt;·</span><span·class="n">Session</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">session_create</span><span·class="p"·data-group-id="2890226930-6">(</span><span·class="ss">my_session</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tracer</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2890226930-7">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·72,·SHA:·efbc13bcbdb1eb1efdb5bf39e2db5d4bb6f354abfbc83ed88c4fc0922a4e6275·...·]-6">)</span><span·class="p">.</span><span·class="w">
153 </span><span·class="p"·data-group-id="0949425211-8">{</span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.1543805153</span><span·class="p">.</span><span·class="mf">1548353537.92331</span><span·class="o">&gt;</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·248,·SHA:·63646462c84411fb4002fe112020eb8c431328b90dda9615f61507f58e147286·...·]-8">}</span><span·class="w">153 </span><span·class="p"·data-group-id="2890226930-8">{</span><span·class="p">#</span><span·class="n">Ref</span><span·class="o">&lt;</span><span·class="mf">0.1543805153</span><span·class="p">.</span><span·class="mf">1548353537.92331</span><span·class="o">&gt;</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·248,·SHA:·d93f2912f72171cf20f2368da182c2317039300e1e105b2855846bc530542ef5·...·]-8">}</span><span·class="w">
154 </span><span·class="c1">%%·Setup·call·tracing·on·self()</span><span·class="gp·unselectable">154 </span><span·class="c1">%%·Setup·call·tracing·on·self()</span><span·class="gp·unselectable">
155 3&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">process</span><span·class="p"·data-group-id="0949425211-10">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="0949425211-11">(</span><span·class="p"·data-group-id="0949425211-11">)</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·282,·SHA:·12b7c52305c9b3a8922db5970bbc98003573f57a3ba26d5140429093b91d8fe8·...·]-10">)</span><span·class="p">.</span><span·class="w">155 3&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">process</span><span·class="p"·data-group-id="2890226930-10">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="2890226930-11">(</span><span·class="p"·data-group-id="2890226930-11">)</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·282,·SHA:·595255466765a1fa50e19c3c4389fa095be5f7ae39c737f9c854ccf9ae03bf10·...·]-10">)</span><span·class="p">.</span><span·class="w">
156 </span><span·class="mi">1</span><span·class="w">156 </span><span·class="mi">1</span><span·class="w">
157 </span><span·class="c1">%%·Setup·call·tracing·on·lists:seq/2</span><span·class="gp·unselectable">157 </span><span·class="c1">%%·Setup·call·tracing·on·lists:seq/2</span><span·class="gp·unselectable">
158 4&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">function</span><span·class="p"·data-group-id="0949425211-13">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0949425211-14">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">seq</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·435,·SHA:·8ac374318040cd4ea20ae91510cbb9e02367805e7f38bfaefd1e1c87443419e7·...·]-13">)</span><span·class="p">.</span><span·class="w">158 4&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">function</span><span·class="p"·data-group-id="2890226930-13">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2890226930-14">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">seq</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·435,·SHA:·36032b799aadf959674367938f83bf5f73ba2629ac4eca641487d540fa65ca17·...·]-13">)</span><span·class="p">.</span><span·class="w">
159 </span><span·class="mi">1</span><span·class="w">159 </span><span·class="mi">1</span><span·class="w">
160 </span><span·class="c1">%%·Call·the·traced·function</span><span·class="gp·unselectable">160 </span><span·class="c1">%%·Call·the·traced·function</span><span·class="gp·unselectable">
161 5&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="0949425211-17">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">10</span><span·class="p"·data-group-id="0949425211-17">)</span><span·class="p">.</span><span·class="w">161 5&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="2890226930-17">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">10</span><span·class="p"·data-group-id="2890226930-17">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="p"·data-group-id="0949425211-18">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.89</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="ss">call</sp[·...·truncated·by·diffoscope;·len:·463,·SHA:·cf6dd74902ce09808d19558a2ad819583b162d64dbb72a0316220b45ceff49bf·...·]-18">}</span><span·class="w">·</span><span·class="c1">%·The·trace·message</span><span·class="w">162 </span><span·class="p"·data-group-id="2890226930-18">{</span><span·class="nb">trace</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.89</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="ss">call</sp[·...·truncated·by·diffoscope;·len:·463,·SHA:·67f7edc0c2a8e618786199898276855badc407ff69b64fa34f33c1b96fb94559·...·]-18">}</span><span·class="w">·</span><span·class="c1">%·The·trace·message</span><span·class="w">
163 </span><span·class="p"·data-group-id="0949425211-21">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class=[·...·truncated·by·diffoscope;·len:·275,·SHA:·73b9374aa2e8f13d63d638c3ad6d4d8ab45f9a47a616a05669017320e0b14164·...·]-21">]</span><span·class="w">·</span><span·class="c1">%·The·return·value</span><span·class="w">163 </span><span·class="p"·data-group-id="2890226930-21">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class=[·...·truncated·by·diffoscope;·len:·275,·SHA:·1dd781bcc4b5e0f1dcd18d3475a904b850a54739d0beaf2387ac559d266b1251·...·]-21">]</span><span·class="w">·</span><span·class="c1">%·The·return·value</span><span·class="w">
164 </span><span·class="c1">%%·Cleanup·the·trace·session</span><span·class="gp·unselectable">164 </span><span·class="c1">%%·Cleanup·the·trace·session</span><span·class="gp·unselectable">
165 6&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">session_destroy</span><span·class="p"·data-group-id="0949425211-22">(</span><span·class="n">Session</span><span·class="p"·data-group-id="0949425211-22">)</span><span·class="p">.</span><span·class="w">165 6&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">session_destroy</span><span·class="p"·data-group-id="2890226930-22">(</span><span·class="n">Session</span><span·class="p"·data-group-id="2890226930-22">)</span><span·class="p">.</span><span·class="w">
166 </span><span·class="ss">ok</span></code></pre><h2·id="module-node-local-tracing-only"·class="section-heading">166 </span><span·class="ss">ok</span></code></pre><h2·id="module-node-local-tracing-only"·class="section-heading">
167 ··<a·href="#module-node-local-tracing-only"·class="hover-link">167 ··<a·href="#module-node-local-tracing-only"·class="hover-link">
168 ····<i·class="ri-link-m"·aria-hidden="true"></i>168 ····<i·class="ri-link-m"·aria-hidden="true"></i>
169 ··</a>169 ··</a>
170 ··<span·class="text">Node·Local·Tracing·Only</span>170 ··<span·class="text">Node·Local·Tracing·Only</span>
171 </h2>171 </h2>
172 <p>The·functions·in·this·module·only·operates·on·the·local·node.·That·is,·both·the172 <p>The·functions·in·this·module·only·operates·on·the·local·node.·That·is,·both·the
Offset 1418, 17 lines modifiedOffset 1418, 17 lines modified
1418 <code·class="inline">undefined</code>·if·the·sender·is·not·known·(which·can·be·the·case·for·remote1418 <code·class="inline">undefined</code>·if·the·sender·is·not·known·(which·can·be·the·case·for·remote
1419 senders).·<code·class="inline">Msg</code>·is·the·message·term.·The·pid·of·the·receiving·process·can·be1419 senders).·<code·class="inline">Msg</code>·is·the·message·term.·The·pid·of·the·receiving·process·can·be
1420 accessed·with·the·guard·function·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>.·An·empty·list·is·the·same·as1420 accessed·with·the·guard·function·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>.·An·empty·list·is·the·same·as
1421 <code·class="inline">true</code>.·For·more·information,·see·section1421 <code·class="inline">true</code>.·For·more·information,·see·section
1422 <a·href="../../../../erts-16.0/doc/html/match_spec.html">Match·Specifications·in·Erlang</a>·in·the·User's·Guide1422 <a·href="../../../../erts-16.0/doc/html/match_spec.html">Match·Specifications·in·Erlang</a>·in·the·User's·Guide
1423 for·the·ERTS·application.</p></li><li><p><strong><code·class="inline">true</code></strong>·-·Enable·tracing·for·all·received·messages·(to·<code·class="inline">'receive'</code>·traced1423 for·the·ERTS·application.</p></li><li><p><strong><code·class="inline">true</code></strong>·-·Enable·tracing·for·all·received·messages·(to·<code·class="inline">'receive'</code>·traced
1424 processes).·Any·match·specification·is·removed.·<em>This·is·the·default</em>.</p></li><li><p><strong><code·class="inline">false</code></strong>·-·Disable·tracing·for·all·received·messages.·Any·match1424 processes).·Any·match·specification·is·removed.·<em>This·is·the·default</em>.</p></li><li><p><strong><code·class="inline">false</code></strong>·-·Disable·tracing·for·all·received·messages.·Any·match
1425 specification·is·removed.</p></li></ul><p>Argument·<code·class="inline">FlagList</code>·must·be·<code·class="inline">[]</code>·for·receive·tracing.</p><p>The·return·value·is·always·<code·class="inline">1</code>.</p><p><em>Examples:</em></p><p>Only·trace·messages·from·a·specific·process·<code·class="inline">Pid</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="1196247058-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1196247058-2">[</span><span·class="p"·data-group-id="1196247058-3">{</span><span·class="p"·data-group-id="1196247058-4">[</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="1196247058-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="1196247058-5">[</span><span·class="p"·data-group-id="1196247058-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="1196247058-6">[</span><span·class="p"·data-group-id="1196247058-6">]</span><span·class="p"·data-group-id="1196247058-3">}</span><span·class="p"·data-group-id="1196247058-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1196247058-7">[</span><span·class="p"·data-group-id="1196247058-7">]</span><span·class="p"·data-group-id="1196247058-1">)</span><span·class="p">.</span><span·class="w"> 
1426 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·matching·<code·class="inline">{reply,·_}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="8151798742-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8151798742-2">[</span><span·class="p"·data-group-id="8151798742-3">{</span><span·class="p"·data-group-id="8151798742-4">[</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8151798742-5">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="8151798742-5">}</span><span·class="p"·data-group-id="8151798742-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="8151798742-6">[</span><span·class="p"·data-group-id="8151798742-6">]</span><span·class="p">,</span><span·class="p"·data-group-id="8151798742-7">[</span><span·class="p"·data-group-id="8151798742-7">]</span><span·class="p"·data-group-id="8151798742-3">}</span><span·class="p"·data-group-id="8151798742-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8151798742-8">[</span><span·class="p"·data-group-id="8151798742-8">]</span><span·class="p"·data-group-id="8151798742-1">)</span><span·class="p">.</span><span·class="w"> 
1427 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·from·other·nodes:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">recv</s[·...·truncated·by·diffoscope;·len:·1471,·SHA:·5ff3e1c0d83010e7f1dad21e34de7d3ed607bb7e2155c1cf70d71119875864e3·...·]-1">)</span><span·class="p">.</span><span·class="w">1425 specification·is·removed.</p></li></ul><p>Argument·<code·class="inline">FlagList</code>·must·be·<code·class="inline">[]</code>·for·receive·tracing.</p><p>The·return·value·is·always·<code·class="inline">1</code>.</p><p><em>Examples:</em></p><p>Only·trace·me[·...·truncated·by·diffoscope;·len:·1310,·SHA:·c8a8c8038ba12d505d8c480d4810192adb904622f629f01846dc43fab1c9d249·...·]-1">)</span><span·class="p">.</span><span·class="w">
 1426 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·matching·<code·class="inline">{reply,·_}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="5189021590-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5189021590-2">[</span><span·class="p"·data-group-id="5189021590-3">{</span><span·class="p"·data-group-id="5189021590-4">[</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5189021590-5">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="5189021590-5">}</span><span·class="p"·data-group-id="5189021590-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="5189021590-6">[</span><span·class="p"·data-group-id="5189021590-6">]</span><span·class="p">,</span><span·class="p"·data-group-id="5189021590-7">[</span><span·class="p"·data-group-id="5189021590-7">]</span><span·class="p"·data-group-id="5189021590-3">}</span><span·class="p"·data-group-id="5189021590-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5189021590-8">[</span><span·class="p"·data-group-id="5189021590-8">]</span><span·class="p"·data-group-id="5189021590-1">)</span><span·class="p">.</span><span·class="w">
 1427 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·from·other·nodes:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">recv</span><span·class="p"·data-group-id="4192984166-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4192984166-2">[</span><span·class="p"·data-group-id="4192984166-3">{</span><span·class="p"·data-group-id="4192984166-4">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="4192984166-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="4192984166-5">[</span><span·class="p"·data-group-id="4192984166-6">{</span><span·class="ss">&#39;=/=&#39;</span><span·class="p">,</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="4192984166-7">{</span><span·class="nb">node</span><span·class="p"·data-group-id="4192984166-7">}</span><span·class="p"·data-group-id="4192984166-6">}</span><span·class="p"·data-group-id="4192984166-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="4192984166-8">[</span><span·class="p"·data-group-id="4192984166-8">]</span><span·class="p"·data-group-id="4192984166-3">}</span><span·class="p"·data-group-id="4192984166-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4192984166-9">[</span><span·class="p"·data-group-id="4192984166-9">]</span><span·class="p"·data-group-id="4192984166-1">)</span><span·class="p">.</span><span·class="w">
1428 </span><span·class="mi">1</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>A·match·specification·for·<code·class="inline">'receive'</code>·trace·can·use·all·guard·and·body1428 </span><span·class="mi">1</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>A·match·specification·for·<code·class="inline">'receive'</code>·trace·can·use·all·guard·and·body
1429 functions·except·<code·class="inline">caller</code>,·<code·class="inline">is_seq_trace</code>,·<code·class="inline">get_seq_token</code>,·<code·class="inline">set_seq_token</code>,1429 functions·except·<code·class="inline">caller</code>,·<code·class="inline">is_seq_trace</code>,·<code·class="inline">get_seq_token</code>,·<code·class="inline">set_seq_token</code>,
1430 <code·class="inline">enable_trace</code>,·<code·class="inline">disable_trace</code>,·<code·class="inline">trace</code>,·<code·class="inline">silent</code>,·and·<code·class="inline">process_dump</code>.</p></section><p>Fails·by·raising·an·error·exception·with·an·error·reason·of:</p><ul><li><p><strong><code·class="inline">badarg</code></strong>·-·If·an·argument·is·invalid.</p></li><li><p><strong><code·class="inline">system_limit</code></strong>·-·If·a·match·specification·passed·as·argument·has·excessive1430 <code·class="inline">enable_trace</code>,·<code·class="inline">disable_trace</code>,·<code·class="inline">trace</code>,·<code·class="inline">silent</code>,·and·<code·class="inline">process_dump</code>.</p></section><p>Fails·by·raising·an·error·exception·with·an·error·reason·of:</p><ul><li><p><strong><code·class="inline">badarg</code></strong>·-·If·an·argument·is·invalid.</p></li><li><p><strong><code·class="inline">system_limit</code></strong>·-·If·a·match·specification·passed·as·argument·has·excessive
1431 nesting·which·causes·scheduler·stack·exhaustion·for·the·scheduler·that·the1431 nesting·which·causes·scheduler·stack·exhaustion·for·the·scheduler·that·the
1432 calling·process·is·executing·on.1432 calling·process·is·executing·on.
1433 <a·href="../../../../erts-16.0/doc/html/erl_cmd.html#sched_thread_stack_size">Scheduler·stack·size</a>·can·be·configured1433 <a·href="../../../../erts-16.0/doc/html/erl_cmd.html#sched_thread_stack_size">Scheduler·stack·size</a>·can·be·configured
1434 when·starting·the·runtime·system.</p></li></ul>1434 when·starting·the·runtime·system.</p></li></ul>
Offset 1469, 18 lines modifiedOffset 1469, 18 lines modified
1469 the·list·<code·class="inline">[Receiver,·Msg]</code>.·<code·class="inline">Receiver</code>·is·the·process·or·port·identity·of·the1469 the·list·<code·class="inline">[Receiver,·Msg]</code>.·<code·class="inline">Receiver</code>·is·the·process·or·port·identity·of·the
1470 receiver·and·<code·class="inline">Msg</code>·is·the·message·term.·The·pid·of·the·sending·process·can·be1470 receiver·and·<code·class="inline">Msg</code>·is·the·message·term.·The·pid·of·the·sending·process·can·be
1471 accessed·with·the·guard·function·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>.·An·empty·list·is·the·same·as1471 accessed·with·the·guard·function·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>.·An·empty·list·is·the·same·as
1472 <code·class="inline">true</code>.·For·more·information,·see·section1472 <code·class="inline">true</code>.·For·more·information,·see·section
1473 <a·href="../../../../erts-16.0/doc/html/match_spec.html">Match·Specifications·in·Erlang</a>·in·the·User's·Guide1473 <a·href="../../../../erts-16.0/doc/html/match_spec.html">Match·Specifications·in·Erlang</a>·in·the·User's·Guide
1474 for·the·ERTS·application.</p></li><li><p><strong><code·class="inline">true</code></strong>·-·Enable·tracing·for·all·sent·messages·(from·<code·class="inline">send</code>·traced1474 for·the·ERTS·application.</p></li><li><p><strong><code·class="inline">true</code></strong>·-·Enable·tracing·for·all·sent·messages·(from·<code·class="inline">send</code>·traced
1475 processes).·Any·match·specification·is·removed.</p></li><li><p><strong><code·class="inline">false</code></strong>·-·Disable·tracing·for·all·sent·messages.·Any·match·specification1475 processes).·Any·match·specification·is·removed.</p></li><li><p><strong><code·class="inline">false</code></strong>·-·Disable·tracing·for·all·sent·messages.·Any·match·specification
1476 is·removed.</p></li></ul><p>Argument·<code·class="inline">FlagList</code>·must·be·<code·class="inline">[]</code>.</p><p>The·return·value·is·always·<code·class="inline">1</code>.</p><p><em>Examples:</em></p><p>Only·trace·messages·to·a·specific·process·<code·class="inline">Pid</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="1967880945-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1967880945-2">[</span><span·class="p"·data-group-id="1967880945-3">{</span><span·class="p"·data-group-id="1967880945-4">[</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="1967880945-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="1967880945-5">[</span><span·class="p"·data-group-id="1967880945-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="1967880945-6">[</span><span·class="p"·data-group-id="1967880945-6">]</span><span·class="p"·data-group-id="1967880945-3">}</span><span·class="p"·data-group-id="1967880945-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1967880945-7">[</span><span·class="p"·data-group-id="1967880945-7">]</span><span·class="p"·data-group-id="1967880945-1">)</span><span·class="p">.</span><span·class="w"> 
1477 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·matching·<code·class="inline">{reply,·_}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="0182863092-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0182863092-2">[</span><span·class="p"·data-group-id="0182863092-3">{</span><span·class="p"·data-group-id="0182863092-4">[</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0182863092-5">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="0182863092-5">}</span><span·class="p"·data-group-id="0182863092-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="0182863092-6">[</span><span·class="p"·data-group-id="0182863092-6">]</span><span·class="p">,</span><span·class="p"·data-group-id="0182863092-7">[</span><span·class="p"·data-group-id="0182863092-7">]</span><span·class="p"·data-group-id="0182863092-3">}</span><span·class="p"·data-group-id="0182863092-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0182863092-8">[</span><span·class="p"·data-group-id="0182863092-8">]</span><span·class="p"·data-group-id="0182863092-1">)</span><span·class="p">.</span><span·class="w"> 
1478 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·sent·to·the·sender·itself:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="6876258590-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6876258590-2">[</span><span·class="p"·data-group-id="6876258590-3">{</span><span·class="p"·data-group-id="6876258590-4">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="6876258590-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="6876258590-5">[</span><span·class="p"·data-group-id="6876258590-6">{</span><span·class="ss">&#39;=:=&#39;</span><span·class="p">,</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="6876258590-7">{</span><span·class="ss">self</span><span·class="p"·data-group-id="6876258590-7">}</span><span·class="p"·data-group-id="6876258590-6">}</span><span·class="p"·data-group-id="6876258590-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="6876258590-8">[</span><span·class="p"·data-group-id="6876258590-8">]</span><span·class="p"·data-group-id="6876258590-3">}</span><span·class="p"·data-group-id="6876258590-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6876258590-9">[</span><span·class="p"·data-group-id="6876258590-9">]</span><span·class="p"·data-group-id="6876258590-1">)</span><span·class="p">.</span><span·class="w"> 
1479 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·sent·to·other·nodes:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">send[·...·truncated·by·diffoscope;·len:·1550,·SHA:·a096c62170ff6e032e108dbc493ea8f7758078d60c1936321e92e6f4c1cd8274·...·]4-1">)</span><span·class="p">.</span><span·class="w">1476 is·removed.</p></li></ul><p>Argument·<code·class="inline">FlagList</code>·must·be·<code·class="inline">[]</code>.</p><p>The·return·value·is·always·<code·class="inline">1</code>.</p><p><em>Examples:</em></p><p>Only·trace·messages·to·a·specific·process·<code[·...·truncated·by·diffoscope;·len:·1214,·SHA:·649527ebfac71447af8d0ab06b4e623c7435c348975ae9faf25bd33339d5324a·...·]4-1">)</span><span·class="p">.</span><span·class="w">
 1477 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·matching·<code·class="inline">{reply,·_}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="9685327600-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9685327600-2">[</span><span·class="p"·data-group-id="9685327600-3">{</span><span·class="p"·data-group-id="9685327600-4">[</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9685327600-5">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="9685327600-5">}</span><span·class="p"·data-group-id="9685327600-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="9685327600-6">[</span><span·class="p"·data-group-id="9685327600-6">]</span><span·class="p">,</span><span·class="p"·data-group-id="9685327600-7">[</span><span·class="p"·data-group-id="9685327600-7">]</span><span·class="p"·data-group-id="9685327600-3">}</span><span·class="p"·data-group-id="9685327600-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9685327600-8">[</span><span·class="p"·data-group-id="9685327600-8">]</span><span·class="p"·data-group-id="9685327600-1">)</span><span·class="p">.</span><span·class="w">
 1478 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·sent·to·the·sender·itself:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="2962625734-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2962625734-2">[</span><span·class="p"·data-group-id="2962625734-3">{</span><span·class="p"·data-group-id="2962625734-4">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="2962625734-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="2962625734-5">[</span><span·class="p"·data-group-id="2962625734-6">{</span><span·class="ss">&#39;=:=&#39;</span><span·class="p">,</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2962625734-7">{</span><span·class="ss">self</span><span·class="p"·data-group-id="2962625734-7">}</span><span·class="p"·data-group-id="2962625734-6">}</span><span·class="p"·data-group-id="2962625734-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="2962625734-8">[</span><span·class="p"·data-group-id="2962625734-8">]</span><span·class="p"·data-group-id="2962625734-3">}</span><span·class="p"·data-group-id="2962625734-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2962625734-9">[</span><span·class="p"·data-group-id="2962625734-9">]</span><span·class="p"·data-group-id="2962625734-1">)</span><span·class="p">.</span><span·class="w">
 1479 </span><span·class="mi">1</span></code></pre><p>Only·trace·messages·sent·to·other·nodes:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">trace</span><span·class="p">:</span><span·class="nf">send</span><span·class="p"·data-group-id="8554484902-1">(</span><span·class="n">Session</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8554484902-2">[</span><span·class="p"·data-group-id="8554484902-3">{</span><span·class="p"·data-group-id="8554484902-4">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;_&#39;</span><span·class="p"·data-group-id="8554484902-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="8554484902-5">[</span><span·class="p"·data-group-id="8554484902-6">{</span><span·class="ss">&#39;=/=&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="8554484902-7">{</span><span·class="nb">node</span><span·class="p">,</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="8554484902-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="8554484902-8">{</span><span·class="nb">node</span><span·class="p"·data-group-id="8554484902-8">}</span><span·class="p"·data-group-id="8554484902-6">}</span><span·class="p"·data-group-id="8554484902-5">]</span><span·class="p">,</span><span·class="p"·data-group-id="8554484902-9">[</span><span·class="p"·data-group-id="8554484902-9">]</span><span·class="p"·data-group-id="8554484902-3">}</span><span·class="p"·data-group-id="8554484902-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8554484902-10">[</span><span·class="p"·data-group-id="8554484902-10">]</span><span·class="p"·data-group-id="8554484902-1">)</span><span·class="p">.</span><span·class="w">
1480 </span><span·class="mi">1</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>A·match·specification·for·<code·class="inline">send</code>·trace·can·use·all·guard·and·body·functions1480 </span><span·class="mi">1</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>A·match·specification·for·<code·class="inline">send</code>·trace·can·use·all·guard·and·body·functions
1481 except·<code·class="inline">caller</code>.</p></section><p>Fails·by·raising·an·error·exception·with·an·error·reason·of:</p><ul><li><p><strong><code·class="inline">badarg</code></strong>·-·If·an·argument·is·invalid.</p></li><li><p><strong><code·class="inline">system_limit</code></strong>·-·If·a·match·specification·passed·as·argument·has·excessive1481 except·<code·class="inline">caller</code>.</p></section><p>Fails·by·raising·an·error·exception·with·an·error·reason·of:</p><ul><li><p><strong><code·class="inline">badarg</code></strong>·-·If·an·argument·is·invalid.</p></li><li><p><strong><code·class="inline">system_limit</code></strong>·-·If·a·match·specification·passed·as·argument·has·excessive
1482 nesting·which·causes·scheduler·stack·exhaustion·for·the·scheduler·that·the1482 nesting·which·causes·scheduler·stack·exhaustion·for·the·scheduler·that·the
1483 calling·process·is·executing·on.1483 calling·process·is·executing·on.
1484 <a·href="../../../../erts-16.0/doc/html/erl_cmd.html#sched_thread_stack_size">Scheduler·stack·size</a>·can·be·configured1484 <a·href="../../../../erts-16.0/doc/html/erl_cmd.html#sched_thread_stack_size">Scheduler·stack·size</a>·can·be·configured
1485 when·starting·the·runtime·system.</p></li></ul>1485 when·starting·the·runtime·system.</p></li></ul>
1486 ··</section>1486 ··</section>
Offset 1713, 15 lines modifiedOffset 1713, 15 lines modified
1713 ······<p·class="built-using">1713 ······<p·class="built-using">
1714 ········Built·using1714 ········Built·using
1715 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1715 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1716 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1716 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1717 ······</p>1717 ······</p>
1718 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1718 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1719 ····</footer>1719 ····</footer>
1720 ··</div>1720 ··</div>
1721 </main>1721 </main>
1722 </div>1722 </div>
1723 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1723 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1724 ··<script>1724 ··<script>
1725 ··let·initialized·=·false;1725 ··let·initialized·=·false;
595 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/kernel-10.3/doc/html/wrap_log_reader.html
    
Offset 530, 15 lines modifiedOffset 530, 15 lines modified
530 ······<p·class="built-using">530 ······<p·class="built-using">
531 ········Built·using531 ········Built·using
532 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the532 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
533 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>533 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
534 ······</p>534 ······</p>
535 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>535 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
536 ····</footer>536 ····</footer>
537 ··</div>537 ··</div>
538 </main>538 </main>
539 </div>539 </div>
540 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>540 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
541 ··<script>541 ··<script>
542 ··let·initialized·=·false;542 ··let·initialized·=·false;
645 B
html2text {}
Max HTML report size reached
666 B
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/.build
    
Offset 31, 15 lines modifiedOffset 31, 15 lines modified
31 dist/lato-latin-300-normal-YUMVEFOL.woff231 dist/lato-latin-300-normal-YUMVEFOL.woff2
32 dist/lato-latin-400-normal-W7754I4D.woff232 dist/lato-latin-400-normal-W7754I4D.woff2
33 dist/lato-latin-700-normal-2XVSBPG4.woff233 dist/lato-latin-700-normal-2XVSBPG4.woff2
34 dist/lato-latin-ext-300-normal-VPGGJKJL.woff234 dist/lato-latin-ext-300-normal-VPGGJKJL.woff2
35 dist/lato-latin-ext-400-normal-N27NCBWW.woff235 dist/lato-latin-ext-400-normal-N27NCBWW.woff2
36 dist/lato-latin-ext-700-normal-Q2L5DVMW.woff236 dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
37 dist/remixicon-NKANDIL5.woff237 dist/remixicon-NKANDIL5.woff2
38 dist/search_data-B0EDC84D.js38 dist/search_data-85C16899.js
39 dist/sidebar_items-E0936E0F.js39 dist/sidebar_items-E0936E0F.js
40 index.html40 index.html
41 megaco.html41 megaco.html
42 megaco_architecture.html42 megaco_architecture.html
43 megaco_codec_meas.html43 megaco_codec_meas.html
44 megaco_codec_mstone1.html44 megaco_codec_mstone1.html
45 megaco_codec_mstone2.html45 megaco_codec_mstone2.html
1.46 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/api-reference.html
    
Offset 298, 15 lines modifiedOffset 298, 15 lines modified
298 ······<p·class="built-using">298 ······<p·class="built-using">
299 ········Built·using299 ········Built·using
300 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the300 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
301 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>301 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
302 ······</p>302 ······</p>
303 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>303 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
304 ····</footer>304 ····</footer>
305 ··</div>305 ··</div>
306 </main>306 </main>
307 </div>307 </div>
308 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>308 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
309 ··<script>309 ··<script>
310 ··let·initialized·=·false;310 ··let·initialized·=·false;
645 B
html2text {}
Max HTML report size reached
352 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco.epub
8.38 KB
zipinfo {}
Max HTML report size reached
288 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
9.69 KB
OEBPS/megaco_user.xhtml
Max HTML report size reached
5.12 KB
OEBPS/megaco_examples.xhtml
Max HTML report size reached
21.6 KB
OEBPS/megaco_encode.xhtml
Max HTML report size reached
11.5 KB
OEBPS/megaco_debug.xhtml
Max HTML report size reached
2.66 KB
OEBPS/megaco.xhtml
Max HTML report size reached
4.91 KB
OEBPS/content.opf
4.88 KB
OEBPS/content.opf
Max HTML report size reached
4.08 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco.html
    
Offset 3072, 15 lines modifiedOffset 3072, 15 lines modified
  
3072 ··········<pre·translate="no"><span·class="attribute">-spec</span>·print_version_info(Versions)·->·<a·href="#t:void/0">void</a>()·when·Versions·::·[VersionInfo],·VersionInfo·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>3072 ··········<pre·translate="no"><span·class="attribute">-spec</span>·print_version_info(Versions)·->·<a·href="#t:void/0">void</a>()·when·Versions·::·[VersionInfo],·VersionInfo·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
3073 ······</div>3073 ······</div>
  
3074 <p>Utility·function·to·produce·a·formated·printout·of·the·versions·info·generated3074 <p>Utility·function·to·produce·a·formated·printout·of·the·versions·info·generated
3075 by·the·<code·class="inline">versions1</code>·and·<code·class="inline">versions2</code>·functions.</p><p>The·function·print_version_info/0·uses·the·result·of·function·version1/0·as3075 by·the·<code·class="inline">versions1</code>·and·<code·class="inline">versions2</code>·functions.</p><p>The·function·print_version_info/0·uses·the·result·of·function·version1/0·as
3076 <code·class="inline">VersionInfo</code>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">···········</span><span·class="p"·data-group-id="6790576609-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">V</span><span·class="p"·data-group-id="6790576609-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·441,·SHA:·964ba207fe169be41cddb0982b85563acb6884b2dece1e3714b5e3f5b4b2fd8d·...·]-3">)</span><span·class="p">.</span></code></pre>3076 <code·class="inline">VersionInfo</code>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">···········</span><span·class="p"·data-group-id="3925157414-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">V</span><span·class="p"·data-group-id="3925157414-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·441,·SHA:·3ff18167ed4e23ffae6484b61095421c4fd3ec30c34bdbd23ab9270d2aee3864·...·]-3">)</span><span·class="p">.</span></code></pre>
3077 ··</section>3077 ··</section>
3078 </section>3078 </section>
3079 <section·class="detail"·id="process_received_message/4">3079 <section·class="detail"·id="process_received_message/4">
  
3080 ··<div·class="detail-header">3080 ··<div·class="detail-header">
3081 ····<a·href="#process_received_message/4"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3081 ····<a·href="#process_received_message/4"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
3082 ······<i·class="ri-link-m"·aria-hidden="true"></i>3082 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3930, 15 lines modifiedOffset 3930, 15 lines modified
3930 ······<p·class="built-using">3930 ······<p·class="built-using">
3931 ········Built·using3931 ········Built·using
3932 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3932 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3933 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3933 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3934 ······</p>3934 ······</p>
3935 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3935 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3936 ····</footer>3936 ····</footer>
3937 ··</div>3937 ··</div>
3938 </main>3938 </main>
3939 </div>3939 </div>
3940 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3940 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3941 ··<script>3941 ··<script>
3942 ··let·initialized·=·false;3942 ··let·initialized·=·false;
649 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_architecture.html
    
Offset 255, 15 lines modifiedOffset 255, 15 lines modified
255 ······<p·class="built-using">255 ······<p·class="built-using">
256 ········Built·using256 ········Built·using
257 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the257 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
258 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>258 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
259 ······</p>259 ······</p>
260 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>260 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
261 ····</footer>261 ····</footer>
262 ··</div>262 ··</div>
263 </main>263 </main>
264 </div>264 </div>
265 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>265 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
266 ··<script>266 ··<script>
267 ··let·initialized·=·false;267 ··let·initialized·=·false;
682 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_codec_meas.html
    
Offset 252, 15 lines modifiedOffset 252, 15 lines modified
252 ······<p·class="built-using">252 ······<p·class="built-using">
253 ········Built·using253 ········Built·using
254 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the254 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
255 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>255 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
256 ······</p>256 ······</p>
257 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>257 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
258 ····</footer>258 ····</footer>
259 ··</div>259 ··</div>
260 </main>260 </main>
261 </div>261 </div>
262 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>262 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
263 ··<script>263 ··<script>
264 ··let·initialized·=·false;264 ··let·initialized·=·false;
649 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_codec_mstone1.html
    
Offset 615, 15 lines modifiedOffset 615, 15 lines modified
615 ······<p·class="built-using">615 ······<p·class="built-using">
616 ········Built·using616 ········Built·using
617 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the617 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
618 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>618 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
619 ······</p>619 ······</p>
620 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>620 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
621 ····</footer>621 ····</footer>
622 ··</div>622 ··</div>
623 </main>623 </main>
624 </div>624 </div>
625 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>625 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
626 ··<script>626 ··<script>
627 ··let·initialized·=·false;627 ··let·initialized·=·false;
718 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_codec_mstone2.html
    
Offset 253, 15 lines modifiedOffset 253, 15 lines modified
253 ······<p·class="built-using">253 ······<p·class="built-using">
254 ········Built·using254 ········Built·using
255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
257 ······</p>257 ······</p>
258 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>258 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
259 ····</footer>259 ····</footer>
260 ··</div>260 ··</div>
261 </main>261 </main>
262 </div>262 </div>
263 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>263 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
264 ··<script>264 ··<script>
265 ··let·initialized·=·false;265 ··let·initialized·=·false;
681 B
html2text {}
Max HTML report size reached
1.4 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_codec_transform.html
    
Offset 253, 15 lines modifiedOffset 253, 15 lines modified
253 ······<p·class="built-using">253 ······<p·class="built-using">
254 ········Built·using254 ········Built·using
255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
257 ······</p>257 ······</p>
258 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>258 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
259 ····</footer>259 ····</footer>
260 ··</div>260 ··</div>
261 </main>261 </main>
262 </div>262 </div>
263 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>263 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
264 ··<script>264 ··<script>
265 ··let·initialized·=·false;265 ··let·initialized·=·false;
570 B
html2text {}
Max HTML report size reached
13.1 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_debug.html
    
Offset 168, 20 lines modifiedOffset 168, 20 lines modified
168 file·(see·below·for·more·info).·The·messages·in·this·file·is·encoded·with·just168 file·(see·below·for·more·info).·The·messages·in·this·file·is·encoded·with·just
169 one·codec.·During·measurement·initiation,·the·messages·are·read·and·then169 one·codec.·During·measurement·initiation,·the·messages·are·read·and·then
170 transformed·to·all·codec·formats·used·in·the·measurement.</p><p>The·message·transformation·is·done·by·the·transformation·module.·It·is·used·to170 transformed·to·all·codec·formats·used·in·the·measurement.</p><p>The·message·transformation·is·done·by·the·transformation·module.·It·is·used·to
171 transform·a·set·of·messages·encoded·with·one·codec·into·the·other·base·codec's.</p><h4>Measurement(s)</h4><p>There·are·two·different·measurement·tools:</p><ul><li><p><em>meas</em>:</p><p>Used·to·perform·codec·measurements.·That·is,·to·see·what·kind·of·performance171 transform·a·set·of·messages·encoded·with·one·codec·into·the·other·base·codec's.</p><h4>Measurement(s)</h4><p>There·are·two·different·measurement·tools:</p><ul><li><p><em>meas</em>:</p><p>Used·to·perform·codec·measurements.·That·is,·to·see·what·kind·of·performance
172 can·be·expected·by·the·different·codecs·provided·by·the·megaco·application.</p><p>The·measurement·is·done·by·iterating·over·the·decode/encode·function·for172 can·be·expected·by·the·different·codecs·provided·by·the·megaco·application.</p><p>The·measurement·is·done·by·iterating·over·the·decode/encode·function·for
173 approx·2·seconds·per·message·and·counting·the·number·of·decodes/encodes.</p><p>Is·best·run·by·modifying·the·meas.sh.skel·skeleton·script·provided·by·the173 approx·2·seconds·per·message·and·counting·the·number·of·decodes/encodes.</p><p>Is·best·run·by·modifying·the·meas.sh.skel·skeleton·script·provided·by·the
174 tool.</p><p>To·run·it·manually·do·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">········</span><span·class="c1">%·erl·-pa·&lt;path-megaco-ebin-dir&gt;·-pa·&lt;path-to-meas-module-dir&gt;</span><span·class="w">174 tool.</p><p>To·run·it·manually·do·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">········</span><span·class="c1">%·erl·-pa·&lt;path-megaco-ebin-dir&gt;·-pa·&lt;path-to-meas-module-dir&gt;</span><span·class="w">
175 ········</span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="7637413943-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="7637413943-1">)</span><span·class="w">·</span><span·class="ss">emulator</span><span·class="w">·</span><span·class="ss">version</span><span·class="w">·</span><span·class="mf">5.[·...·truncated·by·diffoscope;·len:·156,·SHA:·f4cb795c5d0397f0846d93d75067b007165820cd0e737f4b4971bd208f451528·...·]-2">]</span><span·class="w">175 ········</span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="2911145992-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="2911145992-1">)</span><span·class="w">·</span><span·class="ss">emulator</span><span·class="w">·</span><span·class="ss">version</span><span·class="w">·</span><span·class="mf">5.[·...·truncated·by·diffoscope;·len:·156,·SHA:·eb29072498cba83f9ed46b956d54b0ed46fb53b66ef8ef52e4444c0fba9da994·...·]-2">]</span><span·class="w">
  
176 ········</span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V12</span><span·class="p">.</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="7637413943-3">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="7637413943-3">)</span><span·class="w">176 ········</span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V12</span><span·class="p">.</span><span·class="mi">2</span><span·class="w">··</span><span·class="p"·data-group-id="2911145992-3">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="2911145992-3">)</span><span·class="w">
177 ········</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">megaco_codec_meas</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="7637413943-4">(</span><span·class="p"·data-group-id="7637413943-4">)</span><span·class="p">.</span><span·class="w">177 ········</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">megaco_codec_meas</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="2911145992-4">(</span><span·class="p"·data-group-id="2911145992-4">)</span><span·class="p">.</span><span·class="w">
178 ········</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">178 ········</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
179 ········</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nf">halt</span><span·class="p"·data-group-id="7637413943-5">(</span><span·class="p"·data-group-id="7637413943-5">)</span><span·class="p">.</span></code></pre><p>or·to·make·it·even·easier,·assuming·a·measure·shall·be·done·on·all·the·codecs179 ········</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nf">halt</span><span·class="p"·data-group-id="2911145992-5">(</span><span·class="p"·data-group-id="2911145992-5">)</span><span·class="p">.</span></code></pre><p>or·to·make·it·even·easier,·assuming·a·measure·shall·be·done·on·all·the·codecs
180 (as·above):</p><pre><code·class="text">········%·erl·-noshell·-pa·&lt;path-megaco-ebin-dir&gt;·\\180 (as·above):</p><pre><code·class="text">········%·erl·-noshell·-pa·&lt;path-megaco-ebin-dir&gt;·\\
181 ··············-pa·&lt;path-to-meas-module-dir&gt;·\\181 ··············-pa·&lt;path-to-meas-module-dir&gt;·\\
182 ··············-s·megaco_codec_meas·-s·init·stop</code></pre><p>When·run·as·above·(this·will·take·some·time),·the·measurement·process·is·done182 ··············-s·megaco_codec_meas·-s·init·stop</code></pre><p>When·run·as·above·(this·will·take·some·time),·the·measurement·process·is·done
183 as·follows:</p><pre><code·class="text">For·each·codec:183 as·follows:</p><pre><code·class="text">For·each·codec:
184 ····For·each·message:184 ····For·each·message:
185 ········Read·the·message·from·the·file185 ········Read·the·message·from·the·file
186 ············Detect·message·version186 ············Detect·message·version
Offset 195, 18 lines modifiedOffset 195, 18 lines modified
195 tool.</p><p>The·<em>mstone2</em>·is·similar·to·the·<em>mstone1</em>·tool,·but·in·this·case,·each·created195 tool.</p><p>The·<em>mstone2</em>·is·similar·to·the·<em>mstone1</em>·tool,·but·in·this·case,·each·created
196 process·makes·only·<em>one</em>·run·through·the·messages·and·then·exits.·A·soon·as·a196 process·makes·only·<em>one</em>·run·through·the·messages·and·then·exits.·A·soon·as·a
197 process·exits,·a·new·process·(with·the·same·config·and·messages)·is·created·to197 process·exits,·a·new·process·(with·the·same·config·and·messages)·is·created·to
198 takes·its·place.·The·number·of·messages·processed·in·total·is·the·mstone2(1)198 takes·its·place.·The·number·of·messages·processed·in·total·is·the·mstone2(1)
199 value.</p></li></ul><p>Both·these·tools·use·the·message·package·(time_test.msgs)·provided·with·the199 value.</p></li></ul><p>Both·these·tools·use·the·message·package·(time_test.msgs)·provided·with·the
200 tool(s),·although·it·can·run·on·any·message·package·as·long·as·it·has·the·same200 tool(s),·although·it·can·run·on·any·message·package·as·long·as·it·has·the·same
201 structure.</p><h4>Message·package·file</h4><p>This·is·simply·an·erlang·compatible·text-file·with·the·following·structure:201 structure.</p><h4>Message·package·file</h4><p>This·is·simply·an·erlang·compatible·text-file·with·the·following·structure:
202 <code·class="inline">{codec_name(),·messages_list()}</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">codec_name</span><span·class="p"·data-group-id="7780660337-1">(</span><span·class="p"·data-group-id="7780660337-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">pretty</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·687,·SHA:·8e1b9be9d942e3c64a696dfbdee0c4726e1ded79a72063f444f713a7ea896b23·...·]-2">)</span><span·class="w">202 <code·class="inline">{codec_name(),·messages_list()}</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">codec_name</span><span·class="p"·data-group-id="6181660654-1">(</span><span·class="p"·data-group-id="6181660654-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">pretty</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·687,·SHA:·3c2e85cfccc7187cd047f70d5279917bb11fca9d3b8b0210c49e897914090efb·...·]-2">)</span><span·class="w">
203 </span><span·class="nf">messages_list</span><span·class="p"·data-group-id="7780660337-3">(</span><span·class="p"·data-group-id="7780660337-3">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7780660337-4">[</span><span·class="p"·data-group-id="7780660337-5">{</span><sp[·...·truncated·by·diffoscope;·len:·418,·SHA:·280a123b95030501618e59029b3d54a61123fbae9abd957e8b5f6d88a7e2366c·...·]-4">]</span><span·class="w">203 </span><span·class="nf">messages_list</span><span·class="p"·data-group-id="6181660654-3">(</span><span·class="p"·data-group-id="6181660654-3">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6181660654-4">[</span><span·class="p"·data-group-id="6181660654-5">{</span><sp[·...·truncated·by·diffoscope;·len:·418,·SHA:·ca70aedfca81338e3f9095406b82e9db05f6d5d6e6a978bf56814c0affaadd38·...·]-4">]</span><span·class="w">
204 </span><span·class="nf">message_name</span><span·class="p"·data-group-id="7780660337-8">(</span><span·class="p"·data-group-id="7780660337-8">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="7780660337-9">(</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·311aabec0fe6b341cc8217cefe62364db62e0dbed7932795f035bd41d3f898d0·...·]-9">)</span><span·class="w">204 </span><span·class="nf">message_name</span><span·class="p"·data-group-id="6181660654-8">(</span><span·class="p"·data-group-id="6181660654-8">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="6181660654-9">(</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·66299f1647684b4b35031530bfe32951768196ae47633e28dc99f21a5c452ec0·...·]-9">)</span><span·class="w">
205 </span><span·class="nf">message</span><span·class="p"·data-group-id="7780660337-10">(</span><span·class="p"·data-group-id="7780660337-10">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="7780660337-11">(</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·5f86902b11e617ebb5b08da42c3db5ff3aae113e5006b4114608bc162a9bf752·...·]-11">)</span></code></pre><p>The·codec·name·is·the·name·of·the·codec·with·which·all·messages·in·the205 </span><span·class="nf">message</span><span·class="p"·data-group-id="6181660654-10">(</span><span·class="p"·data-group-id="6181660654-10">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="6181660654-11">(</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·d1040440d4424241bb3ce32bf5ab234eee4f0eb56790d21041eb4f4c5348ecf8·...·]-11">)</span></code></pre><p>The·codec·name·is·the·name·of·the·codec·with·which·all·messages·in·the
206 <code·class="inline">message_list()</code>·has·been·encoded.</p><p>This·file·can·be·<code·class="inline">exported</code>·to·a·file·structure·by·calling·the206 <code·class="inline">message_list()</code>·has·been·encoded.</p><p>This·file·can·be·<code·class="inline">exported</code>·to·a·file·structure·by·calling·the
207 <a·href="megaco_codec_transform.html#export_messages">export_messages</a>·function.·This·can207 <a·href="megaco_codec_transform.html#export_messages">export_messages</a>·function.·This·can
208 be·usefull·if·a·measurement·shall·be·done·with·an·external·tool.·Exporting·the208 be·usefull·if·a·measurement·shall·be·done·with·an·external·tool.·Exporting·the
209 messages·creates·a·directory·tree·with·the·following·structure:</p><pre><code·class="text">&lt;message·package&gt;/pretty/&lt;message-files&gt;209 messages·creates·a·directory·tree·with·the·following·structure:</p><pre><code·class="text">&lt;message·package&gt;/pretty/&lt;message-files&gt;
210 ··················compact/210 ··················compact/
211 ··················per/211 ··················per/
212 ··················ber/&lt;message-files&gt;212 ··················ber/&lt;message-files&gt;
Offset 262, 15 lines modifiedOffset 262, 15 lines modified
262 ······<p·class="built-using">262 ······<p·class="built-using">
263 ········Built·using263 ········Built·using
264 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the264 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
265 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>265 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
266 ······</p>266 ······</p>
267 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>267 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
268 ····</footer>268 ····</footer>
269 ··</div>269 ··</div>
270 </main>270 </main>
271 </div>271 </div>
272 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>272 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
273 ··<script>273 ··<script>
274 ··let·initialized·=·false;274 ··let·initialized·=·false;
812 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_digit_map.html
    
Offset 488, 15 lines modifiedOffset 488, 15 lines modified
488 ······<p·class="built-using">488 ······<p·class="built-using">
489 ········Built·using489 ········Built·using
490 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the490 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
491 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>491 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
492 ······</p>492 ······</p>
493 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>493 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
494 ····</footer>494 ····</footer>
495 ··</div>495 ··</div>
496 </main>496 </main>
497 </div>497 </div>
498 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>498 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
499 ··<script>499 ··<script>
500 ··let·initialized·=·false;500 ··let·initialized·=·false;
660 B
html2text {}
Max HTML report size reached
1.62 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_edist_compress.html
    
Offset 273, 15 lines modifiedOffset 273, 15 lines modified
273 ······<p·class="built-using">273 ······<p·class="built-using">
274 ········Built·using274 ········Built·using
275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
277 ······</p>277 ······</p>
278 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>278 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
279 ····</footer>279 ····</footer>
280 ··</div>280 ··</div>
281 </main>281 </main>
282 </div>282 </div>
283 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>283 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
284 ··<script>284 ··<script>
285 ··let·initialized·=·false;285 ··let·initialized·=·false;
793 B
html2text {}
Max HTML report size reached
23.1 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_encode.html
    
Offset 170, 67 lines modifiedOffset 170, 67 lines modified
170 ···························}170 ···························}
171 ···················}171 ···················}
172 ···········}172 ···········}
173 ···}</code></pre><p>Then·the·compact·version·without·indentation·and·with·short·keywords:</p><pre><code·class="text">173 ···}</code></pre><p>Then·the·compact·version·without·indentation·and·with·short·keywords:</p><pre><code·class="text">
174 ···!/1·[124.124.124.222]174 ···!/1·[124.124.124.222]
175 ···T=9998{C=-{SC=ROOT{SV{MT=RS,AD=55555,PF=ResGW/1,RE=&quot;901·Cold·Boot&quot;}}}}</code></pre><p>And·the·programmers·view·of·the·same·message.·First·a·list·of·ActionRequest175 ···T=9998{C=-{SC=ROOT{SV{MT=RS,AD=55555,PF=ResGW/1,RE=&quot;901·Cold·Boot&quot;}}}}</code></pre><p>And·the·programmers·view·of·the·same·message.·First·a·list·of·ActionRequest
176 records·are·constructed·and·then·it·is·sent·with·one·of·the·send·functions·in176 records·are·constructed·and·then·it·is·sent·with·one·of·the·send·functions·in
177 the·API:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="n">Prof</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;ServiceChangeProfile&#39;</span><span·class="p"·data-group-id="8523315597-1">{</span><span·class="ss">profileName</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;resgw&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">version</span><span·cl[·...·truncated·by·diffoscope;·len:·130,·SHA:·d069879c46d450ebe9cabc45b571b1260cb11e720837a0c444785608d7d2a49b·...·]-1">}</span><span·class="p">,</span><span·class="w">177 the·API:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="n">Prof</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;ServiceChangeProfile&#39;</span><span·class="p"·data-group-id="5006779900-1">{</span><span·class="ss">profileName</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;resgw&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">version</span><span·cl[·...·truncated·by·diffoscope;·len:·130,·SHA:·197a20dc6ab3ea8e3819b9f36fe7ac2a04be0329b1e9de5b68021e0ecd1dd38d·...·]-1">}</span><span·class="p">,</span><span·class="w">
178 ··</span><span·class="n">Parm</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;ServiceChangeParm&#39;</span><span·class="p"·data-group-id="8523315597-2">{</span><span·class="ss">serviceChangeMethod</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">restart</span><span·class="p">,</span><span·class="w">178 ··</span><span·class="n">Parm</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;ServiceChangeParm&#39;</span><span·class="p"·data-group-id="5006779900-2">{</span><span·class="ss">serviceChangeMethod</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">restart</span><span·class="p">,</span><span·class="w">
179 ······························</span><span·class="ss">serviceChangeAddress</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8523315597-3">{</span><span·class="ss">portNumber</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">55555</span><span·class="p"·data-group-id="8523315597-3">}</span><span·class="p">,</span><span·class="w">179 ······························</span><span·class="ss">serviceChangeAddress</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5006779900-3">{</span><span·class="ss">portNumber</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">55555</span><span·class="p"·data-group-id="5006779900-3">}</span><span·class="p">,</span><span·class="w">
180 ······························</span><span·class="ss">serviceChangeReason</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;901·Cold·Boot&quot;</span><span·class="p">,</span><span·class="w">180 ······························</span><span·class="ss">serviceChangeReason</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;901·Cold·Boot&quot;</span><span·class="p">,</span><span·class="w">
181 ······························</span><span·class="ss">serviceChangeProfile</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Prof</span><span·class="p"·data-group-id="8523315597-2">}</span><span·class="p">,</span><span·class="w">181 ······························</span><span·class="ss">serviceChangeProfile</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Prof</span><span·class="p"·data-group-id="5006779900-2">}</span><span·class="p">,</span><span·class="w">
182 ··</span><span·class="n">Req</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;ServiceChangeRequest&#39;</span><span·class="p"·data-group-id="8523315597-4">{</span><span·class="ss">terminationID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8523315597-5">[</span><span·class="o">?</span><span·class="ss">megaco_root_termination_id</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·218609e300e4506382aea66a4362fb711c1ca7b6d1fec70cf62d5bb9e5a72a7f·...·]-5">]</span><span·class="p">,</span><span·class="w">182 ··</span><span·class="n">Req</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;ServiceChangeRequest&#39;</span><span·class="p"·data-group-id="5006779900-4">{</span><span·class="ss">terminationID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5006779900-5">[</span><span·class="o">?</span><span·class="ss">megaco_root_termination_id</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·abe64bcbb161eacf288124de40120b3367f7bf8163cbdf930a7e8777551cc654·...·]-5">]</span><span·class="p">,</span><span·class="w">
183 ································</span><span·class="ss">serviceChangeParms</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Parm</span><span·class="p"·data-group-id="8523315597-4">}</span><span·class="p">,</span><span·class="w">183 ································</span><span·class="ss">serviceChangeParms</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Parm</span><span·class="p"·data-group-id="5006779900-4">}</span><span·class="p">,</span><span·class="w">
184 ··</span><span·class="n">Actions</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8523315597-6">[</span><span·class="o">#</span><span·class="ss">&#39;ActionRequest&#39;</span><span·class="p"·data-group-id="8523315597-7">{</span><span·class="ss">contextId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">megaco_null_context_id</span><span·class="p">,</span><span·class="w">184 ··</span><span·class="n">Actions</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5006779900-6">[</span><span·class="o">#</span><span·class="ss">&#39;ActionRequest&#39;</span><span·class="p"·data-group-id="5006779900-7">{</span><span·class="ss">contextId</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">megaco_null_context_id</span><span·class="p">,</span><span·class="w">
185 ······························</span><span·class="ss">commandRequests</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8523315597-8">{</span><span·class="ss">serviceChangeReq</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Req</span><span·class="p"·data-group-id="8523315597-8">}</span><span·class="p"·data-group-id="8523315597-7">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·d60d5d4dffca531dacddf66652fd1eb8af4be70877bc0014590107175efb8c95·...·]-6">]</span><span·class="p">,</span><span·class="w">185 ······························</span><span·class="ss">commandRequests</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5006779900-8">{</span><span·class="ss">serviceChangeReq</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Req</span><span·class="p"·data-group-id="5006779900-8">}</span><span·class="p"·data-group-id="5006779900-7">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·25fcaf751fef1a6f1f4cdc1034803e28e0722ab8f344b8fdcaffe4e6c18c2996·...·]-6">]</span><span·class="p">,</span><span·class="w">
186 ··</span><span·class="nc">megaco</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="8523315597-9">(</span><span·class="n">ConnHandle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Actions</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="8523315597-9">)[·...·truncated·by·diffoscope;·len:·217,·SHA:·2f83bd23efdbebcb14b9edba2d82d22cef4d0d378ea15f96b5c280c2df38428b·...·]-1">{</span><span·class="ss">&#39;MegacoMessage&#39;</span><span·class="p">,</span><span·class="w">186 ··</span><span·class="nc">megaco</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="5006779900-9">(</span><span·class="n">ConnHandle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Actions</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="5006779900-9">)[·...·truncated·by·diffoscope;·len:·217,·SHA:·eb9b0ca1663bc4a44d9b0ce113bc7c0c5d238bfb7f8040bd387f4f9091fa64c7·...·]-1">{</span><span·class="ss">&#39;MegacoMessage&#39;</span><span·class="p">,</span><span·class="w">
187 ···</span><span·class="ss">asn1_NOVALUE</span><span·class="p">,</span><span·class="w">187 ···</span><span·class="ss">asn1_NOVALUE</span><span·class="p">,</span><span·class="w">
188 ···</span><span·class="p"·data-group-id="9531066110-2">{</span><span·class="ss">&#39;Message&#39;</span><span·class="p">,</span><span·class="w">188 ···</span><span·class="p"·data-group-id="8521669913-2">{</span><span·class="ss">&#39;Message&#39;</span><span·class="p">,</span><span·class="w">
189 ····</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">189 ····</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
190 ····</span><span·class="p"·data-group-id="9531066110-3">{</span><span·class="ss">ip4Address</span><span·class="p">,</span><span·class="p"·data-group-id="9531066110-4">{</span><span·class="ss">&#39;IP4Address&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·433,·SHA:·b8b5bc9b5e87f7b55ba8487de033686e1ef3a975d2a20a8adb63f5a5449b4977·...·]-3">}</span><span·class="p">,</span><span·class="w">190 ····</span><span·class="p"·data-group-id="8521669913-3">{</span><span·class="ss">ip4Address</span><span·class="p">,</span><span·class="p"·data-group-id="8521669913-4">{</span><span·class="ss">&#39;IP4Address&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·433,·SHA:·06449ccee61d87b4e422b31294531dd7323199f1a5b212ecefdd194d1ca95d63·...·]-3">}</span><span·class="p">,</span><span·class="w">
191 ····</span><span·class="p"·data-group-id="9531066110-6">{</span><span·class="ss">transactions</span><span·class="p">,</span><span·class="w">191 ····</span><span·class="p"·data-group-id="8521669913-6">{</span><span·class="ss">transactions</span><span·class="p">,</span><span·class="w">
192 ·····</span><span·class="p"·data-group-id="9531066110-7">[</span><span·class="w">192 ·····</span><span·class="p"·data-group-id="8521669913-7">[</span><span·class="w">
193 ······</span><span·class="p"·data-group-id="9531066110-8">{</span><span·class="ss">transactionRequest</span><span·class="p">,</span><span·class="w">193 ······</span><span·class="p"·data-group-id="8521669913-8">{</span><span·class="ss">transactionRequest</span><span·class="p">,</span><span·class="w">
194 ·······</span><span·class="p"·data-group-id="9531066110-9">{</span><span·class="ss">&#39;TransactionRequest&#39;</span><span·class="p">,</span><span·class="w">194 ·······</span><span·class="p"·data-group-id="8521669913-9">{</span><span·class="ss">&#39;TransactionRequest&#39;</span><span·class="p">,</span><span·class="w">
195 ·········</span><span·class="mi">9998</span><span·class="p">,</span><span·class="w">195 ·········</span><span·class="mi">9998</span><span·class="p">,</span><span·class="w">
196 ·········</span><span·class="p"·data-group-id="9531066110-10">[</span><span·class="p"·data-group-id="9531066110-11">{</span><span·class="ss">&#39;ActionRequest&#39;</span><span·class="p">,</span><span·class="w">196 ·········</span><span·class="p"·data-group-id="8521669913-10">[</span><span·class="p"·data-group-id="8521669913-11">{</span><span·class="ss">&#39;ActionRequest&#39;</span><span·class="p">,</span><span·class="w">
197 ···········</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">197 ···········</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
198 ···········</span><span·class="ss">asn1_NOVALUE</span><span·class="p">,</span><span·class="w">198 ···········</span><span·class="ss">asn1_NOVALUE</span><span·class="p">,</span><span·class="w">
199 ···········</span><span·class="ss">asn1_NOVALUE</span><span·class="p">,</span><span·class="w">199 ···········</span><span·class="ss">asn1_NOVALUE</span><span·class="p">,</span><span·class="w">
200 ···········</span><span·class="p"·data-group-id="9531066110-12">[</span><span·class="w">200 ···········</span><span·class="p"·data-group-id="8521669913-12">[</span><span·class="w">
201 ············</span><span·class="p"·data-group-id="9531066110-13">{</span><span·class="ss">&#39;CommandRequest&#39;</span><span·class="p">,</span><span·class="w">201 ············</span><span·class="p"·data-group-id="8521669913-13">{</span><span·class="ss">&#39;CommandRequest&#39;</span><span·class="p">,</span><span·class="w">
202 ·············</span><span·class="p"·data-group-id="9531066110-14">{</span><span·class="ss">serviceChangeReq</span><span·class="p">,</span><span·class="w">202 ·············</span><span·class="p"·data-group-id="8521669913-14">{</span><span·class="ss">serviceChangeReq</span><span·class="p">,</span><span·class="w">
203 ··············</span><span·class="p"·data-group-id="9531066110-15">{</span><span·class="ss">&#39;ServiceChangeRequest&#39;</span><span·class="p">,</span><span·class="w">203 ··············</span><span·class="p"·data-group-id="8521669913-15">{</span><span·class="ss">&#39;ServiceChangeRequest&#39;</span><span·class="p">,</span><span·class="w">
204 ···············</span><span·class="p"·data-group-id="9531066110-16">[</span><span·class="w">204 ···············</span><span·class="p"·data-group-id="8521669913-16">[</span><span·class="w">
205 ················</span><span·class="p"·data-group-id="9531066110-17">{</span><span·class="ss">megaco_term_id</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9531066110-18">[</span><span·class="s">[·...·truncated·by·diffoscope;·len:·172,·SHA:·6a9b5a703c2339a2374a49f76c17fb91624122488a23c52d8895b0d1565e35dc·...·]-16">]</span><span·class="p">,</span><span·class="w">205 ················</span><span·class="p"·data-group-id="8521669913-17">{</span><span·class="ss">megaco_term_id</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8521669913-18">[</span><span·class="s">[·...·truncated·by·diffoscope;·len:·172,·SHA:·6af6dc3f58b432e552120484f77f183539f9ed02e04436e77a914766cce5694e·...·]-16">]</span><span·class="p">,</span><span·class="w">
206 ················</span><span·class="p"·data-group-id="9531066110-19">{</span><span·class="ss">&#39;ServiceChangeParm&#39;</span><span·class="p">,</span><span·class="w">206 ················</span><span·class="p"·data-group-id="8521669913-19">{</span><span·class="ss">&#39;ServiceChangeParm&#39;</span><span·class="p">,</span><span·class="w">
207 ·················</span><span·class="ss">restart</span><span·class="p">,</span><span·class="w">207 ·················</span><span·class="ss">restart</span><span·class="p">,</span><span·class="w">
208 ·················</span><span·class="p"·data-group-id="9531066110-20">{</span><span·class="ss">portNumber</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">55555</span><span·class="p"·data-group-id="9531066110-20">}</span><span·class="p">,</span><span·class="w">208 ·················</span><span·class="p"·data-group-id="8521669913-20">{</span><span·class="ss">portNumber</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">55555</span><span·class="p"·data-group-id="8521669913-20">}</span><span·class="p">,</span><span·class="w">
209 ·················</span><span·class="ss">asn1_NOVALUE</span><span·class="p">,</span><span·class="w">209 ·················</span><span·class="ss">asn1_NOVALUE</span><span·class="p">,</span><span·class="w">
210 ·················</span><span·class="p"·data-group-id="9531066110-21">{</span><span·class="ss">&#39;ServiceChangeProfile&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;resgw&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">version</span><span·class=[·...·truncated·by·diffoscope;·len:·126,·SHA:·2a580449070858a2832a90c218b06a9df7c76987f565381190539270cf73a444·...·]-21">}</span><span·class="p">,</span><span·class="w">210 ·················</span><span·class="p"·data-group-id="8521669913-21">{</span><span·class="ss">&#39;ServiceChangeProfile&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;resgw&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">version</span><span·class=[·...·truncated·by·diffoscope;·len:·126,·SHA:·a7883a7389758747e661b858aa6cb7acb9e4295db7ced0f86742d4bea7c43f5b·...·]-21">}</span><span·class="p">,</span><span·class="w">
211 ·················</span><span·class="s">&quot;901·MG·Cold·Boot&quot;</span><span·class="p">,</span><span·class="w">211 ·················</span><span·class="s">&quot;901·MG·Cold·Boot&quot;</span><span·class="p">,</span><span·class="w">
212 ·················</span><span·class="ss">asn1_NOVALUE</span><span·class="p">,</span><span·class="w">212 ·················</span><span·class="ss">asn1_NOVALUE</span><span·class="p">,</span><span·class="w">
213 ·················</span><span·class="ss">asn1_NOVALUE</span><span·class="p">,</span><span·class="w">213 ·················</span><span·class="ss">asn1_NOVALUE</span><span·class="p">,</span><span·class="w">
214 ·················</span><span·class="ss">asn1_NOVALUE</span><span·class="w">214 ·················</span><span·class="ss">asn1_NOVALUE</span><span·class="w">
215 ················</span><span·class="p"·data-group-id="9531066110-19">}</span><span·class="w">215 ················</span><span·class="p"·data-group-id="8521669913-19">}</span><span·class="w">
216 ··············</span><span·class="p"·data-group-id="9531066110-15">}</span><span·class="w">216 ··············</span><span·class="p"·data-group-id="8521669913-15">}</span><span·class="w">
217 ·············</span><span·class="p"·data-group-id="9531066110-14">}</span><span·class="p">,</span><span·class="w">217 ·············</span><span·class="p"·data-group-id="8521669913-14">}</span><span·class="p">,</span><span·class="w">
218 ·············</span><span·class="ss">asn1_NOVALUE</span><span·class="p">,</span><span·class="w">218 ·············</span><span·class="ss">asn1_NOVALUE</span><span·class="p">,</span><span·class="w">
219 ·············</span><span·class="ss">asn1_NOVALUE</span><span·class="w">219 ·············</span><span·class="ss">asn1_NOVALUE</span><span·class="w">
220 ············</span><span·class="p"·data-group-id="9531066110-13">}</span><span·class="w">220 ············</span><span·class="p"·data-group-id="8521669913-13">}</span><span·class="w">
221 ···········</span><span·class="p"·data-group-id="9531066110-12">]</span><span·class="w">221 ···········</span><span·class="p"·data-group-id="8521669913-12">]</span><span·class="w">
222 ··········</span><span·class="p"·data-group-id="9531066110-11">}</span><span·class="w">222 ··········</span><span·class="p"·data-group-id="8521669913-11">}</span><span·class="w">
223 ·········</span><span·class="p"·data-group-id="9531066110-10">]</span><span·class="w">223 ·········</span><span·class="p"·data-group-id="8521669913-10">]</span><span·class="w">
224 ·······</span><span·class="p"·data-group-id="9531066110-9">}</span><span·class="w">224 ·······</span><span·class="p"·data-group-id="8521669913-9">}</span><span·class="w">
225 ······</span><span·class="p"·data-group-id="9531066110-8">}</span><span·class="w">225 ······</span><span·class="p"·data-group-id="8521669913-8">}</span><span·class="w">
226 ·····</span><span·class="p"·data-group-id="9531066110-7">]</span><span·class="w">226 ·····</span><span·class="p"·data-group-id="8521669913-7">]</span><span·class="w">
227 ····</span><span·class="p"·data-group-id="9531066110-6">}</span><span·class="w">227 ····</span><span·class="p"·data-group-id="8521669913-6">}</span><span·class="w">
228 ···</span><span·class="p"·data-group-id="9531066110-2">}</span><span·class="w">228 ···</span><span·class="p"·data-group-id="8521669913-2">}</span><span·class="w">
229 ··</span><span·class="p"·data-group-id="9531066110-1">}</span></code></pre><p>The·following·encoding·modules·are·provided:</p><ul><li>megaco_pretty_text_encoder·-·encodes·messages·into·pretty·text·format,·decodes229 ··</span><span·class="p"·data-group-id="8521669913-1">}</span></code></pre><p>The·following·encoding·modules·are·provided:</p><ul><li>megaco_pretty_text_encoder·-·encodes·messages·into·pretty·text·format,·decodes
230 both·pretty·as·well·as·compact·text.</li><li>megaco_compact_text_encoder·-·encodes·messages·into·compact·text·format,230 both·pretty·as·well·as·compact·text.</li><li>megaco_compact_text_encoder·-·encodes·messages·into·compact·text·format,
231 decodes·both·pretty·as·well·as·compact·text.</li><li>megaco_binary_encoder·-·encode/decode·ASN.1·BER·messages.·This·encoder231 decodes·both·pretty·as·well·as·compact·text.</li><li>megaco_binary_encoder·-·encode/decode·ASN.1·BER·messages.·This·encoder
232 implements·the·fastest·of·the·BER·encoders/decoders.·Recommended·binary·codec.</li><li>megaco_ber_encoder·-·encode/decode·ASN.1·BER·messages.</li><li>megaco_per_encoder·-·encode/decode·ASN.1·PER·messages.·N.B.·that·this·format232 implements·the·fastest·of·the·BER·encoders/decoders.·Recommended·binary·codec.</li><li>megaco_ber_encoder·-·encode/decode·ASN.1·BER·messages.</li><li>megaco_per_encoder·-·encode/decode·ASN.1·PER·messages.·N.B.·that·this·format
233 is·not·included·in·the·Megaco·standard.</li><li>megaco_erl_dist_encoder·-·encodes·messages·into·Erlangs·distribution·format.233 is·not·included·in·the·Megaco·standard.</li><li>megaco_erl_dist_encoder·-·encodes·messages·into·Erlangs·distribution·format.
234 It·is·rather·verbose·but·encoding·and·decoding·is·blinding·fast.·N.B.·that234 It·is·rather·verbose·but·encoding·and·decoding·is·blinding·fast.·N.B.·that
235 this·format·is·not·included·in·the·Megaco·standard.</li></ul><p><a·href=""·id="erl_dist_config"></a></p><h2·id="configuration-of-erlang-distribution-encoding-module"·class="section-heading">235 this·format·is·not·included·in·the·Megaco·standard.</li></ul><p><a·href=""·id="erl_dist_config"></a></p><h2·id="configuration-of-erlang-distribution-encoding-module"·class="section-heading">
236 ··<a·href="#configuration-of-erlang-distribution-encoding-module"·class="hover-link">236 ··<a·href="#configuration-of-erlang-distribution-encoding-module"·class="hover-link">
Offset 353, 15 lines modifiedOffset 353, 15 lines modified
353 ······<p·class="built-using">353 ······<p·class="built-using">
354 ········Built·using354 ········Built·using
355 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the355 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
356 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>356 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
357 ······</p>357 ······</p>
358 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>358 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
359 ····</footer>359 ····</footer>
360 ··</div>360 ··</div>
361 </main>361 </main>
362 </div>362 </div>
363 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>363 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
364 ··<script>364 ··<script>
365 ··let·initialized·=·false;365 ··let·initialized·=·false;
767 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_encoder.html
    
Offset 1340, 15 lines modifiedOffset 1340, 15 lines modified
1340 ······<p·class="built-using">1340 ······<p·class="built-using">
1341 ········Built·using1341 ········Built·using
1342 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1342 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1343 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1343 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1344 ······</p>1344 ······</p>
1345 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1345 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1346 ····</footer>1346 ····</footer>
1347 ··</div>1347 ··</div>
1348 </main>1348 </main>
1349 </div>1349 </div>
1350 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1350 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1351 ··<script>1351 ··<script>
1352 ··let·initialized·=·false;1352 ··let·initialized·=·false;
680 B
html2text {}
Max HTML report size reached
6.63 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_examples.html
    
Offset 155, 18 lines modifiedOffset 155, 18 lines modified
155 synchronously·for·a·reply.</p><p>After·this·initial·service·change·message·the·connection·between·the·MG·and·MGC155 synchronously·for·a·reply.</p><p>After·this·initial·service·change·message·the·connection·between·the·MG·and·MGC
156 is·fully·established·and·supervised.</p><p>Assuming·that·the·MGC·is·started·on·the·local·host,·four·different·MG's,·using156 is·fully·established·and·supervised.</p><p>Assuming·that·the·MGC·is·started·on·the·local·host,·four·different·MG's,·using
157 text·over·TCP/IP,·binary·over·TCP/IP,·text·over·UDP/IP·and·binary·over·UDP/IP157 text·over·TCP/IP,·binary·over·TCP/IP,·text·over·UDP/IP·and·binary·over·UDP/IP
158 may·be·started·on·the·same·Erlang·node·with:</p><pre><code·class="text">······cd·megaco/examples/simple158 may·be·started·on·the·same·Erlang·node·with:</p><pre><code·class="text">······cd·megaco/examples/simple
159 ······erl·-pa·../../../megaco/ebin·-s·megaco_filter·-s·megaco159 ······erl·-pa·../../../megaco/ebin·-s·megaco_filter·-s·megaco
160 ······megaco_simple_mg:start().</code></pre><p>or·simply·'gmake·mg'.</p><p>If·you·&quot;only&quot;·want·to·start·a·single·MG·which·tries·to·connect·an·MG·on·a·host160 ······megaco_simple_mg:start().</code></pre><p>or·simply·'gmake·mg'.</p><p>If·you·&quot;only&quot;·want·to·start·a·single·MG·which·tries·to·connect·an·MG·on·a·host
161 named·&quot;baidarka&quot;,·you·may·use·one·of·these·functions·(instead·of·the161 named·&quot;baidarka&quot;,·you·may·use·one·of·these·functions·(instead·of·the
162 megaco_simple_mg:start/0·above):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="nc">megaco_simple_mg</span><span·class="p">:</span><span·class="nf">start_tcp_text</span><span·class="p"·data-group-id="5409303542-1">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5409303542-2">[</span><span·class="p"·data-group-id="5409303542-2">]</span><span·class="p"·data-group-id="5409303[·...·truncated·by·diffoscope;·len:·3,·SHA:·2d86377d4cc3e6c85bab00dd407f8c5b657c239c6af3109de6cdf4d418aa2d89·...·]-1">)</span><span·class="p">.</span><span·class="w">162 megaco_simple_mg:start/0·above):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="nc">megaco_simple_mg</span><span·class="p">:</span><span·class="nf">start_tcp_text</span><span·class="p"·data-group-id="5011361943-1">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5011361943-2">[</span><span·class="p"·data-group-id="5011361943-2">]</span><span·class="p"·data-group-id="5011361[·...·truncated·by·diffoscope;·len:·3,·SHA:·e133553ea138da0438f229cc2273c76d2e44c23a1dcc98a8e7a0d1780a3a65cc·...·]-1">)</span><span·class="p">.</span><span·class="w">
163 ······</span><span·class="nc">megaco_simple_mg</span><span·class="p">:</span><span·class="nf">start_tcp_binary</span><span·class="p"·data-group-id="5409303542-3">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5409303542-4">[</span><span·class="p"·data-group-id="5409303542-4">]</span><span·class="p"·data-group-id="5409303542-3">)</span><span·class="p">.</span><span·class="w"> 
164 ······</span><span·class="nc">megaco_simple_mg</span><span·class="p">:</span><span·class="nf">start_udp_text</span><span·class="p"·data-group-id="5409303542-5">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5409303542-6">[</span><span·class="p"·data-group-id="5409303542-6"[·...·truncated·by·diffoscope;·len:·52,·SHA:·c6d8fa26ee83171307bfdbdce2f479d469ad1622e488b7cf698876bb8a89894f·...·]">)</span><span·class="p">.</span><span·class="w">163 ······</span><span·class="nc">megaco_simple_mg</span><span·class="p">:</span><span·class="nf">start_tcp_binary</span><span·class="p"·data-group-id="5011361943-3">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5011361943-4">[</span><span·class="p"·data-group-id="5011361943-[·...·truncated·by·diffoscope;·len:·54,·SHA:·cdb1fa40566bfbc7eb16fd8cb0fe6400a3ec356408a9be1660bded6217c4b57e·...·]">)</span><span·class="p">.</span><span·class="w">
 164 ······</span><span·class="nc">megaco_simple_mg</span><span·class="p">:</span><span·class="nf">start_udp_text</span><span·class="p"·data-group-id="5011361943-5">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5011361943-6">[</span><span·class="p"·data-group-id="5011361943-6">]</span><span·class="p"·data-group-id="5011361943-5">)</span><span·class="p">.</span><span·class="w">
165 ······</span><span·class="nc">megaco_simple_mg</span><span·class="p">:</span><span·class="nf">start_udp_binary</span><span·class="p"·data-group-id="5409303542-7">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5409303542-8">[</span><span·class="p"·data-group-id="5409303542-8">]</span><span·class="p"·data-group-id="5409303[·...·truncated·by·diffoscope;·len:·3,·SHA:·2d86377d4cc3e6c85bab00dd407f8c5b657c239c6af3109de6cdf4d418aa2d89·...·]-7">)</span><span·class="p">.</span></code></pre><p>The·-s·megaco_filter·option·to·erl·implies,·the·event·tracing·mechanism·to·be165 ······</span><span·class="nc">megaco_simple_mg</span><span·class="p">:</span><span·class="nf">start_udp_binary</span><span·class="p"·data-group-id="5011361943-7">(</span><span·class="s">&quot;baidarka&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5011361943-8">[</span><span·class="p"·data-group-id="5011361943-8">]</span><span·class="p"·data-group-id="5011361[·...·truncated·by·diffoscope;·len:·3,·SHA:·e133553ea138da0438f229cc2273c76d2e44c23a1dcc98a8e7a0d1780a3a65cc·...·]-7">)</span><span·class="p">.</span></code></pre><p>The·-s·megaco_filter·option·to·erl·implies,·the·event·tracing·mechanism·to·be
166 enabled·and·an·interactive·sequence·chart·tool·to·be·started.·This·may·be·quite166 enabled·and·an·interactive·sequence·chart·tool·to·be·started.·This·may·be·quite
167 useful·in·order·to·visualize·how·your·MG·interacts·with·the·Megaco/H.248167 useful·in·order·to·visualize·how·your·MG·interacts·with·the·Megaco/H.248
168 protocol·stack.</p><p>The·event·traces·may·alternatively·be·directed·to·a·file·for·later·analyze.·By168 protocol·stack.</p><p>The·event·traces·may·alternatively·be·directed·to·a·file·for·later·analyze.·By
169 default·the·event·tracing·is·disabled,·but·it·may·dynamically·be·enabled·without169 default·the·event·tracing·is·disabled,·but·it·may·dynamically·be·enabled·without
170 any·need·for·re-compilation·of·the·code.</p>170 any·need·for·re-compilation·of·the·code.</p>
171 </div>171 </div>
  
Offset 214, 15 lines modifiedOffset 214, 15 lines modified
214 ······<p·class="built-using">214 ······<p·class="built-using">
215 ········Built·using215 ········Built·using
216 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the216 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
217 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>217 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
218 ······</p>218 ······</p>
219 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>219 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
220 ····</footer>220 ····</footer>
221 ··</div>221 ··</div>
222 </main>222 </main>
223 </div>223 </div>
224 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>224 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
225 ··<script>225 ··<script>
226 ··let·initialized·=·false;226 ··let·initialized·=·false;
747 B
html2text {}
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_flex_scanner.html
    
Offset 435, 15 lines modifiedOffset 435, 15 lines modified
435 ······<p·class="built-using">435 ······<p·class="built-using">
436 ········Built·using436 ········Built·using
437 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the437 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
438 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>438 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
439 ······</p>439 ······</p>
440 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>440 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
441 ····</footer>441 ····</footer>
442 ··</div>442 ··</div>
443 </main>443 </main>
444 </div>444 </div>
445 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>445 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
446 ··<script>446 ··<script>
447 ··let·initialized·=·false;447 ··let·initialized·=·false;
762 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_intro.html
    
Offset 210, 15 lines modifiedOffset 210, 15 lines modified
210 ······<p·class="built-using">210 ······<p·class="built-using">
211 ········Built·using211 ········Built·using
212 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the212 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
213 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>213 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
214 ······</p>214 ······</p>
215 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>215 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
216 ····</footer>216 ····</footer>
217 ··</div>217 ··</div>
218 </main>218 </main>
219 </div>219 </div>
220 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>220 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
221 ··<script>221 ··<script>
222 ··let·initialized·=·false;222 ··let·initialized·=·false;
699 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_mib.html
    
Offset 202, 15 lines modifiedOffset 202, 15 lines modified
202 ······<p·class="built-using">202 ······<p·class="built-using">
203 ········Built·using203 ········Built·using
204 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the204 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
205 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>205 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
206 ······</p>206 ······</p>
207 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>207 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
208 ····</footer>208 ····</footer>
209 ··</div>209 ··</div>
210 </main>210 </main>
211 </div>211 </div>
212 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>212 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
213 ··<script>213 ··<script>
214 ··let·initialized·=·false;214 ··let·initialized·=·false;
756 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_performance.html
    
Offset 253, 15 lines modifiedOffset 253, 15 lines modified
253 ······<p·class="built-using">253 ······<p·class="built-using">
254 ········Built·using254 ········Built·using
255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
257 ······</p>257 ······</p>
258 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>258 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
259 ····</footer>259 ····</footer>
260 ··</div>260 ··</div>
261 </main>261 </main>
262 </div>262 </div>
263 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>263 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
264 ··<script>264 ··<script>
265 ··let·initialized·=·false;265 ··let·initialized·=·false;
745 B
html2text {}
Max HTML report size reached
1.64 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_run.html
    
Offset 331, 15 lines modifiedOffset 331, 15 lines modified
331 ······<p·class="built-using">331 ······<p·class="built-using">
332 ········Built·using332 ········Built·using
333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
335 ······</p>335 ······</p>
336 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>336 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
337 ····</footer>337 ····</footer>
338 ··</div>338 ··</div>
339 </main>339 </main>
340 </div>340 </div>
341 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>341 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
342 ··<script>342 ··<script>
343 ··let·initialized·=·false;343 ··let·initialized·=·false;
839 B
html2text {}
Max HTML report size reached
1.37 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_sdp.html
    
Offset 1184, 15 lines modifiedOffset 1184, 15 lines modified
1184 ······<p·class="built-using">1184 ······<p·class="built-using">
1185 ········Built·using1185 ········Built·using
1186 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1186 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1187 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1187 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1188 ······</p>1188 ······</p>
1189 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1189 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1190 ····</footer>1190 ····</footer>
1191 ··</div>1191 ··</div>
1192 </main>1192 </main>
1193 </div>1193 </div>
1194 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1194 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1195 ··<script>1195 ··<script>
1196 ··let·initialized·=·false;1196 ··let·initialized·=·false;
560 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_tcp.html
    
Offset 825, 15 lines modifiedOffset 825, 15 lines modified
825 ······<p·class="built-using">825 ······<p·class="built-using">
826 ········Built·using826 ········Built·using
827 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the827 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
828 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>828 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
829 ······</p>829 ······</p>
830 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>830 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
831 ····</footer>831 ····</footer>
832 ··</div>832 ··</div>
833 </main>833 </main>
834 </div>834 </div>
835 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>835 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
836 ··<script>836 ··<script>
837 ··let·initialized·=·false;837 ··let·initialized·=·false;
628 B
html2text {}
Max HTML report size reached
1.64 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_transport.html
    
Offset 324, 15 lines modifiedOffset 324, 15 lines modified
324 ······<p·class="built-using">324 ······<p·class="built-using">
325 ········Built·using325 ········Built·using
326 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the326 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
327 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>327 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
328 ······</p>328 ······</p>
329 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>329 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
330 ····</footer>330 ····</footer>
331 ··</div>331 ··</div>
332 </main>332 </main>
333 </div>333 </div>
334 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>334 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
335 ··<script>335 ··<script>
336 ··let·initialized·=·false;336 ··let·initialized·=·false;
823 B
html2text {}
Max HTML report size reached
1.66 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_transport_mechanisms.html
    
Offset 187, 15 lines modifiedOffset 187, 15 lines modified
187 ······<p·class="built-using">187 ······<p·class="built-using">
188 ········Built·using188 ········Built·using
189 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the189 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
190 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>190 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
191 ······</p>191 ······</p>
192 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>192 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
193 ····</footer>193 ····</footer>
194 ··</div>194 ··</div>
195 </main>195 </main>
196 </div>196 </div>
197 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>197 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
198 ··<script>198 ··<script>
199 ··let·initialized·=·false;199 ··let·initialized·=·false;
825 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_udp.html
    
Offset 859, 15 lines modifiedOffset 859, 15 lines modified
859 ······<p·class="built-using">859 ······<p·class="built-using">
860 ········Built·using860 ········Built·using
861 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the861 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
862 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>862 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
863 ······</p>863 ······</p>
864 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>864 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
865 ····</footer>865 ····</footer>
866 ··</div>866 ··</div>
867 </main>867 </main>
868 </div>868 </div>
869 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>869 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
870 ··<script>870 ··<script>
871 ··let·initialized·=·false;871 ··let·initialized·=·false;
627 B
html2text {}
Max HTML report size reached
11.2 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/megaco_user.html
    
Offset 127, 31 lines modifiedOffset 127, 31 lines modified
127 ··</h1>127 ··</h1>
  
  
128 ····<section·id="moduledoc">128 ····<section·id="moduledoc">
129 <p>Callback·module·for·users·of·the·Megaco·application</p><p>This·module·defines·the·callback·behaviour·of·Megaco·users.·A·megaco_user129 <p>Callback·module·for·users·of·the·Megaco·application</p><p>This·module·defines·the·callback·behaviour·of·Megaco·users.·A·megaco_user
130 compliant·callback·module·must·export·the·following·functions:</p><ul><li><a·href="#c:handle_connect/3">handle_connect/2,3</a></li><li><a·href="#c:handle_disconnect/3">handle_disconnect/3</a></li><li><a·href="#c:handle_syntax_error/4">handle_syntax_error/3,4</a></li><li><a·href="#c:handle_message_error/4">handle_message_error/3,4</a></li><li><a·href="#c:handle_trans_request/4">handle_trans_request/3,4</a></li><li><a·href="#c:handle_trans_long_request/4">handle_trans_long_request/3,4</a></li><li><a·href="#c:handle_trans_reply/5">handle_trans_reply/4,5</a></li><li><a·href="#c:handle_trans_ack/5">handle_trans_ack/4,5</a></li><li><a·href="#c:handle_unexpected_trans/4">handle_unexpected_trans/3,4</a></li><li><a·href="#c:handle_trans_request_abort/5">handle_trans_request_abort/4,5</a></li><li><a·href="#c:handle_segment_reply/6">handle_segment_reply/5,6</a></li></ul><p>The·semantics·of·them·and·their·exact·signatures·are·explained·below.</p><p>The·<code·class="inline">user_args</code>·configuration·parameter·which·may·be·used·to·extend·the·argument130 compliant·callback·module·must·export·the·following·functions:</p><ul><li><a·href="#c:handle_connect/3">handle_connect/2,3</a></li><li><a·href="#c:handle_disconnect/3">handle_disconnect/3</a></li><li><a·href="#c:handle_syntax_error/4">handle_syntax_error/3,4</a></li><li><a·href="#c:handle_message_error/4">handle_message_error/3,4</a></li><li><a·href="#c:handle_trans_request/4">handle_trans_request/3,4</a></li><li><a·href="#c:handle_trans_long_request/4">handle_trans_long_request/3,4</a></li><li><a·href="#c:handle_trans_reply/5">handle_trans_reply/4,5</a></li><li><a·href="#c:handle_trans_ack/5">handle_trans_ack/4,5</a></li><li><a·href="#c:handle_unexpected_trans/4">handle_unexpected_trans/3,4</a></li><li><a·href="#c:handle_trans_request_abort/5">handle_trans_request_abort/4,5</a></li><li><a·href="#c:handle_segment_reply/6">handle_segment_reply/5,6</a></li></ul><p>The·semantics·of·them·and·their·exact·signatures·are·explained·below.</p><p>The·<code·class="inline">user_args</code>·configuration·parameter·which·may·be·used·to·extend·the·argument
131 list·of·the·callback·functions.·For·example,·the·handle_connect·function·takes131 list·of·the·callback·functions.·For·example,·the·handle_connect·function·takes
132 by·default·two·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_connect</span><span·class="p"·data-group-id="9137868901-1">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Version</span><span·class="p"·data-group-id="9137868901-1">)</span></code></pre><p>but·if·the·<code·class="inline">user_args</code>·parameter·is·set·to·a·longer·list,·such·as132 by·default·two·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_connect</span><span·class="p"·data-group-id="7026282748-1">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Version</span><span·class="p"·data-group-id="7026282748-1">)</span></code></pre><p>but·if·the·<code·class="inline">user_args</code>·parameter·is·set·to·a·longer·list,·such·as
133 <code·class="inline">[SomePid,SomeTableRef]</code>,·the·callback·function·is·expected·to·have·these·(in133 <code·class="inline">[SomePid,SomeTableRef]</code>,·the·callback·function·is·expected·to·have·these·(in
134 this·case·two)·extra·arguments·last·in·the·argument·list:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_connect</span><span·class="p"·data-group-id="5489904461-1">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Version</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SomePid</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·75,·SHA:·3297444fbfb852f35177faa47e9f2fab871274f575435afec64b51b90461829c·...·]-1">)</span></code></pre><p><a·href=""·id="extra_argument"></a></p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Must·of·the·functions·below·has·an·optional·<code·class="inline">Extra</code>·argument·(e.g.134 this·case·two)·extra·arguments·last·in·the·argument·list:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">handle_connect</span><span·class="p"·data-group-id="4744884978-1">(</span><span·class="n">Handle</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Version</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SomePid</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·75,·SHA:·ef004a0fc131140daced7879c5d1ce062f4bfdf564f3eaf4c811b28038a98f2e·...·]-1">)</span></code></pre><p><a·href=""·id="extra_argument"></a></p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Must·of·the·functions·below·has·an·optional·<code·class="inline">Extra</code>·argument·(e.g.
135 <a·href="#c:handle_unexpected_trans/4">handle_unexpected_trans/4</a>).·The·functions135 <a·href="#c:handle_unexpected_trans/4">handle_unexpected_trans/4</a>).·The·functions
136 which·takes·this·argument·will·be·called·if·and·only·if·one·of·the·functions136 which·takes·this·argument·will·be·called·if·and·only·if·one·of·the·functions
137 <a·href="megaco.html#receive_message/5"><code·class="inline">receive_message/5</code></a>·or137 <a·href="megaco.html#receive_message/5"><code·class="inline">receive_message/5</code></a>·or
138 <a·href="megaco.html#process_received_message/5"><code·class="inline">process_received_message/5</code></a>·was·called138 <a·href="megaco.html#process_received_message/5"><code·class="inline">process_received_message/5</code></a>·was·called
139 with·the·<code·class="inline">Extra</code>·argument·different·than·<code·class="inline">ignore_extra</code>.</p></section><h2·id="module-data-types"·class="section-heading">139 with·the·<code·class="inline">Extra</code>·argument·different·than·<code·class="inline">ignore_extra</code>.</p></section><h2·id="module-data-types"·class="section-heading">
140 ··<a·href="#module-data-types"·class="hover-link">140 ··<a·href="#module-data-types"·class="hover-link">
141 ····<i·class="ri-link-m"·aria-hidden="true"></i>141 ····<i·class="ri-link-m"·aria-hidden="true"></i>
142 ··</a>142 ··</a>
143 ··<span·class="text">DATA·TYPES</span>143 ··<span·class="text">DATA·TYPES</span>
144 </h2>144 </h2>
145 <pre><code·class="makeup·erlang"·translate="no"><span·class="nf">action_request</span><span·class="p"·data-group-id="2931472818-1">(</span><span·class="p"·data-group-id="2931472818-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;ActionRequest&#39;</span><span·class="p"·data-group-id="2931472[·...·truncated·by·diffoscope;·len:·56,·SHA:·efadf1c6ae79dbd4b6a135c78d090cbf0c40d9c8669ba7bd14f538993fad2493·...·]-2">}</span><span·class="w">145 <pre><code·class="makeup·erlang"·translate="no"><span·class="nf">action_request</span><span·class="p"·data-group-id="5958218444-1">(</span><span·class="p"·data-group-id="5958218444-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;ActionRequest&#39;</span><span·class="p"·data-group-id="5958218[·...·truncated·by·diffoscope;·len:·56,·SHA:·136b49b8c27d69dc5abb7f603f465cde0f9e1a303c81ca1f4247bc3b11ce4152·...·]-2">}</span><span·class="w">
146 </span><span·class="nf">action_reply</span><span·class="p"·data-group-id="2931472818-3">(</span><span·class="p"·data-group-id="2931472818-3">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;ActionReply&#39;</span><span·class="p"·data-group-id="293147281[·...·truncated·by·diffoscope;·len:·54,·SHA:·aed82c084e8e10e88654bd3c52b25321dd639d24664cb438544d84ed0e7434c7·...·]-4">}</span><span·class="w">146 </span><span·class="nf">action_reply</span><span·class="p"·data-group-id="5958218444-3">(</span><span·class="p"·data-group-id="5958218444-3">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;ActionReply&#39;</span><span·class="p"·data-group-id="595821844[·...·truncated·by·diffoscope;·len:·54,·SHA:·2be165a09eff2b8ed15fa7c4d29a9492929a83395fff53a9f827bab06204aa28·...·]-4">}</span><span·class="w">
147 </span><span·class="nf">error_desc</span><span·class="p"·data-group-id="2931472818-5">(</span><span·class="p"·data-group-id="2931472818-5">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;ErrorDescriptor&#39;</span><span·class="p"·data-group-id="2931472818-6">{</span><span·class="p"·data-group-id="2931472818-6">}</span><span·class="w"> 
148 </span><span·class="nf">segment_no</span><span·class="p"·data-group-id="2931472818-7">(</span><span·class="p"·data-group-id="2931472818-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·654,·SHA:·0a128ebfe91819521506679246c5a30afb0f7930d361554c46cd058a9fa2a7bd·...·]147 </span><span·class="nf">error_desc</span><span·class="p"·data-group-id="5958218444-5">(</span><span·class="p"·data-group-id="5958218444-5">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;ErrorDescriptor[·...·truncated·by·diffoscope;·len:·134,·SHA:·e78d81d6587e8e7df52025f4d8bf3179ccb466f4367bdf6bf0d9558b914bc146·...·]
 148 </span><span·class="nf">segment_no</span><span·class="p"·data-group-id="5958218444-7">(</span><span·class="p"·data-group-id="5958218444-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5958218444-8">(</span><span·class="p"·data-group-id="5958218444-8">)</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">conn_handle</span><span·class="p"·data-group-id="3931970471-1">(</span><span·class="p"·data-group-id="3931970471-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">megaco_conn_handle</span><span·class="p"·data-group-id="3931970471-2">{</span><span·class="p"·data-group-id="3931970471-2">}</span></code></pre><p>The·record·initially·returned·by·<code·class="inline">megaco:connect/4,5</code>.·It·identifies·a·&quot;virtual&quot;
149 connection·and·may·be·reused·after·a·reconnect·(disconnect·+·connect).</p><pre><code·class="text">protocol_version()·=·integer()</code></pre><p>Is·the·actual·protocol·version.·In·most·cases·the·protocol·version·is·retrieved149 connection·and·may·be·reused·after·a·reconnect·(disconnect·+·connect).</p><pre><code·class="text">protocol_version()·=·integer()</code></pre><p>Is·the·actual·protocol·version.·In·most·cases·the·protocol·version·is·retrieved
150 from·the·processed·message,·but·there·are·exceptions:</p><ul><li>When·<code·class="inline">handle_connect/2,3</code>·is·triggered·by·an·explicit·call·to150 from·the·processed·message,·but·there·are·exceptions:</p><ul><li>When·<code·class="inline">handle_connect/2,3</code>·is·triggered·by·an·explicit·call·to
151 <code·class="inline">megaco:connect/4,5</code>.</li><li><a·href="#c:handle_disconnect/3"><code·class="inline">handle_disconnect/3</code></a></li><li><a·href="#c:handle_syntax_error/3"><code·class="inline">handle_syntax_error/3</code></a></li></ul><p>In·these·cases,·the·ProtocolVersion·default·version·is·obtained·from·the·static151 <code·class="inline">megaco:connect/4,5</code>.</li><li><a·href="#c:handle_disconnect/3"><code·class="inline">handle_disconnect/3</code></a></li><li><a·href="#c:handle_syntax_error/3"><code·class="inline">handle_syntax_error/3</code></a></li></ul><p>In·these·cases,·the·ProtocolVersion·default·version·is·obtained·from·the·static
152 connection·configuration:</p><ul><li><code·class="inline">megaco:conn_info(ConnHandle,·protocol_version)</code>.</li></ul>152 connection·configuration:</p><ul><li><code·class="inline">megaco:conn_info(ConnHandle,·protocol_version)</code>.</li></ul>
153 ····</section>153 ····</section>
  
154 </div>154 </div>
Offset 1503, 15 lines modifiedOffset 1503, 15 lines modified
1503 ······<p·class="built-using">1503 ······<p·class="built-using">
1504 ········Built·using1504 ········Built·using
1505 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1505 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1506 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1506 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1507 ······</p>1507 ······</p>
1508 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1508 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1509 ····</footer>1509 ····</footer>
1510 ··</div>1510 ··</div>
1511 </main>1511 </main>
1512 </div>1512 </div>
1513 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1513 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1514 ··<script>1514 ··<script>
1515 ··let·initialized·=·false;1515 ··let·initialized·=·false;
761 B
html2text {}
Max HTML report size reached
1.39 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/notes.html
    
Offset 1034, 15 lines modifiedOffset 1034, 15 lines modified
1034 ······<p·class="built-using">1034 ······<p·class="built-using">
1035 ········Built·using1035 ········Built·using
1036 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1036 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1037 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1037 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1038 ······</p>1038 ······</p>
1039 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1039 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1040 ····</footer>1040 ····</footer>
1041 ··</div>1041 ··</div>
1042 </main>1042 </main>
1043 </div>1043 </div>
1044 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1044 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1045 ··<script>1045 ··<script>
1046 ··let·initialized·=·false;1046 ··let·initialized·=·false;
589 B
html2text {}
Max HTML report size reached
1.74 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/search.html
    
Offset 118, 15 lines modifiedOffset 118, 15 lines modified
118 <div·id="search">118 <div·id="search">
119 ··<h1>119 ··<h1>
120 ····<span></span>120 ····<span></span>
121 ··</h1>121 ··</h1>
  
122 ··<div·class="loading"><div></div><div></div><div></div><div></div></div>122 ··<div·class="loading"><div></div><div></div><div></div><div></div></div>
123 </div>123 </div>
124 <script·src="dist/search_data-B0EDC84D.js"></script>124 <script·src="dist/search_data-85C16899.js"></script>
125 ····<footer·class="footer">125 ····<footer·class="footer">
126 ······<p>126 ······<p>
  
127 ········<span·class="line">127 ········<span·class="line">
128 ··········<button·class="a-main·footer-button·display-quick-switch"·title="Search·HexDocs·packages">128 ··········<button·class="a-main·footer-button·display-quick-switch"·title="Search·HexDocs·packages">
129 ············Search·HexDocs129 ············Search·HexDocs
130 ··········</button>130 ··········</button>
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
461 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/api-reference.html
    
Offset 199, 15 lines modifiedOffset 199, 15 lines modified
199 ······<p·class="built-using">199 ······<p·class="built-using">
200 ········Built·using200 ········Built·using
201 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the201 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
202 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>202 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
203 ······</p>203 ······</p>
204 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>204 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
205 ····</footer>205 ····</footer>
206 ··</div>206 ··</div>
207 </main>207 </main>
208 </div>208 </div>
209 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>209 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
210 ··<script>210 ··<script>
211 ··let·initialized·=·false;211 ··let·initialized·=·false;
669 B
html2text {}
Max HTML report size reached
1.01 MB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia.epub
3.96 KB
zipinfo {}
Max HTML report size reached
134 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:15:48,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:53:54,·uncompressed·size·20,·method=store
9.27 KB
OEBPS/notes.xhtml
Max HTML report size reached
3.64 KB
OEBPS/mnesia_registry.xhtml
Max HTML report size reached
45.4 KB
OEBPS/mnesia_chap7.xhtml
Max HTML report size reached
149 KB
OEBPS/mnesia_chap5.xhtml
Max HTML report size reached
141 KB
OEBPS/mnesia_chap4.xhtml
Max HTML report size reached
52.0 KB
OEBPS/mnesia_chap3.xhtml
Max HTML report size reached
161 KB
OEBPS/mnesia_chap2.xhtml
Max HTML report size reached
70.3 KB
OEBPS/mnesia_app_c.xhtml
Max HTML report size reached
147 KB
OEBPS/mnesia_app_b.xhtml
Max HTML report size reached
64.3 KB
OEBPS/mnesia_app_a.xhtml
Max HTML report size reached
50.6 KB
OEBPS/mnesia.xhtml
Max HTML report size reached
1.23 KB
OEBPS/content.opf
1.19 KB
OEBPS/content.opf
Max HTML report size reached
52.2 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia.html
    
Offset 162, 19 lines modifiedOffset 162, 19 lines modified
162 <code·class="inline">true</code>,·a·majority·of·the·table·replicas·must·be·available·for·an·update·to162 <code·class="inline">true</code>,·a·majority·of·the·table·replicas·must·be·available·for·an·update·to
163 succeed.·Majority·checking·can·be·enabled·on·tables·with·mission-critical163 succeed.·Majority·checking·can·be·enabled·on·tables·with·mission-critical
164 data,·where·it·is·vital·to·avoid·inconsistencies·because·of·network·splits.</p></li><li><p><code·class="inline">snmp</code>.·Each·(set-based)·Mnesia·table·can·be·automatically·turned·into·a164 data,·where·it·is·vital·to·avoid·inconsistencies·because·of·network·splits.</p></li><li><p><code·class="inline">snmp</code>.·Each·(set-based)·Mnesia·table·can·be·automatically·turned·into·a
165 Simple·Network·Management·Protocol·(SNMP)·ordered·table·as·well.·This·property165 Simple·Network·Management·Protocol·(SNMP)·ordered·table·as·well.·This·property
166 specifies·the·types·of·the·SNMP·keys.</p></li><li><p><code·class="inline">attributes</code>.·The·names·of·the·attributes·for·the·records·that·are·inserted·in166 specifies·the·types·of·the·SNMP·keys.</p></li><li><p><code·class="inline">attributes</code>.·The·names·of·the·attributes·for·the·records·that·are·inserted·in
167 the·table.</p></li></ul><p>For·information·about·the·complete·set·of·table·properties·and·their·details,167 the·table.</p></li></ul><p>For·information·about·the·complete·set·of·table·properties·and·their·details,
168 see·<a·href="#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>.</p><p>This·Reference·Manual·uses·a·table·of·persons·to·illustrate·various·examples.168 see·<a·href="#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>.</p><p>This·Reference·Manual·uses·a·table·of·persons·to·illustrate·various·examples.
169 The·following·record·definition·is·assumed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="5249141948-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5249141948-2">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">169 The·following·record·definition·is·assumed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="8299413859-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8299413859-2">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">
170 ·················</span><span·class="ss">age</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">170 ·················</span><span·class="ss">age</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
171 ·················</span><span·class="ss">address</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">unknown</span><span·class="p">,</span><span·class="w">171 ·················</span><span·class="ss">address</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">unknown</span><span·class="p">,</span><span·class="w">
172 ·················</span><span·class="ss">salary</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">172 ·················</span><span·class="ss">salary</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
173 ·················</span><span·class="ss">children</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5249141948-3">[</span><span·class="p"·data-group-id="5249141948-3">]</span><span·class="p"·data-group-id="5249141948-2">}</span><span·class="p"·data-group-id="5249141948-1">)</span><span·class="p">,</span></code></pre><p>The·first·record·attribute·is·the·primary·key,·or·key·for·short.</p><p>The·function·descriptions·are·sorted·in·alphabetical·order.·It·is·recommended·to173 ·················</span><span·class="ss">children</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8299413859-3">[</span><span·class="p"·data-group-id="8299413859-3">]</span><span·class="p"·data-group-id="8299413859-2">}</span><span·class="p"·data-group-id="8299413859-1">)</span><span·class="p">,</span></code></pre><p>The·first·record·attribute·is·the·primary·key,·or·key·for·short.</p><p>The·function·descriptions·are·sorted·in·alphabetical·order.·It·is·recommended·to
174 start·to·read·about·<a·href="#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>,·<a·href="#lock/2"><code·class="inline">mnesia:lock/2</code></a>,·and174 start·to·read·about·<a·href="#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>,·<a·href="#lock/2"><code·class="inline">mnesia:lock/2</code></a>,·and
175 ·<a·href="#activity/4"><code·class="inline">mnesia:activity/4</code></a>·before·you·continue·and·learn·about·the·rest.</p><p>Writing·or·deleting·in·transaction-context·creates·a·local·copy·of·each·modified175 ·<a·href="#activity/4"><code·class="inline">mnesia:activity/4</code></a>·before·you·continue·and·learn·about·the·rest.</p><p>Writing·or·deleting·in·transaction-context·creates·a·local·copy·of·each·modified
176 record·during·the·transaction.·During·iteration,·that·is,·<a·href="#foldl/4"><code·class="inline">mnesia:foldl/4</code></a>,176 record·during·the·transaction.·During·iteration,·that·is,·<a·href="#foldl/4"><code·class="inline">mnesia:foldl/4</code></a>,
177 <a·href="#foldr/4"><code·class="inline">mnesia:foldr/4</code></a>,·<a·href="#next/2"><code·class="inline">mnesia:next/2</code></a>,·<a·href="#prev/2"><code·class="inline">mnesia:prev/2</code></a>,·and·<a·href="#snmp_get_next_index/2"><code·class="inline">mnesia:snmp_get_next_index/2</code></a>,·Mnesia177 <a·href="#foldr/4"><code·class="inline">mnesia:foldr/4</code></a>,·<a·href="#next/2"><code·class="inline">mnesia:next/2</code></a>,·<a·href="#prev/2"><code·class="inline">mnesia:prev/2</code></a>,·and·<a·href="#snmp_get_next_index/2"><code·class="inline">mnesia:snmp_get_next_index/2</code></a>,·Mnesia
178 compensates·for·every·written·or·deleted·record,·which·can·reduce·the178 compensates·for·every·written·or·deleted·record,·which·can·reduce·the
179 performance.</p><p>If·possible,·avoid·writing·or·deleting·records·in·the·same·transaction·before179 performance.</p><p>If·possible,·avoid·writing·or·deleting·records·in·the·same·transaction·before
180 iterating·over·the·table.</p><h2·id="module-configuration-parameters"·class="section-heading">180 iterating·over·the·table.</p><h2·id="module-configuration-parameters"·class="section-heading">
Offset 2793, 15 lines modifiedOffset 2793, 15 lines modified
  
2793 ······<div·class="specs">2793 ······<div·class="specs">
  
2794 ··········<pre·translate="no"><span·class="attribute">-spec</span>·change_table_copy_type(Tab·::·<a·href="#t:table/0">table</a>(),·Node·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:node/0">node</a>(),·To·::·<a·href="#t:storage_type/0">storage_type</a>())·->·<a·href="#t:t_result/1">t_result</a>(ok).</pre>2794 ··········<pre·translate="no"><span·class="attribute">-spec</span>·change_table_copy_type(Tab·::·<a·href="#t:table/0">table</a>(),·Node·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:node/0">node</a>(),·To·::·<a·href="#t:storage_type/0">storage_type</a>())·->·<a·href="#t:t_result/1">t_result</a>(ok).</pre>
  
2795 ······</div>2795 ······</div>
  
2796 <p>Change·the·storage·type·of·a·table.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">change_table_copy_type</span><span·class="p"·data-group-id="3005110115-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">node</span><span·class="p"·data-group-id="3005110115-2">(</span><span·class="p"·data-group-id="3005110115-2">)</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·102,·SHA:·c61d9f7315d4313d6e0bef590db0ba3e6a71adedb27620fdaa32643c9646eb10·...·]-1">)</span></code></pre><p>Transforms·the·<code·class="inline">person</code>·table·from·a·RAM·table·into·a·disc-based·table·at2796 <p>Change·the·storage·type·of·a·table.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">change_table_copy_type</span><span·class="p"·data-group-id="6731814220-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">node</span><span·class="p"·data-group-id="6731814220-2">(</span><span·class="p"·data-group-id="6731814220-2">)</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·102,·SHA:·b65fc6ef5379023fd282bf8e4f41624273a990f91344d13dde33af8f5cbb3762·...·]-1">)</span></code></pre><p>Transforms·the·<code·class="inline">person</code>·table·from·a·RAM·table·into·a·disc-based·table·at
2797 <code·class="inline">Node</code>.</p><p>This·function·can·also·be·used·to·change·the·storage·type·of·the·table·named2797 <code·class="inline">Node</code>.</p><p>This·function·can·also·be·used·to·change·the·storage·type·of·the·table·named
2798 <code·class="inline">schema</code>.·The·schema·table·can·only·have·<code·class="inline">ram_copies</code>·or·<code·class="inline">disc_copies</code>·as·the2798 <code·class="inline">schema</code>.·The·schema·table·can·only·have·<code·class="inline">ram_copies</code>·or·<code·class="inline">disc_copies</code>·as·the
2799 storage·type.·If·the·storage·type·of·the·schema·is·<code·class="inline">ram_copies</code>,·no·other·table2799 storage·type.·If·the·storage·type·of·the·schema·is·<code·class="inline">ram_copies</code>,·no·other·table
2800 can·be·disc-resident·on·that·node.</p>2800 can·be·disc-resident·on·that·node.</p>
2801 ··</section>2801 ··</section>
2802 </section>2802 </section>
2803 <section·class="detail"·id="change_table_frag/2">2803 <section·class="detail"·id="change_table_frag/2">
Offset 3032, 30 lines modifiedOffset 3032, 30 lines modified
3032 Therefore·applications·that·use·SNMP·to·manipulate·and·control·the·system·can3032 Therefore·applications·that·use·SNMP·to·manipulate·and·control·the·system·can
3033 be·designed·easily,·since·Mnesia·provides·a·direct·mapping·between·the·logical3033 be·designed·easily,·since·Mnesia·provides·a·direct·mapping·between·the·logical
3034 tables·that·make·up·an·SNMP·control·application·and·the·physical·data·that3034 tables·that·make·up·an·SNMP·control·application·and·the·physical·data·that
3035 makes·up·a·Mnesia·table.</p></li><li><p><code·class="inline">{storage_properties,·[{Backend,·Properties}]</code>·forwards·more·properties·to·the3035 makes·up·a·Mnesia·table.</p></li><li><p><code·class="inline">{storage_properties,·[{Backend,·Properties}]</code>·forwards·more·properties·to·the
3036 back·end·storage.·<code·class="inline">Backend</code>·can·currently·be·<code·class="inline">ets</code>·or·<code·class="inline">dets</code>.·<code·class="inline">Properties</code>·is3036 back·end·storage.·<code·class="inline">Backend</code>·can·currently·be·<code·class="inline">ets</code>·or·<code·class="inline">dets</code>.·<code·class="inline">Properties</code>·is
3037 a·list·of·options·sent·to·the·back·end·storage·during·table·creation.3037 a·list·of·options·sent·to·the·back·end·storage·during·table·creation.
3038 <code·class="inline">Properties</code>·cannot·contain·properties·already·used·by·Mnesia,·such·as·<code·class="inline">type</code>3038 <code·class="inline">Properties</code>·cannot·contain·properties·already·used·by·Mnesia,·such·as·<code·class="inline">type</code>
3039 or·<code·class="inline">named_table</code>.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="0553299385-1">(</span><span·class="ss">table</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0553299385-2">[</span><span·class="p"·data-group-id="0553299385-3">{</span><span·class="ss">ram_copies</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·689,·SHA:·43a90b5ce30688b09dbde6efd75c49f670355a92044771f2b6f9e80ba57eb2ac·...·]-6">}</span><span·class="p">,</span><span·class="w">3039 or·<code·class="inline">named_table</code>.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="6957942746-1">(</span><span·class="ss">table</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6957942746-2">[</span><span·class="p"·data-group-id="6957942746-3">{</span><span·class="ss">ram_copies</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·689,·SHA:·41aa9f2a6cc633f6294524dd78057f2dc1f04124f19c18e01642f3f8bd491f57·...·]-6">}</span><span·class="p">,</span><span·class="w">
3040 ·······</span><span·class="p"·data-group-id="0553299385-8">{</span><span·class="ss">storage_properties</span><span·class="p">,</span><span·class="w">3040 ·······</span><span·class="p"·data-group-id="6957942746-8">{</span><span·class="ss">storage_properties</span><span·class="p">,</span><span·class="w">
3041 ········</span><span·class="p"·data-group-id="0553299385-9">[</span><span·class="p"·data-group-id="0553299385-10">{</span><span·class="ss">ets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0553299385-11">[</span><span·class="ss">compressed</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·872,·SHA:·29deea91b7b44cd923aede2642ba1ee0b8fe70cfb3347c8d8dc5bf676b2a6e76·...·]-1">)</span></code></pre></li><li><p><code·class="inline">{type,·Type}</code>,·where·<code·class="inline">Type</code>·must·be·either·of·the·atoms·<code·class="inline">set</code>,·<code·class="inline">ordered_set</code>,3041 ········</span><span·class="p"·data-group-id="6957942746-9">[</span><span·class="p"·data-group-id="6957942746-10">{</span><span·class="ss">ets</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6957942746-11">[</span><span·class="ss">compressed</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·872,·SHA:·e5141e417cd9f495a71dfd7f7150286d12a4ff0a4d373c6ccacafab075c52c5b·...·]-1">)</span></code></pre></li><li><p><code·class="inline">{type,·Type}</code>,·where·<code·class="inline">Type</code>·must·be·either·of·the·atoms·<code·class="inline">set</code>,·<code·class="inline">ordered_set</code>,
3042 or·<code·class="inline">bag</code>.·Default·is·<code·class="inline">set</code>.·In·a·<code·class="inline">set</code>,·all·records·have·unique·keys.·In·a3042 or·<code·class="inline">bag</code>.·Default·is·<code·class="inline">set</code>.·In·a·<code·class="inline">set</code>,·all·records·have·unique·keys.·In·a
3043 <code·class="inline">bag</code>,·several·records·can·have·the·same·key,·but·the·record·content·is3043 <code·class="inline">bag</code>,·several·records·can·have·the·same·key,·but·the·record·content·is
3044 unique.·If·a·non-unique·record·is·stored,·the·old·conflicting·records·are3044 unique.·If·a·non-unique·record·is·stored,·the·old·conflicting·records·are
3045 overwritten.</p><p>Notice·that·currently·<code·class="inline">ordered_set</code>·is·not·supported·for·<code·class="inline">disc_only_copies</code>.</p></li><li><p><code·class="inline">{local_content,·Bool}</code>,·where·<code·class="inline">Bool</code>·is·<code·class="inline">true</code>·or·<code·class="inline">false</code>.·Default·is3045 overwritten.</p><p>Notice·that·currently·<code·class="inline">ordered_set</code>·is·not·supported·for·<code·class="inline">disc_only_copies</code>.</p></li><li><p><code·class="inline">{local_content,·Bool}</code>,·where·<code·class="inline">Bool</code>·is·<code·class="inline">true</code>·or·<code·class="inline">false</code>.·Default·is
3046 <code·class="inline">false</code>.</p></li></ul><p>For·example,·the·following·call·creates·the·<code·class="inline">person</code>·table·(defined·earlier)·and3046 <code·class="inline">false</code>.</p></li></ul><p>For·example,·the·following·call·creates·the·<code·class="inline">person</code>·table·(defined·earlier)·and
3047 replicates·it·on·two·nodes:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9131156106-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">3047 replicates·it·on·two·nodes:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="1705299702-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">
3048 ····</span><span·class="p"·data-group-id="9131156106-2">[</span><span·class="p"·data-group-id="9131156106-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9131156106-4">[</span><span·class="n">N1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N2</span><span·class="p"·data-group-id="9131156106-4">]</span><span·class="p"·data-group-id="9131156106-3">}</span><span·class="p">,</span><span·class="w"> 
3049 ·····</span><span·class="p"·data-group-id="9131156106-5">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="9131156106-6">(</span><span·class="ss">fields</[·...·truncated·by·diffoscope;·len:·412,·SHA:·797f993afa3a86fa667e2b02f59d9df0cbe43241212ef4f08df8044038174549·...·]3048 ····</span><span·class="p"·data-group-id="1705299702-2">[</span><span·class="p"·data-group-id="1705299702-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1705299702-4">[</span><span·cl[·...·truncated·by·diffoscope;·len:·236,·SHA:·92ce58a0adeaa670af92f74c89b3f1dc809c8291affabbeb86513b6f5ea35d78·...·]
 3049 ·····</span><span·class="p"·data-group-id="1705299702-5">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="1705299702-6">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">person</span><span·class="p"·data-group-id="1705299702-6">)</span><span·class="p"·data-group-id="1705299702-5">}</span><span·class="p"·data-group-id="1705299702-2">]</span><span·class="p"·data-group-id="1705299702-1">)</span><span·class="p">.</span></code></pre><p>If·it·is·required·that·Mnesia·must·build·and·maintain·an·extra·index·table·on
3050 attribute·<code·class="inline">address</code>·of·all·the·<code·class="inline">person</code>·records·that·are·inserted·in·the·table,3050 attribute·<code·class="inline">address</code>·of·all·the·<code·class="inline">person</code>·records·that·are·inserted·in·the·table,
3051 the·following·code·would·be·issued:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="0137942569-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">3051 the·following·code·would·be·issued:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="6932759486-1">(</span><span·class="ss">person</span><span·class="p">,</span><span·class="w">
3052 ····</span><span·class="p"·data-group-id="0137942569-2">[</span><span·class="p"·data-group-id="0137942569-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0137942569-4">[</span><span·class="n">N1</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·146,·SHA:·a5c7f7a29d16c2003633f3fb8fa1e13d8fdd83529395675d5f9eaa747cfba3f4·...·]-3">}</span><span·class="p">,</span><span·class="w">3052 ····</span><span·class="p"·data-group-id="6932759486-2">[</span><span·class="p"·data-group-id="6932759486-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6932759486-4">[</span><span·class="n">N1</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·146,·SHA:·cd0140fb71f81b0038cb8ff5cfe7a42da1490fa06466498b6194009abe107b51·...·]-3">}</span><span·class="p">,</span><span·class="w">
3053 ·····</span><span·class="p"·data-group-id="0137942569-5">{</span><span·class="ss">index</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0137942569-6">[</span><span·class="ss">address</span><span·class="p"·data-group-id="0137942569-6">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·da60eceb3e2af2e76918ac3a49bdf4915a6a33530fdf45c65fd4398fcc60f256·...·]-5">}</span><span·class="p">,</span><span·class="w">3053 ·····</span><span·class="p"·data-group-id="6932759486-5">{</span><span·class="ss">index</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6932759486-6">[</span><span·class="ss">address</span><span·class="p"·data-group-id="6932759486-6">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·87250d6dd59d8727895c046f563328a1da1069edb910b6727881de6afaa28d69·...·]-5">}</span><span·class="p">,</span><span·class="w">
3054 ·····</span><span·class="p"·data-group-id="0137942569-7">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="0137942569-8">(</span><span·class="ss">fields</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·244,·SHA:·dbbb335e90997b53f583f9f84bcfab1297d711c115317833ed4afc4532462fcf·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·specification·of·<code·class="inline">index</code>·and·<code·class="inline">attributes</code>·can·be·hard-coded·as3054 ·····</span><span·class="p"·data-group-id="6932759486-7">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="6932759486-8">(</span><span·class="ss">fields</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·244,·SHA:·340840693b91995c05ae42423b307b5767d314f0f3986eb21416ca19bc65e736·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·specification·of·<code·class="inline">index</code>·and·<code·class="inline">attributes</code>·can·be·hard-coded·as
3055 <code·class="inline">{index,·[2]}</code>·and·<code·class="inline">{attributes,·[name,·age,·address,·salary,·children]}</code>,3055 <code·class="inline">{index,·[2]}</code>·and·<code·class="inline">{attributes,·[name,·age,·address,·salary,·children]}</code>,
3056 respectively.</p><p><a·href="#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>·writes·records·into·the·table·<code·class="inline">schema</code>.·This·function,3056 respectively.</p><p><a·href="#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>·writes·records·into·the·table·<code·class="inline">schema</code>.·This·function,
3057 and·all·other·schema·manipulation·functions,·are·implemented·with·the·normal3057 and·all·other·schema·manipulation·functions,·are·implemented·with·the·normal
3058 transaction·management·system.·This·guarantees·that·schema·updates·are·performed3058 transaction·management·system.·This·guarantees·that·schema·updates·are·performed
3059 on·all·nodes·in·an·atomic·manner.</p>3059 on·all·nodes·in·an·atomic·manner.</p>
3060 ··</section>3060 ··</section>
3061 </section>3061 </section>
Offset 5155, 18 lines modifiedOffset 5155, 18 lines modified
5155 ······</div>5155 ······</div>
  
5156 <p>Select·the·objects·in·<code·class="inline">Tab</code>·against·<code·class="inline">MatchSpec</code>.</p><p>Matches·the·objects·in·table·<code·class="inline">Tab</code>·using·a·<code·class="inline">match_spec</code>·as·described·in·the5156 <p>Select·the·objects·in·<code·class="inline">Tab</code>·against·<code·class="inline">MatchSpec</code>.</p><p>Matches·the·objects·in·table·<code·class="inline">Tab</code>·using·a·<code·class="inline">match_spec</code>·as·described·in·the
5157 <a·href="../../../../lib/stdlib-7.0/doc/html/ets.html#select/3"><code·class="inline">ets:select/3</code></a>.·Optionally·a·lock·<code·class="inline">read</code>·or·<code·class="inline">write</code>·can·be·given·as·the·third5157 <a·href="../../../../lib/stdlib-7.0/doc/html/ets.html#select/3"><code·class="inline">ets:select/3</code></a>.·Optionally·a·lock·<code·class="inline">read</code>·or·<code·class="inline">write</code>·can·be·given·as·the·third
5158 argument.·Default·is·<code·class="inline">read</code>.·The·return·value·depends·on·<code·class="inline">MatchSpec</code>.</p><p>Notice·that·for·best·performance,·<code·class="inline">select</code>·is·to·be·used·before·any·modifying5158 argument.·Default·is·<code·class="inline">read</code>.·The·return·value·depends·on·<code·class="inline">MatchSpec</code>.</p><p>Notice·that·for·best·performance,·<code·class="inline">select</code>·is·to·be·used·before·any·modifying
5159 operations·are·done·on·that·table·in·the·same·transaction.·That·is,·do·not·use5159 operations·are·done·on·that·table·in·the·same·transaction.·That·is,·do·not·use
5160 <code·class="inline">write</code>·or·<code·class="inline">delete</code>·before·a·<code·class="inline">select</code>.</p><p>In·its·simplest·forms,·the·<code·class="inline">match_spec</code>·look·as·follows:</p><ul><li><code·class="inline">MatchSpec·=·[MatchFunction]</code></li><li><code·class="inline">MatchFunction·=·{MatchHead,·[Guard],·[Result]}</code></li><li><p><code·class="inline">MatchHead·=·tuple()·|·record()</code></p></li><li><code·class="inline">Guard·=·{&quot;Guardtest·name&quot;,·...}</code></li><li><code·class="inline">Result·=·&quot;Term·construct&quot;</code></li></ul><p>For·a·complete·description·of·<code·class="inline">select</code>,·see·the·<a·href="../../../../erts-16.0/doc/html/index.html">ERTS</a>5160 <code·class="inline">write</code>·or·<code·class="inline">delete</code>·before·a·<code·class="inline">select</code>.</p><p>In·its·simplest·forms,·the·<code·class="inline">match_spec</code>·look·as·follows:</p><ul><li><code·class="inline">MatchSpec·=·[MatchFunction]</code></li><li><code·class="inline">MatchFunction·=·{MatchHead,·[Guard],·[Result]}</code></li><li><p><code·class="inline">MatchHead·=·tuple()·|·record()</code></p></li><li><code·class="inline">Guard·=·{&quot;Guardtest·name&quot;,·...}</code></li><li><code·class="inline">Result·=·&quot;Term·construct&quot;</code></li></ul><p>For·a·complete·description·of·<code·class="inline">select</code>,·see·the·<a·href="../../../../erts-16.0/doc/html/index.html">ERTS</a>
5161 User's·Guide·and·the·<a·href="../../../../lib/stdlib-7.0/doc/html/ets.html"><code·class="inline">ets</code></a>·manual·page·in·STDLIB.</p><p>For·example,·to·find·the·names·of·all·male·persons·older·than·30·in·table·<code·class="inline">Tab</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">MatchHead</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="8558821723-1">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">sex</span><span·class="o">=</span><span·class="ss">male</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·288,·SHA:·713804517900be1ac558b4cf941085cc9d8bb8b225870404fd749f270218cdd4·...·]-1">}</span><span·class="p">,</span><span·class="w">5161 User's·Guide·and·the·<a·href="../../../../lib/stdlib-7.0/doc/html/ets.html"><code·class="inline">ets</code></a>·manual·page·in·STDLIB.</p><p>For·example,·to·find·the·names·of·all·male·persons·older·than·30·in·table·<code·class="inline">Tab</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">MatchHead</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="9548552918-1">{</span><span·class="ss">name</span><span·class="o">=</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">sex</span><span·class="o">=</span><span·class="ss">male</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·288,·SHA:·9d76b24de54215f48db6c3f883f8f6b5c2b092f088889d0688b7462fec40af5c·...·]-1">}</span><span·class="p">,</span><span·class="w">
5162 </span><span·class="n">Guard</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8558821723-2">{</span><span·class="ss">&#39;&gt;&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">30</span><span·class="p"·data-group-id="8558821[·...·truncated·by·diffoscope;·len:·3,·SHA:·07e46896ba89f88776fed50a1b7895129f9b9af7d3b8b33ca23af478bb818d6c·...·]-2">}</span><span·class="p">,</span><span·class="w">5162 </span><span·class="n">Guard</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9548552918-2">{</span><span·class="ss">&#39;&gt;&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">30</span><span·class="p"·data-group-id="9548552[·...·truncated·by·diffoscope;·len:·3,·SHA:·4779bc407343d916c5a4f6a996174046419bdd87ce6c609054dc8788b3dfc233·...·]-2">}</span><span·class="p">,</span><span·class="w">
5163 </span><span·class="n">Result</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">5163 </span><span·class="n">Result</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">
5164 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="8558821723-3">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="p"·data-group-id="8558821723-4">[</span><span·class="p"·data-group-id="8558821723-5">{</span><span·class="n">MatchHead</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·466,·SHA:·b9c6d9dcf3e62db718d2fc04a93df3a27bb0b134f40166a12346a071d41626db·...·]-3">)</span><span·class="p">,</span></code></pre>5164 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="9548552918-3">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="p"·data-group-id="9548552918-4">[</span><span·class="p"·data-group-id="9548552918-5">{</span><span·class="n">MatchHead</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·466,·SHA:·84086c33c24342defc815dbdcc1b8838deed3ed5dd4d5b8dfe1252c972a23e64·...·]-3">)</span><span·class="p">,</span></code></pre>
5165 ··</section>5165 ··</section>
5166 </section>5166 </section>
5167 <section·class="detail"·id="select/4">5167 <section·class="detail"·id="select/4">
  
5168 ··<div·class="detail-header">5168 ··<div·class="detail-header">
5169 ····<a·href="#select/4"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">5169 ····<a·href="#select/4"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
5170 ······<i·class="ri-link-m"·aria-hidden="true"></i>5170 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 5435, 17 lines modifiedOffset 5435, 17 lines modified
5435 information·needed·is·information·about·the·key·types·in·the·table.·Multiple5435 information·needed·is·information·about·the·key·types·in·the·table.·Multiple
5436 keys·cannot·be·handled·in·Mnesia,·but·many·SNMP·tables·have·multiple·keys.5436 keys·cannot·be·handled·in·Mnesia,·but·many·SNMP·tables·have·multiple·keys.
5437 Therefore,·the·following·convention·is·used:·if·a·table·has·multiple·keys,·these5437 Therefore,·the·following·convention·is·used:·if·a·table·has·multiple·keys,·these
5438 must·always·be·stored·as·a·tuple·of·the·keys.·Information·about·the·key·types·is5438 must·always·be·stored·as·a·tuple·of·the·keys.·Information·about·the·key·types·is
5439 specified·as·a·tuple·of·atoms·describing·the·types.·The·only·significant·type·is5439 specified·as·a·tuple·of·atoms·describing·the·types.·The·only·significant·type·is
5440 <code·class="inline">fix_string</code>.·This·means·that·a·string·has·a·fixed·size.</p><p>For·example,·the·following·causes·table·<code·class="inline">person</code>·to·be·ordered·as·an·SNMP·table:</p><pre><code·class="text">mnesia:snmp_open_table(person,·[{key,·string}])</code></pre><p>Consider·the·following·schema·for·a·table·of·company·employees.·Each·employee·is5440 <code·class="inline">fix_string</code>.·This·means·that·a·string·has·a·fixed·size.</p><p>For·example,·the·following·causes·table·<code·class="inline">person</code>·to·be·ordered·as·an·SNMP·table:</p><pre><code·class="text">mnesia:snmp_open_table(person,·[{key,·string}])</code></pre><p>Consider·the·following·schema·for·a·table·of·company·employees.·Each·employee·is
5441 identified·by·department·number·and·name.·The·other·table·column·stores·the5441 identified·by·department·number·and·name.·The·other·table·column·stores·the
5442 telephone·number:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9784299338-1">(</span><span·class="ss">employee</span><span·class="p">,</span><span·class="w">5442 telephone·number:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="0839296109-1">(</span><span·class="ss">employee</span><span·class="p">,</span><span·class="w">
5443 ····</span><span·class="p"·data-group-id="9784299338-2">[</span><span·class="p"·data-group-id="9784299338-3">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9784299338-4">[</span><span·class="p"·data-group-id="9784299338-5">{</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9784299338-6">{</span><span·class="ss">integer</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">string</span><span·class="p"·data-group-id="9784299338-6">}</span><span·class="p"·data-group-id="9784299338-5">}</span><span·class="p"·data-group-id="9784299338-4">]</span><span·class="p"·data-group-id="9784299338-3">}</span><span·class="p">,</span><span·class="w"> 
5444 ·····</span><span·class="p"·data-group-id="9784299338-7">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="9784299338-8">(</span><span·class="ss">fields</[·...·truncated·by·diffoscope;·len:·470,·SHA:·1a2b2a7d2f3372afd8646a39dc5e638c219055b32472695a51d1fbf84e274e2f·...·]5443 ····</span><span·class="p"·data-group-id="0839296109-2">[</span><span·class="p"·data-group-id="0839296109-3">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0839296109-4">[</span><span·class="p[·...·truncated·by·diffoscope;·len:·528,·SHA:·de72c4dbb500e9fe4a67d264273b2fce2da14f417468d34c5fb542d52b1dcf67·...·]
 5444 ·····</span><span·class="p"·data-group-id="0839296109-7">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="0839296109-8">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">employees</span><span·class="p"·data-group-id="0839296109-8">)</span><span·class="p"·data-group-id="0839296109-7">}</span><span·class="p"·data-group-id="0839296109-2">]</span><span·class="p"·data-group-id="0839296109-1">)</span><span·class="p">,</span></code></pre><p>The·corresponding·SNMP·table·would·have·three·columns:·<code·class="inline">department</code>,·<code·class="inline">name</code>,·and
5445 <code·class="inline">telno</code>.</p><p>An·option·is·to·have·table·columns·that·are·not·visible·through·the·SNMP5445 <code·class="inline">telno</code>.</p><p>An·option·is·to·have·table·columns·that·are·not·visible·through·the·SNMP
5446 protocol.·These·columns·must·be·the·last·columns·of·the·table.·In·the·previous5446 protocol.·These·columns·must·be·the·last·columns·of·the·table.·In·the·previous
5447 example,·the·SNMP·table·could·have·columns·<code·class="inline">department</code>·and·<code·class="inline">name</code>·only.·The5447 example,·the·SNMP·table·could·have·columns·<code·class="inline">department</code>·and·<code·class="inline">name</code>·only.·The
5448 application·could·then·use·column·<code·class="inline">telno</code>·internally,·but·it·would·not·be5448 application·could·then·use·column·<code·class="inline">telno</code>·internally,·but·it·would·not·be
5449 visible·to·the·SNMP·managers.</p><p>In·a·table·monitored·by·SNMP,·all·elements·must·be·integers,·strings,·or·lists5449 visible·to·the·SNMP·managers.</p><p>In·a·table·monitored·by·SNMP,·all·elements·must·be·integers,·strings,·or·lists
5450 of·integers.</p><p>When·a·table·is·SNMP·ordered,·modifications·are·more·expensive·than·usual,5450 of·integers.</p><p>When·a·table·is·SNMP·ordered,·modifications·are·more·expensive·than·usual,
5451 O(logN).·Also,·more·memory·is·used.</p><p>Notice·that·only·the·lexicographical·SNMP·ordering·is·implemented·in·Mnesia,·not5451 O(logN).·Also,·more·memory·is·used.</p><p>Notice·that·only·the·lexicographical·SNMP·ordering·is·implemented·in·Mnesia,·not
Offset 6008, 43 lines modifiedOffset 6008, 43 lines modified
  
6008 <p>Execute·<code·class="inline">Fun</code>·with·arguments·<code·class="inline">Args</code>·as·a·transaction.</p><p>The·code·that·executes·inside·the·transaction·can·consist·of·a·series·of·table6008 <p>Execute·<code·class="inline">Fun</code>·with·arguments·<code·class="inline">Args</code>·as·a·transaction.</p><p>The·code·that·executes·inside·the·transaction·can·consist·of·a·series·of·table
6009 manipulation·functions.·If·something·goes·wrong·inside·the·transaction·as·a6009 manipulation·functions.·If·something·goes·wrong·inside·the·transaction·as·a
6010 result·of·a·user·error·or·a·certain·table·not·being·available,·the·entire6010 result·of·a·user·error·or·a·certain·table·not·being·available,·the·entire
6011 transaction·is·terminated·and·the·function·<a·href="#transaction/1"><code·class="inline">transaction/1</code></a>6011 transaction·is·terminated·and·the·function·<a·href="#transaction/1"><code·class="inline">transaction/1</code></a>
6012 returns·the·tuple·<code·class="inline">{aborted,·Reason}</code>.</p><p>If·all·is·going·well,·<code·class="inline">{atomic,·ResultOfFun}</code>·is·returned,·where·<code·class="inline">ResultOfFun</code>6012 returns·the·tuple·<code·class="inline">{aborted,·Reason}</code>.</p><p>If·all·is·going·well,·<code·class="inline">{atomic,·ResultOfFun}</code>·is·returned,·where·<code·class="inline">ResultOfFun</code>
6013 is·the·value·of·the·last·expression·in·<code·class="inline">Fun</code>.</p><p>A·function·that·adds·a·family·to·the·database·can·be·written·as·follows·if·there6013 is·the·value·of·the·last·expression·in·<code·class="inline">Fun</code>.</p><p>A·function·that·adds·a·family·to·the·database·can·be·written·as·follows·if·there
6014 is·a·structure·<code·class="inline">{family,·Father,·Mother,·ChildrenList}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_family</span><span·class="p"·data-group-id="3797661226-1">(</span><span·class="p"·data-group-id="3797661226-2">{</span><span·class="ss">family</span><span·class="p">,</span><span·class="w">·</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·c[·...·truncated·by·diffoscope;·len:·166,·SHA:·44e7412fde13b27c05d86a7475e9061ea9fa4e97108197d5ad206de200f5be16·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">6014 is·a·structure·<code·class="inline">{family,·Father,·Mother,·ChildrenList}</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">add_family</span><span·class="p"·data-group-id="7214776459-1">(</span><span·class="p"·data-group-id="7214776459-2">{</span><span·class="ss">family</span><span·class="p">,</span><span·class="w">·</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·c[·...·truncated·by·diffoscope;·len:·166,·SHA:·fa99b5ed1af3c7a3f3af7f4a6ab4b432cfd3eda8a78e7572c4ee5dda0f5dfcc9·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
6015 ····</span><span·class="n">ChildOids</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="3797661226-3">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">oid</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Children</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·f799ba2a99b4584d84589b5ff5dd72212519754c90a4cb8a10b4fbdf6eced8cb·...·]-3">)</span><span·class="p">,</span><span·class="w">6015 ····</span><span·class="n">ChildOids</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="7214776459-3">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">oid</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Children</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·dc409591cf534bf786cc09fb360cac06fc7e5eb09f5afc8d04ba7b49f67dbef8·...·]-3">)</span><span·class="p">,</span><span·class="w">
6016 ····</span><span·class="n">Trans</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3797661226-4">(</span><span·class="p"·data-group-id="3797661226-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">6016 ····</span><span·class="n">Trans</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="7214776459-4">(</span><span·class="p"·data-group-id="7214776459-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
6017 ········</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="3797661226-5">(</span><span·class="n">F</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="3797661226-6">{</span><span·class="ss">children</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">ChildOids</span><span·class="p"·data-group-id="3797661226-6">}</span><span·class="p"·data-group-id="3797661226-5">)</span><span·class="p">,</span><span·class="w"> 
6018 ········</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="3797661226-7">(</span><span·class="n">M</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="3797661226-8">{</span><span·class="ss">children</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·129,·SHA:·e4105d633fea8479f77dde6497074330e417e99782fc3bfe26842ade54bcf980·...·]">)</span><span·class="p">,</span><span·class="w">6017 ········</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="7214776459-5">(</span><span·class="n">F</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="7214776459-6">{</span><span·class="ss">children</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·129,·SHA:·a6d9b1bbe582caedcb5b8ee2cb8a5914a5f5c588d795bda72d28a64b7586433a·...·]">)</span><span·class="p">,</span><span·class="w">
 6018 ········</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="7214776459-7">(</span><span·class="n">M</span><span·class="o">#</span><span·class="ss">person</span><span·class="p"·data-group-id="7214776459-8">{</span><span·class="ss">children</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">ChildOids</span><span·class="p"·data-group-id="7214776459-8">}</span><span·class="p"·data-group-id="7214776459-7">)</span><span·class="p">,</span><span·class="w">
6019 ········</span><span·class="n">Write</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3797661226-9">(</span><span·class="n">Child</span><span·class="p"·data-group-id="3797661226-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write<[·...·truncated·by·diffoscope;·len:·129,·SHA:·ef0cb4c2db1f34dbccacb2211d09d9761dcb5d442d87210d2231eeea6dabf195·...·]-10">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">6019 ········</span><span·class="n">Write</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="7214776459-9">(</span><span·class="n">Child</span><span·class="p"·data-group-id="7214776459-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write<[·...·truncated·by·diffoscope;·len:·129,·SHA:·74ec508587e3265e71685ae80f46a1fe91846adffd4cc8ede7af24454527c851·...·]-10">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
6020 ········</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foreach</span><span·class="p"·data-group-id="3797661226-11">(</span><span·class="n">Write</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Children</span><span·class="p"·data-group-id="3797661226-11">)</span><span·class="w">6020 ········</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foreach</span><span·class="p"·data-group-id="7214776459-11">(</span><span·class="n">Write</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Children</span><span·class="p"·data-group-id="7214776459-11">)</span><span·class="w">
6021 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">6021 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
6022 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">transaction</span><span·class="p"·data-group-id="3797661226-12">(</span><span·class="n">Trans</span><span·class="p"·data-group-id="3797661226-12">)</span><span·class="p">.</span><span·class="w">6022 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">transaction</span><span·class="p"·data-group-id="7214776459-12">(</span><span·class="n">Trans</span><span·class="p"·data-group-id="7214776459-12">)</span><span·class="p">.</span><span·class="w">
  
6023 </span><span·class="nf">oid</span><span·class="p"·data-group-id="3797661226-13">(</span><span·class="n">Rec</span><span·class="p"·data-group-id="3797661226-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3797661226-14">{</span><span·class="nf">elemen[·...·truncated·by·diffoscope;·len:·542,·SHA:·e7a72d5678a8fd977dd25fd6c513110ab788625da14a9c12e94863a80dcf50c6·...·]-14">}</span><span·class="p">.</span></code></pre><p>This·code·adds·a·set·of·people·to·the·database.·Running·this·code·within·one6023 </span><span·class="nf">oid</span><span·class="p"·data-group-id="7214776459-13">(</span><span·class="n">Rec</span><span·class="p"·data-group-id="7214776459-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7214776459-14">{</span><span·class="nf">elemen[·...·truncated·by·diffoscope;·len:·542,·SHA:·4b1ab98ed05abdd8006c3a762a2e9875b79677a9a3c2e8726acbcc94aa890cad·...·]-14">}</span><span·class="p">.</span></code></pre><p>This·code·adds·a·set·of·people·to·the·database.·Running·this·code·within·one
6024 transaction·ensures·that·either·the·whole·family·is·added·to·the·database,·or6024 transaction·ensures·that·either·the·whole·family·is·added·to·the·database,·or
6025 the·whole·transaction·terminates.·For·example,·if·the·last·child·is·badly6025 the·whole·transaction·terminates.·For·example,·if·the·last·child·is·badly
Max diff block lines reached; 7981/52521 bytes (15.20%) of diff not shown.
769 B
html2text {}
Max HTML report size reached
65.9 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_app_a.html
    
Offset 155, 160 lines modifiedOffset 155, 160 lines modified
155 </span><span·class="c1">%%</span><span·class="w">155 </span><span·class="c1">%%</span><span·class="w">
156 </span><span·class="c1">%%·The·NewOpaqueData·arguments·returned·by·restore·callback·functions·will</span><span·class="w">156 </span><span·class="c1">%%·The·NewOpaqueData·arguments·returned·by·restore·callback·functions·will</span><span·class="w">
157 </span><span·class="c1">%%·be·given·as·input·when·the·next·restore·callback·function·is·invoked</span><span·class="w">157 </span><span·class="c1">%%·be·given·as·input·when·the·next·restore·callback·function·is·invoked</span><span·class="w">
158 </span><span·class="c1">%%·If·any·return·value·does·not·match·{ok,·_}·the·restore·will·be·aborted.</span><span·class="w">158 </span><span·class="c1">%%·If·any·return·value·does·not·match·{ok,·_}·the·restore·will·be·aborted.</span><span·class="w">
159 </span><span·class="c1">%%</span><span·class="w">159 </span><span·class="c1">%%</span><span·class="w">
160 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">160 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">
161 </span><span·class="w">161 </span><span·class="w">
162 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8030439391-1">(</span><span·class="ss">mnesia_backup</span><span·class="p"·data-group-id="8030439391-1">)</span><span·class="p">.</span><span·class="w">162 </span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3822926393-1">(</span><span·class="ss">mnesia_backup</span><span·class="p"·data-group-id="3822926393-1">)</span><span·class="p">.</span><span·class="w">
163 </span><span·class="w">163 </span><span·class="w">
164 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="8030439391-2">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="8030439391-2">)</span><span·class="p">.</span><span·class="w">164 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="3822926393-2">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="3822926393-2">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="w">165 </span><span·class="w">
166 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8030439391-3">(</span><span·class="p"·data-group-id="8030439391-4">[</span><span·class="w">166 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3822926393-3">(</span><span·class="p"·data-group-id="3822926393-4">[</span><span·class="w">
167 ·········</span><span·class="c1">%%·Write·access</span><span·class="w">167 ·········</span><span·class="c1">%%·Write·access</span><span·class="w">
168 ·········</span><span·class="ss">open_write</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">168 ·········</span><span·class="ss">open_write</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
169 ·········</span><span·class="ss">write</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">169 ·········</span><span·class="ss">write</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">
170 ·········</span><span·class="ss">commit_write</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">170 ·········</span><span·class="ss">commit_write</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
171 ·········</span><span·class="ss">abort_write</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">171 ·········</span><span·class="ss">abort_write</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
  
172 ·········</span><span·class="c1">%%·Read·access</span><span·class="w">172 ·········</span><span·class="c1">%%·Read·access</span><span·class="w">
173 ·········</span><span·class="ss">open_read</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">173 ·········</span><span·class="ss">open_read</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
174 ·········</span><span·class="ss">read</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">174 ·········</span><span·class="ss">read</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
175 ·········</span><span·class="ss">close_read</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">175 ·········</span><span·class="ss">close_read</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">
176 ········</span><span·class="p"·data-group-id="8030439391-4">]</span><span·class="p"·data-group-id="8030439391-3">)</span><span·class="p">.</span><span·class="w">176 ········</span><span·class="p"·data-group-id="3822926393-4">]</span><span·class="p"·data-group-id="3822926393-3">)</span><span·class="p">.</span><span·class="w">
  
177 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">177 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">
178 </span><span·class="c1">%%·Backup·callback·interface</span><span·class="w">178 </span><span·class="c1">%%·Backup·callback·interface</span><span·class="w">
179 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="8030439391-5">(</span><span·class="ss">backup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8030439391-6">{</span><span·class="ss">tmp_file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file</[·...·truncated·by·diffoscope;·len:·180,·SHA:·71a013c2356a554445c23c43c382fef77cfa14f51bdeb51a6c8f7579f1aa3a76·...·]-5">)</span><span·class="p">.</span><span·class="w">179 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="3822926393-5">(</span><span·class="ss">backup</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3822926393-6">{</span><span·class="ss">tmp_file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file</[·...·truncated·by·diffoscope;·len:·180,·SHA:·ee8eb14bad2f8f2aa05014e2ffe45083a84e2eafe87e882c6d7bfbbb323a5aab·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
180 </span><span·class="c1">%%·Opens·backup·media·for·write</span><span·class="w">180 </span><span·class="c1">%%·Opens·backup·media·for·write</span><span·class="w">
181 </span><span·class="c1">%%</span><span·class="w">181 </span><span·class="c1">%%</span><span·class="w">
182 </span><span·class="c1">%%·Returns·{ok,·OpaqueData}·or·{error,·Reason}</span><span·class="w">182 </span><span·class="c1">%%·Returns·{ok,·OpaqueData}·or·{error,·Reason}</span><span·class="w">
183 </span><span·class="nf">open_write</span><span·class="p"·data-group-id="8030439391-7">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="8030439391-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">183 </span><span·class="nf">open_write</span><span·class="p"·data-group-id="3822926393-7">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="3822926393-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
184 ····</span><span·class="n">File</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">OpaqueData</span><span·class="p">,</span><span·class="w">184 ····</span><span·class="n">File</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">OpaqueData</span><span·class="p">,</span><span·class="w">
185 ····</span><span·class="n">Tmp</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">concat</span><span·class="p"·data-group-id="8030439391-8">(</span><span·class="p"·data-group-id="8030439391-9">[</span><span·class="n">File</span><span·class="p">,</span><span·class="s">&quot;.BUPTMP&quot;</span><span·class="p"·data-group-id="8030439391-9">]</span><span·class="p"·data-group-id="8030[·...·truncated·by·diffoscope;·len:·6,·SHA:·cfd314b306ccece0fffb0806c35bcc8196bb6219d669ed75a0dc9d32a85417a5·...·]-8">)</span><span·class="p">,</span><span·class="w">185 ····</span><span·class="n">Tmp</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">concat</span><span·class="p"·data-group-id="3822926393-8">(</span><span·class="p"·data-group-id="3822926393-9">[</span><span·class="n">File</span><span·class="p">,</span><span·class="s">&quot;.BUPTMP&quot;</span><span·class="p"·data-group-id="3822926393-9">]</span><span·class="p"·data-group-id="3822[·...·truncated·by·diffoscope;·len:·6,·SHA:·05d86dcfb3225d199fe7a1bd20434edef02df167dbbbb8d1f96d2d5b5d5fb484·...·]-8">)</span><span·class="p">,</span><span·class="w">
186 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="8030439391-10">(</span><span·class="n">Tmp</span><span·class="p"·data-group-id="8030439391-10">)</span><span·class="p">,</span><span·class="w">186 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="3822926393-10">(</span><span·class="n">Tmp</span><span·class="p"·data-group-id="3822926393-10">)</span><span·class="p">,</span><span·class="w">
187 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="8030439391-11">(</span><span·class="p"·data-group-id="8030439391-12">[</span><span·class="p"·data-group-id="8030439391-13">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·132,·SHA:·6f2f0ddd7af0ebe8a6877912180397ed16ec6be41f79442e07ff094047f7be0c·...·]-13">}</span><span·class="p">,</span><span·class="w">187 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="3822926393-11">(</span><span·class="p"·data-group-id="3822926393-12">[</span><span·class="p"·data-group-id="3822926393-13">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·132,·SHA:·2993b88eb990261dc219379edd6c7a53c98b412bb42a05ad5d5748d6cca217a0·...·]-13">}</span><span·class="p">,</span><span·class="w">
188 ························</span><span·class="p"·data-group-id="8030439391-15">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tmp</span><span·class="p"·data-group-id="8030439391-15">}</span><span·class="p">,</span><span·class="w">188 ························</span><span·class="p"·data-group-id="3822926393-15">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tmp</span><span·class="p"·data-group-id="3822926393-15">}</span><span·class="p">,</span><span·class="w">
189 ························</span><span·class="p"·data-group-id="8030439391-16">{</span><span·class="ss">repair</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="8030439391-16">}</span><span·class="p">,</span><span·class="w">189 ························</span><span·class="p"·data-group-id="3822926393-16">{</span><span·class="ss">repair</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="3822926393-16">}</span><span·class="p">,</span><span·class="w">
190 ························</span><span·class="p"·data-group-id="8030439391-17">{</span><span·class="ss">linkto</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="8030439391-18">(</span><span·class="p"·data-group-id="8030439391-18">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·130,·SHA:·abcbf29f8f24ef327785fe190f88d0cc5a73a45669598b864a6d24403331a621·...·]-11">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">190 ························</span><span·class="p"·data-group-id="3822926393-17">{</span><span·class="ss">linkto</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="3822926393-18">(</span><span·class="p"·data-group-id="3822926393-18">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·130,·SHA:·7909abc2582fa9286568495ffdcfe8e1c1c6a6b3a94bfdff351f52a1a06ec9be·...·]-11">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
191 ········</span><span·class="p"·data-group-id="8030439391-19">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="8030439391-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">191 ········</span><span·class="p"·data-group-id="3822926393-19">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="3822926393-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
192 ············</span><span·class="p"·data-group-id="8030439391-20">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p"·data-group-id="8030439391-21">{</span><span·class="ss">tmp_file</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·527,·SHA:·443b44c88b3376e537e40d01fd7d10a5ac5392926c6cc0859fd7f6091cd92e4a·...·]-20">}</span><span·class="p">;</span><span·class="w">192 ············</span><span·class="p"·data-group-id="3822926393-20">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p"·data-group-id="3822926393-21">{</span><span·class="ss">tmp_file</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·527,·SHA:·4a8c9c58a0d7de6011df59d4821d8f9d79a691b0505e9f2f1c8288c590117373·...·]-20">}</span><span·class="p">;</span><span·class="w">
193 ········</span><span·class="p"·data-group-id="8030439391-22">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-22">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">193 ········</span><span·class="p"·data-group-id="3822926393-22">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-22">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
194 ············</span><span·class="p"·data-group-id="8030439391-23">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-23">}</span><span·class="w">194 ············</span><span·class="p"·data-group-id="3822926393-23">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-23">}</span><span·class="w">
195 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">195 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
196 </span><span·class="c1">%%·Writes·BackupItems·to·the·backup·media</span><span·class="w">196 </span><span·class="c1">%%·Writes·BackupItems·to·the·backup·media</span><span·class="w">
197 </span><span·class="c1">%%</span><span·class="w">197 </span><span·class="c1">%%</span><span·class="w">
198 </span><span·class="c1">%%·Returns·{ok,·OpaqueData}·or·{error,·Reason}</span><span·class="w">198 </span><span·class="c1">%%·Returns·{ok,·OpaqueData}·or·{error,·Reason}</span><span·class="w">
199 </span><span·class="nf">write</span><span·class="p"·data-group-id="8030439391-24">(</span><span·class="n">OpaqueData</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BackupItems</span><span·class="p"·data-group-id="8030439391-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">199 </span><span·class="nf">write</span><span·class="p"·data-group-id="3822926393-24">(</span><span·class="n">OpaqueData</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BackupItems</span><span·class="p"·data-group-id="3822926393-24">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
200 ····</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">OpaqueData</span><span·class="p">,</span><span·class="w">200 ····</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">OpaqueData</span><span·class="p">,</span><span·class="w">
201 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">log_terms</span><span·class="p"·data-group-id="8030439391-25">(</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file_desc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BackupItems</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·883ec3e024c34204afa767427599d85ce2fcefd1b60da088e23c5e4052fe4e8b·...·]-25">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">201 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">log_terms</span><span·class="p"·data-group-id="3822926393-25">(</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file_desc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BackupItems</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·cd07571b476527466237b73861d7ebc1891e0586f32f3b20736f242b77baa825·...·]-25">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
202 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">202 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
203 ············</span><span·class="p"·data-group-id="8030439391-26">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p"·data-group-id="8030439391-26">}</span><span·class="p">;</span><span·class="w">203 ············</span><span·class="p"·data-group-id="3822926393-26">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="p"·data-group-id="3822926393-26">}</span><span·class="p">;</span><span·class="w">
204 ········</span><span·class="p"·data-group-id="8030439391-27">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-27">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">204 ········</span><span·class="p"·data-group-id="3822926393-27">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-27">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
205 ············</span><span·class="nf">abort_write</span><span·class="p"·data-group-id="8030439391-28">(</span><span·class="n">B</span><span·class="p"·data-group-id="8030439391-28">)</span><span·class="p">,</span><span·class="w">205 ············</span><span·class="nf">abort_write</span><span·class="p"·data-group-id="3822926393-28">(</span><span·class="n">B</span><span·class="p"·data-group-id="3822926393-28">)</span><span·class="p">,</span><span·class="w">
206 ············</span><span·class="p"·data-group-id="8030439391-29">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-29">}</span><span·class="w">206 ············</span><span·class="p"·data-group-id="3822926393-29">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-29">}</span><span·class="w">
207 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">207 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
208 </span><span·class="c1">%%·Closes·the·backup·media·after·a·successful·backup</span><span·class="w">208 </span><span·class="c1">%%·Closes·the·backup·media·after·a·successful·backup</span><span·class="w">
209 </span><span·class="c1">%%</span><span·class="w">209 </span><span·class="c1">%%</span><span·class="w">
210 </span><span·class="c1">%%·Returns·{ok,·ReturnValueToUser}·or·{error,·Reason}</span><span·class="w">210 </span><span·class="c1">%%·Returns·{ok,·ReturnValueToUser}·or·{error,·Reason}</span><span·class="w">
211 </span><span·class="nf">commit_write</span><span·class="p"·data-group-id="8030439391-30">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="8030439391-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">211 </span><span·class="nf">commit_write</span><span·class="p"·data-group-id="3822926393-30">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="3822926393-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
212 ····</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">OpaqueData</span><span·class="p">,</span><span·class="w">212 ····</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">OpaqueData</span><span·class="p">,</span><span·class="w">
213 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">sync</span><span·class="p"·data-group-id="8030439391-31">(</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file_desc</span><span·class="p"·data-group-id="8030439391-31">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">213 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">sync</span><span·class="p"·data-group-id="3822926393-31">(</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file_desc</span><span·class="p"·data-group-id="3822926393-31">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
214 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
215 ············</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="8030439391-32">(</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file_desc</span><span·class="p"·data-group-id="8030439391-32">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">215 ············</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="3822926393-32">(</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file_desc</span><span·class="p"·data-group-id="3822926393-32">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
216 ················</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">216 ················</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
217 ····················</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="8030439391-33">(</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file</span><span·class="p"·data-group-id="8030439391-33">)</span><span·class="p">,</span><span·class="w">217 ····················</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="3822926393-33">(</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file</span><span·class="p"·data-group-id="3822926393-33">)</span><span·class="p">,</span><span·class="w">
218 ····················</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">rename</span><span·class="p"·data-group-id="8030439391-34">(</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">tmp_file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="o">#</span><sp[·...·truncated·by·diffoscope;·len:·120,·SHA:·a69bfb1473a14228c0e78ef9b350a8459873203265c2c3ee3c45c916e2f52f6c·...·]-34">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">218 ····················</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">rename</span><span·class="p"·data-group-id="3822926393-34">(</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">tmp_file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="o">#</span><sp[·...·truncated·by·diffoscope;·len:·120,·SHA:·6de03e304230bce48070c7b587799b4c446c09b0bcce9f65d9427e753588f2cd·...·]-34">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
219 ························</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">219 ························</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
220 ····························</span><span·class="p"·data-group-id="8030439391-35">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·5c02ad6b1fb439ba7c34c5ab8b8930a7c319f96eaf4d96b7bb501a0a4f204bc1·...·]-35">}</span><span·class="p">;</span><span·class="w">220 ····························</span><span·class="p"·data-group-id="3822926393-35">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·e2b0050f83b82705ae2d04301b51c3a6e56323f63a1aa690b8dbc16d2680e651·...·]-35">}</span><span·class="p">;</span><span·class="w">
221 ························</span><span·class="p"·data-group-id="8030439391-36">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-36">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">221 ························</span><span·class="p"·data-group-id="3822926393-36">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-36">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
222 ····························</span><span·class="p"·data-group-id="8030439391-37">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-37">}</span><span·class="w">222 ····························</span><span·class="p"·data-group-id="3822926393-37">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-37">}</span><span·class="w">
223 ····················</span><span·class="k">end</span><span·class="p">;</span><span·class="w">223 ····················</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
224 ················</span><span·class="p"·data-group-id="8030439391-38">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-38">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">224 ················</span><span·class="p"·data-group-id="3822926393-38">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-38">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
225 ····················</span><span·class="p"·data-group-id="8030439391-39">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-39">}</span><span·class="w">225 ····················</span><span·class="p"·data-group-id="3822926393-39">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-39">}</span><span·class="w">
226 ············</span><span·class="k">end</span><span·class="p">;</span><span·class="w">226 ············</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
227 ········</span><span·class="p"·data-group-id="8030439391-40">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-40">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">227 ········</span><span·class="p"·data-group-id="3822926393-40">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-40">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
228 ············</span><span·class="p"·data-group-id="8030439391-41">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-41">}</span><span·class="w">228 ············</span><span·class="p"·data-group-id="3822926393-41">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-41">}</span><span·class="w">
229 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">229 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
230 </span><span·class="c1">%%·Closes·the·backup·media·after·an·interrupted·backup</span><span·class="w">230 </span><span·class="c1">%%·Closes·the·backup·media·after·an·interrupted·backup</span><span·class="w">
231 </span><span·class="c1">%%</span><span·class="w">231 </span><span·class="c1">%%</span><span·class="w">
232 </span><span·class="c1">%%·Returns·{ok,·ReturnValueToUser}·or·{error,·Reason}</span><span·class="w">232 </span><span·class="c1">%%·Returns·{ok,·ReturnValueToUser}·or·{error,·Reason}</span><span·class="w">
233 </span><span·class="nf">abort_write</span><span·class="p"·data-group-id="8030439391-42">(</span><span·class="n">BackupRef</span><span·class="p"·data-group-id="8030439391-42">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">233 </span><span·class="nf">abort_write</span><span·class="p"·data-group-id="3822926393-42">(</span><span·class="n">BackupRef</span><span·class="p"·data-group-id="3822926393-42">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
234 ····</span><span·class="n">Res</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="8030439391-43">(</span><span·class="n">BackupRef</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file_desc</span><span·class="p"·data-group-id="8030439391-43">)</span><span·class="p">,</span><span·class="w">234 ····</span><span·class="n">Res</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="3822926393-43">(</span><span·class="n">BackupRef</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file_desc</span><span·class="p"·data-group-id="3822926393-43">)</span><span·class="p">,</span><span·class="w">
235 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="8030439391-44">(</span><span·class="n">BackupRef</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">tmp_file</span><span·class="p"·data-group-id="8030439391-44">)</span><span·class="p">,</span><span·class="w">235 ····</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="3822926393-44">(</span><span·class="n">BackupRef</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">tmp_file</span><span·class="p"·data-group-id="3822926393-44">)</span><span·class="p">,</span><span·class="w">
236 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Res</span><span·class="w">·</span><span·class="k">of</span><span·class="w">236 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Res</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
237 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">237 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
238 ············</span><span·class="p"·data-group-id="8030439391-45">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BackupRef</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·deb2aaa29f57f5eafc3e000a4e4f3f03162cdc05f0cd533ffdc55ae8370b9b94·...·]-45">}</span><span·class="p">;</span><span·class="w">238 ············</span><span·class="p"·data-group-id="3822926393-45">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BackupRef</span><span·class="o">#</span><span·class="ss">backup</span><span·class="p">.</span><span·class="ss">file</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·a310710325f71f9565ae8914a7c86eaa776f0e45da3467d8fab2e156d5ab9b7e·...·]-45">}</span><span·class="p">;</span><span·class="w">
239 ········</span><span·class="p"·data-group-id="8030439391-46">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">239 ········</span><span·class="p"·data-group-id="3822926393-46">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
240 ············</span><span·class="p"·data-group-id="8030439391-47">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-47">}</span><span·class="w">240 ············</span><span·class="p"·data-group-id="3822926393-47">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-47">}</span><span·class="w">
241 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">241 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
242 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">242 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">
243 </span><span·class="c1">%%·Restore·callback·interface</span><span·class="w">243 </span><span·class="c1">%%·Restore·callback·interface</span><span·class="w">
244 </span><span·class="w">244 </span><span·class="w">
245 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="8030439391-48">(</span><span·class="ss">restore</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8030439391-49">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file_de[·...·truncated·by·diffoscope;·len:·180,·SHA:·08ad2ed14b08e89045ef0bf40f2d076eb1e780b897ea048688bb8bf969eb9845·...·]-48">)</span><span·class="p">.</span><span·class="w">245 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="3822926393-48">(</span><span·class="ss">restore</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3822926393-49">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file_de[·...·truncated·by·diffoscope;·len:·180,·SHA:·45073b7545ffcefb12c07569251a9b4540b056e3ae3512a0fd58deab1f5725f2·...·]-48">)</span><span·class="p">.</span><span·class="w">
  
246 </span><span·class="c1">%%·Opens·backup·media·for·read</span><span·class="w">246 </span><span·class="c1">%%·Opens·backup·media·for·read</span><span·class="w">
247 </span><span·class="c1">%%</span><span·class="w">247 </span><span·class="c1">%%</span><span·class="w">
248 </span><span·class="c1">%%·Returns·{ok,·OpaqueData}·or·{error,·Reason}</span><span·class="w">248 </span><span·class="c1">%%·Returns·{ok,·OpaqueData}·or·{error,·Reason}</span><span·class="w">
249 </span><span·class="nf">open_read</span><span·class="p"·data-group-id="8030439391-50">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="8030439391-50">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">249 </span><span·class="nf">open_read</span><span·class="p"·data-group-id="3822926393-50">(</span><span·class="n">OpaqueData</span><span·class="p"·data-group-id="3822926393-50">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
250 ····</span><span·class="n">File</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">OpaqueData</span><span·class="p">,</span><span·class="w">250 ····</span><span·class="n">File</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">OpaqueData</span><span·class="p">,</span><span·class="w">
251 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">read_file_info</span><span·class="p"·data-group-id="8030439391-51">(</span><span·class="n">File</span><span·class="p"·data-group-id="8030439391-51">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">251 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">read_file_info</span><span·class="p"·data-group-id="3822926393-51">(</span><span·class="n">File</span><span·class="p"·data-group-id="3822926393-51">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
252 ········</span><span·class="p"·data-group-id="8030439391-52">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-52">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">252 ········</span><span·class="p"·data-group-id="3822926393-52">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-52">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
253 ············</span><span·class="p"·data-group-id="8030439391-53">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-53">}</span><span·class="p">;</span><span·class="w">253 ············</span><span·class="p"·data-group-id="3822926393-53">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-53">}</span><span·class="p">;</span><span·class="w">
254 ········</span><span·class="p">_</span><span·class="n">FileInfo</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="c1">%%·file·exists</span><span·class="w">254 ········</span><span·class="p">_</span><span·class="n">FileInfo</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="c1">%%·file·exists</span><span·class="w">
255 ············</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="8030439391-54">(</span><span·class="p"·data-group-id="8030439391-55">[</span><span·class="p"·data-group-id="8030439391-56">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·d104d7e68b35c1d3fb7ef393798a2741be86f42f41710371b9462913f5b60d6c·...·]-56">}</span><span·class="p">,</span><span·class="w">255 ············</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="3822926393-54">(</span><span·class="p"·data-group-id="3822926393-55">[</span><span·class="p"·data-group-id="3822926393-56">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·c8b51d4b5b46ed70221a7137b958aea1c9e1eca836105519a2cf2e255ac4735f·...·]-56">}</span><span·class="p">,</span><span·class="w">
256 ································</span><span·class="p"·data-group-id="8030439391-57">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·data-group-id="8030439391-58">(</span><span·class="p"·data-group-id="8030439391-58">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·bcfc3ed81999d0c3dd02156bf21132f50ea613b20ec82d8d38f2694b21dbb7dd·...·]-57">}</span><span·class="p">,</span><span·class="w">256 ································</span><span·class="p"·data-group-id="3822926393-57">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·data-group-id="3822926393-58">(</span><span·class="p"·data-group-id="3822926393-58">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·799e00a8a4c42d6316108f39a1a25052d467421be02354f426e231a40a77a34d·...·]-57">}</span><span·class="p">,</span><span·class="w">
257 ································</span><span·class="p"·data-group-id="8030439391-59">{</span><span·class="ss">repair</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="8030439391-59">}</span><span·class="p">,</span><span·class="w">257 ································</span><span·class="p"·data-group-id="3822926393-59">{</span><span·class="ss">repair</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="3822926393-59">}</span><span·class="p">,</span><span·class="w">
258 ································</span><span·class="p"·data-group-id="8030439391-60">{</span><span·class="ss">mode</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">read_only</span><span·class="p"·data-group-id="8030439391-60">}</span><span·class="p">,</span><span·class="w">258 ································</span><span·class="p"·data-group-id="3822926393-60">{</span><span·class="ss">mode</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">read_only</span><span·class="p"·data-group-id="3822926393-60">}</span><span·class="p">,</span><span·class="w">
259 ································</span><span·class="p"·data-group-id="8030439391-61">{</span><span·class="ss">linkto</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="8030439391-62">(</span><span·class="p"·data-group-id="8030439391-62">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·130,·SHA:·05405b97e69c7a8c9ba8d98e55de881704bcfb45c14edacf4df31ca31f457b65·...·]-54">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">259 ································</span><span·class="p"·data-group-id="3822926393-61">{</span><span·class="ss">linkto</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="3822926393-62">(</span><span·class="p"·data-group-id="3822926393-62">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·130,·SHA:·1ac3125d82070e1a0e962fd3ac8a4ca8c00c54b3da5464bb63c31db0483f1de4·...·]-54">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
260 ················</span><span·class="p"·data-group-id="8030439391-63">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="8030439391-63">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">260 ················</span><span·class="p"·data-group-id="3822926393-63">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="3822926393-63">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
261 ····················</span><span·class="p"·data-group-id="8030439391-64">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">restore</span><span·class="p"·data-group-id="8030439391-65">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·527,·SHA:·b28b27efc973e846459761405417b9ca6a7838cd278691f915b2ebc3d89faaa8·...·]-64">}</span><span·class="p">;</span><span·class="w">261 ····················</span><span·class="p"·data-group-id="3822926393-64">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">restore</span><span·class="p"·data-group-id="3822926393-65">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·527,·SHA:·f81254f7571c23e8c22b77fdef7583afc0e20c44bde94213ca5ced698055b0f8·...·]-64">}</span><span·class="p">;</span><span·class="w">
262 ················</span><span·class="p"·data-group-id="8030439391-66">{</span><span·class="ss">repaired</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·246,·SHA:·5218b354876a5eae0626bae4c711e754a5604d0807ba2d4d9d67e12b344f1b21·...·]-66">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">262 ················</span><span·class="p"·data-group-id="3822926393-66">{</span><span·class="ss">repaired</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·246,·SHA:·034e52c7e24de171309d44ccd8a6bf36a8abd4fbce33314bdd352db34841eccb·...·]-66">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
263 ····················</span><span·class="p"·data-group-id="8030439391-68">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">restore</span><span·class="p"·data-group-id="8030439391-69">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·527,·SHA:·4c14ee389e9e5df252303a0f41585068755c50e805e3df844b6f765ccb1a819d·...·]-68">}</span><span·class="p">;</span><span·class="w">263 ····················</span><span·class="p"·data-group-id="3822926393-68">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">restore</span><span·class="p"·data-group-id="3822926393-69">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·527,·SHA:·2dbad40b2b8d48b7e61195f60f21534a84e6d81004d132c28c4745c86a47a2df·...·]-68">}</span><span·class="p">;</span><span·class="w">
264 ················</span><span·class="p"·data-group-id="8030439391-70">{</span><span·class="ss">repaired</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·57,·SHA:·8e8cfce734e6018aa4b3ae9b43068c3855094694d761b8cbdc3a2287971c42ab·...·]-70">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">264 ················</span><span·class="p"·data-group-id="3822926393-70">{</span><span·class="ss">repaired</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·57,·SHA:·7400ba4dfa2655dec42a4edffc4c0843aa99c38b57d908327e254cff1a335cbd·...·]-70">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
265 ····················</span><span·class="p"·data-group-id="8030439391-71">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">restore</span><span·class="p"·data-group-id="8030439391-72">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·527,·SHA:·e43173a522471cbaed54685383220bbe273d80ebb07a424949a6a16855290090·...·]-71">}</span><span·class="p">;</span><span·class="w">265 ····················</span><span·class="p"·data-group-id="3822926393-71">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">restore</span><span·class="p"·data-group-id="3822926393-72">{</span><span·class="ss">file</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·527,·SHA:·bda744fc1db2d7a5734a616ec0226a81f8549f407d97ff7c91a6c277575c7ae9·...·]-71">}</span><span·class="p">;</span><span·class="w">
266 ················</span><span·class="p"·data-group-id="8030439391-73">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-73">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">266 ················</span><span·class="p"·data-group-id="3822926393-73">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-73">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
267 ····················</span><span·class="p"·data-group-id="8030439391-74">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="8030439391-74">}</span><span·class="w">267 ····················</span><span·class="p"·data-group-id="3822926393-74">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3822926393-74">}</span><span·class="w">
268 ············</span><span·class="k">end</span><span·class="w">268 ············</span><span·class="k">end</span><span·class="w">
269 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">269 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
270 </span><span·class="c1">%%·Reads·BackupItems·from·the·backup·media</span><span·class="w">270 </span><span·class="c1">%%·Reads·BackupItems·from·the·backup·media</span><span·class="w">
271 </span><span·class="c1">%%</span><span·class="w">271 </span><span·class="c1">%%</span><span·class="w">
272 </span><span·class="c1">%%·Returns·{ok,·OpaqueData,·BackupItems}·or·{error,·Reason}</span><span·class="w">272 </span><span·class="c1">%%·Returns·{ok,·OpaqueData,·BackupItems}·or·{error,·Reason}</span><span·class="w">
Max diff block lines reached; 15217/66606 bytes (22.85%) of diff not shown.
756 B
html2text {}
Max HTML report size reached
149 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_app_b.html
    
Offset 127, 262 lines modifiedOffset 127, 262 lines modified
  
127 <h2·id="mnesia_access-callback-behavior"·class="section-heading">127 <h2·id="mnesia_access-callback-behavior"·class="section-heading">
128 ··<a·href="#mnesia_access-callback-behavior"·class="hover-link">128 ··<a·href="#mnesia_access-callback-behavior"·class="hover-link">
129 ····<i·class="ri-link-m"·aria-hidden="true"></i>129 ····<i·class="ri-link-m"·aria-hidden="true"></i>
130 ··</a>130 ··</a>
131 ··<span·class="text">mnesia_access·Callback·Behavior</span>131 ··<span·class="text">mnesia_access·Callback·Behavior</span>
132 </h2>132 </h2>
133 <pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9090985867-1">(</span><span·class="ss">mnesia_frag</span><span·class="p"·data-group-id="9090985867-1">)</span><span·class="p">.</span><span·class="w">133 <pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3485468210-1">(</span><span·class="ss">mnesia_frag</span><span·class="p"·data-group-id="3485468210-1">)</span><span·class="p">.</span><span·class="w">
  
134 </span><span·class="c1">%%·Callback·functions·when·accessed·within·an·activity</span><span·class="w">134 </span><span·class="c1">%%·Callback·functions·when·accessed·within·an·activity</span><span·class="w">
135 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9090985867-2">(</span><span·class="p"·data-group-id="9090985867-3">[</span><span·class="w">135 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3485468210-2">(</span><span·class="p"·data-group-id="3485468210-3">[</span><span·class="w">
136 ·········</span><span·class="ss">lock</span><span·class="p">/</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">136 ·········</span><span·class="ss">lock</span><span·class="p">/</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">
137 ·········</span><span·class="ss">write</span><span·class="p">/</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">delete</span><span·class="p">/</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">delete_object</span><span·class="p">/</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">137 ·········</span><span·class="ss">write</span><span·class="p">/</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">delete</span><span·class="p">/</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">delete_object</span><span·class="p">/</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">
138 ·········</span><span·class="ss">read</span><span·class="p">/</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">match_object</span><span·class="p">/</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">all_keys</span><span·class="p">/</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">138 ·········</span><span·class="ss">read</span><span·class="p">/</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">match_object</span><span·class="p">/</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">all_keys</span><span·class="p">/</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">
139 ·········</span><span·class="ss">select</span><span·class="p">/</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">select</span><span·class="p">/</span><span·class="mi">6</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">select_cont</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">139 ·········</span><span·class="ss">select</span><span·class="p">/</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">select</span><span·class="p">/</span><span·class="mi">6</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">select_cont</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">
140 ·········</span><span·class="ss">index_match_object</span><span·class="p">/</span><span·class="mi">6</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">index_read</span><span·class="p">/</span><span·class="mi">6</span><span·class="p">,</span><span·class="w">140 ·········</span><span·class="ss">index_match_object</span><span·class="p">/</span><span·class="mi">6</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">index_read</span><span·class="p">/</span><span·class="mi">6</span><span·class="p">,</span><span·class="w">
141 ·········</span><span·class="ss">foldl</span><span·class="p">/</span><span·class="mi">6</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foldr</span><span·class="p">/</span><span·class="mi">6</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">table_info</span><span·class="p">/</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">141 ·········</span><span·class="ss">foldl</span><span·class="p">/</span><span·class="mi">6</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foldr</span><span·class="p">/</span><span·class="mi">6</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">table_info</span><span·class="p">/</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">
142 ·········</span><span·class="ss">first</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">next</span><span·class="p">/</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">prev</span><span·class="p">/</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">last</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">142 ·········</span><span·class="ss">first</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">next</span><span·class="p">/</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">prev</span><span·class="p">/</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">last</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">
143 ·········</span><span·class="ss">clear_table</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">143 ·········</span><span·class="ss">clear_table</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">
144 ········</span><span·class="p"·data-group-id="9090985867-3">]</span><span·class="p"·data-group-id="9090985867-2">)</span><span·class="p">.</span><span·class="w">144 ········</span><span·class="p"·data-group-id="3485468210-3">]</span><span·class="p"·data-group-id="3485468210-2">)</span><span·class="p">.</span><span·class="w">
  
145 </span><span·class="c1">%%·Callback·functions·which·provides·transparent</span><span·class="w">145 </span><span·class="c1">%%·Callback·functions·which·provides·transparent</span><span·class="w">
146 </span><span·class="c1">%%·access·of·fragmented·tables·from·any·activity</span><span·class="w">146 </span><span·class="c1">%%·access·of·fragmented·tables·from·any·activity</span><span·class="w">
147 </span><span·class="c1">%%·access·context.</span><span·class="w">147 </span><span·class="c1">%%·access·context.</span><span·class="w">
  
148 </span><span·class="nf">lock</span><span·class="p"·data-group-id="9090985867-4">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9090985867-5">{</span><span·class="ss">table<[·...·truncated·by·diffoscope;·len:·277,·SHA:·e078875b90a7e64b0fac4759a4faac64250e856622cfd816fb5a2bdda9bd3bc1·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">148 </span><span·class="nf">lock</span><span·class="p"·data-group-id="3485468210-4">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3485468210-5">{</span><span·class="ss">table<[·...·truncated·by·diffoscope;·len:·277,·SHA:·d156f95a926ac9f9aef0669b6759d38b7ccdee9ea0dd4b1c09081cdf27fb11bd·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
149 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">frag_names</span><span·class="p"·data-group-id="9090985867-6">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="9090985867-6">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">149 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">frag_names</span><span·class="p"·data-group-id="3485468210-6">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="3485468210-6">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
150 ········</span><span·class="p"·data-group-id="9090985867-7">[</span><span·class="n">Tab</span><span·class="p"·data-group-id="9090985867-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">150 ········</span><span·class="p"·data-group-id="3485468210-7">[</span><span·class="n">Tab</span><span·class="p"·data-group-id="3485468210-7">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
151 ············</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="9090985867-8">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9090985867-9">{</span><span·class="ss">table<[·...·truncated·by·diffoscope;·len:·253,·SHA:·f29832f2f58effccdc5121ca457b5084e977a3cd30a0142f455a45493bf14857·...·]-8">)</span><span·class="p">;</span><span·class="w">151 ············</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="3485468210-8">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3485468210-9">{</span><span·class="ss">table<[·...·truncated·by·diffoscope;·len:·253,·SHA:·f72261a6a54a22b942f7c10c64c701273e5842f5f233e8365842160e63463ea0·...·]-8">)</span><span·class="p">;</span><span·class="w">
152 ········</span><span·class="n">Frags</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">152 ········</span><span·class="n">Frags</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
153 ············</span><span·class="n">DeepNs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9090985867-10">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="9090985867-11">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">[·...·truncated·by·diffoscope;·len:·390,·SHA:·bcb48fca21e2267193e287dac20d08161815e056130d00f676878a37b605603c·...·]-11">)</span><span·class="w">·</span><span·class="p">||</span><span·class="w">153 ············</span><span·class="n">DeepNs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3485468210-10">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="3485468210-11">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">[·...·truncated·by·diffoscope;·len:·390,·SHA:·268cc542f70644968f31e1064b0d1a1b927d7beed0e82788024bd3397d7dafa8·...·]-11">)</span><span·class="w">·</span><span·class="p">||</span><span·class="w">
154 ·························</span><span·class="n">F</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="n">Frags</span><span·class="p"·data-group-id="9090985867-10">]</span><span·class="p">,</span><span·class="w">154 ·························</span><span·class="n">F</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="n">Frags</span><span·class="p"·data-group-id="3485468210-10">]</span><span·class="p">,</span><span·class="w">
155 ············</span><span·class="nc">mnesia_lib</span><span·class="p">:</span><span·class="nf">uniq</span><span·class="p"·data-group-id="9090985867-13">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="9090985867-14">(</span><span·class="n">DeepNs</span><span·class="p"·data-group-id="9090985867-14">)</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·045109582da0b410b3c25c22a2a64dff8c92ec19126af494296f8f1e2f3c0fe4·...·]-13">)</span><span·class="w">155 ············</span><span·class="nc">mnesia_lib</span><span·class="p">:</span><span·class="nf">uniq</span><span·class="p"·data-group-id="3485468210-13">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="3485468210-14">(</span><span·class="n">DeepNs</span><span·class="p"·data-group-id="3485468210-14">)</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·efee22dd33a9160c0afe8bd6856af5795ad60d2f53ab81804a68534b209e05ed·...·]-13">)</span><span·class="w">
156 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">156 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
  
157 </span><span·class="nf">lock</span><span·class="p"·data-group-id="9090985867-15">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">LockItem</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·76,·SHA:·ca9d926eb12032143866212c422bb40091b145333c0ad0ed5eb2de0f80d74f2c·...·]-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">157 </span><span·class="nf">lock</span><span·class="p"·data-group-id="3485468210-15">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">LockItem</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·76,·SHA:·e708302806edf76bd20d894c1b7d01a6c2462926bdb5eed1488064f5c039f71e·...·]-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
158 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="9090985867-16">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">LockItem</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·76,·SHA:·ca9d926eb12032143866212c422bb40091b145333c0ad0ed5eb2de0f80d74f2c·...·]-16">)</span><span·class="p">.</span><span·class="w">158 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="3485468210-16">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">LockItem</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·76,·SHA:·e708302806edf76bd20d894c1b7d01a6c2462926bdb5eed1488064f5c039f71e·...·]-16">)</span><span·class="p">.</span><span·class="w">
  
159 </span><span·class="nf">write</span><span·class="p"·data-group-id="9090985867-17">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·145,·SHA:·b0f475d7e28efb4340f37c573a065fa80e33135b401c2cc8cb1843938e720d5e·...·]-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">159 </span><span·class="nf">write</span><span·class="p"·data-group-id="3485468210-17">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·145,·SHA:·ef02d0b66354f7e61b4e10c68156ef17d7374da4387fea9d4319ff513c8ceba7·...·]-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
160 ····</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">record_to_frag_name</span><span·class="p"·data-group-id="9090985867-18">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Rec</span><span·class="p"·data-group-id="9090985867-18">)</span><span·class="p">,</span><span·class="w">160 ····</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">record_to_frag_name</span><span·class="p"·data-group-id="3485468210-18">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Rec</span><span·class="p"·data-group-id="3485468210-18">)</span><span·class="p">,</span><span·class="w">
161 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="9090985867-19">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Frag</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·146,·SHA:·e15534738f6a601e5d381233061231cf9861adf26f668900855cf87cc6337346·...·]-19">)</span><span·class="p">.</span><span·class="w">161 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="3485468210-19">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Frag</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·146,·SHA:·264af48d72b0c94d95b36fab2d2d6ec5c1ed7e60b86d36e7f04d00ade9634bc7·...·]-19">)</span><span·class="p">.</span><span·class="w">
  
162 </span><span·class="nf">delete</span><span·class="p"·data-group-id="9090985867-20">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·145,·SHA:·27226471d8be0b6a8b68e955e15d0a524f4fca8e78c3e8a710ae8b96f63315c3·...·]-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">162 </span><span·class="nf">delete</span><span·class="p"·data-group-id="3485468210-20">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·145,·SHA:·61af6b15665cb2ff51798be59ae77b6ece415d18cd37ede139b6b4c5cd69e010·...·]-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
163 ····</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">key_to_frag_name</span><span·class="p"·data-group-id="9090985867-21">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="9090985867-21">)</span><span·class="p">,</span><span·class="w">163 ····</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">key_to_frag_name</span><span·class="p"·data-group-id="3485468210-21">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="3485468210-21">)</span><span·class="p">,</span><span·class="w">
164 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="9090985867-22">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Frag</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·146,·SHA:·8afa26ec024c7cd2c5da833314506515a7421491dff760a6ea0b6e13a3f56026·...·]-22">)</span><span·class="p">.</span><span·class="w">164 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">delete</span><span·class="p"·data-group-id="3485468210-22">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Frag</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·146,·SHA:·29869fc348d945be7fc5c491ff9197268f998873b40bce02ce75f2c46fa0fe8c·...·]-22">)</span><span·class="p">.</span><span·class="w">
  
165 </span><span·class="nf">delete_object</span><span·class="p"·data-group-id="9090985867-23">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·145,·SHA:·b0f475d7e28efb4340f37c573a065fa80e33135b401c2cc8cb1843938e720d5e·...·]-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">165 </span><span·class="nf">delete_object</span><span·class="p"·data-group-id="3485468210-23">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·145,·SHA:·ef02d0b66354f7e61b4e10c68156ef17d7374da4387fea9d4319ff513c8ceba7·...·]-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
166 ····</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">record_to_frag_name</span><span·class="p"·data-group-id="9090985867-24">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Rec</span><span·class="p"·data-group-id="9090985867-24">)</span><span·class="p">,</span><span·class="w">166 ····</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">record_to_frag_name</span><span·class="p"·data-group-id="3485468210-24">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Rec</span><span·class="p"·data-group-id="3485468210-24">)</span><span·class="p">,</span><span·class="w">
167 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">delete_object</span><span·class="p"·data-group-id="9090985867-25">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Frag</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·146,·SHA:·e15534738f6a601e5d381233061231cf9861adf26f668900855cf87cc6337346·...·]-25">)</span><span·class="p">.</span><span·class="w">167 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">delete_object</span><span·class="p"·data-group-id="3485468210-25">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Frag</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·146,·SHA:·264af48d72b0c94d95b36fab2d2d6ec5c1ed7e60b86d36e7f04d00ade9634bc7·...·]-25">)</span><span·class="p">.</span><span·class="w">
  
168 </span><span·class="nf">read</span><span·class="p"·data-group-id="9090985867-26">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·145,·SHA:·27226471d8be0b6a8b68e955e15d0a524f4fca8e78c3e8a710ae8b96f63315c3·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">168 </span><span·class="nf">read</span><span·class="p"·data-group-id="3485468210-26">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·145,·SHA:·61af6b15665cb2ff51798be59ae77b6ece415d18cd37ede139b6b4c5cd69e010·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
169 ····</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">key_to_frag_name</span><span·class="p"·data-group-id="9090985867-27">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="9090985867-27">)</span><span·class="p">,</span><span·class="w">169 ····</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">key_to_frag_name</span><span·class="p"·data-group-id="3485468210-27">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="3485468210-27">)</span><span·class="p">,</span><span·class="w">
170 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">read</span><span·class="p"·data-group-id="9090985867-28">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Frag</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·146,·SHA:·8afa26ec024c7cd2c5da833314506515a7421491dff760a6ea0b6e13a3f56026·...·]-28">)</span><span·class="p">.</span><span·class="w">170 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">read</span><span·class="p"·data-group-id="3485468210-28">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Frag</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·146,·SHA:·29869fc348d945be7fc5c491ff9197268f998873b40bce02ce75f2c46fa0fe8c·...·]-28">)</span><span·class="p">.</span><span·class="w">
  
171 </span><span·class="nf">match_object</span><span·class="p"·data-group-id="9090985867-29">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·149,·SHA:·42e021961b29f3f82db7f36c857af454e162794fed4b2320490e9a0c98665a6a·...·]-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">171 </span><span·class="nf">match_object</span><span·class="p"·data-group-id="3485468210-29">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·149,·SHA:·d60709d0901ddad1810244cbd7d2471bfff212a2285e7ada1046a17e74a97050·...·]-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
172 ····</span><span·class="n">MatchSpec</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9090985867-30">[</span><span·class="p"·data-group-id="9090985867-31">{</span><span·class="n">HeadPat</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9090985867-32">[</span><span·class="p"·data-group-id="9090985867-32">][·...·truncated·by·diffoscope;·len:·294,·SHA:·bcb324eca6f35a66d16f6abb09930ffec0412d4c1c5fce3867c1be719d5921e8·...·]-30">]</span><span·class="p">,</span><span·class="w">172 ····</span><span·class="n">MatchSpec</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3485468210-30">[</span><span·class="p"·data-group-id="3485468210-31">{</span><span·class="n">HeadPat</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3485468210-32">[</span><span·class="p"·data-group-id="3485468210-32">][·...·truncated·by·diffoscope;·len:·294,·SHA:·125b41cb26749318bbcd52ede508ebd1967d6b950f8a561386a8a5906f6f968a·...·]-30">]</span><span·class="p">,</span><span·class="w">
173 ····</span><span·class="nf">select</span><span·class="p"·data-group-id="9090985867-34">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·151,·SHA:·237e8b723e447018bd3b8dc3e2bb5d122a0186db4f613b26def18b56e0a82a90·...·]-34">)</span><span·class="p">.</span><span·class="w">173 ····</span><span·class="nf">select</span><span·class="p"·data-group-id="3485468210-34">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·151,·SHA:·58a6d185e46c768b68eb98daed8a5ea265885d96c89043d27c30861779e4c32f·...·]-34">)</span><span·class="p">.</span><span·class="w">
  
174 </span><span·class="nf">select</span><span·class="p"·data-group-id="9090985867-35">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·151,·SHA:·237e8b723e447018bd3b8dc3e2bb5d122a0186db4f613b26def18b56e0a82a90·...·]-35">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">174 </span><span·class="nf">select</span><span·class="p"·data-group-id="3485468210-35">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·151,·SHA:·58a6d185e46c768b68eb98daed8a5ea265885d96c89043d27c30861779e4c32f·...·]-35">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
175 ····</span><span·class="nf">do_select</span><span·class="p"·data-group-id="9090985867-36">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·151,·SHA:·237e8b723e447018bd3b8dc3e2bb5d122a0186db4f613b26def18b56e0a82a90·...·]-36">)</span><span·class="p">.</span><span·class="w">175 ····</span><span·class="nf">do_select</span><span·class="p"·data-group-id="3485468210-36">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·151,·SHA:·58a6d185e46c768b68eb98daed8a5ea265885d96c89043d27c30861779e4c32f·...·]-36">)</span><span·class="p">.</span><span·class="w">
  
  
176 </span><span·class="nf">select</span><span·class="p"·data-group-id="9090985867-37">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·227,·SHA:·2f08334788ea035fb9d4f53ade725017b4adea5f87e5b44b6bf0d08343885993·...·]-37">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 </span><span·class="nf">select</span><span·class="p"·data-group-id="3485468210-37">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·227,·SHA:·55b835c58cf6778a869e2e8e9cdcc1049bd375ff338990f633f7a1df74684a86·...·]-37">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ····</span><span·class="nf">init_select</span><span·class="p"·data-group-id="9090985867-38">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·227,·SHA:·2f08334788ea035fb9d4f53ade725017b4adea5f87e5b44b6bf0d08343885993·...·]-38">)</span><span·class="p">.</span><span·class="w">177 ····</span><span·class="nf">init_select</span><span·class="p"·data-group-id="3485468210-38">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·227,·SHA:·55b835c58cf6778a869e2e8e9cdcc1049bd375ff338990f633f7a1df74684a86·...·]-38">)</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">select_cont</span><span·class="p"·data-group-id="9090985867-39">(</span><span·class="p">_</span><span·class="n">Tid</span><span·class="p">,</span><span·class="p">_</span><span·class="p">,</span><span·class="p"·data-group-id="9090985867-40">{</span><span·class="ss">frag_cont</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·370,·SHA:·c01e62ec0aaedc4b610085a571d540491f304b9715c8495430ad3bb0b5d4f493·...·]-39">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">&#39;$end_of_table&#39;</span><span·class="p">;</span><span·class="w">178 </span><span·class="nf">select_cont</span><span·class="p"·data-group-id="3485468210-39">(</span><span·class="p">_</span><span·class="n">Tid</span><span·class="p">,</span><span·class="p">_</span><span·class="p">,</span><span·class="p"·data-group-id="3485468210-40">{</span><span·class="ss">frag_cont</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·370,·SHA:·934029c677ff659b0ea58bf387998da919a83e556db8894b99638694a628bbdb·...·]-39">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">&#39;$end_of_table&#39;</span><span·class="p">;</span><span·class="w">
179 </span><span·class="nf">select_cont</span><span·class="p"·data-group-id="9090985867-42">(</span><span·class="n">Tid</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p">,</span><span·class="p"·data-group-id="9090985867-43">{</span><span·class="ss">frag_cont</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·637,·SHA:·563023690655c1d3903d6f4c91f4defcd5f3427e36b0a21a8759ad8b628f220a·...·]-42">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">179 </span><span·class="nf">select_cont</span><span·class="p"·data-group-id="3485468210-42">(</span><span·class="n">Tid</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p">,</span><span·class="p"·data-group-id="3485468210-43">{</span><span·class="ss">frag_cont</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·637,·SHA:·2ec33530da13d034f15e317bac71a8caf4d139a7d65a3a090d8ce21665c2ab43·...·]-42">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
180 ····</span><span·class="p"·data-group-id="9090985867-46">{</span><span·class="n">Spec</span><span·class="p">,</span><span·class="n">LockKind</span><span·class="p">,</span><span·class="n">Limit</span><span·class="p"·data-group-id="9090985867-46">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Args</span><span·class="p">,</span><span·class="w">180 ····</span><span·class="p"·data-group-id="3485468210-46">{</span><span·class="n">Spec</span><span·class="p">,</span><span·class="n">LockKind</span><span·class="p">,</span><span·class="n">Limit</span><span·class="p"·data-group-id="3485468210-46">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Args</span><span·class="p">,</span><span·class="w">
181 ····</span><span·class="n">InitFun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="9090985867-47">(</span><span·class="n">FixedSpec</span><span·class="p"·data-group-id="9090985867-47">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">[·...·truncated·by·diffoscope;·len:·352,·SHA:·85911a4b5791902a20999d9631f04dbb6e4c1d9bc9c6630cc28002e7cb68ff03·...·]-48">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">181 ····</span><span·class="n">InitFun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3485468210-47">(</span><span·class="n">FixedSpec</span><span·class="p"·data-group-id="3485468210-47">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">[·...·truncated·by·diffoscope;·len:·352,·SHA:·3640cb50f291de0931233a2e838d410e042faa97e914a1950ec1483a7f938f1a·...·]-48">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
182 ····</span><span·class="n">Res</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">fun_select</span><span·class="p"·data-group-id="9090985867-49">(</span><span·class="n">Tid</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p">,</span><span·class="n">Tab</span><span·class="p">,</span><span·class="n">Spec</span><span·class="p">,</span><span·class="n">LockKind</span><s[·...·truncated·by·diffoscope;·len:·297,·SHA:·94c042f69c9b6a0c6002e58b28098867da2eb0bb72297bce2c07091b1fff91df·...·]-49">)</span><span·class="p">,</span><span·class="w">182 ····</span><span·class="n">Res</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">fun_select</span><span·class="p"·data-group-id="3485468210-49">(</span><span·class="n">Tid</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p">,</span><span·class="n">Tab</span><span·class="p">,</span><span·class="n">Spec</span><span·class="p">,</span><span·class="n">LockKind</span><s[·...·truncated·by·diffoscope;·len:·297,·SHA:·ea3ed0cd8e84f38138dfe003dcdb671b4410023294dfdef80079a4056cbcba09·...·]-49">)</span><span·class="p">,</span><span·class="w">
183 ····</span><span·class="nf">frag_sel_cont</span><span·class="p"·data-group-id="9090985867-50">(</span><span·class="n">Res</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Args</span><span·class="p"·data-group-id="9090985867-50">)</span><span·class="p">;</span><span·class="w">183 ····</span><span·class="nf">frag_sel_cont</span><span·class="p"·data-group-id="3485468210-50">(</span><span·class="n">Res</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Args</span><span·class="p"·data-group-id="3485468210-50">)</span><span·class="p">;</span><span·class="w">
184 </span><span·class="nf">select_cont</span><span·class="p"·data-group-id="9090985867-51">(</span><span·class="n">Tid</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p">,</span><span·class="p"·data-group-id="9090985867-52">{</span><span·class="ss">frag_cont</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·273,·SHA:·68698cf933491d542c5c572f7fc0aec7bcf1eb88de70a573a31812212f40b3fd·...·]-51">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">184 </span><span·class="nf">select_cont</span><span·class="p"·data-group-id="3485468210-51">(</span><span·class="n">Tid</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p">,</span><span·class="p"·data-group-id="3485468210-52">{</span><span·class="ss">frag_cont</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·273,·SHA:·88b89f6884ad37c2d5daa37797dc35ac4c1acb401275296a26cd1da9be59b35f·...·]-51">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
185 ····</span><span·class="nf">frag_sel_cont</span><span·class="p"·data-group-id="9090985867-53">(</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">select_cont</span><span·class="p"·data-group-id="9090985867-54">(</span><span·class="n">Tid</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p"[·...·truncated·by·diffoscope;·len:·233,·SHA:·cf36f1f157f423bdeb317b9422a42492e3608746f019c52ff049383b7d6a8869·...·]-53">)</span><span·class="p">;</span><span·class="w">185 ····</span><span·class="nf">frag_sel_cont</span><span·class="p"·data-group-id="3485468210-53">(</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">select_cont</span><span·class="p"·data-group-id="3485468210-54">(</span><span·class="n">Tid</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p"[·...·truncated·by·diffoscope;·len:·233,·SHA:·4a225634e8d73759a7892fef81244a85736674b22d4f7cbdf31baff9ad1f2747·...·]-53">)</span><span·class="p">;</span><span·class="w">
186 </span><span·class="nf">select_cont</span><span·class="p"·data-group-id="9090985867-55">(</span><span·class="n">Tid</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p">,</span><span·class="n">Else</span><span·class="p"·data-group-id="9090985867-55">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">186 </span><span·class="nf">select_cont</span><span·class="p"·data-group-id="3485468210-55">(</span><span·class="n">Tid</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p">,</span><span·class="n">Else</span><span·class="p"·data-group-id="3485468210-55">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
187 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">select_cont</span><span·class="p"·data-group-id="9090985867-56">(</span><span·class="n">Tid</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p">,</span><span·class="n">Else</span><span·class="p"·data-group-id="9090985867-56">)</span><span·class="p">.</span><span·class="w">187 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">select_cont</span><span·class="p"·data-group-id="3485468210-56">(</span><span·class="n">Tid</span><span·class="p">,</span><span·class="n">Ts</span><span·class="p">,</span><span·class="n">Else</span><span·class="p"·data-group-id="3485468210-56">)</span><span·class="p">.</span><span·class="w">
  
188 </span><span·class="nf">all_keys</span><span·class="p"·data-group-id="9090985867-57">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·71,·SHA:·fc6ed495e25dd1a74308c2b19389995df354cb54348f7722a985a80cccaf0d0b·...·]-57">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">188 </span><span·class="nf">all_keys</span><span·class="p"·data-group-id="3485468210-57">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·71,·SHA:·88cfd659b0cbb48ca4970dd34449ac36cca8099e8d376be8b7e462badf37ccc0·...·]-57">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
189 ····</span><span·class="n">Match</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9090985867-58">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">all_keys</span><span·class="p"·data-group-id="9090985867-59">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·212,·SHA:·e3b8e8337d19b7329e361e878a1cc7bd0a303e59e64dbadcd4d7aef4119ac853·...·]-59">)</span><span·class="w">189 ····</span><span·class="n">Match</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3485468210-58">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">all_keys</span><span·class="p"·data-group-id="3485468210-59">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·212,·SHA:·364a9f6e693ae94a7ab2e3984fdb1a5fa430a39db946bcc203a1527985aa7316·...·]-59">)</span><span·class="w">
190 ·············</span><span·class="p">||</span><span·class="w">·</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nf">frag_names</span><span·class="p"·data-group-id="9090985867-60">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="9090985867-60">)</span><span·class="p"·data-group-id="9090985867-58">]</span><span·class="p">,</span><span·class="w">190 ·············</span><span·class="p">||</span><span·class="w">·</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nf">frag_names</span><span·class="p"·data-group-id="3485468210-60">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="3485468210-60">)</span><span·class="p"·data-group-id="3485468210-58">]</span><span·class="p">,</span><span·class="w">
191 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="9090985867-61">(</span><span·class="n">Match</span><span·class="p"·data-group-id="9090985867-61">)</span><span·class="p">.</span><span·class="w">191 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="3485468210-61">(</span><span·class="n">Match</span><span·class="p"·data-group-id="3485468210-61">)</span><span·class="p">.</span><span·class="w">
  
192 </span><span·class="nf">clear_table</span><span·class="p"·data-group-id="9090985867-62">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·66,·SHA:·98257764155b52806fe5a97f1d53256a4390027e9ff80afb655434f51d9c8fe3·...·]-62">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">192 </span><span·class="nf">clear_table</span><span·class="p"·data-group-id="3485468210-62">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·66,·SHA:·5eea69a2277941f5eb0a667d0ef3cefa5e29e3763a3bfd8f7a02fe8c02c73497·...·]-62">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="p"·data-group-id="9090985867-63">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">clear_table</span><span·class="p"·data-group-id="9090985867-64">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·609,·SHA:·16e92f437ebbd343c010405b1077854f8d639fc3794c8e4688fd097a0ff8542a·...·]-63">]</span><span·class="p">,</span><span·class="w">193 ····</span><span·class="p"·data-group-id="3485468210-63">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">clear_table</span><span·class="p"·data-group-id="3485468210-64">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·609,·SHA:·a2df7b3e314fcc4eca95ba698dc24156b33c7e3302149f722f8d48dab82e5f4f·...·]-63">]</span><span·class="p">,</span><span·class="w">
194 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">194 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
195 </span><span·class="nf">index_match_object</span><span·class="p"·data-group-id="9090985867-66">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·220,·SHA:·552e4f8b5e561fc232e607c146062b399f3b65b0b3d2747bbc54ffea8c8b6d94·...·]-66">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">195 </span><span·class="nf">index_match_object</span><span·class="p"·data-group-id="3485468210-66">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·220,·SHA:·646f6866ecda765a7085b22418561c152e72061eddfbd290f478eb4932a64aac·...·]-66">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
196 ····</span><span·class="n">Match</span><span·class="w">·</span><span·class="o">=</span><span·class="w">196 ····</span><span·class="n">Match</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
197 ········</span><span·class="p"·data-group-id="9090985867-67">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">index_match_object</span><span·class="p"·data-group-id="9090985867-68">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·371,·SHA:·3466b8d593254f87dbb46bfc0b20971759898010c99ca7c1de6c9356b47a6309·...·]-68">)</span><span·class="w">197 ········</span><span·class="p"·data-group-id="3485468210-67">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">index_match_object</span><span·class="p"·data-group-id="3485468210-68">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·371,·SHA:·2fb8a5e7b7c3d24768d5a726be98ba2abeaa0c87e0c7e094901c62d672ca3f07·...·]-68">)</span><span·class="w">
198 ·········</span><span·class="p">||</span><span·class="w">·</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nf">frag_names</span><span·class="p"·data-group-id="9090985867-69">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="9090985867-69">)</span><span·class="p"·data-group-id="9090985867-67">]</span><span·class="p">,</span><span·class="w">198 ·········</span><span·class="p">||</span><span·class="w">·</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nf">frag_names</span><span·class="p"·data-group-id="3485468210-69">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="3485468210-69">)</span><span·class="p"·data-group-id="3485468210-67">]</span><span·class="p">,</span><span·class="w">
199 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="9090985867-70">(</span><span·class="n">Match</span><span·class="p"·data-group-id="9090985867-70">)</span><span·class="p">.</span><span·class="w">199 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="3485468210-70">(</span><span·class="n">Match</span><span·class="p"·data-group-id="3485468210-70">)</span><span·class="p">.</span><span·class="w">
  
200 </span><span·class="nf">index_read</span><span·class="p"·data-group-id="9090985867-71">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·220,·SHA:·8ff4065225813851e3f2c7a4bdf10a27374536c5fc52718ea2d916fb9ff7ed8b·...·]-71">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">200 </span><span·class="nf">index_read</span><span·class="p"·data-group-id="3485468210-71">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·220,·SHA:·6522c7062652389b5d9b1ee13bcc2f548eb78647378b944ac235b284448e0029·...·]-71">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
201 ····</span><span·class="n">Match</span><span·class="w">·</span><span·class="o">=</span><span·class="w">201 ····</span><span·class="n">Match</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
202 ········</span><span·class="p"·data-group-id="9090985867-72">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">index_read</span><span·class="p"·data-group-id="9090985867-73">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·363,·SHA:·a633ebb29e8abeca14435c1317ce2b5874e18b7351829563bc9a1631a9540f07·...·]-73">)</span><span·class="w">202 ········</span><span·class="p"·data-group-id="3485468210-72">[</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">index_read</span><span·class="p"·data-group-id="3485468210-73">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·363,·SHA:·1466cb5af15b6b56664a90ab86fca37de49f4cbee208f0c3d5c5586c442980ef·...·]-73">)</span><span·class="w">
203 ·········</span><span·class="p">||</span><span·class="w">·</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nf">frag_names</span><span·class="p"·data-group-id="9090985867-74">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="9090985867-74">)</span><span·class="p"·data-group-id="9090985867-72">]</span><span·class="p">,</span><span·class="w">203 ·········</span><span·class="p">||</span><span·class="w">·</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nf">frag_names</span><span·class="p"·data-group-id="3485468210-74">(</span><span·class="n">Tab</span><span·class="p"·data-group-id="3485468210-74">)</span><span·class="p"·data-group-id="3485468210-72">]</span><span·class="p">,</span><span·class="w">
204 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="9090985867-75">(</span><span·class="n">Match</span><span·class="p"·data-group-id="9090985867-75">)</span><span·class="p">.</span><span·class="w">204 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="3485468210-75">(</span><span·class="n">Match</span><span·class="p"·data-group-id="3485468210-75">)</span><span·class="p">.</span><span·class="w">
  
205 </span><span·class="nf">foldl</span><span·class="p"·data-group-id="9090985867-76">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·219,·SHA:·74a858cbb017afb730be18d228a221938c7638254bef3870c3e4bbf5a4042bb9·...·]-76">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">205 </span><span·class="nf">foldl</span><span·class="p"·data-group-id="3485468210-76">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·219,·SHA:·211ecdf57c745349127ea9d33bc1237fe62e6a1e46e55dd6704327dfdf40e23f·...·]-76">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 ····</span><span·class="n">Fun2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="9090985867-77">(</span><span·class="n">Frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p"·data-group-id="9090985867-77">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">206 ····</span><span·class="n">Fun2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3485468210-77">(</span><span·class="n">Frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p"·data-group-id="3485468210-77">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
207 ···················</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="9090985867-78">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·218,·SHA:·7671bf760bdee2029bb30d9aef536d68c0148f4d1d73d5daee8fdad34c197e0f·...·]-78">)</span><span·class="w">207 ···················</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="3485468210-78">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·218,·SHA:·713746174f8c967d4e66862cb52803028700f680cb81104d9a2e09eb72e3e52b·...·]-78">)</span><span·class="w">
208 ···········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">208 ···········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
209 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="9090985867-79">(</span><span·class="n">Fun2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">frag_names</span><span·class="p"·data-group-id="9090985867-80">(</s[·...·truncated·by·diffoscope;·len:·125,·SHA:·04a9fa1bead6520ca73f691cf76a12bb4a8dc156046a041de16c4445e9c82c31·...·]-79">)</span><span·class="p">.</span><span·class="w">209 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="3485468210-79">(</span><span·class="n">Fun2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">frag_names</span><span·class="p"·data-group-id="3485468210-80">(</s[·...·truncated·by·diffoscope;·len:·125,·SHA:·39609e60b4cc11f4b6eef37506092c33ea8d255fa262c7d07350c7015a85cbd4·...·]-79">)</span><span·class="p">.</span><span·class="w">
  
210 </span><span·class="nf">foldr</span><span·class="p"·data-group-id="9090985867-81">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·219,·SHA:·74a858cbb017afb730be18d228a221938c7638254bef3870c3e4bbf5a4042bb9·...·]-81">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">210 </span><span·class="nf">foldr</span><span·class="p"·data-group-id="3485468210-81">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·219,·SHA:·211ecdf57c745349127ea9d33bc1237fe62e6a1e46e55dd6704327dfdf40e23f·...·]-81">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
211 ····</span><span·class="n">Fun2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="9090985867-82">(</span><span·class="n">Frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p"·data-group-id="9090985867-82">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">211 ····</span><span·class="n">Fun2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3485468210-82">(</span><span·class="n">Frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p"·data-group-id="3485468210-82">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
212 ···················</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">foldr</span><span·class="p"·data-group-id="9090985867-83">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·218,·SHA:·7671bf760bdee2029bb30d9aef536d68c0148f4d1d73d5daee8fdad34c197e0f·...·]-83">)</span><span·class="w">212 ···················</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">foldr</span><span·class="p"·data-group-id="3485468210-83">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·218,·SHA:·713746174f8c967d4e66862cb52803028700f680cb81104d9a2e09eb72e3e52b·...·]-83">)</span><span·class="w">
213 ···········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">213 ···········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
214 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldr</span><span·class="p"·data-group-id="9090985867-84">(</span><span·class="n">Fun2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">frag_names</span><span·class="p"·data-group-id="9090985867-85">(</s[·...·truncated·by·diffoscope;·len:·125,·SHA:·7e7e68b42810076389855ba656f36e13bc906dc1513702bfd1f80d1a7dbbe7d1·...·]-84">)</span><span·class="p">.</span><span·class="w">214 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldr</span><span·class="p"·data-group-id="3485468210-84">(</span><span·class="n">Fun2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">frag_names</span><span·class="p"·data-group-id="3485468210-85">(</s[·...·truncated·by·diffoscope;·len:·125,·SHA:·e52cbcf1317ac837399f909317a493a053b9ac995b280b74fa1cace28dd31d7e·...·]-84">)</span><span·class="p">.</span><span·class="w">
  
215 </span><span·class="nf">table_info</span><span·class="p"·data-group-id="9090985867-86">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9090985867-87">{</span><span·class="n">Tab</[·...·truncated·by·diffoscope;·len:·249,·SHA:·e8378c5577ec2fcf350f786701f34535314de770c9efa0320ebfb37c465c0d32·...·]-86">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">215 </span><span·class="nf">table_info</span><span·class="p"·data-group-id="3485468210-86">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3485468210-87">{</span><span·class="n">Tab</[·...·truncated·by·diffoscope;·len:·249,·SHA:·55a9b1f0a78ef357f4b0309c2bb97801d215e7576a10257417785c58f6c941f9·...·]-86">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
216 ····</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">key_to_frag_name</span><span·class="p"·data-group-id="9090985867-88">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="9090985867-88">)</span><span·class="p">,</span><span·class="w">216 ····</span><span·class="n">Frag</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">key_to_frag_name</span><span·class="p"·data-group-id="3485468210-88">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="3485468210-88">)</span><span·class="p">,</span><span·class="w">
217 ····</span><span·class="nf">table_info2</span><span·class="p"·data-group-id="9090985867-89">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·142,·SHA:·635048c369032d6a68b11931e595e3cc8e2a312e5bf84f2864c86ae8b1aeeda3·...·]-89">)</span><span·class="p">;</span><span·class="w">217 ····</span><span·class="nf">table_info2</span><span·class="p"·data-group-id="3485468210-89">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·142,·SHA:·9602021129c712870c8427ec06c2e86451e1aad772e0989a798e9082ee20d71d·...·]-89">)</span><span·class="p">;</span><span·class="w">
218 </span><span·class="nf">table_info</span><span·class="p"·data-group-id="9090985867-90">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·67,·SHA:·752e900ef50b9e7e1372073103b28a9a0bf9b71aa54415fb17d5a5bf2b6df468·...·]-90">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">218 </span><span·class="nf">table_info</span><span·class="p"·data-group-id="3485468210-90">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·67,·SHA:·c6089d0422cb47d1a73b5f023d3e2758a54f64d7d61af083bc4770786a1052e2·...·]-90">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
219 ····</span><span·class="nf">table_info2</span><span·class="p"·data-group-id="9090985867-91">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·141,·SHA:·6f9afc08d6afd6c5ba331625249398132865292fbe2e5341a51348e001f8d980·...·]-91">)</span><span·class="p">.</span><span·class="w">219 ····</span><span·class="nf">table_info2</span><span·class="p"·data-group-id="3485468210-91">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·141,·SHA:·c9466d911b3ea35c915a33bdf7f7c1558470f8be9ee8b518d1ac1542030ec372·...·]-91">)</span><span·class="p">.</span><span·class="w">
  
220 </span><span·class="nf">table_info2</span><span·class="p"·data-group-id="9090985867-92">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·142,·SHA:·635048c369032d6a68b11931e595e3cc8e2a312e5bf84f2864c86ae8b1aeeda3·...·]-92">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">220 </span><span·class="nf">table_info2</span><span·class="p"·data-group-id="3485468210-92">(</span><span·class="n">ActivityId</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Opaque</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·142,·SHA:·9602021129c712870c8427ec06c2e86451e1aad772e0989a798e9082ee20d71d·...·]-92">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
221 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Item</span><span·class="w">·</span><span·class="k">of</span><span·class="w">221 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Item</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
222 ········</span><span·class="nb">size</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">222 ········</span><span·class="nb">size</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
223 ············</span><span·class="n">SumFun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="9090985867-93">(</span><span·class="p"·data-group-id="9090985867-94">{</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Size</span><span·class="p"·data-group-id="9090985867-94">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·89,·SHA:·577a47a6ef2d524f49fc08a17b759cf7a4bdfad7319cdf3cb2ae2369586b70e5·...·]-93">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Acc</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Size</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">223 ············</span><span·class="n">SumFun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3485468210-93">(</span><span·class="p"·data-group-id="3485468210-94">{</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Size</span><span·class="p"·data-group-id="3485468210-94">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·89,·SHA:·82f213d12eb207122e210e07a8687582856efe993491b096ddb718e832c470e6·...·]-93">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Acc</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Size</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
224 ············</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="9090985867-95">(</span><span·class="n">SumFun</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">frag_size</span><span·class="p"·data-group-id="9090985867-96">(</s[·...·truncated·by·diffoscope;·len:·283,·SHA:·15234c422bd14533a1a3f5459b280a0e39077485f9dccd2ce723506d615f44c4·...·]-95">)</span><span·class="p">;</span><span·class="w">224 ············</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="3485468210-95">(</span><span·class="n">SumFun</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">frag_size</span><span·class="p"·data-group-id="3485468210-96">(</s[·...·truncated·by·diffoscope;·len:·283,·SHA:·2dd417dce4b9ad5063e70adfcf16d4262cbb17ef14c9c5a420373648ad880da6·...·]-95">)</span><span·class="p">;</span><span·class="w">
225 ········</span><span·class="nb">memory</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">225 ········</span><span·class="nb">memory</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
226 ············</span><span·class="n">SumFun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="9090985867-97">(</span><span·class="p"·data-group-id="9090985867-98">{</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Size</span><span·class="p"·data-group-id="9090985867-98">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·89,·SHA:·577a47a6ef2d524f49fc08a17b759cf7a4bdfad7319cdf3cb2ae2369586b70e5·...·]-97">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Acc</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Size</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">226 ············</span><span·class="n">SumFun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3485468210-97">(</span><span·class="p"·data-group-id="3485468210-98">{</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Size</span><span·class="p"·data-group-id="3485468210-98">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·89,·SHA:·82f213d12eb207122e210e07a8687582856efe993491b096ddb718e832c470e6·...·]-97">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Acc</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Size</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
227 ············</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="9090985867-99">(</span><span·class="n">SumFun</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">frag_memory</span><span·class="p"·data-group-id="9090985867-100">([·...·truncated·by·diffoscope;·len:·287,·SHA:·72d77e8cace2836f723833aa9bdcd9b8d556e558a6b93cbbcec1188393ed8bab·...·]-99">)</span><span·class="p">;</span><span·class="w">227 ············</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="3485468210-99">(</span><span·class="n">SumFun</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">frag_memory</span><span·class="p"·data-group-id="3485468210-100">([·...·truncated·by·diffoscope;·len:·287,·SHA:·c891b36ebf882ff6deac9a9b6eb9a88e3a22dbd39183a57f56ba6e48748cc3a7·...·]-99">)</span><span·class="p">;</span><span·class="w">
228 ········</span><span·class="ss">base_table</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">228 ········</span><span·class="ss">base_table</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
229 ············</span><span·class="nf">lookup_prop</span><span·class="p"·data-group-id="9090985867-101">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">base_table</span><span·class="p"·data-group-id="9090985867-101">)</span><span·class="p">;</span><span·class="w">229 ············</span><span·class="nf">lookup_prop</span><span·class="p"·data-group-id="3485468210-101">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">base_table</span><span·class="p"·data-group-id="3485468210-101">)</span><span·class="p">;</span><span·class="w">
230 ········</span><span·class="ss">node_pool</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">230 ········</span><span·class="ss">node_pool</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
231 ············</span><span·class="nf">lookup_prop</span><span·class="p"·data-group-id="9090985867-102">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node_pool</span><span·class="p"·data-group-id="9090985867-102">)</span><span·class="p">;</span><span·class="w">231 ············</span><span·class="nf">lookup_prop</span><span·class="p"·data-group-id="3485468210-102">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">node_pool</span><span·class="p"·data-group-id="3485468210-102">)</span><span·class="p">;</span><span·class="w">
Max diff block lines reached; 65493/151451 bytes (43.24%) of diff not shown.
816 B
html2text {}
Max HTML report size reached
71.9 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_app_c.html
    
Offset 127, 148 lines modifiedOffset 127, 148 lines modified
  
127 <h2·id="mnesia_frag_hash-callback-behavior"·class="section-heading">127 <h2·id="mnesia_frag_hash-callback-behavior"·class="section-heading">
128 ··<a·href="#mnesia_frag_hash-callback-behavior"·class="hover-link">128 ··<a·href="#mnesia_frag_hash-callback-behavior"·class="hover-link">
129 ····<i·class="ri-link-m"·aria-hidden="true"></i>129 ····<i·class="ri-link-m"·aria-hidden="true"></i>
130 ··</a>130 ··</a>
131 ··<span·class="text">mnesia_frag_hash·Callback·Behavior</span>131 ··<span·class="text">mnesia_frag_hash·Callback·Behavior</span>
132 </h2>132 </h2>
133 <pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2045294213-1">(</span><span·class="ss">mnesia_frag_hash</span><span·class="p"·data-group-id="2045294213-1">)</span><span·class="p">.</span><span·class="w">133 <pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2188024754-1">(</span><span·class="ss">mnesia_frag_hash</span><span·class="p"·data-group-id="2188024754-1">)</span><span·class="p">.</span><span·class="w">
134 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="2045294213-2">(</span><span·class="p"·data-group-id="2045294213-3">[</span><span·class="p"·data-group-id="2045294213-4">{</span><span·class="ss">nowarn_deprecated_function</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·460,·SHA:·b24a0cab5bc71408eea9c25300a67e2ae86e5559cb15a5efc8fb1ea944c5d69d·...·]-2">)</span><span·class="p">.</span><span·class="w">134 </span><span·class="p">-</span><span·class="na">compile</span><span·class="p"·data-group-id="2188024754-2">(</span><span·class="p"·data-group-id="2188024754-3">[</span><span·class="p"·data-group-id="2188024754-4">{</span><span·class="ss">nowarn_deprecated_function</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·460,·SHA:·e607b6ac4f9f16e258cddd1feea29a5a74ca42fcb85a36f12ab3e34f1c4f22e8·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
135 </span><span·class="c1">%%·Fragmented·Table·Hashing·callback·functions</span><span·class="w">135 </span><span·class="c1">%%·Fragmented·Table·Hashing·callback·functions</span><span·class="w">
136 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2045294213-7">(</span><span·class="p"·data-group-id="2045294213-8">[</span><span·class="w">136 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2188024754-7">(</span><span·class="p"·data-group-id="2188024754-8">[</span><span·class="w">
137 ·········</span><span·class="ss">init_state</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">137 ·········</span><span·class="ss">init_state</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">
138 ·········</span><span·class="ss">add_frag</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">138 ·········</span><span·class="ss">add_frag</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
139 ·········</span><span·class="ss">del_frag</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">139 ·········</span><span·class="ss">del_frag</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
140 ·········</span><span·class="ss">key_to_frag_number</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">140 ·········</span><span·class="ss">key_to_frag_number</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">
141 ·········</span><span·class="ss">match_spec_to_frag_numbers</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">141 ·········</span><span·class="ss">match_spec_to_frag_numbers</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">
142 ········</span><span·class="p"·data-group-id="2045294213-8">]</span><span·class="p"·data-group-id="2045294213-7">)</span><span·class="p">.</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="3027453177-1">(</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="w">142 ········</span><span·class="p"·data-group-id="2188024754-8">]</span><span·class="p"·data-group-id="2188024754-7">)</span><span·class="p">.</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="3994131873-1">(</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="w">
143 ····</span><span·class="p"·data-group-id="3027453177-2">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="w">143 ····</span><span·class="p"·data-group-id="3994131873-2">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="w">
144 ·····</span><span·class="ss">next_n_to_split</span><span·class="p">,</span><span·class="w">144 ·····</span><span·class="ss">next_n_to_split</span><span·class="p">,</span><span·class="w">
145 ·····</span><span·class="ss">n_doubles</span><span·class="p">,</span><span·class="w">145 ·····</span><span·class="ss">n_doubles</span><span·class="p">,</span><span·class="w">
146 ·····</span><span·class="ss">function</span><span·class="p"·data-group-id="3027453177-2">}</span><span·class="p"·data-group-id="3027453177-1">)</span><span·class="p">.</span><span·class="w">146 ·····</span><span·class="ss">function</span><span·class="p"·data-group-id="3994131873-2">}</span><span·class="p"·data-group-id="3994131873-1">)</span><span·class="p">.</span><span·class="w">
  
147 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">147 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">init_state</span><span·class="p"·data-group-id="3027453177-3">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="3027453177-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">NewState</span><span·class="w">·</span><span·class="k">when</span><span·class="w">148 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">init_state</span><span·class="p"·data-group-id="3994131873-3">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="3994131873-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">NewState</span><span·class="w">·</span><span·class="k">when</span><span·class="w">
149 ······</span><span·class="n">Tab</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="3027453177-4">(</span><span·class="p"·data-group-id="3027453177-4">)</span><span·class="p">,</span><span·class="w">149 ······</span><span·class="n">Tab</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="3994131873-4">(</span><span·class="p"·data-group-id="3994131873-4">)</span><span·class="p">,</span><span·class="w">
150 ······</span><span·class="n">State</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3027453177-5">(</span><span·class="p"·data-group-id="3027453177-5">)</span><span·class="p">,</span><span·class="w">150 ······</span><span·class="n">State</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3994131873-5">(</span><span·class="p"·data-group-id="3994131873-5">)</span><span·class="p">,</span><span·class="w">
151 ······</span><span·class="n">NewState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3027453177-6">(</span><span·class="p"·data-group-id="3027453177-6">)</span><span·class="p">.</span><span·class="w">151 ······</span><span·class="n">NewState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3994131873-6">(</span><span·class="p"·data-group-id="3994131873-6">)</span><span·class="p">.</span><span·class="w">
152 </span><span·class="nf">init_state</span><span·class="p"·data-group-id="3027453177-7">(</span><span·class="p">_</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="3027453177-7">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">State</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">152 </span><span·class="nf">init_state</span><span·class="p"·data-group-id="3994131873-7">(</span><span·class="p">_</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="3994131873-7">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">State</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
153 ····</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3027453177-8">{</span><span·class="ss">n_fragments</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">153 ····</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3994131873-8">{</span><span·class="ss">n_fragments</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
154 ················</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">154 ················</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
155 ················</span><span·class="ss">n_doubles</span><span·class="w">·······</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">155 ················</span><span·class="ss">n_doubles</span><span·class="w">·······</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
156 ················</span><span·class="ss">function</span><span·class="w">········</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">phash2</span><span·class="p"·data-group-id="3027453177-8">}</span><span·class="p">.</span><span·class="w">156 ················</span><span·class="ss">function</span><span·class="w">········</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">phash2</span><span·class="p"·data-group-id="3994131873-8">}</span><span·class="p">.</span><span·class="w">
  
157 </span><span·class="nf">convert_old_state</span><span·class="p"·data-group-id="3027453177-9">(</span><span·class="p"·data-group-id="3027453177-10">{</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">P</span><sp[·...·truncated·by·diffoscope;·len:·164,·SHA:·f68cf8121dad216e66e4d70b5c9b7b01f01741bd5c340d4f447d5374729d860b·...·]-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">157 </span><span·class="nf">convert_old_state</span><span·class="p"·data-group-id="3994131873-9">(</span><span·class="p"·data-group-id="3994131873-10">{</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">P</span><sp[·...·truncated·by·diffoscope;·len:·164,·SHA:·4410adbfdffe5ad96239d5d416090cec13f2da61ce094f216865b12d77a9a48c·...·]-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
158 ····</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3027453177-11">{</span><span·class="ss">n_fragments</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="n">N</span><span·class="p">,</span><span·class="w">158 ····</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3994131873-11">{</span><span·class="ss">n_fragments</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="n">N</span><span·class="p">,</span><span·class="w">
159 ················</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P</span><span·class="p">,</span><span·class="w">159 ················</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P</span><span·class="p">,</span><span·class="w">
160 ················</span><span·class="ss">n_doubles</span><span·class="w">·······</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L</span><span·class="p">,</span><span·class="w">160 ················</span><span·class="ss">n_doubles</span><span·class="w">·······</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L</span><span·class="p">,</span><span·class="w">
161 ················</span><span·class="ss">function</span><span·class="w">········</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">phash</span><span·class="p"·data-group-id="3027453177-11">}</span><span·class="p">.</span><span·class="w">161 ················</span><span·class="ss">function</span><span·class="w">········</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">phash</span><span·class="p"·data-group-id="3994131873-11">}</span><span·class="p">.</span><span·class="w">
  
162 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">162 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">
163 </span><span·class="w">163 </span><span·class="w">
164 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">add_frag</span><span·class="p"·data-group-id="3027453177-12">(</span><span·class="n">State</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3027453177-13">(</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·452,·SHA:·4be789ab1af94352d3a18579b3aa87e5d04253c97b97a1ea8fe0e356e8f9512b·...·]-14">}</span><span·class="w">·</span><span·class="k">when</span><span·class="w">164 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">add_frag</span><span·class="p"·data-group-id="3994131873-12">(</span><span·class="n">State</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3994131873-13">(</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·452,·SHA:·5ec5d7c47ab926e1c6fc27b3335c75c6f4259874ea33629add071597d7b1bc23·...·]-14">}</span><span·class="w">·</span><span·class="k">when</span><span·class="w">
165 ······</span><span·class="n">NewState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3027453177-15">(</span><span·class="p"·data-group-id="3027453177-15">)</span><span·class="p">,</span><span·class="w">165 ······</span><span·class="n">NewState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3994131873-15">(</span><span·class="p"·data-group-id="3994131873-15">)</span><span·class="p">,</span><span·class="w">
166 ······</span><span·class="n">IterFrags</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3027453177-16">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="3027453177-17">(</span><span·class="p"·data-group-id="3027453177-17">)</span><span·class="p"·data-group-id="3027453177-16">]</span><span·class="p">,</span><span·class="w">166 ······</span><span·class="n">IterFrags</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3994131873-16">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="3994131873-17">(</span><span·class="p"·data-group-id="3994131873-17">)</span><span·class="p"·data-group-id="3994131873-16">]</span><span·class="p">,</span><span·class="w">
167 ······</span><span·class="n">AdditionalLockFrags</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3027453177-18">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="3027453177-19">(</span><span·class="p"·data-group-id="3027453177-19">)</span><span·class="p"·data-group-id="3027453177-18">]</span><span·class="p">.</span><span·class="w">167 ······</span><span·class="n">AdditionalLockFrags</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3994131873-18">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="3994131873-19">(</span><span·class="p"·data-group-id="3994131873-19">)</span><span·class="p"·data-group-id="3994131873-18">]</span><span·class="p">.</span><span·class="w">
168 </span><span·class="nf">add_frag</span><span·class="p"·data-group-id="3027453177-20">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3027453177-21">{</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·569,·SHA:·0ed598f7bb9d2a660df45753ec9f5496905240c9498abe822ea3974e342ead8a·...·]-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">168 </span><span·class="nf">add_frag</span><span·class="p"·data-group-id="3994131873-20">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3994131873-21">{</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·569,·SHA:·d1f816f0795b8665e84327db19d82eaf87c0ab2503c5d87658f9e88b90a661c6·...·]-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
169 ····</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">SplitN</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">169 ····</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">SplitN</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
170 ····</span><span·class="n">NewN</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">170 ····</span><span·class="n">NewN</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
171 ····</span><span·class="n">State2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">power2</span><span·class="p"·data-group-id="3027453177-22">(</span><span·class="n">L</span><span·class="p"·data-group-id="3027453177-22">)</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="w">·</span><span·class="k">of</span><span·class="w">171 ····</span><span·class="n">State2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">power2</span><span·class="p"·data-group-id="3994131873-22">(</span><span·class="n">L</span><span·class="p"·data-group-id="3994131873-22">)</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
172 ········</span><span·class="n">P2</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">P2</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">P</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">172 ········</span><span·class="n">P2</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">P2</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">P</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
173 ············</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3027453177-23">{</span><span·class="ss">n_fragments</span><span·class="w">······</span><span·class="o">=</span><span·class="w">·</span><span·class="n">NewN</span><span·class="p">,</span><span·class="w">173 ············</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3994131873-23">{</span><span·class="ss">n_fragments</span><span·class="w">······</span><span·class="o">=</span><span·class="w">·</span><span·class="n">NewN</span><span·class="p">,</span><span·class="w">
174 ·····························</span><span·class="ss">n_doubles</span><span·class="w">········</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">174 ·····························</span><span·class="ss">n_doubles</span><span·class="w">········</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
175 ·····························</span><span·class="ss">next_n_to_split</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="3027453177-23">}</span><span·class="p">;</span><span·class="w">175 ·····························</span><span·class="ss">next_n_to_split</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="3994131873-23">}</span><span·class="p">;</span><span·class="w">
176 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ············</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3027453177-24">{</span><span·class="ss">n_fragments</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="n">NewN</span><span·class="p">,</span><span·class="w">177 ············</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3994131873-24">{</span><span·class="ss">n_fragments</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="n">NewN</span><span·class="p">,</span><span·class="w">
178 ·····························</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P</span><span·class="p"·data-group-id="3027453177-24">}</span><span·class="w">178 ·····························</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P</span><span·class="p"·data-group-id="3994131873-24">}</span><span·class="w">
179 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">179 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
180 ····</span><span·class="p"·data-group-id="3027453177-25">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3027453177-26">[</span><span·class="n">SplitN</span><span·class="p"·data-group-id="3027453177-26">]</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·204,·SHA:·78bdd7c591d47194675651c59eb4807f5af87eea781c67fdc7fe0ebbfa12f3d8·...·]-25">}</span><span·class="p">;</span><span·class="w">180 ····</span><span·class="p"·data-group-id="3994131873-25">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3994131873-26">[</span><span·class="n">SplitN</span><span·class="p"·data-group-id="3994131873-26">]</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·204,·SHA:·cee439d36dd7d6c060838ffce786c4e649215122077477c2bbb6f1495116d4a9·...·]-25">}</span><span·class="p">;</span><span·class="w">
181 </span><span·class="nf">add_frag</span><span·class="p"·data-group-id="3027453177-28">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="3027453177-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">181 </span><span·class="nf">add_frag</span><span·class="p"·data-group-id="3994131873-28">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="3994131873-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
182 ····</span><span·class="n">State</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">convert_old_state</span><span·class="p"·data-group-id="3027453177-29">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="3027453177-29">)</span><span·class="p">,</span><span·class="w">182 ····</span><span·class="n">State</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">convert_old_state</span><span·class="p"·data-group-id="3994131873-29">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="3994131873-29">)</span><span·class="p">,</span><span·class="w">
183 ····</span><span·class="nf">add_frag</span><span·class="p"·data-group-id="3027453177-30">(</span><span·class="n">State</span><span·class="p"·data-group-id="3027453177-30">)</span><span·class="p">.</span><span·class="w">183 ····</span><span·class="nf">add_frag</span><span·class="p"·data-group-id="3994131873-30">(</span><span·class="n">State</span><span·class="p"·data-group-id="3994131873-30">)</span><span·class="p">.</span><span·class="w">
  
184 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">184 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">
185 </span><span·class="w">185 </span><span·class="w">
186 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">del_frag</span><span·class="p"·data-group-id="3027453177-31">(</span><span·class="n">State</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3027453177-32">(</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·452,·SHA:·2f289a4a3a6caa1756fe1f162f4655adfd14de45a1a28a923bfb669b3fcf4719·...·]-33">}</span><span·class="w">·</span><span·class="k">when</span><span·class="w">186 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">del_frag</span><span·class="p"·data-group-id="3994131873-31">(</span><span·class="n">State</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3994131873-32">(</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·452,·SHA:·ab657dc0365fba9d245b37d5e76527b4559836772e708d8a89ef65cb0c988855·...·]-33">}</span><span·class="w">·</span><span·class="k">when</span><span·class="w">
187 ······</span><span·class="n">NewState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3027453177-34">(</span><span·class="p"·data-group-id="3027453177-34">)</span><span·class="p">,</span><span·class="w">187 ······</span><span·class="n">NewState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3994131873-34">(</span><span·class="p"·data-group-id="3994131873-34">)</span><span·class="p">,</span><span·class="w">
188 ······</span><span·class="n">IterFrags</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3027453177-35">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="3027453177-36">(</span><span·class="p"·data-group-id="3027453177-36">)</span><span·class="p"·data-group-id="3027453177-35">]</span><span·class="p">,</span><span·class="w">188 ······</span><span·class="n">IterFrags</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3994131873-35">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="3994131873-36">(</span><span·class="p"·data-group-id="3994131873-36">)</span><span·class="p"·data-group-id="3994131873-35">]</span><span·class="p">,</span><span·class="w">
189 ······</span><span·class="n">AdditionalLockFrags</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3027453177-37">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="3027453177-38">(</span><span·class="p"·data-group-id="3027453177-38">)</span><span·class="p"·data-group-id="3027453177-37">]</span><span·class="p">.</span><span·class="w">189 ······</span><span·class="n">AdditionalLockFrags</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3994131873-37">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="3994131873-38">(</span><span·class="p"·data-group-id="3994131873-38">)</span><span·class="p"·data-group-id="3994131873-37">]</span><span·class="p">.</span><span·class="w">
190 </span><span·class="nf">del_frag</span><span·class="p"·data-group-id="3027453177-39">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3027453177-40">{</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·569,·SHA:·8cdb1864df3e0fdbf42554c9213037962479f941dd9bd726c042679201e7a2e7·...·]-39">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">190 </span><span·class="nf">del_frag</span><span·class="p"·data-group-id="3994131873-39">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3994131873-40">{</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·569,·SHA:·f6e37402385fa257a2ead2ba32edf6276ba8de2c1ac85fc3932a6e3f05553aec·...·]-39">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
191 ····</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">SplitN</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">191 ····</span><span·class="n">P</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">SplitN</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
192 ····</span><span·class="k">if</span><span·class="w">192 ····</span><span·class="k">if</span><span·class="w">
193 ········</span><span·class="n">P</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">193 ········</span><span·class="n">P</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
194 ············</span><span·class="n">L2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">194 ············</span><span·class="n">L2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
195 ············</span><span·class="n">MergeN</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">power2</span><span·class="p"·data-group-id="3027453177-41">(</span><span·class="n">L2</span><span·class="p"·data-group-id="3027453177-41">)</span><span·class="p">,</span><span·class="w">195 ············</span><span·class="n">MergeN</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">power2</span><span·class="p"·data-group-id="3994131873-41">(</span><span·class="n">L2</span><span·class="p"·data-group-id="3994131873-41">)</span><span·class="p">,</span><span·class="w">
196 ············</span><span·class="n">State2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3027453177-42">{</span><span·class="ss">n_fragments</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">196 ············</span><span·class="n">State2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3994131873-42">{</span><span·class="ss">n_fragments</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
197 ······································</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">MergeN</span><span·class="p">,</span><span·class="w">197 ······································</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">MergeN</span><span·class="p">,</span><span·class="w">
198 ······································</span><span·class="ss">n_doubles</span><span·class="w">·······</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L2</span><span·class="p"·data-group-id="3027453177-42">}</span><span·class="p">,</span><span·class="w">198 ······································</span><span·class="ss">n_doubles</span><span·class="w">·······</span><span·class="o">=</span><span·class="w">·</span><span·class="n">L2</span><span·class="p"·data-group-id="3994131873-42">}</span><span·class="p">,</span><span·class="w">
199 ············</span><span·class="p"·data-group-id="3027453177-43">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3027453177-44">[</span><span·class="n">N</span><span·class="p"·data-group-id="3027453177-44">]</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·201,·SHA:·52a1dfe2d12af71a938b7ca3d871d2665ea4ecb1daa136d3499ca9c71c9b06ca·...·]-43">}</span><span·class="p">;</span><span·class="w">199 ············</span><span·class="p"·data-group-id="3994131873-43">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3994131873-44">[</span><span·class="n">N</span><span·class="p"·data-group-id="3994131873-44">]</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·201,·SHA:·6830122cbb1953395127e3b0857db2b1ab6a53f000e4a6e4737486eeb7cfa4f9·...·]-43">}</span><span·class="p">;</span><span·class="w">
200 ········</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">200 ········</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
201 ············</span><span·class="n">MergeN</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P</span><span·class="p">,</span><span·class="w">201 ············</span><span·class="n">MergeN</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">P</span><span·class="p">,</span><span·class="w">
202 ············</span><span·class="n">State2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3027453177-46">{</span><span·class="ss">n_fragments</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">202 ············</span><span·class="n">State2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3994131873-46">{</span><span·class="ss">n_fragments</span><span·class="w">·····</span><span·class="o">=</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
203 ······································</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">MergeN</span><span·class="p"·data-group-id="3027453177-46">}</span><span·class="p">,</span><span·class="w">203 ······································</span><span·class="ss">next_n_to_split</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">MergeN</span><span·class="p"·data-group-id="3994131873-46">}</span><span·class="p">,</span><span·class="w">
204 ············</span><span·class="p"·data-group-id="3027453177-47">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3027453177-48">[</span><span·class="n">N</span><span·class="p"·data-group-id="3027453177-48">]</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·201,·SHA:·f8b198770ee6de089f65a8260f4b2bf7439cff4498cc9d53a551c1eec288580a·...·]-47">}</span><span·class="w">204 ············</span><span·class="p"·data-group-id="3994131873-47">{</span><span·class="n">State2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3994131873-48">[</span><span·class="n">N</span><span·class="p"·data-group-id="3994131873-48">]</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·201,·SHA:·7470a999a1f71325a997b8937289b48b4b654ebd610f93e298c02060814bd6f9·...·]-47">}</span><span·class="w">
205 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">205 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
206 </span><span·class="nf">del_frag</span><span·class="p"·data-group-id="3027453177-50">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="3027453177-50">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">206 </span><span·class="nf">del_frag</span><span·class="p"·data-group-id="3994131873-50">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="3994131873-50">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
207 ····</span><span·class="n">State</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">convert_old_state</span><span·class="p"·data-group-id="3027453177-51">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="3027453177-51">)</span><span·class="p">,</span><span·class="w">207 ····</span><span·class="n">State</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">convert_old_state</span><span·class="p"·data-group-id="3994131873-51">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="3994131873-51">)</span><span·class="p">,</span><span·class="w">
208 ····</span><span·class="nf">del_frag</span><span·class="p"·data-group-id="3027453177-52">(</span><span·class="n">State</span><span·class="p"·data-group-id="3027453177-52">)</span><span·class="p">.</span><span·class="w">208 ····</span><span·class="nf">del_frag</span><span·class="p"·data-group-id="3994131873-52">(</span><span·class="n">State</span><span·class="p"·data-group-id="3994131873-52">)</span><span·class="p">.</span><span·class="w">
  
209 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">209 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">
210 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="3027453177-53">(</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="3027453177-53">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Fragnum</span><span·class="w">·</span><span·class="k">when</span><span·class="w">210 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="3994131873-53">(</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="3994131873-53">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Fragnum</span><span·class="w">·</span><span·class="k">when</span><span·class="w">
211 ······</span><span·class="n">State</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3027453177-54">(</span><span·class="p"·data-group-id="3027453177-54">)</span><span·class="p">,</span><span·class="w">211 ······</span><span·class="n">State</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3994131873-54">(</span><span·class="p"·data-group-id="3994131873-54">)</span><span·class="p">,</span><span·class="w">
212 ······</span><span·class="n">Key</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3027453177-55">(</span><span·class="p"·data-group-id="3027453177-55">)</span><span·class="p">,</span><span·class="w">212 ······</span><span·class="n">Key</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3994131873-55">(</span><span·class="p"·data-group-id="3994131873-55">)</span><span·class="p">,</span><span·class="w">
213 ······</span><span·class="n">Fragnum</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3027453177-56">(</span><span·class="p"·data-group-id="3027453177-56">)</span><span·class="p">.</span><span·class="w">213 ······</span><span·class="n">Fragnum</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3994131873-56">(</span><span·class="p"·data-group-id="3994131873-56">)</span><span·class="p">.</span><span·class="w">
214 </span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="3027453177-57">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3027453177-58">{</span><span·class="ss">function</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">p[·...·truncated·by·diffoscope;·len:·536,·SHA:·393e94fb214ccfde2311c55c6dd4ce64b2f8e489c3f71f9385631717cb6d441b·...·]-57">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 </span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="3994131873-57">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3994131873-58">{</span><span·class="ss">function</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">p[·...·truncated·by·diffoscope;·len:·536,·SHA:·bce4468e690d80ac308433dd5368e52850e135f9c6578d7d47d164946c369024·...·]-57">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
215 ····</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">phash</span><span·class="p"·data-group-id="3027453177-59">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">power2</span><span·class="p"·data-group-id="3027453177-60">(</span><span·class="n">L</span><span·class="w">·</span><span·class="o">+</span><spa[·...·truncated·by·diffoscope;·len:·140,·SHA:·376ab0bcda8dbe0c1d39f5e99cad72e2ea10034097fd8a07c04cc37220f7fc2c·...·]-59">)</span><span·class="p">,</span><span·class="w">215 ····</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">phash</span><span·class="p"·data-group-id="3994131873-59">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">power2</span><span·class="p"·data-group-id="3994131873-60">(</span><span·class="n">L</span><span·class="w">·</span><span·class="o">+</span><spa[·...·truncated·by·diffoscope;·len:·140,·SHA:·d32223fc475796150442c92352659d60ee9f482c175d2b58c496e6b96772d276·...·]-59">)</span><span·class="p">,</span><span·class="w">
216 ····</span><span·class="k">if</span><span·class="w">216 ····</span><span·class="k">if</span><span·class="w">
217 ········</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">217 ········</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
218 ············</span><span·class="n">A</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="nf">power2</span><span·class="p"·data-group-id="3027453177-61">(</span><span·class="n">L</span><span·class="p"·data-group-id="3027453177-61">)</span><span·class="p">;</span><span·class="w">218 ············</span><span·class="n">A</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="nf">power2</span><span·class="p"·data-group-id="3994131873-61">(</span><span·class="n">L</span><span·class="p"·data-group-id="3994131873-61">)</span><span·class="p">;</span><span·class="w">
219 ········</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">219 ········</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
220 ············</span><span·class="n">A</span><span·class="w">220 ············</span><span·class="n">A</span><span·class="w">
221 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">221 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
222 </span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="3027453177-62">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3027453177-63">{</span><span·class="ss">function</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">p[·...·truncated·by·diffoscope;·len:·537,·SHA:·75fef058ad119656d95d549adbd71cd0f27188aa439feec2adf6da2af8b440e7·...·]-62">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">222 </span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="3994131873-62">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3994131873-63">{</span><span·class="ss">function</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nb">p[·...·truncated·by·diffoscope;·len:·537,·SHA:·89572e5353f98b6c8b09bf08e315c58adfa92d94a98d55ec9b587dfd78774e96·...·]-62">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
223 ····</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">phash2</span><span·class="p"·data-group-id="3027453177-64">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">power2</span><span·class="p"·data-group-id="3027453177-65">(</span><span·class="n">L</span><span·class="w">·</span><span·class="o">+</span><spa[·...·truncated·by·diffoscope;·len:·140,·SHA:·10daf8a912569e2132e5d5f4ab91237701c0a70c7cbc1a4ce9917e45850104a8·...·]-64">)</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">223 ····</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">phash2</span><span·class="p"·data-group-id="3994131873-64">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">power2</span><span·class="p"·data-group-id="3994131873-65">(</span><span·class="n">L</span><span·class="w">·</span><span·class="o">+</span><spa[·...·truncated·by·diffoscope;·len:·140,·SHA:·4c3819ed7348fab9780a904dc474d3a6ff4e78da43d201b339950e32c2cb3c10·...·]-64">)</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
224 ····</span><span·class="k">if</span><span·class="w">224 ····</span><span·class="k">if</span><span·class="w">
225 ········</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">225 ········</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
226 ············</span><span·class="n">A</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="nf">power2</span><span·class="p"·data-group-id="3027453177-66">(</span><span·class="n">L</span><span·class="p"·data-group-id="3027453177-66">)</span><span·class="p">;</span><span·class="w">226 ············</span><span·class="n">A</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="nf">power2</span><span·class="p"·data-group-id="3994131873-66">(</span><span·class="n">L</span><span·class="p"·data-group-id="3994131873-66">)</span><span·class="p">;</span><span·class="w">
227 ········</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">227 ········</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
228 ············</span><span·class="n">A</span><span·class="w">228 ············</span><span·class="n">A</span><span·class="w">
229 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">229 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
230 </span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="3027453177-67">(</span><span·class="n">OldState</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="3027453177-67">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">230 </span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="3994131873-67">(</span><span·class="n">OldState</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="3994131873-67">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
231 ····</span><span·class="n">State</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">convert_old_state</span><span·class="p"·data-group-id="3027453177-68">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="3027453177-68">)</span><span·class="p">,</span><span·class="w">231 ····</span><span·class="n">State</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">convert_old_state</span><span·class="p"·data-group-id="3994131873-68">(</span><span·class="n">OldState</span><span·class="p"·data-group-id="3994131873-68">)</span><span·class="p">,</span><span·class="w">
232 ····</span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="3027453177-69">(</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="3027453177-69">)</span><span·class="p">.</span><span·class="w">232 ····</span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="3994131873-69">(</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="3994131873-69">)</span><span·class="p">.</span><span·class="w">
  
233 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">233 </span><span·class="c1">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span><span·class="w">
234 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">match_spec_to_frag_numbers</span><span·class="p"·data-group-id="3027453177-70">(</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MatchSpec</span><span·class="p"·data-group-id="3027453177-70">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Fragnums</span><span·class="w">·</span><span·class="k">when</span><span·class="w">234 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">match_spec_to_frag_numbers</span><span·class="p"·data-group-id="3994131873-70">(</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MatchSpec</span><span·class="p"·data-group-id="3994131873-70">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Fragnums</span><span·class="w">·</span><span·class="k">when</span><span·class="w">
235 ······</span><span·class="n">State</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3027453177-71">(</span><span·class="p"·data-group-id="3027453177-71">)</span><span·class="p">,</span><span·class="w">235 ······</span><span·class="n">State</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3994131873-71">(</span><span·class="p"·data-group-id="3994131873-71">)</span><span·class="p">,</span><span·class="w">
236 ······</span><span·class="n">MatchSpec</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match_spec</span><span·class="p"·data-group-id="3027453177-72">(</span><span·class="p"·data-group-id="3027453177-72">)</span><span·class="p">,</span><span·class="w">236 ······</span><span·class="n">MatchSpec</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match_spec</span><span·class="p"·data-group-id="3994131873-72">(</span><span·class="p"·data-group-id="3994131873-72">)</span><span·class="p">,</span><span·class="w">
237 ······</span><span·class="n">Fragnums</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3027453177-73">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="3027453177-74">(</span><span·class="p"·data-group-id="3027453177-74">)</span><span·class="p"·data-group-id="3027453177-73">]</span><span·class="p">.</span><span·class="w">237 ······</span><span·class="n">Fragnums</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3994131873-73">[</span><span·class="nf">integer</span><span·class="p"·data-group-id="3994131873-74">(</span><span·class="p"·data-group-id="3994131873-74">)</span><span·class="p"·data-group-id="3994131873-73">]</span><span·class="p">.</span><span·class="w">
238 </span><span·class="nf">match_spec_to_frag_numbers</span><span·class="p"·data-group-id="3027453177-75">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3027453177-76">{</span><span·class="ss">n_fragments</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·284,·SHA:·5a1871390ed41a737d9c8fdb8a50f99f7d72560559ff9a4714e350273b2e6b6a·...·]-75">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">238 </span><span·class="nf">match_spec_to_frag_numbers</span><span·class="p"·data-group-id="3994131873-75">(</span><span·class="o">#</span><span·class="ss">hash_state</span><span·class="p"·data-group-id="3994131873-76">{</span><span·class="ss">n_fragments</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n"[·...·truncated·by·diffoscope;·len:·284,·SHA:·52921c70c8e73f314b339fa656933e2a82c5a2409d21f785c05843eea47f6952·...·]-75">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
239 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="n">MatchSpec</span><span·class="w">·</span><span·class="k">of</span><span·class="w">239 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="n">MatchSpec</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
240 ········</span><span·class="p"·data-group-id="3027453177-77">[</span><span·class="p"·data-group-id="3027453177-78">{</span><span·class="n">HeadPat</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·[·...·truncated·by·diffoscope;·len:·554,·SHA:·a4339b3fd146c11b0feebf21f0cc58cd80a102550a0e6d592423c020b9ceb258·...·]-80">)</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">240 ········</span><span·class="p"·data-group-id="3994131873-77">[</span><span·class="p"·data-group-id="3994131873-78">{</span><span·class="n">HeadPat</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·[·...·truncated·by·diffoscope;·len:·554,·SHA:·0a0b4716c2848b704f39a715cef2e4d2f0da37792996e836bd0ce8088aa334f4·...·]-80">)</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
241 ············</span><span·class="n">KeyPat</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="3027453177-81">(</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">HeadPat</span><span·class="p"·data-group-id="3027453177-81">)</span><span·class="p">,</span><span·class="w">241 ············</span><span·class="n">KeyPat</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="3994131873-81">(</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">HeadPat</span><span·class="p"·data-group-id="3994131873-81">)</span><span·class="p">,</span><span·class="w">
242 ············</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">has_var</span><span·class="p"·data-group-id="3027453177-82">(</span><span·class="n">KeyPat</span><span·class="p"·data-group-id="3027453177-82">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">242 ············</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">has_var</span><span·class="p"·data-group-id="3994131873-82">(</span><span·class="n">KeyPat</span><span·class="p"·data-group-id="3994131873-82">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
243 ················</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">243 ················</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
244 ····················</span><span·class="p"·data-group-id="3027453177-83">[</span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="3027453177-84">(</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="n">KeyPat</span><span·class="p"·data-group-id="30[·...·truncated·by·diffoscope;·len:·62,·SHA:·a4146d2339683480036e38e6723e7985ccdad98c815ce92d54cec248a4ea10ee·...·]-83">]</span><span·class="p">;</span><span·class="w">244 ····················</span><span·class="p"·data-group-id="3994131873-83">[</span><span·class="nf">key_to_frag_number</span><span·class="p"·data-group-id="3994131873-84">(</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="n">KeyPat</span><span·class="p"·data-group-id="39[·...·truncated·by·diffoscope;·len:·62,·SHA:·f1056beeecfe0756dba2fec98002978e00a9f5837f27af425679bfa2c2c4fce5·...·]-83">]</span><span·class="p">;</span><span·class="w">
245 ················</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">245 ················</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 5490/72799 bytes (7.54%) of diff not shown.
639 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_chap1.html
    
Offset 209, 15 lines modifiedOffset 209, 15 lines modified
209 ······<p·class="built-using">209 ······<p·class="built-using">
210 ········Built·using210 ········Built·using
211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
213 ······</p>213 ······</p>
214 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>214 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
215 ····</footer>215 ····</footer>
216 ··</div>216 ··</div>
217 </main>217 </main>
218 </div>218 </div>
219 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>219 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
220 ··<script>220 ··<script>
221 ··let·initialized·=·false;221 ··let·initialized·=·false;
724 B
html2text {}
Max HTML report size reached
163 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_chap2.html
Max HTML report size reached
53.7 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_chap3.html
    
Offset 171, 26 lines modifiedOffset 171, 26 lines modified
171 there·as·well.·This·action·extends·the·set·of·nodes·that·comprise·this171 there·as·well.·This·action·extends·the·set·of·nodes·that·comprise·this
172 particular·<code·class="inline">Mnesia</code>·system.</p></li><li><p><a·href="mnesia.html#del_table_copy/2"><code·class="inline">mnesia:del_table_copy(Tab,·Node)</code></a>·deletes·the172 particular·<code·class="inline">Mnesia</code>·system.</p></li><li><p><a·href="mnesia.html#del_table_copy/2"><code·class="inline">mnesia:del_table_copy(Tab,·Node)</code></a>·deletes·the
173 replica·of·table·<code·class="inline">Tab</code>·at·node·<code·class="inline">Node</code>.·When·the·last·replica·of·a·table·is173 replica·of·table·<code·class="inline">Tab</code>·at·node·<code·class="inline">Node</code>.·When·the·last·replica·of·a·table·is
174 removed,·the·table·is·deleted.</p></li><li><p><a·href="mnesia.html#transform_table/4"><code·class="inline">mnesia:transform_table(Tab,·Fun,·NewAttributeList,·NewRecordName)</code></a>174 removed,·the·table·is·deleted.</p></li><li><p><a·href="mnesia.html#transform_table/4"><code·class="inline">mnesia:transform_table(Tab,·Fun,·NewAttributeList,·NewRecordName)</code></a>
175 changes·the·format·on·all·records·in·table·<code·class="inline">Tab</code>.·It·applies·argument·<code·class="inline">Fun</code>·to175 changes·the·format·on·all·records·in·table·<code·class="inline">Tab</code>.·It·applies·argument·<code·class="inline">Fun</code>·to
176 all·records·in·the·table.·<code·class="inline">Fun</code>·must·be·a·function·that·takes·a·record·of·the176 all·records·in·the·table.·<code·class="inline">Fun</code>·must·be·a·function·that·takes·a·record·of·the
177 old·type,·and·returns·the·record·of·the·new·type.·The·table·key·must·not·be177 old·type,·and·returns·the·record·of·the·new·type.·The·table·key·must·not·be
178 changed.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="9253855347-1">(</span><span·class="ss">old</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9253855347-2">{</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">val</span><spa[·...·truncated·by·diffoscope;·len:·90,·SHA:·710e253a5bbdb6a99f738f74278d0557a2afebbd85628f1658f2e5fa8a6caefc·...·]-1">)</span><span·class="p">.</span><span·class="w">178 changed.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6611090238-1">(</span><span·class="ss">old</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6611090238-2">{</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">val</span><spa[·...·truncated·by·diffoscope;·len:·90,·SHA:·a005619f20984ab88d49bee47e4e75587e46ce214f7f53798da714b64193a57d·...·]-1">)</span><span·class="p">.</span><span·class="w">
179 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="9253855347-3">(</span><span·class="ss">new</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9253855347-4">{</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">val</span><spa[·...·truncated·by·diffoscope;·len:·167,·SHA:·823a7a0898c693dcad30692ee6623aff22f3b6e4480d32aad28d8cf81ae5516d·...·]-3">)</span><span·class="p">.</span><span·class="w">179 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6611090238-3">(</span><span·class="ss">new</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6611090238-4">{</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">val</span><spa[·...·truncated·by·diffoscope;·len:·167,·SHA:·dcd256b5451751ff4eacce98ad9dec44f84fbd66db4723e4e1dd26344e378206·...·]-3">)</span><span·class="p">.</span><span·class="w">
  
180 </span><span·class="n">Transformer</span><span·class="w">·</span><span·class="o">=</span><span·class="w">180 </span><span·class="n">Transformer</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
181 ···</span><span·class="nf">fun</span><span·class="p"·data-group-id="9253855347-5">(</span><span·class="n">X</span><span·class="p"·data-group-id="9253855347-5">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">record</span><span·class="p"·data-group-id="9253855347-6">(</span[·...·truncated·by·diffoscope;·len:·141,·SHA:·0a875087a784b88d08935f10b30870ef6443c67aad43bb6fa5304df2a1e65429·...·]-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">181 ···</span><span·class="nf">fun</span><span·class="p"·data-group-id="6611090238-5">(</span><span·class="n">X</span><span·class="p"·data-group-id="6611090238-5">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">record</span><span·class="p"·data-group-id="6611090238-6">(</span[·...·truncated·by·diffoscope;·len:·141,·SHA:·dc21a4499fbb828f4b3eeb4efc6cc406c76fa8c80dd6cb8d188991cd615306ac·...·]-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
182 ······</span><span·class="o">#</span><span·class="ss">new</span><span·class="p"·data-group-id="9253855347-7">{</span><span·class="ss">key</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">X</span><span·class="o">#</span><span·class="ss">old</span><span·class="p">.</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">182 ······</span><span·class="o">#</span><span·class="ss">new</span><span·class="p"·data-group-id="6611090238-7">{</span><span·class="ss">key</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">X</span><span·class="o">#</span><span·class="ss">old</span><span·class="p">.</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">
183 ···········</span><span·class="ss">val</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">X</span><span·class="o">#</span><span·class="ss">old</span><span·class="p">.</span><span·class="ss">val</span><span·class="p">,</span><span·class="w">183 ···········</span><span·class="ss">val</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">X</span><span·class="o">#</span><span·class="ss">old</span><span·class="p">.</span><span·class="ss">val</span><span·class="p">,</span><span·class="w">
184 ···········</span><span·class="ss">extra</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">42</span><span·class="p"·data-group-id="9253855347-7">}</span><span·class="w">184 ···········</span><span·class="ss">extra</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">42</span><span·class="p"·data-group-id="6611090238-7">}</span><span·class="w">
185 ···</span><span·class="k">end</span><span·class="p">,</span><span·class="w">185 ···</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
186 </span><span·class="p"·data-group-id="9253855347-8">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p"·data-group-id="9253855347-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·129,·SHA:·cece6bb7f23a34f2f9b5ee205fc40847228691e958198e9b1b520ea19472b320·...·]-9">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Transformer</span><span·class="p">,</span><span·class="w">186 </span><span·class="p"·data-group-id="6611090238-8">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p"·data-group-id="6611090238-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·129,·SHA:·b0d9ee2602da030ae479a0d79f70d0cdc9ffa185d424f8c8318e8b5475726085·...·]-9">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Transformer</span><span·class="p">,</span><span·class="w">
187 ······································</span><span·class="nf">record_info</span><span·class="p"·data-group-id="9253855347-10">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">new</span><span·class="p"·data-group-id="9253855347-10">)</span><span·class="p">,</span><span·class="w">187 ······································</span><span·class="nf">record_info</span><span·class="p"·data-group-id="6611090238-10">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">new</span><span·class="p"·data-group-id="6611090238-10">)</span><span·class="p">,</span><span·class="w">
188 ······································</span><span·class="ss">new</span><span·class="p"·data-group-id="9253855347-9">)</span><span·class="p">,</span></code></pre><p>Argument·<code·class="inline">Fun</code>·can·also·be·the·atom·<code·class="inline">ignore</code>,·which·indicates·that·only·the188 ······································</span><span·class="ss">new</span><span·class="p"·data-group-id="6611090238-9">)</span><span·class="p">,</span></code></pre><p>Argument·<code·class="inline">Fun</code>·can·also·be·the·atom·<code·class="inline">ignore</code>,·which·indicates·that·only·the
189 metadata·about·the·table·is·updated.·Use·of·<code·class="inline">ignore</code>·is·not·recommended·(as·it189 metadata·about·the·table·is·updated.·Use·of·<code·class="inline">ignore</code>·is·not·recommended·(as·it
190 creates·inconsistencies·between·the·metadata·and·the·actual·data)·but·it·is190 creates·inconsistencies·between·the·metadata·and·the·actual·data)·but·it·is
191 included·as·a·possibility·for·the·user·do·to·an·own·(offline)·transform.</p></li><li><p><a·href="mnesia.html#change_table_copy_type/3"><code·class="inline">mnesia:change_table_copy_type(Tab,·Node,·ToType)</code></a>191 included·as·a·possibility·for·the·user·do·to·an·own·(offline)·transform.</p></li><li><p><a·href="mnesia.html#change_table_copy_type/3"><code·class="inline">mnesia:change_table_copy_type(Tab,·Node,·ToType)</code></a>
192 changes·the·storage·type·of·a·table.·For·example,·a·RAM·table·is·changed·to·a192 changes·the·storage·type·of·a·table.·For·example,·a·RAM·table·is·changed·to·a
193 <code·class="inline">disc_table</code>·at·the·node·specified·as·<code·class="inline">Node</code>.</p></li></ul><h2·id="data-model"·class="section-heading">193 <code·class="inline">disc_table</code>·at·the·node·specified·as·<code·class="inline">Node</code>.</p></li></ul><h2·id="data-model"·class="section-heading">
194 ··<a·href="#data-model"·class="hover-link">194 ··<a·href="#data-model"·class="hover-link">
195 ····<i·class="ri-link-m"·aria-hidden="true"></i>195 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 234, 37 lines modifiedOffset 234, 37 lines modified
234 <a·href="mnesia_chap2.html#getting_started">Getting·Started</a>·to·illustrate·how·to·run·a234 <a·href="mnesia_chap2.html#getting_started">Getting·Started</a>·to·illustrate·how·to·run·a
235 database·on·two·separate·nodes,·called·<code·class="inline">a@gin</code>·and·<code·class="inline">b@skeppet</code>.·Each·of·these235 database·on·two·separate·nodes,·called·<code·class="inline">a@gin</code>·and·<code·class="inline">b@skeppet</code>.·Each·of·these
236 nodes·must·have·a·<code·class="inline">Mnesia</code>·directory·and·an·initialized·schema·before·<code·class="inline">Mnesia</code>236 nodes·must·have·a·<code·class="inline">Mnesia</code>·directory·and·an·initialized·schema·before·<code·class="inline">Mnesia</code>
237 can·be·started.·There·are·two·ways·to·specify·the·<code·class="inline">Mnesia</code>·directory·to·be·used:</p><ul><li><p>Specify·the·<code·class="inline">Mnesia</code>·directory·by·providing·an·application·parameter·either237 can·be·started.·There·are·two·ways·to·specify·the·<code·class="inline">Mnesia</code>·directory·to·be·used:</p><ul><li><p>Specify·the·<code·class="inline">Mnesia</code>·directory·by·providing·an·application·parameter·either
238 when·starting·the·Erlang·shell·or·in·the·application·script.·Previously,·the238 when·starting·the·Erlang·shell·or·in·the·application·script.·Previously,·the
239 following·example·was·used·to·create·the·directory·for·the·<code·class="inline">Company</code>·database:</p><pre><code·class="text">%·erl·-mnesia·dir·'&quot;/ldisc/scratch/Mnesia.Company&quot;'</code></pre></li><li><p>If·no·command-line·flag·is·entered,·the·<code·class="inline">Mnesia</code>·directory·becomes·the·current239 following·example·was·used·to·create·the·directory·for·the·<code·class="inline">Company</code>·database:</p><pre><code·class="text">%·erl·-mnesia·dir·'&quot;/ldisc/scratch/Mnesia.Company&quot;'</code></pre></li><li><p>If·no·command-line·flag·is·entered,·the·<code·class="inline">Mnesia</code>·directory·becomes·the·current
240 working·directory·on·the·node·where·the·Erlang·shell·is·started.</p></li></ul><p>To·start·the·<code·class="inline">Company</code>·database·and·get·it·running·on·the·two·specified·nodes,240 working·directory·on·the·node·where·the·Erlang·shell·is·started.</p></li></ul><p>To·start·the·<code·class="inline">Company</code>·database·and·get·it·running·on·the·two·specified·nodes,
241 enter·the·following·commands:</p><ol><li>On·the·node·<code·class="inline">a@gin</code>:</li></ol><pre><code·class="text">·gin·%·erl·-sname·a··-mnesia·dir·'&quot;/ldisc/scratch/Mnesia.company&quot;'</code></pre><ol·start="2"><li>On·the·node·<code·class="inline">b@skeppet</code>:</li></ol><pre><code·class="text">skeppet·%·erl·-sname·b·-mnesia·dir·'&quot;/ldisc/scratch/Mnesia.company&quot;'</code></pre><ol·start="3"><li>On·one·of·the·two·nodes:</li></ol><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(a@gin)1&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_schema</span><span·class="p"·data-group-id="8060258563-1">(</span><span·class="p"·data-group-id="8060258563-2">[</span><span·class="ss">a@gin</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b@skeppet</span><span·class="p"·data-group-id="8060258563-2">]</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·453c2da089fb5c7d10d2c40f5d1c76ed7eed5e90814bf5e84cc53a21841101eb·...·]-1">)</span><span·class="p">.</span></code></pre><ol·start="4"><li>The·function·<a·href="mnesia.html#start/0"><code·class="inline">mnesia:start()</code></a>·is·called·on·both·nodes.</li><li>To·initialize·the·database,·execute·the·following·code·on·one·of·the·two241 enter·the·following·commands:</p><ol><li>On·the·node·<code·class="inline">a@gin</code>:</li></ol><pre><code·class="text">·gin·%·erl·-sname·a··-mnesia·dir·'&quot;/ldisc/scratch/Mnesia.company&quot;'</code></pre><ol·start="2"><li>On·the·node·<code·class="inline">b@skeppet</code>:</li></ol><pre><code·class="text">skeppet·%·erl·-sname·b·-mnesia·dir·'&quot;/ldisc/scratch/Mnesia.company&quot;'</code></pre><ol·start="3"><li>On·one·of·the·two·nodes:</li></ol><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(a@gin)1&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_schema</span><span·class="p"·data-group-id="6304939619-1">(</span><span·class="p"·data-group-id="6304939619-2">[</span><span·class="ss">a@gin</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b@skeppet</span><span·class="p"·data-group-id="6304939619-2">]</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·f12aa0cd2fefd3f45492bcea15c1b1ee6e5c235a18657737ffc08cf47c8246c5·...·]-1">)</span><span·class="p">.</span></code></pre><ol·start="4"><li>The·function·<a·href="mnesia.html#start/0"><code·class="inline">mnesia:start()</code></a>·is·called·on·both·nodes.</li><li>To·initialize·the·database,·execute·the·following·code·on·one·of·the·two
242 nodes:</li></ol><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">dist_init</span><span·class="p"·data-group-id="8262703722-1">(</span><span·class="p"·data-group-id="8262703722-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">242 nodes:</li></ol><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">dist_init</span><span·class="p"·data-group-id="9939450890-1">(</span><span·class="p"·data-group-id="9939450890-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
243 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="8262703722-2">(</span><span·class="ss">employee</span><span·class="p">,</span><span·class="w">243 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9939450890-2">(</span><span·class="ss">employee</span><span·class="p">,</span><span·class="w">
244 ·························</span><span·class="p"·data-group-id="8262703722-3">[</span><span·class="p"·data-group-id="8262703722-4">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8262703722-5">[</span><span·class="ss">a@gin</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·158,·SHA:·978dc24fbff4506d09640482d30d8824f76b837bd728aadf13f327111f322e51·...·]-4">}</span><span·class="p">,</span><span·class="w">244 ·························</span><span·class="p"·data-group-id="9939450890-3">[</span><span·class="p"·data-group-id="9939450890-4">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9939450890-5">[</span><span·class="ss">a@gin</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·158,·SHA:·dc3d6daf43b8074a1221fd9ecc4e6ff718917f507b795b9f237e70810007fbe2·...·]-4">}</span><span·class="p">,</span><span·class="w">
245 ··························</span><span·class="p"·data-group-id="8262703722-6">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="8262703722-7">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">245 ··························</span><span·class="p"·data-group-id="9939450890-6">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="9939450890-7">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">
246 ···················································</span><span·class="ss">employee</span><span·class="p"·data-group-id="8262703722-7">)</span><span·class="p"·data-group-id="8262703722-6">}</span><span·class="p"·data-group-id="8262703722-3">]</span><span·class="p"·data-group-id="8262703722-2">)</span><span·class="p">,</span><span·class="w">246 ···················································</span><span·class="ss">employee</span><span·class="p"·data-group-id="9939450890-7">)</span><span·class="p"·data-group-id="9939450890-6">}</span><span·class="p"·data-group-id="9939450890-3">]</span><span·class="p"·data-group-id="9939450890-2">)</span><span·class="p">,</span><span·class="w">
247 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="8262703722-8">(</span><span·class="ss">dept</span><span·class="p">,</span><span·class="w">247 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9939450890-8">(</span><span·class="ss">dept</span><span·class="p">,</span><span·class="w">
248 ·························</span><span·class="p"·data-group-id="8262703722-9">[</span><span·class="p"·data-group-id="8262703722-10">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8262703722-11">[</span><span·class="ss">a@gin</span><span·class="p"[·...·truncated·by·diffoscope;·len:·161,·SHA:·f1fd5f8e3f1b158233969522406ad04312b2597f645e4561b450487bb5c2cd65·...·]-10">}</span><span·class="p">,</span><span·class="w">248 ·························</span><span·class="p"·data-group-id="9939450890-9">[</span><span·class="p"·data-group-id="9939450890-10">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9939450890-11">[</span><span·class="ss">a@gin</span><span·class="p"[·...·truncated·by·diffoscope;·len:·161,·SHA:·19060e9cb22e71d9a5fa5732eb50864c838b0364c972ac0dc98c52766bb4d085·...·]-10">}</span><span·class="p">,</span><span·class="w">
249 ··························</span><span·class="p"·data-group-id="8262703722-12">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="8262703722-13">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·246,·SHA:·6c264e866b173a8a4af6609f6d18ad2cfb83d9072dd27b56e4ac72652de6025f·...·]-8">)</span><span·class="p">,</span><span·class="w">249 ··························</span><span·class="p"·data-group-id="9939450890-12">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="9939450890-13">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·246,·SHA:·bb384544bb81ca54b63d5c856a53421433e7b33ae6bae43056f37db080021707·...·]-8">)</span><span·class="p">,</span><span·class="w">
250 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="8262703722-14">(</span><span·class="ss">project</span><span·class="p">,</span><span·class="w">250 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9939450890-14">(</span><span·class="ss">project</span><span·class="p">,</span><span·class="w">
251 ·························</span><span·class="p"·data-group-id="8262703722-15">[</span><span·class="p"·data-group-id="8262703722-16">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8262703722-17">[</span><span·class="ss">a@gin</span><span·class="p[·...·truncated·by·diffoscope;·len:·162,·SHA:·98866ee2d698e41af6fb9b2aceb680fac116124fac2d783c453d31e85f7ca406·...·]-16">}</span><span·class="p">,</span><span·class="w">251 ·························</span><span·class="p"·data-group-id="9939450890-15">[</span><span·class="p"·data-group-id="9939450890-16">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9939450890-17">[</span><span·class="ss">a@gin</span><span·class="p[·...·truncated·by·diffoscope;·len:·162,·SHA:·0736754fb92dec3e5d3640f32f48e8acb1d8a619ba15da167ddf7da8657d68b4·...·]-16">}</span><span·class="p">,</span><span·class="w">
252 ··························</span><span·class="p"·data-group-id="8262703722-18">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="8262703722-19">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·8bbee5f727f446939e26e4f4ad509dcee78c504606a64343d41ba3ebcbcf16e8·...·]-14">)</span><span·class="p">,</span><span·class="w">252 ··························</span><span·class="p"·data-group-id="9939450890-18">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="9939450890-19">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·9f41c52632af8520955296e44d33189007a1e260d75fa6a9a247b3c12065df7d·...·]-14">)</span><span·class="p">,</span><span·class="w">
253 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="8262703722-20">(</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8262703722-21">[</span><span·class="p"·data-group-id="8262703722-22">{</span><span·class="ss">type</span><span·class="p">,<[·...·truncated·by·diffoscope;·len:·98,·SHA:·dbe1d27169a63058bb2e58dbb196d538a632ccafc053f07f73e4871048c59920·...·]-22">}</span><span·class="p">,</span><span·class="w">253 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9939450890-20">(</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9939450890-21">[</span><span·class="p"·data-group-id="9939450890-22">{</span><span·class="ss">type</span><span·class="p">,<[·...·truncated·by·diffoscope;·len:·98,·SHA:·beffaf61b9bc11ad34370439fcea8065b1f86afe0c97b5ea9cfee9bc95c5cf30·...·]-22">}</span><span·class="p">,</span><span·class="w">
254 ··································</span><span·class="p"·data-group-id="8262703722-23">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8262703722-24">[</span><span·class="ss">a@gin</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b@s[·...·truncated·by·diffoscope;·len:·108,·SHA:·e24641f3116ad81e4fd3fdc40a6493788891c3c329e4318a774269f275bb4b31·...·]-23">}</span><span·class="p">,</span><span·class="w">254 ··································</span><span·class="p"·data-group-id="9939450890-23">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9939450890-24">[</span><span·class="ss">a@gin</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b@s[·...·truncated·by·diffoscope;·len:·108,·SHA:·6bd9ac80b77826eefea454eaa7a1d26b451a2ca31d6b7371e4673389e63b3f17·...·]-23">}</span><span·class="p">,</span><span·class="w">
255 ··································</span><span·class="p"·data-group-id="8262703722-25">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="8262703722-26">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">255 ··································</span><span·class="p"·data-group-id="9939450890-25">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="9939450890-26">(</span><span·class="ss">fields</span><span·class="p">,</span><span·class="w">
256 ···························································</span><span·class="ss">manager</span><span·class="p"·data-group-id="8262703722-26">)</span><span·class="p"·data-group-id="8262703722-25">}</span><span·class="p"·data-group-id="8262703722-21">]</span><span·class="p"·data-group-id="8262703722-20">)</span><span·class="p">,</span><span·class="w">256 ···························································</span><span·class="ss">manager</span><span·class="p"·data-group-id="9939450890-26">)</span><span·class="p"·data-group-id="9939450890-25">}</span><span·class="p"·data-group-id="9939450890-21">]</span><span·class="p"·data-group-id="9939450890-20">)</span><span·class="p">,</span><span·class="w">
257 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="8262703722-27">(</span><span·class="ss">at_dep</span><span·class="p">,</span><span·class="w">257 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9939450890-27">(</span><span·class="ss">at_dep</span><span·class="p">,</span><span·class="w">
258 ·························</span><span·class="p"·data-group-id="8262703722-28">[</span><span·class="p"·data-group-id="8262703722-29">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8262703722-30">[</span><span·class="ss">a@gin</span><span·class="p[·...·truncated·by·diffoscope;·len:·162,·SHA:·c693199404ed8e39bfb42f06af1b3ffa0c4b6b7f3796584acb9b5bc428472c43·...·]-29">}</span><span·class="p">,</span><span·class="w">258 ·························</span><span·class="p"·data-group-id="9939450890-28">[</span><span·class="p"·data-group-id="9939450890-29">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9939450890-30">[</span><span·class="ss">a@gin</span><span·class="p[·...·truncated·by·diffoscope;·len:·162,·SHA:·fd7e6346f42d606868823b0d524cd9b1086cc5da8270402deb98a6c8254b9cbb·...·]-29">}</span><span·class="p">,</span><span·class="w">
259 ··························</span><span·class="p"·data-group-id="8262703722-31">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="8262703722-32">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·249,·SHA:·3a3cad126918809ac75a31d98b913f04b0cada8cc2e29e2af50e9a5884f1e61f·...·]-27">)</span><span·class="p">,</span><span·class="w">259 ··························</span><span·class="p"·data-group-id="9939450890-31">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="9939450890-32">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·249,·SHA:·bbc6db262530a37831c636b3baa175f1932620ff3173941a828d75e98d513fd4·...·]-27">)</span><span·class="p">,</span><span·class="w">
260 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="8262703722-33">(</span><span·class="ss">in_proj</span><span·class="p">,</span><span·class="w">260 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="9939450890-33">(</span><span·class="ss">in_proj</span><span·class="p">,</span><span·class="w">
261 ························</span><span·class="p"·data-group-id="8262703722-34">[</span><span·class="p"·data-group-id="8262703722-35">{</span><span·class="ss">type</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bag</span><span·class="p"·data-group-id="8262703722-35">}</span><span·class="p">,</span><span·class="w">261 ························</span><span·class="p"·data-group-id="9939450890-34">[</span><span·class="p"·data-group-id="9939450890-35">{</span><span·class="ss">type</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bag</span><span·class="p"·data-group-id="9939450890-35">}</span><span·class="p">,</span><span·class="w">
262 ·························</span><span·class="p"·data-group-id="8262703722-36">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8262703722-37">[</span><span·class="ss">a@gin</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b@s[·...·truncated·by·diffoscope;·len:·108,·SHA:·7ac14b33e44c175214dddcd5fc3d9b09d5f678d2cca725b5011a8996264737d9·...·]-36">}</span><span·class="p">,</span><span·class="w">262 ·························</span><span·class="p"·data-group-id="9939450890-36">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9939450890-37">[</span><span·class="ss">a@gin</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b@s[·...·truncated·by·diffoscope;·len:·108,·SHA:·79e9a2fa6763cd16d8cc04894e3c3dc72ca274a25c844aa498d8c109603d7772·...·]-36">}</span><span·class="p">,</span><span·class="w">
263 ·························</span><span·class="p"·data-group-id="8262703722-38">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="8262703722-39">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·8baa047bc3ac3a9458a968b44be5e4a5ddd3bbe299e848bf6b2e200476e63a1a·...·]-33">)</span><span·class="p">.</span></code></pre><p>As·illustrated,·the·two·directories·reside·on·different·nodes,·because263 ·························</span><span·class="p"·data-group-id="9939450890-38">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="9939450890-39">(</span><span·class="ss">fields</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·250,·SHA:·31553dd220b0c06cbb1153cb1b74df647bea95476a1bcf7ee0bb9f92fb39e1a3·...·]-33">)</span><span·class="p">.</span></code></pre><p>As·illustrated,·the·two·directories·reside·on·different·nodes,·because
264 <code·class="inline">/ldisc/scratch</code>·(the·&quot;local&quot;·disc)·exists·on·the·two·different·nodes.</p><p>By·executing·these·commands,·two·Erlang·nodes·are·configured·to·run·the264 <code·class="inline">/ldisc/scratch</code>·(the·&quot;local&quot;·disc)·exists·on·the·two·different·nodes.</p><p>By·executing·these·commands,·two·Erlang·nodes·are·configured·to·run·the
265 <code·class="inline">Company</code>·database,·and·therefore,·initialize·the·database.·This·is·required265 <code·class="inline">Company</code>·database,·and·therefore,·initialize·the·database.·This·is·required
266 only·once·when·setting·up.·The·next·time·the·system·is·started,266 only·once·when·setting·up.·The·next·time·the·system·is·started,
267 <a·href="mnesia.html#start/0"><code·class="inline">mnesia:start()</code></a>·is·called·on·both·nodes,·to·initialize·the267 <a·href="mnesia.html#start/0"><code·class="inline">mnesia:start()</code></a>·is·called·on·both·nodes,·to·initialize·the
268 system·from·disc.</p><p>In·a·system·of·<code·class="inline">Mnesia</code>·nodes,·every·node·is·aware·of·the·current·location·of268 system·from·disc.</p><p>In·a·system·of·<code·class="inline">Mnesia</code>·nodes,·every·node·is·aware·of·the·current·location·of
269 all·tables.·In·this·example,·data·is·replicated·on·both·nodes·and·functions·that269 all·tables.·In·this·example,·data·is·replicated·on·both·nodes·and·functions·that
270 manipulate·the·data·in·the·tables·can·be·executed·on·either·of·the·two·nodes.270 manipulate·the·data·in·the·tables·can·be·executed·on·either·of·the·two·nodes.
Offset 273, 15 lines modifiedOffset 273, 15 lines modified
273 the·function·is·executed.·The·functions·<a·href="mnesia.html#start/0"><code·class="inline">mnesia:start/0</code></a>·and·<a·href="mnesia.html#stop/0"><code·class="inline">mnesia:stop/0</code></a>273 the·function·is·executed.·The·functions·<a·href="mnesia.html#start/0"><code·class="inline">mnesia:start/0</code></a>·and·<a·href="mnesia.html#stop/0"><code·class="inline">mnesia:stop/0</code></a>
274 work·on·the·&quot;local&quot;·<code·class="inline">Mnesia</code>·system.·No·functions·start·or·stop·a·set·of·nodes.</p><h3·id="startup-procedure"·class="section-heading">274 work·on·the·&quot;local&quot;·<code·class="inline">Mnesia</code>·system.·No·functions·start·or·stop·a·set·of·nodes.</p><h3·id="startup-procedure"·class="section-heading">
275 ··<a·href="#startup-procedure"·class="hover-link">275 ··<a·href="#startup-procedure"·class="hover-link">
276 ····<i·class="ri-link-m"·aria-hidden="true"></i>276 ····<i·class="ri-link-m"·aria-hidden="true"></i>
277 ··</a>277 ··</a>
278 ··<span·class="text">Startup·Procedure</span>278 ··<span·class="text">Startup·Procedure</span>
279 </h3>279 </h3>
280 <p>Start·<code·class="inline">Mnesia</code>·by·calling·the·following·function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="8221438742-1">(</span><span·class="p"·data-group-id="8221438742-1">)</span><span·class="p">.</span></code></pre><p>This·function·initiates·the·DBMS·locally.</p><p>The·choice·of·configuration·alters·the·location·and·load·order·of·the·tables.280 <p>Start·<code·class="inline">Mnesia</code>·by·calling·the·following·function:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="9636254441-1">(</span><span·class="p"·data-group-id="9636254441-1">)</span><span·class="p">.</span></code></pre><p>This·function·initiates·the·DBMS·locally.</p><p>The·choice·of·configuration·alters·the·location·and·load·order·of·the·tables.
281 The·alternatives·are·as·follows:</p><ol><li>Tables·that·are·only·stored·locally·are·initialized·from·the·local·<code·class="inline">Mnesia</code>281 The·alternatives·are·as·follows:</p><ol><li>Tables·that·are·only·stored·locally·are·initialized·from·the·local·<code·class="inline">Mnesia</code>
282 directory.</li><li>Replicated·tables·that·reside·locally·as·well·as·somewhere·else·are·either282 directory.</li><li>Replicated·tables·that·reside·locally·as·well·as·somewhere·else·are·either
283 initiated·from·disc·or·by·copying·the·entire·table·from·the·other·node,283 initiated·from·disc·or·by·copying·the·entire·table·from·the·other·node,
284 depending·on·which·of·the·different·replicas·are·the·most·recent.·<code·class="inline">Mnesia</code>284 depending·on·which·of·the·different·replicas·are·the·most·recent.·<code·class="inline">Mnesia</code>
285 determines·which·of·the·tables·are·the·most·recent.</li><li>Tables·that·reside·on·remote·nodes·are·available·to·other·nodes·as·soon·as285 determines·which·of·the·tables·are·the·most·recent.</li><li>Tables·that·reside·on·remote·nodes·are·available·to·other·nodes·as·soon·as
286 they·are·loaded.</li></ol><p>Table·initialization·is·asynchronous.·The·function·call286 they·are·loaded.</li></ol><p>Table·initialization·is·asynchronous.·The·function·call
287 <a·href="mnesia.html#start/0"><code·class="inline">mnesia:start()</code></a>·returns·the·atom·<code·class="inline">ok</code>·and·then·starts·to287 <a·href="mnesia.html#start/0"><code·class="inline">mnesia:start()</code></a>·returns·the·atom·<code·class="inline">ok</code>·and·then·starts·to
Offset 296, 17 lines modifiedOffset 296, 17 lines modified
296 situation,·a·call·to·<a·href="mnesia.html#wait_for_tables/2"><code·class="inline">mnesia:wait_for_tables/2</code></a>,·suspends·the·caller·until·the296 situation,·a·call·to·<a·href="mnesia.html#wait_for_tables/2"><code·class="inline">mnesia:wait_for_tables/2</code></a>,·suspends·the·caller·until·the
297 remote·node·has·initialized·the·table·from·its·local·disc·and·the·node·has297 remote·node·has·initialized·the·table·from·its·local·disc·and·the·node·has
298 copied·the·table·over·the·network·to·the·local·node.</p><p>However,·this·procedure·can·be·time-consuming,·the·shortcut·function298 copied·the·table·over·the·network·to·the·local·node.</p><p>However,·this·procedure·can·be·time-consuming,·the·shortcut·function
299 <a·href="mnesia.html#force_load_table/1"><code·class="inline">mnesia:force_load_table(Tab)</code></a>·loads·all·the·tables299 <a·href="mnesia.html#force_load_table/1"><code·class="inline">mnesia:force_load_table(Tab)</code></a>·loads·all·the·tables
300 from·disc·at·a·faster·rate.·The·function·forces·tables·to·be·loaded·from·disc300 from·disc·at·a·faster·rate.·The·function·forces·tables·to·be·loaded·from·disc
301 regardless·of·the·network·situation.</p><p>Thus,·it·can·be·assumed·that·if·an·application·wants·to·use·tables·<code·class="inline">a</code>·and·<code·class="inline">b</code>,301 regardless·of·the·network·situation.</p><p>Thus,·it·can·be·assumed·that·if·an·application·wants·to·use·tables·<code·class="inline">a</code>·and·<code·class="inline">b</code>,
302 the·application·must·perform·some·action·similar·to·following·before·it·can·use302 the·application·must·perform·some·action·similar·to·following·before·it·can·use
303 the·tables:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">wait_for_tables</span><span·class="p"·data-group-id="0865428680-1">(</span><span·class="p"·data-group-id="0865428680-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b</span><span·class="p"·data-group-id="0865428680-2">]</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·88,·SHA:·dc4ec26d231fbb02e75414245604b76c692caf39563001f3643956bb069e3af5·...·]-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">303 the·tables:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">wait_for_tables</span><span·class="p"·data-group-id="6561501615-1">(</span><span·class="p"·data-group-id="6561501615-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b</span><span·class="p"·data-group-id="6561501615-2">]</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·88,·SHA:·de39fe5e53351b4e27758ac790d0deb35a9a34da210d17f36a1abf26eee9beb6·...·]-1">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
304 ··</span><span·class="p"·data-group-id="0865428680-3">{</span><span·class="ss">timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RemainingTabs</span><span·class="p"·data-group-id="0865428680-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">304 ··</span><span·class="p"·data-group-id="6561501615-3">{</span><span·class="ss">timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RemainingTabs</span><span·class="p"·data-group-id="6561501615-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
305 ····</span><span·class="nf">panic</span><span·class="p"·data-group-id="0865428680-4">(</span><span·class="n">RemainingTabs</span><span·class="p"·data-group-id="0865428680-4">)</span><span·class="p">;</span><span·class="w">305 ····</span><span·class="nf">panic</span><span·class="p"·data-group-id="6561501615-4">(</span><span·class="n">RemainingTabs</span><span·class="p"·data-group-id="6561501615-4">)</span><span·class="p">;</span><span·class="w">
306 ··</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">306 ··</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
307 ····</span><span·class="ss">synced</span><span·class="w">307 ····</span><span·class="ss">synced</span><span·class="w">
308 </span><span·class="k">end</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>When·tables·are·forcefully·loaded·from·the·local·disc,·all·operations·that308 </span><span·class="k">end</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>When·tables·are·forcefully·loaded·from·the·local·disc,·all·operations·that
309 were·performed·on·the·replicated·table·while·the·local·node·was·down,·and·the309 were·performed·on·the·replicated·table·while·the·local·node·was·down,·and·the
310 remote·replica·was·alive,·are·lost.·This·can·cause·the·database·to·become310 remote·replica·was·alive,·are·lost.·This·can·cause·the·database·to·become
311 inconsistent.</p></section><p>If·the·startup·procedure·fails,·the·function·<a·href="mnesia.html#start/0"><code·class="inline">mnesia:start()</code></a>311 inconsistent.</p></section><p>If·the·startup·procedure·fails,·the·function·<a·href="mnesia.html#start/0"><code·class="inline">mnesia:start()</code></a>
312 returns·the·cryptic·tuple312 returns·the·cryptic·tuple
Offset 324, 21 lines modifiedOffset 324, 21 lines modified
324 the·records·that·constitute·the·table.·For·details,·see·<code·class="inline">record_name</code>.</li><li><code·class="inline">Opts</code>·is·a·list·of·<code·class="inline">{Key,Value}</code>·tuples.·The·following·options·are324 the·records·that·constitute·the·table.·For·details,·see·<code·class="inline">record_name</code>.</li><li><code·class="inline">Opts</code>·is·a·list·of·<code·class="inline">{Key,Value}</code>·tuples.·The·following·options·are
325 valid:<ul><li><p><code·class="inline">{type,·Type}</code>,·where·<code·class="inline">Type</code>·must·be·either·of·the·atoms·<code·class="inline">set</code>,325 valid:<ul><li><p><code·class="inline">{type,·Type}</code>,·where·<code·class="inline">Type</code>·must·be·either·of·the·atoms·<code·class="inline">set</code>,
326 <code·class="inline">ordered_set</code>,·or·<code·class="inline">bag</code>.·Default·is·<code·class="inline">set</code>.</p><p>Notice·that·currently·<code·class="inline">ordered_set</code>·is·not·supported·for·<code·class="inline">disc_only_copies</code>326 <code·class="inline">ordered_set</code>,·or·<code·class="inline">bag</code>.·Default·is·<code·class="inline">set</code>.</p><p>Notice·that·currently·<code·class="inline">ordered_set</code>·is·not·supported·for·<code·class="inline">disc_only_copies</code>
327 tables.</p><p>A·table·of·type·<code·class="inline">set</code>·or·<code·class="inline">ordered_set</code>·has·either·zero·or·one·record·per327 tables.</p><p>A·table·of·type·<code·class="inline">set</code>·or·<code·class="inline">ordered_set</code>·has·either·zero·or·one·record·per
328 key,·whereas·a·table·of·type·<code·class="inline">bag</code>·can·have·an·arbitrary·number·of·records328 key,·whereas·a·table·of·type·<code·class="inline">bag</code>·can·have·an·arbitrary·number·of·records
329 per·key.·The·key·for·each·record·is·always·the·first·attribute·of·the329 per·key.·The·key·for·each·record·is·always·the·first·attribute·of·the
330 record.</p><p>The·following·example·illustrates·the·difference·between·type·<code·class="inline">set</code>·and330 record.</p><p>The·following·example·illustrates·the·difference·between·type·<code·class="inline">set</code>·and
331 <code·class="inline">bag</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="nf">f</span><span·class="p"·data-group-id="7852543946-1">(</span><span·class="p"·data-group-id="7852543946-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">331 <code·class="inline">bag</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="nf">f</span><span·class="p"·data-group-id="8185793840-1">(</span><span·class="p"·data-group-id="8185793840-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
332 ····</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="7852543946-2">(</span><span·class="p"·data-group-id="7852543946-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">332 ····</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="8185793840-2">(</span><span·class="p"·data-group-id="8185793840-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
333 ··········</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="7852543946-3">(</span><span·class="p"·data-group-id="7852543946-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·cl[·...·truncated·by·diffoscope;·len:·86,·SHA:·ff8f882a9669da551f9d65f5d29eeee8680b940880deb11bfc6cdd8e838d5891·...·]-3">)</span><span·class="p">,</span><span·class="w">333 ··········</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="8185793840-3">(</span><span·class="p"·data-group-id="8185793840-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·cl[·...·truncated·by·diffoscope;·len:·86,·SHA:·6a36d1b1e26758fb4a8efe8a17192b565490d312ad0c6489f0333851aedfbf84·...·]-3">)</span><span·class="p">,</span><span·class="w">
334 ··········</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="7852543946-5">(</span><span·class="p"·data-group-id="7852543946-6">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">3</span><span·cl[·...·truncated·by·diffoscope;·len:·86,·SHA:·37c2ba9f799b6da6eb204a0262f97b2a3799430f344a052ffe031e17c1857b51·...·]-5">)</span><span·class="p">,</span><span·class="w">334 ··········</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="8185793840-5">(</span><span·class="p"·data-group-id="8185793840-6">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">3</span><span·cl[·...·truncated·by·diffoscope;·len:·86,·SHA:·caeb76f89b41d0ce94cc2b2294e16adf083bfb393dde196f2cdc11051023773d·...·]-5">)</span><span·class="p">,</span><span·class="w">
335 ··········</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">read</span><span·class="p"·data-group-id="7852543946-7">(</span><span·class="p"·data-group-id="7852543946-8">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="7852543946-8">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·89e6fec7315d7d5d563edcb70516c3e09c918a3a2a2e0dbf928503450b0a3c5e·...·]-7">)</span><span·class="w">335 ··········</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">read</span><span·class="p"·data-group-id="8185793840-7">(</span><span·class="p"·data-group-id="8185793840-8">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="8185793840-8">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·2195c541d94d2a4ae94ed393523d6a26614d92c6457d77c4e8838175e5945c87·...·]-7">)</span><span·class="w">
336 ········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">336 ········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
337 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">transaction</span><span·class="p"·data-group-id="7852543946-9">(</span><span·class="n">F</span><span·class="p"·data-group-id="7852543946-9">)</span><span·class="p">.</span></code></pre><p>This·transaction·returns·the·list·<code·class="inline">[{foo,1,3}]</code>·if·table·<code·class="inline">foo</code>·is·of·type337 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">transaction</span><span·class="p"·data-group-id="8185793840-9">(</span><span·class="n">F</span><span·class="p"·data-group-id="8185793840-9">)</span><span·class="p">.</span></code></pre><p>This·transaction·returns·the·list·<code·class="inline">[{foo,1,3}]</code>·if·table·<code·class="inline">foo</code>·is·of·type
338 <code·class="inline">set</code>.·However,·the·list·<code·class="inline">[{foo,1,2},·{foo,1,3}]</code>·is·returned·if·the·table338 <code·class="inline">set</code>.·However,·the·list·<code·class="inline">[{foo,1,2},·{foo,1,3}]</code>·is·returned·if·the·table
339 is·of·type·<code·class="inline">bag</code>.</p><p><code·class="inline">Mnesia</code>·tables·can·never·contain·duplicates·of·the·same·record·in·the·same339 is·of·type·<code·class="inline">bag</code>.</p><p><code·class="inline">Mnesia</code>·tables·can·never·contain·duplicates·of·the·same·record·in·the·same
340 table.·Duplicate·records·have·attributes·with·the·same·contents·and·key.</p></li><li><p><code·class="inline">{disc_copies,·NodeList}</code>,·where·<code·class="inline">NodeList</code>·is·a·list·of·the·nodes·where340 table.·Duplicate·records·have·attributes·with·the·same·contents·and·key.</p></li><li><p><code·class="inline">{disc_copies,·NodeList}</code>,·where·<code·class="inline">NodeList</code>·is·a·list·of·the·nodes·where
341 this·table·is·to·reside·on·disc.</p><p>Write·operations·to·a·table·replica·of·type·<code·class="inline">disc_copies</code>·write·data·to·the341 this·table·is·to·reside·on·disc.</p><p>Write·operations·to·a·table·replica·of·type·<code·class="inline">disc_copies</code>·write·data·to·the
342 disc·copy·and·to·the·RAM·copy·of·the·table.</p><p>It·is·possible·to·have·a·replicated·table·of·type·<code·class="inline">disc_copies</code>·on·one·node,342 disc·copy·and·to·the·RAM·copy·of·the·table.</p><p>It·is·possible·to·have·a·replicated·table·of·type·<code·class="inline">disc_copies</code>·on·one·node,
343 and·the·same·table·stored·as·a·different·type·on·another·node.·Default·is343 and·the·same·table·stored·as·a·different·type·on·another·node.·Default·is
344 <code·class="inline">[]</code>.·This·arrangement·is·desirable·if·the·following·operational344 <code·class="inline">[]</code>.·This·arrangement·is·desirable·if·the·following·operational
Offset 374, 19 lines modifiedOffset 374, 19 lines modified
374 possible·for·you·to·provide·the·attribute·names·or·to·use·the374 possible·for·you·to·provide·the·attribute·names·or·to·use·the
375 <code·class="inline">record_info/2</code>·notation.</p><p>It·is·recommended·to·use·the·<code·class="inline">record_info/2</code>·notation,·as·it·becomes·easier375 <code·class="inline">record_info/2</code>·notation.</p><p>It·is·recommended·to·use·the·<code·class="inline">record_info/2</code>·notation,·as·it·becomes·easier
376 to·maintain·the·program·and·the·program·becomes·more·robust·with·regards·to376 to·maintain·the·program·and·the·program·becomes·more·robust·with·regards·to
377 future·record·changes.</p></li><li><p><code·class="inline">{record_name,·Atom}</code>·specifies·the·common·name·of·all·records·stored·in·the377 future·record·changes.</p></li><li><p><code·class="inline">{record_name,·Atom}</code>·specifies·the·common·name·of·all·records·stored·in·the
378 table.·All·records·stored·in·the·table·must·have·this·name·as·their·first378 table.·All·records·stored·in·the·table·must·have·this·name·as·their·first
379 element.·<code·class="inline">record_name</code>·defaults·to·the·name·of·the·table.·For·more379 element.·<code·class="inline">record_name</code>·defaults·to·the·name·of·the·table.·For·more
Max diff block lines reached; 7902/54099 bytes (14.61%) of diff not shown.
746 B
html2text {}
Max HTML report size reached
142 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_chap4.html
    
Offset 141, 22 lines modifiedOffset 141, 22 lines modified
141 <p>Transactions·are·important·when·designing·fault-tolerant,·distributed·systems.·A141 <p>Transactions·are·important·when·designing·fault-tolerant,·distributed·systems.·A
142 <code·class="inline">Mnesia</code>·transaction·is·a·mechanism·by·which·a·series·of·database·operations·can142 <code·class="inline">Mnesia</code>·transaction·is·a·mechanism·by·which·a·series·of·database·operations·can
143 be·executed·as·one·functional·block.·The·functional·block·that·is·run·as·a143 be·executed·as·one·functional·block.·The·functional·block·that·is·run·as·a
144 transaction·is·called·a·Functional·Object·(Fun),·and·this·code·can·read,·write,144 transaction·is·called·a·Functional·Object·(Fun),·and·this·code·can·read,·write,
145 and·delete·<code·class="inline">Mnesia</code>·records.·The·Fun·is·evaluated·as·a·transaction·that·either145 and·delete·<code·class="inline">Mnesia</code>·records.·The·Fun·is·evaluated·as·a·transaction·that·either
146 commits·or·terminates.·If·a·transaction·succeeds·in·executing·the·Fun,·it146 commits·or·terminates.·If·a·transaction·succeeds·in·executing·the·Fun,·it
147 replicates·the·action·on·all·nodes·involved,·or·terminates·if·an·error·occurs.</p><p>The·following·example·shows·a·transaction·that·raises·the·salary·of·certain147 replicates·the·action·on·all·nodes·involved,·or·terminates·if·an·error·occurs.</p><p>The·following·example·shows·a·transaction·that·raises·the·salary·of·certain
148 employee·numbers:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">raise</span><span·class="p"·data-group-id="4187917823-1">(</span><span·class="n">Eno</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Raise</span><span·class="p"·data-group-id="4187917823-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">148 employee·numbers:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">raise</span><span·class="p"·data-group-id="7393217852-1">(</span><span·class="n">Eno</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Raise</span><span·class="p"·data-group-id="7393217852-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
149 ····</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="4187917823-2">(</span><span·class="p"·data-group-id="4187917823-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">149 ····</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="7393217852-2">(</span><span·class="p"·data-group-id="7393217852-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
150 ················</span><span·class="p"·data-group-id="4187917823-3">[</span><span·class="n">E</span><span·class="p"·data-group-id="4187917823-3">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">read</span><sp[·...·truncated·by·diffoscope;·len:·274,·SHA:·f85fe4afc8c5810cd3b5f89cb5a86a628bb50f6bb49b70885c941ce35a0d6896·...·]-4">)</span><span·class="p">,</span><span·class="w">150 ················</span><span·class="p"·data-group-id="7393217852-3">[</span><span·class="n">E</span><span·class="p"·data-group-id="7393217852-3">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">read</span><sp[·...·truncated·by·diffoscope;·len:·274,·SHA:·47ae11cd871131e68921d6684838a64a40e143d895c1e64f3d371998a2fc3858·...·]-4">)</span><span·class="p">,</span><span·class="w">
151 ················</span><span·class="n">Salary</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">employee</span><span·class="p">.</span><span·class="ss">salary</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Raise</span><span·class="p">,</span><span·class="w">151 ················</span><span·class="n">Salary</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">employee</span><span·class="p">.</span><span·class="ss">salary</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Raise</span><span·class="p">,</span><span·class="w">
152 ················</span><span·class="n">New</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">employee</span><span·class="p"·data-group-id="4187917823-5">{</span><span·class="ss">salary</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Salary</span><span·class="p"·data-group-id="4187917823-5">}</span><span·class="p">,</span><span·class="w">152 ················</span><span·class="n">New</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">employee</span><span·class="p"·data-group-id="7393217852-5">{</span><span·class="ss">salary</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Salary</span><span·class="p"·data-group-id="7393217852-5">}</span><span·class="p">,</span><span·class="w">
153 ················</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="4187917823-6">(</span><span·class="n">New</span><span·class="p"·data-group-id="4187917823-6">)</span><span·class="w">153 ················</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="7393217852-6">(</span><span·class="n">New</span><span·class="p"·data-group-id="7393217852-6">)</span><span·class="w">
154 ········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">154 ········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
155 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">transaction</span><span·class="p"·data-group-id="4187917823-7">(</span><span·class="n">F</span><span·class="p"·data-group-id="4187917823-7">)</span><span·class="p">.</span></code></pre><p>The·function·<code·class="inline">raise/2</code>·contains·a·Fun·made·up·of·four·code·lines.·This·Fun·is155 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">transaction</span><span·class="p"·data-group-id="7393217852-7">(</span><span·class="n">F</span><span·class="p"·data-group-id="7393217852-7">)</span><span·class="p">.</span></code></pre><p>The·function·<code·class="inline">raise/2</code>·contains·a·Fun·made·up·of·four·code·lines.·This·Fun·is
156 called·by·the·statement·<code·class="inline">mnesia:transaction(F)</code>·and·returns·a·value.</p><p>The·<code·class="inline">Mnesia</code>·transaction·system·facilitates·the·construction·of·reliable,156 called·by·the·statement·<code·class="inline">mnesia:transaction(F)</code>·and·returns·a·value.</p><p>The·<code·class="inline">Mnesia</code>·transaction·system·facilitates·the·construction·of·reliable,
157 distributed·systems·by·providing·the·following·important·properties:</p><ul><li>The·transaction·handler·ensures·that·a·Fun,·which·is·placed·inside·a157 distributed·systems·by·providing·the·following·important·properties:</p><ul><li>The·transaction·handler·ensures·that·a·Fun,·which·is·placed·inside·a
158 transaction,·does·not·interfere·with·operations·embedded·in·other·transactions158 transaction,·does·not·interfere·with·operations·embedded·in·other·transactions
159 when·it·executes·a·series·of·operations·on·tables.</li><li>The·transaction·handler·ensures·that·either·all·operations·in·the·transaction159 when·it·executes·a·series·of·operations·on·tables.</li><li>The·transaction·handler·ensures·that·either·all·operations·in·the·transaction
160 are·performed·successfully·on·all·nodes·atomically,·or·the·transaction·fails160 are·performed·successfully·on·all·nodes·atomically,·or·the·transaction·fails
161 without·permanent·effect·on·any·node.</li><li>The·<code·class="inline">Mnesia</code>·transactions·have·four·important·properties,·called·<em>A</em>tomicity,161 without·permanent·effect·on·any·node.</li><li>The·<code·class="inline">Mnesia</code>·transactions·have·four·important·properties,·called·<em>A</em>tomicity,
162 <em>C</em>onsistency,·<em>I</em>solation,·and·<em>D</em>urability·(ACID).·These·properties·are162 <em>C</em>onsistency,·<em>I</em>solation,·and·<em>D</em>urability·(ACID).·These·properties·are
Offset 242, 23 lines modifiedOffset 242, 23 lines modified
242 code·these·operations.</p><p>Deadlocks·can·occur·when·concurrent·processes·set·and·release·locks·on·the·same242 code·these·operations.</p><p>Deadlocks·can·occur·when·concurrent·processes·set·and·release·locks·on·the·same
243 records.·<code·class="inline">Mnesia</code>·employs·a·&quot;wait-die&quot;·strategy·to·resolve·these·situations.·If243 records.·<code·class="inline">Mnesia</code>·employs·a·&quot;wait-die&quot;·strategy·to·resolve·these·situations.·If
244 <code·class="inline">Mnesia</code>·suspects·that·a·deadlock·can·occur·when·a·transaction·tries·to·set·a244 <code·class="inline">Mnesia</code>·suspects·that·a·deadlock·can·occur·when·a·transaction·tries·to·set·a
245 lock,·the·transaction·is·forced·to·release·all·its·locks·and·sleep·for·a·while.245 lock,·the·transaction·is·forced·to·release·all·its·locks·and·sleep·for·a·while.
246 The·Fun·in·the·transaction·is·evaluated·once·more.</p><p>It·is·therefore·important·that·the·code·inside·the·Fun·given·to246 The·Fun·in·the·transaction·is·evaluated·once·more.</p><p>It·is·therefore·important·that·the·code·inside·the·Fun·given·to
247 <a·href="mnesia.html#transaction/1"><code·class="inline">mnesia:transaction/1</code></a>·is·pure.·Some·strange·results·can·occur·if,·for·example,247 <a·href="mnesia.html#transaction/1"><code·class="inline">mnesia:transaction/1</code></a>·is·pure.·Some·strange·results·can·occur·if,·for·example,
248 messages·are·sent·by·the·transaction·Fun.·The·following·example·illustrates·this248 messages·are·sent·by·the·transaction·Fun.·The·following·example·illustrates·this
249 situation:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">bad_raise</span><span·class="p"·data-group-id="0972362776-1">(</span><span·class="n">Eno</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Raise</span><span·class="p"·data-group-id="0972362776-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">249 situation:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">bad_raise</span><span·class="p"·data-group-id="2151162149-1">(</span><span·class="n">Eno</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Raise</span><span·class="p"·data-group-id="2151162149-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
250 ····</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="0972362776-2">(</span><span·class="p"·data-group-id="0972362776-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">250 ····</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="2151162149-2">(</span><span·class="p"·data-group-id="2151162149-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
251 ················</span><span·class="p"·data-group-id="0972362776-3">[</span><span·class="n">E</span><span·class="p"·data-group-id="0972362776-3">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">read</span><sp[·...·truncated·by·diffoscope;·len:·303,·SHA:·0b1f826677c05b23d9c81ed274b6e370fc1d5585ffc0613c6b4406e88a3e9574·...·]-4">)</span><span·class="p">,</span><span·class="w">251 ················</span><span·class="p"·data-group-id="2151162149-3">[</span><span·class="n">E</span><span·class="p"·data-group-id="2151162149-3">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">read</span><sp[·...·truncated·by·diffoscope;·len:·303,·SHA:·5db10db9e4540d41a419e7888189e30d96c8638dc3a72d39a952958f4ef049cf·...·]-4">)</span><span·class="p">,</span><span·class="w">
252 ················</span><span·class="n">Salary</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">employee</span><span·class="p">.</span><span·class="ss">salary</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Raise</span><span·class="p">,</span><span·class="w">252 ················</span><span·class="n">Salary</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">employee</span><span·class="p">.</span><span·class="ss">salary</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">Raise</span><span·class="p">,</span><span·class="w">
253 ················</span><span·class="n">New</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">employee</span><span·class="p"·data-group-id="0972362776-6">{</span><span·class="ss">salary</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Salary</span><span·class="p"·data-group-id="0972362776-6">}</span><span·class="p">,</span><span·class="w">253 ················</span><span·class="n">New</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span·class="o">#</span><span·class="ss">employee</span><span·class="p"·data-group-id="2151162149-6">{</span><span·class="ss">salary</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Salary</span><span·class="p"·data-group-id="2151162149-6">}</span><span·class="p">,</span><span·class="w">
254 ················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0972362776-7">(</span><span·class="s">&quot;Trying·to·write·...·</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0972362776-8">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·66bc1b7279ccd5397eaaebd840d11a8fc14e2b90de17b2ec3951730f7431edd7·...·]-7">)</span><span·class="p">,</span><span·class="w">254 ················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2151162149-7">(</span><span·class="s">&quot;Trying·to·write·...·</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2151162149-8">[</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·65,·SHA:·0ddd904383b91a7fbc8a72f219ea6354f2ba21be957bfc1dd4658bb2e5b998c4·...·]-7">)</span><span·class="p">,</span><span·class="w">
255 ················</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="0972362776-9">(</span><span·class="n">New</span><span·class="p"·data-group-id="0972362776-9">)</span><span·class="w">255 ················</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="2151162149-9">(</span><span·class="n">New</span><span·class="p"·data-group-id="2151162149-9">)</span><span·class="w">
256 ········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">256 ········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
257 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">transaction</span><span·class="p"·data-group-id="0972362776-10">(</span><span·class="n">F</span><span·class="p"·data-group-id="0972362776-10">)</span><span·class="p">.</span></code></pre><p>This·transaction·can·write·the·text·<code·class="inline">&quot;Trying·to·write·...·&quot;</code>·1000·times·to·the257 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">transaction</span><span·class="p"·data-group-id="2151162149-10">(</span><span·class="n">F</span><span·class="p"·data-group-id="2151162149-10">)</span><span·class="p">.</span></code></pre><p>This·transaction·can·write·the·text·<code·class="inline">&quot;Trying·to·write·...·&quot;</code>·1000·times·to·the
258 terminal.·However,·<code·class="inline">Mnesia</code>·guarantees·that·each·transaction·will·eventually258 terminal.·However,·<code·class="inline">Mnesia</code>·guarantees·that·each·transaction·will·eventually
259 run.·As·a·result,·<code·class="inline">Mnesia</code>·is·not·only·deadlock·free,·but·also·livelock·free.</p><p>The·<code·class="inline">Mnesia</code>·programmer·cannot·prioritize·one·particular·transaction·to·execute259 run.·As·a·result,·<code·class="inline">Mnesia</code>·is·not·only·deadlock·free,·but·also·livelock·free.</p><p>The·<code·class="inline">Mnesia</code>·programmer·cannot·prioritize·one·particular·transaction·to·execute
260 before·other·transactions·that·are·waiting·to·execute.·As·a·result,·the·<code·class="inline">Mnesia</code>260 before·other·transactions·that·are·waiting·to·execute.·As·a·result,·the·<code·class="inline">Mnesia</code>
261 DBMS·transaction·system·is·not·suitable·for·hard·real-time·applications.261 DBMS·transaction·system·is·not·suitable·for·hard·real-time·applications.
262 However,·<code·class="inline">Mnesia</code>·contains·other·features·that·have·real-time·properties.</p><p><code·class="inline">Mnesia</code>·dynamically·sets·and·releases·locks·as·transactions·execute.·It·is262 However,·<code·class="inline">Mnesia</code>·contains·other·features·that·have·real-time·properties.</p><p><code·class="inline">Mnesia</code>·dynamically·sets·and·releases·locks·as·transactions·execute.·It·is
263 therefore·dangerous·to·execute·code·with·transaction·side-effects.·In263 therefore·dangerous·to·execute·code·with·transaction·side-effects.·In
264 particular,·a·<code·class="inline">receive</code>·statement·inside·a·transaction·can·lead·to·a·situation264 particular,·a·<code·class="inline">receive</code>·statement·inside·a·transaction·can·lead·to·a·situation
Offset 297, 21 lines modifiedOffset 297, 21 lines modified
297 record·when·reading·a·record,·and·lock·all·replicas·of·a·record·when·writing·a297 record·when·reading·a·record,·and·lock·all·replicas·of·a·record·when·writing·a
298 record.·However,·some·applications·use·<code·class="inline">Mnesia</code>·mainly·for·its·fault-tolerant298 record.·However,·some·applications·use·<code·class="inline">Mnesia</code>·mainly·for·its·fault-tolerant
299 qualities.·These·applications·can·be·configured·with·one·node·doing·all·the299 qualities.·These·applications·can·be·configured·with·one·node·doing·all·the
300 heavy·work,·and·a·standby·node·that·is·ready·to·take·over·if·the·main·node300 heavy·work,·and·a·standby·node·that·is·ready·to·take·over·if·the·main·node
301 fails.·Such·applications·can·benefit·from·using·sticky·locks·instead·of·the301 fails.·Such·applications·can·benefit·from·using·sticky·locks·instead·of·the
302 normal·locking·scheme.</p><p>A·sticky·lock·is·a·lock·that·stays·in·place·at·a·node,·after·the·transaction302 normal·locking·scheme.</p><p>A·sticky·lock·is·a·lock·that·stays·in·place·at·a·node,·after·the·transaction
303 that·first·acquired·the·lock·has·terminated.·To·illustrate·this,·assume·that·the303 that·first·acquired·the·lock·has·terminated.·To·illustrate·this,·assume·that·the
304 following·transaction·is·executed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="8788910350-1">(</span><span·class="p"·data-group-id="8788910350-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">304 following·transaction·is·executed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="8762628667-1">(</span><span·class="p"·data-group-id="8762628667-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
305 ······</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="8788910350-2">(</span><span·class="o">#</span><span·class="ss">foo</span><span·class="p"·data-group-id="8788910350-3">{</span><span·class="ss">a</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">kalle</span><span·[·...·truncated·by·diffoscope;·len:·88,·SHA:·5c34b5cded7e3b65c9f521ef79fb69e5c4ecd8596bf7f128310f21a34b35ec84·...·]-2">)</span><span·class="w">305 ······</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="8762628667-2">(</span><span·class="o">#</span><span·class="ss">foo</span><span·class="p"·data-group-id="8762628667-3">{</span><span·class="ss">a</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">kalle</span><span·[·...·truncated·by·diffoscope;·len:·88,·SHA:·84d590abaeef1403f3ed743f4424e5553880456d356363223d20e23abb5aa10e·...·]-2">)</span><span·class="w">
306 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">306 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
307 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">transaction</span><span·class="p"·data-group-id="8788910350-4">(</span><span·class="n">F</span><span·class="p"·data-group-id="8788910350-4">)</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">foo</code>·table·is·replicated·on·the·two·nodes·<code·class="inline">N1</code>·and·<code·class[·...·truncated·by·diffoscope;·len:·555,·SHA:·620f48f08b8c9fc620743313304f9885dca1a71cc7f6bcf027c5c8d00f48a159·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">307 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">transaction</span><span·class="p"·data-group-id="8762628667-4">(</span><span·class="n">F</span><span·class="p"·data-group-id="8762628667-4">)</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">foo</code>·table·is·replicated·on·the·two·nodes·<code·class="inline">N1</code>·and·<code·class[·...·truncated·by·diffoscope;·len:·555,·SHA:·d4b043c8070cfc3cc41645125d5a225d19636f936eb2a781bbd01d257d3aa0ed·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
308 ······</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">s_write</span><span·class="p"·data-group-id="6526928580-2">(</span><span·class="o">#</span><span·class="ss">foo</span><span·class="p"·data-group-id="6526928580-3">{</span><span·class="ss">a</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">kalle</span><spa[·...·truncated·by·diffoscope;·len:·90,·SHA:·564befafc857a23e510ab7a2aaecad1f3d541cb1a2f9f7e1bf0df79b50ec3e62·...·]-2">)</span><span·class="w">308 ······</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">s_write</span><span·class="p"·data-group-id="4584239381-2">(</span><span·class="o">#</span><span·class="ss">foo</span><span·class="p"·data-group-id="4584239381-3">{</span><span·class="ss">a</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">kalle</span><spa[·...·truncated·by·diffoscope;·len:·90,·SHA:·6d3fb174ac583254ef9a3077d089e21838fe142eaef39e9e37e47e63a92b3ab9·...·]-2">)</span><span·class="w">
309 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">309 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
310 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">transaction</span><span·class="p"·data-group-id="6526928580-4">(</span><span·class="n">F</span><span·class="p"·data-group-id="6526928580-4">)</span><span·class="p">.</span></code></pre><p>This·code·uses·the·function·<a·href="mnesia.html#s_write/1"><code·class="inline">s_write/1</code></a>·instead·of·the310 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">transaction</span><span·class="p"·data-group-id="4584239381-4">(</span><span·class="n">F</span><span·class="p"·data-group-id="4584239381-4">)</span><span·class="p">.</span></code></pre><p>This·code·uses·the·function·<a·href="mnesia.html#s_write/1"><code·class="inline">s_write/1</code></a>·instead·of·the
311 function·<a·href="mnesia.html#write/1"><code·class="inline">write/1</code></a>·The·function·<code·class="inline">s_write/1</code>·sets·a·sticky·lock311 function·<a·href="mnesia.html#write/1"><code·class="inline">write/1</code></a>·The·function·<code·class="inline">s_write/1</code>·sets·a·sticky·lock
312 instead·of·a·normal·lock.·If·the·table·is·not·replicated,·sticky·locks·have·no312 instead·of·a·normal·lock.·If·the·table·is·not·replicated,·sticky·locks·have·no
313 special·effect.·If·the·table·is·replicated,·and·a·sticky·lock·is·set·on·node313 special·effect.·If·the·table·is·replicated,·and·a·sticky·lock·is·set·on·node
314 <code·class="inline">N1</code>,·this·lock·then·sticks·to·node·<code·class="inline">N1</code>.·The·next·time·you·try·to·set·a·sticky314 <code·class="inline">N1</code>,·this·lock·then·sticks·to·node·<code·class="inline">N1</code>.·The·next·time·you·try·to·set·a·sticky
315 lock·on·the·same·record·at·node·<code·class="inline">N1</code>,·<code·class="inline">Mnesia</code>·detects·that·the·lock·is·already315 lock·on·the·same·record·at·node·<code·class="inline">N1</code>,·<code·class="inline">Mnesia</code>·detects·that·the·lock·is·already
316 set·and·do·no·network·operation·to·acquire·the·lock.</p><p>It·is·more·efficient·to·set·a·local·lock·than·it·is·to·set·a·networked·lock.316 set·and·do·no·network·operation·to·acquire·the·lock.</p><p>It·is·more·efficient·to·set·a·local·lock·than·it·is·to·set·a·networked·lock.
317 Sticky·locks·can·therefore·benefit·an·application·that·uses·a·replicated·table317 Sticky·locks·can·therefore·benefit·an·application·that·uses·a·replicated·table
Offset 329, 16 lines modifiedOffset 329, 16 lines modified
329 locks·automatically,·and·the·programmer·does·not·need·to·code·these·operations.329 locks·automatically,·and·the·programmer·does·not·need·to·code·these·operations.
330 However,·transactions·that·read·and·write·many·records·in·a·specific·table330 However,·transactions·that·read·and·write·many·records·in·a·specific·table
331 execute·more·efficiently·if·the·transaction·is·started·by·setting·a·table·lock331 execute·more·efficiently·if·the·transaction·is·started·by·setting·a·table·lock
332 on·this·table.·This·blocks·other·concurrent·transactions·from·the·table.·The332 on·this·table.·This·blocks·other·concurrent·transactions·from·the·table.·The
333 following·two·functions·are·used·to·set·explicit·table·locks·for·read·and·write333 following·two·functions·are·used·to·set·explicit·table·locks·for·read·and·write
334 operations:</p><ul><li><a·href="mnesia.html#read_lock_table/1"><code·class="inline">mnesia:read_lock_table(Tab)</code></a>·sets·a·read·lock·on334 operations:</p><ul><li><a·href="mnesia.html#read_lock_table/1"><code·class="inline">mnesia:read_lock_table(Tab)</code></a>·sets·a·read·lock·on
335 table·<code·class="inline">Tab</code>.</li><li><a·href="mnesia.html#write_lock_table/1"><code·class="inline">mnesia:write_lock_table(Tab)</code></a>·sets·a·write·lock335 table·<code·class="inline">Tab</code>.</li><li><a·href="mnesia.html#write_lock_table/1"><code·class="inline">mnesia:write_lock_table(Tab)</code></a>·sets·a·write·lock
336 on·table·<code·class="inline">Tab</code>.</li></ul><p>Alternative·syntax·for·acquisition·of·table·locks·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="8640799729-1">(</span><span·class="p"·data-group-id="8640799729-2">{</span><span·class="ss">table</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p"·data-group-id="8640799729-2">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">read</span><span·class="p"·data-group-id="8640799729-1">)</span><span·class="w"> 
337 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="8640799729-3">(</span><span·class="p"·data-group-id="8640799729-4">{</span><span·class="ss">table</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·345,·SHA:·ce892a8aefad4352e6efe87680199e538dbc0af8d19dff33fddc0ea7010dd5ba·...·]336 on·table·<code·class="inline">Tab</code>.</li></ul><p>Alternative·syntax·for·acquisition·of·table·locks·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><spa[·...·truncated·by·diffoscope;·len:·403,·SHA:·3e4e5c8e64a36a088eca0bfb8c837ff83e83241bcec49b0c10187e8e04824ecf·...·]
 337 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">lock</span><span·class="p"·data-group-id="3739336083-3">(</span><span·class="p"·data-group-id="3739336083-4">{</span><span·class="ss">table</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p"·data-group-id="3739336083-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">write</span><span·class="p"·data-group-id="3739336083-3">)</span></code></pre><p>The·matching·operations·in·<code·class="inline">Mnesia</code>·can·either·lock·the·entire·table·or·only·a
338 single·record·(when·the·key·is·bound·in·the·pattern).</p><h3·id="global-locks"·class="section-heading">338 single·record·(when·the·key·is·bound·in·the·pattern).</p><h3·id="global-locks"·class="section-heading">
339 ··<a·href="#global-locks"·class="hover-link">339 ··<a·href="#global-locks"·class="hover-link">
340 ····<i·class="ri-link-m"·aria-hidden="true"></i>340 ····<i·class="ri-link-m"·aria-hidden="true"></i>
341 ··</a>341 ··</a>
342 ··<span·class="text">Global·Locks</span>342 ··<span·class="text">Global·Locks</span>
343 </h3>343 </h3>
344 <p>Write·locks·are·normally·acquired·on·all·nodes·where·a·replica·of·the·table344 <p>Write·locks·are·normally·acquired·on·all·nodes·where·a·replica·of·the·table
Offset 421, 86 lines modifiedOffset 421, 86 lines modified
421 ··<span·class="text">Record·Names·versus·Table·Names</span>421 ··<span·class="text">Record·Names·versus·Table·Names</span>
422 </h2>422 </h2>
423 <p>In·<code·class="inline">Mnesia</code>,·all·records·in·a·table·must·have·the·same·name.·All·the·records423 <p>In·<code·class="inline">Mnesia</code>,·all·records·in·a·table·must·have·the·same·name.·All·the·records
424 must·be·instances·of·the·same·record·type.·The·record·name,·however,·does·not424 must·be·instances·of·the·same·record·type.·The·record·name,·however,·does·not
425 necessarily·have·to·be·the·same·as·the·table·name,·although·this·is·the·case·in425 necessarily·have·to·be·the·same·as·the·table·name,·although·this·is·the·case·in
426 most·of·the·examples·in·this·User's·Guide.·If·a·table·is·created·without426 most·of·the·examples·in·this·User's·Guide.·If·a·table·is·created·without
427 property·<code·class="inline">record_name</code>,·the·following·code·ensures·that·all·records·in·the427 property·<code·class="inline">record_name</code>,·the·following·code·ensures·that·all·records·in·the
428 tables·have·the·same·name·as·the·table:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="2296017154-1">(</span><span·class="ss">subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2296017154-2">[</span><span·class="p"·data-group-id="2296017154-2">]</span><span·class="p"·data-group-id="2296017154-1">)</span></code></pre><p>However,·if·the·table·is·created·with·an·explicit·record·name·as·argument,·as428 tables·have·the·same·name·as·the·table:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="3448577058-1">(</span><span·class="ss">subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3448577058-2">[</span><span·class="p"·data-group-id="3448577058-2">]</span><span·class="p"·data-group-id="3448577058-1">)</span></code></pre><p>However,·if·the·table·is·created·with·an·explicit·record·name·as·argument,·as
429 shown·in·the·following·example,·subscriber·records·can·be·stored·in·both·of·the429 shown·in·the·following·example,·subscriber·records·can·be·stored·in·both·of·the
430 tables·regardless·of·the·table·names:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">TabDef</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0233153076-1">[</span><span·class="p"·data-group-id="0233153076-2">{</span><span·class="ss">record_name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">subscriber</span><span·class="p"·data-group-id="0233153076-2">}</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·ae2f23c2627d039bd5afeb1136efb9a4672a3d6c523219a26575fb2ac7846c43·...·]-1">]</span><span·class="p">,</span><span·class="w">430 tables·regardless·of·the·table·names:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">TabDef</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1390119328-1">[</span><span·class="p"·data-group-id="1390119328-2">{</span><span·class="ss">record_name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">subscriber</span><span·class="p"·data-group-id="1390119328-2">}</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·18cdd577422bc010f2befbb81270c4bea1a74bf53c9f9b5e6ba3bb62407e3b84·...·]-1">]</span><span·class="p">,</span><span·class="w">
431 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="0233153076-3">(</span><span·class="ss">my_subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TabDef</span><span·class="p"·data-group-id="0233153076-3">)</span><span·class="p">,</span><span·class="w">431 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="1390119328-3">(</span><span·class="ss">my_subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TabDef</span><span·class="p"·data-group-id="1390119328-3">)</span><span·class="p">,</span><span·class="w">
432 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="0233153076-4">(</span><span·class="ss">your_subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TabDef</span><span·class="p"·data-group-id="0233153076-4">)</span><span·class="p">.</span></code></pre><p>To·access·such·tables,·simplified·access·functions·(as·described·earlier)·cannot432 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="1390119328-4">(</span><span·class="ss">your_subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TabDef</span><span·class="p"·data-group-id="1390119328-4">)</span><span·class="p">.</span></code></pre><p>To·access·such·tables,·simplified·access·functions·(as·described·earlier)·cannot
433 be·used.·For·example,·writing·a·subscriber·record·into·a·table·requires·the433 be·used.·For·example,·writing·a·subscriber·record·into·a·table·requires·the
434 function·<a·href="mnesia.html#write/3"><code·class="inline">mnesia:write/3</code></a>·instead·of·the·simplified·functions·<a·href="mnesia.html#write/1"><code·class="inline">mnesia:write/1</code></a>434 function·<a·href="mnesia.html#write/3"><code·class="inline">mnesia:write/3</code></a>·instead·of·the·simplified·functions·<a·href="mnesia.html#write/1"><code·class="inline">mnesia:write/1</code></a>
435 and·<a·href="mnesia.html#s_write/1"><code·class="inline">mnesia:s_write/1</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="1378172414-1">(</span><span·class="ss">subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">subscriber</span><span·class="p"·data-group-id="1378172414-2">{</span><span·class="p"·data-group-id="1378172414[·...·truncated·by·diffoscope;·len:·130,·SHA:·b19920405ce51dd98b321513af39a4e16e4cfdb3800ca2bc58aa1ac719a9b0e2·...·]-1">)</span><span·class="w">435 and·<a·href="mnesia.html#s_write/1"><code·class="inline">mnesia:s_write/1</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="3269252220-1">(</span><span·class="ss">subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">subscriber</span><span·class="p"·data-group-id="3269252220-2">{</span><span·class="p"·data-group-id="3269252220[·...·truncated·by·diffoscope;·len:·130,·SHA:·b7b30b30cb9f22a38e11b5673e0380ec5a4a5fd42780ab3f226aa9d3829d6948·...·]-1">)</span><span·class="w">
436 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="1378172414-3">(</span><span·class="ss">my_subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">subscriber</span><span·class="p"·data-group-id="1378172414-4">{</span><span·class="p"·data-group-id="1378172[·...·truncated·by·diffoscope;·len:·140,·SHA:·be9375c7e2e0c7a1411dd9afb905e236df4c60749d0384a3eeb184ee927b8b65·...·]-3">)</span><span·class="w">436 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="3269252220-3">(</span><span·class="ss">my_subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">subscriber</span><span·class="p"·data-group-id="3269252220-4">{</span><span·class="p"·data-group-id="3269252[·...·truncated·by·diffoscope;·len:·140,·SHA:·ec0ca6e03a5879c8a50e3affc9ce8cbec9a47120c2749c94c7f8660c825f2b58·...·]-3">)</span><span·class="w">
437 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="1378172414-5">(</span><span·class="ss">your_subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">subscriber</span><span·class="p"·data-group-id="1378172414-6">{</span><span·class="p"·data-group-id="13781[·...·truncated·by·diffoscope;·len:·135,·SHA:·31fe674f6a24c64bfe649e5faa40a73f241ff498cb120a76efdae23f913c9676·...·]-5">)</span></code></pre><p>The·following·simple·code·illustrates·the·relationship·between·the·simplified437 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="3269252220-5">(</span><span·class="ss">your_subscriber</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">subscriber</span><span·class="p"·data-group-id="3269252220-6">{</span><span·class="p"·data-group-id="32692[·...·truncated·by·diffoscope;·len:·135,·SHA:·0a473ed9a51dee41bf94a0711dbf225ef94dc3ed362b818991652e717c95796d·...·]-5">)</span></code></pre><p>The·following·simple·code·illustrates·the·relationship·between·the·simplified
438 access·functions·used·in·most·of·the·examples·and·their·more·flexible438 access·functions·used·in·most·of·the·examples·and·their·more·flexible
439 counterparts:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_write</span><span·class="p"·data-group-id="2653322719-1">(</span><span·class="n">Record</span><span·class="p"·data-group-id="2653322719-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">439 counterparts:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_write</span><span·class="p"·data-group-id="2896663303-1">(</span><span·class="n">Record</span><span·class="p"·data-group-id="2896663303-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
440 ··</span><span·class="n">Tab</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="2653322719-2">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Record</span><span·class="p"·data-group-id="2653322719-2">)</span><span·class="p">,</span><span·class="w">440 ··</span><span·class="n">Tab</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="2896663303-2">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Record</span><span·class="p"·data-group-id="2896663303-2">)</span><span·class="p">,</span><span·class="w">
441 ··</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_write</span><span·class="p"·data-group-id="2653322719-3">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Record</span><span·class="p"·data-group-id="2653322719-3">)</span><span·class="p">.</span><span·class="w">441 ··</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_write</span><span·class="p"·data-group-id="2896663303-3">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Record</span><span·class="p"·data-group-id="2896663303-3">)</span><span·class="p">.</span><span·class="w">
  
442 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_delete</span><span·class="p"·data-group-id="2653322719-4">(</span><span·class="p"·data-group-id="2653322719-5">{</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="2653322719-5">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·7405257e8da133911a786d74b8a43b1a47905f0158e8cf2f71c5d04d661a3621·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">442 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_delete</span><span·class="p"·data-group-id="2896663303-4">(</span><span·class="p"·data-group-id="2896663303-5">{</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="2896663303-5">}</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·acb27f758241e09240ed3ef1c88cf828a1d65bc8bdc303d07ae4fbcb6c3d6e79·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
443 ··</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_delete</span><span·class="p"·data-group-id="2653322719-6">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="2653322719-6">)</span><span·class="p">.</span><span·class="w">443 ··</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_delete</span><span·class="p"·data-group-id="2896663303-6">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="2896663303-6">)</span><span·class="p">.</span><span·class="w">
  
444 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_delete_object</span><span·class="p"·data-group-id="2653322719-7">(</span><span·class="n">Record</span><span·class="p"·data-group-id="2653322719-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">444 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_delete_object</span><span·class="p"·data-group-id="2896663303-7">(</span><span·class="n">Record</span><span·class="p"·data-group-id="2896663303-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
445 ··</span><span·class="n">Tab</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="2653322719-8">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Record</span><span·class="p"·data-group-id="2653322719-8">)</span><span·class="p">,</span><span·class="w">445 ··</span><span·class="n">Tab</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="2896663303-8">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Record</span><span·class="p"·data-group-id="2896663303-8">)</span><span·class="p">,</span><span·class="w">
446 ··</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_delete_object</span><span·class="p"·data-group-id="2653322719-9">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Record</span><span·class="p"·data-group-id="2653322719-9">)</span><span·class="w">446 ··</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_delete_object</span><span·class="p"·data-group-id="2896663303-9">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Record</span><span·class="p"·data-group-id="2896663303-9">)</span><span·class="w">
  
447 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_update_counter</span><span·class="p"·data-group-id="2653322719-10">(</span><span·class="p"·data-group-id="2653322719-11">{</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="2653322719-11">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·90,·SHA:·9682f991094ab2b71e257a652b0eb1ea069de27164ea9d0affb842b8e72124c6·...·]-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">447 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_update_counter</span><span·class="p"·data-group-id="2896663303-10">(</span><span·class="p"·data-group-id="2896663303-11">{</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="2896663303-11">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·90,·SHA:·5f2bff6969b91bf892be44930dbaea749a1e7e598ac1bd3ab82641ecaa533a17·...·]-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
448 ··</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_update_counter</span><span·class="p"·data-group-id="2653322719-12">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Incr</span><span·class="p"·data-group-id="2653322719-12">)</span><span·class="p">.</span><span·class="w">448 ··</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_update_counter</span><span·class="p"·data-group-id="2896663303-12">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Incr</span><span·class="p"·data-group-id="2896663303-12">)</span><span·class="p">.</span><span·class="w">
  
449 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_read</span><span·class="p"·data-group-id="2653322719-13">(</span><span·class="p"·data-group-id="2653322719-14">{</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="2653322719-14">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·29b7acf26e0a7f23c644352996cd5558792767695a98cf7754f39b5bac3bf963·...·]-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">449 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_read</span><span·class="p"·data-group-id="2896663303-13">(</span><span·class="p"·data-group-id="2896663303-14">{</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="2896663303-14">}</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·eb510c53605b5b73a0da27b343b0f192fb2a7fde2a017f4a3969bdbccdcbeac5·...·]-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
450 ··</span><span·class="n">Tab</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="2653322719-15">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Record</span><span·class="p"·data-group-id="2653322719-15">)</span><span·class="p">,</span><span·class="w">450 ··</span><span·class="n">Tab</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="2896663303-15">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Record</span><span·class="p"·data-group-id="2896663303-15">)</span><span·class="p">,</span><span·class="w">
451 ··</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_read</span><span·class="p"·data-group-id="2653322719-16">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="2653322719-16">)</span><span·class="p">.</span><span·class="w">451 ··</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_read</span><span·class="p"·data-group-id="2896663303-16">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Key</span><span·class="p"·data-group-id="2896663303-16">)</span><span·class="p">.</span><span·class="w">
  
452 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_match_object</span><span·class="p"·data-group-id="2653322719-17">(</span><span·class="n">Pattern</span><span·class="p"·data-group-id="2653322719-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">452 </span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_match_object</span><span·class="p"·data-group-id="2896663303-17">(</span><span·class="n">Pattern</span><span·class="p"·data-group-id="2896663303-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
453 ··</span><span·class="n">Tab</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="2653322719-18">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pattern</span><span·class="p"·data-group-id="2653322719-18">)</span><span·class="p">,</span><span·class="w">453 ··</span><span·class="n">Tab</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">element</span><span·class="p"·data-group-id="2896663303-18">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pattern</span><span·class="p"·data-group-id="2896663303-18">)</span><span·class="p">,</span><span·class="w">
454 ··</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_match_object</span><span·class="p"·data-group-id="2653322719-19">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pattern</span><span·class="p"·data-group-id="2653322719-19">)</span><span·class="p">.</span><span·class="w">454 ··</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">dirty_match_object</span><span·class="p"·data-group-id="2896663303-19">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pattern</span><span·class="p"·data-group-id="2896663303-19">)</span><span·class="p">.</span><span·class="w">
  
Max diff block lines reached; 95642/144810 bytes (66.05%) of diff not shown.
946 B
html2text {}
Max HTML report size reached
151 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_chap5.html
    
Offset 163, 17 lines modifiedOffset 163, 17 lines modified
163 different·Erlang·nodes·in·various·ways.·The·<code·class="inline">Mnesia</code>·programmer·does·not·need·to163 different·Erlang·nodes·in·various·ways.·The·<code·class="inline">Mnesia</code>·programmer·does·not·need·to
164 state·where·the·different·tables·reside,·only·the·names·of·the·different·tables164 state·where·the·different·tables·reside,·only·the·names·of·the·different·tables
165 need·to·be·specified·in·the·program·code.·This·is·known·as·&quot;location165 need·to·be·specified·in·the·program·code.·This·is·known·as·&quot;location
166 transparency&quot;·and·is·an·important·concept.·In·particular:</p><ul><li><p>A·program·works·regardless·of·the·data·location.·It·makes·no·difference166 transparency&quot;·and·is·an·important·concept.·In·particular:</p><ul><li><p>A·program·works·regardless·of·the·data·location.·It·makes·no·difference
167 whether·the·data·resides·on·the·local·node·or·on·a·remote·node.</p><p>Notice·that·the·program·runs·slower·if·the·data·is·located·on·a·remote·node.</p></li><li><p>The·database·can·be·reconfigured,·and·tables·can·be·moved·between·nodes.·These167 whether·the·data·resides·on·the·local·node·or·on·a·remote·node.</p><p>Notice·that·the·program·runs·slower·if·the·data·is·located·on·a·remote·node.</p></li><li><p>The·database·can·be·reconfigured,·and·tables·can·be·moved·between·nodes.·These
168 operations·do·not·affect·the·user·programs.</p></li></ul><p>It·has·previously·been·shown·that·each·table·has·a·number·of·system·attributes,168 operations·do·not·affect·the·user·programs.</p></li></ul><p>It·has·previously·been·shown·that·each·table·has·a·number·of·system·attributes,
169 such·as·<code·class="inline">index</code>·and·<code·class="inline">type</code>.</p><p>Table·attributes·are·specified·when·the·table·is·created.·For·example,·the169 such·as·<code·class="inline">index</code>·and·<code·class="inline">type</code>.</p><p>Table·attributes·are·specified·when·the·table·is·created.·For·example,·the
170 following·function·creates·a·table·with·two·RAM·replicas:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="1066609070-1">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">170 following·function·creates·a·table·with·two·RAM·replicas:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="5763373698-1">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">
171 ····················</span><span·class="p"·data-group-id="1066609070-2">[</span><span·class="p"·data-group-id="1066609070-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1066609070-4">[</span><span·class="n">N1</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·146,·SHA:·96a173345811423db15e1a56065c71c32654e61cfc1cbb8fb574481c2e673477·...·]-3">}</span><span·class="p">,</span><span·class="w">171 ····················</span><span·class="p"·data-group-id="5763373698-2">[</span><span·class="p"·data-group-id="5763373698-3">{</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5763373698-4">[</span><span·class="n">N1</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·146,·SHA:·bad07c6f57e72a08c0887dc26f303a096b0b0628197c3eb5a6e095a8d5b8d576·...·]-3">}</span><span·class="p">,</span><span·class="w">
172 ·····················</span><span·class="p"·data-group-id="1066609070-5">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="1066609070-6">(</span><span·class="ss">fields</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·241,·SHA:·1b48e46d8e720568564185d1f7c950e6b7a10a334df032dee2f6a80c0965dc4f·...·]-1">)</span><span·class="p">.</span></code></pre><p>Tables·can·also·have·the·following·properties,·where·each·attribute·has·a·list172 ·····················</span><span·class="p"·data-group-id="5763373698-5">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">record_info</span><span·class="p"·data-group-id="5763373698-6">(</span><span·class="ss">fields</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·241,·SHA:·24b66a422a5f46928b3466285903deca78582d207f907df74a77e0c1afa07d34·...·]-1">)</span><span·class="p">.</span></code></pre><p>Tables·can·also·have·the·following·properties,·where·each·attribute·has·a·list
173 of·Erlang·nodes·as·its·value:</p><ul><li><p><code·class="inline">ram_copies</code>.·The·value·of·the·node·list·is·a·list·of·Erlang·nodes,·and·a·RAM173 of·Erlang·nodes·as·its·value:</p><ul><li><p><code·class="inline">ram_copies</code>.·The·value·of·the·node·list·is·a·list·of·Erlang·nodes,·and·a·RAM
174 replica·of·the·table·resides·on·each·node·in·the·list.</p><p>Notice·that·no·disc·operations·are·performed·when·a·program·executes·write174 replica·of·the·table·resides·on·each·node·in·the·list.</p><p>Notice·that·no·disc·operations·are·performed·when·a·program·executes·write
175 operations·to·these·replicas.·However,·if·permanent·RAM·replicas·are·required,175 operations·to·these·replicas.·However,·if·permanent·RAM·replicas·are·required,
176 the·following·alternatives·are·available:</p><ol><li>The·function·<a·href="mnesia.html#dump_tables/1"><code·class="inline">mnesia:dump_tables/1</code></a>·can·be·used·to·dump·RAM·table·replicas176 the·following·alternatives·are·available:</p><ol><li>The·function·<a·href="mnesia.html#dump_tables/1"><code·class="inline">mnesia:dump_tables/1</code></a>·can·be·used·to·dump·RAM·table·replicas
177 to·disc.</li><li>The·table·replicas·can·be·backed·up,·either·from·RAM,·or·from·disc·if177 to·disc.</li><li>The·table·replicas·can·be·backed·up,·either·from·RAM,·or·from·disc·if
178 dumped·there·with·this·function.</li></ol></li><li><p><code·class="inline">disc_copies</code>.·The·value·of·the·attribute·is·a·list·of·Erlang·nodes,·and·a178 dumped·there·with·this·function.</li></ol></li><li><p><code·class="inline">disc_copies</code>.·The·value·of·the·attribute·is·a·list·of·Erlang·nodes,·and·a
179 replica·of·the·table·resides·both·in·RAM·and·on·disc·on·each·node·in·the·list.179 replica·of·the·table·resides·both·in·RAM·and·on·disc·on·each·node·in·the·list.
Offset 218, 60 lines modifiedOffset 218, 60 lines modified
218 <code·class="inline">mnesia_frag</code>·can·be·used·as·a·<code·class="inline">mnesia_access</code>·callback·module.</p><p>At·each·record·access,·<code·class="inline">mnesia_frag</code>·first·computes·a·hash·value·from·the·record218 <code·class="inline">mnesia_frag</code>·can·be·used·as·a·<code·class="inline">mnesia_access</code>·callback·module.</p><p>At·each·record·access,·<code·class="inline">mnesia_frag</code>·first·computes·a·hash·value·from·the·record
219 key.·Second,·the·name·of·the·table·fragment·is·determined·from·the·hash·value.219 key.·Second,·the·name·of·the·table·fragment·is·determined·from·the·hash·value.
220 Finally·the·actual·table·access·is·performed·by·the·same·functions·as·for220 Finally·the·actual·table·access·is·performed·by·the·same·functions·as·for
221 non-fragmented·tables.·When·the·key·is·not·known·beforehand,·all·fragments·are221 non-fragmented·tables.·When·the·key·is·not·known·beforehand,·all·fragments·are
222 searched·for·matching·records.</p><p>Notice·that·in·<code·class="inline">ordered_set</code>·tables,·the·records·are·ordered·per·fragment,·and222 searched·for·matching·records.</p><p>Notice·that·in·<code·class="inline">ordered_set</code>·tables,·the·records·are·ordered·per·fragment,·and
223 the·order·is·undefined·in·results·returned·by·<code·class="inline">select</code>·and·<code·class="inline">match_object</code>,·as223 the·order·is·undefined·in·results·returned·by·<code·class="inline">select</code>·and·<code·class="inline">match_object</code>,·as
224 well·as·<code·class="inline">first</code>,·<code·class="inline">next</code>,·<code·class="inline">prev</code>·and·<code·class="inline">last</code>.</p><p>The·following·code·illustrates·how·a·<code·class="inline">Mnesia</code>·table·is·converted·to·be·a224 well·as·<code·class="inline">first</code>,·<code·class="inline">next</code>,·<code·class="inline">prev</code>·and·<code·class="inline">last</code>.</p><p>The·following·code·illustrates·how·a·<code·class="inline">Mnesia</code>·table·is·converted·to·be·a
225 fragmented·table·and·how·more·fragments·are·added·later:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V15</span><span·class="p">.</span><span·class="mf">1.2</span><span·class="w">·</span><span·class="p"·data-group-id="8460709606-1">(</span><span·class="ss">press</span><span·class="w">·</span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">G</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">abort</span><spa[·...·truncated·by·diffoscope;·len:·398,·SHA:·a80eec600b32f78fbc785de826743e3d821048eb1384ad4d423899b04bb513bd·...·]-1">)</span><span·class="gp·unselectable">225 fragmented·table·and·how·more·fragments·are·added·later:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V15</span><span·class="p">.</span><span·class="mf">1.2</span><span·class="w">·</span><span·class="p"·data-group-id="8701442038-1">(</span><span·class="ss">press</span><span·class="w">·</span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">G</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">abort</span><spa[·...·truncated·by·diffoscope;·len:·398,·SHA:·d08490615a6020e6d5fd17b7b7783a7df57816f35bd5fb81bea29cfcbacd4c82·...·]-1">)</span><span·class="gp·unselectable">
226 (a@sam)1&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="8460709606-3">(</span><span·class="p"·data-group-id="8460709606-3">)</span><span·class="p">.</span><span·class="w">226 (a@sam)1&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="8701442038-3">(</span><span·class="p"·data-group-id="8701442038-3">)</span><span·class="p">.</span><span·class="w">
227 </span><span·class="nf">ok</span><span·class="w">227 </span><span·class="nf">ok</span><span·class="w">
228 </span><span·class="p"·data-group-id="8460709606-4">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="8460709606-4">)</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">system[·...·truncated·by·diffoscope;·len:·146,·SHA:·fe0616b62afe15e08c430706396084d4bbdbf07868f89166c99d2548f0d463c8·...·]-5">)</span><span·class="p">.</span><span·class="w">228 </span><span·class="p"·data-group-id="8701442038-4">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="8701442038-4">)</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">system[·...·truncated·by·diffoscope;·len:·146,·SHA:·f1196ba6f331212e521b5bdfc72a85bf93ff3fc5faf60fe1da514186ba9f4e13·...·]-5">)</span><span·class="p">.</span><span·class="w">
229 </span><span·class="p"·data-group-id="8460709606-6">[</span><span·class="ss">b@sam</span><span·class="p">,</span><span·class="ss">c@sam</span><span·class="p">,</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="8460709606-6">]</span><span·class="gp·unselectable">229 </span><span·class="p"·data-group-id="8701442038-6">[</span><span·class="ss">b@sam</span><span·class="p">,</span><span·class="ss">c@sam</span><span·class="p">,</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="8701442038-6">]</span><span·class="gp·unselectable">
230 (a@sam)3&gt;·</span><span·class="n">Tab</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">dictionary</span><span·class="p">.</span><span·class="w">230 (a@sam)3&gt;·</span><span·class="n">Tab</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">dictionary</span><span·class="p">.</span><span·class="w">
231 </span><span·class="nf">dictionary</span><span·class="w">231 </span><span·class="nf">dictionary</span><span·class="w">
232 </span><span·class="p"·data-group-id="8460709606-7">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="8460709606-7">)</span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create[·...·truncated·by·diffoscope;·len:·691,·SHA:·9b48f346098f268737941361bbbc0b474da523799180d84f8a4cbeaebf67e451·...·]-8">)</span><span·class="p">.</span><span·class="w">232 </span><span·class="p"·data-group-id="8701442038-7">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="8701442038-7">)</span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create[·...·truncated·by·diffoscope;·len:·691,·SHA:·ede4f5c411d5ac1a66650a285dfd954937ef3ebaff25aa84683812eb19b0da62·...·]-8">)</span><span·class="p">.</span><span·class="w">
233 </span><span·class="p"·data-group-id="8460709606-12">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="8460709606-12">}</span><span·class="gp·unselectable">233 </span><span·class="p"·data-group-id="8701442038-12">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="8701442038-12">}</span><span·class="gp·unselectable">
234 (a@sam)5&gt;·</span><span·class="n">Write</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="8460709606-13">(</span><span·class="n">Keys</span><span·class="p"·data-group-id="8460709606-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8460709606-14">[</span><span·class="nc">mnesia[·...·truncated·by·diffoscope;·len:·663,·SHA:·4958958a06cd380a9bbefc9bfa6799db2f2e7f2074c5c2cf20bacaa49b98be42·...·]-14">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">234 (a@sam)5&gt;·</span><span·class="n">Write</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="8701442038-13">(</span><span·class="n">Keys</span><span·class="p"·data-group-id="8701442038-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8701442038-14">[</span><span·class="nc">mnesia[·...·truncated·by·diffoscope;·len:·663,·SHA:·f666a0227e80bd88534b9e5c05c1dd53ae5c04ec1a075e2b4c9f05795b50463e·...·]-14">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
235 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="o">&gt;</span><span·class="gp·unselectable">235 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="o">&gt;</span><span·class="gp·unselectable">
236 (a@sam)6&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="8460709606-17">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Write</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8460709606-18">[</span><span·class="nc">lists[·...·truncated·by·diffoscope;·len:·444,·SHA:·6fc73fa1439404a4a153dc82920bef9271ba7447e1c4e845446b56e7efd87195·...·]-17">)</span><span·class="p">.</span><span·class="w">236 (a@sam)6&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="8701442038-17">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Write</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8701442038-18">[</span><span·class="nc">lists[·...·truncated·by·diffoscope;·len:·444,·SHA:·56006e31252fc9b73e9ebe58aaf876b9513b9f41b77ca08601855031c36484d3·...·]-17">)</span><span·class="p">.</span><span·class="w">
237 </span><span·class="nf">ok</span><span·class="w">237 </span><span·class="nf">ok</span><span·class="w">
238 </span><span·class="p"·data-group-id="8460709606-20">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="8460709606-20">)</span><span·class="mi">7</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">chan[·...·truncated·by·diffoscope;·len:·485,·SHA:·8d52014ffa9cf920db7229cd45f40adb8cd01b613cd177fd75725f804c8db572·...·]-21">)</span><span·class="p">.</span><span·class="w">238 </span><span·class="p"·data-group-id="8701442038-20">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="8701442038-20">)</span><span·class="mi">7</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">chan[·...·truncated·by·diffoscope;·len:·485,·SHA:·7c41f045ea28dff36c88c6e1d0c4bf17072c765c3776fe13622f135ec6256c34·...·]-21">)</span><span·class="p">.</span><span·class="w">
239 </span><span·class="p"·data-group-id="8460709606-24">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="8460709606-24">}</span><span·class="gp·unselectable">239 </span><span·class="p"·data-group-id="8701442038-24">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="8701442038-24">}</span><span·class="gp·unselectable">
240 (a@sam)8&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">table_info</span><span·class="p"·data-group-id="8460709606-25">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">frag_properties</span><span·class="p"·data-group-id="8460709606-25">)</span><span·class="p">.</span><span·class="w">240 (a@sam)8&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">table_info</span><span·class="p"·data-group-id="8701442038-25">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">frag_properties</span><span·class="p"·data-group-id="8701442038-25">)</span><span·class="p">.</span><span·class="w">
241 </span><span·class="p"·data-group-id="8460709606-26">[</span><span·class="p"·data-group-id="8460709606-27">{</span><span·class="ss">base_table</span><span·class="p">,</span><span·class="ss">dictionary</span><span·class="p"·data-group-id="8460709606-27">}</span><span·class="p">,</span><span·class="w">241 </span><span·class="p"·data-group-id="8701442038-26">[</span><span·class="p"·data-group-id="8701442038-27">{</span><span·class="ss">base_table</span><span·class="p">,</span><span·class="ss">dictionary</span><span·class="p"·data-group-id="8701442038-27">}</span><span·class="p">,</span><span·class="w">
242 ·</span><span·class="p"·data-group-id="8460709606-28">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p"·data-group-id="8460709606-28">}</span><span·class="p">,</span><span·class="w">242 ·</span><span·class="p"·data-group-id="8701442038-28">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p"·data-group-id="8701442038-28">}</span><span·class="p">,</span><span·class="w">
243 ·</span><span·class="p"·data-group-id="8460709606-29">{</span><span·class="ss">hash_module</span><span·class="p">,</span><span·class="ss">mnesia_frag_hash</span><span·class="p"·data-group-id="8460709606-29">}</span><span·class="p">,</span><span·class="w">243 ·</span><span·class="p"·data-group-id="8701442038-29">{</span><span·class="ss">hash_module</span><span·class="p">,</span><span·class="ss">mnesia_frag_hash</span><span·class="p"·data-group-id="8701442038-29">}</span><span·class="p">,</span><span·class="w">
244 ·</span><span·class="p"·data-group-id="8460709606-30">{</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="p"·data-group-id="8460709606-31">{</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·208,·SHA:·22d14e5b47bcc0210da4592076df9af702eab375ba6af9c4c7bcf02ff1bb6c73·...·]-30">}</span><span·class="p">,</span><span·class="w">244 ·</span><span·class="p"·data-group-id="8701442038-30">{</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="p"·data-group-id="8701442038-31">{</span><span·class="ss">hash_state</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·208,·SHA:·45c89d291948fa9a4353c27bb88639cc7d92ac2e70c7c2999522d90336f7e06e·...·]-30">}</span><span·class="p">,</span><span·class="w">
245 ·</span><span·class="p"·data-group-id="8460709606-32">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8460709606-32">}</span><span·class="p">,</span><span·class="w">245 ·</span><span·class="p"·data-group-id="8701442038-32">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8701442038-32">}</span><span·class="p">,</span><span·class="w">
246 ·</span><span·class="p"·data-group-id="8460709606-33">{</span><span·class="ss">node_pool</span><span·class="p">,</span><span·class="p"·data-group-id="8460709606-34">[</span><span·class="ss">a@sam</span><span·class="p">,</span><span·class="ss">b@sam</span><span·class="p">,</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·161,·SHA:·fdfcccafe234e8a45f3ad3fa5c69585b2a787b3f9d9a94bd7bb139a5743d2df5·...·]-26">]</span><span·class="gp·unselectable">246 ·</span><span·class="p"·data-group-id="8701442038-33">{</span><span·class="ss">node_pool</span><span·class="p">,</span><span·class="p"·data-group-id="8701442038-34">[</span><span·class="ss">a@sam</span><span·class="p">,</span><span·class="ss">b@sam</span><span·class="p">,</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·161,·SHA:·7c03efd5444f500ba81f91d09a2e66cf52161f0ddb3d759d79b6a2bb8866caca·...·]-26">]</span><span·class="gp·unselectable">
247 (a@sam)9&gt;·</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="8460709606-35">(</span><span·class="n">Item</span><span·class="p"·data-group-id="8460709606-35">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">table_[·...·truncated·by·diffoscope;·len:·207,·SHA:·f3a1ed58fb9c2e47b253512081b01393f7afffebafe56c1781d27ee7c76a527e·...·]-36">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">247 (a@sam)9&gt;·</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="8701442038-35">(</span><span·class="n">Item</span><span·class="p"·data-group-id="8701442038-35">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">table_[·...·truncated·by·diffoscope;·len:·207,·SHA:·0902d811f490b8e11412eb7976fd4d9c4e592e6c5b5fc0b62cf261454ff3311f·...·]-36">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
248 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="o">&gt;</span><span·class="gp·unselectable">248 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="o">&gt;</span><span·class="gp·unselectable">
249 (a@sam)10&gt;·</span><span·class="n">Dist</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="8460709606-37">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8460709606-38">[</span><span·class="ss">frag_d[·...·truncated·by·diffoscope;·len:·188,·SHA:·c7158fcf39ad3730a9df863c0d9349b3d37ee467c958afd0b4756ca34e3ab1bb·...·]-37">)</span><span·class="p">.</span><span·class="w">249 (a@sam)10&gt;·</span><span·class="n">Dist</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="8701442038-37">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8701442038-38">[</span><span·class="ss">frag_d[·...·truncated·by·diffoscope;·len:·188,·SHA:·47eb6c83b66ebefb334e17a389a1b34df1c272fcb7379a6ca516ea7f6e65cd1f·...·]-37">)</span><span·class="p">.</span><span·class="w">
250 </span><span·class="p"·data-group-id="8460709606-39">[</span><span·class="p"·data-group-id="8460709606-40">{</span><span·class="ss">c@sam</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="8460709606-40">}</span><span·class="p">,</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·413,·SHA:·f1614030a3c6eab273e5549005aed90477a1257ca881d35adbfbb87cd6f34f43·...·]-39">]</span><span·class="gp·unselectable">250 </span><span·class="p"·data-group-id="8701442038-39">[</span><span·class="p"·data-group-id="8701442038-40">{</span><span·class="ss">c@sam</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="8701442038-40">}</span><span·class="p">,</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·413,·SHA:·53287ac00eacc0a2cc201dfc039b003b74d0a23268336242598a88258c9ded49·...·]-39">]</span><span·class="gp·unselectable">
251 (a@sam)11&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">change_table_frag</span><span·class="p"·data-group-id="8460709606-43">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8460709606-44">{</span><span·class="ss">add_frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dist</span[·...·truncated·by·diffoscope;·len:·96,·SHA:·ee6289c294aed34f007ba798bd915a91a809736b12f69efcf3abe7ef65f1d5c5·...·]-43">)</span><span·class="p">.</span><span·class="w">251 (a@sam)11&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">change_table_frag</span><span·class="p"·data-group-id="8701442038-43">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8701442038-44">{</span><span·class="ss">add_frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dist</span[·...·truncated·by·diffoscope;·len:·96,·SHA:·91e8abb04c0200c570703abda2420d5faf951d8d386de2ed0d0db676e427cb0e·...·]-43">)</span><span·class="p">.</span><span·class="w">
252 </span><span·class="p"·data-group-id="8460709606-45">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="8460709606-45">}</span><span·class="gp·unselectable">252 </span><span·class="p"·data-group-id="8701442038-45">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="8701442038-45">}</span><span·class="gp·unselectable">
253 (a@sam)12&gt;·</span><span·class="n">Dist2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="8460709606-46">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8460709606-47">[</span><span·class="ss">frag_d[·...·truncated·by·diffoscope;·len:·188,·SHA:·fd4054474f55b1c818142f5468c08a2bf4afc8400f075e5a8279c1465ff32f5d·...·]-46">)</span><span·class="p">.</span><span·class="w">253 (a@sam)12&gt;·</span><span·class="n">Dist2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="8701442038-46">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8701442038-47">[</span><span·class="ss">frag_d[·...·truncated·by·diffoscope;·len:·188,·SHA:·69e82b0770f6e25e995bf234f094551f6179fb9a88a4341d1c23280e053a91e3·...·]-46">)</span><span·class="p">.</span><span·class="w">
254 </span><span·class="p"·data-group-id="8460709606-48">[</span><span·class="p"·data-group-id="8460709606-49">{</span><span·class="ss">b@sam</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8460709606-49">}</span><span·class="p">,</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·413,·SHA:·9461e7179f251d7ef1e9a723952a43e21078a749d2b9b6ad39a15e536aa789c4·...·]-48">]</span><span·class="gp·unselectable">254 </span><span·class="p"·data-group-id="8701442038-48">[</span><span·class="p"·data-group-id="8701442038-49">{</span><span·class="ss">b@sam</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8701442038-49">}</span><span·class="p">,</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·413,·SHA:·74659db88d0b479818dc773c605524969a0ac535c25a52ee66ffbdd3081a8ac6·...·]-48">]</span><span·class="gp·unselectable">
255 (a@sam)13&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">change_table_frag</span><span·class="p"·data-group-id="8460709606-52">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8460709606-53">{</span><span·class="ss">add_frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dist2</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·ef25661efdeed158ec857e1f83f6e4dfdfdb04be467cdfa537bbde01810fc82f·...·]-52">)</span><span·class="p">.</span><span·class="w">255 (a@sam)13&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">change_table_frag</span><span·class="p"·data-group-id="8701442038-52">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8701442038-53">{</span><span·class="ss">add_frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dist2</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·ec86a735f6c59b12ecb8d5bcef66593c8bf0fe74671b95b41f992384eaffae20·...·]-52">)</span><span·class="p">.</span><span·class="w">
256 </span><span·class="p"·data-group-id="8460709606-54">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="8460709606-54">}</span><span·class="gp·unselectable">256 </span><span·class="p"·data-group-id="8701442038-54">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="8701442038-54">}</span><span·class="gp·unselectable">
257 (a@sam)14&gt;·</span><span·class="n">Dist3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="8460709606-55">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8460709606-56">[</span><span·class="ss">frag_d[·...·truncated·by·diffoscope;·len:·188,·SHA:·bfeab6c64a625befbf702657a06ebba1dd533700710872d9e926273190d4cf51·...·]-55">)</span><span·class="p">.</span><span·class="w">257 (a@sam)14&gt;·</span><span·class="n">Dist3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="8701442038-55">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8701442038-56">[</span><span·class="ss">frag_d[·...·truncated·by·diffoscope;·len:·188,·SHA:·e6c221920d8112fc3a64698a1a1fb7a3f54296b703aab9c620d4209bb7c3e4a0·...·]-55">)</span><span·class="p">.</span><span·class="w">
258 </span><span·class="p"·data-group-id="8460709606-57">[</span><span·class="p"·data-group-id="8460709606-58">{</span><span·class="ss">a@sam</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="8460709606-58">}</span><span·class="p">,</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·413,·SHA:·2efddcae90f8b21e56d78eb76da44fff563f0cc3d88da6e85123ab6cc46b8732·...·]-57">]</span><span·class="gp·unselectable">258 </span><span·class="p"·data-group-id="8701442038-57">[</span><span·class="p"·data-group-id="8701442038-58">{</span><span·class="ss">a@sam</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="8701442038-58">}</span><span·class="p">,</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·413,·SHA:·b292b775fbe99fcb3861a7410f09253726e32ba1e368fd664313bbf9833fa274·...·]-57">]</span><span·class="gp·unselectable">
259 (a@sam)15&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">change_table_frag</span><span·class="p"·data-group-id="8460709606-61">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8460709606-62">{</span><span·class="ss">add_frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dist3</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·1649e0c2746af0a092e27846c860a936646b7529d3b34f239c796b8d212b1105·...·]-61">)</span><span·class="p">.</span><span·class="w">259 (a@sam)15&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">change_table_frag</span><span·class="p"·data-group-id="8701442038-61">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8701442038-62">{</span><span·class="ss">add_frag</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dist3</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·c501b44527c2f81601fd3758363a1d45bdb1ccd3a6c914ff7d24a1713ba64dc1·...·]-61">)</span><span·class="p">.</span><span·class="w">
260 </span><span·class="p"·data-group-id="8460709606-63">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="8460709606-63">}</span><span·class="gp·unselectable">260 </span><span·class="p"·data-group-id="8701442038-63">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="8701442038-63">}</span><span·class="gp·unselectable">
261 (a@sam)16&gt;·</span><span·class="n">Read</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="8460709606-64">(</span><span·class="n">Key</span><span·class="p"·data-group-id="8460709606-64">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">read</s[·...·truncated·by·diffoscope;·len:·307,·SHA:·34a498bf3dbb52aba93cec3c429fc955185a13a6c5fcaec96cbc1195602c39a8·...·]-65">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">261 (a@sam)16&gt;·</span><span·class="n">Read</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="8701442038-64">(</span><span·class="n">Key</span><span·class="p"·data-group-id="8701442038-64">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">read</s[·...·truncated·by·diffoscope;·len:·307,·SHA:·61b2ad800e01a8f336468ead3577eaff93857307b8b4f7bdf0a6adedcfc29049·...·]-65">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
262 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="o">&gt;</span><span·class="gp·unselectable">262 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="o">&gt;</span><span·class="gp·unselectable">
263 (a@sam)17&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="8460709606-67">(</span><span·class="ss">transaction</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Read</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8460709606-68">[</span><span·class="mi">12</s[·...·truncated·by·diffoscope;·len:·182,·SHA:·49ca33226032c7851c0dd39bb1df95faa699e0c18f1e962c6976d217f61a633a·...·]-67">)</span><span·class="p">.</span><span·class="w">263 (a@sam)17&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="8701442038-67">(</span><span·class="ss">transaction</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Read</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8701442038-68">[</span><span·class="mi">12</s[·...·truncated·by·diffoscope;·len:·182,·SHA:·693ceabe34466345408750f09c9ed45acedb2305bc4708c9317aa757e6e490fe·...·]-67">)</span><span·class="p">.</span><span·class="w">
264 </span><span·class="p"·data-group-id="8460709606-69">[</span><span·class="p"·data-group-id="8460709606-70">{</span><span·class="ss">dictionary</span><span·class="p">,</span><span·class="mi">12</span><span·class="p">,</span><span·class="o">-</span><span·class="mi">12</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·73,·SHA:·f1f4a6dc544dcb2f0a1c492aebc2c3ccd7f1515e60d91567dd0ee57a160c1b3d·...·]-69">]</span><span·class="gp·unselectable">264 </span><span·class="p"·data-group-id="8701442038-69">[</span><span·class="p"·data-group-id="8701442038-70">{</span><span·class="ss">dictionary</span><span·class="p">,</span><span·class="mi">12</span><span·class="p">,</span><span·class="o">-</span><span·class="mi">12</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·73,·SHA:·05167c568bf966f34b36d7e9561627abb2c6c704d2c40e4a3db6eddd5e2d7408·...·]-69">]</span><span·class="gp·unselectable">
265 (a@sam)18&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="8460709606-71">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8460709606-72">[</span><span·class="ss">frag_s[·...·truncated·by·diffoscope;·len:·188,·SHA:·eee16859e2e645e56029d5907a0258458dd0d3c54c3ae6c9375e90fb60639d07·...·]-71">)</span><span·class="p">.</span><span·class="w">265 (a@sam)18&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="8701442038-71">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8701442038-72">[</span><span·class="ss">frag_s[·...·truncated·by·diffoscope;·len:·188,·SHA:·fb1eea8a6997886c804f4f215837e68a0f77561b867370fc316515348b67c53f·...·]-71">)</span><span·class="p">.</span><span·class="w">
266 </span><span·class="p"·data-group-id="8460709606-73">[</span><span·class="p"·data-group-id="8460709606-74">{</span><span·class="ss">dictionary</span><span·class="p">,</span><span·class="mi">57</span><span·class="p"·data-group-id="8460709606-74">}</span><span·class="p">,</span><span·class="w">266 </span><span·class="p"·data-group-id="8701442038-73">[</span><span·class="p"·data-group-id="8701442038-74">{</span><span·class="ss">dictionary</span><span·class="p">,</span><span·class="mi">57</span><span·class="p"·data-group-id="8701442038-74">}</span><span·class="p">,</span><span·class="w">
267 ·</span><span·class="p"·data-group-id="8460709606-75">{</span><span·class="ss">dictionary_frag2</span><span·class="p">,</span><span·class="mi">63</span><span·class="p"·data-group-id="8460709606-75">}</span><span·class="p">,</span><span·class="w">267 ·</span><span·class="p"·data-group-id="8701442038-75">{</span><span·class="ss">dictionary_frag2</span><span·class="p">,</span><span·class="mi">63</span><span·class="p"·data-group-id="8701442038-75">}</span><span·class="p">,</span><span·class="w">
268 ·</span><span·class="p"·data-group-id="8460709606-76">{</span><span·class="ss">dictionary_frag3</span><span·class="p">,</span><span·class="mi">62</span><span·class="p"·data-group-id="8460709606-76">}</span><span·class="p">,</span><span·class="w">268 ·</span><span·class="p"·data-group-id="8701442038-76">{</span><span·class="ss">dictionary_frag3</span><span·class="p">,</span><span·class="mi">62</span><span·class="p"·data-group-id="8701442038-76">}</span><span·class="p">,</span><span·class="w">
269 ·</span><span·class="p"·data-group-id="8460709606-77">{</span><span·class="ss">dictionary_frag4</span><span·class="p">,</span><span·class="mi">74</span><span·class="p"·data-group-id="8460709606-77">}</span><span·class="p"·data-group-id="8460709606-73">]</span><span·class="w">269 ·</span><span·class="p"·data-group-id="8701442038-77">{</span><span·class="ss">dictionary_frag4</span><span·class="p">,</span><span·class="mi">74</span><span·class="p"·data-group-id="8701442038-77">}</span><span·class="p"·data-group-id="8701442038-73">]</span><span·class="w">
270 </span><span·class="p"·data-group-id="8460709606-78">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="8460709606-78">)</span><span·class="mi">19</span><span·class="o">&gt;</span></code></pre><h3·id="fragmentation-properties"·class="section-heading">270 </span><span·class="p"·data-group-id="8701442038-78">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="8701442038-78">)</span><span·class="mi">19</span><span·class="o">&gt;</span></code></pre><h3·id="fragmentation-properties"·class="section-heading">
271 ··<a·href="#fragmentation-properties"·class="hover-link">271 ··<a·href="#fragmentation-properties"·class="hover-link">
272 ····<i·class="ri-link-m"·aria-hidden="true"></i>272 ····<i·class="ri-link-m"·aria-hidden="true"></i>
273 ··</a>273 ··</a>
274 ··<span·class="text">Fragmentation·Properties</span>274 ··<span·class="text">Fragmentation·Properties</span>
275 </h3>275 </h3>
276 <p>The·table·property·<code·class="inline">frag_properties</code>·can·be·read·with·the·function276 <p>The·table·property·<code·class="inline">frag_properties</code>·can·be·read·with·the·function
277 <a·href="mnesia.html#table_info/2"><code·class="inline">mnesia:table_info(Tab,·frag_properties)</code></a>.·The277 <a·href="mnesia.html#table_info/2"><code·class="inline">mnesia:table_info(Tab,·frag_properties)</code></a>.·The
Offset 305, 72 lines modifiedOffset 305, 72 lines modified
305 defaults·to·<code·class="inline">undefined</code>.·However,·if·the·foreign·key·is·set·to·something·else,305 defaults·to·<code·class="inline">undefined</code>.·However,·if·the·foreign·key·is·set·to·something·else,
306 it·causes·the·default·values·of·the·other·fragmentation·properties·to·be·the306 it·causes·the·default·values·of·the·other·fragmentation·properties·to·be·the
307 same·values·as·the·actual·fragmentation·properties·of·the·foreign·table.</p></li><li><p><strong><code·class="inline">{hash_module,·Atom}</code></strong>·-·Enables·definition·of·an·alternative·hashing307 same·values·as·the·actual·fragmentation·properties·of·the·foreign·table.</p></li><li><p><strong><code·class="inline">{hash_module,·Atom}</code></strong>·-·Enables·definition·of·an·alternative·hashing
308 scheme.·The·module·must·implement·the·<a·href="mnesia_frag_hash.html"><code·class="inline">mnesia_frag_hash</code></a>·callback·behavior.308 scheme.·The·module·must·implement·the·<a·href="mnesia_frag_hash.html"><code·class="inline">mnesia_frag_hash</code></a>·callback·behavior.
309 This·property·can·explicitly·be·set·at·table·creation.·Default·is309 This·property·can·explicitly·be·set·at·table·creation.·Default·is
310 <code·class="inline">mnesia_frag_hash</code>.</p></li><li><p><strong><code·class="inline">{hash_state,·Term}</code></strong>·-·Enables·a·table-specific·parameterization·of·a310 <code·class="inline">mnesia_frag_hash</code>.</p></li><li><p><strong><code·class="inline">{hash_state,·Term}</code></strong>·-·Enables·a·table-specific·parameterization·of·a
311 generic·hash·module.·This·property·can·explicitly·be·set·at·table·creation.311 generic·hash·module.·This·property·can·explicitly·be·set·at·table·creation.
312 Default·is·<code·class="inline">undefined</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V15</span><span·class="p">.</span><span·class="mf">1.2</span><span·class="w">·</span><span·class="p"·data-group-id="1645291126-1">(</span><span·class="ss">press</span><span·class="w">·</span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">G</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">abort</span><sp[·...·truncated·by·diffoscope;·len:·399,·SHA:·122e8325468d027fd97e26a4b45f874052098964e69b14cd63ffabbb0bcd976b·...·]-1">)</span><span·class="gp·unselectable">312 Default·is·<code·class="inline">undefined</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V15</span><span·class="p">.</span><span·class="mf">1.2</span><span·class="w">·</span><span·class="p"·data-group-id="4763451015-1">(</span><span·class="ss">press</span><span·class="w">·</span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">G</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">abort</span><sp[·...·truncated·by·diffoscope;·len:·399,·SHA:·886866a1a0620e4a0b678a39df606315396856cdb578e634d20da87c712d54b2·...·]-1">)</span><span·class="gp·unselectable">
313 (a@sam)1&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="1645291126-3">(</span><span·class="p"·data-group-id="1645291126-3">)</span><span·class="p">.</span><span·class="w">313 (a@sam)1&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="4763451015-3">(</span><span·class="p"·data-group-id="4763451015-3">)</span><span·class="p">.</span><span·class="w">
314 </span><span·class="nf">ok</span><span·class="w">314 </span><span·class="nf">ok</span><span·class="w">
315 </span><span·class="p"·data-group-id="1645291126-4">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="1645291126-4">)</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">PrimProps</span><span·class="w">·</span><span·class="o">=</s[·...·truncated·by·diffoscope;·len:·811,·SHA:·c5d6a5747141092a8d0978a429e5b2dd2b080370e48b0b63c0b56d434394dff6·...·]-5">]</span><span·class="p">.</span><span·class="w">315 </span><span·class="p"·data-group-id="4763451015-4">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="4763451015-4">)</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="n">PrimProps</span><span·class="w">·</span><span·class="o">=</s[·...·truncated·by·diffoscope;·len:·811,·SHA:·876b8ee197ae6cbea0fe36977ac35053d1050f624b07e719e3dfe8a5d31b54d1·...·]-5">]</span><span·class="p">.</span><span·class="w">
316 </span><span·class="p"·data-group-id="1645291126-10">[</span><span·class="p"·data-group-id="1645291126-11">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="1645291126-11">}</span><span·class="p">,</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·326,·SHA:·0e2e5cb29d50b6f49706d3b38000148017a1769acd3b15879c01a0d14d6ea898·...·]-10">]</span><span·class="gp·unselectable">316 </span><span·class="p"·data-group-id="4763451015-10">[</span><span·class="p"·data-group-id="4763451015-11">{</span><span·class="ss">n_fragments</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="4763451015-11">}</span><span·class="p">,</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·326,·SHA:·46f24d60cedb50eb6e2067ec596c756204d69158d43b79f35cf2fa322026cddf·...·]-10">]</span><span·class="gp·unselectable">
317 (a@sam)3&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="1645291126-14">(</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·class="w">317 (a@sam)3&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="4763451015-14">(</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·class="w">
318 ······························</span><span·class="p"·data-group-id="1645291126-15">[</span><span·class="p"·data-group-id="1645291126-16">{</span><span·class="ss">frag_properties</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PrimProps</span><span·class="p"·data-group-id="1645291126-16">}</span><span·class="p">,</span><span·class="w">318 ······························</span><span·class="p"·data-group-id="4763451015-15">[</span><span·class="p"·data-group-id="4763451015-16">{</span><span·class="ss">frag_properties</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PrimProps</span><span·class="p"·data-group-id="4763451015-16">}</span><span·class="p">,</span><span·class="w">
319 ·······························</span><span·class="p"·data-group-id="1645291126-17">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1645291126-18">[</span><span·class="ss">prim_key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·218,·SHA:·df980dbab4c62a63cf63df42b3741023db7e41854efa17912af27014ae12cced·...·]-14">)</span><span·class="p">.</span><span·class="w">319 ·······························</span><span·class="p"·data-group-id="4763451015-17">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4763451015-18">[</span><span·class="ss">prim_key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·218,·SHA:·58cadbde2a335bc77d07544fd2a6334419df182d5256d3bbf9330630d874c5d9·...·]-14">)</span><span·class="p">.</span><span·class="w">
320 </span><span·class="p"·data-group-id="1645291126-19">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="1645291126-19">}</span><span·class="gp·unselectable">320 </span><span·class="p"·data-group-id="4763451015-19">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="4763451015-19">}</span><span·class="gp·unselectable">
321 (a@sam)4&gt;·</span><span·class="n">SecProps</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1645291126-20">[</span><span·class="p"·data-group-id="1645291126-21">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1645291126-22">{</span><span·class="ss">prim_dict</span><span·cla[·...·truncated·by·diffoscope;·len:·219,·SHA:·71e8fe74416a66d53df339e6d2ef0e07a9bc771e2ff23838dc78b74ecfc2ba6b·...·]-20">]</span><span·class="p">.</span><span·class="w">321 (a@sam)4&gt;·</span><span·class="n">SecProps</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4763451015-20">[</span><span·class="p"·data-group-id="4763451015-21">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4763451015-22">{</span><span·class="ss">prim_dict</span><span·cla[·...·truncated·by·diffoscope;·len:·219,·SHA:·922f9da5ff3247e6a0526e211b1e2ea7c3a8ebba3260797897b36fbc42a8a1fa·...·]-20">]</span><span·class="p">.</span><span·class="w">
322 </span><span·class="p"·data-group-id="1645291126-23">[</span><span·class="p"·data-group-id="1645291126-24">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="p"·data-group-id="1645291126-25">{</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·171,·SHA:·7101679d4eb17c48f32d8cf0db53a444067ddb2371c68a6d70a12a077d57a5dc·...·]-23">]</span><span·class="gp·unselectable">322 </span><span·class="p"·data-group-id="4763451015-23">[</span><span·class="p"·data-group-id="4763451015-24">{</span><span·class="ss">foreign_key</span><span·class="p">,</span><span·class="p"·data-group-id="4763451015-25">{</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·171,·SHA:·195ef8a067f10d4467e69822df32b4cfa1aca22f65a0091d5101125c80e35a5f·...·]-23">]</span><span·class="gp·unselectable">
323 (a@sam)5&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="1645291126-26">(</span><span·class="ss">sec_dict</span><span·class="p">,</span><span·class="w">323 (a@sam)5&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="4763451015-26">(</span><span·class="ss">sec_dict</span><span·class="p">,</span><span·class="w">
324 ······························</span><span·class="p"·data-group-id="1645291126-27">[</span><span·class="p"·data-group-id="1645291126-28">{</span><span·class="ss">frag_properties</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SecProps</span><span·class="p"·data-group-id="1645291126-28">}</span><span·class="p">,</span><span·class="w">324 ······························</span><span·class="p"·data-group-id="4763451015-27">[</span><span·class="p"·data-group-id="4763451015-28">{</span><span·class="ss">frag_properties</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SecProps</span><span·class="p"·data-group-id="4763451015-28">}</span><span·class="p">,</span><span·class="w">
325 ·······························</span><span·class="p"·data-group-id="1645291126-29">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1645291126-30">[</span><span·class="ss">sec_key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·216,·SHA:·09ac57f4e6d64b3fbdbe2135ad56a4e4cf080652ea5671c3a882b24e2d1b5a17·...·]-26">)</span><span·class="p">.</span><span·class="w">325 ·······························</span><span·class="p"·data-group-id="4763451015-29">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4763451015-30">[</span><span·class="ss">sec_key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·216,·SHA:·8e899a89a18719fe9a900fb762a1a64afe03b204dcdfc5b33e064db65b09ce10·...·]-26">)</span><span·class="p">.</span><span·class="w">
326 </span><span·class="p"·data-group-id="1645291126-31">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="1645291126-31">}</span><span·class="gp·unselectable">326 </span><span·class="p"·data-group-id="4763451015-31">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="4763451015-31">}</span><span·class="gp·unselectable">
327 (a@sam)6&gt;·</span><span·class="n">Write</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="1645291126-32">(</span><span·class="n">Rec</span><span·class="p"·data-group-id="1645291126-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write<[·...·truncated·by·diffoscope;·len:·127,·SHA:·616f647ac85c45457c53f445bf27ae59b9e38ab9dcf6d62fccbd3290ecf755fe·...·]-33">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">327 (a@sam)6&gt;·</span><span·class="n">Write</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="4763451015-32">(</span><span·class="n">Rec</span><span·class="p"·data-group-id="4763451015-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">write<[·...·truncated·by·diffoscope;·len:·127,·SHA:·7da9d9657751c37137cf35e5b24307ba5448ca2deec827a447f78e1e108c113f·...·]-33">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
328 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="o">&gt;</span><span·class="gp·unselectable">328 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="o">&gt;</span><span·class="gp·unselectable">
329 (a@sam)7&gt;·</span><span·class="n">PrimKey</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">11</span><span·class="p">.</span><span·class="w">329 (a@sam)7&gt;·</span><span·class="n">PrimKey</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">11</span><span·class="p">.</span><span·class="w">
330 </span><span·class="mi">11</span><span·class="gp·unselectable">330 </span><span·class="mi">11</span><span·class="gp·unselectable">
331 (a@sam)8&gt;·</span><span·class="n">SecKey</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">42</span><span·class="p">.</span><span·class="w">331 (a@sam)8&gt;·</span><span·class="n">SecKey</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">42</span><span·class="p">.</span><span·class="w">
332 </span><span·class="mi">42</span><span·class="gp·unselectable">332 </span><span·class="mi">42</span><span·class="gp·unselectable">
333 (a@sam)9&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="1645291126-34">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Write</span><span·class="p">,</span><span·class="w">333 (a@sam)9&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="4763451015-34">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Write</span><span·class="p">,</span><span·class="w">
334 ··························</span><span·class="p"·data-group-id="1645291126-35">[</span><span·class="p"·data-group-id="1645291126-36">{</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PrimKey</span><span·class="p">,</span><span·class="w">·</span><span·class="o">-</s[·...·truncated·by·diffoscope;·len:·262,·SHA:·9f63b09c245c5879902b77c173ba15fa1c17920e1501ab674180e7bd2cea6ac8·...·]-34">)</span><span·class="p">.</span><span·class="w">334 ··························</span><span·class="p"·data-group-id="4763451015-35">[</span><span·class="p"·data-group-id="4763451015-36">{</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PrimKey</span><span·class="p">,</span><span·class="w">·</span><span·class="o">-</s[·...·truncated·by·diffoscope;·len:·262,·SHA:·dce4502c2f64a6cd1390092ff311cf396e9c016d13915d81544ead09510d2af0·...·]-34">)</span><span·class="p">.</span><span·class="w">
335 </span><span·class="nf">ok</span><span·class="w">335 </span><span·class="nf">ok</span><span·class="w">
336 </span><span·class="p"·data-group-id="1645291126-37">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="1645291126-37">)</span><span·class="mi">10</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">ac[·...·truncated·by·diffoscope;·len:·54,·SHA:·4830d929cd78ff31e89f66c541571d07b19793812c6ba2ea3d20d3df4c7d99bb·...·]-38">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Write</span><span·class="p">,</span><span·class="w">336 </span><span·class="p"·data-group-id="4763451015-37">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="4763451015-37">)</span><span·class="mi">10</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">ac[·...·truncated·by·diffoscope;·len:·54,·SHA:·37fe2d8fe5becfbdf772ed96b188eee3e3298200c8560f525bc973a39f4f46df·...·]-38">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Write</span><span·class="p">,</span><span·class="w">
337 ···························</span><span·class="p"·data-group-id="1645291126-39">[</span><span·class="p"·data-group-id="1645291126-40">{</span><span·class="ss">sec_dict</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SecKey</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PrimKe[·...·truncated·by·diffoscope;·len:·240,·SHA:·83ca4fc5918948db809e2025fb5e7c041f213b1eb19d8bf6b33928f423b3adb4·...·]-38">)</span><span·class="p">.</span><span·class="w">337 ···························</span><span·class="p"·data-group-id="4763451015-39">[</span><span·class="p"·data-group-id="4763451015-40">{</span><span·class="ss">sec_dict</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SecKey</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PrimKe[·...·truncated·by·diffoscope;·len:·240,·SHA:·491911cac1ad1fb4e89a0d813768ac8eaff9e04982b8e67a8cc8361e8df7a564·...·]-38">)</span><span·class="p">.</span><span·class="w">
338 </span><span·class="nf">ok</span><span·class="w">338 </span><span·class="nf">ok</span><span·class="w">
339 </span><span·class="p"·data-group-id="1645291126-41">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="1645291126-41">)</span><span·class="mi">11</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">ch[·...·truncated·by·diffoscope;·len:·630,·SHA:·42526fc085938eb573538ce9b84702d5a17235f2ec0220195da963f077402116·...·]-42">)</span><span·class="p">.</span><span·class="w">339 </span><span·class="p"·data-group-id="4763451015-41">(</span><span·class="ss">a@sam</span><span·class="p"·data-group-id="4763451015-41">)</span><span·class="mi">11</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">ch[·...·truncated·by·diffoscope;·len:·630,·SHA:·a9190ea4cf83351efa492cda908accf0c5dcc2298f27f7fa14732dd0a6b7a6f7·...·]-42">)</span><span·class="p">.</span><span·class="w">
340 </span><span·class="p"·data-group-id="1645291126-46">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="1645291126-46">}</span><span·class="gp·unselectable">340 </span><span·class="p"·data-group-id="4763451015-46">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="4763451015-46">}</span><span·class="gp·unselectable">
341 (a@sam)12&gt;·</span><span·class="n">SecRead</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="1645291126-47">(</span><span·class="n">PrimKey</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SecKey</span><span·class="p"·data-group-id="1645291126-47">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">341 (a@sam)12&gt;·</span><span·class="n">SecRead</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="4763451015-47">(</span><span·class="n">PrimKey</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SecKey</span><span·class="p"·data-group-id="4763451015-47">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
342 ···············</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">read</span><span·class="p"·data-group-id="1645291126-48">(</span><span·class="p"·data-group-id="1645291126-49">{</span><span·class="ss">sec_dict</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PrimKey</span><span·class="p"·data-group-id="1645291126-49">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·179,·SHA:·c1c0cf95a3a73a6d6a548250c1ced01402a1b27431889a123ce192749054b51f·...·]-48">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">342 ···············</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">read</span><span·class="p"·data-group-id="4763451015-48">(</span><span·class="p"·data-group-id="4763451015-49">{</span><span·class="ss">sec_dict</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PrimKey</span><span·class="p"·data-group-id="4763451015-49">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·179,·SHA:·bd3f20bd78943ff02403ed6b72384e9337a29cbd63b535057172e86b8b01fe18·...·]-48">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
343 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="o">&gt;</span><span·class="gp·unselectable">343 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="o">&gt;</span><span·class="gp·unselectable">
344 (a@sam)13&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="1645291126-50">(</span><span·class="ss">transaction</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SecRead</span><span·class="p">,</span><span·class="w">344 (a@sam)13&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="4763451015-50">(</span><span·class="ss">transaction</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SecRead</span><span·class="p">,</span><span·class="w">
345 ···························</span><span·class="p"·data-group-id="1645291126-51">[</span><span·class="n">PrimKey</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SecKey</span><span·class="p"·data-group-id="1645291126-51">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_[·...·truncated·by·diffoscope;·len:·52,·SHA:·117547351ae8873f030e2caba0d6346b27e269981a9e8df94a3a0bca9cf07274·...·]-50">)</span><span·class="p">.</span><span·class="w">345 ···························</span><span·class="p"·data-group-id="4763451015-51">[</span><span·class="n">PrimKey</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SecKey</span><span·class="p"·data-group-id="4763451015-51">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">mnesia_[·...·truncated·by·diffoscope;·len:·52,·SHA:·26475bfdd4724455110dd4193a47a24c0ceed179c17f2864acb8368104101b9c·...·]-50">)</span><span·class="p">.</span><span·class="w">
346 </span><span·class="p"·data-group-id="1645291126-52">[</span><span·class="p"·data-group-id="1645291126-53">{</span><span·class="ss">sec_dict</span><span·class="p">,</span><span·class="mi">42</span><span·class="p">,</span><span·class="mi">11</span><span·class="p"·data-group-id="1645291126-53">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·00fe25825e64a1aa89e54f5e947edee3f3036a82833045db6314f5ca50bc59dd·...·]-52">]</span><span·class="gp·unselectable">346 </span><span·class="p"·data-group-id="4763451015-52">[</span><span·class="p"·data-group-id="4763451015-53">{</span><span·class="ss">sec_dict</span><span·class="p">,</span><span·class="mi">42</span><span·class="p">,</span><span·class="mi">11</span><span·class="p"·data-group-id="4763451015-53">}[·...·truncated·by·diffoscope;·len:·48,·SHA:·3f345f3eea866917ef04c6efd1d2f0b25969b3796bd138049608560f3a65ff13·...·]-52">]</span><span·class="gp·unselectable">
347 (a@sam)14&gt;·</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="1645291126-54">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Item</span><span·class="p"·data-group-id="1645291126-54">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·282,·SHA:·e9a4e1efe3f11e76b8cc0b53aea0b8532a497e705e394e94fe668316915a67b4·...·]-55">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">347 (a@sam)14&gt;·</span><span·class="n">Info</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="4763451015-54">(</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Item</span><span·class="p"·data-group-id="4763451015-54">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·282,·SHA:·66179ba59f640ee6b8bc6aade77becaf40a8ba2f40c16796a4c583c39356e656·...·]-55">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
348 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="o">&gt;</span><span·class="gp·unselectable">348 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="o">&lt;</span><span·class="ss">erl_eval</span><span·class="o">&gt;</span><span·class="gp·unselectable">
349 (a@sam)15&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="1645291126-56">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">349 (a@sam)15&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">activity</span><span·class="p"·data-group-id="4763451015-56">(</span><span·class="ss">sync_dirty</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">
350 ···························</span><span·class="p"·data-group-id="1645291126-57">[</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">frag_size</span><span·class="p"·data-group-id="1645291126-57">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·59,·SHA:·75a00cc90e5c583934dcdf4ca751ab70c4b8b477ebe654fe82f707e24bf9793a·...·]-56">)</span><span·class="p">.</span><span·class="w">350 ···························</span><span·class="p"·data-group-id="4763451015-57">[</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">frag_size</span><span·class="p"·data-group-id="4763451015-57">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·59,·SHA:·6169f9a4bebcc71591c38d394c8d81563cdcbefd0fb353100aa50c6f35ef2480·...·]-56">)</span><span·class="p">.</span><span·class="w">
351 </span><span·class="p"·data-group-id="1645291126-58">[</span><span·class="p"·data-group-id="1645291126-59">{</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1645291126-59">}</span><span·class="p">,</span><span·class="w">351 </span><span·class="p"·data-group-id="4763451015-58">[</span><span·class="p"·data-group-id="4763451015-59">{</span><span·class="ss">prim_dict</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="4763451015-59">}</span><span·class="p">,</span><span·class="w">
352 ·</span><span·class="p"·data-group-id="1645291126-60">{</span><span·class="ss">prim_dict_frag2</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1645291126-60">}</span><span·class="p">,</span><span·class="w">352 ·</span><span·class="p"·data-group-id="4763451015-60">{</span><span·class="ss">prim_dict_frag2</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="4763451015-60">}</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 63550/153707 bytes (41.34%) of diff not shown.
861 B
html2text {}
Max HTML report size reached
47.0 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_chap7.html
    
Offset 229, 34 lines modifiedOffset 229, 34 lines modified
229 ··</a>229 ··</a>
230 ··<span·class="text">Startup·Files</span>230 ··<span·class="text">Startup·Files</span>
231 </h3>231 </h3>
232 <p><a·href="mnesia_chap3.html#start_mnesia">Start·Mnesia</a>·states·the·following·prerequisites232 <p><a·href="mnesia_chap3.html#start_mnesia">Start·Mnesia</a>·states·the·following·prerequisites
233 for·starting·<code·class="inline">Mnesia</code>:</p><ul><li>An·Erlang·session·must·be·started·and·a·<code·class="inline">Mnesia</code>·directory·must·be·specified233 for·starting·<code·class="inline">Mnesia</code>:</p><ul><li>An·Erlang·session·must·be·started·and·a·<code·class="inline">Mnesia</code>·directory·must·be·specified
234 for·the·database.</li><li>A·database·schema·must·be·initiated,·using·the·function234 for·the·database.</li><li>A·database·schema·must·be·initiated,·using·the·function
235 <a·href="mnesia.html#create_schema/1"><code·class="inline">mnesia:create_schema/1</code></a>.</li></ul><p>The·following·example·shows·how·these·tasks·are·performed:</p><p><em>Step·1:</em>·Start·an·Erlang·session·and·specify·a·<code·class="inline">Mnesia</code>·directory·for·the235 <a·href="mnesia.html#create_schema/1"><code·class="inline">mnesia:create_schema/1</code></a>.</li></ul><p>The·following·example·shows·how·these·tasks·are·performed:</p><p><em>Step·1:</em>·Start·an·Erlang·session·and·specify·a·<code·class="inline">Mnesia</code>·directory·for·the
236 database:</p><pre><code·class="text">%·erl·-sname·klacke·-mnesia·dir·'&quot;/ldisc/scratch/klacke&quot;'</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">27</span><span·class="w">·</span><span·class="p"·data-group-id="1113248784-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">15.1</span><span·class="p">.</span><span·class="mi">2</span><span·class="p"·data-group-id="1113248784-1">]</span><span·class="w">236 database:</p><pre><code·class="text">%·erl·-sname·klacke·-mnesia·dir·'&quot;/ldisc/scratch/klacke&quot;'</code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">27</span><span·class="w">·</span><span·class="p"·data-group-id="2689949717-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">15.1</span><span·class="p">.</span><span·class="mi">2</span><span·class="p"·data-group-id="2689949717-1">]</span><span·class="w">
  
237 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V15</span><span·class="p">.</span><span·class="mf">1.2</span><span·class="w">·</span><span·class="p"·data-group-id="1113248784-2">(</span><span·class="ss">press</span><span·class="w">·</span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">G</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">abort</span><sp[·...·truncated·by·diffoscope;·len:·399,·SHA:·b1856a4fafcfcc2d2638d86b8e657a1ff5acfc00be8dfe333b266afd80c957ff·...·]-2">)</span><span·class="gp·unselectable">237 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V15</span><span·class="p">.</span><span·class="mf">1.2</span><span·class="w">·</span><span·class="p"·data-group-id="2689949717-2">(</span><span·class="ss">press</span><span·class="w">·</span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">G</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">abort</span><sp[·...·truncated·by·diffoscope;·len:·399,·SHA:·b20a2c8692b5a29d433f8bb7986bc63d7fed46594ebb490f2d7fb5743e99ffa6·...·]-2">)</span><span·class="gp·unselectable">
238 (klacke@gin)1&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_schema</span><span·class="p"·data-group-id="1113248784-4">(</span><span·class="p"·data-group-id="1113248784-5">[</span><span·class="nf">node</span><span·class="p"·data-group-id="1113248784-6">(</span><span·class="p"·data-group-id="1113248784-6">)</span><span·class="p"·data-group-id="1113248784-5">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·36ec64fa468cec021aa17db27e7bbd22314c250b01cfcb17b745ba7e89db9b13·...·]-4">)</span><span·class="p">.</span><span·class="w">238 (klacke@gin)1&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_schema</span><span·class="p"·data-group-id="2689949717-4">(</span><span·class="p"·data-group-id="2689949717-5">[</span><span·class="nf">node</span><span·class="p"·data-group-id="2689949717-6">(</span><span·class="p"·data-group-id="2689949717-6">)</span><span·class="p"·data-group-id="2689949717-5">]<[·...·truncated·by·diffoscope;·len:·47,·SHA:·56161aaef6330a85138f7948574df50da9a9653711b8306de9ee379f3e15b2e4·...·]-4">)</span><span·class="p">.</span><span·class="w">
239 </span><span·class="nf">ok</span><span·class="w">239 </span><span·class="nf">ok</span><span·class="w">
240 </span><span·class="p"·data-group-id="1113248784-7">(</span><span·class="ss">klacke@gin</span><span·class="p"·data-group-id="1113248784-7">)</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">240 </span><span·class="p"·data-group-id="2689949717-7">(</span><span·class="ss">klacke@gin</span><span·class="p"·data-group-id="2689949717-7">)</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">
241 </span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">Z</span><span·class="w">241 </span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">Z</span><span·class="w">
242 </span><span·class="p"·data-group-id="1113248784-8">[</span><span·class="mi">1</span><span·class="p"·data-group-id="1113248784-8">]</span><span·class="o">+</span><span·class="w">··</span><span·class="n">Stopped</span><span·class="w">·················</span><span·class="ss">erl</span></code></pre><p><em>Step·2:</em>·You·can·inspect·the·<code·class="inline">Mnesia</code>·directory·to·see·what·files·have·been242 </span><span·class="p"·data-group-id="2689949717-8">[</span><span·class="mi">1</span><span·class="p"·data-group-id="2689949717-8">]</span><span·class="o">+</span><span·class="w">··</span><span·class="n">Stopped</span><span·class="w">·················</span><span·class="ss">erl</span></code></pre><p><em>Step·2:</em>·You·can·inspect·the·<code·class="inline">Mnesia</code>·directory·to·see·what·files·have·been
243 created:</p><pre><code·class="text">%·ls·-l·/ldisc/scratch/klacke243 created:</p><pre><code·class="text">%·ls·-l·/ldisc/scratch/klacke
244 -rw-rw-r--···1·klacke···staff·······247·Aug·12·15:06·FALLBACK.BUP</code></pre><p>The·response·shows·that·the·file·<code·class="inline">FALLBACK.BUP</code>·has·been·created.·This·is·called244 -rw-rw-r--···1·klacke···staff·······247·Aug·12·15:06·FALLBACK.BUP</code></pre><p>The·response·shows·that·the·file·<code·class="inline">FALLBACK.BUP</code>·has·been·created.·This·is·called
245 a·backup·file,·and·it·contains·an·initial·schema.·If·more·than·one·node·in·the245 a·backup·file,·and·it·contains·an·initial·schema.·If·more·than·one·node·in·the
246 function·<a·href="mnesia.html#create_schema/1"><code·class="inline">mnesia:create_schema/1</code></a>·had·been·specified,·identical·backup·files246 function·<a·href="mnesia.html#create_schema/1"><code·class="inline">mnesia:create_schema/1</code></a>·had·been·specified,·identical·backup·files
247 would·have·been·created·on·all·nodes.</p><p><em>Step·3:</em>·Start·<code·class="inline">Mnesia</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(klacke@gin)3&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="8302011267-1">(</span><span·class="p"·data-group-id="8302011267-1">)</span><span·class="p">.</span><span·class="w">247 would·have·been·created·on·all·nodes.</p><p><em>Step·3:</em>·Start·<code·class="inline">Mnesia</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(klacke@gin)3&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="0593238090-1">(</span><span·class="p"·data-group-id="0593238090-1">)</span><span·class="p">.</span><span·class="w">
248 </span><span·class="ss">ok</span></code></pre><p><em>Step·4:</em>·You·can·see·the·following·listing·in·the·<code·class="inline">Mnesia</code>·directory:</p><pre><code·class="text">-rw-rw-r--···1·klacke···staff·········86·May·26·19:03·LATEST.LOG248 </span><span·class="ss">ok</span></code></pre><p><em>Step·4:</em>·You·can·see·the·following·listing·in·the·<code·class="inline">Mnesia</code>·directory:</p><pre><code·class="text">-rw-rw-r--···1·klacke···staff·········86·May·26·19:03·LATEST.LOG
249 -rw-rw-r--···1·klacke···staff······34507·May·26·19:03·schema.DAT</code></pre><p>The·schema·in·the·backup·file·<code·class="inline">FALLBACK.BUP</code>·has·been·used·to·generate·the·file249 -rw-rw-r--···1·klacke···staff······34507·May·26·19:03·schema.DAT</code></pre><p>The·schema·in·the·backup·file·<code·class="inline">FALLBACK.BUP</code>·has·been·used·to·generate·the·file
250 <code·class="inline">schema.DAT</code>.·Since·there·are·no·other·disc·resident·tables·than·the·schema,·no250 <code·class="inline">schema.DAT</code>.·Since·there·are·no·other·disc·resident·tables·than·the·schema,·no
251 other·data·files·were·created.·The·file·<code·class="inline">FALLBACK.BUP</code>·was·removed·after·the251 other·data·files·were·created.·The·file·<code·class="inline">FALLBACK.BUP</code>·was·removed·after·the
252 successful·&quot;restoration&quot;.·You·also·see·some·files·that·are·for·internal·use·by252 successful·&quot;restoration&quot;.·You·also·see·some·files·that·are·for·internal·use·by
253 <code·class="inline">Mnesia</code>.</p><p><em>Step·5:</em>·Create·a·table:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(klacke@gin)4&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="4739925787-1">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="p"·data-group-id="4739925787-2">[</span><span·class="p"·data-group-id="4739925787-3">{</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4739925787-4">[</span><span·class="nf">node</span><span·class="p"·data-group-id="4739925787-5">(</span><span·class="p"·data-group-id="4739925787-5">)</span><span·class="p"·data-group-id="4739925787-4">]</span><span·class="p"·data-group-id="4739925787-3">}</span><span·class="p"·data-group-id="4739925787-2">]</span><span·class="p"·data-group-id="4739925787-1">)</span><span·class="p">.</span><span·class="w"> 
254 </span><span·class="p"·data-group-id="4739925787-6">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="4739925787-6">}</span></code></pre><p><em>Step·6:</em>·You·can·see·the·following·listi[·...·truncated·by·diffoscope;·len:·112,·SHA:·97a746fbad41ac6f5fe9013762a4d97380077fc7d0e49d5206c8569b7dda64af·...·]253 <code·class="inline">Mnesia</code>.</p><p><em>Step·5:</em>·Create·a·table:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(klacke@gin)4&gt;·</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">creat[·...·truncated·by·diffoscope;·len:·746,·SHA:·a3bd1ad79092afa914d31babbf7c3abde112891b0e1a73cca922d14ffa3031b8·...·]
 254 </span><span·class="p"·data-group-id="0301864160-6">{</span><span·class="ss">atomic</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p"·data-group-id="0301864160-6">}</span></code></pre><p><em>Step·6:</em>·You·can·see·the·following·listing·in·the·<code·class="inline">Mnesia</code>·directory:</p><pre><code·class="text">%·ls·-l·/ldisc/scratch/klacke
255 -rw-rw-r--·1·klacke·staff····86·May·26·19:07·LATEST.LOG255 -rw-rw-r--·1·klacke·staff····86·May·26·19:07·LATEST.LOG
256 -rw-rw-r--·1·klacke·staff····94·May·26·19:07·foo.DCD256 -rw-rw-r--·1·klacke·staff····94·May·26·19:07·foo.DCD
257 -rw-rw-r--·1·klacke·staff··6679·May·26·19:07·schema.DAT</code></pre><p>The·file·<code·class="inline">foo.DCD</code>·has·been·created.·This·file·will·eventually·store·all·data257 -rw-rw-r--·1·klacke·staff··6679·May·26·19:07·schema.DAT</code></pre><p>The·file·<code·class="inline">foo.DCD</code>·has·been·created.·This·file·will·eventually·store·all·data
258 that·is·written·into·the·<code·class="inline">foo</code>·table.</p><h3·id="log-file"·class="section-heading">258 that·is·written·into·the·<code·class="inline">foo</code>·table.</p><h3·id="log-file"·class="section-heading">
259 ··<a·href="#log-file"·class="hover-link">259 ··<a·href="#log-file"·class="hover-link">
260 ····<i·class="ri-link-m"·aria-hidden="true"></i>260 ····<i·class="ri-link-m"·aria-hidden="true"></i>
261 ··</a>261 ··</a>
Offset 292, 19 lines modifiedOffset 292, 19 lines modified
292 and·it·is·efficient·to·insert·and·search·for·records·in·these·files·with·a292 and·it·is·efficient·to·insert·and·search·for·records·in·these·files·with·a
293 specific·key.·The·<code·class="inline">.DAT</code>·files·are·used·for·the·schema·and·for293 specific·key.·The·<code·class="inline">.DAT</code>·files·are·used·for·the·schema·and·for
294 <code·class="inline">disc_only_copies</code>·tables.·The·<code·class="inline">Mnesia</code>·data·files·are·currently·implemented·in294 <code·class="inline">disc_only_copies</code>·tables.·The·<code·class="inline">Mnesia</code>·data·files·are·currently·implemented·in
295 the·standard·library·module·<a·href="../../../../lib/stdlib-7.0/doc/html/dets.html"><code·class="inline">dets</code></a>·in·<code·class="inline">STDLIB</code>.</p><p>All·operations·that·can·be·performed·on·<code·class="inline">dets</code>·files·can·also·be·performed·on295 the·standard·library·module·<a·href="../../../../lib/stdlib-7.0/doc/html/dets.html"><code·class="inline">dets</code></a>·in·<code·class="inline">STDLIB</code>.</p><p>All·operations·that·can·be·performed·on·<code·class="inline">dets</code>·files·can·also·be·performed·on
296 the·<code·class="inline">Mnesia</code>·data·files.·For·example,·<code·class="inline">dets</code>·contains·the·function296 the·<code·class="inline">Mnesia</code>·data·files.·For·example,·<code·class="inline">dets</code>·contains·the·function
297 <a·href="../../../../lib/stdlib-7.0/doc/html/dets.html#traverse/2"><code·class="inline">dets:traverse/2</code></a>,·which·can·be·used·to·view·the·contents·of·a·<code·class="inline">Mnesia</code>·<code·class="inline">DAT</code>297 <a·href="../../../../lib/stdlib-7.0/doc/html/dets.html#traverse/2"><code·class="inline">dets:traverse/2</code></a>,·which·can·be·used·to·view·the·contents·of·a·<code·class="inline">Mnesia</code>·<code·class="inline">DAT</code>
298 file.·However,·this·can·only·be·done·when·<code·class="inline">Mnesia</code>·is·not·running.·So,·to·view298 file.·However,·this·can·only·be·done·when·<code·class="inline">Mnesia</code>·is·not·running.·So,·to·view
299 the·schema·file,·do·as·follows;</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6599282345-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="6599282345-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·688,·SHA:·2e398afc38828b330d06df097cbe58aa677d4b0310c9036d5eb593aa66a08709·...·]-5">}</span><span·class="p">,</span><span·class="w">299 the·schema·file,·do·as·follows;</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7911684738-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="7911684738-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·688,·SHA:·457cda6b38d06b55705a1fe9767ff389b1a1a35609880ffa62f01fd8408be9cb·...·]-5">}</span><span·class="p">,</span><span·class="w">
300 </span><span·class="p"·data-group-id="6599282345-6">{</span><span·class="ss">keypos</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="6599282345-6">}</span><span·class="p"·data-group-id="6599282345-3">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·35b5643b64f4c2aca6046022a0ea4d02cd093614ffe779f9f96d12a5ee433c0b·...·]-2">)</span><span·class="p">,</span><span·class="w">300 </span><span·class="p"·data-group-id="7911684738-6">{</span><span·class="ss">keypos</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="7911684738-6">}</span><span·class="p"·data-group-id="7911684738-3">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·5b4e0d6b719c1ea6ef6cae20155a6ccc27f24f5a66de152adc2171a89f9f0470·...·]-2">)</span><span·class="p">,</span><span·class="w">
301 </span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="6599282345-7">(</span><span·class="n">X</span><span·class="p"·data-group-id="6599282345-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><[·...·truncated·by·diffoscope;·len:·381,·SHA:·8df292e1733be3f91fe7f8d1a6c3f14f6ccc19aea8ef889fb8ff99a3aa820097·...·]-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">continue</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">301 </span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="7911684738-7">(</span><span·class="n">X</span><span·class="p"·data-group-id="7911684738-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><[·...·truncated·by·diffoscope;·len:·381,·SHA:·24d6db2a1917bd9b267aa3d61a558c284f57834ed50bfb68baabe067623bcf63·...·]-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">continue</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
302 </span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">traverse</span><span·class="p"·data-group-id="6599282345-10">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="6599282345-10">)</span><span·class="p">,</span><span·class="w">302 </span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">traverse</span><span·class="p"·data-group-id="7911684738-10">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="7911684738-10">)</span><span·class="p">,</span><span·class="w">
303 </span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="6599282345-11">(</span><span·class="n">N</span><span·class="p"·data-group-id="6599282345-11">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>The·<code·class="inline">DAT</code>·files·must·always·be·opened·with·option·<code·class="inline">{repair,·false}</code>.·This303 </span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="7911684738-11">(</span><span·class="n">N</span><span·class="p"·data-group-id="7911684738-11">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>The·<code·class="inline">DAT</code>·files·must·always·be·opened·with·option·<code·class="inline">{repair,·false}</code>.·This
304 ensures·that·these·files·are·not·automatically·repaired.·Without·this·option,304 ensures·that·these·files·are·not·automatically·repaired.·Without·this·option,
305 the·database·can·become·inconsistent,·because·<code·class="inline">Mnesia</code>·can·believe·that·the305 the·database·can·become·inconsistent,·because·<code·class="inline">Mnesia</code>·can·believe·that·the
306 files·were·properly·closed.·For·information·about·configuration·parameter306 files·were·properly·closed.·For·information·about·configuration·parameter
307 <code·class="inline">auto_repair</code>,·see·the·Reference·Manual.</p></section><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>It·is·recommended·that·the·data·files·are·not·tampered·with·while·<code·class="inline">Mnesia</code>·is307 <code·class="inline">auto_repair</code>,·see·the·Reference·Manual.</p></section><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>It·is·recommended·that·the·data·files·are·not·tampered·with·while·<code·class="inline">Mnesia</code>·is
308 running.·While·not·prohibited,·the·behavior·of·<code·class="inline">Mnesia</code>·is·unpredictable.</p></section><p>The·<code·class="inline">disc_copies</code>·tables·are·stored·on·disk·with·<code·class="inline">.DCL</code>·and·<code·class="inline">.DCD</code>·files,·which308 running.·While·not·prohibited,·the·behavior·of·<code·class="inline">Mnesia</code>·is·unpredictable.</p></section><p>The·<code·class="inline">disc_copies</code>·tables·are·stored·on·disk·with·<code·class="inline">.DCL</code>·and·<code·class="inline">.DCD</code>·files,·which
309 are·standard·<code·class="inline">disk_log</code>·files.</p><h2·id="loading-tables-at-startup"·class="section-heading">309 are·standard·<code·class="inline">disk_log</code>·files.</p><h2·id="loading-tables-at-startup"·class="section-heading">
310 ··<a·href="#loading-tables-at-startup"·class="hover-link">310 ··<a·href="#loading-tables-at-startup"·class="hover-link">
Offset 530, 46 lines modifiedOffset 530, 46 lines modified
530 of·what·<code·class="inline">record_name</code>·is·set·to.</li></ul><p>The·backup·data·is·divided·into·two·sections.·The·first·section·contains530 of·what·<code·class="inline">record_name</code>·is·set·to.</li></ul><p>The·backup·data·is·divided·into·two·sections.·The·first·section·contains
531 information·related·to·the·schema.·All·schema-related·items·are·tuples·where·the531 information·related·to·the·schema.·All·schema-related·items·are·tuples·where·the
532 first·field·equals·the·atom·schema.·The·second·section·is·the·record·section.532 first·field·equals·the·atom·schema.·The·second·section·is·the·record·section.
533 Schema·records·cannot·be·mixed·with·other·records·and·all·schema·records·must·be533 Schema·records·cannot·be·mixed·with·other·records·and·all·schema·records·must·be
534 located·first·in·the·backup.</p><p>The·schema·itself·is·a·table·and·is·possibly·included·in·the·backup.·Each·node534 located·first·in·the·backup.</p><p>The·schema·itself·is·a·table·and·is·possibly·included·in·the·backup.·Each·node
535 where·the·schema·table·resides·is·regarded·as·a·<code·class="inline">db_node</code>.</p><p>The·following·example·shows·how535 where·the·schema·table·resides·is·regarded·as·a·<code·class="inline">db_node</code>.</p><p>The·following·example·shows·how
536 <a·href="mnesia.html#traverse_backup/4"><code·class="inline">mnesia:traverse_backup</code></a>·can·be·used·to·rename·a536 <a·href="mnesia.html#traverse_backup/4"><code·class="inline">mnesia:traverse_backup</code></a>·can·be·used·to·rename·a
537 <code·class="inline">db_node</code>·in·a·backup·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">change_node_name</span><span·class="p"·data-group-id="6271806351-1">(</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">To</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·135,·SHA:·2412d60cce69f199e3cad4f7129d02941b83adcd8a44637e880bb747bc56efcb·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">537 <code·class="inline">db_node</code>·in·a·backup·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">change_node_name</span><span·class="p"·data-group-id="1458249192-1">(</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">To</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·135,·SHA:·405953fe601d8fcc4495d1dc6c7cbff9c80613271a408edd9ad50f7e26015aa6·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
538 ····</span><span·class="n">Switch</span><span·class="w">·</span><span·class="o">=</span><span·class="w">538 ····</span><span·class="n">Switch</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
539 ········</span><span·class="nf">fun</span><span·class="p"·data-group-id="6271806351-2">(</span><span·class="n">Node</span><span·class="p"·data-group-id="6271806351-2">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">From</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">To</span><span·class="p">;</span><span·class="w">539 ········</span><span·class="nf">fun</span><span·class="p"·data-group-id="1458249192-2">(</span><span·class="n">Node</span><span·class="p"·data-group-id="1458249192-2">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="n">From</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">To</span><span·class="p">;</span><span·class="w">
540 ···········</span><span·class="p"·data-group-id="6271806351-3">(</span><span·class="n">Node</span><span·class="p"·data-group-id="6271806351-3">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">==</span><sp[·...·truncated·by·diffoscope;·len:·466,·SHA:·dc62343e1a87bab384303d695332dd048f90d8c07fbc68d7664bb865a824fa47·...·]-4">)</span><span·class="p">;</span><span·class="w">540 ···········</span><span·class="p"·data-group-id="1458249192-3">(</span><span·class="n">Node</span><span·class="p"·data-group-id="1458249192-3">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">==</span><sp[·...·truncated·by·diffoscope;·len:·466,·SHA:·81608936efc2bbf461205c8da4644badda666e30524fe369f9306f5647fd21e1·...·]-4">)</span><span·class="p">;</span><span·class="w">
541 ···········</span><span·class="p"·data-group-id="6271806351-6">(</span><span·class="n">Node</span><span·class="p"·data-group-id="6271806351-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Node</span><span·class="w">541 ···········</span><span·class="p"·data-group-id="1458249192-6">(</span><span·class="n">Node</span><span·class="p"·data-group-id="1458249192-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Node</span><span·class="w">
542 ········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">542 ········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
543 ····</span><span·class="n">Convert</span><span·class="w">·</span><span·class="o">=</span><span·class="w">543 ····</span><span·class="n">Convert</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
544 ········</span><span·class="nf">fun</span><span·class="p"·data-group-id="6271806351-7">(</span><span·class="p"·data-group-id="6271806351-8">{</span><span·class="ss">schema</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">version</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Version<[·...·truncated·by·diffoscope;·len:·174,·SHA:·2fe3113976edd4650042f2bf34e92a2d745ea4dc989c91d513e5ced89ad8570c·...·]-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">544 ········</span><span·class="nf">fun</span><span·class="p"·data-group-id="1458249192-7">(</span><span·class="p"·data-group-id="1458249192-8">{</span><span·class="ss">schema</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">version</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Version<[·...·truncated·by·diffoscope;·len:·174,·SHA:·bd462c9861866d60e60f6c491f0fd66f6286008ace65abb5d3ce891e01176fc6·...·]-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
545 ················</span><span·class="p"·data-group-id="6271806351-9">{</span><span·class="p"·data-group-id="6271806351-10">[</span><span·class="p"·data-group-id="6271806351-11">{</span><span·class="ss">schema</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">version</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·284,·SHA:·3265888e20010ab8ca5dbbce1da2387be51cf0139d73fad82eaed428b21a61a4·...·]-9">}</span><span·class="p">;</span><span·class="w">545 ················</span><span·class="p"·data-group-id="1458249192-9">{</span><span·class="p"·data-group-id="1458249192-10">[</span><span·class="p"·data-group-id="1458249192-11">{</span><span·class="ss">schema</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">version</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·284,·SHA:·b683ad6c006b5492139ec34721607474de81d7bc9f7eee3f9760f1eae8eeab6d·...·]-9">}</span><span·class="p">;</span><span·class="w">
546 ···········</span><span·class="p"·data-group-id="6271806351-12">(</span><span·class="p"·data-group-id="6271806351-13">{</span><span·class="ss">schema</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">cookie</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cookie<[·...·truncated·by·diffoscope;·len:·175,·SHA:·904ea147db9e6a451db574bc356c648c8cf243c7f530784ae61ff4835ab677a0·...·]-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">546 ···········</span><span·class="p"·data-group-id="1458249192-12">(</span><span·class="p"·data-group-id="1458249192-13">{</span><span·class="ss">schema</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">cookie</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cookie<[·...·truncated·by·diffoscope;·len:·175,·SHA:·d4ab288f2d9bdfd33b79d970421237f5f0ac31a65e415b53f2f549153300cddb·...·]-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
547 ················</span><span·class="p"·data-group-id="6271806351-14">{</span><span·class="p"·data-group-id="6271806351-15">[</span><span·class="p"·data-group-id="6271806351-16">{</span><span·class="ss">schema</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">cookie</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·283,·SHA:·6b46dd83458a0fa6f86385999e210776a20e17cdb7efe8f0cc4f4a622b168ed1·...·]-14">}</span><span·class="p">;</span><span·class="w">547 ················</span><span·class="p"·data-group-id="1458249192-14">{</span><span·class="p"·data-group-id="1458249192-15">[</span><span·class="p"·data-group-id="1458249192-16">{</span><span·class="ss">schema</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">cookie</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·283,·SHA:·b806791c2a4f45cd66ad5c2b3b16d6c9316b9d6d883bc7790d1ade75639f41de·...·]-14">}</span><span·class="p">;</span><span·class="w">
548 ···········</span><span·class="p"·data-group-id="6271806351-17">(</span><span·class="p"·data-group-id="6271806351-18">{</span><span·class="ss">schema</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CreateList<[·...·truncated·by·diffoscope;·len:·175,·SHA:·68632f7018054df42d5240179c99339c6c5fc93d8c8790a23848c8a9dda9e908·...·]-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">548 ···········</span><span·class="p"·data-group-id="1458249192-17">(</span><span·class="p"·data-group-id="1458249192-18">{</span><span·class="ss">schema</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CreateList<[·...·truncated·by·diffoscope;·len:·175,·SHA:·2a875199d1728e56e00e2bfdd565bda45a49e8724ca186135b5d7d811fe72076·...·]-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
549 ················</span><span·class="n">Keys</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6271806351-19">[</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">disc_only_copies</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·314994ef94919d42e829bdc85c7118f142f58d89f44bb7fec81094606a118b0c·...·]-19">]</span><span·class="p">,</span><span·class="w">549 ················</span><span·class="n">Keys</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1458249192-19">[</span><span·class="ss">ram_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">disc_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">disc_only_copies</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·24d6f63731dc4925535423d1e2d5d7096ecedd0e56962827adea86f0ce4aebfe·...·]-19">]</span><span·class="p">,</span><span·class="w">
550 ················</span><span·class="n">OptSwitch</span><span·class="w">·</span><span·class="o">=</span><span·class="w">550 ················</span><span·class="n">OptSwitch</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
551 ····················</span><span·class="nf">fun</span><span·class="p"·data-group-id="6271806351-20">(</span><span·class="p"·data-group-id="6271806351-21">{</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Val</span><span·class="p"·data-group-id="6271806351-21">}</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·9c9b8417fbc77c8a096e7bb868c0bce1391693c76a6e3d0f633a0ec847a7edcb·...·]-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">551 ····················</span><span·class="nf">fun</span><span·class="p"·data-group-id="1458249192-20">(</span><span·class="p"·data-group-id="1458249192-21">{</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Val</span><span·class="p"·data-group-id="1458249192-21">}</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·e7e8d04fe20c079a85d649390a512e89001d53b29b5c184d967dfb0c1ab79e8b·...·]-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
552 ····························</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">member</span><span·class="p"·data-group-id="6271806351-22">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Keys</span><span·class="p"·data-group-id="6271806351-22">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">552 ····························</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">member</span><span·class="p"·data-group-id="1458249192-22">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Keys</span><span·class="p"·data-group-id="1458249192-22">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
553 ································</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6271806351-23">{</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="6271806351-24">(</span><span·class="n">Switch</s[·...·truncated·by·diffoscope;·len:·173,·SHA:·2669f47b32bd38970d3a3c9be3fcfcaa08635b94e76ed4fdc68a65d6fc5e29c4·...·]-23">}</span><span·class="p">;</span><span·class="w">553 ································</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1458249192-23">{</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="1458249192-24">(</span><span·class="n">Switch</s[·...·truncated·by·diffoscope;·len:·173,·SHA:·e690a7374a1771945328bd09d6c9c7c944156e8abfd7d5dd66cce697b3fe17d7·...·]-23">}</span><span·class="p">;</span><span·class="w">
554 ································</span><span·class="ss">false</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6271806351-25">{</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Val</span><span·class="p"·data-group-id="6271806351-25">}</span><span·class="w">554 ································</span><span·class="ss">false</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1458249192-25">{</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Val</span><span·class="p"·data-group-id="1458249192-25">}</span><span·class="w">
555 ····························</span><span·class="k">end</span><span·class="w">555 ····························</span><span·class="k">end</span><span·class="w">
556 ····················</span><span·class="k">end</span><span·class="p">,</span><span·class="w">556 ····················</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
557 ················</span><span·class="p"·data-group-id="6271806351-26">{</span><span·class="p"·data-group-id="6271806351-27">[</span><span·class="p"·data-group-id="6271806351-28">{</span><span·class="ss">schema</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·551,·SHA:·bf370b14c0a3b404113e91f756ae40e23aa6066f6f45899c85e8489347844d3c·...·]-26">}</span><span·class="p">;</span><span·class="w">557 ················</span><span·class="p"·data-group-id="1458249192-26">{</span><span·class="p"·data-group-id="1458249192-27">[</span><span·class="p"·data-group-id="1458249192-28">{</span><span·class="ss">schema</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tab</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·551,·SHA:·39d164f3397b590182848e014c204231db83f2784008c729b16b6199d6700165·...·]-26">}</span><span·class="p">;</span><span·class="w">
558 ···········</span><span·class="p"·data-group-id="6271806351-30">(</span><span·class="n">Other</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="6271806351-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">558 ···········</span><span·class="p"·data-group-id="1458249192-30">(</span><span·class="n">Other</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="1458249192-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
559 ················</span><span·class="p"·data-group-id="6271806351-31">{</span><span·class="p"·data-group-id="6271806351-32">[</span><span·class="n">Other</span><span·class="p"·data-group-id="6271806351-32">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·77213eccc877572890844c21c2c1e650755845f623a84e16e3aa83f932c07b8f·...·]-31">}</span><span·class="w">559 ················</span><span·class="p"·data-group-id="1458249192-31">{</span><span·class="p"·data-group-id="1458249192-32">[</span><span·class="n">Other</span><span·class="p"·data-group-id="1458249192-32">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·18,·SHA:·d8e10ee249cd4abce54ea3955a0182519487aaae5e4035205d4e98977a0738a1·...·]-31">}</span><span·class="w">
560 ········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">560 ········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
561 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">traverse_backup</span><span·class="p"·data-group-id="6271806351-33">(</span><span·class="n">Source</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Target</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·220,·SHA:·4c97de959009b38e47ed915491b22e11439162930e38397d833da57490b5c9f3·...·]-33">)</span><span·class="p">.</span><span·class="w">561 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">traverse_backup</span><span·class="p"·data-group-id="1458249192-33">(</span><span·class="n">Source</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Target</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·220,·SHA:·56d6b232e7ae135dfa9b5563b7a76748ee9e3dd0f6508db84735b4050d05ad57·...·]-33">)</span><span·class="p">.</span><span·class="w">
  
562 </span><span·class="nf">view</span><span·class="p"·data-group-id="6271806351-34">(</span><span·class="n">Source</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p"·data-group-id="6271806351-34">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">562 </span><span·class="nf">view</span><span·class="p"·data-group-id="1458249192-34">(</span><span·class="n">Source</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p"·data-group-id="1458249192-34">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
563 ····</span><span·class="n">View</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="6271806351-35">(</span><span·class="n">Item</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="6271806351-35">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">563 ····</span><span·class="n">View</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="1458249192-35">(</span><span·class="n">Item</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="1458249192-35">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
564 ···················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6271806351-36">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">.</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="6271806351-37">[</span><span·class="n">Item<[·...·truncated·by·diffoscope;·len:·101,·SHA:·f02c65f26be44f0a3c6f47e69c2469e37bfe224e7b8fb47b9e5b162dffb0fe91·...·]-36">)</span><span·class="p">,</span><span·class="w">564 ···················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1458249192-36">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">.</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="1458249192-37">[</span><span·class="n">Item<[·...·truncated·by·diffoscope;·len:·101,·SHA:·3995227f3c65b60691cbe455eb06bffbcc92f1c4eeeef7f43f7cb560e3ea7631·...·]-36">)</span><span·class="p">,</span><span·class="w">
565 ···················</span><span·class="p"·data-group-id="6271806351-38">{</span><span·class="p"·data-group-id="6271806351-39">[</span><span·class="n">Item</span><span·class="p"·data-group-id="6271806351-39">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·915246f80b279ebd3a9c9f275cc88b627484a8e5962dfd39265bea7bae4ab9c0·...·]-38">}</span><span·class="w">565 ···················</span><span·class="p"·data-group-id="1458249192-38">{</span><span·class="p"·data-group-id="1458249192-39">[</span><span·class="n">Item</span><span·class="p"·data-group-id="1458249192-39">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·dcfcbcdeb6ab57ec57c3ad6f94859569479b810bb78820ab04b317df69796f2e·...·]-38">}</span><span·class="w">
566 ···········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">566 ···········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
567 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">traverse_backup</span><span·class="p"·data-group-id="6271806351-40">(</span><span·class="n">Source</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">dummy</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·217,·SHA:·7e7baaea6fa711cda798e5f70c3fa5c67f5772c020f0cd569e7622c6f26d634e·...·]-40">)</span><span·class="p">.</span></code></pre><h3·id="restore"·class="section-heading">567 ····</span><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">traverse_backup</span><span·class="p"·data-group-id="1458249192-40">(</span><span·class="n">Source</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">dummy</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·217,·SHA:·f4e378679aa1dfc832129a941892e2848ebd72018b0a4ad36dd55c35c5bda4c4·...·]-40">)</span><span·class="p">.</span></code></pre><h3·id="restore"·class="section-heading">
568 ··<a·href="#restore"·class="hover-link">568 ··<a·href="#restore"·class="hover-link">
569 ····<i·class="ri-link-m"·aria-hidden="true"></i>569 ····<i·class="ri-link-m"·aria-hidden="true"></i>
570 ··</a>570 ··</a>
571 ··<span·class="text">Restore</span>571 ··<span·class="text">Restore</span>
572 </h3>572 </h3>
573 <p>Tables·can·be·restored·online·from·a·backup·without·restarting·<code·class="inline">Mnesia</code>.·A573 <p>Tables·can·be·restored·online·from·a·backup·without·restarting·<code·class="inline">Mnesia</code>.·A
574 restore·is·performed·with·the·function574 restore·is·performed·with·the·function
Offset 705, 15 lines modifiedOffset 705, 15 lines modified
705 ······<p·class="built-using">705 ······<p·class="built-using">
706 ········Built·using706 ········Built·using
707 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the707 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
708 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>708 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
709 ······</p>709 ······</p>
710 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>710 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
711 ····</footer>711 ····</footer>
712 ··</div>712 ··</div>
713 </main>713 </main>
714 </div>714 </div>
715 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>715 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
716 ··<script>716 ··<script>
717 ··let·initialized·=·false;717 ··let·initialized·=·false;
823 B
html2text {}
Max HTML report size reached
1.62 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_chap8.html
    
Offset 187, 15 lines modifiedOffset 187, 15 lines modified
187 ······<p·class="built-using">187 ······<p·class="built-using">
188 ········Built·using188 ········Built·using
189 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the189 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
190 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>190 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
191 ······</p>191 ······</p>
192 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>192 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
193 ····</footer>193 ····</footer>
194 ··</div>194 ··</div>
195 </main>195 </main>
196 </div>196 </div>
197 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>197 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
198 ··<script>198 ··<script>
199 ··let·initialized·=·false;199 ··let·initialized·=·false;
812 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_frag_hash.html
    
Offset 405, 15 lines modifiedOffset 405, 15 lines modified
405 ······<p·class="built-using">405 ······<p·class="built-using">
406 ········Built·using406 ········Built·using
407 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the407 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
408 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>408 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
409 ······</p>409 ······</p>
410 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>410 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
411 ····</footer>411 ····</footer>
412 ··</div>412 ··</div>
413 </main>413 </main>
414 </div>414 </div>
415 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>415 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
416 ··<script>416 ··<script>
417 ··let·initialized·=·false;417 ··let·initialized·=·false;
716 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_overview.html
    
Offset 239, 15 lines modifiedOffset 239, 15 lines modified
239 ······<p·class="built-using">239 ······<p·class="built-using">
240 ········Built·using240 ········Built·using
241 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the241 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
242 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>242 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
243 ······</p>243 ······</p>
244 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>244 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
245 ····</footer>245 ····</footer>
246 ··</div>246 ··</div>
247 </main>247 </main>
248 </div>248 </div>
249 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>249 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
250 ··<script>250 ··<script>
251 ··let·initialized·=·false;251 ··let·initialized·=·false;
705 B
html2text {}
Max HTML report size reached
5.16 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/mnesia_registry.html
    
Offset 250, 16 lines modifiedOffset 250, 16 lines modified
250 ··········<pre·translate="no"><span·class="attribute">-spec</span>·create_table(Tab·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),·Opt·::·[{<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}])·->·ok.</pre>250 ··········<pre·translate="no"><span·class="attribute">-spec</span>·create_table(Tab·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),·Opt·::·[{<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}])·->·ok.</pre>
  
251 ······</div>251 ······</div>
  
252 <section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p><em>This·function·is·deprecated.·Do·not·use·it.</em></p></section><p>A·wrapper·function·for·<a·href="mnesia.html#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>,·which·creates·a·table·(if·there252 <section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p><em>This·function·is·deprecated.·Do·not·use·it.</em></p></section><p>A·wrapper·function·for·<a·href="mnesia.html#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>,·which·creates·a·table·(if·there
253 is·no·existing·table)·with·an·appropriate·set·of·<code·class="inline">attributes</code>.·The·attributes253 is·no·existing·table)·with·an·appropriate·set·of·<code·class="inline">attributes</code>.·The·attributes
254 and·<code·class="inline">TabDef</code>·are·forwarded·to·<a·href="mnesia.html#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>.·For·example,·if·the·table254 and·<code·class="inline">TabDef</code>·are·forwarded·to·<a·href="mnesia.html#create_table/2"><code·class="inline">mnesia:create_table/2</code></a>.·For·example,·if·the·table
255 is·to·reside·as·<code·class="inline">disc_only_copies</code>·on·all·nodes,·a·call·looks·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">TabDef</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8426696598-1">[</span><span·class="p"·data-group-id="8426696598-2">{</span><span·class="p"·data-group-id="8426696598-3">{</span><span·class="ss">disc_only_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">node</span><span·class=[·...·truncated·by·diffoscope;·len:·318,·SHA:·50adacf25e295317fb03c8a0fce1a59386f3f642079a657aaab176c794069ece·...·]-3">}</span><span·class="p">]</span><span·class="p">,</span><span·class="w">255 is·to·reside·as·<code·class="inline">disc_only_copies</code>·on·all·nodes,·a·call·looks·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">TabDef</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6041501610-1">[</span><span·class="p"·data-group-id="6041501610-2">{</span><span·class="p"·data-group-id="6041501610-3">{</span><span·class="ss">disc_only_copies</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">node</span><span·class=[·...·truncated·by·diffoscope;·len:·318,·SHA:·2efeb77e376fe2074d582f2e3da101242a75af472acaf6b474b348bd0ac9a3ba·...·]-3">}</span><span·class="p">]</span><span·class="p">,</span><span·class="w">
256 ··········</span><span·class="nc">mnesia_registry</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="8426696598-6">(</span><span·class="ss">my_reg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TabDef</span><span·class="p"·data-group-id="8426696598-6">)</span></code></pre>256 ··········</span><span·class="nc">mnesia_registry</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="6041501610-6">(</span><span·class="ss">my_reg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TabDef</span><span·class="p"·data-group-id="6041501610-6">)</span></code></pre>
257 ··</section>257 ··</section>
258 </section>258 </section>
  
259 ····</div>259 ····</div>
260 ··</section>260 ··</section>
  
261 ····<footer·class="footer">261 ····<footer·class="footer">
Offset 280, 15 lines modifiedOffset 280, 15 lines modified
280 ······<p·class="built-using">280 ······<p·class="built-using">
281 ········Built·using281 ········Built·using
282 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the282 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
283 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>283 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
284 ······</p>284 ······</p>
285 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>285 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
286 ····</footer>286 ····</footer>
287 ··</div>287 ··</div>
288 </main>288 </main>
289 </div>289 </div>
290 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>290 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
291 ··<script>291 ··<script>
292 ··let·initialized·=·false;292 ··let·initialized·=·false;
751 B
html2text {}
Max HTML report size reached
10.7 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/notes.html
    
Offset 137, 17 lines modifiedOffset 137, 17 lines modified
137 </h2>137 </h2>
138 <h3·id="improvements-and-new-features"·class="section-heading">138 <h3·id="improvements-and-new-features"·class="section-heading">
139 ··<a·href="#improvements-and-new-features"·class="hover-link">139 ··<a·href="#improvements-and-new-features"·class="hover-link">
140 ····<i·class="ri-link-m"·aria-hidden="true"></i>140 ····<i·class="ri-link-m"·aria-hidden="true"></i>
141 ··</a>141 ··</a>
142 ··<span·class="text">Improvements·and·New·Features</span>142 ··<span·class="text">Improvements·and·New·Features</span>
143 </h3>143 </h3>
144 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="3997085896-1">(</span><span·class="p"·data-group-id="3997085896-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3997085896-2">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·44126d76ca597db94be181d5101e9e68d73abccd1cb0ee6e76e6235da3fead98·...·]6-2">)</span><span·class="p">.</span><span·class="w">144 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="2859093046-1">(</span><span·class="p"·data-group-id="2859093046-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2859093046-2">(</span><[·...·truncated·by·diffoscope;·len:·39,·SHA:·43ad4289e4fa6d3e7fa570bc1aab1ffa9486b8c70125f5b4ea1bbfca324446cb·...·]6-2">)</span><span·class="p">.</span><span·class="w">
145 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="3997085896-3">(</span><span·class="p"·data-group-id="3997085896-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3997085896-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·3c5ead85dc2daf85522778680efb2c17eb633bca13eace6bb1f9572ec5d61426·...·]-2">)</span><span·class="p">.</span><span·class="w">145 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="2859093046-3">(</span><span·class="p"·data-group-id="2859093046-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="2859093046-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·0b5a055b6d5057f24fd9ae37cc820cc5828eb6c0d06e589a06802277f428f1d7·...·]-2">)</span><span·class="p">.</span><span·class="w">
146 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="9911424522-3">(</span><span·class="p"·data-group-id="9911424522-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9911424522-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·52ac9caad789ca2a1281901145a4046d0cf5134bf210487d96e23c05c59fdda1·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="mnesia-4-23-5"·class="section-heading">146 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="8535752810-3">(</span><span·class="p"·data-group-id="8535752810-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8535752810-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·c7c7e4a549f4b5ff577d93f16f576b528a727ea1a34fb5774d657d54066ec08c·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="mnesia-4-23-5"·class="section-heading">
147 ··<a·href="#mnesia-4-23-5"·class="hover-link">147 ··<a·href="#mnesia-4-23-5"·class="hover-link">
148 ····<i·class="ri-link-m"·aria-hidden="true"></i>148 ····<i·class="ri-link-m"·aria-hidden="true"></i>
149 ··</a>149 ··</a>
150 ··<span·class="text">Mnesia·4.23.5</span>150 ··<span·class="text">Mnesia·4.23.5</span>
151 </h2>151 </h2>
152 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">152 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">
153 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">153 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">
Offset 1573, 15 lines modifiedOffset 1573, 15 lines modified
1573 ······<p·class="built-using">1573 ······<p·class="built-using">
1574 ········Built·using1574 ········Built·using
1575 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1575 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1576 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1576 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1577 ······</p>1577 ······</p>
1578 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1578 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1579 ····</footer>1579 ····</footer>
1580 ··</div>1580 ··</div>
1581 </main>1581 </main>
1582 </div>1582 </div>
1583 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1583 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1584 ··<script>1584 ··<script>
1585 ··let·initialized·=·false;1585 ··let·initialized·=·false;
680 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/mnesia-4.24/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
462 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.42 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/api-reference.html
    
Offset 209, 15 lines modifiedOffset 209, 15 lines modified
209 ······<p·class="built-using">209 ······<p·class="built-using">
210 ········Built·using210 ········Built·using
211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
213 ······</p>213 ······</p>
214 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>214 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
215 ····</footer>215 ····</footer>
216 ··</div>216 ··</div>
217 </main>217 </main>
218 </div>218 </div>
219 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>219 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
220 ··<script>220 ··<script>
221 ··let·initialized·=·false;221 ··let·initialized·=·false;
602 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/cdv_cmd.html
    
Offset 178, 15 lines modifiedOffset 178, 15 lines modified
178 ······<p·class="built-using">178 ······<p·class="built-using">
179 ········Built·using179 ········Built·using
180 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the180 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
181 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>181 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
182 ······</p>182 ······</p>
183 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>183 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
184 ····</footer>184 ····</footer>
185 ··</div>185 ··</div>
186 </main>186 </main>
187 </div>187 </div>
188 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>188 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
189 ··<script>189 ··<script>
190 ··let·initialized·=·false;190 ··let·initialized·=·false;
684 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/crashdump_ug.html
    
Offset 367, 15 lines modifiedOffset 367, 15 lines modified
367 ······<p·class="built-using">367 ······<p·class="built-using">
368 ········Built·using368 ········Built·using
369 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the369 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
370 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>370 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
371 ······</p>371 ······</p>
372 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>372 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
373 ····</footer>373 ····</footer>
374 ··</div>374 ··</div>
375 </main>375 </main>
376 </div>376 </div>
377 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>377 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
378 ··<script>378 ··<script>
379 ··let·initialized·=·false;379 ··let·initialized·=·false;
749 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/crashdump_viewer.html
    
Offset 293, 15 lines modifiedOffset 293, 15 lines modified
293 ······<p·class="built-using">293 ······<p·class="built-using">
294 ········Built·using294 ········Built·using
295 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the295 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
296 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>296 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
297 ······</p>297 ······</p>
298 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>298 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
299 ····</footer>299 ····</footer>
300 ··</div>300 ··</div>
301 </main>301 </main>
302 </div>302 </div>
303 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>303 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
304 ··<script>304 ··<script>
305 ··let·initialized·=·false;305 ··let·initialized·=·false;
649 B
html2text {}
Max HTML report size reached
1.37 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/etop.html
    
Offset 419, 15 lines modifiedOffset 419, 15 lines modified
419 ······<p·class="built-using">419 ······<p·class="built-using">
420 ········Built·using420 ········Built·using
421 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the421 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
422 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>422 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
423 ······</p>423 ······</p>
424 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>424 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
425 ····</footer>425 ····</footer>
426 ··</div>426 ··</div>
427 </main>427 </main>
428 </div>428 </div>
429 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>429 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
430 ··<script>430 ··<script>
431 ··let·initialized·=·false;431 ··let·initialized·=·false;
566 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/etop_ug.html
    
Offset 269, 15 lines modifiedOffset 269, 15 lines modified
269 ······<p·class="built-using">269 ······<p·class="built-using">
270 ········Built·using270 ········Built·using
271 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the271 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
272 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>272 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
273 ······</p>273 ······</p>
274 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>274 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
275 ····</footer>275 ····</footer>
276 ··</div>276 ··</div>
277 </main>277 </main>
278 </div>278 </div>
279 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>279 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
280 ··<script>280 ··<script>
281 ··let·initialized·=·false;281 ··let·initialized·=·false;
685 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/introduction_ug.html
    
Offset 185, 15 lines modifiedOffset 185, 15 lines modified
185 ······<p·class="built-using">185 ······<p·class="built-using">
186 ········Built·using186 ········Built·using
187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
189 ······</p>189 ······</p>
190 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>190 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
191 ····</footer>191 ····</footer>
192 ··</div>192 ··</div>
193 </main>193 </main>
194 </div>194 </div>
195 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>195 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
196 ··<script>196 ··<script>
197 ··let·initialized·=·false;197 ··let·initialized·=·false;
689 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/notes.html
    
Offset 1182, 15 lines modifiedOffset 1182, 15 lines modified
1182 ······<p·class="built-using">1182 ······<p·class="built-using">
1183 ········Built·using1183 ········Built·using
1184 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1184 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1185 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1185 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1186 ······</p>1186 ······</p>
1187 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1187 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1188 ····</footer>1188 ····</footer>
1189 ··</div>1189 ··</div>
1190 </main>1190 </main>
1191 </div>1191 </div>
1192 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1192 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1193 ··<script>1193 ··<script>
1194 ··let·initialized·=·false;1194 ··let·initialized·=·false;
686 B
html2text {}
Max HTML report size reached
411 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/observer.epub
3.75 KB
zipinfo {}
Max HTML report size reached
135 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:16:06,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:54:12,·uncompressed·size·20,·method=store
250 KB
OEBPS/ttb_ug.xhtml
Max HTML report size reached
19.6 KB
OEBPS/ttb.xhtml
Max HTML report size reached
2.43 KB
OEBPS/content.opf
2.4 KB
OEBPS/content.opf
Max HTML report size reached
1.37 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/observer.html
    
Offset 377, 15 lines modifiedOffset 377, 15 lines modified
377 ······<p·class="built-using">377 ······<p·class="built-using">
378 ········Built·using378 ········Built·using
379 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the379 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
380 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>380 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
381 ······</p>381 ······</p>
382 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>382 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
383 ····</footer>383 ····</footer>
384 ··</div>384 ··</div>
385 </main>385 </main>
386 </div>386 </div>
387 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>387 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
388 ··<script>388 ··<script>
389 ··let·initialized·=·false;389 ··let·initialized·=·false;
556 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/observer_app.html
    
Offset 185, 15 lines modifiedOffset 185, 15 lines modified
185 ······<p·class="built-using">185 ······<p·class="built-using">
186 ········Built·using186 ········Built·using
187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
189 ······</p>189 ······</p>
190 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>190 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
191 ····</footer>191 ····</footer>
192 ··</div>192 ··</div>
193 </main>193 </main>
194 </div>194 </div>
195 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>195 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
196 ··<script>196 ··<script>
197 ··let·initialized·=·false;197 ··let·initialized·=·false;
686 B
html2text {}
Max HTML report size reached
1.61 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/observer_ug.html
    
Offset 331, 15 lines modifiedOffset 331, 15 lines modified
331 ······<p·class="built-using">331 ······<p·class="built-using">
332 ········Built·using332 ········Built·using
333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
335 ······</p>335 ······</p>
336 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>336 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
337 ····</footer>337 ····</footer>
338 ··</div>338 ··</div>
339 </main>339 </main>
340 </div>340 </div>
341 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>341 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
342 ··<script>342 ··<script>
343 ··let·initialized·=·false;343 ··let·initialized·=·false;
802 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
464 B
html2text {}
Max HTML report size reached
21.0 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/ttb.html
    
Offset 1848, 21 lines modifiedOffset 1848, 21 lines modified
1848 returns·a·match·specification,·which·turns·on·sequential·tracing·with·the1848 returns·a·match·specification,·which·turns·on·sequential·tracing·with·the
1849 specified·<code·class="inline">Flags</code>.</p><p>This·match·specification·can·be·specified·as·the·last·argument·to·<code·class="inline">tp</code>·or·<code·class="inline">tpl</code>.1849 specified·<code·class="inline">Flags</code>.</p><p>This·match·specification·can·be·specified·as·the·last·argument·to·<code·class="inline">tp</code>·or·<code·class="inline">tpl</code>.
1850 The·activated·<code·class="inline">Item</code>·then·becomes·a·<em>trigger</em>·for·sequential·tracing.·This·means1850 The·activated·<code·class="inline">Item</code>·then·becomes·a·<em>trigger</em>·for·sequential·tracing.·This·means
1851 that·if·the·item·is·called·on·a·process·with·trace·flag·<code·class="inline">call</code>·set,·the·process1851 that·if·the·item·is·called·on·a·process·with·trace·flag·<code·class="inline">call</code>·set,·the·process
1852 is·&quot;contaminated&quot;·with·token·<code·class="inline">seq_trace</code>.</p><p>If·<code·class="inline">Flags·=·all</code>,·all·possible·flags·are·set.</p><p>The·possible·values·for·<code·class="inline">SeqTraceFlag</code>·are·available·in·<a·href="../../../../lib/kernel-10.3/doc/html/seq_trace.html"><code·class="inline">seq_trace</code></a>.</p><p>For·a·description·of·the·<code·class="inline">match_spec()</code>·syntax,·see·section1852 is·&quot;contaminated&quot;·with·token·<code·class="inline">seq_trace</code>.</p><p>If·<code·class="inline">Flags·=·all</code>,·all·possible·flags·are·set.</p><p>The·possible·values·for·<code·class="inline">SeqTraceFlag</code>·are·available·in·<a·href="../../../../lib/kernel-10.3/doc/html/seq_trace.html"><code·class="inline">seq_trace</code></a>.</p><p>For·a·description·of·the·<code·class="inline">match_spec()</code>·syntax,·see·section
1853 <a·href="../../../../erts-16.0/doc/html/match_spec.html"><code·class="inline">Match·Specifications·in·Erlang</code></a>·in·ERTS,·which1853 <a·href="../../../../erts-16.0/doc/html/match_spec.html"><code·class="inline">Match·Specifications·in·Erlang</code></a>·in·ERTS,·which
1854 explains·the·general·match·specification·&quot;language&quot;.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·<em>system·tracer</em>·for·sequential·tracing·is·automatically·initiated·by·<code·class="inline">ttb</code>1854 explains·the·general·match·specification·&quot;language&quot;.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·<em>system·tracer</em>·for·sequential·tracing·is·automatically·initiated·by·<code·class="inline">ttb</code>
1855 when·a·trace·port·is·started·with·<code·class="inline">ttb:tracer/0,1,2</code>.</p></section><p>An·example·of·how·to·use·function·<code·class="inline">seq_trigger_ms/0,1</code>·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(tiger@durin)5&gt;·</span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">tracer</span><span·class="p"·data-group-id="0126387644-1">(</span><span·class="p"·data-group-id="0126387644-1">)</span><span·class="p">.</span><span·class="w">1855 when·a·trace·port·is·started·with·<code·class="inline">ttb:tracer/0,1,2</code>.</p></section><p>An·example·of·how·to·use·function·<code·class="inline">seq_trigger_ms/0,1</code>·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">(tiger@durin)5&gt;·</span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">tracer</span><span·class="p"·data-group-id="0010738675-1">(</span><span·class="p"·data-group-id="0010738675-1">)</span><span·class="p">.</span><span·class="w">
1856 </span><span·class="p"·data-group-id="0126387644-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0126387644-3">[</span><span·class="ss">tiger@durin</span><span·class="p"·data-group-id="0126387644-3">]</span><span·class="p"·data-group-id="0126387644-2">}</span><span·class="gp·unselectable">1856 </span><span·class="p"·data-group-id="0010738675-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0010738675-3">[</span><span·class="ss">tiger@durin</span><span·class="p"·data-group-id="0010738675-3">]</span><span·class="p"·data-group-id="0010738675-2">}</span><span·class="gp·unselectable">
1857 (tiger@durin)6&gt;·</span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">p</span><span·class="p"·data-group-id="0126387644-4">(</span><span·class="ss">all</span><span·class="p">,</span><span·class="ss">call</span><span·class="p"·data-group-id="0126387644-4">)</span><span·class="p">.</span><span·class="w">1857 (tiger@durin)6&gt;·</span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">p</span><span·class="p"·data-group-id="0010738675-4">(</span><span·class="ss">all</span><span·class="p">,</span><span·class="ss">call</span><span·class="p"·data-group-id="0010738675-4">)</span><span·class="p">.</span><span·class="w">
1858 </span><span·class="p"·data-group-id="0126387644-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0126387644-6">{</span><span·class="p"·data-group-id="0126387644-7">[</span><span·class="ss">all</span><span·class="p"·data-group-id="0126387644-7">]</span[·...·truncated·by·diffoscope;·len:·253,·SHA:·4b12980c87b5688be283d43797b26f3050384cd080e68ab37212886933fd15b3·...·]-5">}</span><span·class="gp·unselectable">1858 </span><span·class="p"·data-group-id="0010738675-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0010738675-6">{</span><span·class="p"·data-group-id="0010738675-7">[</span><span·class="ss">all</span><span·class="p"·data-group-id="0010738675-7">]</span[·...·truncated·by·diffoscope;·len:·253,·SHA:·37a88b8f3ade3476fef9bc17ad70271430f24e3178dfcfcca42dc68c273704ff·...·]-5">}</span><span·class="gp·unselectable">
1859 (tiger@durin)7&gt;·</span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">tp</span><span·class="p"·data-group-id="0126387644-9">(</span><span·class="ss">mod</span><span·class="p">,</span><span·class="ss">func</span><span·class="p">,</span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">seq_trigger_ms</span><span·class="p"·data-group-id="0126387644-1[·...·truncated·by·diffoscope;·len:·106,·SHA:·ce3cb6e59df9456c5a5b066eac0a405422d145f7a3f630673ac3cf04384bd8a0·...·]-9">)</span><span·class="p">.</span><span·class="w">1859 (tiger@durin)7&gt;·</span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">tp</span><span·class="p"·data-group-id="0010738675-9">(</span><span·class="ss">mod</span><span·class="p">,</span><span·class="ss">func</span><span·class="p">,</span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">seq_trigger_ms</span><span·class="p"·data-group-id="0010738675-1[·...·truncated·by·diffoscope;·len:·106,·SHA:·289cc64fe82020f39695bd9b5753b1556952ef1159d13c9f259e1c9c1ef92c5f·...·]-9">)</span><span·class="p">.</span><span·class="w">
1860 </span><span·class="p"·data-group-id="0126387644-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0126387644-12">[</span><span·class="p"·data-group-id="0126387644-13">{</span><span·class="ss">matched</span><span·class="p">,</span><span·class="mi">1</s[·...·truncated·by·diffoscope;·len:·363,·SHA:·8397c3726bd2973481ce356b53ee87f7a1a237a1044efc72a7d04166182afe3a·...·]-11">}</span><span·class="w">1860 </span><span·class="p"·data-group-id="0010738675-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0010738675-12">[</span><span·class="p"·data-group-id="0010738675-13">{</span><span·class="ss">matched</span><span·class="p">,</span><span·class="mi">1</s[·...·truncated·by·diffoscope;·len:·363,·SHA:·98ba2e8b0a817ad7b0f3fa9a24e02553b28cb43549a6498b8a9d9c8e0fd1dd3c·...·]-11">}</span><span·class="w">
1861 </span><span·class="p"·data-group-id="0126387644-15">(</span><span·class="ss">tiger@durin</span><span·class="p"·data-group-id="0126387644-15">)</span><span·class="mi">8</span><span·class="o">&gt;</span></code></pre><p>Whenever·<code·class="inline">mod:func(...)</code>·is·called·after·this,·token·<code·class="inline">seq_trace</code>·is·set·on·the1861 </span><span·class="p"·data-group-id="0010738675-15">(</span><span·class="ss">tiger@durin</span><span·class="p"·data-group-id="0010738675-15">)</span><span·class="mi">8</span><span·class="o">&gt;</span></code></pre><p>Whenever·<code·class="inline">mod:func(...)</code>·is·called·after·this,·token·<code·class="inline">seq_trace</code>·is·set·on·the
1862 executing·process.</p>1862 executing·process.</p>
1863 ··</section>1863 ··</section>
1864 </section>1864 </section>
1865 <section·class="detail"·id="start_trace/4">1865 <section·class="detail"·id="start_trace/4">
  
1866 ··<div·class="detail-header">1866 ··<div·class="detail-header">
1867 ····<a·href="#start_trace/4"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1867 ····<a·href="#start_trace/4"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1891, 22 lines modifiedOffset 1891, 22 lines modified
1891 ·························TracerOpts·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),1891 ·························TracerOpts·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),
1892 ·························Result·::·{ok,·[{<a·href="#t:item/0">item</a>(),·<a·href="#t:match_desc/0">match_desc</a>()}]}.</pre>1892 ·························Result·::·{ok,·[{<a·href="#t:item/0">item</a>(),·<a·href="#t:match_desc/0">match_desc</a>()}]}.</pre>
  
1893 ······</div>1893 ······</div>
  
1894 <p>This·function·is·a·shortcut·allowing·to·start·a·trace·with·one·command.·Each1894 <p>This·function·is·a·shortcut·allowing·to·start·a·trace·with·one·command.·Each
1895 tuple·in·<code·class="inline">Patterns</code>·is·converted·to·a·list,·which·in·turn·is·passed·to1895 tuple·in·<code·class="inline">Patterns</code>·is·converted·to·a·list,·which·in·turn·is·passed·to
1896 <code·class="inline">ttb:tpl/2,3,4</code>.</p><p>The·call:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">start_trace</span><span·class="p"·data-group-id="7668588710-1">(</span><span·class="p"·data-group-id="7668588710-2">[</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OtherNode</span><span·class="p"·data-group-id="7668588710-2">]</span><span·class="p">,</span><span·class="w">1896 <code·class="inline">ttb:tpl/2,3,4</code>.</p><p>The·call:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">start_trace</span><span·class="p"·data-group-id="4379555818-1">(</span><span·class="p"·data-group-id="4379555818-2">[</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OtherNode</span><span·class="p"·data-group-id="4379555818-2">]</span><span·class="p">,</span><span·class="w">
1897 ··················</span><span·class="p"·data-group-id="7668588710-3">[</span><span·class="p"·data-group-id="7668588710-4">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·498,·SHA:·426b492fafb4e022d08eb11e6d490380938a2bc89b42dc0b7303b0d99c02078b·...·]-3">]</span><span·class="p">,</span><span·class="w">1897 ··················</span><span·class="p"·data-group-id="4379555818-3">[</span><span·class="p"·data-group-id="4379555818-4">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·498,·SHA:·7177112d5a483336f3e0b81bec1cd5d7664a73ebbbc1896b3b81e27b5da9921a·...·]-3">]</span><span·class="p">,</span><span·class="w">
1898 ··················</span><span·class="p"·data-group-id="7668588710-7">{</span><span·class="ss">all</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">call</span><span·class="p"·data-group-id="7668588710-7">}</span><span·class="p">,</span><span·class="w">1898 ··················</span><span·class="p"·data-group-id="4379555818-7">{</span><span·class="ss">all</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">call</span><span·class="p"·data-group-id="4379555818-7">}</span><span·class="p">,</span><span·class="w">
1899 ··················</span><span·class="p"·data-group-id="7668588710-8">[</span><span·class="p"·data-group-id="7668588710-9">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-group-id="7668588710-9">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·1094,·SHA:·ecf97830b452372a69053054fcd9c06bde5ec843bf8259e37958f1d790067645·...·]6-2">]</span><span·class="p">,</span><span·class="w">1899 ··················</span><span·class="p"·data-group-id="4379555818-8">[</span><span·class="p"·data-group-id="4379555818-9">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-group-id="4379555818-9">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·1094,·SHA:·ba4dea2df410f6f04997913fc9d8b10ba099243aca356902322b35abe8fb0ad7·...·]6-2">]</span><span·class="p">,</span><span·class="w">
1900 ··················</span><span·class="p"·data-group-id="4388705496-3">[</span><span·class="p"·data-group-id="4388705496-4">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-group-id="4388705496-4">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·587,·SHA:·1e2bea32fc4ea217d77c6477c061805a13d017544d0c572683ac4d1ab80cb368·...·]6-1">)</span><span·class="p">,</span><span·class="w">1900 ··················</span><span·class="p"·data-group-id="8360591636-3">[</span><span·class="p"·data-group-id="8360591636-4">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">File</span><span·class="p"·data-group-id="8360591636-4">}</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·587,·SHA:·d3d2ef128a7dcf1e5a52e3b79a795f324c849e69440547543359276437d6444b·...·]6-1">)</span><span·class="p">,</span><span·class="w">
1901 </span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">tpl</span><span·class="p"·data-group-id="4388705496-7">(</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4388705496-8">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·62,·SHA:·354c8f6e80041ec43f7bedbd73ac3567628673ffa542e3bcf52ff7578475536d·...·]6-7">)</span><span·class="p">,</span><span·class="w">1901 </span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">tpl</span><span·class="p"·data-group-id="8360591636-7">(</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8360591636-8">[</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·62,·SHA:·0be1570344ce0bf6f5d7ec191538bb9d255fb4c1b7b119145071ccb0812a2f4e·...·]6-7">)</span><span·class="p">,</span><span·class="w">
1902 </span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">tpl</span><span·class="p"·data-group-id="4388705496-9">(</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·137,·SHA:·dc835e6cba2ce69bafbce68f610e4a2a717c9bf6de410727d3a920085d0f3438·...·]6-9">)</span><span·class="p">,</span><span·class="w">1902 </span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">tpl</span><span·class="p"·data-group-id="8360591636-9">(</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·137,·SHA:·23006651e24e2ee1ae64046f09b6175545db947b8b65bc032b3ce2be63a32e8b·...·]6-9">)</span><span·class="p">,</span><span·class="w">
1903 </span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">p</span><span·class="p"·data-group-id="4388705496-11">(</span><span·class="ss">all</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">call</span><span·class="p"·data-group-id="4388705496-11">)</span><span·class="p">.</span></code></pre>1903 </span><span·class="nc">ttb</span><span·class="p">:</span><span·class="nf">p</span><span·class="p"·data-group-id="8360591636-11">(</span><span·class="ss">all</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">call</span><span·class="p"·data-group-id="8360591636-11">)</span><span·class="p">.</span></code></pre>
1904 ··</section>1904 ··</section>
1905 </section>1905 </section>
1906 <section·class="detail"·id="stop/0">1906 <section·class="detail"·id="stop/0">
  
1907 ··<div·class="detail-header">1907 ··<div·class="detail-header">
1908 ····<a·href="#stop/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1908 ····<a·href="#stop/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1909 ······<i·class="ri-link-m"·aria-hidden="true"></i>1909 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2440, 15 lines modifiedOffset 2440, 15 lines modified
2440 ······<p·class="built-using">2440 ······<p·class="built-using">
2441 ········Built·using2441 ········Built·using
2442 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2442 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2443 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2443 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2444 ······</p>2444 ······</p>
2445 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2445 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2446 ····</footer>2446 ····</footer>
2447 ··</div>2447 ··</div>
2448 </main>2448 </main>
2449 </div>2449 </div>
2450 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2450 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2451 ··<script>2451 ··<script>
2452 ··let·initialized·=·false;2452 ··let·initialized·=·false;
666 B
html2text {}
Max HTML report size reached
251 KB
./usr/share/doc/erlang-doc/html/lib/observer-2.18/doc/html/ttb_ug.html
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/odbc-2.16/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/odbc-2.16/doc/html/api-reference.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
187 ····</footer>187 ····</footer>
188 ··</div>188 ··</div>
189 </main>189 </main>
190 </div>190 </div>
191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
192 ··<script>192 ··<script>
193 ··let·initialized·=·false;193 ··let·initialized·=·false;
623 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/odbc-2.16/doc/html/databases.html
    
Offset 268, 15 lines modifiedOffset 268, 15 lines modified
268 ······<p·class="built-using">268 ······<p·class="built-using">
269 ········Built·using269 ········Built·using
270 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the270 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
271 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>271 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
272 ······</p>272 ······</p>
273 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>273 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
274 ····</footer>274 ····</footer>
275 ··</div>275 ··</div>
276 </main>276 </main>
277 </div>277 </div>
278 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>278 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
279 ··<script>279 ··<script>
280 ··let·initialized·=·false;280 ··let·initialized·=·false;
728 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/odbc-2.16/doc/html/error_handling.html
    
Offset 267, 15 lines modifiedOffset 267, 15 lines modified
267 ······<p·class="built-using">267 ······<p·class="built-using">
268 ········Built·using268 ········Built·using
269 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the269 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
270 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>270 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
271 ······</p>271 ······</p>
272 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>272 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
273 ····</footer>273 ····</footer>
274 ··</div>274 ··</div>
275 </main>275 </main>
276 </div>276 </div>
277 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>277 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
278 ··<script>278 ··<script>
279 ··let·initialized·=·false;279 ··let·initialized·=·false;
724 B
html2text {}
Max HTML report size reached
83.6 KB
./usr/share/doc/erlang-doc/html/lib/odbc-2.16/doc/html/getting_started.html
    
Offset 153, 85 lines modifiedOffset 153, 85 lines modified
153 ··<span·class="text">Using·the·Erlang·API</span>153 ··<span·class="text">Using·the·Erlang·API</span>
154 </h2>154 </h2>
155 <p>The·following·dialog·within·the·Erlang·shell·illustrates·the·functionality·of155 <p>The·following·dialog·within·the·Erlang·shell·illustrates·the·functionality·of
156 the·Erlang·ODBC·interface.·The·table·used·in·the·example·does·not·have·any156 the·Erlang·ODBC·interface.·The·table·used·in·the·example·does·not·have·any
157 relevance·to·anything·that·exist·in·reality,·it·is·just·a·simple·example.·The157 relevance·to·anything·that·exist·in·reality,·it·is·just·a·simple·example.·The
158 example·was·created·using·<code·class="inline">sqlserver·7.0·with·servicepack·1</code>·as·database·and·the158 example·was·created·using·<code·class="inline">sqlserver·7.0·with·servicepack·1</code>·as·database·and·the
159 ODBC·driver·for·<code·class="inline">sqlserver</code>·with·version·<code·class="inline">2000.80.194.00</code>.</p><pre><code·class="text">·1·&gt;·odbc:start().159 ODBC·driver·for·<code·class="inline">sqlserver</code>·with·version·<code·class="inline">2000.80.194.00</code>.</p><pre><code·class="text">·1·&gt;·odbc:start().
160 ······ok</code></pre><p>Connect·to·the·database</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7280688232-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ref</span><span·class="p"·data-group-id="7280688232-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·394,·SHA:·2db50e9f22c0b1082bdff6b079336eccdb4be79ac74d662cecd03f6f0e21dd6e·...·]-2">)</span><span·class="p">.</span><span·class="w">160 ······ok</code></pre><p>Connect·to·the·database</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4005654327-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ref</span><span·class="p"·data-group-id="4005654327-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·394,·SHA:·61ad54a21147a4ea463ef3fe7864d2cabe16c8874ac77d68e03d54d48d11580a·...·]-2">)</span><span·class="p">.</span><span·class="w">
161 ······</span><span·class="p"·data-group-id="7280688232-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.342</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="7280688232-4">}</span></code></pre><p>Create·a·table</p><pre><code·class="text">·3·&gt;·odbc:sql_query(Ref,·&quot;CREATE·TABLE·EMPLOYEE·(NR·integer,161 ······</span><span·class="p"·data-group-id="4005654327-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.342</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="4005654327-4">}</span></code></pre><p>Create·a·table</p><pre><code·class="text">·3·&gt;·odbc:sql_query(Ref,·&quot;CREATE·TABLE·EMPLOYEE·(NR·integer,
162 ······FIRSTNAME··char·varying(20),·LASTNAME··char·varying(20),·GENDER·char(1),162 ······FIRSTNAME··char·varying(20),·LASTNAME··char·varying(20),·GENDER·char(1),
163 ······PRIMARY·KEY(NR))&quot;).163 ······PRIMARY·KEY(NR))&quot;).
164 ······{updated,undefined}</code></pre><p>Insert·some·data</p><pre><code·class="text">·4·&gt;·odbc:sql_query(Ref,·&quot;INSERT·INTO·EMPLOYEE·VALUES(1,·'Jane',·'Doe',·'F')&quot;).164 ······{updated,undefined}</code></pre><p>Insert·some·data</p><pre><code·class="text">·4·&gt;·odbc:sql_query(Ref,·&quot;INSERT·INTO·EMPLOYEE·VALUES(1,·'Jane',·'Doe',·'F')&quot;).
165 ······{updated,1}</code></pre><p>Check·what·data·types·the·database·assigned·for·the·columns.·Hopefully·this·is165 ······{updated,1}</code></pre><p>Check·what·data·types·the·database·assigned·for·the·columns.·Hopefully·this·is
166 not·a·surprise,·some·times·it·can·be!·These·are·the·data·types·that·you·should166 not·a·surprise,·some·times·it·can·be!·These·are·the·data·types·that·you·should
167 use·if·you·want·to·do·a·parameterized·query.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">5</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">describe_table</span><span·class="p"·data-group-id="4572611326-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;EMPLOYEE&quot;</span><span·class="p"·data-group-id="4572611326-1">)</span><span·class="p">.</span><span·class="w">167 use·if·you·want·to·do·a·parameterized·query.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">5</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">describe_table</span><span·class="p"·data-group-id="7786900604-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;EMPLOYEE&quot;</span><span·class="p"·data-group-id="7786900604-1">)</span><span·class="p">.</span><span·class="w">
168 ······</span><span·class="p"·data-group-id="4572611326-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4572611326-3">[</span><span·class="p"·data-group-id="4572611326-4">{</span><span·class="s">&quot;NR&quot;</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·107,·SHA:·30e5c9ee28bdd44df4d878146a80ad9431e731fd3baf4d0a64d1dc17f35d1027·...·]-4">}</span><span·class="p">,</span><span·class="w">168 ······</span><span·class="p"·data-group-id="7786900604-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7786900604-3">[</span><span·class="p"·data-group-id="7786900604-4">{</span><span·class="s">&quot;NR&quot;</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·107,·SHA:·c0634c1ab20c4393623eee9e842bf0b82f291412a1fa3692d4ccb3b8213caa1c·...·]-4">}</span><span·class="p">,</span><span·class="w">
169 ············</span><span·class="p"·data-group-id="4572611326-5">{</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4572611326-6">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·114,·SHA:·31ca182e3520dea6c8e9bd5caf94b2deaee40ae5086efc9192a9636bcbe9e0cc·...·]-5">}</span><span·class="p">,</span><span·class="w">169 ············</span><span·class="p"·data-group-id="7786900604-5">{</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7786900604-6">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·114,·SHA:·36c5857aede21559f93e8035f00c48b7fc85fe6b5ef0f595b91fb6f0621927ef·...·]-5">}</span><span·class="p">,</span><span·class="w">
170 ············</span><span·class="p"·data-group-id="4572611326-7">{</span><span·class="s">&quot;LASTNAME&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4572611326-8">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·113,·SHA:·de03911306453dfef2e0971cf68dd099c499c048a5b14cec17aaa1bb4c8cf245·...·]-7">}</span><span·class="w">170 ············</span><span·class="p"·data-group-id="7786900604-7">{</span><span·class="s">&quot;LASTNAME&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7786900604-8">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·113,·SHA:·5a8887d49495eb3e3b21c56e52a370647718a51b8646d8e3a82f1b67133809f9·...·]-7">}</span><span·class="w">
171 ············</span><span·class="p"·data-group-id="4572611326-9">{</span><span·class="s">&quot;GENDER&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4572611326-10">{</span><span·class="ss">sql_char</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·636,·SHA:·56516475f1f1b85f3982fd111c406906bbd63b46f8ec0517f1614800345b0dd7·...·]-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="s">&quot;INSERT·INTO·EMPLOYEE·(NR,·FIRSTNAME,·&quot;</span><span·class="w">171 ············</span><span·class="p"·data-group-id="7786900604-9">{</span><span·class="s">&quot;GENDER&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7786900604-10">{</span><span·class="ss">sql_char</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·636,·SHA:·ef88aa73c3efcf6036b94bca90ce98e19b5af8da2995f1154db70653a2a9559d·...·]-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="s">&quot;INSERT·INTO·EMPLOYEE·(NR,·FIRSTNAME,·&quot;</span><span·class="w">
172 ··················</span><span·class="s">&quot;LASTNAME,·GENDER)·VALUES(?,·?,·?,·?)&quot;</span><span·class="p">,</span><span·class="w">172 ··················</span><span·class="s">&quot;LASTNAME,·GENDER)·VALUES(?,·?,·?,·?)&quot;</span><span·class="p">,</span><span·class="w">
173 ···················</span><span·class="p"·data-group-id="5082515624-2">[</span><span·class="p"·data-group-id="5082515624-3">{</span><span·class="ss">sql_integer</span><span·class="p">,</span><span·class="p"·data-group-id="5082515624-4">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</[·...·truncated·by·diffoscope;·len:·344,·SHA:·4a63bb9c2c54a1fd504ef84a5ca1234196f4e033db0595468373d1b348b36f55·...·]-3">}</span><span·class="p">,</span><span·class="w">173 ···················</span><span·class="p"·data-group-id="6109710237-2">[</span><span·class="p"·data-group-id="6109710237-3">{</span><span·class="ss">sql_integer</span><span·class="p">,</span><span·class="p"·data-group-id="6109710237-4">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</[·...·truncated·by·diffoscope;·len:·344,·SHA:·03263967e48ae396ca77f91e805ea40cb33831407cc7139249912d800de7a424·...·]-3">}</span><span·class="p">,</span><span·class="w">
174 ····················</span><span·class="p"·data-group-id="5082515624-5">{</span><span·class="p"·data-group-id="5082515624-6">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">20</span><span·class="p"·data-group-id="5082515624-6">}</span><span·class="p">,</span><span·class="w">174 ····················</span><span·class="p"·data-group-id="6109710237-5">{</span><span·class="p"·data-group-id="6109710237-6">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">20</span><span·class="p"·data-group-id="6109710237-6">}</span><span·class="p">,</span><span·class="w">
175 ·····························</span><span·class="p"·data-group-id="5082515624-7">[</span><span·class="s">&quot;John&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Ross&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="w">175 ·····························</span><span·class="p"·data-group-id="6109710237-7">[</span><span·class="s">&quot;John&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Ross&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="w">
176 ·····························</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Louise&quot;</span><span·class="p"·data-group-id="5082515624-7">]</span><span·class="p"·data-group-id="5082515624-5">}</span><span·class="p">,</span><span·class="w">176 ·····························</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Louise&quot;</span><span·class="p"·data-group-id="6109710237-7">]</span><span·class="p"·data-group-id="6109710237-5">}</span><span·class="p">,</span><span·class="w">
177 ···················</span><span·class="p"·data-group-id="5082515624-8">{</span><span·class="p"·data-group-id="5082515624-9">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">20</span><span·class="p"·data-group-id="5082515624-9">}</span><span·class="p">,</span><span·class="w">177 ···················</span><span·class="p"·data-group-id="6109710237-8">{</span><span·class="p"·data-group-id="6109710237-9">{</span><span·class="ss">sql_varchar</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">20</span><span·class="p"·data-group-id="6109710237-9">}</span><span·class="p">,</span><span·class="w">
178 ·····························</span><span·class="p"·data-group-id="5082515624-10">[</span><span·class="s">&quot;Doe&quot;</span><span·class="p">,</span><span·class="s">&quot;Geller&quot;</span><span·class="p">,</span><span·class="s">&quot;Geller&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Green&quot;</span><span·class="p">,</span><span·class="w">178 ·····························</span><span·class="p"·data-group-id="6109710237-10">[</span><span·class="s">&quot;Doe&quot;</span><span·class="p">,</span><span·class="s">&quot;Geller&quot;</span><span·class="p">,</span><span·class="s">&quot;Geller&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Green&quot;</span><span·class="p">,</span><span·class="w">
179 ······························</span><span·class="s">&quot;Halliwell&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Halliwell&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Lane&quot;</span><span·class="p"·data-group-id="5082515624-10">]</span><span·class="p"·data-group-id="5082515624-8">}</span><span·class="p">,</span><span·class="w">179 ······························</span><span·class="s">&quot;Halliwell&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Halliwell&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Lane&quot;</span><span·class="p"·data-group-id="6109710237-10">]</span><span·class="p"·data-group-id="6109710237-8">}</span><span·class="p">,</span><span·class="w">
180 ···················</span><span·class="p"·data-group-id="5082515624-11">{</span><span·class="p"·data-group-id="5082515624-12">{</span><span·class="ss">sql_char</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5082515624-12">}</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·680,·SHA:·97ccd7698a95c5c03f763f37e087a8de7ffe8ae5cd621bb8dc635ddb8c001888·...·]-1">)</span><span·class="p">.</span><span·class="w">180 ···················</span><span·class="p"·data-group-id="6109710237-11">{</span><span·class="p"·data-group-id="6109710237-12">{</span><span·class="ss">sql_char</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6109710237-12">}</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·680,·SHA:·789a1c428b268db5e693fe4bd5379b94d3e77660e9769b29388c1201c3d42ded·...·]-1">)</span><span·class="p">.</span><span·class="w">
181 ······</span><span·class="p"·data-group-id="5082515624-14">{</span><span·class="ss">updated</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">7</span><span·class="p"·data-group-id="5082515624-14">}</span></code></pre><p>Fetch·all·data·in·the·table·employee</p><pre><code·class="m[·...·truncated·by·diffoscope;·len:·438,·SHA:·cc862cb9d2abf02ecdc386468a2893c7ca2145253e477b413b3f3a78ccdde80d·...·]4-1">)</span><span·class="p">.</span><span·class="w">181 ······</span><span·class="p"·data-group-id="6109710237-14">{</span><span·class="ss">updated</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">7</span><span·class="p"·data-group-id="6109710237-14">}</span></code></pre><p>Fetch·all·data·in·the·table·employee</p><pre><code·class="m[·...·truncated·by·diffoscope;·len:·438,·SHA:·4edd03156adc0f03fcc2d7f7f8654b8a7cf314e0c947fc503b8a76f2ab0e95da·...·]4-1">)</span><span·class="p">.</span><span·class="w">
182 ····</span><span·class="p"·data-group-id="6820388264-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="6820388264-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·152,·SHA:·471725344e66ee85c8fe28413a0d53db098c69b6fa7b2122869957581f0762c4·...·]4-3">]</span><span·class="p">,</span><span·class="w">182 ····</span><span·class="p"·data-group-id="2572559754-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="2572559754-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·152,·SHA:·3b74ab68507c20115b44ab96b1255d0ee1a87e2e1b5e7cc88426acc7056e0ab8·...·]4-3">]</span><span·class="p">,</span><span·class="w">
183 ··········</span><span·class="p"·data-group-id="6820388264-4">[</span><span·class="p"·data-group-id="6820388264-5">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="s">&quot;Doe&quot;</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·69,·SHA:·e9a2a5e88db05a41c140d3a517e1b602ff1e139fd1bd92fe0699075d7b9d1ee6·...·]4-5">}</span><span·class="p">,</span><span·class="w">183 ··········</span><span·class="p"·data-group-id="2572559754-4">[</span><span·class="p"·data-group-id="2572559754-5">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="s">&quot;Doe&quot;</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·69,·SHA:·89f38b4042a8d3a3ba29fd1797b798081147a3c651fce0715fb6b80243a5f6db·...·]4-5">}</span><span·class="p">,</span><span·class="w">
184 ···········</span><span·class="p"·data-group-id="6820388264-6">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="s">&quot;John&quot;</span><span·class="p">,</span><span·class="s">&quot;Doe&quot;</span><span·class="p">,</span><span·class="s">&quot;M&quot;</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·16,·SHA:·2b3ee778d00f0901600bf22d1059af4522d7599548d7b60d3dbf6eaa9a501c86·...·]4-6">}</span><span·class="p">,</span><span·class="w">184 ···········</span><span·class="p"·data-group-id="2572559754-6">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="s">&quot;John&quot;</span><span·class="p">,</span><span·class="s">&quot;Doe&quot;</span><span·class="p">,</span><span·class="s">&quot;M&quot;</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·16,·SHA:·3b11ecce1d07fe08e7b73d561d4f35c81113e2e85689475a06a421e3221bc28c·...·]4-6">}</span><span·class="p">,</span><span·class="w">
185 ···········</span><span·class="p"·data-group-id="6820388264-7">{</span><span·class="mi">3</span><span·class="p">,</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="s">&quot;Geller&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·21,·SHA:·87a93ee968f0d5e947f327b4456f189cb91892b8d8c2b307eb0c543c9e90c066·...·]4-7">}</span><span·class="p">,</span><span·class="w">185 ···········</span><span·class="p"·data-group-id="2572559754-7">{</span><span·class="mi">3</span><span·class="p">,</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="s">&quot;Geller&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·21,·SHA:·01781d9a194dfbe3fe15b29ba81e4ae9314ffcacb81c162200a2280f3df640d6·...·]4-7">}</span><span·class="p">,</span><span·class="w">
186 ···········</span><span·class="p"·data-group-id="6820388264-8">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="s">&quot;Ross&quot;</span><span·class="p">,</span><span·class="s">&quot;Geller&quot;</span><span·class="p">,</span><span·class="s">&quot;M&quot;</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·19,·SHA:·298ed31205b2261c5c47f17db0d5f30c38946a3df45bdd751b4e32a86a8489a1·...·]4-8">}</span><span·class="p">,</span><span·class="w">186 ···········</span><span·class="p"·data-group-id="2572559754-8">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="s">&quot;Ross&quot;</span><span·class="p">,</span><span·class="s">&quot;Geller&quot;</span><span·class="p">,</span><span·class="s">&quot;M&quot;</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·19,·SHA:·e7b837e230c102c1dade18847c0bf8cb0cfaeb076d8e8d5e787757dc65c06a47·...·]4-8">}</span><span·class="p">,</span><span·class="w">
187 ···········</span><span·class="p"·data-group-id="6820388264-9">{</span><span·class="mi">5</span><span·class="p">,</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="s">&quot;Green&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·8dbb312926fae2021920224a2578aa6fc2ef70700b26fccc3c98a5e84d397a43·...·]4-9">}</span><span·class="p">,</span><span·class="w">187 ···········</span><span·class="p"·data-group-id="2572559754-9">{</span><span·class="mi">5</span><span·class="p">,</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="s">&quot;Green&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·d3f118c1df4dabfb54c7582f78bb8c970412d9ef707ff82fec698bbfaf2d38b8·...·]4-9">}</span><span·class="p">,</span><span·class="w">
188 ···········</span><span·class="p"·data-group-id="6820388264-10">{</span><span·class="mi">6</span><span·class="p">,</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="s">&quot;Halliwell&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·24,·SHA:·0f817a45663bf75c7c13a97c2b1d253ad6bd736db1e9f205bb41e5c70d264545·...·]4-10">}</span><span·class="p">,</span><span·class="w">188 ···········</span><span·class="p"·data-group-id="2572559754-10">{</span><span·class="mi">6</span><span·class="p">,</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="s">&quot;Halliwell&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·24,·SHA:·bdcb648f210d4293af15a6d8a4fe1775a6a0bb58c32b72d651614d65142892f4·...·]4-10">}</span><span·class="p">,</span><span·class="w">
189 ···········</span><span·class="p"·data-group-id="6820388264-11">{</span><span·class="mi">7</span><span·class="p">,</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="s">&quot;Halliwell&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·51942cc2d97a021343fddc6763ec45e8d55fb4104dc0afd6cc62b5b34d5f1a02·...·]4-11">}</span><span·class="p">,</span><span·class="w">189 ···········</span><span·class="p"·data-group-id="2572559754-11">{</span><span·class="mi">7</span><span·class="p">,</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="s">&quot;Halliwell&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·c36fd7c6eb289187723a24fd9c8ea8d517daa721b8263ab16eacaaa84b7e8b68·...·]4-11">}</span><span·class="p">,</span><span·class="w">
190 ···········</span><span·class="p"·data-group-id="6820388264-12">{</span><span·class="mi">8</span><span·class="p">,</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="s">&quot;Lane&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·151,·SHA:·97dc88e9aa3f3a4c404b8c56e9112e91b144728bc8affc391ce4a106aff8f728·...·]4-2">}</span></code></pre><p>Associate·a·result·set·containing·the·whole·table·<code·class="inline">EMPLOYEE</code>·to·the·connection.190 ···········</span><span·class="p"·data-group-id="2572559754-12">{</span><span·class="mi">8</span><span·class="p">,</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="s">&quot;Lane&quot;</span><span·class="p">,</span><span·class="s">&quot;F&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·151,·SHA:·8dc3d0200f4d80042dc0ab5f28e73129d8b0668c35a3cabbd7882acdd90d2b57·...·]4-2">}</span></code></pre><p>Associate·a·result·set·containing·the·whole·table·<code·class="inline">EMPLOYEE</code>·to·the·connection.
191 The·number·of·rows·in·the·result·set·is·returned.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">8</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">select_count</span><span·class="p"·data-group-id="1428331411-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;SELECT·*·FROM·EMPLOYEE&quot;</span><span·class="p"·data-group-id="1428331411-1">)</span><span·class="p">.</span><span·class="w">191 The·number·of·rows·in·the·result·set·is·returned.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">8</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">select_count</span><span·class="p"·data-group-id="5535479353-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;SELECT·*·FROM·EMPLOYEE&quot;</span><span·class="p"·data-group-id="5535479353-1">)</span><span·class="p">.</span><span·class="w">
192 ······</span><span·class="p"·data-group-id="1428331411-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="1428331411-2">}</span></code></pre><p>You·can·always·traverse·the·result·set·sequential·by·using·next</p><pre><code·class="makeu[·...·truncated·by·diffoscope;·len:·349,·SHA:·9d7260710cfbe326b46c5a64a3a6801593d967150854d67ee9b1cdc579c5ef87·...·]-1">)</span><span·class="p">.</span><span·class="w">192 ······</span><span·class="p"·data-group-id="5535479353-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="5535479353-2">}</span></code></pre><p>You·can·always·traverse·the·result·set·sequential·by·using·next</p><pre><code·class="makeu[·...·truncated·by·diffoscope;·len:·349,·SHA:·5e9c87f13c187b42435def789f5c33b73e17d877f794c12f644af908f405d2dc·...·]-1">)</span><span·class="p">.</span><span·class="w">
193 ······</span><span·class="p"·data-group-id="7195929320-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="7195929320-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·1050,·SHA:·b34d30d817292429ec5aff84322fbfb2fe5ebf9ee58fc3dcee5164c7fef51277·...·]-1">)</span><span·class="p">.</span><span·class="w">193 ······</span><span·class="p"·data-group-id="2678508109-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="2678508109-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·1050,·SHA:·d387356c953d8f7a0f65eb4dee88188c44c51307251e1286c6e0b88d6ed10a27·...·]-1">)</span><span·class="p">.</span><span·class="w">
194 ······</span><span·class="p"·data-group-id="9464433085-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="9464433085-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·651,·SHA:·0ef9cd3e257851035f6af31858adb6622c6aa6ca2f45dc94d276581fc252af02·...·]-2">}</span></code></pre><p>If·your·driver·supports·scrollable·cursors·you·have·a·little·more·freedom,·and194 ······</span><span·class="p"·data-group-id="9169984146-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="9169984146-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·651,·SHA:·5b183cc1b0f21320c175bad17392d9131d45820c97644833a38b1b00f67bfbf1·...·]-2">}</span></code></pre><p>If·your·driver·supports·scrollable·cursors·you·have·a·little·more·freedom,·and
195 can·do·things·like·this.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">11</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">last</span><span·class="p"·data-group-id="8847279491-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="8847279491-1">)</span><span·class="p">.</span><span·class="w">195 can·do·things·like·this.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">11</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">last</span><span·class="p"·data-group-id="6421217499-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="6421217499-1">)</span><span·class="p">.</span><span·class="w">
196 ······</span><span·class="p"·data-group-id="8847279491-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="8847279491-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·1053,·SHA:·5e6811010e5a1d800d15bac65e4b46c0afc924bd59d24a6d1cfa2f82f5cf5294·...·]-1">)</span><span·class="p">.</span><span·class="w">196 ······</span><span·class="p"·data-group-id="6421217499-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="6421217499-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·1053,·SHA:·4ee1c29c41045198c2d0f75a29fe731e133bd895a1b224255393140ed8b885ca·...·]-1">)</span><span·class="p">.</span><span·class="w">
197 ······</span><span·class="p"·data-group-id="2312710435-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="2312710435-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·1057,·SHA:·0a9ee9dd0935639d554e198da6e8443e7c8f30106f9cece4578552f2df856c89·...·]-1">)</span><span·class="p">.</span><span·class="w">197 ······</span><span·class="p"·data-group-id="4344278447-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="4344278447-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·1057,·SHA:·5ec8cb8d92e9cc706960b014e3e14f1413568885e2140da39468b3f0667b09b2·...·]-1">)</span><span·class="p">.</span><span·class="w">
198 ······</span><span·class="p"·data-group-id="2967516800-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="2967516800-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·1050,·SHA:·5560f6ec9d6ca099de5f2e4b15f6d89d576ed746d75124e76b0b04e5c84cb5dc·...·]-1">)</span><span·class="p">.</span><span·class="w">198 ······</span><span·class="p"·data-group-id="1051307014-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="1051307014-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·1050,·SHA:·3ea90ebab82ce44321e2d768bb087dec374d765908f5c0b04cf07990ea250ff8·...·]-1">)</span><span·class="p">.</span><span·class="w">
199 ······</span><span·class="p"·data-group-id="0807943260-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="0807943260-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·1318,·SHA:·e0b65a4b4675e2379db02ea6df860651c89b62b6c800911bca6f5e4bfff8c8a8·...·]-1">)</span><span·class="p">.</span><span·class="w">199 ······</span><span·class="p"·data-group-id="4738792009-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="4738792009-3">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·1318,·SHA:·7a6ff16258e13d5a4545db767ba8ac381e388db4c72ca81198fc72439c404fa0·...·]-1">)</span><span·class="p">.</span><span·class="w">
200 ·····</span><span·class="p"·data-group-id="8850236040-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="8850236040-3">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;NR&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·15655f48b96d584217239fb6ff071aac9a5cc19d421b9a9b61d3dca336678281·...·]-3">]</span><span·class="p">,</span><span·class="w">200 ·····</span><span·class="p"·data-group-id="6089557538-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="6089557538-3">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;NR&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·7109e6e10188239cdf0682c665efc0c8bfddee789232f7a3bb1514422c9406aa·...·]-3">]</span><span·class="p">,</span><span·class="w">
201 ··········</span><span·class="p"·data-group-id="8850236040-4">[</span><span·class="p"·data-group-id="8850236040-5">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8850236040-5">}</span><span·class="p">,</span><span·class="w">201 ··········</span><span·class="p"·data-group-id="6089557538-4">[</span><span·class="p"·data-group-id="6089557538-5">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6089557538-5">}</span><span·class="p">,</span><span·class="w">
202 ···········</span><span·class="p"·data-group-id="8850236040-6">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="8850236040-6">}</span><span·class="p">,</span><span·class="w">202 ···········</span><span·class="p"·data-group-id="6089557538-6">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="6089557538-6">}</span><span·class="p">,</span><span·class="w">
203 ···········</span><span·class="p"·data-group-id="8850236040-7">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="8850236040-7">}</span><span·class="p">,</span><span·class="w">203 ···········</span><span·class="p"·data-group-id="6089557538-7">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="6089557538-7">}</span><span·class="p">,</span><span·class="w">
204 ···········</span><span·class="p"·data-group-id="8850236040-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="8850236040-8">}</span><span·class="p">,</span><span·class="w">204 ···········</span><span·class="p"·data-group-id="6089557538-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="6089557538-8">}</span><span·class="p">,</span><span·class="w">
205 ···········</span><span·class="p"·data-group-id="8850236040-9">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="8850236040-9">}</span><span·class="p">,</span><span·class="w">205 ···········</span><span·class="p"·data-group-id="6089557538-9">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="6089557538-9">}</span><span·class="p">,</span><span·class="w">
206 ···········</span><span·class="p"·data-group-id="8850236040-10">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="8850236040-10">}</span><span·class="p"·data-group-id="8850236040-4">]</span><span·class="p"·data-group-id="88502[·...·truncated·by·diffoscope;·len:·5,·SHA:·cf86b70581b5e6bbe89d03d75209c540a78ee30d6c7e670b4b9ddb88d074600f·...·]-2">}</span></code></pre><p>Fetch·the·fields·<code·class="inline">FIRSTNAME</code>and·<code·class="inline">NR</code>for·all·female·employees·and·sort·them·on206 ···········</span><span·class="p"·data-group-id="6089557538-10">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="6089557538-10">}</span><span·class="p"·data-group-id="6089557538-4">]</span><span·class="p"·data-group-id="60895[·...·truncated·by·diffoscope;·len:·5,·SHA:·6af8dde5ab37488cbfad05c6809b6ed49029178d7ba8686dfeb5591993dc0a46·...·]-2">}</span></code></pre><p>Fetch·the·fields·<code·class="inline">FIRSTNAME</code>and·<code·class="inline">NR</code>for·all·female·employees·and·sort·them·on
207 the·field·<code·class="inline">FIRSTNAME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">16</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">sql_query</span><span·class="p"·data-group-id="8512160861-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;SELECT·FIRSTNAME,·NR·FROM·EMPLOYEE·WHERE·GENDER·=·&#39;F&#39;207 the·field·<code·class="inline">FIRSTNAME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">16</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">sql_query</span><span·class="p"·data-group-id="0941320825-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;SELECT·FIRSTNAME,·NR·FROM·EMPLOYEE·WHERE·GENDER·=·&#39;F&#39;
208 ······ORDER·BY·FIRSTNAME&quot;</span><span·class="p"·data-group-id="8512160861-1">)</span><span·class="p">.</span><span·class="w">208 ······ORDER·BY·FIRSTNAME&quot;</span><span·class="p"·data-group-id="0941320825-1">)</span><span·class="p">.</span><span·class="w">
209 ····</span><span·class="p"·data-group-id="8512160861-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="8512160861-3">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;NR&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·7043f6f21306f35d8275241f391cd384c39b96f9172435bb06f0f3211dde57d1·...·]-3">]</span><span·class="p">,</span><span·class="w">209 ····</span><span·class="p"·data-group-id="0941320825-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="0941320825-3">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;NR&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·8d63d4152051fbf5c0fb279d12455040cdd5451a0db09d68b18151403e371321·...·]-3">]</span><span·class="p">,</span><span·class="w">
210 ··········</span><span·class="p"·data-group-id="8512160861-4">[</span><span·class="p"·data-group-id="8512160861-5">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8512160861-5">}</span><span·class="p">,</span><span·class="w">210 ··········</span><span·class="p"·data-group-id="0941320825-4">[</span><span·class="p"·data-group-id="0941320825-5">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="0941320825-5">}</span><span·class="p">,</span><span·class="w">
211 ···········</span><span·class="p"·data-group-id="8512160861-6">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="8512160861-6">}</span><span·class="p">,</span><span·class="w">211 ···········</span><span·class="p"·data-group-id="0941320825-6">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="0941320825-6">}</span><span·class="p">,</span><span·class="w">
212 ···········</span><span·class="p"·data-group-id="8512160861-7">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="8512160861-7">}</span><span·class="p">,</span><span·class="w">212 ···········</span><span·class="p"·data-group-id="0941320825-7">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="0941320825-7">}</span><span·class="p">,</span><span·class="w">
213 ···········</span><span·class="p"·data-group-id="8512160861-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="8512160861-8">}</span><span·class="p">,</span><span·class="w">213 ···········</span><span·class="p"·data-group-id="0941320825-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="0941320825-8">}</span><span·class="p">,</span><span·class="w">
214 ···········</span><span·class="p"·data-group-id="8512160861-9">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="8512160861-9">}</span><span·class="p">,</span><span·class="w">214 ···········</span><span·class="p"·data-group-id="0941320825-9">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="0941320825-9">}</span><span·class="p">,</span><span·class="w">
215 ···········</span><span·class="p"·data-group-id="8512160861-10">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="8512160861-10">}</span><span·class="p"·data-group-id="8512160861-4">]</span><span·class="p"·data-group-id="85121[·...·truncated·by·diffoscope;·len:·5,·SHA:·6292d6fe557471903659c8bf263aa88965f28dc8ea286be2a5e663ef9ae7fefb·...·]-2">}</span></code></pre><p>Associate·a·result·set·that·contains·the·fields·<code·class="inline">FIRSTNAME</code>·and·<code·class="inline">NR</code>for·all215 ···········</span><span·class="p"·data-group-id="0941320825-10">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="0941320825-10">}</span><span·class="p"·data-group-id="0941320825-4">]</span><span·class="p"·data-group-id="09413[·...·truncated·by·diffoscope;·len:·5,·SHA:·677b827c43cb04f62c6781684fcc759eba0e9c385103f3b2e3f9c1a1d74895aa·...·]-2">}</span></code></pre><p>Associate·a·result·set·that·contains·the·fields·<code·class="inline">FIRSTNAME</code>·and·<code·class="inline">NR</code>for·all
216 female·employees·to·the·connection.·The·number·of·rows·in·the·result·set·is216 female·employees·to·the·connection.·The·number·of·rows·in·the·result·set·is
217 returned.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">17</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">select_count</span><span·class="p"·data-group-id="1560172457-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;SELECT·FIRSTNAME,·NR·FROM·EMPLOYEE·WHERE·GENDER·=·&#39;F&#39;&quot;</span><span·class="p"·data-group-id="1560172457-1">)</span><span·class="p">.</span><span·class="w">217 returned.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">17</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">select_count</span><span·class="p"·data-group-id="3400746995-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;SELECT·FIRSTNAME,·NR·FROM·EMPLOYEE·WHERE·GENDER·=·&#39;F&#39;&quot;</span><span·class="p"·data-group-id="3400746995-1">)</span><span·class="p">.</span><span·class="w">
218 ······</span><span·class="p"·data-group-id="1560172457-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1560172457-2">}</span></code></pre><p>A·few·more·ways·of·retrieving·parts·of·the·result·set·when·the·driver·supports218 ······</span><span·class="p"·data-group-id="3400746995-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="3400746995-2">}</span></code></pre><p>A·few·more·ways·of·retrieving·parts·of·the·result·set·when·the·driver·supports
219 scrollable·cursors.·Note·that·next·will·work·even·without·support·for·scrollable219 scrollable·cursors.·Note·that·next·will·work·even·without·support·for·scrollable
220 cursors.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">18</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="3343854969-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3343854969-2">{</span><span·class="ss">relative</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·165,·SHA:·d18b0576060ad0f5367cf9777cd54a6eac49eefdc102150a5bcb949a9bea6540·...·]-1">)</span><span·class="p">.</span><span·class="w">220 cursors.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">18</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="6690080172-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6690080172-2">{</span><span·class="ss">relative</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·165,·SHA:·a7fb1ed8860947c0343c09821495114360dc52dcbf70e422b930f5a9949406f6·...·]-1">)</span><span·class="p">.</span><span·class="w">
221 ····</span><span·class="p"·data-group-id="3343854969-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="3343854969-4">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;NR&quot;</span><span·class="p"·data-group-id="3343854969-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="3343854969-5">[</span><span·class="p"·data-group-id="3343854969-6">{</span><span·class="s">&quot;Monica&quot;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="3343854969-6">}</span><span·class="p">,</span><span·class="p"·data-group-id="3343854969-7">{</span><span·class="s">&quot;Rachel&quot;</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="3343854969-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="3343854969-8">{</span><span·class="s">&quot;Piper&quot;</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="3343854969-8">}</span><span·class="p"·data-group-id="3343854969-5">]</span><span·class="p"·data-group-id="3343854969-3">}</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">19</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="0272017096-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">next</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="0272017096-1">)</span><span·class="p">.</span><span·class="w"> 
222 ······</span><span·class="p"·data-group-id="0272017096-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="0272017096-3">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&[·...·truncated·by·diffoscope;·len:·1390,·SHA:·38844add269221f5f56d2a408f291b3b3cc10c0ffc11b655acb47d77750c9098·...·]-1">)</span><span·class="p">.</span><span·class="w">221 ····</span><span·class="p"·data-group-id="6690080172-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="6690080172-4">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&qu[·...·truncated·by·diffoscope;·len:·1426,·SHA:·b59e4cd1cb81a7e940c131bf9c6119988eec30b9e702aae39ca5a4f475d99a14·...·]-1">)</span><span·class="p">.</span><span·class="w">
 222 ······</span><span·class="p"·data-group-id="6525591384-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="6525591384-3">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;NR&quot;</span><span·class="p"·data-group-id="6525591384-3">]</span><span·class="p">,</span><span·class="p"·data-group-id="6525591384-4">[</span><span·class="p"·data-group-id="6525591384-5">{</span><span·class="s">&quot;Prue&quot;</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="6525591384-5">}</span><span·class="p">,</span><span·class="p"·data-group-id="6525591384-6">{</span><span·class="s">&quot;Louise&quot;</span><span·class="p">,</span><span·class="mi">8</span><span·class="p"·data-group-id="6525591384-6">}</span><span·class="p"·data-group-id="6525591384-4">]</span><span·class="p"·data-group-id="6525591384-2">}</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">20</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="4378912535-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4378912535-2">{</span><span·class="ss">absolute</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="4378912535-2">}</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="4378912535-1">)</span><span·class="p">.</span><span·class="w">
223 ······</span><span·class="p"·data-group-id="0240272385-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="0240272385-4">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;NR&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·1167,·SHA:·1f88ae49c224cd08f8a11a5a7b1a64eeaff449360652f7971192f2f9d4313f3d·...·]-1">)</span><span·class="p">.</span><span·class="w">223 ······</span><span·class="p"·data-group-id="4378912535-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="4378912535-4">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;NR&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·1167,·SHA:·1ca14dfc73eb3b7024a9cd099c8595d737fd9418199a59bad2ebdb0d6e04d8e1·...·]-1">)</span><span·class="p">.</span><span·class="w">
224 ····</span><span·class="p"·data-group-id="5189046758-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="5189046758-3">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;NR&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·1351,·SHA:·52fcfa9c79b6ebddabdd59dd6e1d0e66288e5671d8de124d9a07dfe8244940b4·...·]-1">)</span><span·class="p">.</span><span·class="w">224 ····</span><span·class="p"·data-group-id="2117393692-2">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="2117393692-3">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;NR&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·1351,·SHA:·cc4247121dad903a87622150f932f5aaff61270c8024c6f8d20ed725a1aed273·...·]-1">)</span><span·class="p">.</span><span·class="w">
225 ······</span><span·class="p"·data-group-id="7762803923-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="7762803923-4">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;NR&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·f2d60f6bfa07b576855937f72459482b4382bd3940e1b764163ea664afe6ad7a·...·]-4">]</span><span·class="p">,</span><span·class="w">225 ······</span><span·class="p"·data-group-id="0172905077-3">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="0172905077-4">[</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</span><span·class="s">&quot;NR&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·4692c59cc6edae33fa33304f45268ba4e829a70119527236fe207499d64d75b7·...·]-4">]</span><span·class="p">,</span><span·class="w">
226 ················</span><span·class="p"·data-group-id="7762803923-5">[</span><span·class="p"·data-group-id="7762803923-6">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="7762803923-6">}</span><span·class="p">,</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·1082,·SHA:·c15ca9dc0a4864372f8d9b24e74198339b093ff410e21e2939eab761d0b014f2·...·]-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;SELECT·*·FROM·EMPLOYEE·WHERE·GENDER=?&quot;</span><span·class="p">,</span><span·class="w">226 ················</span><span·class="p"·data-group-id="0172905077-5">[</span><span·class="p"·data-group-id="0172905077-6">{</span><span·class="s">&quot;Jane&quot;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="0172905077-6">}</span><span·class="p">,</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·1082,·SHA:·6a82ddb1b92f16baecbf230cb39e4dced8e0c246781b293a3adbcef2a73c4d3e·...·]-1">(</span><span·class="n">Ref</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;SELECT·*·FROM·EMPLOYEE·WHERE·GENDER=?&quot;</span><span·class="p">,</span><span·class="w">
227 ······</span><span·class="p"·data-group-id="4337280953-2">[</span><span·class="p"·data-group-id="4337280953-3">{</span><span·class="p"·data-group-id="4337280953-4">{</span><span·class="ss">sql_char</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·367,·SHA:·d5f11214d28582c7fd68b550205e2b8ad125c4faa1dd095412796b11a33fb080·...·]-1">)</span><span·class="p">.</span><span·class="w">227 ······</span><span·class="p"·data-group-id="1453634798-2">[</span><span·class="p"·data-group-id="1453634798-3">{</span><span·class="p"·data-group-id="1453634798-4">{</span><span·class="ss">sql_char</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·367,·SHA:·8453a4b1e8fa2ce2b796ac7d89f7c40e431d27501ff567d1b02f6f0088b011cb·...·]-1">)</span><span·class="p">.</span><span·class="w">
228 ······</span><span·class="p"·data-group-id="4337280953-6">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="4337280953-7">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·3a0e0640b4108369af7a817e2610ff6684a1f88cf01a7e1c19284a493ea185a2·...·]-7">]</span><span·class="p">,</span><span·class="w">228 ······</span><span·class="p"·data-group-id="1453634798-6">{</span><span·class="ss">selected</span><span·class="p">,</span><span·class="p"·data-group-id="1453634798-7">[</span><span·class="s">&quot;NR&quot;</span><span·class="p">,</span><span·class="s">&quot;FIRSTNAME&quot;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·153,·SHA:·58ce57fb1384e97077598675335d12147c075933f3dc27297497f6c3ad4be001·...·]-7">]</span><span·class="p">,</span><span·class="w">
229 ················</span><span·class="p"·data-group-id="4337280953-8">[</span><span·class="p"·data-group-id="4337280953-9">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="s">&quot;John&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Doe&quot;</span><span·c[·...·truncated·by·diffoscope;·len:·569,·SHA:·5a9c0e314e066c5d97f843197baa9ebf568b5e638605296775392fa5e27ca882·...·]-6">}</span></code></pre><p>Delete·the·table·<code·class="inline">EMPLOYEE</code>.</p><pre><code·class="text">·24·&gt;·odbc:sql_query(Ref,·&quot;DROP·TABLE·EMPLOYEE&quot;).229 ················</span><span·class="p"·data-group-id="1453634798-8">[</span><span·class="p"·data-group-id="1453634798-9">{</span><span·class="mi">2</span><span·class="p">,</span><span·class="s">&quot;John&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Doe&quot;</span><span·c[·...·truncated·by·diffoscope;·len:·569,·SHA:·c6577099af5e52141d92953432e420d67f220908e156fc8ebf6d88e1cdef17c9·...·]-6">}</span></code></pre><p>Delete·the·table·<code·class="inline">EMPLOYEE</code>.</p><pre><code·class="text">·24·&gt;·odbc:sql_query(Ref,·&quot;DROP·TABLE·EMPLOYEE&quot;).
230 ······{updated,undefined}</code></pre><p>Shut·down·the·connection.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">25</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">disconnect</span><span·class="p"·data-group-id="7393603998-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="7393603998-1">)</span><span·class="p">.</span><span·class="w">230 ······{updated,undefined}</code></pre><p>Shut·down·the·connection.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">25</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">odbc</span><span·class="p">:</span><span·class="nf">disconnect</span><span·class="p"·data-group-id="7734407500-1">(</span><span·class="n">Ref</span><span·class="p"·data-group-id="7734407500-1">)</span><span·class="p">.</span><span·class="w">
231 ······</span><span·class="ss">ok</span></code></pre><p>Shut·down·the·application.</p><pre><code·class="text">·26·&gt;·odbc:stop().231 ······</span><span·class="ss">ok</span></code></pre><p>Shut·down·the·application.</p><pre><code·class="text">·26·&gt;·odbc:stop().
232 ····=INFO·REPORT====·7-Jan-2004::17:00:59·===232 ····=INFO·REPORT====·7-Jan-2004::17:00:59·===
233 ····application:·odbc233 ····application:·odbc
234 ····exited:·stopped234 ····exited:·stopped
235 ····type:·temporary235 ····type:·temporary
  
236 ····ok</code></pre>236 ····ok</code></pre>
Offset 281, 15 lines modifiedOffset 281, 15 lines modified
281 ······<p·class="built-using">281 ······<p·class="built-using">
282 ········Built·using282 ········Built·using
283 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the283 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
284 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>284 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
285 ······</p>285 ······</p>
286 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>286 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
287 ····</footer>287 ····</footer>
288 ··</div>288 ··</div>
289 </main>289 </main>
290 </div>290 </div>
291 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>291 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
292 ··<script>292 ··<script>
293 ··let·initialized·=·false;293 ··let·initialized·=·false;
537 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/odbc-2.16/doc/html/introduction.html
    
Offset 203, 15 lines modifiedOffset 203, 15 lines modified
203 ······<p·class="built-using">203 ······<p·class="built-using">
204 ········Built·using204 ········Built·using
205 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the205 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
206 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>206 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
207 ······</p>207 ······</p>
208 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>208 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
209 ····</footer>209 ····</footer>
210 ··</div>210 ··</div>
211 </main>211 </main>
212 </div>212 </div>
213 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>213 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
214 ··<script>214 ··<script>
215 ··let·initialized·=·false;215 ··let·initialized·=·false;
736 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/odbc-2.16/doc/html/notes.html
    
Offset 1070, 15 lines modifiedOffset 1070, 15 lines modified
1070 ······<p·class="built-using">1070 ······<p·class="built-using">
1071 ········Built·using1071 ········Built·using
1072 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1072 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1073 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1073 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1074 ······</p>1074 ······</p>
1075 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1075 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1076 ····</footer>1076 ····</footer>
1077 ··</div>1077 ··</div>
1078 </main>1078 </main>
1079 </div>1079 </div>
1080 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1080 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1081 ··<script>1081 ··<script>
1082 ··let·initialized·=·false;1082 ··let·initialized·=·false;
663 B
html2text {}
Max HTML report size reached
173 KB
./usr/share/doc/erlang-doc/html/lib/odbc-2.16/doc/html/odbc.epub
2.71 KB
zipinfo {}
Max HTML report size reached
85.9 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:16:10,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:54:12,·uncompressed·size·20,·method=store
82.3 KB
OEBPS/getting_started.xhtml
Max HTML report size reached
1.22 KB
OEBPS/content.opf
1.19 KB
OEBPS/content.opf
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/odbc-2.16/doc/html/odbc.html
    
Offset 1773, 15 lines modifiedOffset 1773, 15 lines modified
1773 ······<p·class="built-using">1773 ······<p·class="built-using">
1774 ········Built·using1774 ········Built·using
1775 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1775 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1776 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1776 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1777 ······</p>1777 ······</p>
1778 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1778 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1779 ····</footer>1779 ····</footer>
1780 ··</div>1780 ··</div>
1781 </main>1781 </main>
1782 </div>1782 </div>
1783 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1783 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1784 ··<script>1784 ··<script>
1785 ··let·initialized·=·false;1785 ··let·initialized·=·false;
647 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/odbc-2.16/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
460 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/api-reference.html
    
Offset 217, 15 lines modifiedOffset 217, 15 lines modified
217 ······<p·class="built-using">217 ······<p·class="built-using">
218 ········Built·using218 ········Built·using
219 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the219 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
220 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>220 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
221 ······</p>221 ······</p>
222 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>222 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
223 ····</footer>223 ····</footer>
224 ··</div>224 ··</div>
225 </main>225 </main>
226 </div>226 </div>
227 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>227 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
228 ··<script>228 ··<script>
229 ··let·initialized·=·false;229 ··let·initialized·=·false;
595 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/cpu_sup.html
    
Offset 621, 15 lines modifiedOffset 621, 15 lines modified
621 ······<p·class="built-using">621 ······<p·class="built-using">
622 ········Built·using622 ········Built·using
623 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the623 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
624 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>624 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
625 ······</p>625 ······</p>
626 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>626 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
627 ····</footer>627 ····</footer>
628 ··</div>628 ··</div>
629 </main>629 </main>
630 </div>630 </div>
631 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>631 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
632 ··<script>632 ··<script>
633 ··let·initialized·=·false;633 ··let·initialized·=·false;
720 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/disksup.html
    
Offset 555, 15 lines modifiedOffset 555, 15 lines modified
555 ······<p·class="built-using">555 ······<p·class="built-using">
556 ········Built·using556 ········Built·using
557 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the557 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
558 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>558 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
559 ······</p>559 ······</p>
560 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>560 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
561 ····</footer>561 ····</footer>
562 ··</div>562 ··</div>
563 </main>563 </main>
564 </div>564 </div>
565 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>565 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
566 ··<script>566 ··<script>
567 ··let·initialized·=·false;567 ··let·initialized·=·false;
711 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/memsup.html
    
Offset 673, 15 lines modifiedOffset 673, 15 lines modified
673 ······<p·class="built-using">673 ······<p·class="built-using">
674 ········Built·using674 ········Built·using
675 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the675 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
676 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>676 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
677 ······</p>677 ······</p>
678 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>678 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
679 ····</footer>679 ····</footer>
680 ··</div>680 ··</div>
681 </main>681 </main>
682 </div>682 </div>
683 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>683 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
684 ··<script>684 ··<script>
685 ··let·initialized·=·false;685 ··let·initialized·=·false;
747 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/notes.html
    
Offset 1053, 15 lines modifiedOffset 1053, 15 lines modified
1053 ······<p·class="built-using">1053 ······<p·class="built-using">
1054 ········Built·using1054 ········Built·using
1055 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1055 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1056 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1056 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1057 ······</p>1057 ······</p>
1058 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1058 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1059 ····</footer>1059 ····</footer>
1060 ··</div>1060 ··</div>
1061 </main>1061 </main>
1062 </div>1062 </div>
1063 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1063 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1064 ··<script>1064 ··<script>
1065 ··let·initialized·=·false;1065 ··let·initialized·=·false;
633 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/nteventlog.html
    
Offset 331, 15 lines modifiedOffset 331, 15 lines modified
331 ······<p·class="built-using">331 ······<p·class="built-using">
332 ········Built·using332 ········Built·using
333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the333 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>334 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
335 ······</p>335 ······</p>
336 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>336 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
337 ····</footer>337 ····</footer>
338 ··</div>338 ··</div>
339 </main>339 </main>
340 </div>340 </div>
341 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>341 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
342 ··<script>342 ··<script>
343 ··let·initialized·=·false;343 ··let·initialized·=·false;
646 B
html2text {}
Max HTML report size reached
82.1 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/os_mon.epub
2.66 KB
zipinfo {}
Max HTML report size reached
77.8 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:15:54,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:54:00,·uncompressed·size·20,·method=store
1.21 KB
OEBPS/content.opf
1.17 KB
OEBPS/content.opf
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/os_mon_app.html
    
Offset 203, 15 lines modifiedOffset 203, 15 lines modified
203 ······<p·class="built-using">203 ······<p·class="built-using">
204 ········Built·using204 ········Built·using
205 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the205 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
206 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>206 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
207 ······</p>207 ······</p>
208 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>208 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
209 ····</footer>209 ····</footer>
210 ··</div>210 ··</div>
211 </main>211 </main>
212 </div>212 </div>
213 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>213 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
214 ··<script>214 ··<script>
215 ··let·initialized·=·false;215 ··let·initialized·=·false;
722 B
html2text {}
Max HTML report size reached
1.42 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/os_sup.html
    
Offset 410, 15 lines modifiedOffset 410, 15 lines modified
410 ······<p·class="built-using">410 ······<p·class="built-using">
411 ········Built·using411 ········Built·using
412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
414 ······</p>414 ······</p>
415 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>415 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
416 ····</footer>416 ····</footer>
417 ··</div>417 ··</div>
418 </main>418 </main>
419 </div>419 </div>
420 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>420 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
421 ··<script>421 ··<script>
422 ··let·initialized·=·false;422 ··let·initialized·=·false;
624 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/os_mon-2.11/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
462 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/parsetools-2.7/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.39 KB
./usr/share/doc/erlang-doc/html/lib/parsetools-2.7/doc/html/api-reference.html
    
Offset 190, 15 lines modifiedOffset 190, 15 lines modified
190 ······<p·class="built-using">190 ······<p·class="built-using">
191 ········Built·using191 ········Built·using
192 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the192 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
193 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>193 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
194 ······</p>194 ······</p>
195 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>195 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
196 ····</footer>196 ····</footer>
197 ··</div>197 ··</div>
198 </main>198 </main>
199 </div>199 </div>
200 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>200 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
201 ··<script>201 ··<script>
202 ··let·initialized·=·false;202 ··let·initialized·=·false;
567 B
html2text {}
Max HTML report size reached
15.1 KB
./usr/share/doc/erlang-doc/html/lib/parsetools-2.7/doc/html/leex.html
    
Offset 169, 21 lines modifiedOffset 169, 21 lines modified
169 <code·class="inline">error_location</code>·is·set·to·<code·class="inline">line</code>).</p></li></ul><p>The·code·must·return:</p><ul><li><p><strong><code·class="inline">{token,Token}</code></strong>·-·Return·<code·class="inline">Token</code>·to·the·caller.</p></li><li><p><strong><code·class="inline">{end_token,Token}</code></strong>·-·Return·<code·class="inline">Token</code>·and·is·last·token·in·a·tokens·call.</p></li><li><p><strong><code·class="inline">skip_token</code></strong>·-·Skip·this·token·completely.</p></li><li><p><strong><code·class="inline">{error,ErrString}</code></strong>·-·An·error·in·the·token,·<code·class="inline">ErrString</code>·is·a·string169 <code·class="inline">error_location</code>·is·set·to·<code·class="inline">line</code>).</p></li></ul><p>The·code·must·return:</p><ul><li><p><strong><code·class="inline">{token,Token}</code></strong>·-·Return·<code·class="inline">Token</code>·to·the·caller.</p></li><li><p><strong><code·class="inline">{end_token,Token}</code></strong>·-·Return·<code·class="inline">Token</code>·and·is·last·token·in·a·tokens·call.</p></li><li><p><strong><code·class="inline">skip_token</code></strong>·-·Skip·this·token·completely.</p></li><li><p><strong><code·class="inline">{error,ErrString}</code></strong>·-·An·error·in·the·token,·<code·class="inline">ErrString</code>·is·a·string
170 describing·the·error.</p></li></ul><p>It·is·also·possible·to·push·back·characters·into·the·input·characters·with·the170 describing·the·error.</p></li></ul><p>It·is·also·possible·to·push·back·characters·into·the·input·characters·with·the
171 following·returns:</p><ul><li><code·class="inline">{token,Token,PushBackList}</code></li><li><code·class="inline">{end_token,Token,PushBackList}</code></li><li><code·class="inline">{skip_token,PushBackList}</code></li></ul><p>These·have·the·same·meanings·as·the·normal·returns·but·the·characters·in171 following·returns:</p><ul><li><code·class="inline">{token,Token,PushBackList}</code></li><li><code·class="inline">{end_token,Token,PushBackList}</code></li><li><code·class="inline">{skip_token,PushBackList}</code></li></ul><p>These·have·the·same·meanings·as·the·normal·returns·but·the·characters·in
172 <code·class="inline">PushBackList</code>·will·be·prepended·to·the·input·characters·and·scanned·for·the172 <code·class="inline">PushBackList</code>·will·be·prepended·to·the·input·characters·and·scanned·for·the
173 next·token.·Note·that·pushing·back·a·newline·will·mean·the·line·numbering·will173 next·token.·Note·that·pushing·back·a·newline·will·mean·the·line·numbering·will
174 no·longer·be·correct.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Pushing·back·characters·gives·you·unexpected·possibilities·to·cause·the174 no·longer·be·correct.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Pushing·back·characters·gives·you·unexpected·possibilities·to·cause·the
175 scanner·to·loop!</p></section><p>The·following·example·would·match·a·simple·Erlang·integer·or·float·and·return·a175 scanner·to·loop!</p></section><p>The·following·example·would·match·a·simple·Erlang·integer·or·float·and·return·a
176 token·which·could·be·sent·to·the·Erlang·parser:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">D</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3594817011-1">[</span><span·class="mi">0</span><span·class="o">-</span><span·class="mi">9</span><span·class="p"·data-group-id="3594817011-1">]</span><span·class="w">176 token·which·could·be·sent·to·the·Erlang·parser:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">D</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3282158959-1">[</span><span·class="mi">0</span><span·class="o">-</span><span·class="mi">9</span><span·class="p"·data-group-id="3282158959-1">]</span><span·class="w">
  
177 </span><span·class="p"·data-group-id="3594817011-2">{</span><span·class="n">D</span><span·class="p"·data-group-id="3594817011-2">}</span><span·class="o">+</span><span·class="w">·</span><span·class="p">:</span><span·class="w">177 </span><span·class="p"·data-group-id="3282158959-2">{</span><span·class="n">D</span><span·class="p"·data-group-id="3282158959-2">}</span><span·class="o">+</span><span·class="w">·</span><span·class="p">:</span><span·class="w">
178 ··</span><span·class="p"·data-group-id="3594817011-3">{</span><span·class="ss">token</span><span·class="p">,</span><span·class="p"·data-group-id="3594817011-4">{</span><span·class="ss">integer</span><span·class="p">,</span><span·class="n">TokenLine</span><span·class="p">,</span><span·class="nf">l[·...·truncated·by·diffoscope;·len:·254,·SHA:·3338523df851246a357ac2c56e6e0137cdd5d88be501d332c4bcccc77133a0f9·...·]-3">}</span><span·class="p">.</span><span·class="w">178 ··</span><span·class="p"·data-group-id="3282158959-3">{</span><span·class="ss">token</span><span·class="p">,</span><span·class="p"·data-group-id="3282158959-4">{</span><span·class="ss">integer</span><span·class="p">,</span><span·class="n">TokenLine</span><span·class="p">,</span><span·class="nf">l[·...·truncated·by·diffoscope;·len:·254,·SHA:·a4fb5b33ea7981d1671f5407da44262fd5555ff9ffd60fe64eb7468e5810c8c5·...·]-3">}</span><span·class="p">.</span><span·class="w">
  
179 </span><span·class="p"·data-group-id="3594817011-6">{</span><span·class="n">D</span><span·class="p"·data-group-id="3594817011-6">}</span><span·class="o">+</span><span·class="err">\</span><span·class="p">.</span><span·class="p"·data-group-id="3594817011-7">{</span><span·class="n">D</span><span·c[·...·truncated·by·diffoscope;·len:·755,·SHA:·ef3202a6ddb49d21675f2c4870420dd164e5eb08a7064d4d9ca0ed6e76713778·...·]-8">)</span><span·class="o">?</span><span·class="w">·</span><span·class="p">:</span><span·class="w">179 </span><span·class="p"·data-group-id="3282158959-6">{</span><span·class="n">D</span><span·class="p"·data-group-id="3282158959-6">}</span><span·class="o">+</span><span·class="err">\</span><span·class="p">.</span><span·class="p"·data-group-id="3282158959-7">{</span><span·class="n">D</span><span·c[·...·truncated·by·diffoscope;·len:·755,·SHA:·753227ce2c1436c0c5290fe53f4a3e3a278cc47f400f062744805e0335024a71·...·]-8">)</span><span·class="o">?</span><span·class="w">·</span><span·class="p">:</span><span·class="w">
180 ··</span><span·class="p"·data-group-id="3594817011-12">{</span><span·class="ss">token</span><span·class="p">,</span><span·class="p"·data-group-id="3594817011-13">{</span><span·class="nb">float</span><span·class="p">,</span><span·class="n">TokenLine</span><span·class="p">,</span><span·class="nf">l[·...·truncated·by·diffoscope;·len:·255,·SHA:·5c0a495d296207908109eea5d63bb253252efa4c7c46f6abc4cfbb15db779b12·...·]-12">}</span><span·class="p">.</span></code></pre><p>The·Erlang·code·in·the·<code·class="inline">Erlang·code.</code>·section·is·written·into·the·output·file180 ··</span><span·class="p"·data-group-id="3282158959-12">{</span><span·class="ss">token</span><span·class="p">,</span><span·class="p"·data-group-id="3282158959-13">{</span><span·class="nb">float</span><span·class="p">,</span><span·class="n">TokenLine</span><span·class="p">,</span><span·class="nf">l[·...·truncated·by·diffoscope;·len:·255,·SHA:·09511eb09428e06d6c3bd15a9a19036d0307679185cd86aa08c831755f7582ad·...·]-12">}</span><span·class="p">.</span></code></pre><p>The·Erlang·code·in·the·<code·class="inline">Erlang·code.</code>·section·is·written·into·the·output·file
181 directly·after·the·module·declaration·and·predefined·exports·declaration,·making181 directly·after·the·module·declaration·and·predefined·exports·declaration,·making
182 it·possible·to·add·extra·exports,·define·imports,·and·other·attributes,·which·are182 it·possible·to·add·extra·exports,·define·imports,·and·other·attributes,·which·are
183 visible·in·the·whole·file.</p><h2·id="module-regular-expressions"·class="section-heading">183 visible·in·the·whole·file.</p><h2·id="module-regular-expressions"·class="section-heading">
184 ··<a·href="#module-regular-expressions"·class="hover-link">184 ··<a·href="#module-regular-expressions"·class="hover-link">
185 ····<i·class="ri-link-m"·aria-hidden="true"></i>185 ····<i·class="ri-link-m"·aria-hidden="true"></i>
186 ··</a>186 ··</a>
187 ··<span·class="text">Regular·Expressions</span>187 ··<span·class="text">Regular·Expressions</span>
Offset 707, 15 lines modifiedOffset 707, 15 lines modified
707 <p>This·is·a·re-entrant·call·to·try·and·scan·a·single·token·from·<code·class="inline">Chars</code>.</p><p>If·there·are·enough·characters·in·<code·class="inline">Chars</code>·to·either·scan·a·token·or707 <p>This·is·a·re-entrant·call·to·try·and·scan·a·single·token·from·<code·class="inline">Chars</code>.</p><p>If·there·are·enough·characters·in·<code·class="inline">Chars</code>·to·either·scan·a·token·or
708 detect·an·error·then·this·will·be·returned·with708 detect·an·error·then·this·will·be·returned·with
709 <code·class="inline">{done,...}</code>.·Otherwise·<code·class="inline">{cont,Cont}</code>·will·be·returned·where·<code·class="inline">Cont</code>·is709 <code·class="inline">{done,...}</code>.·Otherwise·<code·class="inline">{cont,Cont}</code>·will·be·returned·where·<code·class="inline">Cont</code>·is
710 used·in·the·next·call·to·<code·class="inline">token()</code>·with·more·characters·to·try·an·scan710 used·in·the·next·call·to·<code·class="inline">token()</code>·with·more·characters·to·try·an·scan
711 the·token.·This·is·continued·until·a·token·has·been·scanned.·<code·class="inline">Cont</code>·is711 the·token.·This·is·continued·until·a·token·has·been·scanned.·<code·class="inline">Cont</code>·is
712 initially·<code·class="inline">[]</code>.</p><p>It·is·not·designed·to·be·called·directly·by·an·application,·but·is712 initially·<code·class="inline">[]</code>.</p><p>It·is·not·designed·to·be·called·directly·by·an·application,·but·is
713 used·through·the·I/O·system·where·it·can·typically·be·called·in·an713 used·through·the·I/O·system·where·it·can·typically·be·called·in·an
714 application·by:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="9476487312-1">(</span><span·class="n">InFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9476487312-2">{</span><span·class="ss">get_until</span><span·class="p">,</span><span·class="ss">unicode</span><span·class="p">[·...·truncated·by·diffoscope;·len:·393,·SHA:·9d7029fb3e76b01d973c80c693b69742477ee15b8b5cc41ce8b5f03e23f54327·...·]-1">)</span><span·class="w">714 application·by:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="3580188453-1">(</span><span·class="n">InFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3580188453-2">{</span><span·class="ss">get_until</span><span·class="p">,</span><span·class="ss">unicode</span><span·class="p">[·...·truncated·by·diffoscope;·len:·393,·SHA:·7d6fa0f6947ccd0b1864a33afb8c7b27b3fccda6e72f4706a696545522e480f2·...·]-1">)</span><span·class="w">
715 ··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">TokenRet</span></code></pre>715 ··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">TokenRet</span></code></pre>
716 ··</section>716 ··</section>
717 </section>717 </section>
718 <section·class="detail"·id="tokens/2">718 <section·class="detail"·id="tokens/2">
  
719 ··<div·class="detail-header">719 ··<div·class="detail-header">
720 ····<a·href="#tokens/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">720 ····<a·href="#tokens/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 792, 15 lines modifiedOffset 792, 15 lines modified
792 scan·the·tokens.·This·is·continued·until·all·tokens·have·been792 scan·the·tokens.·This·is·continued·until·all·tokens·have·been
793 scanned.·<code·class="inline">Cont</code>·is·initially·<code·class="inline">[]</code>.</p><p>This·functions·differs·from·<code·class="inline">token</code>·in·that·it·will·continue·to·scan·tokens·up793 scanned.·<code·class="inline">Cont</code>·is·initially·<code·class="inline">[]</code>.</p><p>This·functions·differs·from·<code·class="inline">token</code>·in·that·it·will·continue·to·scan·tokens·up
794 to·and·including·an·<code·class="inline">{end_token,Token}</code>·has·been·scanned·(see·next·section).·It794 to·and·including·an·<code·class="inline">{end_token,Token}</code>·has·been·scanned·(see·next·section).·It
795 will·then·return·all·the·tokens.·This·is·typically·used·for·scanning·grammars795 will·then·return·all·the·tokens.·This·is·typically·used·for·scanning·grammars
796 like·Erlang·where·there·is·an·explicit·end·token,·<code·class="inline">'.'</code>.·If·no·end·token·is796 like·Erlang·where·there·is·an·explicit·end·token,·<code·class="inline">'.'</code>.·If·no·end·token·is
797 found·then·the·whole·file·will·be·scanned·and·returned.·If·an·error·occurs·then797 found·then·the·whole·file·will·be·scanned·and·returned.·If·an·error·occurs·then
798 all·tokens·up·to·and·including·the·next·end·token·will·be·skipped.</p><p>It·is·not·designed·to·be·called·directly·by·an·application,·but·used·through·the798 all·tokens·up·to·and·including·the·next·end·token·will·be·skipped.</p><p>It·is·not·designed·to·be·called·directly·by·an·application,·but·used·through·the
799 I/O·system·where·it·can·typically·be·called·in·an·application·by:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="1435947742-1">(</span><span·class="n">InFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1435947742-2">{</span><span·class="ss">get_until</span><span·class="p">,</span><span·class="ss">unicode</span><span·class="p">[·...·truncated·by·diffoscope;·len:·394,·SHA:·4af97679a0ce678ae5cd472fb9edfbf01544a5b93d382bb8c1bbfdb39eeb249e·...·]-1">)</span><span·class="w">799 I/O·system·where·it·can·typically·be·called·in·an·application·by:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">io</span><span·class="p">:</span><span·class="nf">request</span><span·class="p"·data-group-id="5784069037-1">(</span><span·class="n">InFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5784069037-2">{</span><span·class="ss">get_until</span><span·class="p">,</span><span·class="ss">unicode</span><span·class="p">[·...·truncated·by·diffoscope;·len:·394,·SHA:·9abd6a8c0064ae7b544abe169c82612c1d0bd6eae144c0888155ae71c01bcb81·...·]-1">)</span><span·class="w">
800 ··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">TokensRet</span></code></pre>800 ··</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">TokensRet</span></code></pre>
801 ··</section>801 ··</section>
802 </section>802 </section>
  
803 ····</div>803 ····</div>
804 ··</section>804 ··</section>
  
Offset 962, 15 lines modifiedOffset 962, 15 lines modified
962 ······<p·class="built-using">962 ······<p·class="built-using">
963 ········Built·using963 ········Built·using
964 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the964 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
965 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>965 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
966 ······</p>966 ······</p>
967 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>967 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
968 ····</footer>968 ····</footer>
969 ··</div>969 ··</div>
970 </main>970 </main>
971 </div>971 </div>
972 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>972 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
973 ··<script>973 ··<script>
974 ··let·initialized·=·false;974 ··let·initialized·=·false;
791 B
html2text {}
Max HTML report size reached
11.5 KB
./usr/share/doc/erlang-doc/html/lib/parsetools-2.7/doc/html/notes.html
    
Offset 133, 17 lines modifiedOffset 133, 17 lines modified
133 </h2>133 </h2>
134 <h3·id="improvements-and-new-features"·class="section-heading">134 <h3·id="improvements-and-new-features"·class="section-heading">
135 ··<a·href="#improvements-and-new-features"·class="hover-link">135 ··<a·href="#improvements-and-new-features"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Improvements·and·New·Features</span>138 ··<span·class="text">Improvements·and·New·Features</span>
139 </h3>139 </h3>
140 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="7154594204-1">(</span><span·class="p"·data-group-id="7154594204-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7154594204-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·537dafaff6e81084903109acc32fe277f5f28f8edf715a72095d73894bc09c20·...·]-2">)</span><span·class="p">.</span><span·class="w">140 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="1888594333-1">(</span><span·class="p"·data-group-id="1888594333-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1888594333-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·23965e48ba413c5ae0705a16628f0d0d6293a6be45df0c2036f69fb0c6e593cb·...·]-2">)</span><span·class="p">.</span><span·class="w">
141 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="7154594204-3">(</span><span·class="p"·data-group-id="7154594204-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7154594204-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·72faa3fd93b98fbcd453fb4fb05aac10044c904d473f5dea2cdeaba25f93649b·...·]-2">)</span><span·class="p">.</span><span·class="w">141 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="1888594333-3">(</span><span·class="p"·data-group-id="1888594333-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1888594333-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·a3888b3851f19db173e02f0e47c6a778ba37a943200d8bfa3426ce0033e249aa·...·]-2">)</span><span·class="p">.</span><span·class="w">
142 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="5483252731-3">(</span><span·class="p"·data-group-id="5483252731-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5483252731-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·ab6728e84e60b8f392587b27fca0f3a343e5a5dac6388862ca7d397842d7cf9d·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="parsetools-2-6"·class="section-heading">142 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="3209193477-3">(</span><span·class="p"·data-group-id="3209193477-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="3209193477-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·747e7e5ede68dd52584b4285dd0779e65d73aecc71948da8d1c0759f03626b80·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="parsetools-2-6"·class="section-heading">
143 ··<a·href="#parsetools-2-6"·class="hover-link">143 ··<a·href="#parsetools-2-6"·class="hover-link">
144 ····<i·class="ri-link-m"·aria-hidden="true"></i>144 ····<i·class="ri-link-m"·aria-hidden="true"></i>
145 ··</a>145 ··</a>
146 ··<span·class="text">Parsetools·2.6</span>146 ··<span·class="text">Parsetools·2.6</span>
147 </h2>147 </h2>
148 <h3·id="improvements-and-new-features-1"·class="section-heading">148 <h3·id="improvements-and-new-features-1"·class="section-heading">
149 ··<a·href="#improvements-and-new-features-1"·class="hover-link">149 ··<a·href="#improvements-and-new-features-1"·class="hover-link">
Offset 744, 15 lines modifiedOffset 744, 15 lines modified
744 ······<p·class="built-using">744 ······<p·class="built-using">
745 ········Built·using745 ········Built·using
746 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the746 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
747 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>747 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
748 ······</p>748 ······</p>
749 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>749 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
750 ····</footer>750 ····</footer>
751 ··</div>751 ··</div>
752 </main>752 </main>
753 </div>753 </div>
754 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>754 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
755 ··<script>755 ··<script>
756 ··let·initialized·=·false;756 ··let·initialized·=·false;
679 B
html2text {}
Max HTML report size reached
145 KB
./usr/share/doc/erlang-doc/html/lib/parsetools-2.7/doc/html/parsetools.epub
2.06 KB
zipinfo {}
Max HTML report size reached
68.7 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:14:52,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:53:02,·uncompressed·size·20,·method=store
49.2 KB
OEBPS/yecc.xhtml
Max HTML report size reached
10.1 KB
OEBPS/notes.xhtml
Max HTML report size reached
13.5 KB
OEBPS/leex.xhtml
Max HTML report size reached
1.21 KB
OEBPS/content.opf
1.17 KB
OEBPS/content.opf
Max HTML report size reached
1.28 KB
./usr/share/doc/erlang-doc/html/lib/parsetools-2.7/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
465 B
html2text {}
Max HTML report size reached
50.7 KB
./usr/share/doc/erlang-doc/html/lib/parsetools-2.7/doc/html/yecc.html
    
Offset 158, 16 lines modifiedOffset 158, 16 lines modified
158 <code·class="inline">{Category,·Position,·Symbol}</code>.</p><p>If·a·terminal·symbol·is·the·only·member·of·a·category,·and·the·symbol·name·is158 <code·class="inline">{Category,·Position,·Symbol}</code>.</p><p>If·a·terminal·symbol·is·the·only·member·of·a·category,·and·the·symbol·name·is
159 identical·to·the·category·name,·the·token·format·can·be·<code·class="inline">{Symbol,·Position}</code>.</p><p>A·list·of·tokens·produced·by·the·scanner·should·end·with·a·special159 identical·to·the·category·name,·the·token·format·can·be·<code·class="inline">{Symbol,·Position}</code>.</p><p>A·list·of·tokens·produced·by·the·scanner·should·end·with·a·special
160 <code·class="inline">end_of_input</code>·tuple·which·the·parser·is·looking·for.·The·format·of·this·tuple160 <code·class="inline">end_of_input</code>·tuple·which·the·parser·is·looking·for.·The·format·of·this·tuple
161 should·be·<code·class="inline">{Endsymbol,·EndPosition}</code>,·where·<code·class="inline">Endsymbol</code>·is·an·identifier·that·is161 should·be·<code·class="inline">{Endsymbol,·EndPosition}</code>,·where·<code·class="inline">Endsymbol</code>·is·an·identifier·that·is
162 distinguished·from·all·the·terminal·and·non-terminal·categories·of·the·syntax162 distinguished·from·all·the·terminal·and·non-terminal·categories·of·the·syntax
163 rules.·The·<code·class="inline">Endsymbol</code>·can·be·declared·in·the·grammar·file.</p><p>The·simplest·case·is·to·segment·the·input·string·into·a·list·of·identifiers163 rules.·The·<code·class="inline">Endsymbol</code>·can·be·declared·in·the·grammar·file.</p><p>The·simplest·case·is·to·segment·the·input·string·into·a·list·of·identifiers
164 (atoms)·and·use·those·atoms·both·as·categories·and·values·of·the·tokens.·For164 (atoms)·and·use·those·atoms·both·as·categories·and·values·of·the·tokens.·For
165 example,·the·input·string·<code·class="inline">aaa·bbb·777,·X</code>·may·be·scanned·(tokenized)·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5799472862-1">[</span><span·class="p"·data-group-id="5799472862-2">{</span><span·class="ss">aaa</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5799472862-2">}</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·1016,·SHA:·3819d7369bb802e616c8914c54df8fda7afa1b7475c3bbb9b78686b210a5872b·...·]-6">}</span><span·class="p">,</span><span·class="w">165 example,·the·input·string·<code·class="inline">aaa·bbb·777,·X</code>·may·be·scanned·(tokenized)·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6665628238-1">[</span><span·class="p"·data-group-id="6665628238-2">{</span><span·class="ss">aaa</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6665628238-2">}</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·1016,·SHA:·2a2c32f3b8be37396ce0b19d4ed2a39b1ac150763c0819d19b5618ed5c431b95·...·]-6">}</span><span·class="p">,</span><span·class="w">
166 ·</span><span·class="p"·data-group-id="5799472862-7">{</span><span·class="ss">&#39;$end&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5799472862-7">}</span><span·class="p"·data-group-id="5799472862-1">]</span><span·class="p">.</span></code></pre><p>This·assumes·that·this·is·the·first·line·of·the·input·text,·and·that·<code·class="inline">'$end'</code>·is166 ·</span><span·class="p"·data-group-id="6665628238-7">{</span><span·class="ss">&#39;$end&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6665628238-7">}</span><span·class="p"·data-group-id="6665628238-1">]</span><span·class="p">.</span></code></pre><p>This·assumes·that·this·is·the·first·line·of·the·input·text,·and·that·<code·class="inline">'$end'</code>·is
167 the·distinguished·<code·class="inline">end_of_input</code>·symbol.</p><p>The·Erlang·scanner·in·the·<code·class="inline">io</code>·module·can·be·used·as·a·starting·point·when167 the·distinguished·<code·class="inline">end_of_input</code>·symbol.</p><p>The·Erlang·scanner·in·the·<code·class="inline">io</code>·module·can·be·used·as·a·starting·point·when
168 writing·a·new·scanner.·Study·<code·class="inline">yeccscan.erl</code>·in·order·to·see·how·a·filter·can·be168 writing·a·new·scanner.·Study·<code·class="inline">yeccscan.erl</code>·in·order·to·see·how·a·filter·can·be
169 added·on·top·of·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#scan_erl_form/3"><code·class="inline">io:scan_erl_form/3</code></a>·to·provide·a·scanner·for·Yecc·that169 added·on·top·of·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#scan_erl_form/3"><code·class="inline">io:scan_erl_form/3</code></a>·to·provide·a·scanner·for·Yecc·that
170 tokenizes·grammar·files·before·parsing·them·with·the·Yecc·parser.·A·more·general170 tokenizes·grammar·files·before·parsing·them·with·the·Yecc·parser.·A·more·general
171 approach·to·scanner·implementation·is·to·use·a·scanner·generator·such·as171 approach·to·scanner·implementation·is·to·use·a·scanner·generator·such·as
172 <a·href="leex.html"><code·class="inline">leex</code></a>.</p><h2·id="module-grammar-definition-format"·class="section-heading">172 <a·href="leex.html"><code·class="inline">leex</code></a>.</p><h2·id="module-grammar-definition-format"·class="section-heading">
173 ··<a·href="#module-grammar-definition-format"·class="hover-link">173 ··<a·href="#module-grammar-definition-format"·class="hover-link">
Offset 229, 29 lines modifiedOffset 229, 29 lines modified
229 list·-&gt;·'('·')'.229 list·-&gt;·'('·')'.
230 list·-&gt;·'('·elements·')'.230 list·-&gt;·'('·elements·')'.
231 elements·-&gt;·element.231 elements·-&gt;·element.
232 elements·-&gt;·element·elements.232 elements·-&gt;·element·elements.
233 element·-&gt;·atom.233 element·-&gt;·atom.
234 element·-&gt;·list.</code></pre><p>This·grammar·can·be·used·to·generate·a·parser·which·parses·list·expressions,234 element·-&gt;·list.</code></pre><p>This·grammar·can·be·used·to·generate·a·parser·which·parses·list·expressions,
235 such·as·<code·class="inline">(),·(a),·(peter·charles),·(a·(b·c)·d·(())),·...</code>·provided·that·your235 such·as·<code·class="inline">(),·(a),·(peter·charles),·(a·(b·c)·d·(())),·...</code>·provided·that·your
236 scanner·tokenizes,·for·example,·the·input·<code·class="inline">(peter·charles)</code>·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6490083181-1">[</span><span·class="p"·data-group-id="6490083181-2">{</span><span·class="ss">&#39;(&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6490083181-2">}</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·920,·SHA:·8e472c9ca5e0c27bae45d48ebf09ed8d847ca1b094e51f5232ba1d933476256a·...·]-5">}</span><span·class="p">,</span><span·class="w">236 scanner·tokenizes,·for·example,·the·input·<code·class="inline">(peter·charles)</code>·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1521255450-1">[</span><span·class="p"·data-group-id="1521255450-2">{</span><span·class="ss">&#39;(&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="1521255450-2">}</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·920,·SHA:·d52d2b3a41eebc073981d9a1bcf4174224cd9b6fefddb295c212ea7ad1c92f20·...·]-5">}</span><span·class="p">,</span><span·class="w">
237 ·</span><span·class="p"·data-group-id="6490083181-6">{</span><span·class="ss">&#39;$end&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6490083181-6">}</span><span·class="p"·data-group-id="6490083181-1">]</span></code></pre><p>When·a·grammar·rule·is·used·by·the·parser·to·parse·(part·of)·the·input·string·as237 ·</span><span·class="p"·data-group-id="1521255450-6">{</span><span·class="ss">&#39;$end&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="1521255450-6">}</span><span·class="p"·data-group-id="1521255450-1">]</span></code></pre><p>When·a·grammar·rule·is·used·by·the·parser·to·parse·(part·of)·the·input·string·as
238 a·grammatical·phrase,·the·associated·code·is·evaluated,·and·the·value·of·the238 a·grammatical·phrase,·the·associated·code·is·evaluated,·and·the·value·of·the
239 last·expression·becomes·the·value·of·the·parsed·phrase.·This·value·may·be·used239 last·expression·becomes·the·value·of·the·parsed·phrase.·This·value·may·be·used
240 by·the·parser·later·to·build·structures·that·are·values·of·higher·phrases·of240 by·the·parser·later·to·build·structures·that·are·values·of·higher·phrases·of
241 which·the·current·phrase·is·a·part.·The·values·initially·associated·with241 which·the·current·phrase·is·a·part.·The·values·initially·associated·with
242 terminal·category·phrases,·i.e.·input·tokens,·are·the·token·tuples·themselves.</p><p>Below·is·an·example·of·the·grammar·above·with·structure·building·code·added:</p><pre><code·class="text">list·-&gt;·'('·')'·:·nil.242 terminal·category·phrases,·i.e.·input·tokens,·are·the·token·tuples·themselves.</p><p>Below·is·an·example·of·the·grammar·above·with·structure·building·code·added:</p><pre><code·class="text">list·-&gt;·'('·')'·:·nil.
243 list·-&gt;·'('·elements·')'·:·'$2'.243 list·-&gt;·'('·elements·')'·:·'$2'.
244 elements·-&gt;·element·:·{cons,·'$1',·nil}.244 elements·-&gt;·element·:·{cons,·'$1',·nil}.
245 elements·-&gt;·element·elements·:·{cons,·'$1',·'$2'}.245 elements·-&gt;·element·elements·:·{cons,·'$1',·'$2'}.
246 element·-&gt;·atom·:·'$1'.246 element·-&gt;·atom·:·'$1'.
247 element·-&gt;·list·:·'$1'.</code></pre><p>With·this·code·added·to·the·grammar·rules,·the·parser·produces·the·following247 element·-&gt;·list·:·'$1'.</code></pre><p>With·this·code·added·to·the·grammar·rules,·the·parser·produces·the·following
248 value·(structure)·when·parsing·the·input·string·<code·class="inline">(a·b·c).</code>.·This·still·assumes248 value·(structure)·when·parsing·the·input·string·<code·class="inline">(a·b·c).</code>.·This·still·assumes
249 that·this·was·the·first·input·line·that·the·scanner·tokenized:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9514342573-1">{</span><span·class="ss">cons</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9514342573-2">{</span><span·class="ss">atom</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·567,·SHA:·b0ade5e65b207a3dd7a062484e92c16382be7cd099f88d08576a5f0054752776·...·]-4">}</span><span·class="p">,</span><span·class="w">249 that·this·was·the·first·input·line·that·the·scanner·tokenized:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8181170387-1">{</span><span·class="ss">cons</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8181170387-2">{</span><span·class="ss">atom</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·567,·SHA:·a91f18f36f29e19266e623f077c26ec1061a32a1ec90db584760577135645dea·...·]-4">}</span><span·class="p">,</span><span·class="w">
250 ····························</span><span·class="p"·data-group-id="9514342573-5">{</span><span·class="ss">cons</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9514342573-6">{</span><span·class="ss">atom</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·344,·SHA:·f22b0a1d214cf586601f4715e7fd49eb2f106bec6674eceb945e1c2ada39bc63·...·]-1">}</span></code></pre><p>The·associated·code·contains·<code·class="inline">pseudo·variables</code>·<code·class="inline">'$1'</code>,·<code·class="inline">'$2'</code>,250 ····························</span><span·class="p"·data-group-id="8181170387-5">{</span><span·class="ss">cons</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8181170387-6">{</span><span·class="ss">atom</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·344,·SHA:·b8081827af978f795e6501d11cb4f37aec0bb82f7bcdb488759f52cffc84f5aa·...·]-1">}</span></code></pre><p>The·associated·code·contains·<code·class="inline">pseudo·variables</code>·<code·class="inline">'$1'</code>,·<code·class="inline">'$2'</code>,
251 <code·class="inline">'$3'</code>,·and·so·on.··which·refer·to·(are·bound·to)·the·values251 <code·class="inline">'$3'</code>,·and·so·on.··which·refer·to·(are·bound·to)·the·values
252 associated·previously·by·the·parser·with·the·symbols·of·the·right-hand252 associated·previously·by·the·parser·with·the·symbols·of·the·right-hand
253 side·of·the·rule.·When·these·symbols·are·terminal·categories,·the253 side·of·the·rule.·When·these·symbols·are·terminal·categories,·the
254 values·are·token·tuples·of·the·input·string·(see·above).</p><p>The·associated·code·may·not·only·be·used·to·build·structures254 values·are·token·tuples·of·the·input·string·(see·above).</p><p>The·associated·code·may·not·only·be·used·to·build·structures
255 associated·with·phrases,·but·may·also·be·used·for·syntactic·and255 associated·with·phrases,·but·may·also·be·used·for·syntactic·and
256 semantic·tests,·printout·actions·(for·example·for·tracing),·and·so·on256 semantic·tests,·printout·actions·(for·example·for·tracing),·and·so·on
257 during·the·parsing·process.·Since·tokens·contain·positional·(line257 during·the·parsing·process.·Since·tokens·contain·positional·(line
Offset 266, 37 lines modifiedOffset 266, 37 lines modified
266 element·-&gt;·atom·:·'$1'.266 element·-&gt;·atom·:·'$1'.
267 element·-&gt;·list·:·'$1'.</code></pre><h2·id="module-generating-a-parser"·class="section-heading">267 element·-&gt;·list·:·'$1'.</code></pre><h2·id="module-generating-a-parser"·class="section-heading">
268 ··<a·href="#module-generating-a-parser"·class="hover-link">268 ··<a·href="#module-generating-a-parser"·class="hover-link">
269 ····<i·class="ri-link-m"·aria-hidden="true"></i>269 ····<i·class="ri-link-m"·aria-hidden="true"></i>
270 ··</a>270 ··</a>
271 ··<span·class="text">Generating·a·Parser</span>271 ··<span·class="text">Generating·a·Parser</span>
272 </h2>272 </h2>
273 <p>To·call·the·parser·generator,·use·the·following·command:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">yecc</span><span·class="p">:</span><span·class="nf">file</span><span·class="p"·data-group-id="4177541053-1">(</span><span·class="n">Grammarfile</span><span·class="p"·data-group-id="4177541053-1">)</span><span·class="p">.</span></code></pre><p>An·error·message·from·Yecc·will·be·shown·if·the·grammar·is·not·of·the·LALR·type273 <p>To·call·the·parser·generator,·use·the·following·command:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">yecc</span><span·class="p">:</span><span·class="nf">file</span><span·class="p"·data-group-id="9994659857-1">(</span><span·class="n">Grammarfile</span><span·class="p"·data-group-id="9994659857-1">)</span><span·class="p">.</span></code></pre><p>An·error·message·from·Yecc·will·be·shown·if·the·grammar·is·not·of·the·LALR·type
274 (for·example·too·ambiguous).·Shift/reduce·conflicts·are·resolved·in·favor·of274 (for·example·too·ambiguous).·Shift/reduce·conflicts·are·resolved·in·favor·of
275 shifting·if·there·are·no·operator·precedence·declarations.·Refer·to·the·<code·class="inline">yacc</code>275 shifting·if·there·are·no·operator·precedence·declarations.·Refer·to·the·<code·class="inline">yacc</code>
276 documentation·on·the·use·of·operator·precedence.</p><p>The·output·file·contains·Erlang·source·code·for·a·parser·module·with·module·name276 documentation·on·the·use·of·operator·precedence.</p><p>The·output·file·contains·Erlang·source·code·for·a·parser·module·with·module·name
277 equal·to·the·<code·class="inline">Parserfile</code>·parameter.·After·compilation,·the·parser·can·be·called277 equal·to·the·<code·class="inline">Parserfile</code>·parameter.·After·compilation,·the·parser·can·be·called
278 as·follows·(the·module·name·is·assumed·to·be·<code·class="inline">myparser</code>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">myparser</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="0463814020-1">(</span><span·class="nc">myscanner</span><span·class="p">:</span><span·class="nf">scan</span><span·class="p"·data-group-id="0463814020-2">(</span><span·class="n">Inport</span><span·class="p"·data-group-id="0463814020-2">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·46bc22921bdd80ce3ab40242f0bf4461e425f542041b95083a99562daefb3ade·...·]-1">)</span></code></pre><p>The·call·format·can·be·different·if·a·customized·prologue·file·has·been·included278 as·follows·(the·module·name·is·assumed·to·be·<code·class="inline">myparser</code>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">myparser</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="5951788898-1">(</span><span·class="nc">myscanner</span><span·class="p">:</span><span·class="nf">scan</span><span·class="p"·data-group-id="5951788898-2">(</span><span·class="n">Inport</span><span·class="p"·data-group-id="5951788898-2">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·e821d3e190468137c5fec9e8729d2521c601a9b8cfe9787971284c71dc55832c·...·]-1">)</span></code></pre><p>The·call·format·can·be·different·if·a·customized·prologue·file·has·been·included
279 when·generating·the·parser·instead·of·the·default·file279 when·generating·the·parser·instead·of·the·default·file
280 <code·class="inline">lib/parsetools/include/yeccpre.hrl</code>.</p><p>With·the·standard·prologue,·this·call·will·return·either·<code·class="inline">{ok,·Result}</code>,·where280 <code·class="inline">lib/parsetools/include/yeccpre.hrl</code>.</p><p>With·the·standard·prologue,·this·call·will·return·either·<code·class="inline">{ok,·Result}</code>,·where
281 <code·class="inline">Result</code>·is·a·structure·that·the·Erlang·code·of·the·grammar·file·has·built,·or281 <code·class="inline">Result</code>·is·a·structure·that·the·Erlang·code·of·the·grammar·file·has·built,·or
282 <code·class="inline">{error,·{Position,·Module,·Message}}</code>·if·there·was·a·syntax·error·in·the·input.</p><p><code·class="inline">Message</code>·is·something·which·may·be·converted·into·a·string·by·calling282 <code·class="inline">{error,·{Position,·Module,·Message}}</code>·if·there·was·a·syntax·error·in·the·input.</p><p><code·class="inline">Message</code>·is·something·which·may·be·converted·into·a·string·by·calling
283 <code·class="inline">Module:format_error(Message)</code>·and·printed·with·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#format/3"><code·class="inline">io:format/3</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>By·default,·the·parser·that·was·generated·will·not·print·out·error·messages·to283 <code·class="inline">Module:format_error(Message)</code>·and·printed·with·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#format/3"><code·class="inline">io:format/3</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>By·default,·the·parser·that·was·generated·will·not·print·out·error·messages·to
284 the·screen.·The·user·will·have·to·do·this·either·by·printing·the·returned284 the·screen.·The·user·will·have·to·do·this·either·by·printing·the·returned
285 error·messages,·or·by·inserting·tests·and·print·instructions·in·the·Erlang285 error·messages,·or·by·inserting·tests·and·print·instructions·in·the·Erlang
286 code·associated·with·the·syntax·rules·of·the·grammar·file.</p></section><p>It·is·also·possible·to·make·the·parser·ask·for·more·input·tokens·when·needed·if286 code·associated·with·the·syntax·rules·of·the·grammar·file.</p></section><p>It·is·also·possible·to·make·the·parser·ask·for·more·input·tokens·when·needed·if
287 the·following·call·format·is·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">myparser</span><span·class="p">:</span><span·class="nf">parse_and_scan</span><span·class="p"·data-group-id="1964240200-1">(</span><span·class="p"·data-group-id="1964240200-2">{</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Args</span><span·class="p"·data-group-id="1964240200-2">}</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·cb16d98a93b481b4408e6a50e554ab4d579fe92214ac4430559f4550a47a87c6·...·]-1">)</span><span·class="w">287 the·following·call·format·is·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">myparser</span><span·class="p">:</span><span·class="nf">parse_and_scan</span><span·class="p"·data-group-id="5939619427-1">(</span><span·class="p"·data-group-id="5939619427-2">{</span><span·class="n">Function</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Args</span><span·class="p"·data-group-id="5939619427-2">}</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·983851a83603721bd23c97105b6054ed72093b5769a4e9b3d6fc3f02ff3540c7·...·]-1">)</span><span·class="w">
288 </span><span·class="nc">myparser</span><span·class="p">:</span><span·class="nf">parse_and_scan</span><span·class="p"·data-group-id="1964240200-3">(</span><span·class="p"·data-group-id="1964240200-4">{</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tokenizer</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Args</span>[·...·truncated·by·diffoscope;·len:·94,·SHA:·1fb3b6ab02371dd94906a17e1185e548e9f0f92a0d9f7d3a9f6ad2d7bf2af420·...·]-3">)</span></code></pre><p>The·tokenizer·<code·class="inline">Function</code>·is·either·a·fun·or·a·tuple·<code·class="inline">{Mod,·Tokenizer}</code>.·The·call288 </span><span·class="nc">myparser</span><span·class="p">:</span><span·class="nf">parse_and_scan</span><span·class="p"·data-group-id="5939619427-3">(</span><span·class="p"·data-group-id="5939619427-4">{</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tokenizer</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Args</span>[·...·truncated·by·diffoscope;·len:·94,·SHA:·90e019ca2bb8fadf10bc935e082292bb7bf0e8c715f9761969a0318c9d1050cb·...·]-3">)</span></code></pre><p>The·tokenizer·<code·class="inline">Function</code>·is·either·a·fun·or·a·tuple·<code·class="inline">{Mod,·Tokenizer}</code>.·The·call
289 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/2"><code·class="inline">apply(Function,·Args)</code></a>·or289 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/2"><code·class="inline">apply(Function,·Args)</code></a>·or
290 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/2"><code·class="inline">apply({Mod,·Tokenizer},·Args)</code></a>·is·executed·whenever·a·new·token·is290 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/2"><code·class="inline">apply({Mod,·Tokenizer},·Args)</code></a>·is·executed·whenever·a·new·token·is
291 needed.·This,·for·example,·makes·it·possible·to·parse·from·a·file,·token·by291 needed.·This,·for·example,·makes·it·possible·to·parse·from·a·file,·token·by
292 token.</p><p>The·tokenizer·used·above·has·to·be·implemented·so·as·to·return·one·of·the292 token.</p><p>The·tokenizer·used·above·has·to·be·implemented·so·as·to·return·one·of·the
293 following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6276068010-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tokens</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EndPosition</span><span·class="p"·data-group-id="6276068010-1">}</span><span·class="w">293 following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4091036172-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tokens</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EndPosition</span><span·class="p"·data-group-id="4091036172-1">}</span><span·class="w">
294 </span><span·class="p"·data-group-id="6276068010-2">{</span><span·class="ss">eof</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EndPosition</span><span·class="p"·data-group-id="6276068010-2">}</span><span·class="w">294 </span><span·class="p"·data-group-id="4091036172-2">{</span><span·class="ss">eof</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EndPosition</span><span·class="p"·data-group-id="4091036172-2">}</span><span·class="w">
295 </span><span·class="p"·data-group-id="6276068010-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Error_description</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EndPosition</span><span·class="p"·data-group-id="6276[·...·truncated·by·diffoscope;·len:·6,·SHA:·695cba12d88dfa34b259340f331d2eeaa712f0aa20cd5659905f17503b8f36ba·...·]-3">}</span></code></pre><p>This·conforms·to·the·format·used·by·the·scanner·in·the·Erlang·<code·class="inline">io</code>·library295 </span><span·class="p"·data-group-id="4091036172-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Error_description</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EndPosition</span><span·class="p"·data-group-id="4091[·...·truncated·by·diffoscope;·len:·6,·SHA:·4b275e44f9f9b2f5736831d980e2b32849a6dda158ec7179c516121140a1338a·...·]-3">}</span></code></pre><p>This·conforms·to·the·format·used·by·the·scanner·in·the·Erlang·<code·class="inline">io</code>·library
296 module.</p><p>If·<code·class="inline">{eof,·EndPosition}</code>·is·returned·immediately,·the·call·to·<code·class="inline">parse_and_scan/1</code>296 module.</p><p>If·<code·class="inline">{eof,·EndPosition}</code>·is·returned·immediately,·the·call·to·<code·class="inline">parse_and_scan/1</code>
297 returns·<code·class="inline">{ok,·eof}</code>.·If·<code·class="inline">{eof,·EndPosition}</code>·is·returned·before·the·parser297 returns·<code·class="inline">{ok,·eof}</code>.·If·<code·class="inline">{eof,·EndPosition}</code>·is·returned·before·the·parser
298 expects·end·of·input,·<code·class="inline">parse_and_scan/1</code>·will,·of·course,·return·an·error298 expects·end·of·input,·<code·class="inline">parse_and_scan/1</code>·will,·of·course,·return·an·error
299 message·(see·above).·Otherwise·<code·class="inline">{ok,·Result}</code>·is·returned.</p><h2·id="module-more-examples"·class="section-heading">299 message·(see·above).·Otherwise·<code·class="inline">{ok,·Result}</code>·is·returned.</p><h2·id="module-more-examples"·class="section-heading">
300 ··<a·href="#module-more-examples"·class="hover-link">300 ··<a·href="#module-more-examples"·class="hover-link">
301 ····<i·class="ri-link-m"·aria-hidden="true"></i>301 ····<i·class="ri-link-m"·aria-hidden="true"></i>
302 ··</a>302 ··</a>
Offset 338, 44 lines modifiedOffset 338, 44 lines modified
338 </span><span·class="n">Terminals</span><span·class="w">338 </span><span·class="n">Terminals</span><span·class="w">
339 </span><span·class="ss">atom</span><span·class="w">·</span><span·class="nb">float</span><span·class="w">·</span><span·class="ss">integer</span><span·class="w">·</span><span·class="ss">reserved_symbol</span><span·class="w">·</span><span·class="ss">reserved_word</span><span·class="w">·</span><span·class="ss">string</span><span·class="w">·</span><span·class="ss">char</span><span·class="w">·</span><span·class="ss">var</span><span·class="w">339 </span><span·class="ss">atom</span><span·class="w">·</span><span·class="nb">float</span><span·class="w">·</span><span·class="ss">integer</span><span·class="w">·</span><span·class="ss">reserved_symbol</span><span·class="w">·</span><span·class="ss">reserved_word</span><span·class="w">·</span><span·class="ss">string</span><span·class="w">·</span><span·class="ss">char</span><span·class="w">·</span><span·class="ss">var</span><span·class="w">
340 </span><span·class="ss">&#39;-&gt;&#39;</span><span·class="w">·</span><span·class="ss">&#39;:&#39;</span><span·class="w">·</span><span·class="ss">dot</span><span·class="p">.</span><span·class="w">340 </span><span·class="ss">&#39;-&gt;&#39;</span><span·class="w">·</span><span·class="ss">&#39;:&#39;</span><span·class="w">·</span><span·class="ss">dot</span><span·class="p">.</span><span·class="w">
341 </span><span·class="n">Rootsymbol</span><span·class="w">·</span><span·class="ss">grammar</span><span·class="p">.</span><span·class="w">341 </span><span·class="n">Rootsymbol</span><span·class="w">·</span><span·class="ss">grammar</span><span·class="p">.</span><span·class="w">
342 </span><span·class="n">Endsymbol</span><span·class="w">·</span><span·class="ss">&#39;$end&#39;</span><span·class="p">.</span><span·class="w">342 </span><span·class="n">Endsymbol</span><span·class="w">·</span><span·class="ss">&#39;$end&#39;</span><span·class="p">.</span><span·class="w">
343 </span><span·class="ss">grammar</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">declaration</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">343 </span><span·class="ss">grammar</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">declaration</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">
344 </span><span·class="ss">grammar</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">rule</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">344 </span><span·class="ss">grammar</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">rule</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">
345 </span><span·class="ss">declaration</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">symbol</span><span·class="w">·</span><span·class="ss">symbols</span><span·class="w">·</span><span·class="nc">dot</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9354462583-1">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="9354462583-1">}</span><span·class="p">.</span><span·class="w">345 </span><span·class="ss">declaration</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">symbol</span><span·class="w">·</span><span·class="ss">symbols</span><span·class="w">·</span><span·class="nc">dot</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7813371734-1">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="7813371734-1">}</span><span·class="p">.</span><span·class="w">
346 </span><span·class="ss">rule</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">head</span><span·class="w">·</span><span·class="ss">&#39;-&gt;&#39;</span><span·class="w">·</span><span·class="ss">symbols</span><span·class="w">·</span><span·class="ss">attached_code</span><span·class="w">·</span><span·class="nc">dot</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9354462583-2">{</span><span·class="ss">rule</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9354462583-3">[</span><span·class="ss">&#39;$1&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·80,·SHA:·6c31b53b0d39b64a789b99b707c78cca9a19da61544e37eadd8b2999d5c59700·...·]-3">]</span><span·class="p">,</span><span·class="w">346 </span><span·class="ss">rule</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">head</span><span·class="w">·</span><span·class="ss">&#39;-&gt;&#39;</span><span·class="w">·</span><span·class="ss">symbols</span><span·class="w">·</span><span·class="ss">attached_code</span><span·class="w">·</span><span·class="nc">dot</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7813371734-2">{</span><span·class="ss">rule</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7813371734-3">[</span><span·class="ss">&#39;$1&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·80,·SHA:·c59c0290045be73f3047c6141882a97ce26b29b220c4afb8acc7c51bdb668de8·...·]-3">]</span><span·class="p">,</span><span·class="w">
347 ········</span><span·class="ss">&#39;$4&#39;</span><span·class="p"·data-group-id="9354462583-2">}</span><span·class="p">.</span><span·class="w">347 ········</span><span·class="ss">&#39;$4&#39;</span><span·class="p"·data-group-id="7813371734-2">}</span><span·class="p">.</span><span·class="w">
348 </span><span·class="ss">head</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">symbol</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">348 </span><span·class="ss">head</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">symbol</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">
349 </span><span·class="ss">symbols</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">symbol</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9354462583-4">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9354462583-4">]</span><span·class="p">.</span><span·class="w">349 </span><span·class="ss">symbols</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">symbol</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7813371734-4">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="7813371734-4">]</span><span·class="p">.</span><span·class="w">
350 </span><span·class="ss">symbols</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">symbol</span><span·class="w">·</span><span·class="ss">symbols</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9354462583-5">[</span><span·class="ss">&#39;$1&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="9354462583-5">]</span><span·class="p">.</span><span·class="w">350 </span><span·class="ss">symbols</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">symbol</span><span·class="w">·</span><span·class="ss">symbols</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7813371734-5">[</span><span·class="ss">&#39;$1&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="7813371734-5">]</span><span·class="p">.</span><span·class="w">
351 </span><span·class="ss">attached_code</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">&#39;:&#39;</span><span·class="w">·</span><span·class="ss">tokens</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9354462583-6">{</span><span·class="ss">erlang_code</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="9354462583-6">}</span><span·class="p">.</span><span·class="w">351 </span><span·class="ss">attached_code</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">&#39;:&#39;</span><span·class="w">·</span><span·class="ss">tokens</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7813371734-6">{</span><span·class="ss">erlang_code</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="7813371734-6">}</span><span·class="p">.</span><span·class="w">
352 </span><span·class="ss">attached_code</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">&#39;$empty&#39;</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9354462583-7">{</span><span·class="ss">erlang_code</span><span·class="p">,</span><span·class="w">352 </span><span·class="ss">attached_code</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">&#39;$empty&#39;</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7813371734-7">{</span><span·class="ss">erlang_code</span><span·class="p">,</span><span·class="w">
353 ·················</span><span·class="p"·data-group-id="9354462583-8">[</span><span·class="p"·data-group-id="9354462583-9">{</span><span·class="ss">atom</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$undefined[·...·truncated·by·diffoscope;·len:·159,·SHA:·b026c2ba9850377ea1c8eedfdde155076bb495fbe9c779630f7caaffcf0d1c68·...·]-7">}</span><span·class="p">.</span><span·class="w">353 ·················</span><span·class="p"·data-group-id="7813371734-8">[</span><span·class="p"·data-group-id="7813371734-9">{</span><span·class="ss">atom</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$undefined[·...·truncated·by·diffoscope;·len:·159,·SHA:·3ce6ea6721b86a2177472716bc586dbf8e63b16195433816608f737bef4bd9c8·...·]-7">}</span><span·class="p">.</span><span·class="w">
354 </span><span·class="ss">tokens</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">token</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9354462583-10">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9354462583-10">]</span><span·class="p">.</span><span·class="w">354 </span><span·class="ss">tokens</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">token</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7813371734-10">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="7813371734-10">]</span><span·class="p">.</span><span·class="w">
355 </span><span·class="ss">tokens</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">token</span><span·class="w">·</span><span·class="ss">tokens</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9354462583-11">[</span><span·class="ss">&#39;$1&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="9354462583-11">]</span><span·class="p">.</span><span·class="w">355 </span><span·class="ss">tokens</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">token</span><span·class="w">·</span><span·class="ss">tokens</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7813371734-11">[</span><span·class="ss">&#39;$1&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="7813371734-11">]</span><span·class="p">.</span><span·class="w">
356 </span><span·class="ss">symbol</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">var</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">value_of</span><span·class="p"·data-group-id="9354462583-12">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9354462583-12">)</span><span·class="p">.</span><span·class="w">356 </span><span·class="ss">symbol</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">var</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">value_of</span><span·class="p"·data-group-id="7813371734-12">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="7813371734-12">)</span><span·class="p">.</span><span·class="w">
357 </span><span·class="ss">symbol</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">atom</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">value_of</span><span·class="p"·data-group-id="9354462583-13">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9354462583-13">)</span><span·class="p">.</span><span·class="w">357 </span><span·class="ss">symbol</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">atom</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">value_of</span><span·class="p"·data-group-id="7813371734-13">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="7813371734-13">)</span><span·class="p">.</span><span·class="w">
358 </span><span·class="ss">symbol</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">integer</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">value_of</span><span·class="p"·data-group-id="9354462583-14">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9354462583-14">)</span><span·class="p">.</span><span·class="w">358 </span><span·class="ss">symbol</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">integer</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">value_of</span><span·class="p"·data-group-id="7813371734-14">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="7813371734-14">)</span><span·class="p">.</span><span·class="w">
359 </span><span·class="ss">symbol</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">reserved_word</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">value_of</span><span·class="p"·data-group-id="9354462583-15">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9354462583-15">)</span><span·class="p">.</span><span·class="w">359 </span><span·class="ss">symbol</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">reserved_word</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">value_of</span><span·class="p"·data-group-id="7813371734-15">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="7813371734-15">)</span><span·class="p">.</span><span·class="w">
360 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">var</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">360 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">var</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">
361 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">atom</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">361 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">atom</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">
362 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nb">float</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">362 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nb">float</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">
363 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">integer</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">363 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">integer</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">
364 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">string</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">364 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">string</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">
365 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">char</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">365 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">char</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p">.</span><span·class="w">
366 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">reserved_symbol</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9354462583-16">{</span><span·class="nf">value_of</span><span·class="p"·data-group-id="9354462583-17">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9354462583-17">)</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·207,·SHA:·08e6b6e6bcc98c45b333eb23b6e4b46d3b2539405709bd88340243af09f031dd·...·]-16">}</span><span·class="p">.</span><span·class="w">366 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">reserved_symbol</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7813371734-16">{</span><span·class="nf">value_of</span><span·class="p"·data-group-id="7813371734-17">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="7813371734-17">)</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·207,·SHA:·1472250d690d8b8f2803ef19de62977860aea8e1d490b0fc0953d1867c31e0a2·...·]-16">}</span><span·class="p">.</span><span·class="w">
367 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">reserved_word</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9354462583-19">{</span><span·class="nf">value_of</span><span·class="p"·data-group-id="9354462583-20">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9354462583-20">)</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·207,·SHA:·90a04101d93694f329800b031132ac47a14b56f13a0865bfb849dd361dca7332·...·]-19">}</span><span·class="p">.</span><span·class="w">367 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">reserved_word</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7813371734-19">{</span><span·class="nf">value_of</span><span·class="p"·data-group-id="7813371734-20">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="7813371734-20">)</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·207,·SHA:·3e42fddaccbe5790298773ff871aec432c9e1db6cc59ca4ca485a5603d9285a0·...·]-19">}</span><span·class="p">.</span><span·class="w">
368 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">&#39;-&gt;&#39;</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9354462583-22">{</span><span·class="ss">&#39;-&gt;&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">line_of</span><span·class="p"·data-group-id="9354462583-23">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·70,·SHA:·190b46338518b338955ebce89b9ce125fb27268d7dfd2b3ff320428eeef15301·...·]-22">}</span><span·class="p">.</span><span·class="w">368 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">&#39;-&gt;&#39;</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7813371734-22">{</span><span·class="ss">&#39;-&gt;&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">line_of</span><span·class="p"·data-group-id="7813371734-23">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·70,·SHA:·456b91c4d7178100e9a81c462219a4418175043905637247d74cb4ea458340f9·...·]-22">}</span><span·class="p">.</span><span·class="w">
369 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">&#39;:&#39;</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9354462583-24">{</span><span·class="ss">&#39;:&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">line_of</span><span·class="p"·data-group-id="9354462583-25">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·c43690021a6f165a17b1b617b682cb7fc19656be693645f221b0a1b71d6768b1·...·]-24">}</span><span·class="p">.</span><span·class="w">369 </span><span·class="ss">token</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">&#39;:&#39;</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7813371734-24">{</span><span·class="ss">&#39;:&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">line_of</span><span·class="p"·data-group-id="7813371734-25">(</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·66,·SHA:·b82e015803568709ac261369fef4f71900c6eb3c894de3bcdcd34343e786888c·...·]-24">}</span><span·class="p">.</span><span·class="w">
370 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="ss">code</span><span·class="p">.</span><span·class="w">370 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="ss">code</span><span·class="p">.</span><span·class="w">
371 </span><span·class="nf">value_of</span><span·class="p"·data-group-id="9354462583-26">(</span><span·class="n">Token</span><span·class="p"·data-group-id="9354462583-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">371 </span><span·class="nf">value_of</span><span·class="p"·data-group-id="7813371734-26">(</span><span·class="n">Token</span><span·class="p"·data-group-id="7813371734-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
372 ····</span><span·class="nf">element</span><span·class="p"·data-group-id="9354462583-27">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Token</span><span·class="p"·data-group-id="9354462583-27">)</span><span·class="p">.</span><span·class="w">372 ····</span><span·class="nf">element</span><span·class="p"·data-group-id="7813371734-27">(</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Token</span><span·class="p"·data-group-id="7813371734-27">)</span><span·class="p">.</span><span·class="w">
373 </span><span·class="nf">line_of</span><span·class="p"·data-group-id="9354462583-28">(</span><span·class="n">Token</span><span·class="p"·data-group-id="9354462583-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">373 </span><span·class="nf">line_of</span><span·class="p"·data-group-id="7813371734-28">(</span><span·class="n">Token</span><span·class="p"·data-group-id="7813371734-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
374 ····</span><span·class="nf">element</span><span·class="p"·data-group-id="9354462583-29">(</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Token</span><span·class="p"·data-group-id="9354462583-29">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·symbols·<code·class="inline">'-&gt;'</code>,·and·<code·class="inline">':'</code>·have·to·be·treated·in·a·special·way,·as·they·are374 ····</span><span·class="nf">element</span><span·class="p"·data-group-id="7813371734-29">(</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Token</span><span·class="p"·data-group-id="7813371734-29">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·symbols·<code·class="inline">'-&gt;'</code>,·and·<code·class="inline">':'</code>·have·to·be·treated·in·a·special·way,·as·they·are
375 meta·symbols·of·the·grammar·notation,·as·well·as·terminal·symbols·of·the·Yecc375 meta·symbols·of·the·grammar·notation,·as·well·as·terminal·symbols·of·the·Yecc
376 grammar.</p></section><p>5.·The·file·<code·class="inline">erl_parse.yrl</code>·in·the·<code·class="inline">lib/stdlib/src</code>·directory·contains·the376 grammar.</p></section><p>5.·The·file·<code·class="inline">erl_parse.yrl</code>·in·the·<code·class="inline">lib/stdlib/src</code>·directory·contains·the
377 grammar·for·Erlang.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Syntactic·tests·are·used·in·the·code·associated·with·some·rules,·and·an·error377 grammar·for·Erlang.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Syntactic·tests·are·used·in·the·code·associated·with·some·rules,·and·an·error
378 is·thrown·(and·caught·by·the·generated·parser·to·produce·an·error·message)378 is·thrown·(and·caught·by·the·generated·parser·to·produce·an·error·message)
379 when·a·test·fails.·The·same·effect·can·be·achieved·with·a·call·to379 when·a·test·fails.·The·same·effect·can·be·achieved·with·a·call·to
Max diff block lines reached; 821/51093 bytes (1.61%) of diff not shown.
652 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/api-reference.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
187 ····</footer>187 ····</footer>
188 ··</div>188 ··</div>
189 </main>189 </main>
190 </div>190 </div>
191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
192 ··<script>192 ··<script>
193 ··let·initialized·=·false;193 ··let·initialized·=·false;
689 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/notes.html
    
Offset 1499, 15 lines modifiedOffset 1499, 15 lines modified
1499 ······<p·class="built-using">1499 ······<p·class="built-using">
1500 ········Built·using1500 ········Built·using
1501 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1501 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1502 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1502 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1503 ······</p>1503 ······</p>
1504 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1504 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1505 ····</footer>1505 ····</footer>
1506 ··</div>1506 ··</div>
1507 </main>1507 </main>
1508 </div>1508 </div>
1509 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1509 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1510 ··<script>1510 ··<script>
1511 ··let·initialized·=·false;1511 ··let·initialized·=·false;
704 B
html2text {}
Max HTML report size reached
435 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/public_key.epub
2.42 KB
zipinfo {}
Max HTML report size reached
82.1 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:16:00,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:54:06,·uncompressed·size·20,·method=store
207 KB
OEBPS/using_public_key.xhtml
Max HTML report size reached
95.7 KB
OEBPS/public_key_records.xhtml
Max HTML report size reached
46.0 KB
OEBPS/public_key.xhtml
Max HTML report size reached
1.25 KB
OEBPS/content.opf
1.22 KB
OEBPS/content.opf
Max HTML report size reached
47.5 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/public_key.html
    
Offset 2642, 30 lines modifiedOffset 2642, 30 lines modified
2642 certificates·include·policies·the·constrained·policy·set·with2642 certificates·include·policies·the·constrained·policy·set·with
2643 potential·qualifiers·will·be·returned,·these·values·are·derived·from2643 potential·qualifiers·will·be·returned,·these·values·are·derived·from
2644 the·policy·tree·created·as·part·of·the·path·validation·algorithm.·The2644 the·policy·tree·created·as·part·of·the·path·validation·algorithm.·The
2645 constrained·set·can·be·constrained·only·by·the·Certificate·Authorities2645 constrained·set·can·be·constrained·only·by·the·Certificate·Authorities
2646 or·also·by·the·user·when·the·option·<code·class="inline">policy_set</code>·is·provided·to·this2646 or·also·by·the·user·when·the·option·<code·class="inline">policy_set</code>·is·provided·to·this
2647 function.·The·qualifiers·convey·information·about·the·valid·policy·and2647 function.·The·qualifiers·convey·information·about·the·valid·policy·and
2648 is·intended·as·information·to·end·users.</p><p>Available·options:</p><ul><li><p><strong>{verify_fun,·{fun(),·UserState::term()}</strong>·-·The·fun·must·be2648 is·intended·as·information·to·end·users.</p><p>Available·options:</p><ul><li><p><strong>{verify_fun,·{fun(),·UserState::term()}</strong>·-·The·fun·must·be
2649 defined·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="1051155964-1">(</span><span·class="n">OtpCert</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;OTPCertificate&#39;</span><span·class="p"·data-group-id="1051155[·...·truncated·by·diffoscope;·len:·55,·SHA:·ab7db62600fcdb3ff3e78327475ac3a57f3477f5273ed5193e8196ee4dedfdba·...·]4-2">}</span><span·class="p">,</span><span·class="w">2649 defined·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="1022298514-1">(</span><span·class="n">OtpCert</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;OTPCertificate&#39;</span><span·class="p"·data-group-id="1022298[·...·truncated·by·diffoscope;·len:·55,·SHA:·da6d1f74859f922cd46a7af2608975bea1d3fb04b2d8e38ce28a99034a7e1863·...·]4-2">}</span><span·class="p">,</span><span·class="w">
2650 ····</span><span·class="n">Event</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="1051155964-3">{</span><span·class="ss">bad_cert</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">bad_cert_reaso[·...·truncated·by·diffoscope;·len:·545,·SHA:·91f168ada878a545eed267f5844023245932ac7e2534c03806dd676a26594559·...·]4-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2650 ····</span><span·class="n">Event</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="1022298514-3">{</span><span·class="ss">bad_cert</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">bad_cert_reaso[·...·truncated·by·diffoscope;·len:·545,·SHA:·e5ecbf0552701bb0fa1f851ba5fefd6d3e75a8440c7441c0b8d83567734b134c·...·]4-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2651 ·············</span><span·class="p"·data-group-id="1051155964-7">{</span><span·class="ss">extension</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="1051155964-8">{</span><span·class="p"·data-group-id="1051[·...·truncated·by·diffoscope;·len:·58,·SHA:·b3c14713a63584a14b349c4c6c855236bf9470bd94522e30fca9b472d5b8fae3·...·]4-7">}</span><span·class="p">,</span><span·class="w">2651 ·············</span><span·class="p"·data-group-id="1022298514-7">{</span><span·class="ss">extension</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="1022298514-8">{</span><span·class="p"·data-group-id="1022[·...·truncated·by·diffoscope;·len:·58,·SHA:·780f6cd355b1be424d7675198ec819e6c7b277906a210a01110736104715eb64·...·]4-7">}</span><span·class="p">,</span><span·class="w">
2652 ····</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="1051155964-9">(</span><span·class="p"·data-group-id="1051155964-9">)</span><span·class="p"·data-group-id="1051155964-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2652 ····</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="1022298514-9">(</span><span·class="p"·data-group-id="1022298514-9">)</span><span·class="p"·data-group-id="1022298514-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2653 ··</span><span·class="p"·data-group-id="1051155964-10">{</span><span·class="ss">valid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><s[·...·truncated·by·diffoscope;·len:·146,·SHA:·df6cc15878145cbc22fd0f8795e1970710b2a0829caffde59c67d958fa3682a6·...·]4-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2653 ··</span><span·class="p"·data-group-id="1022298514-10">{</span><span·class="ss">valid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><s[·...·truncated·by·diffoscope;·len:·146,·SHA:·79726d1dc3e981f0173ee28410561995637421d02f9ea72535fc6d7cd3e04fe6·...·]4-10">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2654 ··</span><span·class="p"·data-group-id="1051155964-12">{</span><span·class="ss">valid_peer</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</sp[·...·truncated·by·diffoscope;·len:·151,·SHA:·f4ecbb8f1d883c6d6f65eba715a49ca81d0e2032aa990b2a594c6c2ceb0f92e0·...·]4-12">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2654 ··</span><span·class="p"·data-group-id="1022298514-12">{</span><span·class="ss">valid_peer</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</sp[·...·truncated·by·diffoscope;·len:·151,·SHA:·823cc63c7c99d354285a8e1c12ef133db44d474380b2bd2cba584f5d8d6d36d8·...·]4-12">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2655 ··</span><span·class="p"·data-group-id="1051155964-14">{</span><span·class="ss">fail</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·[·...·truncated·by·diffoscope;·len:·142,·SHA:·2701e0e4539f2a0356c8cf9da588bfa9af97222a9aa704d587fa8c1d03ec2791·...·]4-14">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2655 ··</span><span·class="p"·data-group-id="1022298514-14">{</span><span·class="ss">fail</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·[·...·truncated·by·diffoscope;·len:·142,·SHA:·a32db8443167b820451eb42e5a6f8f872d5afd3b3e1a517ace92b98f6c56aef9·...·]4-14">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2656 ··</span><span·class="p"·data-group-id="1051155964-16">{</span><span·class="ss">unknown</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span>[·...·truncated·by·diffoscope;·len:·632,·SHA:·66f595baa5f1ff8ecfcb36709b04c57d6631b18190fdd4aa45e6777b6106a95e·...·]-2">}</span><span·class="p">,</span><span·class="w">2656 ··</span><span·class="p"·data-group-id="1022298514-16">{</span><span·class="ss">unknown</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span>[·...·truncated·by·diffoscope;·len:·632,·SHA:·46496815406ecbafa5c5a346cab8e6711d579e6710e232da7ade0a55b83d16c5·...·]-2">}</span><span·class="p">,</span><span·class="w">
2657 ····</span><span·class="n">DerCert</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">der_encoded</span><span·class="p"·data-group-id="7546268916-3">(</span><span·class="p"·data-group-id="7546268916-3">)</span><span·class="p">,</span><span·class="w">2657 ····</span><span·class="n">DerCert</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">der_encoded</span><span·class="p"·data-group-id="0132854773-3">(</span><span·class="p"·data-group-id="0132854773-3">)</span><span·class="p">,</span><span·class="w">
2658 ····</span><span·class="n">Event</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7546268916-4">{</span><span·class="ss">bad_cert</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">bad_cert_rea[·...·truncated·by·diffoscope;·len:·548,·SHA:·1188ff2a8022536382cac7be04a39c8741abf3649d0be6618185c1ab12280739·...·]-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2658 ····</span><span·class="n">Event</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="0132854773-4">{</span><span·class="ss">bad_cert</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">bad_cert_rea[·...·truncated·by·diffoscope;·len:·548,·SHA:·9349c5aef19e1e730ae1cd9ce4fe3b9f68b3b3c7983fbfa5ca43375317496649·...·]-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2659 ·············</span><span·class="p"·data-group-id="7546268916-8">{</span><span·class="ss">extension</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="7546268916-9">{</span><span·class="p"·data-group-id="75[·...·truncated·by·diffoscope;·len:·61,·SHA:·e8a282de1d7a239485756a5d7fab3a253768a56243e4ea775812be4de6eca5c4·...·]-8">}</span><span·class="p">,</span><span·class="w">2659 ·············</span><span·class="p"·data-group-id="0132854773-8">{</span><span·class="ss">extension</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="0132854773-9">{</span><span·class="p"·data-group-id="01[·...·truncated·by·diffoscope;·len:·61,·SHA:·1e8bdb0bffa843bee1e5f7420f5bdd7b53ffa155245e9243abd6aa4a10032453·...·]-8">}</span><span·class="p">,</span><span·class="w">
2660 ····</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="7546268916-10">(</span><span·class="p"·data-group-id="7546268916-10">)</span><span·class="p"·data-group-id="7546268916-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2660 ····</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="0132854773-10">(</span><span·class="p"·data-group-id="0132854773-10">)</span><span·class="p"·data-group-id="0132854773-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2661 ··</span><span·class="p"·data-group-id="7546268916-11">{</span><span·class="ss">valid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span>[·...·truncated·by·diffoscope;·len:·149,·SHA:·e6f0cbdb9e0f334c80958a1055f5fa69e8f083b591a81304482e74193ce7410f·...·]-11">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2661 ··</span><span·class="p"·data-group-id="0132854773-11">{</span><span·class="ss">valid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span>[·...·truncated·by·diffoscope;·len:·149,·SHA:·974a923890f6576bf97ef11ffa7e8d94542b37936c76b862ee993bbae4942368·...·]-11">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2662 ··</span><span·class="p"·data-group-id="7546268916-13">{</span><span·class="ss">valid_peer</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</[·...·truncated·by·diffoscope;·len:·154,·SHA:·929d517dc3c16e86445ee39e2c1486ffd21c30d79aa8e565fe7ba4dadd683a8a·...·]-13">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2662 ··</span><span·class="p"·data-group-id="0132854773-13">{</span><span·class="ss">valid_peer</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</[·...·truncated·by·diffoscope;·len:·154,·SHA:·f61051a7cbdfe5d0770d0b4917f6be4f28c380ce9e02895af484ed6da1d02aaa·...·]-13">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2663 ··</span><span·class="p"·data-group-id="7546268916-15">{</span><span·class="ss">fail</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><spa[·...·truncated·by·diffoscope;·len:·145,·SHA:·07b454086c77afc10fc17f80a529010366ee15bacf9380d1691e74f07380a8e2·...·]-15">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2663 ··</span><span·class="p"·data-group-id="0132854773-15">{</span><span·class="ss">fail</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><spa[·...·truncated·by·diffoscope;·len:·145,·SHA:·20ef61ed8a898d1ec109e1b911662d360048a6df1e93438fa8db41a87a7575ff·...·]-15">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2664 ··</span><span·class="p"·data-group-id="7546268916-17">{</span><span·class="ss">unknown</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</spa[·...·truncated·by·diffoscope;·len:·151,·SHA:·98060ca1b8cffc80c9a612115626f29ab784ea6bd281525a732594603365cd31·...·]-17">}</span><span·class="p">.</span></code></pre><p>The·verify·callback·can·have·3·or·4·arguments·in·case·the·DER·encoded2664 ··</span><span·class="p"·data-group-id="0132854773-17">{</span><span·class="ss">unknown</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</spa[·...·truncated·by·diffoscope;·len:·151,·SHA:·0ef11ed2f238d6afed1b8a6b1ef4804814a00a813479b64e5b67599075036a31·...·]-17">}</span><span·class="p">.</span></code></pre><p>The·verify·callback·can·have·3·or·4·arguments·in·case·the·DER·encoded
2665 version·is·needed·by·the·callback.</p><p>If·the·verify·callback·fun·returns·<code·class="inline">{fail,·Reason}</code>,·the·verification·process2665 version·is·needed·by·the·callback.</p><p>If·the·verify·callback·fun·returns·<code·class="inline">{fail,·Reason}</code>,·the·verification·process
2666 is·immediately·stopped.·If·the·verify·callback·fun·returns2666 is·immediately·stopped.·If·the·verify·callback·fun·returns
2667 <code·class="inline">{valid,·UserState}</code>,·the·verification·process·is·continued.·This·can·be·used2667 <code·class="inline">{valid,·UserState}</code>,·the·verification·process·is·continued.·This·can·be·used
2668 to·accept·specific·path·validation·errors,·such·as·<code·class="inline">selfsigned_peer</code>,·as·well2668 to·accept·specific·path·validation·errors,·such·as·<code·class="inline">selfsigned_peer</code>,·as·well
2669 as·verifying·application-specific·extensions.·If·called·with·an·extension2669 as·verifying·application-specific·extensions.·If·called·with·an·extension
2670 unknown·to·the·user·application,·the·return·value·<code·class="inline">{unknown,·UserState}</code>·is·to2670 unknown·to·the·user·application,·the·return·value·<code·class="inline">{unknown,·UserState}</code>·is·to
2671 be·used.</p><blockquote><h4·class="note">Note</h4><p>If·you·need·the·DER·encoded·version·of·the·certificate·and·have2671 be·used.</p><blockquote><h4·class="note">Note</h4><p>If·you·need·the·DER·encoded·version·of·the·certificate·and·have
Offset 2821, 17 lines modifiedOffset 2821, 17 lines modified
2821 certificate·is·in·agreement·with·at·least·one·of·the·<em>Reference·Identifier</em>·that2821 certificate·is·in·agreement·with·at·least·one·of·the·<em>Reference·Identifier</em>·that
2822 the·client·expects·to·be·connected·to.</p><p>The·function·is·intended·to·be·added·as·an·extra·client·check·of·the2822 the·client·expects·to·be·connected·to.</p><p>The·function·is·intended·to·be·added·as·an·extra·client·check·of·the
2823 peer·certificate·when·performing2823 peer·certificate·when·performing
2824 <a·href="#pkix_path_validation/3">public_key:pkix_path_validation/3</a></p><p>See·<a·href="https://tools.ietf.org/html/rfc6125">RFC·6125</a>·for·detailed·information2824 <a·href="#pkix_path_validation/3">public_key:pkix_path_validation/3</a></p><p>See·<a·href="https://tools.ietf.org/html/rfc6125">RFC·6125</a>·for·detailed·information
2825 about·hostname·verification.·The2825 about·hostname·verification.·The
2826 <a·href="using_public_key.html#verify_hostname">User's·Guide</a>·and2826 <a·href="using_public_key.html#verify_hostname">User's·Guide</a>·and
2827 <a·href="using_public_key.html#verify_hostname_examples">code·examples</a>·describes·this2827 <a·href="using_public_key.html#verify_hostname_examples">code·examples</a>·describes·this
2828 function·more·detailed.</p><p>The·option·funs·are·described·here:</p><ul><li><p><strong><code·class="inline">match_fun</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="7288097168-1">(</span><span·class="n">ReferenceId</span><span·class="p">:</span><span·class="p">:</span><span·class="n">ReferenceId</span><span·class="p"·data-group-id="7288097168-2">(</span><span·class="p"·data-group-id="7288097168-2">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">FQDN</span><span·class="p">:</span><span·class="p">:</span><span·class="nf">string</span><span·class="p"·data-group-id="7288097168-3">(</span><span·class="p"·data-group-id="7288097168-3">)</span><span·class="p">,</span><span·class="w"> 
2829 ····</span><span·class="n">PresentedId</span><span·class="p">:</span><span·class="p">:</span><span·class="p"·data-group-id="7288097168-4">{</span><span·class="ss">dNSName</span><span·class="p">,</span><span·class="nf">string</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·509,·SHA:·087c11b75c29602ab8e52b9d8ff0a30e40801854863bb677385cde2f4c0d8243·...·]</span><span·class="w">2828 function·more·detailed.</p><p>The·option·funs·are·described·here:</p><ul><li><p><strong><code·class="inline">match_fun</code></strong></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="1261712130-1[·...·truncated·by·diffoscope;·len:·532,·SHA:·cba0a7ad98b91b616bd859bb5b4bf92fc777a061165ae37f012073f3bd340e42·...·]</span><span·class="w">
 2829 ····</span><span·class="n">PresentedId</span><span·class="p">:</span><span·class="p">:</span><span·class="p"·data-group-id="1261712130-4">{</span><span·class="ss">dNSName</span><span·class="p">,</span><span·class="nf">string</span><span·class="p"·data-group-id="1261712130-5">(</span><span·class="p"·data-group-id="1261712130-5">)</span><span·class="p"·data-group-id="1261712130-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="1261712130-6">{</span><span·class="ss">uniformResourceIdentifier</span><span·class="p">,</span><span·class="nf">string</span><span·class="p"·data-group-id="1261712130-7">(</span><span·class="p"·data-group-id="1261712130-7">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2830 ·················</span><span·class="p"·data-group-id="7288097168-8">{</span><span·class="ss">iPAddress</span><span·class="p">,</span><span·class="nf">list</span><span·class="p"·data-group-id="7288097168-9">(</span><span·class="nf">byte</span><span·class="p"·data-group-id="7288097168-10">(</span><span·class="p[·...·truncated·by·diffoscope;·len:·953,·SHA:·fd97c185b4fcfe89202807617540edc99662b45b150af29fcf553a32a397c5d1·...·]-1">)</span></code></pre><p>This·function·replaces·the·default·host·name·matching·rules.·The·fun·should2830 ·················</span><span·class="p"·data-group-id="1261712130-8">{</span><span·class="ss">iPAddress</span><span·class="p">,</span><span·class="nf">list</span><span·class="p"·data-group-id="1261712130-9">(</span><span·class="nf">byte</span><span·class="p"·data-group-id="1261712130-10">(</span><span·class="p[·...·truncated·by·diffoscope;·len:·953,·SHA:·1ec36e38fc20edbdea72227ffafa833a98c991c498896240ec501642b740dba6·...·]-1">)</span></code></pre><p>This·function·replaces·the·default·host·name·matching·rules.·The·fun·should
2831 return·a·boolean·to·tell·if·the·Reference·ID·and·Presented·ID·matches·or·not.2831 return·a·boolean·to·tell·if·the·Reference·ID·and·Presented·ID·matches·or·not.
2832 The·match·fun·can·also·return·a·third·value,·value,·the·atom·<code·class="inline">default</code>,·if·the2832 The·match·fun·can·also·return·a·third·value,·value,·the·atom·<code·class="inline">default</code>,·if·the
2833 default·matching·rules·shall·apply.·This·makes·it·possible·to·augment·the2833 default·matching·rules·shall·apply.·This·makes·it·possible·to·augment·the
2834 tests·with·a·special·case:</p><pre><code·class="text">fun(....)·-&gt;·true;···%·My·special·case2834 tests·with·a·special·case:</p><pre><code·class="text">fun(....)·-&gt;·true;···%·My·special·case
2835 ···(_,·_)·-&gt;·default·%·all·others·falls·back·to·the·inherit·tests2835 ···(_,·_)·-&gt;·default·%·all·others·falls·back·to·the·inherit·tests
2836 end</code></pre><p>See·<a·href="#pkix_verify_hostname_match_fun/1"><code·class="inline">pkix_verify_hostname_match_fun/1</code></a>·for·a·function·that·takes·a·protocol2836 end</code></pre><p>See·<a·href="#pkix_verify_hostname_match_fun/1"><code·class="inline">pkix_verify_hostname_match_fun/1</code></a>·for·a·function·that·takes·a·protocol
2837 name·as·argument·and·returns·a·<code·class="inline">fun/2</code>·suitable·for·this·option·and2837 name·as·argument·and·returns·a·<code·class="inline">fun/2</code>·suitable·for·this·option·and
Offset 3015, 22 lines modifiedOffset 3015, 22 lines modified
3015 ····································revocation_status_undetermined·|3015 ····································revocation_status_undetermined·|
3016 ····································{revocation_status_undetermined,·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}·|3016 ····································{revocation_status_undetermined,·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()}·|
3017 ····································{revoked,·<a·href="#t:crl_reason/0">crl_reason</a>()}.</pre>3017 ····································{revoked,·<a·href="#t:crl_reason/0">crl_reason</a>()}.</pre>
  
3018 ······</div>3018 ······</div>
  
3019 <p>Performs·CRL·validation.·It·is·intended·to·be·called·from·the·verify·fun·of3019 <p>Performs·CRL·validation.·It·is·intended·to·be·called·from·the·verify·fun·of
3020 <a·href="#pkix_path_validation/3">pkix_path_validation/3·</a>.</p><p>Available·options:</p><ul><li><p><strong>{update_crl,·fun()}</strong>·-·The·fun·has·the·following·type·specification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="9842572000-1">(</span><span·class="o">#</span><span·class="ss">&#39;DistributionPoint&#39;</span><span·class="p"·data-group-id="9842572000-2">{</span><span·class="p"·data-group-id="9842572000-2">}</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·215,·SHA:·bb8efd8d9c595fbba26de337c3700334d256c3d7f8ec4f48273af79724cc9379·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">3020 <a·href="#pkix_path_validation/3">pkix_path_validation/3·</a>.</p><p>Available·options:</p><ul><li><p><strong>{update_crl,·fun()}</strong>·-·The·fun·has·the·following·type·specification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="0764086051-1">(</span><span·class="o">#</span><span·class="ss">&#39;DistributionPoint&#39;</span><span·class="p"·data-group-id="0764086051-2">{</span><span·class="p"·data-group-id="0764086051-2">}</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·215,·SHA:·f0db94aacc0e2a4695701dddf5457bc763537a83054f2c46064e6b5e7f4192d2·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
3021 ········</span><span·class="o">#</span><span·class="ss">&#39;CertificateList&#39;</span><span·class="p"·data-group-id="9842572000-4">{</span><span·class="p"·data-group-id="9842572000-4">}</span></code></pre><p>The·fun·uses·the·information·in·the·distribution·point·to·access·the·latest3021 ········</span><span·class="o">#</span><span·class="ss">&#39;CertificateList&#39;</span><span·class="p"·data-group-id="0764086051-4">{</span><span·class="p"·data-group-id="0764086051-4">}</span></code></pre><p>The·fun·uses·the·information·in·the·distribution·point·to·access·the·latest
3022 possible·version·of·the·CRL.·If·this·fun·is·not·specified,·Public·Key·uses·the3022 possible·version·of·the·CRL.·If·this·fun·is·not·specified,·Public·Key·uses·the
3023 default·implementation:</p><pre><code·class="text">·fun(_DP,·CRL)·-&gt;·CRL·end</code></pre></li><li><p><strong>{issuer_fun,·{fun(),·UserState::term()}}</strong>·-·The·fun·has·the·following·type3023 default·implementation:</p><pre><code·class="text">·fun(_DP,·CRL)·-&gt;·CRL·end</code></pre></li><li><p><strong>{issuer_fun,·{fun(),·UserState::term()}}</strong>·-·The·fun·has·the·following·type
3024 specification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="3316867701-1">(</span><span·class="o">#</span><span·class="ss">&#39;DistributionPoint&#39;</span><span·class="p"·data-group-id="3316867701-2">{</span><span·class="p"·data-group-id="3316867701-2">}</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·162,·SHA:·e9d5164941ae8638df7e55718ef756887ad6cad33e28bce1be704656bdce5e68·...·]-3">}</span><span·class="p">,</span><span·class="w">3024 specification:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="4490603325-1">(</span><span·class="o">#</span><span·class="ss">&#39;DistributionPoint&#39;</span><span·class="p"·data-group-id="4490603325-2">{</span><span·class="p"·data-group-id="4490603325-2">}</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·162,·SHA:·8cfc62983caa56667356518bfdd8adfad61e75bc137e873af1a07f916aad3a03·...·]-3">}</span><span·class="p">,</span><span·class="w">
3025 ····</span><span·class="p"·data-group-id="3316867701-4">{</span><span·class="ss">rdnSequence</span><span·class="p">,</span><span·class="p"·data-group-id="3316867701-5">[</span><span·class="o">#</span><span·class="ss">&#39;AttributeTypeAndValue&#39;</span><span·class="p"·data-group-id="3316867701-6">{</span><span·class="p"·data-group-id="3316867701-6">}</span><span·class="p"·data-group-id="3316867701-5">]</span><span·class="p"·data-group-id="3316867701-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="p">:</span><span·class="p">:</span><span·class="nf">term</span><span·class="p"·data-group-id="3316867701-7">(</span><span·class="p"·data-group-id="3316867701-7">)</span><span·class="p"·data-group-id="3316867701-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
3026 ··</span><span·class="p"·data-group-id="3316867701-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;OTPCertificate&#39;</span><span·class="p"·data-group-id="3316867701-9">{</sp[·...·truncated·by·diffoscope;·len:·394,·SHA:·82afb10be84580ab2ec95fb07c7d19e1375804a93b7e10132eb3488580c6441b·...·]3025 ····</span><span·class="p"·data-group-id="4490603325-4">{</span><span·class="ss">rdnSequence</span><span·class="p">,</span><span·class="p"·data-group-id="4490603325-5">[</span><span·class="o">#</span><span·class="ss">&#39;AttributeTypeAndValue&#39;</span><sp[·...·truncated·by·diffoscope;·len:·592,·SHA:·1babfc8e4ef027712896b7211e3f8000ddc64b6f09c77a768d8558cc4a32de0a·...·]
 3026 ··</span><span·class="p"·data-group-id="4490603325-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;OTPCertificate&#39;</span><span·class="p"·data-group-id="4490603325-9">{</span><span·class="p"·data-group-id="4490603325-9">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4490603325-10">[</span><span·class="ss">der_encoded</span><span·class="p"·data-group-id="4490603325-10">]</span><span·class="p"·data-group-id="4490603325-8">}</span></code></pre><p>The·fun·returns·the·root·certificate·and·certificate·chain·that·has·signed·the
3027 CRL.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="6469295259-1">(</span><span·class="n">DP</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CRL</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Issuer</span><span·class="p">,</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·430,·SHA:·f57f8d47f00b3ae4c3cd6628e0313ffb26d7894d997d6490a0248d2346b2ede1·...·]-2">}</span></code></pre></li><li><p><strong>{undetermined_details,·boolean()}</strong>·-·Defaults·to·false.·When·revocation3027 CRL.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="1749410543-1">(</span><span·class="n">DP</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CRL</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Issuer</span><span·class="p">,</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·430,·SHA:·be887e20a539e11a4c6208ef0d0193a646d8bf9a9e0872e373bc4d19558f6501·...·]-2">}</span></code></pre></li><li><p><strong>{undetermined_details,·boolean()}</strong>·-·Defaults·to·false.·When·revocation
3028 status·cannot·be·determined,·and·this·option·is·set·to·true,·details·of·why·no3028 status·cannot·be·determined,·and·this·option·is·set·to·true,·details·of·why·no
3029 CRLs·where·accepted·are·included·in·the·return·value.</p></li></ul>3029 CRLs·where·accepted·are·included·in·the·return·value.</p></li></ul>
3030 ··</section>3030 ··</section>
3031 </section>3031 </section>
3032 <section·class="detail"·id="pkix_dist_point/1">3032 <section·class="detail"·id="pkix_dist_point/1">
  
3033 ··<div·class="detail-header">3033 ··<div·class="detail-header">
Offset 4167, 26 lines modifiedOffset 4167, 26 lines modified
4167 certificate,·but·makes·the·certificate·useful·for·both·roles.</p><p>Explanation·of·the·options·used·to·customize·certificates·in·the·generated4167 certificate,·but·makes·the·certificate·useful·for·both·roles.</p><p>Explanation·of·the·options·used·to·customize·certificates·in·the·generated
4168 chains:</p><ul><li><p><strong>{digest,·digest_type()}</strong>·-·Hash·algorithm·to·be·used·for·signing·the4168 chains:</p><ul><li><p><strong>{digest,·digest_type()}</strong>·-·Hash·algorithm·to·be·used·for·signing·the
4169 certificate·together·with·the·key·option.·Defaults·to·sha·that·is·sha1.</p></li><li><p><strong>{key,··ec_params()|·{rsa,·Size:pos_integer(),·Prime::pos_integer()}·|·private_key()}</strong>·-·Parameters·to·be·used·to·call4169 certificate·together·with·the·key·option.·Defaults·to·sha·that·is·sha1.</p></li><li><p><strong>{key,··ec_params()|·{rsa,·Size:pos_integer(),·Prime::pos_integer()}·|·private_key()}</strong>·-·Parameters·to·be·used·to·call
4170 public_key:generate_key/1,·to·generate·a·key,·or·an·existing·key.·Defaults·to4170 public_key:generate_key/1,·to·generate·a·key,·or·an·existing·key.·Defaults·to
4171 generating·an·ECDSA·key.·Note·this·could·fail·if·Erlang/OTP·is·compiled·with·a4171 generating·an·ECDSA·key.·Note·this·could·fail·if·Erlang/OTP·is·compiled·with·a
4172 very·old·cryptolib.</p></li><li><p><strong>{validity,·{From::erlang:timestamp(),·To::erlang:timestamp()}}</strong>·-·The4172 very·old·cryptolib.</p></li><li><p><strong>{validity,·{From::erlang:timestamp(),·To::erlang:timestamp()}}</strong>·-·The
4173 validity·period·of·the·certificate.</p></li><li><p><strong>{extensions,·[#'Extension'{}]}</strong>·-·Extensions·to·include·in·the4173 validity·period·of·the·certificate.</p></li><li><p><strong>{extensions,·[#'Extension'{}]}</strong>·-·Extensions·to·include·in·the
4174 certificate.</p><p>Default·extensions·included·in·CA·certificates·if·not·otherwise·specified·are:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2648936541-1">[</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="2648936541-2">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-keyUsage&#39;</span><span·class="p">,</span><span·class="w">4174 certificate.</p><p>Default·extensions·included·in·CA·certificates·if·not·otherwise·specified·are:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7435031027-1">[</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="7435031027-2">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-keyUsage&#39;</span><span·class="p">,</span><span·class="w">
4175 ··············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2648936541-3">[</span><span·class="ss">keyCertSign</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">cRLSign</span><span·class="p"·data-group-id="2648936541-3">]</span><span·class="p">,</span><span·class="w">4175 ··············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7435031027-3">[</span><span·class="ss">keyCertSign</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">cRLSign</span><span·class="p"·data-group-id="7435031027-3">]</span><span·class="p">,</span><span·class="w">
4176 ··············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="2648936541-2">}</span><span·class="p">,</span><span·class="w">4176 ··············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="7435031027-2">}</span><span·class="p">,</span><span·class="w">
4177 </span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="2648936541-4">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-basicConstraints&#39;</span><span·class="p">,</span><span·class="w">4177 </span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="7435031027-4">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-basicConstraints&#39;</span><span·class="p">,</span><span·class="w">
4178 ·············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;BasicConstraints&#39;</span><span·class="p"·data-group-id="2648936541-5">{</span><span·class="ss">cA</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="2648936541-5">}</span><span·class="p">,</span><span·class="w">4178 ·············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;BasicConstraints&#39;</span><span·class="p"·data-group-id="7435031027-5">{</span><span·class="ss">cA</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="7435031027-5">}</span><span·class="p">,</span><span·class="w">
4179 ·············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="2648936541-4">}</span><span·class="p"·data-group-id="2648936541-1">]</span></code></pre><p>Default·extensions·included·in·the·server·peer·cert·if·not·otherwise·specified4179 ·············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="7435031027-4">}</span><span·class="p"·data-group-id="7435031027-1">]</span></code></pre><p>Default·extensions·included·in·the·server·peer·cert·if·not·otherwise·specified
4180 are:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0466240619-1">[</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="0466240619-2">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-keyUsage&#39;</span><span·class="p">,</span><span·class="w">4180 are:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5311901345-1">[</span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="5311901345-2">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-keyUsage&#39;</span><span·class="p">,</span><span·class="w">
4181 ··············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0466240619-3">[</span><span·class="ss">digitalSignature</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">keyAgreement</span><span·class="p"·data-group-id="0466240619-3">]</span><span·class="p">,</span><span·class="w">4181 ··············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5311901345-3">[</span><span·class="ss">digitalSignature</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">keyAgreement</span><span·class="p"·data-group-id="5311901345-3">]</span><span·class="p">,</span><span·class="w">
4182 ··············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="0466240619-2">}</span><span·class="p">,</span><span·class="w">4182 ··············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="5311901345-2">}</span><span·class="p">,</span><span·class="w">
4183 </span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="0466240619-4">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-subjectAltName&#39;</span><span·class="p">,</span><span·class="w">4183 </span><span·class="o">#</span><span·class="ss">&#39;Extension&#39;</span><span·class="p"·data-group-id="5311901345-4">{</span><span·class="ss">extnID</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">&#39;id-ce-subjectAltName&#39;</span><span·class="p">,</span><span·class="w">
4184 ·············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0466240619-5">[</span><span·class="p"·data-group-id="0466240619-6">{</span><span·class="ss">dNSName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Hostname</span><span·class="p"·data-group-id="0466240619-6">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·f1d13edd063ddf71cbeef85ed33ca0c0d34366bbeea39f4cdae8b2d3f27cf3a4·...·]-5">]</span><span·class="p">,</span><span·class="w">4184 ·············</span><span·class="ss">extnValue</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5311901345-5">[</span><span·class="p"·data-group-id="5311901345-6">{</span><span·class="ss">dNSName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Hostname</span><span·class="p"·data-group-id="5311901345-6">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·0c8f1bd7405752fd102e1ec7095e8376a5e39cafc7feef132460a8b7f598327d·...·]-5">]</span><span·class="p">,</span><span·class="w">
4185 ·············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="0466240619-4">}</span><span·class="p"·data-group-id="0466240619-1">]</span></code></pre><p>Hostname·is·the·result·of·calling·net_adm:localhost()·in·the·Erlang·node·where4185 ·············</span><span·class="ss">critical</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="5311901345-4">}</span><span·class="p"·data-group-id="5311901345-1">]</span></code></pre><p>Hostname·is·the·result·of·calling·net_adm:localhost()·in·the·Erlang·node·where
4186 this·function·is·called.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Note·that·the·generated·certificates·and·keys·does·not·provide·a·formally4186 this·function·is·called.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Note·that·the·generated·certificates·and·keys·does·not·provide·a·formally
4187 correct·PKIX-trust-chain·and·they·cannot·be·used·to·achieve·real·security.4187 correct·PKIX-trust-chain·and·they·cannot·be·used·to·achieve·real·security.
4188 This·function·is·provided·for·testing·purposes·only.</p></section>4188 This·function·is·provided·for·testing·purposes·only.</p></section>
4189 ··</section>4189 ··</section>
4190 </section>4190 </section>
4191 <section·class="detail"·id="pkix_test_root_cert/2">4191 <section·class="detail"·id="pkix_test_root_cert/2">
  
Offset 4244, 15 lines modifiedOffset 4244, 15 lines modified
4244 ······<p·class="built-using">4244 ······<p·class="built-using">
4245 ········Built·using4245 ········Built·using
4246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the4246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
4247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>4247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
4248 ······</p>4248 ······</p>
4249 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>4249 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
4250 ····</footer>4250 ····</footer>
4251 ··</div>4251 ··</div>
4252 </main>4252 </main>
4253 </div>4253 </div>
4254 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>4254 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
4255 ··<script>4255 ··<script>
4256 ··let·initialized·=·false;4256 ··let·initialized·=·false;
709 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/public_key_app.html
    
Offset 221, 15 lines modifiedOffset 221, 15 lines modified
221 ······<p·class="built-using">221 ······<p·class="built-using">
222 ········Built·using222 ········Built·using
223 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the223 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
224 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>224 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
225 ······</p>225 ······</p>
226 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>226 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
227 ····</footer>227 ····</footer>
228 ··</div>228 ··</div>
229 </main>229 </main>
230 </div>230 </div>
231 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>231 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
232 ··<script>232 ··<script>
233 ··let·initialized·=·false;233 ··let·initialized·=·false;
696 B
html2text {}
Max HTML report size reached
97.3 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/public_key_records.html
    
Offset 125, 428 lines modifiedOffset 125, 428 lines modified
125 ····<span>Public-Key·Records</span>125 ····<span>Public-Key·Records</span>
126 ··</h1>126 ··</h1>
  
127 <p>This·chapter·briefly·describes·Erlang·records·derived·from·ASN.1·specifications127 <p>This·chapter·briefly·describes·Erlang·records·derived·from·ASN.1·specifications
128 used·to·handle·public·key·infrastructure.·The·scope·is·to·describe·the·data128 used·to·handle·public·key·infrastructure.·The·scope·is·to·describe·the·data
129 types·of·each·component,·not·the·semantics.·For·information·on·the·semantics,129 types·of·each·component,·not·the·semantics.·For·information·on·the·semantics,
130 refer·to·the·relevant·standards·and·RFCs·linked·in·the·sections·below.</p><p>Use·the·following·include·directive·to·get·access·to·the·records·and·constant130 refer·to·the·relevant·standards·and·RFCs·linked·in·the·sections·below.</p><p>Use·the·following·include·directive·to·get·access·to·the·records·and·constant
131 macros·described·in·the·following·sections:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="5872746407-1">(</span><span·class="s">&quot;public_key/include/public_key.hrl&quot;</span><span·class="p"·data-group-id="5872746407-1">)</span><span·class="p">.</span></code></pre><h2·id="data-types"·class="section-heading">131 macros·described·in·the·following·sections:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="5141295055-1">(</span><span·class="s">&quot;public_key/include/public_key.hrl&quot;</span><span·class="p"·data-group-id="5141295055-1">)</span><span·class="p">.</span></code></pre><h2·id="data-types"·class="section-heading">
132 ··<a·href="#data-types"·class="hover-link">132 ··<a·href="#data-types"·class="hover-link">
133 ····<i·class="ri-link-m"·aria-hidden="true"></i>133 ····<i·class="ri-link-m"·aria-hidden="true"></i>
134 ··</a>134 ··</a>
135 ··<span·class="text">Data·Types</span>135 ··<span·class="text">Data·Types</span>
136 </h2>136 </h2>
137 <p>Common·non-standard·Erlang·data·types·used·to·describe·the·record·fields·in·the137 <p>Common·non-standard·Erlang·data·types·used·to·describe·the·record·fields·in·the
138 following·sections·and·which·are·not·defined·in·the·Public·Key138 following·sections·and·which·are·not·defined·in·the·Public·Key
139 <a·href="public_key.html">Reference·Manual</a>·follows·here:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">time</span><span·class="p"·data-group-id="3246235681-1">(</span><span·class="p"·data-group-id="3246235681-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">utc_time</span><span·class="p"·data-group-id="3246235681-2">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·231,·SHA:·c680f3fb2940d756f415d028ecef6865d70a0893b9d774d8275026d467a1e074·...·]-3">)</span><span·class="w">139 <a·href="public_key.html">Reference·Manual</a>·follows·here:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">time</span><span·class="p"·data-group-id="2738863069-1">(</span><span·class="p"·data-group-id="2738863069-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">utc_time</span><span·class="p"·data-group-id="2738863069-2">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·231,·SHA:·7ced2f2e59ff15fa142ccf04edc3434d85fe828337c7d87ae77dd0e92a19f687·...·]-3">)</span><span·class="w">
  
140 </span><span·class="nf">utc_time</span><span·class="p"·data-group-id="3246235681-4">(</span><span·class="p"·data-group-id="3246235681-4">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3246235681-5">{</span><span·class="ss">utcTime</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·113,·SHA:·640a8afab6dab898a85010b93ffc7a4e9fb07c500eeb52a3918035a8ea9aa6d9·...·]-5">}</span><span·class="w">140 </span><span·class="nf">utc_time</span><span·class="p"·data-group-id="2738863069-4">(</span><span·class="p"·data-group-id="2738863069-4">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2738863069-5">{</span><span·class="ss">utcTime</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·113,·SHA:·973efa5dd18e1333d3a8b03e9beb611eb5278375ed5ba5709a53aab32c581d88·...·]-5">}</span><span·class="w">
  
141 </span><span·class="nf">general_time</span><span·class="p"·data-group-id="3246235681-6">(</span><span·class="p"·data-group-id="3246235681-6">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3246235681-7">{</span><span·class="ss">generalTime</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·118,·SHA:·43e09deb9121a7283895c6be8a2b689ecf3df0a58fb006b678872b6e6385839b·...·]-7">}</span><span·class="w">141 </span><span·class="nf">general_time</span><span·class="p"·data-group-id="2738863069-6">(</span><span·class="p"·data-group-id="2738863069-6">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2738863069-7">{</span><span·class="ss">generalTime</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·118,·SHA:·c9e89a0e69ef3688f2f2b2221372a5f5c350717bf1f0942eef31731e597a8ce3·...·]-7">}</span><span·class="w">
  
142 </span><span·class="nf">general_name</span><span·class="p"·data-group-id="3246235681-8">(</span><span·class="p"·data-group-id="3246235681-8">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3246235681-9">{</span><span·class="ss">rfc822Name</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·205,·SHA:·abddae52020983957736e20cf6637c6ac4aad32870633e0809f1056ae22a1a0d·...·]-9">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">142 </span><span·class="nf">general_name</span><span·class="p"·data-group-id="2738863069-8">(</span><span·class="p"·data-group-id="2738863069-8">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2738863069-9">{</span><span·class="ss">rfc822Name</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·205,·SHA:·0467b0d65e369240fd000a76c0bf88e766e62c6422018d964c73fe0966c31bad·...·]-9">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
143 ·················</span><span·class="p"·data-group-id="3246235681-11">{</span><span·class="ss">dNSName</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="3246235681-12">(</span><span·class="p"·data-group-id="3246235681-12">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·6c0f3f965c4c61eee8f90f2efaf7f17a9252ba60fa39b6d249105eb2993f673b·...·]-11">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">143 ·················</span><span·class="p"·data-group-id="2738863069-11">{</span><span·class="ss">dNSName</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="2738863069-12">(</span><span·class="p"·data-group-id="2738863069-12">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·1a9bcbd8fb2b2c9a97a2149bae8e68b8634ad07faf4402a830539457822d796a·...·]-11">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
144 ·················</span><span·class="p"·data-group-id="3246235681-13">{</span><span·class="ss">x400Address</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="3246235681-14">(</span><span·class="p"·data-group-id="3246235681-14">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">144 ·················</span><span·class="p"·data-group-id="2738863069-13">{</span><span·class="ss">x400Address</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="2738863069-14">(</span><span·class="p"·data-group-id="2738863069-14">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
145 ·················</span><span·class="p"·data-group-id="3246235681-15">{</span><span·class="ss">directoryName</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3246235681-16">{</span><span·class="ss">rdnSequence</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·379,·SHA:·9134380628f55c6f0d446cab769bfba8522455156940b7a62f807ba2703abd96·...·]-15">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">145 ·················</span><span·class="p"·data-group-id="2738863069-15">{</span><span·class="ss">directoryName</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2738863069-16">{</span><span·class="ss">rdnSequence</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·379,·SHA:·b7faa53979457e11417f8ae21250d3e7711e001e0334d510987b6b13fb36f1d4·...·]-15">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
146 ·················</span><span·class="p"·data-group-id="3246235681-19">{</span><span·class="ss">ediPartyName</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">special_string</span><span·class="p"·data-group-id="3246235681-20">(</span><span·class="p"·data-group-id="3246235681-20">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·5ca33f95a51a52a515bbe44bb5a365d3a77c6e6062e26443f1be69f8b37e8172·...·]-19">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">146 ·················</span><span·class="p"·data-group-id="2738863069-19">{</span><span·class="ss">ediPartyName</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">special_string</span><span·class="p"·data-group-id="2738863069-20">(</span><span·class="p"·data-group-id="2738863069-20">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·860eaabd1caab21dbcd2a8853b2a5b5ac5c047ee0bf7a15f46bd4ecbc35afb5a·...·]-19">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
147 ·················</span><span·class="p"·data-group-id="3246235681-21">{</span><span·class="ss">ediPartyName</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">special_string</span><span·class="p"·data-group-id="3246235681-22">(</span><span·class="p"·data-group-id="3246235681-22">)</span><sp[·...·truncated·by·diffoscope;·len:·232,·SHA:·f197120c61bb445c371592d5b69b9a39faf0fcb4f3590dd675a399921238b19e·...·]-21">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">147 ·················</span><span·class="p"·data-group-id="2738863069-21">{</span><span·class="ss">ediPartyName</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">special_string</span><span·class="p"·data-group-id="2738863069-22">(</span><span·class="p"·data-group-id="2738863069-22">)</span><sp[·...·truncated·by·diffoscope;·len:·232,·SHA:·bae049b19826d624a9133082339954dce251e9c67caccde7e5ee3ed1a7ac4bc2·...·]-21">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
148 ·················</span><span·class="p"·data-group-id="3246235681-24">{</span><span·class="ss">uniformResourceIdentifier</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="3246235681-25">(</span><span·class="p"·data-group-id="3246235681-25">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·0cfb25a4cd70c0941cb62eca7a1da893f4c190a6231d0f30ae8299257f2235ce·...·]-24">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">148 ·················</span><span·class="p"·data-group-id="2738863069-24">{</span><span·class="ss">uniformResourceIdentifier</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="2738863069-25">(</span><span·class="p"·data-group-id="2738863069-25">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·0e8817a6b5e438a40504101d873b8864467ab1f547233bbf439ef074d70c0a39·...·]-24">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
149 ·················</span><span·class="p"·data-group-id="3246235681-26">{</span><span·class="ss">iPAddress</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="3246235681-27">(</span><span·class="p"·data-group-id="3246235681-27">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·54a1ecc0808312d93c8063e022be89120ba7af61a27a48b437335359bb4a6ebf·...·]-26">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">149 ·················</span><span·class="p"·data-group-id="2738863069-26">{</span><span·class="ss">iPAddress</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="2738863069-27">(</span><span·class="p"·data-group-id="2738863069-27">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·d3c7040974dea17cd18ffc9c5c5b402b5c4c29f28fff4d93c9d711cb15291908·...·]-26">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
150 ·················</span><span·class="p"·data-group-id="3246235681-28">{</span><span·class="ss">registeredId</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">oid</span><span·class="p"·data-group-id="3246235681-29">(</span><span·class="p"·data-group-id="3246235681-29">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·54a1ecc0808312d93c8063e022be89120ba7af61a27a48b437335359bb4a6ebf·...·]-28">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">150 ·················</span><span·class="p"·data-group-id="2738863069-28">{</span><span·class="ss">registeredId</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">oid</span><span·class="p"·data-group-id="2738863069-29">(</span><span·class="p"·data-group-id="2738863069-29">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·d3c7040974dea17cd18ffc9c5c5b402b5c4c29f28fff4d93c9d711cb15291908·...·]-28">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
151 ·················</span><span·class="p"·data-group-id="3246235681-30">{</span><span·class="ss">otherName</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3246235681-31">(</span><span·class="p"·data-group-id="3246235681-31">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·6c0f3f965c4c61eee8f90f2efaf7f17a9252ba60fa39b6d249105eb2993f673b·...·]-30">}</span><span·class="w">151 ·················</span><span·class="p"·data-group-id="2738863069-30">{</span><span·class="ss">otherName</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="2738863069-31">(</span><span·class="p"·data-group-id="2738863069-31">)</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·1a9bcbd8fb2b2c9a97a2149bae8e68b8634ad07faf4402a830539457822d796a·...·]-30">}</span><span·class="w">
  
152 </span><span·class="nf">special_string</span><span·class="p"·data-group-id="3246235681-32">(</span><span·class="p"·data-group-id="3246235681-32">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3246235681-33">{</span><span·class="ss">teletexString</span><span·class="p">[·...·truncated·by·diffoscope;·len:·211,·SHA:·61245664c7a9ed4e35328b277ccfac3dbfb5be6c6e47a4558643ccca32376899·...·]-33">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">152 </span><span·class="nf">special_string</span><span·class="p"·data-group-id="2738863069-32">(</span><span·class="p"·data-group-id="2738863069-32">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2738863069-33">{</span><span·class="ss">teletexString</span><span·class="p">[·...·truncated·by·diffoscope;·len:·211,·SHA:·e52320d74c2ab7645a341e2c771e71f7930a3fabf664783ed370b019d092daac·...·]-33">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
153 ·153 ·
154 ···················</span><span·class="p"·data-group-id="3246235681-35">{</span><span·class="ss">printableString</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="3246235681-36">(</span><span·class="p"·data-group-id="3246235681-36">)</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·7dc155a34c1d9fd4ecc947a18cd3dced452071f715fecc79586b1f8d3c3d3062·...·]-35">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">154 ···················</span><span·class="p"·data-group-id="2738863069-35">{</span><span·class="ss">printableString</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="2738863069-36">(</span><span·class="p"·data-group-id="2738863069-36">)</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·978e60ed51133997520afb8cdcb66ef9b83690e5435d6df848ab7e84057f4580·...·]-35">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
155 ···················</span><span·class="p"·data-group-id="3246235681-37">{</span><span·class="ss">universalString</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="3246235681-38">(</span><span·class="p"·data-group-id="3246235681-38">)</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·7dc155a34c1d9fd4ecc947a18cd3dced452071f715fecc79586b1f8d3c3d3062·...·]-37">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">155 ···················</span><span·class="p"·data-group-id="2738863069-37">{</span><span·class="ss">universalString</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="2738863069-38">(</span><span·class="p"·data-group-id="2738863069-38">)</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·978e60ed51133997520afb8cdcb66ef9b83690e5435d6df848ab7e84057f4580·...·]-37">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
156 ···················</span><span·class="p"·data-group-id="3246235681-39">{</span><span·class="ss">utf8String</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="3246235681-40">(</span><span·class="p"·data-group-id="3246235681-40">)</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·132ce7eb070a09e4f0770206ee401b80cf2ce4fc1ea6a79216cc0de456a5cfc1·...·]-39">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">156 ···················</span><span·class="p"·data-group-id="2738863069-39">{</span><span·class="ss">utf8String</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="2738863069-40">(</span><span·class="p"·data-group-id="2738863069-40">)</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·bb660756036cd5594e1afa37a3281647672a210d33cfaff643d947b7d658262f·...·]-39">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
  
157 ···················</span><span·class="p"·data-group-id="3246235681-41">{</span><span·class="ss">bmpString</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="3246235681-42">(</span><span·class="p"·data-group-id="3246235681-42">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·54a1ecc0808312d93c8063e022be89120ba7af61a27a48b437335359bb4a6ebf·...·]-41">}</span><span·class="w">157 ···················</span><span·class="p"·data-group-id="2738863069-41">{</span><span·class="ss">bmpString</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="2738863069-42">(</span><span·class="p"·data-group-id="2738863069-42">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·d3c7040974dea17cd18ffc9c5c5b402b5c4c29f28fff4d93c9d711cb15291908·...·]-41">}</span><span·class="w">
  
158 </span><span·class="nf">dist_reason</span><span·class="p"·data-group-id="3246235681-43">(</span><span·class="p"·data-group-id="3246235681-43">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">unused</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">keyCompromise</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">cACompromise</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">affiliationChanged</span><span·class="w">·</span><span·class="p">|</span><span·class="w">158 </span><span·class="nf">dist_reason</span><span·class="p"·data-group-id="2738863069-43">(</span><span·class="p"·data-group-id="2738863069-43">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">unused</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">keyCompromise</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">cACompromise</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">affiliationChanged</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
159 ················</span><span·class="ss">cessationOfOperation</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">certificateHold</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">privilegeWithdrawn</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">aACompromise</span><span·class="w">159 ················</span><span·class="ss">cessationOfOperation</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">certificateHold</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">privilegeWithdrawn</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">aACompromise</span><span·class="w">
  
160 </span><span·class="n">OID_macro</span><span·class="p"·data-group-id="3246235681-44">(</span><span·class="p"·data-group-id="3246235681-44">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">OID_name</span><span·class="p"·data-group-id="3246235681-45">(</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·0cfb25a4cd70c0941cb62eca7a1da893f4c190a6231d0f30ae8299257f2235ce·...·]-45">)</span><span·class="w">160 </span><span·class="n">OID_macro</span><span·class="p"·data-group-id="2738863069-44">(</span><span·class="p"·data-group-id="2738863069-44">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">OID_name</span><span·class="p"·data-group-id="2738863069-45">(</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·0e8817a6b5e438a40504101d873b8864467ab1f547233bbf439ef074d70c0a39·...·]-45">)</span><span·class="w">
  
161 </span><span·class="n">OID_name</span><span·class="p"·data-group-id="3246235681-46">(</span><span·class="p"·data-group-id="3246235681-46">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="3246235681-47">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·9bd2d3e494b4a142c382439962aa17c9e5377d13a82d0f941eefbfa7494725f5·...·]-47">)</span></code></pre><h2·id="rsa"·class="section-heading">161 </span><span·class="n">OID_name</span><span·class="p"·data-group-id="2738863069-46">(</span><span·class="p"·data-group-id="2738863069-46">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="2738863069-47">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·5b8d2ec1899898aae61e19fa8aae0b540107ca17d16acff8e4b02fa404973d7f·...·]-47">)</span></code></pre><h2·id="rsa"·class="section-heading">
162 ··<a·href="#rsa"·class="hover-link">162 ··<a·href="#rsa"·class="hover-link">
163 ····<i·class="ri-link-m"·aria-hidden="true"></i>163 ····<i·class="ri-link-m"·aria-hidden="true"></i>
164 ··</a>164 ··</a>
165 ··<span·class="text">RSA</span>165 ··<span·class="text">RSA</span>
166 </h2>166 </h2>
167 <p>Erlang·representation·of167 <p>Erlang·representation·of
168 <a·href="http://www.ietf.org/rfc/rfc3447.txt">Rivest-Shamir-Adleman·cryptosystem·(RSA)</a>168 <a·href="http://www.ietf.org/rfc/rfc3447.txt">Rivest-Shamir-Adleman·cryptosystem·(RSA)</a>
169 keys·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">&#39;RSAPublicKey&#39;</span><span·class="p"·data-group-id="1219289042-1">{</span><span·class="w">169 keys·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">&#39;RSAPublicKey&#39;</span><span·class="p"·data-group-id="4935813630-1">{</span><span·class="w">
170 ···</span><span·class="ss">modulus</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%·pos_integer()</span><span·class="w">170 ···</span><span·class="ss">modulus</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%·pos_integer()</span><span·class="w">
171 ···</span><span·class="ss">publicExponent</span><span·class="w">·</span><span·class="c1">%·pos_integer()</span><span·class="w">171 ···</span><span·class="ss">publicExponent</span><span·class="w">·</span><span·class="c1">%·pos_integer()</span><span·class="w">
172 ··</span><span·class="p"·data-group-id="1219289042-1">}</span><span·class="p">.</span><span·class="w">172 ··</span><span·class="p"·data-group-id="4935813630-1">}</span><span·class="p">.</span><span·class="w">
  
173 </span><span·class="o">#</span><span·class="ss">&#39;RSAPrivateKey&#39;</span><span·class="p"·data-group-id="1219289042-2">{</span><span·class="w">173 </span><span·class="o">#</span><span·class="ss">&#39;RSAPrivateKey&#39;</span><span·class="p"·data-group-id="4935813630-2">{</span><span·class="w">
174 ···</span><span·class="ss">version</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·two-prime·|·multi</span><span·class="w">174 ···</span><span·class="ss">version</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·two-prime·|·multi</span><span·class="w">
175 ···</span><span·class="ss">modulus</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·pos_integer()</span><span·class="w">175 ···</span><span·class="ss">modulus</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·pos_integer()</span><span·class="w">
176 ···</span><span·class="ss">publicExponent</span><span·class="p">,</span><span·class="w">··</span><span·class="c1">%·pos_integer()</span><span·class="w">176 ···</span><span·class="ss">publicExponent</span><span·class="p">,</span><span·class="w">··</span><span·class="c1">%·pos_integer()</span><span·class="w">
177 ···</span><span·class="ss">privateExponent</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·pos_integer()</span><span·class="w">177 ···</span><span·class="ss">privateExponent</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·pos_integer()</span><span·class="w">
178 ···</span><span·class="ss">prime1</span><span·class="p">,</span><span·class="w">··········</span><span·class="c1">%·pos_integer()</span><span·class="w">178 ···</span><span·class="ss">prime1</span><span·class="p">,</span><span·class="w">··········</span><span·class="c1">%·pos_integer()</span><span·class="w">
179 ···</span><span·class="ss">prime2</span><span·class="p">,</span><span·class="w">··········</span><span·class="c1">%·pos_integer()</span><span·class="w">179 ···</span><span·class="ss">prime2</span><span·class="p">,</span><span·class="w">··········</span><span·class="c1">%·pos_integer()</span><span·class="w">
180 ···</span><span·class="ss">exponent1</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%·pos_integer()</span><span·class="w">180 ···</span><span·class="ss">exponent1</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%·pos_integer()</span><span·class="w">
181 ···</span><span·class="ss">exponent2</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%·pos_integer()</span><span·class="w">181 ···</span><span·class="ss">exponent2</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%·pos_integer()</span><span·class="w">
182 ···</span><span·class="ss">coefficient</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%·pos_integer()</span><span·class="w">182 ···</span><span·class="ss">coefficient</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%·pos_integer()</span><span·class="w">
183 ···</span><span·class="ss">otherPrimeInfos</span><span·class="w">··</span><span·class="c1">%·[#OtherPrimeInfo{}]·|·asn1_NOVALUE</span><span·class="w">183 ···</span><span·class="ss">otherPrimeInfos</span><span·class="w">··</span><span·class="c1">%·[#OtherPrimeInfo{}]·|·asn1_NOVALUE</span><span·class="w">
184 ··</span><span·class="p"·data-group-id="1219289042-2">}</span><span·class="p">.</span><span·class="w">184 ··</span><span·class="p"·data-group-id="4935813630-2">}</span><span·class="p">.</span><span·class="w">
  
185 </span><span·class="o">#</span><span·class="ss">&#39;OtherPrimeInfo&#39;</span><span·class="p"·data-group-id="1219289042-3">{</span><span·class="w">185 </span><span·class="o">#</span><span·class="ss">&#39;OtherPrimeInfo&#39;</span><span·class="p"·data-group-id="4935813630-3">{</span><span·class="w">
186 ···</span><span·class="ss">prime</span><span·class="p">,</span><span·class="w">···········</span><span·class="c1">%·pos_integer()</span><span·class="w">186 ···</span><span·class="ss">prime</span><span·class="p">,</span><span·class="w">···········</span><span·class="c1">%·pos_integer()</span><span·class="w">
187 ···</span><span·class="ss">exponent</span><span·class="p">,</span><span·class="w">········</span><span·class="c1">%·pos_integer()</span><span·class="w">187 ···</span><span·class="ss">exponent</span><span·class="p">,</span><span·class="w">········</span><span·class="c1">%·pos_integer()</span><span·class="w">
188 ···</span><span·class="ss">coefficient</span><span·class="w">······</span><span·class="c1">%·pos_integer()</span><span·class="w">188 ···</span><span·class="ss">coefficient</span><span·class="w">······</span><span·class="c1">%·pos_integer()</span><span·class="w">
189 ··</span><span·class="p"·data-group-id="1219289042-3">}</span><span·class="p">.</span><span·class="w">189 ··</span><span·class="p"·data-group-id="4935813630-3">}</span><span·class="p">.</span><span·class="w">
  
190 </span><span·class="o">#</span><span·class="ss">&#39;RSASSA-PSS-params&#39;</span><span·class="p"·data-group-id="1219289042-4">{</span><span·class="w">190 </span><span·class="o">#</span><span·class="ss">&#39;RSASSA-PSS-params&#39;</span><span·class="p"·data-group-id="4935813630-4">{</span><span·class="w">
191 ···</span><span·class="ss">hashAlgorithm</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%·#&#39;HashAlgorithm&#39;{}},</span><span·class="w">191 ···</span><span·class="ss">hashAlgorithm</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%·#&#39;HashAlgorithm&#39;{}},</span><span·class="w">
192 ···</span><span·class="ss">maskGenAlgorithm</span><span·class="p">,</span><span·class="w">··</span><span·class="c1">%·#&#39;MaskGenAlgorithm&#39;{}},</span><span·class="w">192 ···</span><span·class="ss">maskGenAlgorithm</span><span·class="p">,</span><span·class="w">··</span><span·class="c1">%·#&#39;MaskGenAlgorithm&#39;{}},</span><span·class="w">
193 ···</span><span·class="ss">saltLength</span><span·class="p">,</span><span·class="w">········</span><span·class="c1">%·pos_integer(),</span><span·class="w">193 ···</span><span·class="ss">saltLength</span><span·class="p">,</span><span·class="w">········</span><span·class="c1">%·pos_integer(),</span><span·class="w">
194 ···</span><span·class="ss">trailerField</span><span·class="p">,</span><span·class="w">······</span><span·class="c1">%·pos_integer()</span><span·class="w">194 ···</span><span·class="ss">trailerField</span><span·class="p">,</span><span·class="w">······</span><span·class="c1">%·pos_integer()</span><span·class="w">
195 ··</span><span·class="p"·data-group-id="1219289042-4">}</span><span·class="p">.</span><span·class="w">195 ··</span><span·class="p"·data-group-id="4935813630-4">}</span><span·class="p">.</span><span·class="w">
  
196 </span><span·class="o">#</span><span·class="ss">&#39;HashAlgorithm&#39;</span><span·class="p"·data-group-id="1219289042-5">{</span><span·class="w">196 </span><span·class="o">#</span><span·class="ss">&#39;HashAlgorithm&#39;</span><span·class="p"·data-group-id="4935813630-5">{</span><span·class="w">
197 ···</span><span·class="ss">algorithm</span><span·class="p">,</span><span·class="w">··</span><span·class="c1">%·oid()</span><span·class="w">197 ···</span><span·class="ss">algorithm</span><span·class="p">,</span><span·class="w">··</span><span·class="c1">%·oid()</span><span·class="w">
198 ···</span><span·class="ss">parameters</span><span·class="w">··</span><span·class="c1">%·defaults·to·asn1_NOVALUE</span><span·class="w">198 ···</span><span·class="ss">parameters</span><span·class="w">··</span><span·class="c1">%·defaults·to·asn1_NOVALUE</span><span·class="w">
199 ··</span><span·class="p"·data-group-id="1219289042-5">}</span><span·class="p">.</span><span·class="w">199 ··</span><span·class="p"·data-group-id="4935813630-5">}</span><span·class="p">.</span><span·class="w">
  
200 </span><span·class="o">#</span><span·class="ss">&#39;MaskGenAlgorithm&#39;</span><span·class="p"·data-group-id="1219289042-6">{</span><span·class="w">200 </span><span·class="o">#</span><span·class="ss">&#39;MaskGenAlgorithm&#39;</span><span·class="p"·data-group-id="4935813630-6">{</span><span·class="w">
201 ···</span><span·class="ss">algorithm</span><span·class="p">,</span><span·class="w">··</span><span·class="c1">%·oid()</span><span·class="w">201 ···</span><span·class="ss">algorithm</span><span·class="p">,</span><span·class="w">··</span><span·class="c1">%·oid()</span><span·class="w">
202 ···</span><span·class="ss">parameters</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·defaults·to·asn1_NOVALUE</span><span·class="w">202 ···</span><span·class="ss">parameters</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·defaults·to·asn1_NOVALUE</span><span·class="w">
203 ··</span><span·class="p"·data-group-id="1219289042-6">}</span><span·class="p">.</span></code></pre><h2·id="dsa"·class="section-heading">203 ··</span><span·class="p"·data-group-id="4935813630-6">}</span><span·class="p">.</span></code></pre><h2·id="dsa"·class="section-heading">
204 ··<a·href="#dsa"·class="hover-link">204 ··<a·href="#dsa"·class="hover-link">
205 ····<i·class="ri-link-m"·aria-hidden="true"></i>205 ····<i·class="ri-link-m"·aria-hidden="true"></i>
206 ··</a>206 ··</a>
207 ··<span·class="text">DSA</span>207 ··<span·class="text">DSA</span>
208 </h2>208 </h2>
209 <p>Erlang·representation·of209 <p>Erlang·representation·of
210 <a·href="http://www.ietf.org/rfc/rfc6979.txt">Digital·Signature·Algorithm·(DSA)</a>·keys</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">&#39;DSAPrivateKey&#39;</span><span·class="p"·data-group-id="1578060147-1">{</span><span·class="w">210 <a·href="http://www.ietf.org/rfc/rfc6979.txt">Digital·Signature·Algorithm·(DSA)</a>·keys</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">#</span><span·class="ss">&#39;DSAPrivateKey&#39;</span><span·class="p"·data-group-id="7866892483-1">{</span><span·class="w">
211 ···</span><span·class="ss">version</span><span·class="p">,</span><span·class="w">······</span><span·class="c1">%·pos_integer()</span><span·class="w">211 ···</span><span·class="ss">version</span><span·class="p">,</span><span·class="w">······</span><span·class="c1">%·pos_integer()</span><span·class="w">
212 ···</span><span·class="ss">p</span><span·class="p">,</span><span·class="w">············</span><span·class="c1">%·pos_integer()</span><span·class="w">212 ···</span><span·class="ss">p</span><span·class="p">,</span><span·class="w">············</span><span·class="c1">%·pos_integer()</span><span·class="w">
213 ···</span><span·class="ss">q</span><span·class="p">,</span><span·class="w">············</span><span·class="c1">%·pos_integer()</span><span·class="w">213 ···</span><span·class="ss">q</span><span·class="p">,</span><span·class="w">············</span><span·class="c1">%·pos_integer()</span><span·class="w">
214 ···</span><span·class="ss">g</span><span·class="p">,</span><span·class="w">············</span><span·class="c1">%·pos_integer()</span><span·class="w">214 ···</span><span·class="ss">g</span><span·class="p">,</span><span·class="w">············</span><span·class="c1">%·pos_integer()</span><span·class="w">
215 ···</span><span·class="ss">y</span><span·class="p">,</span><span·class="w">············</span><span·class="c1">%·pos_integer()</span><span·class="w">215 ···</span><span·class="ss">y</span><span·class="p">,</span><span·class="w">············</span><span·class="c1">%·pos_integer()</span><span·class="w">
216 ···</span><span·class="ss">x</span><span·class="w">·············</span><span·class="c1">%·pos_integer()</span><span·class="w">216 ···</span><span·class="ss">x</span><span·class="w">·············</span><span·class="c1">%·pos_integer()</span><span·class="w">
217 ··</span><span·class="p"·data-group-id="1578060147-1">}</span><span·class="p">.</span><span·class="w">217 ··</span><span·class="p"·data-group-id="7866892483-1">}</span><span·class="p">.</span><span·class="w">
  
218 </span><span·class="o">#</span><span·class="ss">&#39;Dss-Parms&#39;</span><span·class="p"·data-group-id="1578060147-2">{</span><span·class="w">218 </span><span·class="o">#</span><span·class="ss">&#39;Dss-Parms&#39;</span><span·class="p"·data-group-id="7866892483-2">{</span><span·class="w">
219 ···</span><span·class="ss">p</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·pos_integer()</span><span·class="w">219 ···</span><span·class="ss">p</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·pos_integer()</span><span·class="w">
220 ···</span><span·class="ss">q</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·pos_integer()</span><span·class="w">220 ···</span><span·class="ss">q</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·pos_integer()</span><span·class="w">
221 ···</span><span·class="ss">g</span><span·class="w">··········</span><span·class="c1">%·pos_integer()</span><span·class="w">221 ···</span><span·class="ss">g</span><span·class="w">··········</span><span·class="c1">%·pos_integer()</span><span·class="w">
222 ··</span><span·class="p"·data-group-id="1578060147-2">}</span><span·class="p">.</span></code></pre><h2·id="ecdsa-and-eddsa"·class="section-heading">222 ··</span><span·class="p"·data-group-id="7866892483-2">}</span><span·class="p">.</span></code></pre><h2·id="ecdsa-and-eddsa"·class="section-heading">
223 ··<a·href="#ecdsa-and-eddsa"·class="hover-link">223 ··<a·href="#ecdsa-and-eddsa"·class="hover-link">
224 ····<i·class="ri-link-m"·aria-hidden="true"></i>224 ····<i·class="ri-link-m"·aria-hidden="true"></i>
225 ··</a>225 ··</a>
Max diff block lines reached; 66355/98834 bytes (67.14%) of diff not shown.
608 B
html2text {}
Max HTML report size reached
1.28 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
466 B
html2text {}
Max HTML report size reached
208 KB
./usr/share/doc/erlang-doc/html/lib/public_key-1.18/doc/html/using_public_key.html
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.2/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.2/doc/html/api-reference.html
    
Offset 181, 15 lines modifiedOffset 181, 15 lines modified
181 ······<p·class="built-using">181 ······<p·class="built-using">
182 ········Built·using182 ········Built·using
183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
185 ······</p>185 ······</p>
186 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>186 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
187 ····</footer>187 ····</footer>
188 ··</div>188 ··</div>
189 </main>189 </main>
190 </div>190 </div>
191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
192 ··<script>192 ··<script>
193 ··let·initialized·=·false;193 ··let·initialized·=·false;
665 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.2/doc/html/notes.html
    
Offset 790, 15 lines modifiedOffset 790, 15 lines modified
790 ······<p·class="built-using">790 ······<p·class="built-using">
791 ········Built·using791 ········Built·using
792 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the792 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
793 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>793 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
794 ······</p>794 ······</p>
795 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>795 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
796 ····</footer>796 ····</footer>
797 ··</div>797 ··</div>
798 </main>798 </main>
799 </div>799 </div>
800 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>800 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
801 ··<script>801 ··<script>
802 ··let·initialized·=·false;802 ··let·initialized·=·false;
689 B
html2text {}
Max HTML report size reached
453 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.2/doc/html/reltool.epub
2.4 KB
zipinfo {}
Max HTML report size reached
77.2 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:15:44,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:53:52,·uncompressed·size·20,·method=store
372 KB
OEBPS/reltool_examples.xhtml
Max HTML report size reached
1.23 KB
OEBPS/content.opf
1.2 KB
OEBPS/content.opf
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.2/doc/html/reltool.html
    
Offset 2747, 15 lines modifiedOffset 2747, 15 lines modified
2747 ······<p·class="built-using">2747 ······<p·class="built-using">
2748 ········Built·using2748 ········Built·using
2749 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2749 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2750 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2750 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2751 ······</p>2751 ······</p>
2752 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2752 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2753 ····</footer>2753 ····</footer>
2754 ··</div>2754 ··</div>
2755 </main>2755 </main>
2756 </div>2756 </div>
2757 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2757 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2758 ··<script>2758 ··<script>
2759 ··let·initialized·=·false;2759 ··let·initialized·=·false;
721 B
html2text {}
Max HTML report size reached
374 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.2/doc/html/reltool_examples.html
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.2/doc/html/reltool_intro.html
    
Offset 208, 15 lines modifiedOffset 208, 15 lines modified
208 ······<p·class="built-using">208 ······<p·class="built-using">
209 ········Built·using209 ········Built·using
210 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the210 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
211 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>211 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
212 ······</p>212 ······</p>
213 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>213 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
214 ····</footer>214 ····</footer>
215 ··</div>215 ··</div>
216 </main>216 </main>
217 </div>217 </div>
218 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>218 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
219 ··<script>219 ··<script>
220 ··let·initialized·=·false;220 ··let·initialized·=·false;
723 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.2/doc/html/reltool_usage.html
    
Offset 378, 15 lines modifiedOffset 378, 15 lines modified
378 ······<p·class="built-using">378 ······<p·class="built-using">
379 ········Built·using379 ········Built·using
380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
382 ······</p>382 ······</p>
383 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>383 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
384 ····</footer>384 ····</footer>
385 ··</div>385 ··</div>
386 </main>386 </main>
387 </div>387 </div>
388 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>388 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
389 ··<script>389 ··<script>
390 ··let·initialized·=·false;390 ··let·initialized·=·false;
711 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/reltool-1.0.2/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
464 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/api-reference.html
    
Offset 226, 15 lines modifiedOffset 226, 15 lines modified
226 ······<p·class="built-using">226 ······<p·class="built-using">
227 ········Built·using227 ········Built·using
228 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the228 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
229 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>229 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
230 ······</p>230 ······</p>
231 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>231 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
232 ····</footer>232 ····</footer>
233 ··</div>233 ··</div>
234 </main>234 </main>
235 </div>235 </div>
236 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>236 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
237 ··<script>237 ··<script>
238 ··let·initialized·=·false;238 ··let·initialized·=·false;
614 B
html2text {}
Max HTML report size reached
216 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/dbg.html
Max HTML report size reached
1.62 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/dtrace.html
    
Offset 217, 15 lines modifiedOffset 217, 15 lines modified
217 ······<p·class="built-using">217 ······<p·class="built-using">
218 ········Built·using218 ········Built·using
219 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the219 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
220 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>220 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
221 ······</p>221 ······</p>
222 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>222 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
223 ····</footer>223 ····</footer>
224 ··</div>224 ··</div>
225 </main>225 </main>
226 </div>226 </div>
227 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>227 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
228 ··<script>228 ··<script>
229 ··let·initialized·=·false;229 ··let·initialized·=·false;
813 B
html2text {}
Max HTML report size reached
12.7 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/dyntrace.html
    
Offset 825, 22 lines modifiedOffset 825, 22 lines modified
825 ··········<pre·translate="no"><span·class="attribute">-spec</span>·restore_tag(true·|·{<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()·|·[]})·->·true.</pre>825 ··········<pre·translate="no"><span·class="attribute">-spec</span>·restore_tag(true·|·{<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()·|·[]})·->·true.</pre>
  
826 ······</div>826 ······</div>
  
827 <p>Restores·the·previous·state·of·user·tags·and·their·spreading·as·it·was·before·a827 <p>Restores·the·previous·state·of·user·tags·and·their·spreading·as·it·was·before·a
828 call·to·<a·href="#spread_tag/1"><code·class="inline">spread_tag/1</code></a>.</p><p>Note·that·the·restoring·is·not·limited·to·the·same·process;·one·can828 call·to·<a·href="#spread_tag/1"><code·class="inline">spread_tag/1</code></a>.</p><p>Note·that·the·restoring·is·not·limited·to·the·same·process;·one·can
829 utilize·this·to·turn·off·spreding·in·one·process·and·restore·it·in·a829 utilize·this·to·turn·off·spreding·in·one·process·and·restore·it·in·a
830 newly·created·process·that·is·is·actually·going·to·send·messages:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="1808456451-1">(</span><span·class="p"·data-group-id="1808456451-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">830 newly·created·process·that·is·is·actually·going·to·send·messages:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="9173866025-1">(</span><span·class="p"·data-group-id="9173866025-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
831 ····</span><span·class="n">TagData</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dyntrace</span><span·class="p">:</span><span·class="nf">spread_tag</span><span·class="p"·data-group-id="1808456451-2">(</span><span·class="ss">false</span><span·class="p"·data-group-id="1808456451-2">)</span><span·class="p">,</span><span·class="w">831 ····</span><span·class="n">TagData</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dyntrace</span><span·class="p">:</span><span·class="nf">spread_tag</span><span·class="p"·data-group-id="9173866025-2">(</span><span·class="ss">false</span><span·class="p"·data-group-id="9173866025-2">)</span><span·class="p">,</span><span·class="w">
832 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="1808456451-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="1808456451-4">(</span><span·class="p"·data-group-id="1808456451-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">832 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="9173866025-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9173866025-4">(</span><span·class="p"·data-group-id="9173866025-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
833 ·············</span><span·class="nc">dyntrace</span><span·class="p">:</span><span·class="nf">restore_tag</span><span·class="p"·data-group-id="1808456451-5">(</span><span·class="n">TagData</span><span·class="p"·data-group-id="1808456451-5">)</span><span·class="p">,</span><span·class="w">833 ·············</span><span·class="nc">dyntrace</span><span·class="p">:</span><span·class="nf">restore_tag</span><span·class="p"·data-group-id="9173866025-5">(</span><span·class="n">TagData</span><span·class="p"·data-group-id="9173866025-5">)</span><span·class="p">,</span><span·class="w">
834 ·············</span><span·class="nf">do_something</span><span·class="p"·data-group-id="1808456451-6">(</span><span·class="p"·data-group-id="1808456451-6">)</span><span·class="w">834 ·············</span><span·class="nf">do_something</span><span·class="p"·data-group-id="9173866025-6">(</span><span·class="p"·data-group-id="9173866025-6">)</span><span·class="w">
835 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="1808456451-3">)</span><span·class="p">,</span><span·class="w">835 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="9173866025-3">)</span><span·class="p">,</span><span·class="w">
836 ····</span><span·class="nf">do_something_else</span><span·class="p"·data-group-id="1808456451-7">(</span><span·class="p"·data-group-id="1808456451-7">)</span><span·class="p">,</span><span·class="w">836 ····</span><span·class="nf">do_something_else</span><span·class="p"·data-group-id="9173866025-7">(</span><span·class="p"·data-group-id="9173866025-7">)</span><span·class="p">,</span><span·class="w">
837 ····</span><span·class="nc">dyntrace</span><span·class="p">:</span><span·class="nf">restore_tag</span><span·class="p"·data-group-id="1808456451-8">(</span><span·class="n">TagData</span><span·class="p"·data-group-id="1808456451-8">)</span><span·class="p">.</span></code></pre><p>Correctly·handling·user·tags·and·their·spreading·might·take·some·effort,·as837 ····</span><span·class="nc">dyntrace</span><span·class="p">:</span><span·class="nf">restore_tag</span><span·class="p"·data-group-id="9173866025-8">(</span><span·class="n">TagData</span><span·class="p"·data-group-id="9173866025-8">)</span><span·class="p">.</span></code></pre><p>Correctly·handling·user·tags·and·their·spreading·might·take·some·effort,·as
838 Erlang·programs·tend·to·send·and·receive·messages·so·that·sometimes·the·user·tag838 Erlang·programs·tend·to·send·and·receive·messages·so·that·sometimes·the·user·tag
839 gets·lost·due·to·various·things,·like·double·receives·or·communication·with·a839 gets·lost·due·to·various·things,·like·double·receives·or·communication·with·a
840 port·(ports·do·not·handle·user·tags,·in·the·same·way·as·they·do·not·handle840 port·(ports·do·not·handle·user·tags,·in·the·same·way·as·they·do·not·handle
841 regular·sequential·trace·tokens).</p>841 regular·sequential·trace·tokens).</p>
842 ··</section>842 ··</section>
843 </section>843 </section>
844 <section·class="detail"·id="spread_tag/1">844 <section·class="detail"·id="spread_tag/1">
Offset 877, 20 lines modifiedOffset 877, 20 lines modified
877 <a·href="#restore_tag/1"><code·class="inline">restore_tag/1</code></a>,·one·can·enable·or·disable·spreading·of·user877 <a·href="#restore_tag/1"><code·class="inline">restore_tag/1</code></a>,·one·can·enable·or·disable·spreading·of·user
878 tags·to·other·processes·and·then·restore·the·previous·state·of·the·user·tag.·The878 tags·to·other·processes·and·then·restore·the·previous·state·of·the·user·tag.·The
879 TagData·returned·from·this·call·contains·all·previous·information·so·the·state879 TagData·returned·from·this·call·contains·all·previous·information·so·the·state
880 (including·any·previously·spread·user·tags)·will·be·completely·restored·by·a880 (including·any·previously·spread·user·tags)·will·be·completely·restored·by·a
881 later·call·to·<a·href="#restore_tag/1"><code·class="inline">restore_tag/1</code></a>.</p><p>The·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>·module·already·spreads·tags,·so·there·is·no·need·to·manually·call881 later·call·to·<a·href="#restore_tag/1"><code·class="inline">restore_tag/1</code></a>.</p><p>The·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>·module·already·spreads·tags,·so·there·is·no·need·to·manually·call
882 this·function·to·get·user·tags·spread·to·the·<code·class="inline">efile</code>·driver·through·that·module.</p><p>The·most·use·of·this·function·would·be·if·one,·for·example,·uses·the·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html"><code·class="inline">io</code></a>·module882 this·function·to·get·user·tags·spread·to·the·<code·class="inline">efile</code>·driver·through·that·module.</p><p>The·most·use·of·this·function·would·be·if·one,·for·example,·uses·the·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html"><code·class="inline">io</code></a>·module
883 to·communicate·with·an·I/O-server·for·a·regular·file,·such·as·in·the·following883 to·communicate·with·an·I/O-server·for·a·regular·file,·such·as·in·the·following
884 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="0811471020-1">(</span><span·class="p"·data-group-id="0811471020-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">884 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">f</span><span·class="p"·data-group-id="2339230333-1">(</span><span·class="p"·data-group-id="2339230333-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
885 ···</span><span·class="p"·data-group-id="0811471020-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="0811471020-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·389,·SHA:·810a47f865780bf1de581035a4efc6337a55cb023087af0d28289d890632a5a8·...·]-3">)</span><span·class="p">,</span><span·class="w">885 ···</span><span·class="p"·data-group-id="2339230333-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="2339230333-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·389,·SHA:·a616607ed04b280b9c35cc813a0b8444d428d5f36ba4d8181cd115987de9b9e1·...·]-3">)</span><span·class="p">,</span><span·class="w">
886 ···</span><span·class="n">Saved</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dyntrace</span><span·class="p">:</span><span·class="nf">spread_tag</span><span·class="p"·data-group-id="0811471020-5">(</span><span·class="ss">true</span><span·class="p"·data-group-id="0811471020-5">)</span><span·class="p">,</span><span·class="w">886 ···</span><span·class="n">Saved</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dyntrace</span><span·class="p">:</span><span·class="nf">spread_tag</span><span·class="p"·data-group-id="2339230333-5">(</span><span·class="ss">true</span><span·class="p"·data-group-id="2339230333-5">)</span><span·class="p">,</span><span·class="w">
887 ···</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0811471020-6">(</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Hello·world!&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0811471020-7">[</span><span·class="p[·...·truncated·by·diffoscope;·len:·80,·SHA:·f335ab936ccb5ae1523276943c7e2889e956e458cc1cd0505cd01d414af94dd4·...·]-6">)</span><span·class="p">,</span><span·class="w">887 ···</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2339230333-6">(</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Hello·world!&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2339230333-7">[</span><span·class="p[·...·truncated·by·diffoscope;·len:·80,·SHA:·f0eff184fb31d1307d18bef0c2330f7314286a4c19e988dff0d61f9c97024c36·...·]-6">)</span><span·class="p">,</span><span·class="w">
888 ···</span><span·class="nc">dyntrace</span><span·class="p">:</span><span·class="nf">restore_tag</span><span·class="p"·data-group-id="0811471020-8">(</span><span·class="n">Saved</span><span·class="p"·data-group-id="0811471020-8">)</span><span·class="p">,</span><span·class="w">888 ···</span><span·class="nc">dyntrace</span><span·class="p">:</span><span·class="nf">restore_tag</span><span·class="p"·data-group-id="2339230333-8">(</span><span·class="n">Saved</span><span·class="p"·data-group-id="2339230333-8">)</span><span·class="p">,</span><span·class="w">
889 ···</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="0811471020-9">(</span><span·class="n">F</span><span·class="p"·data-group-id="0811471020-9">)</span><span·class="p">.</span></code></pre><p>In·this·example,·any·user·tag·set·in·the·calling·process·will·be·spread·to·the889 ···</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="2339230333-9">(</span><span·class="n">F</span><span·class="p"·data-group-id="2339230333-9">)</span><span·class="p">.</span></code></pre><p>In·this·example,·any·user·tag·set·in·the·calling·process·will·be·spread·to·the
890 I/O-server·when·the·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#format/3"><code·class="inline">io:format/3</code></a>·call·is·done.</p>890 I/O-server·when·the·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#format/3"><code·class="inline">io:format/3</code></a>·call·is·done.</p>
891 ··</section>891 ··</section>
892 </section>892 </section>
  
893 ····</div>893 ····</div>
894 ··</section>894 ··</section>
  
Offset 912, 15 lines modifiedOffset 912, 15 lines modified
912 ······<p·class="built-using">912 ······<p·class="built-using">
913 ········Built·using913 ········Built·using
914 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the914 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
915 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>915 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
916 ······</p>916 ······</p>
917 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>917 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
918 ····</footer>918 ····</footer>
919 ··</div>919 ··</div>
920 </main>920 </main>
921 </div>921 </div>
922 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>922 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
923 ··<script>923 ··<script>
924 ··let·initialized·=·false;924 ··let·initialized·=·false;
606 B
html2text {}
Max HTML report size reached
51.8 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/instrument.html
    
Offset 345, 16 lines modifiedOffset 345, 16 lines modified
  
345 ······</div>345 ······</div>
  
346 <p>A·histogram·of·block·sizes·where·each·interval's·upper·bound·is·twice·as·high·as346 <p>A·histogram·of·block·sizes·where·each·interval's·upper·bound·is·twice·as·high·as
347 the·one·before·it.</p><p>The·upper·bound·of·the·first·interval·is·provided·by·the·function·that·returned347 the·one·before·it.</p><p>The·upper·bound·of·the·first·interval·is·provided·by·the·function·that·returned
348 the·histogram,·and·the·last·interval·has·no·upper·bound.</p><p>For·example,·the·histogram·below·has·40·(<code·class="inline">message</code>)·blocks·between·128-256·bytes348 the·histogram,·and·the·last·interval·has·no·upper·bound.</p><p>For·example,·the·histogram·below·has·40·(<code·class="inline">message</code>)·blocks·between·128-256·bytes
349 in·size,·78·blocks·between·256-512·bytes,2·blocks·between·512-1024·bytes,·and·2349 in·size,·78·blocks·between·256-512·bytes,2·blocks·between·512-1024·bytes,·and·2
350 blocks·between·1-2KB.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">instrument</span><span·class="p">:</span><span·class="nf">allocations</span><span·class="p"·data-group-id="5872617361-1">(</span><span·class="p"·data-group-id="5872617361-2">#{</span><span·class="w">·</span><span·class="ss">histogram_start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">128</span><span·class="p[·...·truncated·by·diffoscope;·len:·293,·SHA:·2af1d35603affea463299e87a16d6102c35caa1b80ad41eda5358a1ccb231933·...·]-1">)</span><span·class="p">.</span><span·class="w">350 blocks·between·1-2KB.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">instrument</span><span·class="p">:</span><span·class="nf">allocations</span><span·class="p"·data-group-id="2820140879-1">(</span><span·class="p"·data-group-id="2820140879-2">#{</span><span·class="w">·</span><span·class="ss">histogram_start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">128</span><span·class="p[·...·truncated·by·diffoscope;·len:·293,·SHA:·e3d9276f390371e25898d65a560290f8cda07423de9b5f493c56a4c8255497aa·...·]-1">)</span><span·class="p">.</span><span·class="w">
351 </span><span·class="p"·data-group-id="5872617361-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5872617361-4">{</span><span·class="mi">128</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·c[·...·truncated·by·diffoscope;·len:·1360,·SHA:·5107d7b321315d2a118606d23a6d94af5c43bc93c1e59f4f604f3ac98f5e67d4·...·]-3">}</span></code></pre>351 </span><span·class="p"·data-group-id="2820140879-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2820140879-4">{</span><span·class="mi">128</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·c[·...·truncated·by·diffoscope;·len:·1360,·SHA:·010e7e2b3966091ed5de6468637c76188786abc24470207c585cb8225c203815·...·]-3">}</span></code></pre>
352 ··</section>352 ··</section>
353 </section>353 </section>
354 <section·class="detail"·id="t:carrier_info_list/0">354 <section·class="detail"·id="t:carrier_info_list/0">
  
355 ··<div·class="detail-header">355 ··<div·class="detail-header">
356 ····<a·href="#t:carrier_info_list/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">356 ····<a·href="#t:carrier_info_list/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">
357 ······<i·class="ri-link-m"·aria-hidden="true"></i>357 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 480, 38 lines modifiedOffset 480, 38 lines modified
480 to·an·allocator·of·a·different·type.</p><p>Defaults·to·all·<code·class="inline">alloc_util</code>·allocators.</p></li><li><p><strong><code·class="inline">scheduler_ids</code></strong>·-·The·scheduler·ids·whose·allocator·instances·will·be480 to·an·allocator·of·a·different·type.</p><p>Defaults·to·all·<code·class="inline">alloc_util</code>·allocators.</p></li><li><p><strong><code·class="inline">scheduler_ids</code></strong>·-·The·scheduler·ids·whose·allocator·instances·will·be
481 searched.·A·scheduler·id·of·0·will·refer·to·the·global·instance·that·is·not481 searched.·A·scheduler·id·of·0·will·refer·to·the·global·instance·that·is·not
482 tied·to·any·particular·scheduler.·Defaults·to·all·schedulers·and·the·global482 tied·to·any·particular·scheduler.·Defaults·to·all·schedulers·and·the·global
483 instance.</p></li><li><p><strong><code·class="inline">histogram_start</code></strong>·-·The·upper·bound·of·the·first·interval·in·the·allocated483 instance.</p></li><li><p><strong><code·class="inline">histogram_start</code></strong>·-·The·upper·bound·of·the·first·interval·in·the·allocated
484 block·size·histograms.·Defaults·to·128.</p></li><li><p><strong><code·class="inline">histogram_width</code></strong>·-·The·number·of·intervals·in·the·allocated·block·size484 block·size·histograms.·Defaults·to·128.</p></li><li><p><strong><code·class="inline">histogram_width</code></strong>·-·The·number·of·intervals·in·the·allocated·block·size
485 histograms.·Defaults·to·18.</p></li><li><p><strong><code·class="inline">flags</code></strong>·-·Controls·how·to·group·the·output,·for·example·showing485 histograms.·Defaults·to·18.</p></li><li><p><strong><code·class="inline">flags</code></strong>·-·Controls·how·to·group·the·output,·for·example·showing
486 allocations·on·a·per-process·basis·(when·possible)·rather·than·only·a486 allocations·on·a·per-process·basis·(when·possible)·rather·than·only·a
487 NIF/driver-basis.·Defaults·to·<code·class="inline">[]</code>.</p></li></ul><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">instrument</span><span·class="p">:</span><span·class="nf">allocations</span><span·class="p"·data-group-id="2432580262-1">(</span><span·class="p"·data-group-id="2432580262-2">#{</span><span·class="w">·</span><span·class="ss">histogram_start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">128</span><span·class="p[·...·truncated·by·diffoscope;·len:·292,·SHA:·c7ef2242fee5518e44cdfd7e3cdf55453aefb3ab4f260c6ff57edfe2b2793cbe·...·]2-1">)</span><span·class="p">.</span><span·class="w">487 NIF/driver-basis.·Defaults·to·<code·class="inline">[]</code>.</p></li></ul><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">instrument</span><span·class="p">:</span><span·class="nf">allocations</span><span·class="p"·data-group-id="1242407382-1">(</span><span·class="p"·data-group-id="1242407382-2">#{</span><span·class="w">·</span><span·class="ss">histogram_start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">128</span><span·class="p[·...·truncated·by·diffoscope;·len:·292,·SHA:·d1d57f04f956c76ea978247301856e6b2cc474d5b545b2bcbb0984c5972ff239·...·]2-1">)</span><span·class="p">.</span><span·class="w">
488 </span><span·class="p"·data-group-id="2432580262-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2432580262-4">{</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">488 </span><span·class="p"·data-group-id="1242407382-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1242407382-4">{</span><span·class="mi">128</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
489 ·····</span><span·class="p"·data-group-id="2432580262-5">#{</span><span·class="ss">udp_inet</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">489 ·····</span><span·class="p"·data-group-id="1242407382-5">#{</span><span·class="ss">udp_inet</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">
490 ···········</span><span·class="p"·data-group-id="2432580262-6">#{</span><span·class="ss">driver_event_state</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-7">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·742,·SHA:·40f8c578914a5882384212f5cc428af2ea792a0bf4d45db2b655bf694b6582bb·...·]2-6">}</span><span·class="p">,</span><span·class="w">490 ···········</span><span·class="p"·data-group-id="1242407382-6">#{</span><span·class="ss">driver_event_state</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-7">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·742,·SHA:·c2bd74a619523755560da855cd394d007cce13d258f4c57a41d23557e1c4827b·...·]2-6">}</span><span·class="p">,</span><span·class="w">
491 ·······</span><span·class="ss">system</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">491 ·······</span><span·class="ss">system</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">
492 ···········</span><span·class="p"·data-group-id="2432580262-8">#{</span><span·class="ss">heap</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-9">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><s[·...·truncated·by·diffoscope;·len:·676,·SHA:·160dd1c030adefcd12ca6987ebe4be015c6467e6a9f7b12a0173b84f86b79943·...·]2-9">}</span><span·class="p">,</span><span·class="w">492 ···········</span><span·class="p"·data-group-id="1242407382-8">#{</span><span·class="ss">heap</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-9">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><s[·...·truncated·by·diffoscope;·len:·676,·SHA:·4ba0daaaf078b5e59bb6d364703374fb959bbb5d4ad586df76e127e9be615905·...·]2-9">}</span><span·class="p">,</span><span·class="w">
493 ·············</span><span·class="ss">db_term</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-10">{</span><span·class="mi">271</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">52</span><span·class="p">,</span><span·class="mi">80</span><span·cl[·...·truncated·by·diffoscope;·len:·522,·SHA:·e8f51b20c57ccb275fe7dd3b388aa0258860f29a3bc72058aba181fbb82277bf·...·]2-10">}</span><span·class="p">,</span><span·class="w">493 ·············</span><span·class="ss">db_term</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-10">{</span><span·class="mi">271</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">52</span><span·class="p">,</span><span·class="mi">80</span><span·cl[·...·truncated·by·diffoscope;·len:·522,·SHA:·570967e605bb00f824f41d997742b11c9b5d8a4080644574afb32018049160f9·...·]2-10">}</span><span·class="p">,</span><span·class="w">
494 ·············</span><span·class="ss">code</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-11">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">3</span><span·class=[·...·truncated·by·diffoscope;·len:·523,·SHA:·153fb3e32c2cfe9e876a1087f1ae3991fd8fd96f905a8908de5c50fd90a50384·...·]2-11">}</span><span·class="p">,</span><span·class="w">494 ·············</span><span·class="ss">code</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-11">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">3</span><span·class=[·...·truncated·by·diffoscope;·len:·523,·SHA:·1664d0deaf44b7be7bcfa80fa4a3f55b8da028dcb1cbc010669b4bd9460cbe74·...·]2-11">}</span><span·class="p">,</span><span·class="w">
495 ·············</span><span·class="ss">binary</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-12">{</span><span·class="mi">18</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">7</span><span·class[·...·truncated·by·diffoscope;·len:·519,·SHA:·48eb8f14dd83c156eba0bef33f7638a55613b68dc13262ff23d70732cb9e8523·...·]2-12">}</span><span·class="p">,</span><span·class="w">495 ·············</span><span·class="ss">binary</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-12">{</span><span·class="mi">18</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">7</span><span·class[·...·truncated·by·diffoscope;·len:·519,·SHA:·1d0ffb69c9621da7a1ed17d376a4c31e44b11c1a20796ed1a2951bdfa828d6b4·...·]2-12">}</span><span·class="p">,</span><span·class="w">
496 ·············</span><span·class="ss">message</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-13">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">40</span><span·class="p">,</span><span·class="mi">78</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">2</span><span·clas[·...·truncated·by·diffoscope;·len:·520,·SHA:·a35fafad7f07bb535587b96d104c6a6e63efb30b231bb8ab064c4cb811b1bad0·...·]2-13">}</span><span·class="p">,</span><span·class="w">496 ·············</span><span·class="ss">message</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-13">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">40</span><span·class="p">,</span><span·class="mi">78</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">2</span><span·clas[·...·truncated·by·diffoscope;·len:·520,·SHA:·162a3716ce085dc88ceac0ef665b59f2cae6daf7c38b8c1785d6258f3f7f9d45·...·]2-13">}</span><span·class="p">,</span><span·class="w">
497 ·············</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-8">}</span><span·class="w">497 ·············</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-8">}</span><span·class="w">
498 ·······</span><span·class="ss">spawn_forker</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">498 ·······</span><span·class="ss">spawn_forker</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">
499 ···········</span><span·class="p"·data-group-id="2432580262-14">#{</span><span·class="ss">driver_select_data_state</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">499 ···········</span><span·class="p"·data-group-id="1242407382-14">#{</span><span·class="ss">driver_select_data_state</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">
500 ·················</span><span·class="p"·data-group-id="2432580262-15">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class=[·...·truncated·by·diffoscope;·len:·572,·SHA:·8fb8adc6448ca38311dd20553c0bf2ad9a7413462c3116e94c593ee73dc837eb·...·]2-14">}</span><span·class="p">,</span><span·class="w">500 ·················</span><span·class="p"·data-group-id="1242407382-15">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class=[·...·truncated·by·diffoscope;·len:·572,·SHA:·f57b4386a8afa05366e897c4d4b30be9640711ede9ea3fd86f89cdbd49d36dc0·...·]2-14">}</span><span·class="p">,</span><span·class="w">
501 ·······</span><span·class="ss">ram_file_drv</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-16">#{</span><span·class="ss">drv_binary</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-17">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0<[·...·truncated·by·diffoscope;·len:·737,·SHA:·0f36e8328ae8a8517855ff8be34e2d51915e01d47c3c43b2f04b6560dde43be6·...·]2-16">}</span><span·class="p">,</span><span·class="w">501 ·······</span><span·class="ss">ram_file_drv</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-16">#{</span><span·class="ss">drv_binary</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-17">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0<[·...·truncated·by·diffoscope;·len:·737,·SHA:·fbf675719834d866dcebf70dad696f40392f9e0594d980aad078fe8be9b3c81a·...·]2-16">}</span><span·class="p">,</span><span·class="w">
502 ·······</span><span·class="ss">prim_file</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">502 ·······</span><span·class="ss">prim_file</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">
503 ···········</span><span·class="p"·data-group-id="2432580262-18">#{</span><span·class="ss">process_specific_data</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-19">{</span><span·class="mi">2</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·694,·SHA:·e3bbcf616176f6b7a293bc98924e2a6024a756b503d1795263f1abce226a19ab·...·]2-19">}</span><span·class="p">,</span><span·class="w">503 ···········</span><span·class="p"·data-group-id="1242407382-18">#{</span><span·class="ss">process_specific_data</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-19">{</span><span·class="mi">2</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·694,·SHA:·6199cbdd2e22c9c642151c53e7bcba71a58ab7d48e608df4592b5d97baf76870·...·]2-19">}</span><span·class="p">,</span><span·class="w">
504 ·············</span><span·class="ss">nif_trap_export_entry</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-20">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class=[·...·truncated·by·diffoscope;·len:·518,·SHA:·30508782b7d4ad73d07c49a8c8adff11cef31c60282328429283da44a16c7d41·...·]2-20">}</span><span·class="p">,</span><span·class="w">504 ·············</span><span·class="ss">nif_trap_export_entry</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-20">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class=[·...·truncated·by·diffoscope;·len:·518,·SHA:·bde0fe7cf491ba52a75514c2977c35b0274adfd0c3a6a65c0b53b52a3c57c90a·...·]2-20">}</span><span·class="p">,</span><span·class="w">
505 ·············</span><span·class="ss">monitor_extended</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-21">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class=[·...·truncated·by·diffoscope;·len:·518,·SHA:·30508782b7d4ad73d07c49a8c8adff11cef31c60282328429283da44a16c7d41·...·]2-21">}</span><span·class="p">,</span><span·class="w">505 ·············</span><span·class="ss">monitor_extended</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-21">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class=[·...·truncated·by·diffoscope;·len:·518,·SHA:·bde0fe7cf491ba52a75514c2977c35b0274adfd0c3a6a65c0b53b52a3c57c90a·...·]2-21">}</span><span·class="p">,</span><span·class="w">
506 ·············</span><span·class="ss">drv_binary</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-22">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class=[·...·truncated·by·diffoscope;·len:·518,·SHA:·042acb566746f35e0299c4013312419cde5a064657f102b8cf14eb2407af4a9c·...·]2-22">}</span><span·class="p">,</span><span·class="w">506 ·············</span><span·class="ss">drv_binary</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-22">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class=[·...·truncated·by·diffoscope;·len:·518,·SHA:·2027c151a5a5e1d95c683630418c27d188b096689b5aac2f44beb03139b07abd·...·]2-22">}</span><span·class="p">,</span><span·class="w">
507 ·············</span><span·class="ss">binary</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-23">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class=[·...·truncated·by·diffoscope;·len:·572,·SHA:·bea01dd1fd6bcf4655725ae855cdcdce11b0b1cb3414127913911f047ec7d048·...·]2-18">}</span><span·class="p">,</span><span·class="w">507 ·············</span><span·class="ss">binary</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-23">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class=[·...·truncated·by·diffoscope;·len:·572,·SHA:·ecb7756de00094cc4905d819f3190a07e29082149b7170fdc66a837a1b79f83e·...·]2-18">}</span><span·class="p">,</span><span·class="w">
508 ·······</span><span·class="ss">prim_buffer</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">508 ·······</span><span·class="ss">prim_buffer</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">
509 ···········</span><span·class="p"·data-group-id="2432580262-24">#{</span><span·class="ss">nif_internal</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-25">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">[·...·truncated·by·diffoscope;·len:·685,·SHA:·ec12fece5a137fdffe4ab8d04d3b17494a75543dbcaa44f6cb2d61e33a873d5b·...·]2-25">}</span><span·class="p">,</span><span·class="w">509 ···········</span><span·class="p"·data-group-id="1242407382-24">#{</span><span·class="ss">nif_internal</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-25">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">[·...·truncated·by·diffoscope;·len:·685,·SHA:·724a8bcade576953556341e598ed82b04114184b1b0c8689a21d27f1c30a06bc·...·]2-25">}</span><span·class="p">,</span><span·class="w">
510 ·············</span><span·class="ss">binary</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2432580262-26">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class=[·...·truncated·by·diffoscope;·len:·732,·SHA:·e3aaf73eaed18640b0a9c52d0d7bc1594b8c4c8cd2f1f5f2b74677404467f802·...·]2-3">}</span></code></pre>510 ·············</span><span·class="ss">binary</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1242407382-26">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class=[·...·truncated·by·diffoscope;·len:·732,·SHA:·3a31ad194fade30d1257d597332e21b530d5d966c9183b288d7d7ebdeab45182·...·]2-3">}</span></code></pre>
511 ··</section>511 ··</section>
512 </section>512 </section>
513 <section·class="detail"·id="carriers/0">513 <section·class="detail"·id="carriers/0">
  
514 ··<div·class="detail-header">514 ··<div·class="detail-header">
515 ····<a·href="#carriers/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">515 ····<a·href="#carriers/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
516 ······<i·class="ri-link-m"·aria-hidden="true"></i>516 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 576, 23 lines modifiedOffset 576, 23 lines modified
576 allocator·type·and·scheduler·id.</p><p>If·the·specified·allocator·types·are·not·enabled,·the·call·will·fail·with576 allocator·type·and·scheduler·id.</p><p>If·the·specified·allocator·types·are·not·enabled,·the·call·will·fail·with
577 <code·class="inline">{error,·not_enabled}</code>.</p><p>The·following·options·can·be·used:</p><ul><li><p><strong><code·class="inline">allocator_types</code></strong>·-·The·allocator·types·that·will·be·searched.·Defaults·to577 <code·class="inline">{error,·not_enabled}</code>.</p><p>The·following·options·can·be·used:</p><ul><li><p><strong><code·class="inline">allocator_types</code></strong>·-·The·allocator·types·that·will·be·searched.·Defaults·to
578 all·<code·class="inline">alloc_util</code>·allocators.</p></li><li><p><strong><code·class="inline">scheduler_ids</code></strong>·-·The·scheduler·ids·whose·allocator·instances·will·be578 all·<code·class="inline">alloc_util</code>·allocators.</p></li><li><p><strong><code·class="inline">scheduler_ids</code></strong>·-·The·scheduler·ids·whose·allocator·instances·will·be
579 searched.·A·scheduler·id·of·0·will·refer·to·the·global·instance·that·is·not579 searched.·A·scheduler·id·of·0·will·refer·to·the·global·instance·that·is·not
580 tied·to·any·particular·scheduler.·Defaults·to·all·schedulers·and·the·global580 tied·to·any·particular·scheduler.·Defaults·to·all·schedulers·and·the·global
581 instance.</p></li><li><p><strong><code·class="inline">histogram_start</code></strong>·-·The·upper·bound·of·the·first·interval·in·the·free581 instance.</p></li><li><p><strong><code·class="inline">histogram_start</code></strong>·-·The·upper·bound·of·the·first·interval·in·the·free
582 block·size·histograms.·Defaults·to·512.</p></li><li><p><strong><code·class="inline">histogram_width</code></strong>·-·The·number·of·intervals·in·the·free·block·size582 block·size·histograms.·Defaults·to·512.</p></li><li><p><strong><code·class="inline">histogram_width</code></strong>·-·The·number·of·intervals·in·the·free·block·size
583 histograms.·Defaults·to·14.</p></li></ul><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">instrument</span><span·class="p">:</span><span·class="nf">carriers</span><span·class="p"·data-group-id="0506136079-1">(</span><span·class="p"·data-group-id="0506136079-2">#{</span><span·class="w">·</span><span·class="ss">histogram_start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">512</span><span·class="p[·...·truncated·by·diffoscope;·len:·292,·SHA:·bbf55dc6e811b563ace2ab8ec0c7c16aa21eeab8fad2d8dfa9e99bdab2765f9d·...·]-1">)</span><span·class="p">.</span><span·class="w">583 histograms.·Defaults·to·14.</p></li></ul><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">instrument</span><span·class="p">:</span><span·class="nf">carriers</span><span·class="p"·data-group-id="4811810542-1">(</span><span·class="p"·data-group-id="4811810542-2">#{</span><span·class="w">·</span><span·class="ss">histogram_start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">512</span><span·class="p[·...·truncated·by·diffoscope;·len:·292,·SHA:·f81b7238d3762ffb201611bb45e6a51e3afd4fe0d25dddf8937eab7fd5549956·...·]-1">)</span><span·class="p">.</span><span·class="w">
584 </span><span·class="p"·data-group-id="0506136079-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0506136079-4">{</span><span·class="mi">512</span><span·class="p">,</span><span·class="w">584 </span><span·class="p"·data-group-id="4811810542-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4811810542-4">{</span><span·class="mi">512</span><span·class="p">,</span><span·class="w">
585 ·····</span><span·class="p"·data-group-id="0506136079-5">[</span><span·class="p"·data-group-id="0506136079-6">{</span><span·class="ss">driver_alloc</span><span·class="p">,</span><span·class="ss">false</span><span·class="p">,</span><span·class="mi">262144</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">585 ·····</span><span·class="p"·data-group-id="4811810542-5">[</span><span·class="p"·data-group-id="4811810542-6">{</span><span·class="ss">driver_alloc</span><span·class="p">,</span><span·class="ss">false</span><span·class="p">,</span><span·class="mi">262144</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
586 ····················</span><span·class="p"·data-group-id="0506136079-7">[</span><span·class="p"·data-group-id="0506136079-8">{</span><span·class="ss">driver_alloc</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">32784</span><span·class="p"·data-group-id="0506136079-8[·...·truncated·by·diffoscope;·len:·51,·SHA:·58349b7af230c609c4aaaec3f229dd34c26c1f83aa3ab0a6f9e02b77b63eadb6·...·]-7">]</span><span·class="p">,</span><span·class="w">586 ····················</span><span·class="p"·data-group-id="4811810542-7">[</span><span·class="p"·data-group-id="4811810542-8">{</span><span·class="ss">driver_alloc</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">32784</span><span·class="p"·data-group-id="4811810542-8[·...·truncated·by·diffoscope;·len:·51,·SHA:·a829f824cb5a6c2f39afc12b440fb40e6dd89353a9bae2abc30884f077b5ea54·...·]-7">]</span><span·class="p">,</span><span·class="w">
587 ····················</span><span·class="p"·data-group-id="0506136079-9">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·228,·SHA:·84dbd0d3abc48ae12ad8d1ee2f25ff2af97ef6a39f2b365d2d523feed8c500e3·...·]-6">}</span><span·class="p">,</span><span·class="w">587 ····················</span><span·class="p"·data-group-id="4811810542-9">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·228,·SHA:·5f7c7f837e58760518b4962bd3887ed50e155a784eb11fff336f552f71dd36b5·...·]-6">}</span><span·class="p">,</span><span·class="w">
588 ······</span><span·class="p"·data-group-id="0506136079-10">{</span><span·class="ss">binary_alloc</span><span·class="p">,</span><span·class="ss">false</span><span·class="p">,</span><span·class="mi">32768</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">588 ······</span><span·class="p"·data-group-id="4811810542-10">{</span><span·class="ss">binary_alloc</span><span·class="p">,</span><span·class="ss">false</span><span·class="p">,</span><span·class="mi">32768</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
589 ····················</span><span·class="p"·data-group-id="0506136079-11">[</span><span·class="p"·data-group-id="0506136079-12">{</span><span·class="ss">binary_alloc</span><span·class="p">,</span><span·class="mi">15</span><span·class="p">,</span><span·class="mi">4304</span><span·class="p"·data-group-id="0506136079[·...·truncated·by·diffoscope;·len:·54,·SHA:·82eed09a035a481d83e8969bd0af5e0bb04e347b07a0bd717a4670eec3aba5ee·...·]-11">]</span><span·class="p">,</span><span·class="w">589 ····················</span><span·class="p"·data-group-id="4811810542-11">[</span><span·class="p"·data-group-id="4811810542-12">{</span><span·class="ss">binary_alloc</span><span·class="p">,</span><span·class="mi">15</span><span·class="p">,</span><span·class="mi">4304</span><span·class="p"·data-group-id="4811810542[·...·truncated·by·diffoscope;·len:·54,·SHA:·a3c9c27b7070f35808079fb92c3450edbaebd1d7e8af1682c04d509431e16d73·...·]-11">]</span><span·class="p">,</span><span·class="w">
590 ····················</span><span·class="p"·data-group-id="0506136079-13">{</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class=[·...·truncated·by·diffoscope;·len:·230,·SHA:·ece704568d62cb4ff0b1c05cdb0f5fb995124ba45f2d7c481e80442930ef25dc·...·]-10">}</span><span·class="p">,</span><span·class="w">590 ····················</span><span·class="p"·data-group-id="4811810542-13">{</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class=[·...·truncated·by·diffoscope;·len:·230,·SHA:·8683e75b165fd2e44aff6c0778731ee3698b5b4837e86226c08a3a58b74b08da·...·]-10">}</span><span·class="p">,</span><span·class="w">
591 ······</span><span·class="p"·data-group-id="0506136079-14">{</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="0506136079-14">}</span><span·class="p">|</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class[·...·truncated·by·diffoscope;·len:·136,·SHA:·38f6a07b16e6dc7b6a17bc443e52cd6415741540575a545afadb10a30bd7b183·...·]-3">}</span></code></pre>591 ······</span><span·class="p"·data-group-id="4811810542-14">{</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="4811810542-14">}</span><span·class="p">|</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class[·...·truncated·by·diffoscope;·len:·136,·SHA:·ab663b62a108a862c342f90a43ba41af48e7d34151bee1576551edb6dd85a8fc·...·]-3">}</span></code></pre>
592 ··</section>592 ··</section>
593 </section>593 </section>
  
594 ····</div>594 ····</div>
595 ··</section>595 ··</section>
  
596 ····<footer·class="footer">596 ····<footer·class="footer">
Offset 613, 15 lines modifiedOffset 613, 15 lines modified
613 ······<p·class="built-using">613 ······<p·class="built-using">
614 ········Built·using614 ········Built·using
615 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the615 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
616 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>616 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
617 ······</p>617 ······</p>
618 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>618 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
619 ····</footer>619 ····</footer>
620 ··</div>620 ··</div>
621 </main>621 </main>
622 </div>622 </div>
623 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>623 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
624 ··<script>624 ··<script>
625 ··let·initialized·=·false;625 ··let·initialized·=·false;
552 B
html2text {}
Max HTML report size reached
93.6 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/lttng.html
    
Offset 146, 40 lines modifiedOffset 146, 40 lines modified
146 $·make</code></pre><h2·id="dyntrace-tracepoints"·class="section-heading">146 $·make</code></pre><h2·id="dyntrace-tracepoints"·class="section-heading">
147 ··<a·href="#dyntrace-tracepoints"·class="hover-link">147 ··<a·href="#dyntrace-tracepoints"·class="hover-link">
148 ····<i·class="ri-link-m"·aria-hidden="true"></i>148 ····<i·class="ri-link-m"·aria-hidden="true"></i>
149 ··</a>149 ··</a>
150 ··<span·class="text">Dyntrace·Tracepoints</span>150 ··<span·class="text">Dyntrace·Tracepoints</span>
151 </h2>151 </h2>
152 <p>All·tracepoints·are·in·the·domain·of·<code·class="inline">org_erlang_dyntrace</code></p><p>All·Erlang·types·are·the·string·equivalent·in·LTTng.</p><p><em>process_spawn</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">parent·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">procs</code>·and152 <p>All·tracepoints·are·in·the·domain·of·<code·class="inline">org_erlang_dyntrace</code></p><p>All·Erlang·types·are·the·string·equivalent·in·LTTng.</p><p><em>process_spawn</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">parent·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">procs</code>·and
153 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">process_spawn</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="2870132430-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">3</span><span·class="w">·</span><span·class="p"·data-group-id="2870132430-1">}</span><span·c[·...·truncated·by·diffoscope;·len:·730,·SHA:·91f6c1897c99b0d1b2fa49cd6baf6faa9e8984c1c6a3c26a09105df7d8b68420·...·]-2">}</span></code></pre><p><em>process_link</em></p><ul><li><code·class="inline">to·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">from·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><p><code·class="inline">type·:·string</code>·::·<code·class="inline">&quot;link&quot;·|·&quot;unlink&quot;</code></p></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">procs</code>·and153 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">process_spawn</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="2635989763-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">3</span><span·class="w">·</span><span·class="p"·data-group-id="2635989763-1">}</span><span·c[·...·truncated·by·diffoscope;·len:·730,·SHA:·bde88133f4f3c455622e46603daa666863bc71ddfd06a5a17bb0461297632fb4·...·]-2">}</span></code></pre><p><em>process_link</em></p><ul><li><code·class="inline">to·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">from·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><p><code·class="inline">type·:·string</code>·::·<code·class="inline">&quot;link&quot;·|·&quot;unlink&quot;</code></p></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">procs</code>·and
154 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">process_link:·{·cpu_id·=·3·},·{·from·=·&quot;&lt;0.130.0&gt;&quot;,·to·=·&quot;&lt;0.131.0&gt;&quot;,·type·=·&quot;link&quot;·}</code></pre><p><em>process_exit</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">reason·:·string</code>·::·Exit·reason.·Ex.·<code·class="inline">&quot;normal&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">procs</code>·and154 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">process_link:·{·cpu_id·=·3·},·{·from·=·&quot;&lt;0.130.0&gt;&quot;,·to·=·&quot;&lt;0.131.0&gt;&quot;,·type·=·&quot;link&quot;·}</code></pre><p><em>process_exit</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">reason·:·string</code>·::·Exit·reason.·Ex.·<code·class="inline">&quot;normal&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">procs</code>·and
155 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">process_exit:·{·cpu_id·=·3·},·{·pid·=·&quot;&lt;0.130.0&gt;&quot;,·reason·=·&quot;normal&quot;·}</code></pre><p><em>process_register</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">name·:·string</code>·::·Registered·name.·Ex.·<code·class="inline">&quot;logger&quot;</code></li><li><p><code·class="inline">type·:·string</code>·::·<code·class="inline">&quot;register&quot;·|·&quot;unregister&quot;</code></p></li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">process_register</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="0593346159-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p"·data-group-id="0593346159-1">}</span><span·c[·...·truncated·by·diffoscope;·len:·702,·SHA:·7f1f3a42bd00fab779f8afa3aa90cf69f6532e77dbc37610d05f6fc2662bcd50·...·]-2">}</span></code></pre><p><em>process_scheduled</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">type·:·string</code>·::155 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">process_exit:·{·cpu_id·=·3·},·{·pid·=·&quot;&lt;0.130.0&gt;&quot;,·reason·=·&quot;normal&quot;·}</code></pre><p><em>process_register</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">name·:·string</code>·::·Registered·name.·Ex.·<code·class="inline">&quot;logger&quot;</code></li><li><p><code·class="inline">type·:·string</code>·::·<code·class="inline">&quot;register&quot;·|·&quot;unregister&quot;</code></p></li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">process_register</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="0231623274-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p"·data-group-id="0231623274-1">}</span><span·c[·...·truncated·by·diffoscope;·len:·702,·SHA:·dae8f8a4c2061dc353ec2c7f2448bd3e06f029bb3abe7a65047fdd9f8c0479f6·...·]-2">}</span></code></pre><p><em>process_scheduled</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">type·:·string</code>·::
156 <code·class="inline">&quot;in&quot;·|·&quot;out&quot;·|·&quot;in_exiting&quot;·|·&quot;out_exiting&quot;·|·&quot;out_exited&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">running</code>·and156 <code·class="inline">&quot;in&quot;·|·&quot;out&quot;·|·&quot;in_exiting&quot;·|·&quot;out_exiting&quot;·|·&quot;out_exited&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">running</code>·and
157 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">process_scheduled</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9503847683-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p"·data-group-id="9503847683-1">}</span><span·[·...·truncated·by·diffoscope;·len:·716,·SHA:·21e2a3f0bbbe4b6b2f60aead3feabd3abc46c2d7f25d3177939a284cf0f0c353·...·]-2">}</span></code></pre><p><em>port_open</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">driver·:·string</code>·::·Driver·name.·Ex.·<code·class="inline">&quot;tcp_inet&quot;</code></li><li><code·class="inline">port·:·string</code>·::·Port·ID.·Ex.·<code·class="inline">&quot;#Port&lt;0.1031&gt;&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">ports</code>·and157 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">process_scheduled</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7876906912-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p"·data-group-id="7876906912-1">}</span><span·[·...·truncated·by·diffoscope;·len:·716,·SHA:·21148b6d5b57da0fbf19845586e71f7f84fdce0c78e95a566d4586252dec873f·...·]-2">}</span></code></pre><p><em>port_open</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">driver·:·string</code>·::·Driver·name.·Ex.·<code·class="inline">&quot;tcp_inet&quot;</code></li><li><code·class="inline">port·:·string</code>·::·Port·ID.·Ex.·<code·class="inline">&quot;#Port&lt;0.1031&gt;&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">ports</code>·and
158 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">port_open:·{·cpu_id·=·5·},·{·pid·=·&quot;&lt;0.131.0&gt;&quot;,·driver·=·&quot;'/bin/sh·-s·unix:cmd'&quot;,·port·=·&quot;#Port&lt;0.1887&gt;&quot;·}</code></pre><p><em>port_exit</em></p><ul><li><code·class="inline">port·:·string</code>·::·Port·ID.·Ex.·<code·class="inline">&quot;#Port&lt;0.1031&gt;&quot;</code></li><li><code·class="inline">reason·:·string</code>·::·Exit·reason.·Ex.·<code·class="inline">&quot;normal&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">ports</code>·and158 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">port_open:·{·cpu_id·=·5·},·{·pid·=·&quot;&lt;0.131.0&gt;&quot;,·driver·=·&quot;'/bin/sh·-s·unix:cmd'&quot;,·port·=·&quot;#Port&lt;0.1887&gt;&quot;·}</code></pre><p><em>port_exit</em></p><ul><li><code·class="inline">port·:·string</code>·::·Port·ID.·Ex.·<code·class="inline">&quot;#Port&lt;0.1031&gt;&quot;</code></li><li><code·class="inline">reason·:·string</code>·::·Exit·reason.·Ex.·<code·class="inline">&quot;normal&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">ports</code>·and
159 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">port_exit:·{·cpu_id·=·5·},·{·port·=·&quot;#Port&lt;0.1887&gt;&quot;,·reason·=·&quot;normal&quot;·}</code></pre><p><em>port_link</em></p><ul><li><code·class="inline">to·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">from·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><p><code·class="inline">type·:·string</code>·::·<code·class="inline">&quot;link&quot;·|·&quot;unlink&quot;</code></p></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">ports</code>·and159 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">port_exit:·{·cpu_id·=·5·},·{·port·=·&quot;#Port&lt;0.1887&gt;&quot;,·reason·=·&quot;normal&quot;·}</code></pre><p><em>port_link</em></p><ul><li><code·class="inline">to·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">from·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><p><code·class="inline">type·:·string</code>·::·<code·class="inline">&quot;link&quot;·|·&quot;unlink&quot;</code></p></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">ports</code>·and
160 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">port_link</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="4483498948-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5</span><span·class="w">·</span><span·class="p"·data-group-id="4483498948-1">}</span><span·[·...·truncated·by·diffoscope;·len:·723,·SHA:·5ac9b45bc648d3e444a02d7744afa4c698c4374c6a5a6d6c849ce47c6ad90034·...·]-2">}</span></code></pre><p><em>port_scheduled</em></p><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">running</code>·and160 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">port_link</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3045175765-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5</span><span·class="w">·</span><span·class="p"·data-group-id="3045175765-1">}</span><span·[·...·truncated·by·diffoscope;·len:·723,·SHA:·1d399973afe66da54cce594adcd702193d5fcf289cb944adcf1733152a3bc752·...·]-2">}</span></code></pre><p><em>port_scheduled</em></p><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">running</code>·and
161 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><ul><li><code·class="inline">port·:·string</code>·::·Port·ID.·Ex.·<code·class="inline">&quot;#Port&lt;0.1031&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Callback.·Ex.·<code·class="inline">&quot;open&quot;</code></li><li><code·class="inline">type·:·string</code>·::161 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><ul><li><code·class="inline">port·:·string</code>·::·Port·ID.·Ex.·<code·class="inline">&quot;#Port&lt;0.1031&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Callback.·Ex.·<code·class="inline">&quot;open&quot;</code></li><li><code·class="inline">type·:·string</code>·::
162 <code·class="inline">&quot;in&quot;·|·&quot;out&quot;·|·&quot;in_exiting&quot;·|·&quot;out_exiting&quot;·|·&quot;out_exited&quot;</code></li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">port_scheduled</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="5606822780-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5</span><span·class="w">·</span><span·class="p"·data-group-id="5606822780-1">}</span><span·[·...·truncated·by·diffoscope;·len:·712,·SHA:·f5d05eba16272e85058ec82ee5ca6383bb2be1b275fb23160a30b48e49cf483a·...·]-2">}</span></code></pre><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">running</code>·and162 <code·class="inline">&quot;in&quot;·|·&quot;out&quot;·|·&quot;in_exiting&quot;·|·&quot;out_exiting&quot;·|·&quot;out_exited&quot;</code></li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">port_scheduled</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9429800986-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5</span><span·class="w">·</span><span·class="p"·data-group-id="9429800986-1">}</span><span·[·...·truncated·by·diffoscope;·len:·712,·SHA:·c38b441bc46a6d622041f3b0df2a622dd4d7be6c80ea0b02600d26ee7af3c834·...·]-2">}</span></code></pre><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">running</code>·and
163 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p><em>function_call</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">depth·:·integer</code>·::·Stack·depth.·Ex.·<code·class="inline">0</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">call</code>·and163 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p><em>function_call</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">depth·:·integer</code>·::·Stack·depth.·Ex.·<code·class="inline">0</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">call</code>·and
164 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">function_call</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7608088118-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5</span><span·class="w">·</span><span·class="p"·data-group-id="7608088118-1">}</span><span·[·...·truncated·by·diffoscope;·len:·739,·SHA:·0583e1ebfa779281fff16e601da63a4b08ccdef52bd367c2bcecd73833ea9aa6·...·]8-2">}</span></code></pre><p><em>function_return</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">depth·:·integer</code>·::·Stack·depth.·Ex.·<code·class="inline">0</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">call</code>·or·<code·class="inline">return_to</code>·and164 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">function_call</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3139182958-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5</span><span·class="w">·</span><span·class="p"·data-group-id="3139182958-1">}</span><span·[·...·truncated·by·diffoscope;·len:·739,·SHA:·26e50621efc6b0ee4fa16ce69b464677f99e4a7406035cd9112b1531a0043748·...·]8-2">}</span></code></pre><p><em>function_return</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">depth·:·integer</code>·::·Stack·depth.·Ex.·<code·class="inline">0</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">call</code>·or·<code·class="inline">return_to</code>·and
165 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">function_return</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="5973553384-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5</span><span·class="w">·</span><span·class="p"·data-group-id="5973553384-1">}</span><span·[·...·truncated·by·diffoscope;·len:·720,·SHA:·e473b8d513344d5ca5107a17e4d80c45a5da935910f611001651539544e005a2·...·]-2">}</span></code></pre><p><em>function_exception</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">class·:·string</code>·::·Error·reason.·Ex.·<code·class="inline">&quot;error&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">call</code>·and165 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">function_return</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3981005079-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5</span><span·class="w">·</span><span·class="p"·data-group-id="3981005079-1">}</span><span·[·...·truncated·by·diffoscope;·len:·720,·SHA:·b31cba3b726547b1e0daafcc543ef895c040f339b54c4b6caaa51e076cf8bbd7·...·]-2">}</span></code></pre><p><em>function_exception</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">entry·:·string</code>·::·Code·Location.·Ex.·<code·class="inline">&quot;lists:sort/1&quot;</code></li><li><code·class="inline">class·:·string</code>·::·Error·reason.·Ex.·<code·class="inline">&quot;error&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">call</code>·and
166 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">function_exception</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="9770512299-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5</span><span·class="w">·</span><span·class="p"·data-group-id="9770512299-1">}</span><span·[·...·truncated·by·diffoscope;·len:·718,·SHA:·b84cbf3ec4db74ff88deee6bbd86d340cd315ebfa9bdb18ada7e766e492b7319·...·]-2">}</span></code></pre><p><em>message_send</em></p><ul><li><code·class="inline">from·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">to·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">message·:·string</code>·::·Message·sent.·Ex.·<code·class="inline">&quot;{&lt;0.162.0&gt;,ok}&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">send</code>·and166 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">function_exception</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="4966367453-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5</span><span·class="w">·</span><span·class="p"·data-group-id="4966367453-1">}</span><span·[·...·truncated·by·diffoscope;·len:·718,·SHA:·8e6c38d9513e7d55db62a556a8852a48404c3979703bb1ad9a99c84cc92e5e66·...·]-2">}</span></code></pre><p><em>message_send</em></p><ul><li><code·class="inline">from·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">to·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">message·:·string</code>·::·Message·sent.·Ex.·<code·class="inline">&quot;{&lt;0.162.0&gt;,ok}&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">send</code>·and
167 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">message_send:·{·cpu_id·=·3·},·{·from·=·&quot;#Port&lt;0.1938&gt;&quot;,·to·=·&quot;&lt;0.160.0&gt;&quot;,·message·=·&quot;{#Port&lt;0.1938&gt;,eof}&quot;·}</code></pre><p><em>message_receive</em></p><ul><li><code·class="inline">to·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">message·:·string</code>·::·Message·received.·Ex.·<code·class="inline">&quot;{&lt;0.162.0&gt;,ok}&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">'receive'</code>·and167 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">message_send:·{·cpu_id·=·3·},·{·from·=·&quot;#Port&lt;0.1938&gt;&quot;,·to·=·&quot;&lt;0.160.0&gt;&quot;,·message·=·&quot;{#Port&lt;0.1938&gt;,eof}&quot;·}</code></pre><p><em>message_receive</em></p><ul><li><code·class="inline">to·:·string</code>·::·Process·ID·or·Port·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">message·:·string</code>·::·Message·received.·Ex.·<code·class="inline">&quot;{&lt;0.162.0&gt;,ok}&quot;</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">'receive'</code>·and
168 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">message_receive:·{·cpu_id·=·7·},·{·to·=·&quot;&lt;0.167.0&gt;&quot;,·message·=·&quot;{&lt;0.165.0&gt;,ok}&quot;·}</code></pre><p><em>gc_minor_start</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">need·:·integer</code>·::·Heap·need.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and168 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">message_receive:·{·cpu_id·=·7·},·{·to·=·&quot;&lt;0.167.0&gt;&quot;,·message·=·&quot;{&lt;0.165.0&gt;,ok}&quot;·}</code></pre><p><em>gc_minor_start</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">need·:·integer</code>·::·Heap·need.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and
169 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">gc_minor_start</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="1647485299-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p"·data-group-id="1647485299-1">}</span><span·[·...·truncated·by·diffoscope;·len:·858,·SHA:·f028f0f247b175896e63c355a0664ce705db7df411c7e3cb3826c442b326fd67·...·]-2">}</span></code></pre><p><em>gc_minor_end</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">reclaimed·:·integer</code>·::·Heap·reclaimed.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and169 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">gc_minor_start</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7310927086-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p"·data-group-id="7310927086-1">}</span><span·[·...·truncated·by·diffoscope;·len:·858,·SHA:·1fec22fcde8f80f73a5ece9d9a032353a0bad524ef6919f309d59e6145de2ef6·...·]-2">}</span></code></pre><p><em>gc_minor_end</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">reclaimed·:·integer</code>·::·Heap·reclaimed.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and
170 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="c">gc_minor_end:·{·cpu_id·=·0·},·{·pid·=·&quot;&lt;0.172.0&gt;&quot;,·reclaimed·=·120,·heap·=·1598,·old_heap·=·1598·}</code></pre><p><em>gc_major_start</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">need·:·integer</code>·::·Heap·need.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and170 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="c">gc_minor_end:·{·cpu_id·=·0·},·{·pid·=·&quot;&lt;0.172.0&gt;&quot;,·reclaimed·=·120,·heap·=·1598,·old_heap·=·1598·}</code></pre><p><em>gc_major_start</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">need·:·integer</code>·::·Heap·need.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and
171 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">gc_major_start</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="0609160795-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p"·data-group-id="0609160795-1">}</span><span·[·...·truncated·by·diffoscope;·len:·862,·SHA:·9e4298003d2a36fa9c7ef294d3f7f2378a6d3a813894d9237cf870e050a465e1·...·]-2">}</span></code></pre><p><em>gc_major_end</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">reclaimed·:·integer</code>·::·Heap·reclaimed.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and171 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">gc_major_start</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="4033843281-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p"·data-group-id="4033843281-1">}</span><span·[·...·truncated·by·diffoscope;·len:·862,·SHA:·7b619f03a178d6606f4ab6950685d9046b1ebda39c2695a9a5c9c9e3d511a5ca·...·]-2">}</span></code></pre><p><em>gc_major_end</em></p><ul><li><code·class="inline">pid·:·string</code>·::·Process·ID.·Ex.·<code·class="inline">&quot;&lt;0.131.0&gt;&quot;</code></li><li><code·class="inline">reclaimed·:·integer</code>·::·Heap·reclaimed.·Ex.·<code·class="inline">2</code></li><li><code·class="inline">heap·:·integer</code>·::·Young·heap·word·size.·Ex.·<code·class="inline">233</code></li><li><code·class="inline">old_heap·:·integer</code>·::·Old·heap·word·size.·Ex.·<code·class="inline">233</code></li></ul><p>Available·through·<a·href="../../../../erts-16.0/doc/html/erlang.html#trace/3"><code·class="inline">erlang:trace/3</code></a>·with·trace·flag·<code·class="inline">garbage_collection</code>·and
172 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">gc_major_end:·{·cpu_id·=·0·},·{·pid·=·&quot;&lt;0.172.0&gt;&quot;,·reclaimed·=·240,·heap·=·4185,·old_heap·=·0·}</code></pre><h2·id="beam-tracepoints"·class="section-heading">172 <code·class="inline">{tracer,dyntrace,[]}</code>·as·tracer·module.</p><p>Example:</p><pre><code·class="text">gc_major_end:·{·cpu_id·=·0·},·{·pid·=·&quot;&lt;0.172.0&gt;&quot;,·reclaimed·=·240,·heap·=·4185,·old_heap·=·0·}</code></pre><h2·id="beam-tracepoints"·class="section-heading">
173 ··<a·href="#beam-tracepoints"·class="hover-link">173 ··<a·href="#beam-tracepoints"·class="hover-link">
174 ····<i·class="ri-link-m"·aria-hidden="true"></i>174 ····<i·class="ri-link-m"·aria-hidden="true"></i>
175 ··</a>175 ··</a>
176 ··<span·class="text">BEAM·Tracepoints</span>176 ··<span·class="text">BEAM·Tracepoints</span>
177 </h2>177 </h2>
178 <p>All·tracepoints·are·in·the·domain·of·<code·class="inline">org_erlang_otp</code></p><p>All·Erlang·types·are·the·string·equivalent·in·LTTng.</p><p><em>driver_init</em></p><ul><li><code·class="inline">driver·:·string</code>·::·Driver·name.·Ex.·<code·class="inline">&quot;tcp_inet&quot;</code></li><li><code·class="inline">major·:·integer</code>·::·Major·version.·Ex.·<code·class="inline">3</code></li><li><code·class="inline">minor·:·integer</code>·::·Minor·version.·Ex.·<code·class="inline">1</code></li><li><code·class="inline">flags·:·integer</code>·::·Flags.·Ex.·<code·class="inline">1</code></li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">driver_init</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="7224995160-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="p"·data-group-id="7224995160-1">}</span><span·[·...·truncated·by·diffoscope;·len:·19389,·SHA:·3b962465a242bd487b2d92165628b86501ab02e5972a3cd890a40d1e7b64dafc·...·]-2">}</span></code></pre><p><em>carrier_create</em></p><ul><li><code·class="inline">type·:·string</code>·::·Carrier·type.·Ex.·<code·class="inline">&quot;ets_alloc&quot;</code></li><li><code·class="inline">instance·:·integer</code>·::·Allocator·instance.·Ex.·<code·class="inline">1</code></li><li><code·class="inline">size·:·integer</code>·::·Carrier·size.·Ex.·<code·class="inline">262144</code></li><li><code·class="inline">mbc_carriers·:·integer</code>·::·Number·of·multiblock·carriers·in·instance.·Ex.·<code·class="inline">3</code></li><li><code·class="inline">mbc_carriers_size·:·integer</code>·::·Total·size·of·multiblock·blocks·carriers·in178 <p>All·tracepoints·are·in·the·domain·of·<code·class="inline">org_erlang_otp</code></p><p>All·Erlang·types·are·the·string·equivalent·in·LTTng.</p><p><em>driver_init</em></p><ul><li><code·class="inline">driver·:·string</code>·::·Driver·name.·Ex.·<code·class="inline">&quot;tcp_inet&quot;</code></li><li><code·class="inline">major·:·integer</code>·::·Major·version.·Ex.·<code·class="inline">3</code></li><li><code·class="inline">minor·:·integer</code>·::·Minor·version.·Ex.·<code·class="inline">1</code></li><li><code·class="inline">flags·:·integer</code>·::·Flags.·Ex.·<code·class="inline">1</code></li></ul><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">driver_init</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="4753315760-1">{</span><span·class="w">·</span><span·class="ss">cpu_id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="p"·data-group-id="4753315760-1">}</span><span·[·...·truncated·by·diffoscope;·len:·19389,·SHA:·cb95c4aff57080b496518ee5a0a831febe95acb4759a0f9c3b2efb2419789a45·...·]-2">}</span></code></pre><p><em>carrier_create</em></p><ul><li><code·class="inline">type·:·string</code>·::·Carrier·type.·Ex.·<code·class="inline">&quot;ets_alloc&quot;</code></li><li><code·class="inline">instance·:·integer</code>·::·Allocator·instance.·Ex.·<code·class="inline">1</code></li><li><code·class="inline">size·:·integer</code>·::·Carrier·size.·Ex.·<code·class="inline">262144</code></li><li><code·class="inline">mbc_carriers·:·integer</code>·::·Number·of·multiblock·carriers·in·instance.·Ex.·<code·class="inline">3</code></li><li><code·class="inline">mbc_carriers_size·:·integer</code>·::·Total·size·of·multiblock·blocks·carriers·in
179 instance.·Ex.·<code·class="inline">1343488</code></li><li><code·class="inline">mbc_blocks·:·integer</code>·::·Number·of·multiblock·blocks·in·instance.·Ex.·<code·class="inline">122</code></li><li><code·class="inline">mbc_blocks_size·:·integer</code>·::·Total·size·of·all·multiblock·blocks·in179 instance.·Ex.·<code·class="inline">1343488</code></li><li><code·class="inline">mbc_blocks·:·integer</code>·::·Number·of·multiblock·blocks·in·instance.·Ex.·<code·class="inline">122</code></li><li><code·class="inline">mbc_blocks_size·:·integer</code>·::·Total·size·of·all·multiblock·blocks·in
180 instance.·Ex.·<code·class="inline">285296</code></li><li><code·class="inline">sbc_carriers·:·integer</code>·::·Number·of·singleblock·carriers·in·instance.·Ex.180 instance.·Ex.·<code·class="inline">285296</code></li><li><code·class="inline">sbc_carriers·:·integer</code>·::·Number·of·singleblock·carriers·in·instance.·Ex.
181 <code·class="inline">1</code></li><li><code·class="inline">sbc_carriers_size·:·integer</code>·::·Total·size·of·singleblock·blocks·carriers·in181 <code·class="inline">1</code></li><li><code·class="inline">sbc_carriers_size·:·integer</code>·::·Total·size·of·singleblock·blocks·carriers·in
182 instance.·Ex.·<code·class="inline">1343488</code></li><li><code·class="inline">sbc_blocks·:·integer</code>·::·Number·of·singleblocks·in·instance.·Ex.·<code·class="inline">1</code></li><li><code·class="inline">sbc_blocks_size·:·integer</code>·::·Total·size·of·all·singleblock·blocks·in182 instance.·Ex.·<code·class="inline">1343488</code></li><li><code·class="inline">sbc_blocks·:·integer</code>·::·Number·of·singleblocks·in·instance.·Ex.·<code·class="inline">1</code></li><li><code·class="inline">sbc_blocks_size·:·integer</code>·::·Total·size·of·all·singleblock·blocks·in
183 instance.·Ex.·<code·class="inline">285296</code></li></ul><p>Example:</p><pre><code·class="c">carrier_create:·{·cpu_id·=·2·},·{·type·=·&quot;ets_alloc&quot;,·instance·=·7,·size·=·2097152,·mbc_carriers·=·4,·mbc_carriers_size·=·3440640,·mbc_blocks·=·526,·mbc_blocks_size·=·1278576,·sbc_carriers·=·0,·sbc_carriers_size·=·0,·sbc_blocks·=·0,·sbc_blocks_size·=·0·}</code></pre><p><em>carrier_destroy</em></p><ul><li><code·class="inline">type·:·string</code>·::·Carrier·type.·Ex.·<code·class="inline">&quot;ets_alloc&quot;</code></li><li><code·class="inline">instance·:·integer</code>·::·Allocator·instance.·Ex.·<code·class="inline">1</code></li><li><code·class="inline">size·:·integer</code>·::·Carrier·size.·Ex.·<code·class="inline">262144</code></li><li><code·class="inline">mbc_carriers·:·integer</code>·::·Number·of·multiblock·carriers·in·instance.·Ex.·<code·class="inline">3</code></li><li><code·class="inline">mbc_carriers_size·:·integer</code>·::·Total·size·of·multiblock·blocks·carriers·in183 instance.·Ex.·<code·class="inline">285296</code></li></ul><p>Example:</p><pre><code·class="c">carrier_create:·{·cpu_id·=·2·},·{·type·=·&quot;ets_alloc&quot;,·instance·=·7,·size·=·2097152,·mbc_carriers·=·4,·mbc_carriers_size·=·3440640,·mbc_blocks·=·526,·mbc_blocks_size·=·1278576,·sbc_carriers·=·0,·sbc_carriers_size·=·0,·sbc_blocks·=·0,·sbc_blocks_size·=·0·}</code></pre><p><em>carrier_destroy</em></p><ul><li><code·class="inline">type·:·string</code>·::·Carrier·type.·Ex.·<code·class="inline">&quot;ets_alloc&quot;</code></li><li><code·class="inline">instance·:·integer</code>·::·Allocator·instance.·Ex.·<code·class="inline">1</code></li><li><code·class="inline">size·:·integer</code>·::·Carrier·size.·Ex.·<code·class="inline">262144</code></li><li><code·class="inline">mbc_carriers·:·integer</code>·::·Number·of·multiblock·carriers·in·instance.·Ex.·<code·class="inline">3</code></li><li><code·class="inline">mbc_carriers_size·:·integer</code>·::·Total·size·of·multiblock·blocks·carriers·in
184 instance.·Ex.·<code·class="inline">1343488</code></li><li><code·class="inline">mbc_blocks·:·integer</code>·::·Number·of·multiblock·blocks·in·instance.·Ex.·<code·class="inline">122</code></li><li><code·class="inline">mbc_blocks_size·:·integer</code>·::·Total·size·of·all·multiblock·blocks·in184 instance.·Ex.·<code·class="inline">1343488</code></li><li><code·class="inline">mbc_blocks·:·integer</code>·::·Number·of·multiblock·blocks·in·instance.·Ex.·<code·class="inline">122</code></li><li><code·class="inline">mbc_blocks_size·:·integer</code>·::·Total·size·of·all·multiblock·blocks·in
185 instance.·Ex.·<code·class="inline">285296</code></li><li><code·class="inline">sbc_carriers·:·integer</code>·::·Number·of·singleblock·carriers·in·instance.·Ex.185 instance.·Ex.·<code·class="inline">285296</code></li><li><code·class="inline">sbc_carriers·:·integer</code>·::·Number·of·singleblock·carriers·in·instance.·Ex.
Offset 194, 18 lines modifiedOffset 194, 18 lines modified
194 <p>An·example·of·process·tracing·of·<code·class="inline">os_mon</code>·and·friends.</p><p>Clean·start·of·lttng·in·a·bash·shell.</p><pre><code·class="text">$·lttng·create·erlang-demo194 <p>An·example·of·process·tracing·of·<code·class="inline">os_mon</code>·and·friends.</p><p>Clean·start·of·lttng·in·a·bash·shell.</p><pre><code·class="text">$·lttng·create·erlang-demo
195 Spawning·a·session·daemon195 Spawning·a·session·daemon
196 Session·erlang-demo·created.196 Session·erlang-demo·created.
197 Traces·will·be·written·in·/home/egil/lttng-traces/erlang-demo-20160526-165920</code></pre><p>Start·an·Erlang·node·with·lttng·enabled.</p><pre><code·class="text">$·erl197 Traces·will·be·written·in·/home/egil/lttng-traces/erlang-demo-20160526-165920</code></pre><p>Start·an·Erlang·node·with·lttng·enabled.</p><pre><code·class="text">$·erl
198 Erlang/OTP·19·[erts-8.0]·[source-4d7b24d]·[64-bit]·[smp:8:8]·[async-threads:10]·[hipe]·[kernel-poll:false]·[lttng]198 Erlang/OTP·19·[erts-8.0]·[source-4d7b24d]·[64-bit]·[smp:8:8]·[async-threads:10]·[hipe]·[kernel-poll:false]·[lttng]
  
199 Eshell·V8.0··(abort·with·^G)199 Eshell·V8.0··(abort·with·^G)
200 1&gt;</code></pre><p>Load·the·<code·class="inline">dyntrace</code>·module.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">l</span><span·class="p"·data-group-id="6023253766-1">(</span><span·class="ss">dyntrace</span><span·class="p"·data-group-id="6023253766-1">)</span><span·class="p">.</span><span·class="w">200 1&gt;</code></pre><p>Load·the·<code·class="inline">dyntrace</code>·module.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">l</span><span·class="p"·data-group-id="6597270320-1">(</span><span·class="ss">dyntrace</span><span·class="p"·data-group-id="6597270320-1">)</span><span·class="p">.</span><span·class="w">
201 </span><span·class="p"·data-group-id="6023253766-2">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">dyntrace</span><span·class="p"·data-group-id="6023253766-2">}</span></code></pre><p>All·tracepoints·via·dyntrace·are·now·visible·and·can·be·listed·through201 </span><span·class="p"·data-group-id="6597270320-2">{</span><span·class="ss">module</span><span·class="p">,</span><span·class="ss">dyntrace</span><span·class="p"·data-group-id="6597270320-2">}</span></code></pre><p>All·tracepoints·via·dyntrace·are·now·visible·and·can·be·listed·through
202 <code·class="inline">lttng·list·-u</code>.</p><p>Enable·the·process_register·LTTng·tracepoint·for·Erlang.</p><pre><code·class="text">$·lttng·enable-event·-u·org_erlang_dyntrace:process_register202 <code·class="inline">lttng·list·-u</code>.</p><p>Enable·the·process_register·LTTng·tracepoint·for·Erlang.</p><pre><code·class="text">$·lttng·enable-event·-u·org_erlang_dyntrace:process_register
203 UST·event·org_erlang_dyntrace:process_register·created·in·channel·channel0</code></pre><p>Enable·process·tracing·for·new·processes·and·use·<code·class="inline">dyntrace</code>·as·tracer·backend.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">trace</span><span·class="p"·data-group-id="3075652074-1">(</span><span·class="ss">new</span><span·class="p">,</span><span·class="ss">true</span><span·class="p">,</span><span·class="p"·data-group-id="3075652074-2">[</span><span·class="ss">procs</span><span·class="p">,</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·391,·SHA:·8b780575dfc15ff86cdb69e769f4ed5034621e93f8ea6bb26a398bb86490b68b·...·]-1">)</span><span·class="p">.</span><span·class="w">203 UST·event·org_erlang_dyntrace:process_register·created·in·channel·channel0</code></pre><p>Enable·process·tracing·for·new·processes·and·use·<code·class="inline">dyntrace</code>·as·tracer·backend.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">trace</span><span·class="p"·data-group-id="1088343971-1">(</span><span·class="ss">new</span><span·class="p">,</span><span·class="ss">true</span><span·class="p">,</span><span·class="p"·data-group-id="1088343971-2">[</span><span·class="ss">procs</span><span·class="p">,</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·391,·SHA:·42f712ed52956a5c596fb8b5ae924e0b00734c27e9859c374cae33590cb55a65·...·]-1">)</span><span·class="p">.</span><span·class="w">
204 </span><span·class="mi">0</span></code></pre><p>Start·LTTng·tracing.</p><pre><code·class="text">$·lttng·start204 </span><span·class="mi">0</span></code></pre><p>Start·LTTng·tracing.</p><pre><code·class="text">$·lttng·start
205 Tracing·started·for·session·erlang-demo</code></pre><p>Start·the·<code·class="inline">os_mon</code>·application·in·Erlang.</p><pre><code·class="text">3&gt;·application:ensure_all_started(os_mon).205 Tracing·started·for·session·erlang-demo</code></pre><p>Start·the·<code·class="inline">os_mon</code>·application·in·Erlang.</p><pre><code·class="text">3&gt;·application:ensure_all_started(os_mon).
206 {ok,[sasl,os_mon]}</code></pre><p>Stop·LTTng·tracing·and·view·the·result.</p><pre><code·class="text">$·lttng·stop206 {ok,[sasl,os_mon]}</code></pre><p>Stop·LTTng·tracing·and·view·the·result.</p><pre><code·class="text">$·lttng·stop
207 Tracing·stopped·for·session·erlang-demo207 Tracing·stopped·for·session·erlang-demo
208 $·lttng·view208 $·lttng·view
209 [17:20:42.561168759]·(+?.?????????)·elxd1168lx9·org_erlang_dyntrace:process_register:·\209 [17:20:42.561168759]·(+?.?????????)·elxd1168lx9·org_erlang_dyntrace:process_register:·\
210 ····{·cpu_id·=·5·},·{·pid·=·&quot;&lt;0.66.0&gt;&quot;,·name·=·&quot;sasl_sup&quot;,·type·=·&quot;register&quot;·}210 ····{·cpu_id·=·5·},·{·pid·=·&quot;&lt;0.66.0&gt;&quot;,·name·=·&quot;sasl_sup&quot;,·type·=·&quot;register&quot;·}
Offset 271, 15 lines modifiedOffset 271, 15 lines modified
271 ······<p·class="built-using">271 ······<p·class="built-using">
272 ········Built·using272 ········Built·using
273 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the273 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
274 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>274 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
275 ······</p>275 ······</p>
276 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>276 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
277 ····</footer>277 ····</footer>
278 ··</div>278 ··</div>
279 </main>279 </main>
280 </div>280 </div>
281 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>281 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
282 ··<script>282 ··<script>
283 ··let·initialized·=·false;283 ··let·initialized·=·false;
705 B
html2text {}
Max HTML report size reached
14.3 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/msacc.html
    
Offset 127, 29 lines modifiedOffset 127, 29 lines modified
127 ··</h1>127 ··</h1>
  
  
128 ····<section·id="moduledoc">128 ····<section·id="moduledoc">
129 <p>Convenience·functions·for·microstate·accounting</p><p>This·module·implements·some·convenience·functions·for·analyzing·microstate129 <p>Convenience·functions·for·microstate·accounting</p><p>This·module·implements·some·convenience·functions·for·analyzing·microstate
130 accounting·data.·For·details·about·how·to·use·the·basic·API·and·what·the130 accounting·data.·For·details·about·how·to·use·the·basic·API·and·what·the
131 different·states·represent,·see131 different·states·represent,·see
132 <a·href="../../../../erts-16.0/doc/html/erlang.html#statistics_microstate_accounting"><code·class="inline">erlang:statistics(microstate_accounting)</code></a>.</p><p><a·href=""·id="msacc_print_example"></a></p><p><em>Basic·Scenario</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">msacc</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="6914284071-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="6914284071-1">)</span><span·class="p">.</span><span·class="w">132 <a·href="../../../../erts-16.0/doc/html/erlang.html#statistics_microstate_accounting"><code·class="inline">erlang:statistics(microstate_accounting)</code></a>.</p><p><a·href=""·id="msacc_print_example"></a></p><p><em>Basic·Scenario</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">msacc</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="5420314655-1">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="5420314655-1">)</span><span·class="p">.</span><span·class="w">
133 </span><span·class="ss">ok</span><span·class="gp·unselectable">133 </span><span·class="ss">ok</span><span·class="gp·unselectable">
134 2&gt;·</span><span·class="nc">msacc</span><span·class="p">:</span><span·class="nf">print</span><span·class="p"·data-group-id="6914284071-2">(</span><span·class="p"·data-group-id="6914284071-2">)</span><span·class="p">.</span><span·class="w">134 2&gt;·</span><span·class="nc">msacc</span><span·class="p">:</span><span·class="nf">print</span><span·class="p"·data-group-id="5420314655-2">(</span><span·class="p"·data-group-id="5420314655-2">)</span><span·class="p">.</span><span·class="w">
135 </span><span·class="n">Average</span><span·class="w">·</span><span·class="ss">thread</span><span·class="w">·</span><span·class="ss">real</span><span·class="o">-</span><span·class="ss">time</span><span·class="w">····</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">1000513</span><span·class="w">·</span><span·class="ss">us</span><span·class="w">135 </span><span·class="n">Average</span><span·class="w">·</span><span·class="ss">thread</span><span·class="w">·</span><span·class="ss">real</span><span·class="o">-</span><span·class="ss">time</span><span·class="w">····</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">1000513</span><span·class="w">·</span><span·class="ss">us</span><span·class="w">
136 </span><span·class="n">Accumulated</span><span·class="w">·</span><span·class="ss">system</span><span·class="w">·</span><span·class="ss">run</span><span·class="o">-</span><span·class="ss">time</span><span·class="w">·</span><span·class="p">:</span><span·class="w">····</span><span·class="mi">2213</span><span·class="w">·</span><span·class="ss">us</span><span·class="w">136 </span><span·class="n">Accumulated</span><span·class="w">·</span><span·class="ss">system</span><span·class="w">·</span><span·class="ss">run</span><span·class="o">-</span><span·class="ss">time</span><span·class="w">·</span><span·class="p">:</span><span·class="w">····</span><span·class="mi">2213</span><span·class="w">·</span><span·class="ss">us</span><span·class="w">
137 </span><span·class="n">Average</span><span·class="w">·</span><span·class="ss">scheduler</span><span·class="w">·</span><span·class="ss">run</span><span·class="o">-</span><span·class="ss">time</span><span·class="w">··</span><span·class="p">:</span><span·class="w">····</span><span·class="mi">1076</span><span·class="w">·</span><span·class="ss">us</span><span·class="w">137 </span><span·class="n">Average</span><span·class="w">·</span><span·class="ss">scheduler</span><span·class="w">·</span><span·class="ss">run</span><span·class="o">-</span><span·class="ss">time</span><span·class="w">··</span><span·class="p">:</span><span·class="w">····</span><span·class="mi">1076</span><span·class="w">·</span><span·class="ss">us</span><span·class="w">
  
138 ········</span><span·class="n">Thread</span><span·class="w">······</span><span·class="ss">aux</span><span·class="w">·</span><span·class="ss">check_io</span><span·class="w">·</span><span·class="ss">emulator</span><span·class="w">·······</span><span·class="ss">gc</span><span·class="w">····</span><span·class="ss">other</span><span·class="w">·····</span><span·class="ss">port</span><span·class="w">····</span><span·class="ss">sleep</span><span·class="w">138 ········</span><span·class="n">Thread</span><span·class="w">······</span><span·class="ss">aux</span><span·class="w">·</span><span·class="ss">check_io</span><span·class="w">·</span><span·class="ss">emulator</span><span·class="w">·······</span><span·class="ss">gc</span><span·class="w">····</span><span·class="ss">other</span><span·class="w">·····</span><span·class="ss">port</span><span·class="w">····</span><span·class="ss">sleep</span><span·class="w">
  
139 </span><span·class="n">Stats</span><span·class="w">·</span><span·class="ss">per</span><span·class="w">·</span><span·class="nc">thread</span><span·class="p">:</span><span·class="w">139 </span><span·class="n">Stats</span><span·class="w">·</span><span·class="ss">per</span><span·class="w">·</span><span·class="nc">thread</span><span·class="p">:</span><span·class="w">
140 ·····</span><span·class="nf">async</span><span·class="p"·data-group-id="6914284071-3">(</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="6914284071-3">)</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.00%····0.00%····0.00%····0.00%····0.00%··100.00%</span><span·class="w">140 ·····</span><span·class="nf">async</span><span·class="p"·data-group-id="5420314655-3">(</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="5420314655-3">)</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.00%····0.00%····0.00%····0.00%····0.00%··100.00%</span><span·class="w">
141 ·····</span><span·class="nf">async</span><span·class="p"·data-group-id="6914284071-4">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6914284071-4">)</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.00%····0.00%····0.00%····0.00%····0.00%··100.00%</span><span·class="w">141 ·····</span><span·class="nf">async</span><span·class="p"·data-group-id="5420314655-4">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5420314655-4">)</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.00%····0.00%····0.00%····0.00%····0.00%··100.00%</span><span·class="w">
142 ·······</span><span·class="nf">aux</span><span·class="p"·data-group-id="6914284071-5">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6914284071-5">)</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.00%····0.00%····0.00%····0.00%····0.00%···99.99%</span><span·class="w">142 ·······</span><span·class="nf">aux</span><span·class="p"·data-group-id="5420314655-5">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5420314655-5">)</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.00%····0.00%····0.00%····0.00%····0.00%···99.99%</span><span·class="w">
143 ·</span><span·class="nf">scheduler</span><span·class="p"·data-group-id="6914284071-6">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="6914284071-6">)</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.03%····0.13%····0.00%····0.01%····0.00%···99.82%</span><span·class="w">143 ·</span><span·class="nf">scheduler</span><span·class="p"·data-group-id="5420314655-6">(</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5420314655-6">)</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.03%····0.13%····0.00%····0.01%····0.00%···99.82%</span><span·class="w">
144 ·</span><span·class="nf">scheduler</span><span·class="p"·data-group-id="6914284071-7">(</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="6914284071-7">)</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.00%····0.00%····0.00%····0.03%····0.00%···99.97%</span><span·class="w">144 ·</span><span·class="nf">scheduler</span><span·class="p"·data-group-id="5420314655-7">(</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="5420314655-7">)</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.00%····0.00%····0.00%····0.03%····0.00%···99.97%</span><span·class="w">
  
145 </span><span·class="n">Stats</span><span·class="w">·</span><span·class="ss">per</span><span·class="w">·</span><span·class="nc">type</span><span·class="p">:</span><span·class="w">145 </span><span·class="n">Stats</span><span·class="w">·</span><span·class="ss">per</span><span·class="w">·</span><span·class="nc">type</span><span·class="p">:</span><span·class="w">
146 ·········</span><span·class="ss">async</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.00%····0.00%····0.00%····0.00%····0.00%··100.00%</span><span·class="w">146 ·········</span><span·class="ss">async</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.00%····0.00%····0.00%····0.00%····0.00%··100.00%</span><span·class="w">
147 ···········</span><span·class="ss">aux</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.00%····0.00%····0.00%····0.00%····0.00%···99.99%</span><span·class="w">147 ···········</span><span·class="ss">aux</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.00%····0.00%····0.00%····0.00%····0.00%···99.99%</span><span·class="w">
148 ·····</span><span·class="ss">scheduler</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.02%····0.06%····0.00%····0.02%····0.00%···99.89%</span><span·class="w">148 ·····</span><span·class="ss">scheduler</span><span·class="w">····</span><span·class="mf">0.00</span><span·class="c1">%····0.02%····0.06%····0.00%····0.02%····0.00%···99.89%</span><span·class="w">
149 </span><span·class="ss">ok</span></code></pre><p>This·first·command·enables·microstate·accounting·for·1000·milliseconds.·See149 </span><span·class="ss">ok</span></code></pre><p>This·first·command·enables·microstate·accounting·for·1000·milliseconds.·See
150 <a·href="#start/0"><code·class="inline">start/0</code></a>,·<a·href="#stop/0"><code·class="inline">stop/0</code></a>,·<a·href="#reset/0"><code·class="inline">reset/0</code></a>,·and·<a·href="#start/1"><code·class="inline">start/1</code></a>·for·more·details.·The·second150 <a·href="#start/0"><code·class="inline">start/0</code></a>,·<a·href="#stop/0"><code·class="inline">stop/0</code></a>,·<a·href="#reset/0"><code·class="inline">reset/0</code></a>,·and·<a·href="#start/1"><code·class="inline">start/1</code></a>·for·more·details.·The·second
Offset 911, 15 lines modifiedOffset 911, 15 lines modified
  
911 ······</div>911 ······</div>
  
912 <p>Print·the·given·microstate·statistics·values·to·standard·out.·With·many·states912 <p>Print·the·given·microstate·statistics·values·to·standard·out.·With·many·states
913 this·can·be·verbose.·See·the·top·of·this·reference·manual·for·a·brief913 this·can·be·verbose.·See·the·top·of·this·reference·manual·for·a·brief
914 description·of·what·the·fields·mean.</p><p>It·is·possible·to·print·more·specific·types·of·statistics·by·first·manipulating914 description·of·what·the·fields·mean.</p><p>It·is·possible·to·print·more·specific·types·of·statistics·by·first·manipulating
915 the·<code·class="inline">DataOrStats</code>·using·<a·href="#stats/2"><code·class="inline">stats/2</code></a>.·For·instance·if·you·want·to·print·the915 the·<code·class="inline">DataOrStats</code>·using·<a·href="#stats/2"><code·class="inline">stats/2</code></a>.·For·instance·if·you·want·to·print·the
916 percentage·of·run-time·for·each·thread·you·can·do:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">msacc</span><span·class="p">:</span><span·class="nf">print</span><span·class="p"·data-group-id="1204017736-1">(</span><span·class="nc">msacc</span><span·class="p">:</span><span·class="nf">stats</span><span·class="p"·data-group-id="1204017736-2">(</span><span·class="ss">runtime</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">msa[·...·truncated·by·diffoscope;·len:·1322,·SHA:·14ea091450a76174d77805978ff54ac9bcf2988b1a18a071f4d9e4970c4bf0f0·...·]0-1">)</span><span·class="p">.</span></code></pre><p><em>Options</em></p><ul><li><strong><code·class="inline">system</code></strong>·-·Print·percentage·of·time·spent·in·each·state·out·of·system·time916 percentage·of·run-time·for·each·thread·you·can·do:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">msacc</span><span·class="p">:</span><span·class="nf">print</span><span·class="p"·data-group-id="4938511633-1">(</span><span·class="nc">msacc</span><span·class="p">:</span><span·class="nf">stats</span><span·class="p"·data-group-id="4938511633-2">(</span><span·class="ss">runtime</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">msa[·...·truncated·by·diffoscope;·len:·1322,·SHA:·f34d7a8abcfd9d676b93f4cc6c4df723bbf7981cd3889ebc29296641aa6b8c77·...·]0-1">)</span><span·class="p">.</span></code></pre><p><em>Options</em></p><ul><li><strong><code·class="inline">system</code></strong>·-·Print·percentage·of·time·spent·in·each·state·out·of·system·time
917 as·well·as·thread·time.·Default:·false.</li></ul>917 as·well·as·thread·time.·Default:·false.</li></ul>
918 ··</section>918 ··</section>
919 </section>919 </section>
920 <section·class="detail"·id="print/3">920 <section·class="detail"·id="print/3">
  
921 ··<div·class="detail-header">921 ··<div·class="detail-header">
922 ····<a·href="#print/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">922 ····<a·href="#print/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1186, 15 lines modifiedOffset 1186, 15 lines modified
1186 ······<p·class="built-using">1186 ······<p·class="built-using">
1187 ········Built·using1187 ········Built·using
1188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1190 ······</p>1190 ······</p>
1191 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1191 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1192 ····</footer>1192 ····</footer>
1193 ··</div>1193 ··</div>
1194 </main>1194 </main>
1195 </div>1195 </div>
1196 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1196 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1197 ··<script>1197 ··<script>
1198 ··let·initialized·=·false;1198 ··let·initialized·=·false;
651 B
html2text {}
Max HTML report size reached
12.3 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/notes.html
    
Offset 133, 17 lines modifiedOffset 133, 17 lines modified
133 </h2>133 </h2>
134 <h3·id="improvements-and-new-features"·class="section-heading">134 <h3·id="improvements-and-new-features"·class="section-heading">
135 ··<a·href="#improvements-and-new-features"·class="hover-link">135 ··<a·href="#improvements-and-new-features"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Improvements·and·New·Features</span>138 ··<span·class="text">Improvements·and·New·Features</span>
139 </h3>139 </h3>
140 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="8658514345-1">(</span><span·class="p"·data-group-id="8658514345-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8658514345-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·90bd130a683e09af93ec0034b1ae16947e9df5c2866e1b02ff751ad7dfb48196·...·]-2">)</span><span·class="p">.</span><span·class="w">140 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="9799694094-1">(</span><span·class="p"·data-group-id="9799694094-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9799694094-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·f1c8b6023f017f61be0024b5fd21913eb7c79fb2cd4991c33ebaa92ff0cede59·...·]-2">)</span><span·class="p">.</span><span·class="w">
141 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="8658514345-3">(</span><span·class="p"·data-group-id="8658514345-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8658514345-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·65b7c7de5a5386a48aac6f665661b617eafb0cbebb0a2a1401a27d82bc289e96·...·]-2">)</span><span·class="p">.</span><span·class="w">141 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="9799694094-3">(</span><span·class="p"·data-group-id="9799694094-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9799694094-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·60d8ba20d76cd856acd3f9960f59fee90121b15854b9d2865c164548a2e670ba·...·]-2">)</span><span·class="p">.</span><span·class="w">
142 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="7905768879-3">(</span><span·class="p"·data-group-id="7905768879-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="7905768879-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·8b6ab996104fc08898eb36ec0e00fa01c1533b1856f1745a7fddeb802237d090·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>When·compiling·C/C++·code·on·Unix·systems,·the·compiler·hardening·flags·suggested·by·the·<a·href="https://github.com/ossf/wg-best-practices-os-developers/blob/main/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C%2B%2B.md">Open·Source·Security·Foundation</a>·are·now·enabled·by·default.·To·disable·them,·pass·<code·class="inline">--disable-security-hardening-flags</code>·to·<code·class="inline">configure</code>.</p><p>Own·Id:·OTP-19519·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9441"·title="">PR-9441</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>With·this·change·observer·will·use·cheaper·iterators·to·avoid·locking·when·not·necessary.</p><p>Own·Id:·OTP-19584·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9711"·title="">PR-9711</a></p></li></ul><h2·id="runtime_tools-2-1-1"·class="section-heading">142 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="8854052372-3">(</span><span·class="p"·data-group-id="8854052372-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8854052372-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·6c327bc56cb89aa4f3ff15596b982b526a238073d411fc39f4d4fa4728b53eec·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>When·compiling·C/C++·code·on·Unix·systems,·the·compiler·hardening·flags·suggested·by·the·<a·href="https://github.com/ossf/wg-best-practices-os-developers/blob/main/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C%2B%2B.md">Open·Source·Security·Foundation</a>·are·now·enabled·by·default.·To·disable·them,·pass·<code·class="inline">--disable-security-hardening-flags</code>·to·<code·class="inline">configure</code>.</p><p>Own·Id:·OTP-19519·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9441"·title="">PR-9441</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>With·this·change·observer·will·use·cheaper·iterators·to·avoid·locking·when·not·necessary.</p><p>Own·Id:·OTP-19584·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9711"·title="">PR-9711</a></p></li></ul><h2·id="runtime_tools-2-1-1"·class="section-heading">
143 ··<a·href="#runtime_tools-2-1-1"·class="hover-link">143 ··<a·href="#runtime_tools-2-1-1"·class="hover-link">
144 ····<i·class="ri-link-m"·aria-hidden="true"></i>144 ····<i·class="ri-link-m"·aria-hidden="true"></i>
145 ··</a>145 ··</a>
146 ··<span·class="text">Runtime_Tools·2.1.1</span>146 ··<span·class="text">Runtime_Tools·2.1.1</span>
147 </h2>147 </h2>
148 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">148 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">
149 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">149 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">
Offset 1289, 15 lines modifiedOffset 1289, 15 lines modified
1289 ······<p·class="built-using">1289 ······<p·class="built-using">
1290 ········Built·using1290 ········Built·using
1291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1293 ······</p>1293 ······</p>
1294 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1294 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1295 ····</footer>1295 ····</footer>
1296 ··</div>1296 ··</div>
1297 </main>1297 </main>
1298 </div>1298 </div>
1299 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1299 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1300 ··<script>1300 ··<script>
1301 ··let·initialized·=·false;1301 ··let·initialized·=·false;
680 B
html2text {}
Max HTML report size reached
509 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/runtime_tools.epub
3.27 KB
zipinfo {}
Max HTML report size reached
109 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:14:44,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:52:58,·uncompressed·size·20,·method=store
2.53 KB
OEBPS/scheduler.xhtml
Max HTML report size reached
10.8 KB
OEBPS/notes.xhtml
Max HTML report size reached
12.9 KB
OEBPS/msacc.xhtml
Max HTML report size reached
92.2 KB
OEBPS/lttng.xhtml
Max HTML report size reached
50.5 KB
OEBPS/instrument.xhtml
Max HTML report size reached
11.3 KB
OEBPS/dyntrace.xhtml
Max HTML report size reached
215 KB
OEBPS/dbg.xhtml
Max HTML report size reached
1.24 KB
OEBPS/content.opf
1.21 KB
OEBPS/content.opf
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/runtime_tools_app.html
    
Offset 191, 15 lines modifiedOffset 191, 15 lines modified
191 ······<p·class="built-using">191 ······<p·class="built-using">
192 ········Built·using192 ········Built·using
193 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the193 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
194 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>194 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
195 ······</p>195 ······</p>
196 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>196 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
197 ····</footer>197 ····</footer>
198 ··</div>198 ··</div>
199 </main>199 </main>
200 </div>200 </div>
201 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>201 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
202 ··<script>202 ··<script>
203 ··let·initialized·=·false;203 ··let·initialized·=·false;
694 B
html2text {}
Max HTML report size reached
4.1 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/scheduler.html
    
Offset 591, 15 lines modifiedOffset 591, 15 lines modified
591 ······</div>591 ······</div>
  
592 <p>Measure·utilization·for·normal·and·dirty-cpu·schedulers·during·<code·class="inline">Seconds</code>592 <p>Measure·utilization·for·normal·and·dirty-cpu·schedulers·during·<code·class="inline">Seconds</code>
593 seconds,·and·then·return·the·result.</p><p>Will·automatically·first·enable·and·then·disable593 seconds,·and·then·return·the·result.</p><p>Will·automatically·first·enable·and·then·disable
594 <a·href="../../../../erts-16.0/doc/html/erlang.html#system_flag_scheduler_wall_time"><code·class="inline">scheduler_wall_time</code></a>.</p><p>Calculate·scheduler·utilizations·for·the·time·interval·from·when·<code·class="inline">Sample</code>·was594 <a·href="../../../../erts-16.0/doc/html/erlang.html#system_flag_scheduler_wall_time"><code·class="inline">scheduler_wall_time</code></a>.</p><p>Calculate·scheduler·utilizations·for·the·time·interval·from·when·<code·class="inline">Sample</code>·was
595 taken·and·&quot;now&quot;.·The·same·as·calling595 taken·and·&quot;now&quot;.·The·same·as·calling
596 <code·class="inline">scheduler:utilization(Sample,·scheduler:sample_all())</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·function·is·<em>not·recommended</em>·as·it's·so·easy·to·get·invalid·results596 <code·class="inline">scheduler:utilization(Sample,·scheduler:sample_all())</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·function·is·<em>not·recommended</em>·as·it's·so·easy·to·get·invalid·results
597 without·noticing.·In·particular·do·not·do·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">scheduler</span><span·class="p">:</span><span·class="nf">utilization</span><span·class="p"·data-group-id="7740019944-1">(</span><span·class="nc">scheduler</span><span·class="p">:</span><span·class="nf">sample</span><span·class="p"·data-group-id="7740019944-2">(</span><span·class="p"·data-group-id="7740019944-2">)</span><span·class="p"·data-group-id="7740019944-1">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·DO·NOT·DO·THIS!</span></code></pre><p>The·above·example·takes·two·samples·in·rapid·succession·and·calculates·the597 without·noticing.·In·particular·do·not·do·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">scheduler</span><span·class="p">:</span><span·class="nf">utilization</span><span·class="p"·data-group-id="2985924257-1">(</span><span·class="nc">scheduler</span><span·class="p">:</span><span·class="nf">sample</span><span·class="p"·data-group-id="2985924257-2">(</span><span·class="p"·data-group-id="2985924257-2">)</span><span·class="p"·data-group-id="2985924257-1">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·DO·NOT·DO·THIS!</span></code></pre><p>The·above·example·takes·two·samples·in·rapid·succession·and·calculates·the
598 scheduler·utilization·between·them.·The·resulting·values·will·probably·be·more598 scheduler·utilization·between·them.·The·resulting·values·will·probably·be·more
599 misleading·than·informative.</p><p>Instead·use·<a·href="#utilization/2"><code·class="inline">scheduler:utilization/2</code></a>·and·call599 misleading·than·informative.</p><p>Instead·use·<a·href="#utilization/2"><code·class="inline">scheduler:utilization/2</code></a>·and·call
600 <a·href="#get_sample/0"><code·class="inline">get_sample/0</code></a>·to·get·samples·with·some·time·in·between.</p></section>600 <a·href="#get_sample/0"><code·class="inline">get_sample/0</code></a>·to·get·samples·with·some·time·in·between.</p></section>
601 ··</section>601 ··</section>
602 </section>602 </section>
603 <section·class="detail"·id="utilization/2">603 <section·class="detail"·id="utilization/2">
  
Offset 657, 15 lines modifiedOffset 657, 15 lines modified
657 ······<p·class="built-using">657 ······<p·class="built-using">
658 ········Built·using658 ········Built·using
659 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the659 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
660 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>660 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
661 ······</p>661 ······</p>
662 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>662 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
663 ····</footer>663 ····</footer>
664 ··</div>664 ··</div>
665 </main>665 </main>
666 </div>666 </div>
667 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>667 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
668 ··<script>668 ··<script>
669 ··let·initialized·=·false;669 ··let·initialized·=·false;
799 B
html2text {}
Max HTML report size reached
1.28 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
468 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/system_information.html
    
Offset 290, 15 lines modifiedOffset 290, 15 lines modified
290 ······<p·class="built-using">290 ······<p·class="built-using">
291 ········Built·using291 ········Built·using
292 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the292 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
293 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>293 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
294 ······</p>294 ······</p>
295 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>295 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
296 ····</footer>296 ····</footer>
297 ··</div>297 ··</div>
298 </main>298 </main>
299 </div>299 </div>
300 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>300 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
301 ··<script>301 ··<script>
302 ··let·initialized·=·false;302 ··let·initialized·=·false;
629 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/runtime_tools-2.2/doc/html/systemtap.html
    
Offset 209, 15 lines modifiedOffset 209, 15 lines modified
209 ······<p·class="built-using">209 ······<p·class="built-using">
210 ········Built·using210 ········Built·using
211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
213 ······</p>213 ······</p>
214 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>214 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
215 ····</footer>215 ····</footer>
216 ··</div>216 ··</div>
217 </main>217 </main>
218 </div>218 </div>
219 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>219 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
220 ··<script>220 ··<script>
221 ··let·initialized·=·false;221 ··let·initialized·=·false;
726 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/alarm_handler.html
    
Offset 404, 15 lines modifiedOffset 404, 15 lines modified
404 ······<p·class="built-using">404 ······<p·class="built-using">
405 ········Built·using405 ········Built·using
406 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the406 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
407 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>407 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
408 ······</p>408 ······</p>
409 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>409 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
410 ····</footer>410 ····</footer>
411 ··</div>411 ··</div>
412 </main>412 </main>
413 </div>413 </div>
414 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>414 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
415 ··<script>415 ··<script>
416 ··let·initialized·=·false;416 ··let·initialized·=·false;
702 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/api-reference.html
    
Offset 208, 15 lines modifiedOffset 208, 15 lines modified
208 ······<p·class="built-using">208 ······<p·class="built-using">
209 ········Built·using209 ········Built·using
210 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the210 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
211 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>211 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
212 ······</p>212 ······</p>
213 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>213 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
214 ····</footer>214 ····</footer>
215 ··</div>215 ··</div>
216 </main>216 </main>
217 </div>217 </div>
218 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>218 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
219 ··<script>219 ··<script>
220 ··let·initialized·=·false;220 ··let·initialized·=·false;
605 B
html2text {}
Max HTML report size reached
36.5 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/appup.html
    
Offset 216, 29 lines modifiedOffset 216, 29 lines modified
216 that·is,·if·a·process·using·the·module·spontaneously·switches·to·new·code,·or216 that·is,·if·a·process·using·the·module·spontaneously·switches·to·new·code,·or
217 if·it·is·&quot;static&quot;.·When·doing·an·advanced·update·and·upgrade,·the·new·version217 if·it·is·&quot;static&quot;.·When·doing·an·advanced·update·and·upgrade,·the·new·version
218 of·a·dynamic·module·is·loaded·before·the·process·is·asked·to·change·code.·When218 of·a·dynamic·module·is·loaded·before·the·process·is·asked·to·change·code.·When
219 downgrading,·the·process·is·asked·to·change·code·before·loading·the·new219 downgrading,·the·process·is·asked·to·change·code·before·loading·the·new
220 version.·For·static·modules,·the·new·version·is·loaded·before·the·process·is220 version.·For·static·modules,·the·new·version·is·loaded·before·the·process·is
221 asked·to·change·code,·both·in·the·case·of·upgrading·and·downgrading.·Callback221 asked·to·change·code,·both·in·the·case·of·upgrading·and·downgrading.·Callback
222 modules·are·dynamic.</p></li></ul><p><code·class="inline">update</code>·with·argument·<code·class="inline">supervisor</code>·is·used·when·changing·the·start222 modules·are·dynamic.</p></li></ul><p><code·class="inline">update</code>·with·argument·<code·class="inline">supervisor</code>·is·used·when·changing·the·start
223 specification·of·a·supervisor.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4148506653-1">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p"·data-group-id="4148506653-1">}</span><span·class="w">223 specification·of·a·supervisor.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1341524289-1">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p"·data-group-id="1341524289-1">}</span><span·class="w">
224 </span><span·class="p"·data-group-id="4148506653-2">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DepMods</span><span·class="p"·data-group-id="4148506653-2">}</span><span·class="w">224 </span><span·class="p"·data-group-id="1341524289-2">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DepMods</span><span·class="p"·data-group-id="1341524289-2">}</span><span·class="w">
225 </span><span·class="p"·data-group-id="4148506653-3">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PrePurge</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·153,·SHA:·6f8a5be7a751022c878a75edb396f7cac85497c5eaf5d1378ded9bb940c01906·...·]-3">}</span><span·class="w">225 </span><span·class="p"·data-group-id="1341524289-3">{</span><span·class="nb">load_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">PrePurge</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·153,·SHA:·17a468d6bbf0a19df71f0c5cc0264bfc348ba5a377e4babbbb74eeb63665d051·...·]-3">}</span><span·class="w">
226 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="4148506653-4">(</span><span·class="p"·data-group-id="4148506653-4">)</span><span·class="w">226 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="1341524289-4">(</span><span·class="p"·data-group-id="1341524289-4">)</span><span·class="w">
227 ··</span><span·class="n">PrePurge</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">PostPurge</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">soft_purge</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">brutal_purge</span><span·class="w">227 ··</span><span·class="n">PrePurge</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">PostPurge</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">soft_purge</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">brutal_purge</span><span·class="w">
228 ··</span><span·class="n">DepMods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4148506653-5">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="4148506653-5">]</span></code></pre><p>Simple·code·replacement·of·the·module·<code·class="inline">Mod</code>.</p><p>For·a·description·of·<code·class="inline">PrePurge</code>·and·<code·class="inline">PostPurge</code>,·see·<code·class="inline">update</code>·above.</p><p><code·class="inline">DepMods</code>·defaults·to·<code·class="inline">[]</code>·and·defines·which·other·modules·<code·class="inline">Mod</code>·is·dependent228 ··</span><span·class="n">DepMods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1341524289-5">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="1341524289-5">]</span></code></pre><p>Simple·code·replacement·of·the·module·<code·class="inline">Mod</code>.</p><p>For·a·description·of·<code·class="inline">PrePurge</code>·and·<code·class="inline">PostPurge</code>,·see·<code·class="inline">update</code>·above.</p><p><code·class="inline">DepMods</code>·defaults·to·<code·class="inline">[]</code>·and·defines·which·other·modules·<code·class="inline">Mod</code>·is·dependent
229 on.·In·the·<code·class="inline">relup</code>·file,·instructions·for·loading·these·modules·come·before·the229 on.·In·the·<code·class="inline">relup</code>·file,·instructions·for·loading·these·modules·come·before·the
230 instruction·for·loading·<code·class="inline">Mod</code>·when·upgrading,·and·conversely·when·downgrading.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0173124728-1">{</span><span·class="ss">add_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p"·data-group-id="0173124728-1">}</span><span·class="w">230 instruction·for·loading·<code·class="inline">Mod</code>·when·upgrading,·and·conversely·when·downgrading.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7104587173-1">{</span><span·class="ss">add_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p"·data-group-id="7104587173-1">}</span><span·class="w">
231 </span><span·class="p"·data-group-id="0173124728-2">{</span><span·class="ss">add_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DepMods</span><span·class="p"·data-group-id="0173124728-2">}</span><span·class="w">231 </span><span·class="p"·data-group-id="7104587173-2">{</span><span·class="ss">add_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DepMods</span><span·class="p"·data-group-id="7104587173-2">}</span><span·class="w">
232 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="0173124728-3">(</span><span·class="p"·data-group-id="0173124728-3">)</span><span·class="w">232 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="7104587173-3">(</span><span·class="p"·data-group-id="7104587173-3">)</span><span·class="w">
233 ··</span><span·class="n">DepMods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0173124728-4">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="0173124728-4">]</span></code></pre><p>Loads·a·new·module·<code·class="inline">Mod</code>.</p><p><code·class="inline">DepMods</code>·defaults·to·<code·class="inline">[]</code>·and·defines·which·other·modules·<code·class="inline">Mod</code>·is·dependent233 ··</span><span·class="n">DepMods</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7104587173-4">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="7104587173-4">]</span></code></pre><p>Loads·a·new·module·<code·class="inline">Mod</code>.</p><p><code·class="inline">DepMods</code>·defaults·to·<code·class="inline">[]</code>·and·defines·which·other·modules·<code·class="inline">Mod</code>·is·dependent
234 on.·In·the·<code·class="inline">relup</code>·file,·instructions·related·to·these·modules·come·before·the234 on.·In·the·<code·class="inline">relup</code>·file,·instructions·related·to·these·modules·come·before·the
235 instruction·for·loading·<code·class="inline">Mod</code>·when·upgrading,·and·conversely·when·downgrading.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8265464510-1">{</span><span·class="nb">delete_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p"·data-group-id="8265464510-1">}</span><span·class="w">235 instruction·for·loading·<code·class="inline">Mod</code>·when·upgrading,·and·conversely·when·downgrading.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1080125445-1">{</span><span·class="nb">delete_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p"·data-group-id="1080125445-1">}</span><span·class="w">
236 </span><span·class="p"·data-group-id="8265464510-2">{</span><span·class="nb">delete_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DepMods</span><span·class="p"·data-group-id="8265464510-2">}</span><span·class="w">236 </span><span·class="p"·data-group-id="1080125445-2">{</span><span·class="nb">delete_module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DepMods</span><span·class="p"·data-group-id="1080125445-2">}</span><span·class="w">
237 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="8265464510-3">(</span><span·class="p"·data-group-id="8265464510-3">)</span></code></pre><p>Deletes·a·module·<code·class="inline">Mod</code>·using·the·low-level·instructions·<code·class="inline">remove</code>·and·<code·class="inline">purge</code>.</p><p><code·class="inline">DepMods</code>·defaults·to·<code·class="inline">[]</code>·and·defines·which·other·modules·<code·class="inline">Mod</code>·is·dependent237 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="1080125445-3">(</span><span·class="p"·data-group-id="1080125445-3">)</span></code></pre><p>Deletes·a·module·<code·class="inline">Mod</code>·using·the·low-level·instructions·<code·class="inline">remove</code>·and·<code·class="inline">purge</code>.</p><p><code·class="inline">DepMods</code>·defaults·to·<code·class="inline">[]</code>·and·defines·which·other·modules·<code·class="inline">Mod</code>·is·dependent
238 on.·In·the·<code·class="inline">relup</code>·file,·instructions·related·to·these·modules·come·before·the238 on.·In·the·<code·class="inline">relup</code>·file,·instructions·related·to·these·modules·come·before·the
239 instruction·for·removing·<code·class="inline">Mod</code>·when·upgrading,·and·conversely·when·downgrading.</p><pre><code·class="text">{add_application,·Application}239 instruction·for·removing·<code·class="inline">Mod</code>·when·upgrading,·and·conversely·when·downgrading.</p><pre><code·class="text">{add_application,·Application}
240 {add_application,·Application,·Type}240 {add_application,·Application,·Type}
241 ··Application·=·atom()241 ··Application·=·atom()
242 ··Type·=·permanent·|·transient·|·temporary·|·load·|·none</code></pre><p>Adding·an·application·means·that·the·modules·defined·by·the·<code·class="inline">modules</code>·key·in·the242 ··Type·=·permanent·|·transient·|·temporary·|·load·|·none</code></pre><p>Adding·an·application·means·that·the·modules·defined·by·the·<code·class="inline">modules</code>·key·in·the
243 <code·class="inline">.app</code>·file·are·loaded·using·<code·class="inline">add_module</code>.</p><p><code·class="inline">Type</code>·defaults·to·<code·class="inline">permanent</code>·and·specifies·the·start·type·of·the·application.243 <code·class="inline">.app</code>·file·are·loaded·using·<code·class="inline">add_module</code>.</p><p><code·class="inline">Type</code>·defaults·to·<code·class="inline">permanent</code>·and·specifies·the·start·type·of·the·application.
244 If·<code·class="inline">Type·=·permanent·|·transient·|·temporary</code>,·the·application·is·loaded·and244 If·<code·class="inline">Type·=·permanent·|·transient·|·temporary</code>,·the·application·is·loaded·and
Offset 257, 62 lines modifiedOffset 257, 62 lines modified
257 application·is·not·loaded·and·not·started,·although·the·code·for·its·modules·is257 application·is·not·loaded·and·not·started,·although·the·code·for·its·modules·is
258 loaded.</p><h3·id="low-level-instructions"·class="section-heading">258 loaded.</p><h3·id="low-level-instructions"·class="section-heading">
259 ··<a·href="#low-level-instructions"·class="hover-link">259 ··<a·href="#low-level-instructions"·class="hover-link">
260 ····<i·class="ri-link-m"·aria-hidden="true"></i>260 ····<i·class="ri-link-m"·aria-hidden="true"></i>
261 ··</a>261 ··</a>
262 ··<span·class="text">Low-Level·Instructions</span>262 ··<span·class="text">Low-Level·Instructions</span>
263 </h3>263 </h3>
264 <pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2986654917-1">{</span><span·class="ss">load_object_code</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2986654917-2">{</span><span·class="n">App</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Vsn[·...·truncated·by·diffoscope;·len:·281,·SHA:·e71a54009cf98230a1ae29b36b7fe20c25d31687e41acbf00864ff5861e5ae39·...·]-1">}</span><span·class="w">264 <pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4610143752-1">{</span><span·class="ss">load_object_code</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4610143752-2">{</span><span·class="n">App</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Vsn[·...·truncated·by·diffoscope;·len:·281,·SHA:·7e8e31282c3a9f9abf0bb780de72006fb8fb165e58cb9c098fd907cc01054684·...·]-1">}</span><span·class="w">
265 ··</span><span·class="n">App</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="2986654917-4">(</span><span·class="p"·data-group-id="2986654917-4">)</span><span·class="w">265 ··</span><span·class="n">App</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="4610143752-4">(</span><span·class="p"·data-group-id="4610143752-4">)</span><span·class="w">
266 ··</span><span·class="n">Vsn</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="2986654917-5">(</span><span·class="p"·data-group-id="2986654917-5">)</span></code></pre><p>Reads·each·<code·class="inline">Mod</code>·from·directory·<code·class="inline">App-Vsn/ebin</code>·as·a·binary.·It·does·not·load·the266 ··</span><span·class="n">Vsn</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="4610143752-5">(</span><span·class="p"·data-group-id="4610143752-5">)</span></code></pre><p>Reads·each·<code·class="inline">Mod</code>·from·directory·<code·class="inline">App-Vsn/ebin</code>·as·a·binary.·It·does·not·load·the
267 modules.·The·instruction·is·to·be·placed·first·in·the·script·to·read·all·new267 modules.·The·instruction·is·to·be·placed·first·in·the·script·to·read·all·new
268 code·from·the·file·to·make·the·suspend-load-resume·cycle·less·time-consuming.</p><pre><code·class="text">point_of_no_return</code></pre><p>If·a·crash·occurs·after·this·instruction,·the·system·cannot·recover·and·is268 code·from·the·file·to·make·the·suspend-load-resume·cycle·less·time-consuming.</p><pre><code·class="text">point_of_no_return</code></pre><p>If·a·crash·occurs·after·this·instruction,·the·system·cannot·recover·and·is
269 restarted·from·the·old·release·version.·The·instruction·must·only·occur·once·in269 restarted·from·the·old·release·version.·The·instruction·must·only·occur·once·in
270 a·script.·It·is·to·be·placed·after·all·<code·class="inline">load_object_code</code>·instructions.</p><pre><code·class="text">{load,·{Mod,·PrePurge,·PostPurge}}270 a·script.·It·is·to·be·placed·after·all·<code·class="inline">load_object_code</code>·instructions.</p><pre><code·class="text">{load,·{Mod,·PrePurge,·PostPurge}}
271 ··Mod·=·atom()271 ··Mod·=·atom()
272 ··PrePurge·=·PostPurge·=·soft_purge·|·brutal_purge</code></pre><p>Before·this·instruction·occurs,·<code·class="inline">Mod</code>·must·have·been·loaded·using272 ··PrePurge·=·PostPurge·=·soft_purge·|·brutal_purge</code></pre><p>Before·this·instruction·occurs,·<code·class="inline">Mod</code>·must·have·been·loaded·using
273 <code·class="inline">load_object_code</code>.·This·instruction·loads·the·module.·<code·class="inline">PrePurge</code>·is·ignored.273 <code·class="inline">load_object_code</code>.·This·instruction·loads·the·module.·<code·class="inline">PrePurge</code>·is·ignored.
274 For·a·description·of·<code·class="inline">PostPurge</code>,·see·the·high-level·instruction·<code·class="inline">update</code>274 For·a·description·of·<code·class="inline">PostPurge</code>,·see·the·high-level·instruction·<code·class="inline">update</code>
275 earlier.</p><pre><code·class="text">{remove,·{Mod,·PrePurge,·PostPurge}}275 earlier.</p><pre><code·class="text">{remove,·{Mod,·PrePurge,·PostPurge}}
276 ··Mod·=·atom()276 ··Mod·=·atom()
277 ··PrePurge·=·PostPurge·=·soft_purge·|·brutal_purge</code></pre><p>Makes·the·current·version·of·<code·class="inline">Mod</code>·old.·<code·class="inline">PrePurge</code>·is·ignored.·For·a·description277 ··PrePurge·=·PostPurge·=·soft_purge·|·brutal_purge</code></pre><p>Makes·the·current·version·of·<code·class="inline">Mod</code>·old.·<code·class="inline">PrePurge</code>·is·ignored.·For·a·description
278 of·<code·class="inline">PostPurge</code>,·see·the·high-level·instruction·<code·class="inline">update</code>·earlier.</p><pre><code·class="text">{purge,·[Mod]}278 of·<code·class="inline">PostPurge</code>,·see·the·high-level·instruction·<code·class="inline">update</code>·earlier.</p><pre><code·class="text">{purge,·[Mod]}
279 ··Mod·=·atom()</code></pre><p>Purges·each·module·<code·class="inline">Mod</code>,·that·is,·removes·the·old·code.·Notice·that·any·process279 ··Mod·=·atom()</code></pre><p>Purges·each·module·<code·class="inline">Mod</code>,·that·is,·removes·the·old·code.·Notice·that·any·process
280 executing·purged·code·is·killed.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2483552557-1">{</span><span·class="ss">suspend</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2483552557-2">[</span><span·class="n">Mod</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·300,·SHA:·a8f5f8b55a8bb82b832e66c930a6900cdcf152354ae05c404813db400405c58d·...·]-1">}</span><span·class="w">280 executing·purged·code·is·killed.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1867707936-1">{</span><span·class="ss">suspend</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1867707936-2">[</span><span·class="n">Mod</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·300,·SHA:·505d7dd3e44513712e65c3b570f3ab48ea66a6ee2c77f0c14b8dedb3635864f7·...·]-1">}</span><span·class="w">
281 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="2483552557-4">(</span><span·class="p"·data-group-id="2483552557-4">)</span><span·class="w">281 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="1867707936-4">(</span><span·class="p"·data-group-id="1867707936-4">)</span><span·class="w">
282 ··</span><span·class="n">Timeout</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="2483552557-5">(</span><span·class="p"·data-group-id="2483552557-5">)</span><span·class="o">&gt;</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">default</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">infinity</span></code></pre><p>Tries·to·suspend·all·processes·using·a·module·<code·class="inline">Mod</code>.·If·a·process·does·not282 ··</span><span·class="n">Timeout</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="1867707936-5">(</span><span·class="p"·data-group-id="1867707936-5">)</span><span·class="o">&gt;</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">default</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">infinity</span></code></pre><p>Tries·to·suspend·all·processes·using·a·module·<code·class="inline">Mod</code>.·If·a·process·does·not
283 respond,·it·is·ignored.·This·can·cause·the·process·to·die,·either·because·it283 respond,·it·is·ignored.·This·can·cause·the·process·to·die,·either·because·it
284 crashes·when·it·spontaneously·switches·to·new·code,·or·as·a·result·of·a·purge284 crashes·when·it·spontaneously·switches·to·new·code,·or·as·a·result·of·a·purge
285 operation.·If·no·<code·class="inline">Timeout</code>·is·specified·or·<code·class="inline">default</code>·is·specified,·the·default285 operation.·If·no·<code·class="inline">Timeout</code>·is·specified·or·<code·class="inline">default</code>·is·specified,·the·default
286 value·for·<a·href="../../../../lib/stdlib-7.0/doc/html/sys.html#suspend/1"><code·class="inline">sys:suspend</code></a>·is·used.</p><pre><code·class="text">{resume,·[Mod]}286 value·for·<a·href="../../../../lib/stdlib-7.0/doc/html/sys.html#suspend/1"><code·class="inline">sys:suspend</code></a>·is·used.</p><pre><code·class="text">{resume,·[Mod]}
287 ··Mod·=·atom()</code></pre><p>Resumes·all·suspended·processes·using·a·module·<code·class="inline">Mod</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1773851640-1">{</span><span·class="ss">code_change</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1773851640-2">[</span><span·class="p"·data-group-id="1773851640-3">{</span><span·class="n">Mod</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·204,·SHA:·0d19feb4126553f16d288316c92fbf33e8aef0845caf640dbb37acb09aafcc28·...·]-1">}</span><span·class="w">287 ··Mod·=·atom()</code></pre><p>Resumes·all·suspended·processes·using·a·module·<code·class="inline">Mod</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3729110801-1">{</span><span·class="ss">code_change</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3729110801-2">[</span><span·class="p"·data-group-id="3729110801-3">{</span><span·class="n">Mod</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·204,·SHA:·298ab49b44045f07509162df5b80710266749745b9c7fe02ba4ce0a7bff17e48·...·]-1">}</span><span·class="w">
288 </span><span·class="p"·data-group-id="1773851640-4">{</span><span·class="ss">code_change</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mode</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1773851640-5">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·279,·SHA:·8bd95f4a01384cdacac66f7ea362fdf80a1dfaa31a8b0d0fac2e69c1512598c1·...·]-4">}</span><span·class="w">288 </span><span·class="p"·data-group-id="3729110801-4">{</span><span·class="ss">code_change</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mode</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3729110801-5">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·279,·SHA:·87952e335651bd16f06fd90ec0c6cc453aed6b792afb312fba93fafd16ce0761·...·]-4">}</span><span·class="w">
289 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="1773851640-7">(</span><span·class="p"·data-group-id="1773851640-7">)</span><span·class="w">289 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="3729110801-7">(</span><span·class="p"·data-group-id="3729110801-7">)</span><span·class="w">
290 ··</span><span·class="n">Mode</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">up</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">down</span><span·class="w">290 ··</span><span·class="n">Mode</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">up</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">down</span><span·class="w">
291 ··</span><span·class="n">Extra</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="1773851640-8">(</span><span·class="p"·data-group-id="1773851640-8">)</span></code></pre><p><code·class="inline">Mode</code>·defaults·to·<code·class="inline">up</code>·and·specifies·if·it·is·an·upgrade·or·downgrade.·This291 ··</span><span·class="n">Extra</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3729110801-8">(</span><span·class="p"·data-group-id="3729110801-8">)</span></code></pre><p><code·class="inline">Mode</code>·defaults·to·<code·class="inline">up</code>·and·specifies·if·it·is·an·upgrade·or·downgrade.·This
292 instruction·sends·a·<code·class="inline">code_change</code>·system·message·to·all·processes·using·a·module292 instruction·sends·a·<code·class="inline">code_change</code>·system·message·to·all·processes·using·a·module
293 <code·class="inline">Mod</code>·by·calling·function·<a·href="../../../../lib/stdlib-7.0/doc/html/sys.html#change_code/4"><code·class="inline">sys:change_code</code></a>,·passing·term293 <code·class="inline">Mod</code>·by·calling·function·<a·href="../../../../lib/stdlib-7.0/doc/html/sys.html#change_code/4"><code·class="inline">sys:change_code</code></a>,·passing·term
294 <code·class="inline">Extra</code>·as·argument.</p><pre><code·class="text">{stop,·[Mod]}294 <code·class="inline">Extra</code>·as·argument.</p><pre><code·class="text">{stop,·[Mod]}
295 ··Mod·=·atom()</code></pre><p>Stops·all·processes·using·a·module·<code·class="inline">Mod</code>·by·calling295 ··Mod·=·atom()</code></pre><p>Stops·all·processes·using·a·module·<code·class="inline">Mod</code>·by·calling
296 <a·href="../../../../lib/stdlib-7.0/doc/html/supervisor.html#terminate_child/2"><code·class="inline">supervisor:terminate_child/2</code></a>.·This·instruction·is·useful·when·the·simplest·way296 <a·href="../../../../lib/stdlib-7.0/doc/html/supervisor.html#terminate_child/2"><code·class="inline">supervisor:terminate_child/2</code></a>.·This·instruction·is·useful·when·the·simplest·way
297 to·change·code·is·to·stop·and·restart·the·processes·that·run·the·code.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7144541553-1">{</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7144541553-2">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="7144541553-2">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·db0efe2dd691cc043b3006f1b32546034c146700fab247a3f04021ce66fcd3cd·...·]-1">}</span><span·class="w">297 to·change·code·is·to·stop·and·restart·the·processes·that·run·the·code.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5002387564-1">{</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5002387564-2">[</span><span·class="n">Mod</span><span·class="p"·data-group-id="5002387564-2">]</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·a13de7a632391a474032decb801cc64121b45f41e01b5d9417d461fd07ecddbd·...·]-1">}</span><span·class="w">
298 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="7144541553-3">(</span><span·class="p"·data-group-id="7144541553-3">)</span></code></pre><p>Starts·all·stopped·processes·using·a·module·<code·class="inline">Mod</code>·by·calling298 ··</span><span·class="n">Mod</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="5002387564-3">(</span><span·class="p"·data-group-id="5002387564-3">)</span></code></pre><p>Starts·all·stopped·processes·using·a·module·<code·class="inline">Mod</code>·by·calling
299 <a·href="../../../../lib/stdlib-7.0/doc/html/supervisor.html#restart_child/2"><code·class="inline">supervisor:restart_child/2</code></a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8532104464-1">{</span><span·class="ss">sync_nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Id</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8532104464-2">[</span><span·class="n">Node</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·1af0febbb44ff7803a22283f42877ba9f13d01f35199f04775b9a1413696cf7a·...·]-1">}</span><span·class="w">299 <a·href="../../../../lib/stdlib-7.0/doc/html/supervisor.html#restart_child/2"><code·class="inline">supervisor:restart_child/2</code></a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3625389160-1">{</span><span·class="ss">sync_nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Id</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3625389160-2">[</span><span·class="n">Node</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·620031854b859f7ce327e88a0a7551aa7e48048da7b305cea1bcea4fd47a9ea4·...·]-1">}</span><span·class="w">
300 </span><span·class="p"·data-group-id="8532104464-3">{</span><span·class="ss">sync_nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Id</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8532104464-4">{</span><span·class="n">M</span><s[·...·truncated·by·diffoscope;·len:·236,·SHA:·f12fe9cd8365b45b49efbe610301ce089a11a4183b51941f0aa0e793de74deec·...·]-3">}</span><span·class="w">300 </span><span·class="p"·data-group-id="3625389160-3">{</span><span·class="ss">sync_nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Id</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3625389160-4">{</span><span·class="n">M</span><s[·...·truncated·by·diffoscope;·len:·236,·SHA:·0a8046dc750ea45a791b361c06f0941c32105679d8f01f83ae1534173e2a5e64·...·]-3">}</span><span·class="w">
301 ··</span><span·class="n">Id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="8532104464-5">(</span><span·class="p"·data-group-id="8532104464-5">)</span><span·class="w">301 ··</span><span·class="n">Id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3625389160-5">(</span><span·class="p"·data-group-id="3625389160-5">)</span><span·class="w">
302 ··</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">node</span><span·class="p"·data-group-id="8532104464-6">(</span><span·class="p"·data-group-id="8532104464-6">)</span><span·class="w">302 ··</span><span·class="n">Node</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">node</span><span·class="p"·data-group-id="3625389160-6">(</span><span·class="p"·data-group-id="3625389160-6">)</span><span·class="w">
303 ··</span><span·class="n">M</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="8532104464-7">(</span><span·class="p"·data-group-id="8532104464-7">)</span><span·class="w">303 ··</span><span·class="n">M</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="3625389160-7">(</span><span·class="p"·data-group-id="3625389160-7">)</span><span·class="w">
304 ··</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8532104464-8">[</span><span·class="nf">term</span><span·class="p"·data-group-id="8532104464-9">(</span><span·class="p"·data-group-id="8532104464-9">)</span><span·class="p"·data-group-id="8532104464-8">]</span></code></pre><p><a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,·F,·A)</code></a>·must·return·a·list·of·nodes.</p><p>This·instruction·synchronizes·the·release·installation·with·other·nodes.·Each304 ··</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3625389160-8">[</span><span·class="nf">term</span><span·class="p"·data-group-id="3625389160-9">(</span><span·class="p"·data-group-id="3625389160-9">)</span><span·class="p"·data-group-id="3625389160-8">]</span></code></pre><p><a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,·F,·A)</code></a>·must·return·a·list·of·nodes.</p><p>This·instruction·synchronizes·the·release·installation·with·other·nodes.·Each
305 <code·class="inline">Node</code>·must·evaluate·this·command·with·the·same·<code·class="inline">Id</code>.·The·local·node·waits·for305 <code·class="inline">Node</code>·must·evaluate·this·command·with·the·same·<code·class="inline">Id</code>.·The·local·node·waits·for
306 all·other·nodes·to·evaluate·the·instruction·before·execution·continues.·If·a306 all·other·nodes·to·evaluate·the·instruction·before·execution·continues.·If·a
307 node·goes·down,·it·is·considered·to·be·an·unrecoverable·error,·and·the·local307 node·goes·down,·it·is·considered·to·be·an·unrecoverable·error,·and·the·local
308 node·is·restarted·from·the·old·release.·There·is·no·time-out·for·this308 node·is·restarted·from·the·old·release.·There·is·no·time-out·for·this
309 instruction,·which·means·that·it·can·hang·forever.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7174862893-1">{</span><span·class="nb">apply</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7174862893-2">{</span><span·class="n">M</span><span·class="p">,</span><span·class="w">·</span><span·class="n">F</span><span·cl[·...·truncated·by·diffoscope;·len:·158,·SHA:·1528e3af1b1d44c692ef9306b561d53f00e65b8e1b01a48414d34716a4e52439·...·]-1">}</span><span·class="w">309 instruction,·which·means·that·it·can·hang·forever.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1112069364-1">{</span><span·class="nb">apply</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1112069364-2">{</span><span·class="n">M</span><span·class="p">,</span><span·class="w">·</span><span·class="n">F</span><span·cl[·...·truncated·by·diffoscope;·len:·158,·SHA:·b35830b90275e4a018c21820e811880427154f1abdefab45eab5518f6f21d74f·...·]-1">}</span><span·class="w">
310 ··</span><span·class="n">M</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="7174862893-3">(</span><span·class="p"·data-group-id="7174862893-3">)</span><span·class="w">310 ··</span><span·class="n">M</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">atom</span><span·class="p"·data-group-id="1112069364-3">(</span><span·class="p"·data-group-id="1112069364-3">)</span><span·class="w">
311 ··</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7174862893-4">[</span><span·class="nf">term</span><span·class="p"·data-group-id="7174862893-5">(</span><span·class="p"·data-group-id="7174862893-5">)</span><span·class="p"·data-group-id="7174862893-4">]</span></code></pre><p>Evaluates·<a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,·F,·A)</code></a>.</p><p>If·the·instruction·appears·before·instruction·<code·class="inline">point_of_no_return</code>,·a·failure·is311 ··</span><span·class="n">A</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1112069364-4">[</span><span·class="nf">term</span><span·class="p"·data-group-id="1112069364-5">(</span><span·class="p"·data-group-id="1112069364-5">)</span><span·class="p"·data-group-id="1112069364-4">]</span></code></pre><p>Evaluates·<a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,·F,·A)</code></a>.</p><p>If·the·instruction·appears·before·instruction·<code·class="inline">point_of_no_return</code>,·a·failure·is
312 caught.·<a·href="release_handler.html#install_release/1"><code·class="inline">release_handler:install_release/1</code></a>·then·returns312 caught.·<a·href="release_handler.html#install_release/1"><code·class="inline">release_handler:install_release/1</code></a>·then·returns
313 <code·class="inline">{error,{'EXIT',Reason}}</code>,·unless·<code·class="inline">{error,Error}</code>·is·thrown·or·returned.·Then·it313 <code·class="inline">{error,{'EXIT',Reason}}</code>,·unless·<code·class="inline">{error,Error}</code>·is·thrown·or·returned.·Then·it
314 returns·<code·class="inline">{error,Error}</code>.</p><p>If·the·instruction·appears·after·instruction·<code·class="inline">point_of_no_return</code>·and·the314 returns·<code·class="inline">{error,Error}</code>.</p><p>If·the·instruction·appears·after·instruction·<code·class="inline">point_of_no_return</code>·and·the
315 function·call·fails,·the·system·is·restarted.</p><pre><code·class="text">restart_new_emulator</code></pre><p>This·instruction·is·used·when·the·application·ERTS,·Kernel,·STDLIB,·or·SASL·is315 function·call·fails,·the·system·is·restarted.</p><pre><code·class="text">restart_new_emulator</code></pre><p>This·instruction·is·used·when·the·application·ERTS,·Kernel,·STDLIB,·or·SASL·is
316 upgraded.·It·shuts·down·the·current·emulator·and·starts·a·new·one.·All·processes316 upgraded.·It·shuts·down·the·current·emulator·and·starts·a·new·one.·All·processes
317 are·terminated·gracefully,·and·the·new·version·of·ERTS,·Kernel,·STDLIB,·and·SASL317 are·terminated·gracefully,·and·the·new·version·of·ERTS,·Kernel,·STDLIB,·and·SASL
318 are·used·when·the·emulator·restarts.·Only·one·<code·class="inline">restart_new_emulator</code>·instruction318 are·used·when·the·emulator·restarts.·Only·one·<code·class="inline">restart_new_emulator</code>·instruction
Offset 390, 15 lines modifiedOffset 390, 15 lines modified
390 ······<p·class="built-using">390 ······<p·class="built-using">
391 ········Built·using391 ········Built·using
392 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the392 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
393 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>393 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
394 ······</p>394 ······</p>
395 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>395 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
396 ····</footer>396 ····</footer>
397 ··</div>397 ··</div>
398 </main>398 </main>
399 </div>399 </div>
400 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>400 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
401 ··<script>401 ··<script>
402 ··let·initialized·=·false;402 ··let·initialized·=·false;
690 B
html2text {}
Max HTML report size reached
18.7 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/error_logging.html
    
Offset 304, 50 lines modifiedOffset 304, 50 lines modified
304 ········ok</code></pre><h3·id="show-reports"·class="section-heading">304 ········ok</code></pre><h3·id="show-reports"·class="section-heading">
305 ··<a·href="#show-reports"·class="hover-link">305 ··<a·href="#show-reports"·class="hover-link">
306 ····<i·class="ri-link-m"·aria-hidden="true"></i>306 ····<i·class="ri-link-m"·aria-hidden="true"></i>
307 ··</a>307 ··</a>
308 ··<span·class="text">Show·Reports</span>308 ··<span·class="text">Show·Reports</span>
309 </h3>309 </h3>
310 <p>Use·function·<a·href="rb.html#show/1"><code·class="inline">rb:show(Number)</code></a>·to·show·details·of·a·specific310 <p>Use·function·<a·href="rb.html#show/1"><code·class="inline">rb:show(Number)</code></a>·to·show·details·of·a·specific
311 report:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">7&gt;·</span><span·class="nc">rb</span><span·class="p">:</span><span·class="nf">show</span><span·class="p"·data-group-id="8232996242-1">(</span><span·class="mi">4</span><span·class="p"·data-group-id="8232996242-1">)</span><span·class="p">.</span><span·class="w">311 report:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">7&gt;·</span><span·class="nc">rb</span><span·class="p">:</span><span·class="nf">show</span><span·class="p"·data-group-id="5857284346-1">(</span><span·class="mi">4</span><span·class="p"·data-group-id="5857284346-1">)</span><span·class="p">.</span><span·class="w">
  
312 </span><span·class="n">PROGRESS</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="w">··</span><span·class="o">&lt;</span><span·class="mf">0.20</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">···································</span><span·class="mi">1996</span><span·class="o">-</span><span·class="mi">10</span><span·class="o">-</span><span·class="mi">16</span><span·class="w">·</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">36</span><span·class="w">312 </span><span·class="n">PROGRESS</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="w">··</span><span·class="o">&lt;</span><span·class="mf">0.20</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">···································</span><span·class="mi">1996</span><span·class="o">-</span><span·class="mi">10</span><span·class="o">-</span><span·class="mi">16</span><span·class="w">·</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">36</span><span·class="w">
313 </span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">=</span><span·class="w">313 </span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">=</span><span·class="w">
314 </span><span·class="ss">supervisor</span><span·class="w">·····················································</span><span·class="p"·data-group-id="8232996242-2">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">sasl_sup</span><span·class="p"·data-group-id="8232996242-2">}</span><span·class="w">314 </span><span·class="ss">supervisor</span><span·class="w">·····················································</span><span·class="p"·data-group-id="5857284346-2">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="ss">sasl_sup</span><span·class="p"·data-group-id="5857284346-2">}</span><span·class="w">
315 </span><span·class="ss">started</span><span·class="w">315 </span><span·class="ss">started</span><span·class="w">
316 </span><span·class="p"·data-group-id="8232996242-3">[</span><span·class="p"·data-group-id="8232996242-4">{</span><span·class="ss">pid</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.24</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·cf933aa3022642b3748f4a6a086b1f3eec71e17f13f4c592bbf9b4d4177a6b11·...·]-4">}</span><span·class="p">,</span><span·class="w">316 </span><span·class="p"·data-group-id="5857284346-3">[</span><span·class="p"·data-group-id="5857284346-4">{</span><span·class="ss">pid</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.24</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·378a65bd41aa022eb5d48efa926c891a1ef0d715e42f62ab5c86f3c4adb77aa9·...·]-4">}</span><span·class="p">,</span><span·class="w">
317 </span><span·class="p"·data-group-id="8232996242-5">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="ss">release_handler</span><span·class="p"·data-group-id="8232996242-5">}</span><span·class="p">,</span><span·class="w">317 </span><span·class="p"·data-group-id="5857284346-5">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="ss">release_handler</span><span·class="p"·data-group-id="5857284346-5">}</span><span·class="p">,</span><span·class="w">
318 </span><span·class="p"·data-group-id="8232996242-6">{</span><span·class="ss">mfa</span><span·class="p">,</span><span·class="p"·data-group-id="8232996242-7">{</span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="ss">start_link</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·191,·SHA:·00efbe26375b48d7e3c140aee0a4ab2606e16c65326c26eaa48df6f9b20020cc·...·]-6">}</span><span·class="p">,</span><span·class="w">318 </span><span·class="p"·data-group-id="5857284346-6">{</span><span·class="ss">mfa</span><span·class="p">,</span><span·class="p"·data-group-id="5857284346-7">{</span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="ss">start_link</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·191,·SHA:·7d2dc59f12ddf8005a2c28788a467cc661318d720f35858d4ef41b5baa487652·...·]-6">}</span><span·class="p">,</span><span·class="w">
319 </span><span·class="p"·data-group-id="8232996242-9">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="8232996242-9">}</span><span·class="p">,</span><span·class="w">319 </span><span·class="p"·data-group-id="5857284346-9">{</span><span·class="ss">restart_type</span><span·class="p">,</span><span·class="ss">permanent</span><span·class="p"·data-group-id="5857284346-9">}</span><span·class="p">,</span><span·class="w">
320 </span><span·class="p"·data-group-id="8232996242-10">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">2000</span><span·class="p"·data-group-id="8232996242-10">}</span><span·class="p">,</span><span·class="w">320 </span><span·class="p"·data-group-id="5857284346-10">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="mi">2000</span><span·class="p"·data-group-id="5857284346-10">}</span><span·class="p">,</span><span·class="w">
321 </span><span·class="p"·data-group-id="8232996242-11">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">worker</span><span·class="p"·data-group-id="8232996242-11">}</span><span·class="p"·data-group-id="8232996242-3">]</span><span·class="w">321 </span><span·class="p"·data-group-id="5857284346-11">{</span><span·class="ss">child_type</span><span·class="p">,</span><span·class="ss">worker</span><span·class="p"·data-group-id="5857284346-11">}</span><span·class="p"·data-group-id="5857284346-3">]</span><span·class="w">
  
322 </span><span·class="ss">ok</span><span·class="gp·unselectable">322 </span><span·class="ss">ok</span><span·class="gp·unselectable">
323 8&gt;·</span><span·class="nc">rb</span><span·class="p">:</span><span·class="nf">show</span><span·class="p"·data-group-id="8232996242-12">(</span><span·class="mi">9</span><span·class="p"·data-group-id="8232996242-12">)</span><span·class="p">.</span><span·class="w">323 8&gt;·</span><span·class="nc">rb</span><span·class="p">:</span><span·class="nf">show</span><span·class="p"·data-group-id="5857284346-12">(</span><span·class="mi">9</span><span·class="p"·data-group-id="5857284346-12">)</span><span·class="p">.</span><span·class="w">
  
324 </span><span·class="n">CRASH</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="w">··</span><span·class="o">&lt;</span><span·class="mf">0.24</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">······································</span><span·class="mi">1996</span><span·class="o">-</span><span·class="mi">10</span><span·class="o">-</span><span·class="mi">16</span><span·class="w">·</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">21</span><span·class="w">324 </span><span·class="n">CRASH</span><span·class="w">·</span><span·class="n">REPORT</span><span·class="w">··</span><span·class="o">&lt;</span><span·class="mf">0.24</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">······································</span><span·class="mi">1996</span><span·class="o">-</span><span·class="mi">10</span><span·class="o">-</span><span·class="mi">16</span><span·class="w">·</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">16</span><span·class="p">:</span><span·class="mi">21</span><span·class="w">
325 </span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">=</span><span·class="w">325 </span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">==</span><span·class="o">=</span><span·class="w">
326 </span><span·class="n">Crashing</span><span·class="w">·</span><span·class="ss">process</span><span·class="w">326 </span><span·class="n">Crashing</span><span·class="w">·</span><span·class="ss">process</span><span·class="w">
327 </span><span·class="ss">pid</span><span·class="w">·································································</span><span·class="o">&lt;</span><span·class="mf">0.24</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">327 </span><span·class="ss">pid</span><span·class="w">·································································</span><span·class="o">&lt;</span><span·class="mf">0.24</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">
328 </span><span·class="ss">registered_name</span><span·class="w">··············································</span><span·class="ss">release_handler</span><span·class="w">328 </span><span·class="ss">registered_name</span><span·class="w">··············································</span><span·class="ss">release_handler</span><span·class="w">
329 </span><span·class="ss">error_info</span><span·class="w">·····························</span><span·class="p"·data-group-id="8232996242-13">{</span><span·class="ss">undef</span><span·class="p">,</span><span·class="p"·data-group-id="8232996242-14">{</span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="ss">mbj_func</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·196,·SHA:·4cd5a95e9a79feabedbdb15d2b07ec7a7b3c597b7154d820723800e2c6422d01·...·]-13">}</span><span·class="w">329 </span><span·class="ss">error_info</span><span·class="w">·····························</span><span·class="p"·data-group-id="5857284346-13">{</span><span·class="ss">undef</span><span·class="p">,</span><span·class="p"·data-group-id="5857284346-14">{</span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="ss">mbj_func</span><span·class="p">,</span><span·c[·...·truncated·by·diffoscope;·len:·196,·SHA:·0dddb7a2bf12a05459a7e391a5a1f93ee92b12789fdbb0c527a236e653e78c5d·...·]-13">}</span><span·class="w">
330 </span><span·class="ss">initial_call</span><span·class="w">330 </span><span·class="ss">initial_call</span><span·class="w">
331 </span><span·class="p"·data-group-id="8232996242-16">{</span><span·class="ss">gen</span><span·class="p">,</span><span·class="ss">init_it</span><span·class="p">,</span><span·class="w">331 </span><span·class="p"·data-group-id="5857284346-16">{</span><span·class="ss">gen</span><span·class="p">,</span><span·class="ss">init_it</span><span·class="p">,</span><span·class="w">
332 </span><span·class="p"·data-group-id="8232996242-17">[</span><span·class="ss">gen_server</span><span·class="p">,</span><span·class="w">332 </span><span·class="p"·data-group-id="5857284346-17">[</span><span·class="ss">gen_server</span><span·class="p">,</span><span·class="w">
333 </span><span·class="o">&lt;</span><span·class="mf">0.20</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="w">333 </span><span·class="o">&lt;</span><span·class="mf">0.20</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="w">
334 </span><span·class="o">&lt;</span><span·class="mf">0.20</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="w">334 </span><span·class="o">&lt;</span><span·class="mf">0.20</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="w">
335 </span><span·class="p"·data-group-id="8232996242-18">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="nb">register</span><span·class="p"·data-group-id="8232996242-18">}</span><span·class="p">,</span><span·class="w">335 </span><span·class="p"·data-group-id="5857284346-18">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="nb">register</span><span·class="p"·data-group-id="5857284346-18">}</span><span·class="p">,</span><span·class="w">
336 </span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="w">336 </span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="w">
337 </span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="w">337 </span><span·class="ss">release_handler</span><span·class="p">,</span><span·class="w">
338 </span><span·class="p"·data-group-id="8232996242-19">[</span><span·class="p"·data-group-id="8232996242-19">]</span><span·class="p">,</span><span·class="w">338 </span><span·class="p"·data-group-id="5857284346-19">[</span><span·class="p"·data-group-id="5857284346-19">]</span><span·class="p">,</span><span·class="w">
339 </span><span·class="p"·data-group-id="8232996242-20">[</span><span·class="p"·data-group-id="8232996242-20">]</span><span·class="p"·data-group-id="8232996242-17">]</span><span·class="p"·data-group-id="8232996242-16">}</span><span·class="w">339 </span><span·class="p"·data-group-id="5857284346-20">[</span><span·class="p"·data-group-id="5857284346-20">]</span><span·class="p"·data-group-id="5857284346-17">]</span><span·class="p"·data-group-id="5857284346-16">}</span><span·class="w">
340 </span><span·class="ss">ancestors</span><span·class="w">················································</span><span·class="p"·data-group-id="8232996242-21">[</span><span·class="ss">sasl_sup</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.18</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="8232996242-21">]</span><span·class="w">340 </span><span·class="ss">ancestors</span><span·class="w">················································</span><span·class="p"·data-group-id="5857284346-21">[</span><span·class="ss">sasl_sup</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.18</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="5857284346-21">]</span><span·class="w">
341 </span><span·class="ss">messages</span><span·class="w">··································································</span><span·class="p"·data-group-id="8232996242-22">[</span><span·class="p"·data-group-id="8232996242-22">]</span><span·class="w">341 </span><span·class="ss">messages</span><span·class="w">··································································</span><span·class="p"·data-group-id="5857284346-22">[</span><span·class="p"·data-group-id="5857284346-22">]</span><span·class="w">
342 </span><span·class="ss">links</span><span·class="w">····················································</span><span·class="p"·data-group-id="8232996242-23">[</span><span·class="o">&lt;</span><span·class="mf">0.23</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.20</span><span·class="p">.</span[·...·truncated·by·diffoscope;·len:·94,·SHA:·c27a42ffb8b03951fe0b09da4861db4f8e817730c68e2e675c529cbfafd9fb7c·...·]-23">]</span><span·class="w">342 </span><span·class="ss">links</span><span·class="w">····················································</span><span·class="p"·data-group-id="5857284346-23">[</span><span·class="o">&lt;</span><span·class="mf">0.23</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.20</span><span·class="p">.</span[·...·truncated·by·diffoscope;·len:·94,·SHA:·0bc6b8d98cf9d9cd5b2e902d7c66946da91493210f6c76518ee9f3fb130eb565·...·]-23">]</span><span·class="w">
343 </span><span·class="ss">dictionary</span><span·class="w">································································</span><span·class="p"·data-group-id="8232996242-24">[</span><span·class="p"·data-group-id="8232996242-24">]</span><span·class="w">343 </span><span·class="ss">dictionary</span><span·class="w">································································</span><span·class="p"·data-group-id="5857284346-24">[</span><span·class="p"·data-group-id="5857284346-24">]</span><span·class="w">
344 </span><span·class="ss">trap_exit</span><span·class="w">······························································</span><span·class="ss">false</span><span·class="w">344 </span><span·class="ss">trap_exit</span><span·class="w">······························································</span><span·class="ss">false</span><span·class="w">
345 </span><span·class="ss">status</span><span·class="w">·······························································</span><span·class="ss">running</span><span·class="w">345 </span><span·class="ss">status</span><span·class="w">·······························································</span><span·class="ss">running</span><span·class="w">
346 </span><span·class="ss">heap_size</span><span·class="w">································································</span><span·class="mi">610</span><span·class="w">346 </span><span·class="ss">heap_size</span><span·class="w">································································</span><span·class="mi">610</span><span·class="w">
347 </span><span·class="ss">stack_size</span><span·class="w">·······························································</span><span·class="mi">142</span><span·class="w">347 </span><span·class="ss">stack_size</span><span·class="w">·······························································</span><span·class="mi">142</span><span·class="w">
348 </span><span·class="ss">reductions</span><span·class="w">································································</span><span·class="mi">54</span><span·class="w">348 </span><span·class="ss">reductions</span><span·class="w">································································</span><span·class="mi">54</span><span·class="w">
  
349 </span><span·class="ss">ok</span></code></pre><h3·id="search-reports"·class="section-heading">349 </span><span·class="ss">ok</span></code></pre><h3·id="search-reports"·class="section-heading">
Offset 481, 15 lines modifiedOffset 481, 15 lines modified
481 ······<p·class="built-using">481 ······<p·class="built-using">
482 ········Built·using482 ········Built·using
483 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the483 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
484 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>484 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
485 ······</p>485 ······</p>
486 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>486 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
487 ····</footer>487 ····</footer>
488 ··</div>488 ··</div>
489 </main>489 </main>
490 </div>490 </div>
491 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>491 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
492 ··<script>492 ··<script>
493 ··let·initialized·=·false;493 ··let·initialized·=·false;
591 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/notes.html
    
Offset 1177, 15 lines modifiedOffset 1177, 15 lines modified
1177 ······<p·class="built-using">1177 ······<p·class="built-using">
1178 ········Built·using1178 ········Built·using
1179 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1179 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1180 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1180 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1181 ······</p>1181 ······</p>
1182 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1182 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1183 ····</footer>1183 ····</footer>
1184 ··</div>1184 ··</div>
1185 </main>1185 </main>
1186 </div>1186 </div>
1187 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1187 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1188 ··<script>1188 ··<script>
1189 ··let·initialized·=·false;1189 ··let·initialized·=·false;
694 B
html2text {}
Max HTML report size reached
1.39 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/rb.html
    
Offset 1065, 15 lines modifiedOffset 1065, 15 lines modified
1065 ······<p·class="built-using">1065 ······<p·class="built-using">
1066 ········Built·using1066 ········Built·using
1067 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1067 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1068 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1068 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1069 ······</p>1069 ······</p>
1070 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1070 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1071 ····</footer>1071 ····</footer>
1072 ··</div>1072 ··</div>
1073 </main>1073 </main>
1074 </div>1074 </div>
1075 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1075 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1076 ··<script>1076 ··<script>
1077 ··let·initialized·=·false;1077 ··let·initialized·=·false;
603 B
html2text {}
Max HTML report size reached
9.1 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/rel.html
    
Offset 136, 19 lines modifiedOffset 136, 19 lines modified
136 (<code·class="inline">.script</code>,·<code·class="inline">.boot</code>)·and·release·upgrade·files·(<code·class="inline">relup</code>).</p><h2·id="file-syntax"·class="section-heading">136 (<code·class="inline">.script</code>,·<code·class="inline">.boot</code>)·and·release·upgrade·files·(<code·class="inline">relup</code>).</p><h2·id="file-syntax"·class="section-heading">
137 ··<a·href="#file-syntax"·class="hover-link">137 ··<a·href="#file-syntax"·class="hover-link">
138 ····<i·class="ri-link-m"·aria-hidden="true"></i>138 ····<i·class="ri-link-m"·aria-hidden="true"></i>
139 ··</a>139 ··</a>
140 ··<span·class="text">File·Syntax</span>140 ··<span·class="text">File·Syntax</span>
141 </h2>141 </h2>
142 <p>The·release·resource·file·is·to·be·called·<code·class="inline">Name.rel</code>.</p><p>The·<code·class="inline">.rel</code>·file·contains·one·single·Erlang·term,·which·is·called·a·<em>release142 <p>The·release·resource·file·is·to·be·called·<code·class="inline">Name.rel</code>.</p><p>The·<code·class="inline">.rel</code>·file·contains·one·single·Erlang·term,·which·is·called·a·<em>release
143 specification</em>.·The·file·has·the·following·syntax:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8958898214-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8958898214-2">{</span><span·class="n">RelName</span><span·class="p">,</span><span·class="n">Vsn</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·276,·SHA:·f2453064eba6b910994665470bc91897aac4f81f89be504eb8e641ba1433fdd2·...·]-3">}</span><span·class="p">,</span><span·class="w">143 specification</em>.·The·file·has·the·following·syntax:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6812406205-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6812406205-2">{</span><span·class="n">RelName</span><span·class="p">,</span><span·class="n">Vsn</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·276,·SHA:·b5423d9623e9b92f532f1d64906d889bc85baf3f3dad8244e86113afb2934f33·...·]-3">}</span><span·class="p">,</span><span·class="w">
144 ··</span><span·class="p"·data-group-id="8958898214-4">[</span><span·class="p"·data-group-id="8958898214-5">{</span><span·class="n">Application</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AppVsn</span><span·class="p"·data-group-id="8958898214-5">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">144 ··</span><span·class="p"·data-group-id="6812406205-4">[</span><span·class="p"·data-group-id="6812406205-5">{</span><span·class="n">Application</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AppVsn</span><span·class="p"·data-group-id="6812406205-5">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
145 ···</span><span·class="p"·data-group-id="8958898214-6">{</span><span·class="n">Application</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AppVsn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type</span><span·class="p"·data-group-id="8958898214-6">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">145 ···</span><span·class="p"·data-group-id="6812406205-6">{</span><span·class="n">Application</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AppVsn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type</span><span·class="p"·data-group-id="6812406205-6">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
146 ···</span><span·class="p"·data-group-id="8958898214-7">{</span><span·class="n">Application</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AppVsn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IncApps</span><span·class="p"·data-group-id="8958898214-7">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">146 ···</span><span·class="p"·data-group-id="6812406205-7">{</span><span·class="n">Application</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AppVsn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">IncApps</span><span·class="p"·data-group-id="6812406205-7">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
147 ···</span><span·class="p"·data-group-id="8958898214-8">{</span><span·class="n">Application</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AppVsn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·dc9dba4d2e8d599f4a10231e7761cac862b771ee0ffb13ff346516b4e50dfba6·...·]-1">}</span><span·class="p">.</span></code></pre><ul><li><p><strong><code·class="inline">RelName·=·string()</code></strong>·-·Release·name.</p></li><li><p><strong><code·class="inline">Vsn·=·string()</code></strong>·-·Release·version.</p></li><li><p><strong><code·class="inline">EVsn·=·string()</code></strong>·-·ERTS·version·the·release·is·intended·for.</p></li><li><p><strong><code·class="inline">Application·=·atom()</code></strong>·-·Name·of·an·application·included·in·the·release.</p></li><li><p><strong><code·class="inline">AppVsn·=·string()</code></strong>·-·Version·of·an·application·included·in·the·release.</p></li><li><p><strong><code·class="inline">Type·=·permanent·|·transient·|·temporary·|·load·|·none</code></strong>·-·Start·type·of147 ···</span><span·class="p"·data-group-id="6812406205-8">{</span><span·class="n">Application</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AppVsn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Type</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·9c663eabe1ceff568c0fff9e0f6cf9f92fdbac9def1baf3a2ec21426f979c635·...·]-1">}</span><span·class="p">.</span></code></pre><ul><li><p><strong><code·class="inline">RelName·=·string()</code></strong>·-·Release·name.</p></li><li><p><strong><code·class="inline">Vsn·=·string()</code></strong>·-·Release·version.</p></li><li><p><strong><code·class="inline">EVsn·=·string()</code></strong>·-·ERTS·version·the·release·is·intended·for.</p></li><li><p><strong><code·class="inline">Application·=·atom()</code></strong>·-·Name·of·an·application·included·in·the·release.</p></li><li><p><strong><code·class="inline">AppVsn·=·string()</code></strong>·-·Version·of·an·application·included·in·the·release.</p></li><li><p><strong><code·class="inline">Type·=·permanent·|·transient·|·temporary·|·load·|·none</code></strong>·-·Start·type·of
148 an·application·included·in·the·release.</p><p>If·<code·class="inline">Type·=·permanent·|·transient·|·temporary</code>,·the·application·is·loaded·and148 an·application·included·in·the·release.</p><p>If·<code·class="inline">Type·=·permanent·|·transient·|·temporary</code>,·the·application·is·loaded·and
149 started·in·the·corresponding·way,·see·<a·href="../../../../lib/kernel-10.3/doc/html/application.html"><code·class="inline">application</code></a>.</p><p>If·<code·class="inline">Type·=·load</code>,·the·application·is·only·loaded.</p><p>If·<code·class="inline">Type·=·none</code>,·the·application·is·not·loaded·and·not·started,·although·the149 started·in·the·corresponding·way,·see·<a·href="../../../../lib/kernel-10.3/doc/html/application.html"><code·class="inline">application</code></a>.</p><p>If·<code·class="inline">Type·=·load</code>,·the·application·is·only·loaded.</p><p>If·<code·class="inline">Type·=·none</code>,·the·application·is·not·loaded·and·not·started,·although·the
150 code·for·its·modules·is·loaded.</p><p>Defaults·to·<code·class="inline">permanent</code></p></li><li><p><strong><code·class="inline">IncApps·=·[atom()]</code></strong>·-·A·list·of·applications·that·are·included·by·an150 code·for·its·modules·is·loaded.</p><p>Defaults·to·<code·class="inline">permanent</code></p></li><li><p><strong><code·class="inline">IncApps·=·[atom()]</code></strong>·-·A·list·of·applications·that·are·included·by·an
151 application·included·in·the·release.·The·list·must·be·a·subset·of·the·included151 application·included·in·the·release.·The·list·must·be·a·subset·of·the·included
152 applications·specified·in·the·application·resource·file·(<code·class="inline">Application.app</code>)152 applications·specified·in·the·application·resource·file·(<code·class="inline">Application.app</code>)
153 and·overrides·this·value.·Defaults·to·the·same·value·as·in·the·application153 and·overrides·this·value.·Defaults·to·the·same·value·as·in·the·application
154 resource·file.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·list·of·applications·must·contain·the·Kernel·and·STDLIB·applications.</p></section><h2·id="see-also"·class="section-heading">154 resource·file.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·list·of·applications·must·contain·the·Kernel·and·STDLIB·applications.</p></section><h2·id="see-also"·class="section-heading">
Offset 204, 15 lines modifiedOffset 204, 15 lines modified
204 ······<p·class="built-using">204 ······<p·class="built-using">
205 ········Built·using205 ········Built·using
206 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the206 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
207 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>207 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
208 ······</p>208 ······</p>
209 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>209 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
210 ····</footer>210 ····</footer>
211 ··</div>211 ··</div>
212 </main>212 </main>
213 </div>213 </div>
214 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>214 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
215 ··<script>215 ··<script>
216 ··let·initialized·=·false;216 ··let·initialized·=·false;
669 B
html2text {}
Max HTML report size reached
5.79 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/release_handler.html
    
Offset 1053, 16 lines modifiedOffset 1053, 16 lines modified
1053 updated·(<code·class="inline">Bool==true</code>)·or·if·only·code·paths·for·modified·applications·are·to1053 updated·(<code·class="inline">Bool==true</code>)·or·if·only·code·paths·for·modified·applications·are·to
1054 be·updated·(<code·class="inline">Bool==false</code>,·default).·This·option·has·only·effect·for·other1054 be·updated·(<code·class="inline">Bool==false</code>,·default).·This·option·has·only·effect·for·other
1055 application·directories·than·the·default·<code·class="inline">$ROOT/lib/App-Vsn</code>,·that·is,1055 application·directories·than·the·default·<code·class="inline">$ROOT/lib/App-Vsn</code>,·that·is,
1056 application·directories·specified·in·argument·<code·class="inline">AppDirs</code>·in·a·call·to1056 application·directories·specified·in·argument·<code·class="inline">AppDirs</code>·in·a·call·to
1057 <a·href="#create_RELEASES/4"><code·class="inline">create_RELEASES/4</code></a>·or·<a·href="#set_unpacked/2"><code·class="inline">set_unpacked/2</code></a>.</p><p><em>Example:</em></p><p>In·the·current·version·<code·class="inline">CurVsn</code>·of·a·release,·the·application·directory·of1057 <a·href="#create_RELEASES/4"><code·class="inline">create_RELEASES/4</code></a>·or·<a·href="#set_unpacked/2"><code·class="inline">set_unpacked/2</code></a>.</p><p><em>Example:</em></p><p>In·the·current·version·<code·class="inline">CurVsn</code>·of·a·release,·the·application·directory·of
1058 <code·class="inline">myapp</code>·is·<code·class="inline">$ROOT/lib/myapp-1.0</code>.·A·new·version·<code·class="inline">NewVsn</code>·is·unpacked·outside1058 <code·class="inline">myapp</code>·is·<code·class="inline">$ROOT/lib/myapp-1.0</code>.·A·new·version·<code·class="inline">NewVsn</code>·is·unpacked·outside
1059 the·release·handler·and·the·release·handler·is·informed·about·this·with·a·call1059 the·release·handler·and·the·release·handler·is·informed·about·this·with·a·call
1060 as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">release_handler</span><span·class="p">:</span><span·class="nf">set_unpacked</span><span·class="p"·data-group-id="8558827297-1">(</span><span·class="n">RelFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8558827297-2">[</span><span·class="p"·data-group-id="8558827297-3">{</span><span·class="ss">myapp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·353,·SHA:·52d0e88b1e412bdea7315229fb253f4219cd85712e5ae382851a64acb7d72883·...·]-1">)</span><span·class="p">.</span><span·class="w">1060 as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">release_handler</span><span·class="p">:</span><span·class="nf">set_unpacked</span><span·class="p"·data-group-id="2443423788-1">(</span><span·class="n">RelFile</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2443423788-2">[</span><span·class="p"·data-group-id="2443423788-3">{</span><span·class="ss">myapp</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·353,·SHA:·e397d994e7bb5a5cdd08cabb4d914e38d7f7c32de5d30c4a7bd80dfec37f3d6a·...·]-1">)</span><span·class="p">.</span><span·class="w">
1061 </span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8558827297-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">NewVsn</span><span·class="p"·data-group-id="8558827297-4">}</span></code></pre><p>If·<code·class="inline">NewVsn</code>·is·installed·with·option·<code·class="inline">{update_paths,true}</code>,·then1061 </span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2443423788-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">NewVsn</span><span·class="p"·data-group-id="2443423788-4">}</span></code></pre><p>If·<code·class="inline">NewVsn</code>·is·installed·with·option·<code·class="inline">{update_paths,true}</code>,·then
1062 <a·href="../../../../lib/kernel-10.3/doc/html/code.html#lib_dir/1"><code·class="inline">code:lib_dir(myapp)</code></a>·returns·<code·class="inline">/home/user/myapp-1.0</code>.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Installing·a·new·release·can·be·time·consuming·if·there·are·many·processes·in1062 <a·href="../../../../lib/kernel-10.3/doc/html/code.html#lib_dir/1"><code·class="inline">code:lib_dir(myapp)</code></a>·returns·<code·class="inline">/home/user/myapp-1.0</code>.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Installing·a·new·release·can·be·time·consuming·if·there·are·many·processes·in
1063 the·system.·The·reason·is·that·each·process·must·be·checked·for·references·to1063 the·system.·The·reason·is·that·each·process·must·be·checked·for·references·to
1064 old·code·before·a·module·can·be·purged.·This·check·can·lead·to·garbage1064 old·code·before·a·module·can·be·purged.·This·check·can·lead·to·garbage
1065 collections·and·copying·of·data.</p><p>To·speed·up·the·execution·of·<a·href="#install_release/1"><code·class="inline">install_release</code></a>,·first1065 collections·and·copying·of·data.</p><p>To·speed·up·the·execution·of·<a·href="#install_release/1"><code·class="inline">install_release</code></a>,·first
1066 call·<a·href="#check_install_release/1"><code·class="inline">check_install_release</code></a>,·using·option1066 call·<a·href="#check_install_release/1"><code·class="inline">check_install_release</code></a>,·using·option
1067 <code·class="inline">purge</code>.·This·does·the·same·check·for·old·code.·Then·purges·all·modules·that1067 <code·class="inline">purge</code>.·This·does·the·same·check·for·old·code.·Then·purges·all·modules·that
1068 can·be·soft-purged.·The·purged·modules·do·then·no·longer·have·any·old·code,1068 can·be·soft-purged.·The·purged·modules·do·then·no·longer·have·any·old·code,
Offset 1339, 15 lines modifiedOffset 1339, 15 lines modified
1339 ······<p·class="built-using">1339 ······<p·class="built-using">
1340 ········Built·using1340 ········Built·using
1341 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1341 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1342 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1342 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1343 ······</p>1343 ······</p>
1344 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1344 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1345 ····</footer>1345 ····</footer>
1346 ··</div>1346 ··</div>
1347 </main>1347 </main>
1348 </div>1348 </div>
1349 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1349 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1350 ··<script>1350 ··<script>
1351 ··let·initialized·=·false;1351 ··let·initialized·=·false;
707 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/relup.html
    
Offset 206, 15 lines modifiedOffset 206, 15 lines modified
206 ······<p·class="built-using">206 ······<p·class="built-using">
207 ········Built·using207 ········Built·using
208 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the208 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
209 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>209 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
210 ······</p>210 ······</p>
211 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>211 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
212 ····</footer>212 ····</footer>
213 ··</div>213 ··</div>
214 </main>214 </main>
215 </div>215 </div>
216 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>216 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
217 ··<script>217 ··<script>
218 ··let·initialized·=·false;218 ··let·initialized·=·false;
757 B
html2text {}
Max HTML report size reached
192 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/sasl.epub
3.39 KB
zipinfo {}
Max HTML report size reached
111 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:13:50,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:52:28,·uncompressed·size·20,·method=store
11.0 KB
OEBPS/script.xhtml
Max HTML report size reached
4.31 KB
OEBPS/release_handler.xhtml
Max HTML report size reached
7.67 KB
OEBPS/rel.xhtml
Max HTML report size reached
17.3 KB
OEBPS/error_logging.xhtml
Max HTML report size reached
1.2 KB
OEBPS/content.opf
1.17 KB
OEBPS/content.opf
Max HTML report size reached
35.0 KB
OEBPS/appup.xhtml
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/sasl_app.html
    
Offset 261, 15 lines modifiedOffset 261, 15 lines modified
261 ······<p·class="built-using">261 ······<p·class="built-using">
262 ········Built·using262 ········Built·using
263 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the263 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
264 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>264 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
265 ······</p>265 ······</p>
266 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>266 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
267 ····</footer>267 ····</footer>
268 ··</div>268 ··</div>
269 </main>269 </main>
270 </div>270 </div>
271 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>271 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
272 ··<script>272 ··<script>
273 ··let·initialized·=·false;273 ··let·initialized·=·false;
789 B
html2text {}
Max HTML report size reached
1.62 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/sasl_intro.html
    
Offset 188, 15 lines modifiedOffset 188, 15 lines modified
188 ······<p·class="built-using">188 ······<p·class="built-using">
189 ········Built·using189 ········Built·using
190 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the190 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
191 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>191 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
192 ······</p>192 ······</p>
193 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>193 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
194 ····</footer>194 ····</footer>
195 ··</div>195 ··</div>
196 </main>196 </main>
197 </div>197 </div>
198 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>198 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
199 ··<script>199 ··<script>
200 ··let·initialized·=·false;200 ··let·initialized·=·false;
819 B
html2text {}
Max HTML report size reached
12.4 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/script.html
    
Offset 138, 28 lines modifiedOffset 138, 28 lines modified
138 files.</p><h2·id="file-syntax"·class="section-heading">138 files.</p><h2·id="file-syntax"·class="section-heading">
139 ··<a·href="#file-syntax"·class="hover-link">139 ··<a·href="#file-syntax"·class="hover-link">
140 ····<i·class="ri-link-m"·aria-hidden="true"></i>140 ····<i·class="ri-link-m"·aria-hidden="true"></i>
141 ··</a>141 ··</a>
142 ··<span·class="text">File·Syntax</span>142 ··<span·class="text">File·Syntax</span>
143 </h2>143 </h2>
144 <p>The·boot·script·is·stored·in·a·file·with·extension·<code·class="inline">.script</code>.·The·file·has·the144 <p>The·boot·script·is·stored·in·a·file·with·extension·<code·class="inline">.script</code>.·The·file·has·the
145 following·syntax:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3657636807-1">{</span><span·class="ss">script</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3657636807-2">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Vsn</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·efa5384faac09dfe6441b85dbfb5e2e7e590b7808d4b8d50e2822383fbfcdc61·...·]-2">}</span><span·class="p">,</span><span·class="w">145 following·syntax:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3172398968-1">{</span><span·class="ss">script</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3172398968-2">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Vsn</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·4ce61874b7730d90f7422ed681b204bcf494d698f5b76225059ce3c318f583fd·...·]-2">}</span><span·class="p">,</span><span·class="w">
146 ·</span><span·class="p"·data-group-id="3657636807-3">[</span><span·class="w">146 ·</span><span·class="p"·data-group-id="3172398968-3">[</span><span·class="w">
147 ··</span><span·class="p"·data-group-id="3657636807-4">{</span><span·class="ss">progress</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">loading</span><span·class="p"·data-group-id="3657636807-4">}</span><span·class="p">,</span><span·class="w">147 ··</span><span·class="p"·data-group-id="3172398968-4">{</span><span·class="ss">progress</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">loading</span><span·class="p"·data-group-id="3172398968-4">}</span><span·class="p">,</span><span·class="w">
148 ··</span><span·class="p"·data-group-id="3657636807-5">{</span><span·class="ss">preLoaded</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3657636807-6">[</span><span·class="n">Mod1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod2</span[·...·truncated·by·diffoscope;·len:·215,·SHA:·4199844aae984d045785735a17b89e3b8b59b4e8a3fed80410a5f4f98f7eff12·...·]-5">}</span><span·class="p">,</span><span·class="w">148 ··</span><span·class="p"·data-group-id="3172398968-5">{</span><span·class="ss">preLoaded</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3172398968-6">[</span><span·class="n">Mod1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod2</span[·...·truncated·by·diffoscope;·len:·215,·SHA:·0a0e8966c3ce809a092d414e9d718bb739141d312ca6e9fd8126b8bdb95c70c2·...·]-5">}</span><span·class="p">,</span><span·class="w">
149 ··</span><span·class="p"·data-group-id="3657636807-7">{</span><span·class="ss">path</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3657636807-8">[</span><span·class="n">Dir1</span><span·class="p">,</span><span·class="s">&quot;$ROOT/Dir&quot;</span><span·class[·...·truncated·by·diffoscope;·len:·179,·SHA:·44d6c217417008548f00c7abfc0d2f39160626a1b26a6514f8077b45e93fa6b6·...·]-7">}</span><span·class="p">.</span><span·class="w">149 ··</span><span·class="p"·data-group-id="3172398968-7">{</span><span·class="ss">path</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3172398968-8">[</span><span·class="n">Dir1</span><span·class="p">,</span><span·class="s">&quot;$ROOT/Dir&quot;</span><span·class[·...·truncated·by·diffoscope;·len:·179,·SHA:·801b44341992268bb1bbf79c07979bc1147a6c7f59b709cf9890d23ea5b2cb2b·...·]-7">}</span><span·class="p">.</span><span·class="w">
150 ··</span><span·class="p"·data-group-id="3657636807-9">{</span><span·class="ss">primLoad</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3657636807-10">[</span><span·class="n">Mod1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod2</span[·...·truncated·by·diffoscope;·len:·216,·SHA:·f84ae76bc71c4a8aef6b47a2e393d944564e3fc4999268b271524543bb4b74d2·...·]-9">}</span><span·class="p">,</span><span·class="w">150 ··</span><span·class="p"·data-group-id="3172398968-9">{</span><span·class="ss">primLoad</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3172398968-10">[</span><span·class="n">Mod1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod2</span[·...·truncated·by·diffoscope;·len:·216,·SHA:·e30a23252099374bca3ae5a49d568a89c8bec36fb908c6a237d51284ecc0632e·...·]-9">}</span><span·class="p">,</span><span·class="w">
151 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">151 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
152 ··</span><span·class="p"·data-group-id="3657636807-11">{</span><span·class="ss">kernel_load_completed</span><span·class="p"·data-group-id="3657636807-11">}</span><span·class="p">,</span><span·class="w">152 ··</span><span·class="p"·data-group-id="3172398968-11">{</span><span·class="ss">kernel_load_completed</span><span·class="p"·data-group-id="3172398968-11">}</span><span·class="p">,</span><span·class="w">
153 ··</span><span·class="p"·data-group-id="3657636807-12">{</span><span·class="ss">progress</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">loaded</span><span·class="p"·data-group-id="3657636807-12">}</span><span·class="p">,</span><span·class="w">153 ··</span><span·class="p"·data-group-id="3172398968-12">{</span><span·class="ss">progress</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">loaded</span><span·class="p"·data-group-id="3172398968-12">}</span><span·class="p">,</span><span·class="w">
154 ··</span><span·class="p"·data-group-id="3657636807-13">{</span><span·class="ss">kernelProcess</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3657636807-14">{</span><span·class="n">Mod<[·...·truncated·by·diffoscope;·len:·251,·SHA:·b27130bcd4f4216459b005f68f098e21f53406713c74b824258e05075240f598·...·]-13">}</span><span·class="p">,</span><span·class="w">154 ··</span><span·class="p"·data-group-id="3172398968-13">{</span><span·class="ss">kernelProcess</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3172398968-14">{</span><span·class="n">Mod<[·...·truncated·by·diffoscope;·len:·251,·SHA:·bc46ac0d2a759e153fc7a3c3d5a1eb1f857852898a61ea5aa6d39029ce03fe7e·...·]-13">}</span><span·class="p">,</span><span·class="w">
155 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">155 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
156 ··</span><span·class="p"·data-group-id="3657636807-15">{</span><span·class="nb">apply</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3657636807-16">{</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Func</span><s[·...·truncated·by·diffoscope;·len:·168,·SHA:·0a2cdf6fa6c640ff058877818bd23bbcf730b7fc640400727e82670267354047·...·]-15">}</span><span·class="p">,</span><span·class="w">156 ··</span><span·class="p"·data-group-id="3172398968-15">{</span><span·class="nb">apply</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3172398968-16">{</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Func</span><s[·...·truncated·by·diffoscope;·len:·168,·SHA:·b65abe68e3c47ba240c963b162d27e1781c7975ca66de05f42a0ebdb6a0cc7bd·...·]-15">}</span><span·class="p">,</span><span·class="w">
157 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">157 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
158 ··</span><span·class="p"·data-group-id="3657636807-17">{</span><span·class="ss">progress</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">started</span><span·class="p"·data-group-id="3657636807-17">}</span><span·class="p"·data-group-id="3657636807-3">]</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·8427c13e1dafdb93e23baa524ffde4cc2de61ce17eba946831d7514b5ac9a0e0·...·]-1">}</span><span·class="p">.</span></code></pre><ul><li><p><strong><code·class="inline">Name·=·string()</code></strong>·-·Defines·the·system·name.</p></li><li><p><strong><code·class="inline">Vsn·=·string()</code></strong>·-·Defines·the·system·version.</p></li><li><p><strong><code·class="inline">{progress,·Term}</code></strong>·-·Sets·the·&quot;progress&quot;·of·the·initialization·program.158 ··</span><span·class="p"·data-group-id="3172398968-17">{</span><span·class="ss">progress</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">started</span><span·class="p"·data-group-id="3172398968-17">}</span><span·class="p"·data-group-id="3172398968-3">]</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·2c02d454f139519a049f982540d073c09307f36e49133780edb6cd6c0f49c42a·...·]-1">}</span><span·class="p">.</span></code></pre><ul><li><p><strong><code·class="inline">Name·=·string()</code></strong>·-·Defines·the·system·name.</p></li><li><p><strong><code·class="inline">Vsn·=·string()</code></strong>·-·Defines·the·system·version.</p></li><li><p><strong><code·class="inline">{progress,·Term}</code></strong>·-·Sets·the·&quot;progress&quot;·of·the·initialization·program.
159 The·<a·href="../../../../erts-16.0/doc/html/init.html#get_status/0"><code·class="inline">init:get_status/0</code></a>·function·returns·the·current·value·of·the·progress,159 The·<a·href="../../../../erts-16.0/doc/html/init.html#get_status/0"><code·class="inline">init:get_status/0</code></a>·function·returns·the·current·value·of·the·progress,
160 which·is·<code·class="inline">{InternalStatus,Term}</code>.</p></li><li><p><strong><code·class="inline">{path,·[Dir]}</code></strong>·-·<code·class="inline">Dir</code>·is·a·string.·This·argument·sets·the·load·path·of160 which·is·<code·class="inline">{InternalStatus,Term}</code>.</p></li><li><p><strong><code·class="inline">{path,·[Dir]}</code></strong>·-·<code·class="inline">Dir</code>·is·a·string.·This·argument·sets·the·load·path·of
161 the·system·to·<code·class="inline">[Dir]</code>.·The·load·path·used·to·load·modules·is·obtained·from·the161 the·system·to·<code·class="inline">[Dir]</code>.·The·load·path·used·to·load·modules·is·obtained·from·the
162 initial·load·path,·which·is·given·in·the·script·file,·together·with·any·path162 initial·load·path,·which·is·given·in·the·script·file,·together·with·any·path
163 flags·that·were·supplied·in·the·command-line·arguments.·The·command-line163 flags·that·were·supplied·in·the·command-line·arguments.·The·command-line
164 arguments·modify·the·path·as·follows:</p><ul><li><code·class="inline">-pa·Dir1·Dir2·...·DirN</code>·adds·the·directories164 arguments·modify·the·path·as·follows:</p><ul><li><code·class="inline">-pa·Dir1·Dir2·...·DirN</code>·adds·the·directories
165 <code·class="inline">DirN,·DirN-1,·...,·Dir2,·Dir1</code>·to·the·front·of·the·initial·load·path.</li><li><code·class="inline">-pz·Dir1·Dir2·...·DirN</code>·adds·the·directories·<code·class="inline">Dir1,·Dir2,·...,·DirN</code>·to·the165 <code·class="inline">DirN,·DirN-1,·...,·Dir2,·Dir1</code>·to·the·front·of·the·initial·load·path.</li><li><code·class="inline">-pz·Dir1·Dir2·...·DirN</code>·adds·the·directories·<code·class="inline">Dir1,·Dir2,·...,·DirN</code>·to·the
Offset 230, 15 lines modifiedOffset 230, 15 lines modified
230 ······<p·class="built-using">230 ······<p·class="built-using">
231 ········Built·using231 ········Built·using
232 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the232 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
233 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>233 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
234 ······</p>234 ······</p>
235 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>235 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
236 ····</footer>236 ····</footer>
237 ··</div>237 ··</div>
238 </main>238 </main>
239 </div>239 </div>
240 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>240 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
241 ··<script>241 ··<script>
242 ··let·initialized·=·false;242 ··let·initialized·=·false;
693 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
459 B
html2text {}
Max HTML report size reached
1.42 KB
./usr/share/doc/erlang-doc/html/lib/sasl-4.3/doc/html/systools.html
    
Offset 654, 15 lines modifiedOffset 654, 15 lines modified
654 ······<p·class="built-using">654 ······<p·class="built-using">
655 ········Built·using655 ········Built·using
656 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the656 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
657 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>657 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
658 ······</p>658 ······</p>
659 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>659 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
660 ····</footer>660 ····</footer>
661 ··</div>661 ··</div>
662 </main>662 </main>
663 </div>663 </div>
664 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>664 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
665 ··<script>665 ··<script>
666 ··let·initialized·=·false;666 ··let·initialized·=·false;
625 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/api-reference.html
    
Offset 478, 15 lines modifiedOffset 478, 15 lines modified
478 ······<p·class="built-using">478 ······<p·class="built-using">
479 ········Built·using479 ········Built·using
480 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the480 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
481 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>481 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
482 ······</p>482 ······</p>
483 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>483 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
484 ····</footer>484 ····</footer>
485 ··</div>485 ··</div>
486 </main>486 </main>
487 </div>487 </div>
488 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>488 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
489 ··<script>489 ··<script>
490 ··let·initialized·=·false;490 ··let·initialized·=·false;
685 B
html2text {}
Max HTML report size reached
12.3 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/notes.html
    
Offset 133, 17 lines modifiedOffset 133, 17 lines modified
133 </h2>133 </h2>
134 <h3·id="improvements-and-new-features"·class="section-heading">134 <h3·id="improvements-and-new-features"·class="section-heading">
135 ··<a·href="#improvements-and-new-features"·class="hover-link">135 ··<a·href="#improvements-and-new-features"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Improvements·and·New·Features</span>138 ··<span·class="text">Improvements·and·New·Features</span>
139 </h3>139 </h3>
140 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="6759776425-1">(</span><span·class="p"·data-group-id="6759776425-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6759776425-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·f793914c80dbf1890964e5e98e96a473401ce9a41b2c8f91896e3000433a4d28·...·]-2">)</span><span·class="p">.</span><span·class="w">140 <ul><li><p><a·href="https://www.erlang.org/eeps/eep-0069">EEP-69:·Nominal·Types</a>·has·been·implemented.·As·a·side·effect,·nominal·types·can·encode·opaque·types.·We·changed·all·opaque-handling·logic·and·improved·opaque·warnings·in·Dialyzer.</p><p>All·existing·Erlang·type·systems·are·structural:·two·types·are·seen·as·equivalent·if·their·structures·are·the·same.·Type·comparisons·are·based·on·the·structures·of·the·types,·not·on·how·the·user·explicitly·defines·them.·For·example,·in·the·following·example,·<code·class="inline">meter()</code>·and·<code·class="inline">foot()</code>·are·equivalent.·The·two·types·can·be·used·interchangeably.·Neither·of·them·differ·from·the·basic·type·<code·class="inline">integer()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">meter</span><span·class="p"·data-group-id="4446405904-1">(</span><span·class="p"·data-group-id="4446405904-1">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4446405904-2">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·38384a9760c7da6cd21aaa4d07c4592d431ebabfc0ad3e63bfa6a06124718c77·...·]-2">)</span><span·class="p">.</span><span·class="w">
141 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="6759776425-3">(</span><span·class="p"·data-group-id="6759776425-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="6759776425-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·826d0a174bd3d46ca23b5f1bc69e71f4cffa71284630cb1e4c424f249b849c3a·...·]-2">)</span><span·class="p">.</span><span·class="w">141 </span><span·class="p">-</span><span·class="na">type</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="4446405904-3">(</span><span·class="p"·data-group-id="4446405904-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="4446405904-4">(</span><[·...·truncated·by·diffoscope;·len:·1061,·SHA:·14320fa3eaed9648bf940da02b38744d79e2173b7ea74db44aa1fab9af1a5e22·...·]-2">)</span><span·class="p">.</span><span·class="w">
142 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="1360740208-3">(</span><span·class="p"·data-group-id="1360740208-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="1360740208-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·26132662fcddbe5d96060159fac9e3673f1212a905bd2006a43b1f8d6ccf672e·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Added·support·for·compiling·Erlang/OTP·for·Windows·on·ARM64.</p><p>Own·Id:·OTP-19480·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8734"·title="">PR-8734</a></p></li><li><p>When·compiling·C/C++·code·on·Unix·systems,·the·compiler·hardening·flags·suggested·by·the·<a·href="https://github.com/ossf/wg-best-practices-os-developers/blob/main/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C%2B%2B.md">Open·Source·Security·Foundation</a>·are·now·enabled·by·default.·To·disable·them,·pass·<code·class="inline">--disable-security-hardening-flags</code>·to·<code·class="inline">configure</code>.</p><p>Own·Id:·OTP-19519·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9441"·title="">PR-9441</a></p></li><li><p>Add·copyright·notice·to·files·that·still·had·none.</p><p>Own·Id:·OTP-19572</p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="snmp-5-18-2"·class="section-heading">142 </span><span·class="p">-</span><span·class="na">nominal</span><span·class="w">·</span><span·class="nf">foot</span><span·class="p"·data-group-id="8892155577-3">(</span><span·class="p"·data-group-id="8892155577-3">)</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="8892155577-4">(</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·806f562f1b727c5bcff9ee562192795d5a8e8527bf16254b5e30aa8f955149fc·...·]-4">)</span><span·class="p">.</span></code></pre><p>More·nominal·type-checking·rules·can·be·found·in·the·EEP.·It·is·worth·noting·that·most·work·for·adding·nominal·types·and·type-checking·is·in·<code·class="inline">erl_types.erl</code>.·The·rest·are·changes·that·removed·the·previous·opaque·type-checking,·and·added·an·improved·version·of·it·using·nominal·type-checking·with·reworked·warnings.</p><p>Backwards·compatibility·for·opaque·type-checking·is·not·preserved·by·this·PR.·Previous·opaque·warnings·can·appear·with·slightly·different·wordings.·A·new·kind·of·opaque·warning·<code·class="inline">opaque_union</code>·is·added,·together·with·a·Dialyzer·option·<code·class="inline">no_opaque_union</code>·to·turn·this·kind·of·warnings·off.</p><p>Own·Id:·OTP-19364·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9079"·title="">PR-9079</a></p></li><li><p>Added·support·for·compiling·Erlang/OTP·for·Windows·on·ARM64.</p><p>Own·Id:·OTP-19480·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8734"·title="">PR-8734</a></p></li><li><p>When·compiling·C/C++·code·on·Unix·systems,·the·compiler·hardening·flags·suggested·by·the·<a·href="https://github.com/ossf/wg-best-practices-os-developers/blob/main/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C%2B%2B.md">Open·Source·Security·Foundation</a>·are·now·enabled·by·default.·To·disable·them,·pass·<code·class="inline">--disable-security-hardening-flags</code>·to·<code·class="inline">configure</code>.</p><p>Own·Id:·OTP-19519·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9441"·title="">PR-9441</a></p></li><li><p>Add·copyright·notice·to·files·that·still·had·none.</p><p>Own·Id:·OTP-19572</p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="snmp-5-18-2"·class="section-heading">
143 ··<a·href="#snmp-5-18-2"·class="hover-link">143 ··<a·href="#snmp-5-18-2"·class="hover-link">
144 ····<i·class="ri-link-m"·aria-hidden="true"></i>144 ····<i·class="ri-link-m"·aria-hidden="true"></i>
145 ··</a>145 ··</a>
146 ··<span·class="text">SNMP·5.18.2</span>146 ··<span·class="text">SNMP·5.18.2</span>
147 </h2>147 </h2>
148 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">148 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">
149 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">149 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">
Offset 1141, 15 lines modifiedOffset 1141, 15 lines modified
1141 ······<p·class="built-using">1141 ······<p·class="built-using">
1142 ········Built·using1142 ········Built·using
1143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1145 ······</p>1145 ······</p>
1146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1147 ····</footer>1147 ····</footer>
1148 ··</div>1148 ··</div>
1149 </main>1149 </main>
1150 </div>1150 </div>
1151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1152 ··<script>1152 ··<script>
1153 ··let·initialized·=·false;1153 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
460 B
html2text {}
Max HTML report size reached
1.0 MB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp.epub
14.1 KB
zipinfo {}
Max HTML report size reached
492 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
5.4 KB
OEBPS/snmpm.xhtml
Max HTML report size reached
1.75 KB
OEBPS/snmpc_cmd.xhtml
Max HTML report size reached
28.5 KB
OEBPS/snmpa.xhtml
Max HTML report size reached
2.4 KB
OEBPS/snmp_pdus.xhtml
Max HTML report size reached
7.26 KB
OEBPS/snmp_mib_compiler.xhtml
Max HTML report size reached
35.9 KB
OEBPS/snmp_manager_config_files.xhtml
Max HTML report size reached
19.9 KB
OEBPS/snmp_instr_functions.xhtml
Max HTML report size reached
6.55 KB
OEBPS/snmp_index.xhtml
Max HTML report size reached
174 KB
OEBPS/snmp_impl_example_agent.xhtml
Max HTML report size reached
18.8 KB
OEBPS/snmp_generic.xhtml
Max HTML report size reached
34.8 KB
OEBPS/snmp_config.xhtml
Max HTML report size reached
43.5 KB
OEBPS/snmp_app.xhtml
Max HTML report size reached
6.77 KB
OEBPS/snmp_agent_funct_descr.xhtml
Max HTML report size reached
80.4 KB
OEBPS/snmp_agent_config_files.xhtml
Max HTML report size reached
30.1 KB
OEBPS/snmp_advanced_agent.xhtml
Max HTML report size reached
10.2 KB
OEBPS/snmp.xhtml
Max HTML report size reached
10.9 KB
OEBPS/notes.xhtml
Max HTML report size reached
5.28 KB
OEBPS/content.opf
5.25 KB
OEBPS/content.opf
Max HTML report size reached
11.6 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp.html
    
Offset 3195, 16 lines modifiedOffset 3195, 16 lines modified
3195 ······<div·class="specs">3195 ······<div·class="specs">
  
3196 ··········<pre·translate="no"><span·class="attribute">-spec</span>·print_version_info(Prefix)·->·<a·href="#t:void/0">void</a>()·when·Prefix·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>3196 ··········<pre·translate="no"><span·class="attribute">-spec</span>·print_version_info(Prefix)·->·<a·href="#t:void/0">void</a>()·when·Prefix·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>
  
3197 ······</div>3197 ······</div>
  
3198 <p>Utility·function(s)·to·produce·a·formatted·printout·of·the·versions·info3198 <p>Utility·function(s)·to·produce·a·formatted·printout·of·the·versions·info
3199 generated·by·the·<code·class="inline">versions1</code>·function</p><p>This·is·the·same·as·doing,·e.g.:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">···········</span><span·class="p"·data-group-id="0089193870-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">V</span><span·class="p"·data-group-id="0089193870-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">versions1</span><span·class="p"·data-group-id="0089193870-2">(</span><span·class="p"·data-group-id="0089193870-2">)</span><span·class="p">,</span><span·class="w"> 
3200 ···········</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">print_versions</span><span·class="p"·data-group-id="0089193870-3">(</span><span·class="n">V</span><span·class="p"·data-group-id="0089193870-3">)</span><span·class="p">.<[·...·truncated·by·diffoscope;·len:·18,·SHA:·aa6285803019735a1e142dd0f052e377f4e11767187e5c1060f3bd4bfb9428ac·...·]>3199 generated·by·the·<code·class="inline">versions1</code>·function</p><p>This·is·the·same·as·doing,·e.g.:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">···········</span><span·class="p"·data-group-id="3715438474-1">{</span><span·class="ss[·...·truncated·by·diffoscope;·len:·438,·SHA:·238280a4870877120fdf660b379d15a781a2569bd11d8a2c488ee10406ee2d85·...·]>
 3200 ···········</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">print_versions</span><span·class="p"·data-group-id="3715438474-3">(</span><span·class="n">V</span><span·class="p"·data-group-id="3715438474-3">)</span><span·class="p">.</span></code></pre>
3201 ··</section>3201 ··</section>
3202 </section>3202 </section>
3203 <section·class="detail"·id="print_versions/1">3203 <section·class="detail"·id="print_versions/1">
  
3204 ··<div·class="detail-header">3204 ··<div·class="detail-header">
3205 ····<a·href="#print_versions/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3205 ····<a·href="#print_versions/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
3206 ······<i·class="ri-link-m"·aria-hidden="true"></i>3206 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3253, 16 lines modifiedOffset 3253, 16 lines modified
3253 ····························Prefix·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),3253 ····························Prefix·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>(),
3254 ····························Versions·::·[VersionInfo],3254 ····························Versions·::·[VersionInfo],
3255 ····························VersionInfo·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>3255 ····························VersionInfo·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
3256 ······</div>3256 ······</div>
  
3257 <p>Utility·function·to·produce·a·formatted·printout·of·the·versions·info·generated3257 <p>Utility·function·to·produce·a·formatted·printout·of·the·versions·info·generated
3258 by·the·<code·class="inline">versions1</code>·and·<code·class="inline">versions2</code>·functions</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">···········</span><span·class="p"·data-group-id="7978858656-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">V</span><span·class="p"·data-group-id="7978858656-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">versions1</span><span·class="p"·data-group-id="7978858656-2">(</span><span·class="p"·data-group-id="7978858656-2">)</span><span·class="p">,</span><span·class="w"> 
3259 ···········</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">print_versions</span><span·class="p"·data-group-id="7978858656-3">(</span><span·class="n">V</span><span·class="p"·data-group-id="7978858656-3">)</span><span·class="p">.<[·...·truncated·by·diffoscope;·len:·18,·SHA:·aa6285803019735a1e142dd0f052e377f4e11767187e5c1060f3bd4bfb9428ac·...·]>3258 by·the·<code·class="inline">versions1</code>·and·<code·class="inline">versions2</code>·functions</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">···········</span><span·class="p"·data-group-id="1578536281-1">{</span><span·[·...·truncated·by·diffoscope;·len:·447,·SHA:·4319747349604cc3ec3eeebb5226ff34738dd07edba308a04f92b34944ee127c·...·]>
 3259 ···········</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">print_versions</span><span·class="p"·data-group-id="1578536281-3">(</span><span·class="n">V</span><span·class="p"·data-group-id="1578536281-3">)</span><span·class="p">.</span></code></pre>
3260 ··</section>3260 ··</section>
3261 </section>3261 </section>
3262 <section·class="detail"·id="read_mib/1">3262 <section·class="detail"·id="read_mib/1">
  
3263 ··<div·class="detail-header">3263 ··<div·class="detail-header">
3264 ····<a·href="#read_mib/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3264 ····<a·href="#read_mib/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
3265 ······<i·class="ri-link-m"·aria-hidden="true"></i>3265 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3382, 25 lines modifiedOffset 3382, 25 lines modified
3382 ·······················TraceOpt·::·{timestamp,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()}·|·TargetOpt.</pre>3382 ·······················TraceOpt·::·{timestamp,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()}·|·TargetOpt.</pre>
  
3383 ······</div>3383 ······</div>
  
3384 <p>This·function·is·used·to·set·up·trace·on·function(s)·for·the·given·module·or3384 <p>This·function·is·used·to·set·up·trace·on·function(s)·for·the·given·module·or
3385 modules.</p><p>The·example·below·sets·up·trace·on·the·exported·functions·(default)·of·module3385 modules.</p><p>The·example·below·sets·up·trace·on·the·exported·functions·(default)·of·module
3386 <code·class="inline">snmp_generic</code>·and·all·functions·of·module·<code·class="inline">snmp_generic_mnesia</code>.·With·return3386 <code·class="inline">snmp_generic</code>·and·all·functions·of·module·<code·class="inline">snmp_generic_mnesia</code>.·With·return
3387 values·(which·is·default)·and·timestamps·in·both·cases·(which·is·also·default):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»    ··</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">enable_trace</span><span·class="p"·data-group-id="4909440769-1">(</span><span·class="p"·data-group-id="4909440769-1">)</span><span·class="p">,</span><span·class="w">3387 values·(which·is·default)·and·timestamps·in·both·cases·(which·is·also·default):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»    ··</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">enable_trace</span><span·class="p"·data-group-id="2275959815-1">(</span><span·class="p"·data-group-id="2275959815-1">)</span><span·class="p">,</span><span·class="w">
3388 »       ··</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">set_trace</span><span·class="p"·data-group-id="4909440769-2">(</span><span·class="p"·data-group-id="4909440769-3">[</span><span·class="ss">snmp_generic</span><span·class="p">,</span><span·class="w">3388 »       ··</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">set_trace</span><span·class="p"·data-group-id="2275959815-2">(</span><span·class="p"·data-group-id="2275959815-3">[</span><span·class="ss">snmp_generic</span><span·class="p">,</span><span·class="w">
3389 ··························</span><span·class="p"·data-group-id="4909440769-4">{</span><span·class="ss">snmp_generic_mnesia</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4909440769-5">[</span><span·class="p"·data-group-id="4909440769-6">{</span><span·class="ss">scope</span><span·cl[·...·truncated·by·diffoscope;·len:·330,·SHA:·1b97c6d261f4c9d64e8a5015a33ec36acb09402a10c2b3298a8fd8c6228c37bf·...·]-2">)</span><span·class="p">,</span><span·class="w">3389 ··························</span><span·class="p"·data-group-id="2275959815-4">{</span><span·class="ss">snmp_generic_mnesia</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2275959815-5">[</span><span·class="p"·data-group-id="2275959815-6">{</span><span·class="ss">scope</span><span·cl[·...·truncated·by·diffoscope;·len:·330,·SHA:·232330bfe3c05f2d17858129609a3733817c677124349201764826ff3e52f086·...·]-2">)</span><span·class="p">,</span><span·class="w">
3390 »       ··</span><span·class="p">.</span><span·class="w">3390 »       ··</span><span·class="p">.</span><span·class="w">
3391 »       ··</span><span·class="p">.</span><span·class="w">3391 »       ··</span><span·class="p">.</span><span·class="w">
3392 »       ··</span><span·class="p">.</span><span·class="w">3392 »       ··</span><span·class="p">.</span><span·class="w">
3393 ··········</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">set_trace</span><span·class="p"·data-group-id="4909440769-7">(</span><span·class="ss">snmp_generic</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">disable</span><span·class="p"·data-group-id="4909440769-7">)</span><span·class="p">,</span><span·class="w">3393 ··········</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">set_trace</span><span·class="p"·data-group-id="2275959815-7">(</span><span·class="ss">snmp_generic</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">disable</span><span·class="p"·data-group-id="2275959815-7">)</span><span·class="p">,</span><span·class="w">
3394 »       ··</span><span·class="p">.</span><span·class="w">3394 »       ··</span><span·class="p">.</span><span·class="w">
3395 »       ··</span><span·class="p">.</span><span·class="w">3395 »       ··</span><span·class="p">.</span><span·class="w">
3396 »       ··</span><span·class="p">.</span><span·class="w">3396 »       ··</span><span·class="p">.</span><span·class="w">
3397 »       ··</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">disable_trace</span><span·class="p"·data-group-id="4909440769-8">(</span><span·class="p"·data-group-id="4909440769-8">)</span><span·class="p">,</span></code></pre>3397 »       ··</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">disable_trace</span><span·class="p"·data-group-id="2275959815-8">(</span><span·class="p"·data-group-id="2275959815-8">)</span><span·class="p">,</span></code></pre>
3398 ··</section>3398 ··</section>
3399 </section>3399 </section>
3400 <section·class="detail"·id="start/0">3400 <section·class="detail"·id="start/0">
  
3401 ··<div·class="detail-header">3401 ··<div·class="detail-header">
3402 ····<a·href="#start/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3402 ····<a·href="#start/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
3403 ······<i·class="ri-link-m"·aria-hidden="true"></i>3403 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3762, 15 lines modifiedOffset 3762, 15 lines modified
3762 ······<p·class="built-using">3762 ······<p·class="built-using">
3763 ········Built·using3763 ········Built·using
3764 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3764 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3765 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3765 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3766 ······</p>3766 ······</p>
3767 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3767 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3768 ····</footer>3768 ····</footer>
3769 ··</div>3769 ··</div>
3770 </main>3770 </main>
3771 </div>3771 </div>
3772 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3772 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3773 ··<script>3773 ··<script>
3774 ··let·initialized·=·false;3774 ··let·initialized·=·false;
631 B
html2text {}
Max HTML report size reached
31.6 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_advanced_agent.html
    
Offset 325, 74 lines modifiedOffset 325, 74 lines modified
325 ·······::=·{·empTable·1·}325 ·······::=·{·empTable·1·}
326 ·······EmpEntry·::=326 ·······EmpEntry·::=
327 ··············SEQUENCE·{327 ··············SEQUENCE·{
328 ··················empDepNo·········INTEGER,328 ··················empDepNo·········INTEGER,
329 ··················empName··········DisplayString,329 ··················empName··········DisplayString,
330 ··················empTelNo·········DisplayString,330 ··················empTelNo·········DisplayString,
331 ··················empStatus········RowStatus331 ··················empStatus········RowStatus
332 ··············}</code></pre><p>The·corresponding·Mnesia·table·is·specified·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="5691575281-1">(</span><span·class="p"·data-group-id="5691575281-2">[</span><span·class="p"·data-group-id="5691575281-3">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">employees</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·51da9d286d056c1a4a2d93f8755c6d8b15ad5c1002bcce66fc49efd79a588226·...·]-3">}</span><span·class="p">,</span><span·class="w">332 ··············}</code></pre><p>The·corresponding·Mnesia·table·is·specified·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="8248803917-1">(</span><span·class="p"·data-group-id="8248803917-2">[</span><span·class="p"·data-group-id="8248803917-3">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">employees</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·0d291cce2476c76dd37128d0388c85c8a7dd8f1934a885d9064f35d4434772d4·...·]-3">}</span><span·class="p">,</span><span·class="w">
333 ·····················</span><span·class="p"·data-group-id="5691575281-4">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5691575281-5">[</span><span·class="p"·data-group-id="5691575281-6">{</span><span·class="ss">key</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·385,·SHA:·1b01dca5ec7c17ff0cc16ecc697637378f6134d38862ac3e11ed2e9a3bceed4f·...·]-4">}</span><span·class="p">,</span><span·class="w">333 ·····················</span><span·class="p"·data-group-id="8248803917-4">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8248803917-5">[</span><span·class="p"·data-group-id="8248803917-6">{</span><span·class="ss">key</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·385,·SHA:·ab6808a929f6d3af5db370c566e8e40cf0560743665c71d09c0429429991551c·...·]-4">}</span><span·class="p">,</span><span·class="w">
334 ·····················</span><span·class="p"·data-group-id="5691575281-8">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5691575281-9">[</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">telno</[·...·truncated·by·diffoscope;·len:·287,·SHA:·d2eb51650c0c4d071dd9bc439fb5f7b69083c2387ded23b6952c252c1bbe95e9·...·]-1">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>In·the·Mnesia·tables,·the·two·key·columns·are·stored·as·a·tuple·with·two334 ·····················</span><span·class="p"·data-group-id="8248803917-8">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8248803917-9">[</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">telno</[·...·truncated·by·diffoscope;·len:·287,·SHA:·1373607119e70f7a8e833adc821547dd4c35f2d600f4737a8f70cffc71773cc1·...·]-1">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>In·the·Mnesia·tables,·the·two·key·columns·are·stored·as·a·tuple·with·two
335 elements.·Therefore,·the·arity·of·the·table·is·3.</p></section><h3·id="instrumentation-functions"·class="section-heading">335 elements.·Therefore,·the·arity·of·the·table·is·3.</p></section><h3·id="instrumentation-functions"·class="section-heading">
336 ··<a·href="#instrumentation-functions"·class="hover-link">336 ··<a·href="#instrumentation-functions"·class="hover-link">
337 ····<i·class="ri-link-m"·aria-hidden="true"></i>337 ····<i·class="ri-link-m"·aria-hidden="true"></i>
338 ··</a>338 ··</a>
339 ··<span·class="text">Instrumentation·Functions</span>339 ··<span·class="text">Instrumentation·Functions</span>
340 </h3>340 </h3>
341 <p>The·MIB·table·shown·in·the·previous·section·can·be·compiled·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">snmpc</span><span·class="p">:</span><span·class="nf">compile</span><span·class="p"·data-group-id="2104573593-1">(</span><span·class="s">&quot;EmpMIB&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2104573593-2">[</span><span·class="p"·data-group-id="2104573593-3">{</span><span·class="ss">db</span><span·class="[·...·truncated·by·diffoscope;·len:·212,·SHA:·35e60127de6a5cfe5a4e906be3c2bee25ebcbc6505b31470deaadca4ddcfc95f·...·]-1">)</span><span·class="p">.</span></code></pre><p>This·is·all·that·has·to·be·done!·Now·the·manager·can·read,·add,·and·modify341 <p>The·MIB·table·shown·in·the·previous·section·can·be·compiled·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">snmpc</span><span·class="p">:</span><span·class="nf">compile</span><span·class="p"·data-group-id="3576134277-1">(</span><span·class="s">&quot;EmpMIB&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3576134277-2">[</span><span·class="p"·data-group-id="3576134277-3">{</span><span·class="ss">db</span><span·class="[·...·truncated·by·diffoscope;·len:·212,·SHA:·d7a9a5e0045595fc258215863e2bfaa59c43d2236907cfb84f421e41cd26b799·...·]-1">)</span><span·class="p">.</span></code></pre><p>This·is·all·that·has·to·be·done!·Now·the·manager·can·read,·add,·and·modify
342 rows.·Also,·you·can·use·the·ordinary·Mnesia·API·to·access·the·table·from·your342 rows.·Also,·you·can·use·the·ordinary·Mnesia·API·to·access·the·table·from·your
343 programs.·The·only·explicit·action·is·to·create·the·Mnesia·table,·an·action·the343 programs.·The·only·explicit·action·is·to·create·the·Mnesia·table,·an·action·the
344 user·has·to·perform·in·order·to·create·the·required·table·schemas.</p><h3·id="adding-own-actions"·class="section-heading">344 user·has·to·perform·in·order·to·create·the·required·table·schemas.</p><h3·id="adding-own-actions"·class="section-heading">
345 ··<a·href="#adding-own-actions"·class="hover-link">345 ··<a·href="#adding-own-actions"·class="hover-link">
346 ····<i·class="ri-link-m"·aria-hidden="true"></i>346 ····<i·class="ri-link-m"·aria-hidden="true"></i>
347 ··</a>347 ··</a>
348 ··<span·class="text">Adding·Own·Actions</span>348 ··<span·class="text">Adding·Own·Actions</span>
349 </h3>349 </h3>
350 <p>It·is·often·necessary·to·take·some·specific·action·when·a·table·is·modified.350 <p>It·is·often·necessary·to·take·some·specific·action·when·a·table·is·modified.
351 This·is·accomplished·with·an·instrumentation·function.·It·executes·some·specific351 This·is·accomplished·with·an·instrumentation·function.·It·executes·some·specific
352 code·when·the·table·is·set,·and·passes·all·other·requests·down·to·the352 code·when·the·table·is·set,·and·passes·all·other·requests·down·to·the
353 pre-defined·function.</p><p>The·following·example·illustrates·this·idea:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">emp_table</span><span·class="p"·data-group-id="1323727103-1">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="1323727103-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">353 pre-defined·function.</p><p>The·following·example·illustrates·this·idea:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">emp_table</span><span·class="p"·data-group-id="2223863959-1">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="2223863959-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
354 ····</span><span·class="nf">notify_internal_resources</span><span·class="p"·data-group-id="1323727103-2">(</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="1323727103-2">)</span><span·class="p">,</span><span·class="w">354 ····</span><span·class="nf">notify_internal_resources</span><span·class="p"·data-group-id="2223863959-2">(</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="2223863959-2">)</span><span·class="p">,</span><span·class="w">
355 ····</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="1323727103-3">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·252,·SHA:·3a67b409fd150290785879b7103ed1e094f5f5dfe27ce36537569587a4b32938·...·]-3">)</span><span·class="p">;</span><span·class="w">355 ····</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="2223863959-3">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·252,·SHA:·f2ee0263039e09e9d4a742f7c9cf555d5634eedfe9fb36c29e402505c1066737·...·]-3">)</span><span·class="p">;</span><span·class="w">
356 </span><span·class="nf">emp_table</span><span·class="p"·data-group-id="1323727103-5">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="1323727103-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">356 </span><span·class="nf">emp_table</span><span·class="p"·data-group-id="2223863959-5">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="2223863959-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
357 ····</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="1323727103-6">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·250,·SHA:·0029f305723e0ff0033d8c1ba5673cb0eafdb82b3356a48e622d647f80678b05·...·]-6">)</span><span·class="p">.</span></code></pre><p>The·default·instrumentation·functions·are·defined·in·the·module·<code·class="inline">snmp_generic</code>.357 ····</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="2223863959-6">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·250,·SHA:·333cbdf20fbb700bf04016270cd7b63d4e5f775053afb6051e68d7522be80d91·...·]-6">)</span><span·class="p">.</span></code></pre><p>The·default·instrumentation·functions·are·defined·in·the·module·<code·class="inline">snmp_generic</code>.
358 Refer·to·the·Reference·Manual,·section·SNMP,·module·<code·class="inline">snmp_generic</code>·for·details.</p><h3·id="extending-the-mnesia-table"·class="section-heading">358 Refer·to·the·Reference·Manual,·section·SNMP,·module·<code·class="inline">snmp_generic</code>·for·details.</p><h3·id="extending-the-mnesia-table"·class="section-heading">
359 ··<a·href="#extending-the-mnesia-table"·class="hover-link">359 ··<a·href="#extending-the-mnesia-table"·class="hover-link">
360 ····<i·class="ri-link-m"·aria-hidden="true"></i>360 ····<i·class="ri-link-m"·aria-hidden="true"></i>
361 ··</a>361 ··</a>
362 ··<span·class="text">Extending·the·Mnesia·Table</span>362 ··<span·class="text">Extending·the·Mnesia·Table</span>
363 </h3>363 </h3>
364 <p>A·table·may·contain·columns·that·are·used·internally,·but·should·not·be·visible364 <p>A·table·may·contain·columns·that·are·used·internally,·but·should·not·be·visible
365 to·a·manager.·These·internal·columns·must·be·the·last·columns·in·the·table.·The365 to·a·manager.·These·internal·columns·must·be·the·last·columns·in·the·table.·The
366 <code·class="inline">set</code>·operation·will·not·work·with·this·arrangement,·because·there·are·columns366 <code·class="inline">set</code>·operation·will·not·work·with·this·arrangement,·because·there·are·columns
367 that·the·agent·does·not·know·about.·This·situation·is·handled·by·adding·values367 that·the·agent·does·not·know·about.·This·situation·is·handled·by·adding·values
368 for·the·internal·columns·in·the·<code·class="inline">set</code>·function.</p><p>To·illustrate·this,·suppose·we·extend·our·Mnesia·<code·class="inline">empTable</code>·with·one·internal368 for·the·internal·columns·in·the·<code·class="inline">set</code>·function.</p><p>To·illustrate·this,·suppose·we·extend·our·Mnesia·<code·class="inline">empTable</code>·with·one·internal
369 column.·We·create·it·as·before,·but·with·an·arity·of·4,·by·adding·another369 column.·We·create·it·as·before,·but·with·an·arity·of·4,·by·adding·another
370 attribute.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="2686822710-1">(</span><span·class="p"·data-group-id="2686822710-2">[</span><span·class="p"·data-group-id="2686822710-3">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">employees</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·21,·SHA:·ef12e87e056ae09fee85dedb28361b0e5bd709cca780293be21633e1df84257f·...·]0-3">}</span><span·class="p">,</span><span·class="w">370 attribute.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">mnesia</span><span·class="p">:</span><span·class="nf">create_table</span><span·class="p"·data-group-id="6856275620-1">(</span><span·class="p"·data-group-id="6856275620-2">[</span><span·class="p"·data-group-id="6856275620-3">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">employees</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·21,·SHA:·5d615e5c8231ccbd31f961cb160bdb0268898bc48a8e87289bccd79f6d4847f6·...·]0-3">}</span><span·class="p">,</span><span·class="w">
371 ·····················</span><span·class="p"·data-group-id="2686822710-4">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2686822710-5">[</span><span·class="p"·data-group-id="2686822710-6">{</span><span·class="ss">key</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·384,·SHA:·252ce269de5900941a16ef7c4d2a53c8d920a0cd0008e136f4e35be016c54291·...·]0-4">}</span><span·class="p">,</span><span·class="w">371 ·····················</span><span·class="p"·data-group-id="6856275620-4">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6856275620-5">[</span><span·class="p"·data-group-id="6856275620-6">{</span><span·class="ss">key</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·384,·SHA:·d652a78a6f9d01e06d25d7cd9874983b8bb12a2857d7652bacdd223712fab679·...·]0-4">}</span><span·class="p">,</span><span·class="w">
372 ·····················</span><span·class="p"·data-group-id="2686822710-8">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2686822710-9">{</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">telno</[·...·truncated·by·diffoscope;·len:·370,·SHA:·4d2ccf7a174db078a3279504409f6139ac2fd54c4fe2d784824b0a205c00ac4a·...·]0-1">)</span><span·class="p">.</span></code></pre><p>The·last·column·is·the·internal·column.·When·performing·a·<code·class="inline">set</code>·operation,·which372 ·····················</span><span·class="p"·data-group-id="6856275620-8">{</span><span·class="ss">attributes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6856275620-9">{</span><span·class="ss">key</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">telno</[·...·truncated·by·diffoscope;·len:·370,·SHA:·a9ac21380820e7f7bad758a311363b430c02ed7c4fe6d6407a1539bdbc2e43fb·...·]0-1">)</span><span·class="p">.</span></code></pre><p>The·last·column·is·the·internal·column.·When·performing·a·<code·class="inline">set</code>·operation,·which
373 creates·a·row,·we·must·give·a·value·to·the·internal·column.·The·instrumentation373 creates·a·row,·we·must·give·a·value·to·the·internal·column.·The·instrumentation
374 functions·will·now·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="1851052974-1">(</span><span·class="ss">createAndGo</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="p"·data-group-id="1851052974-1">)</span><span·class="p">.</span><span·class="w">374 functions·will·now·look·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="2080581395-1">(</span><span·class="ss">createAndGo</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="p"·data-group-id="2080581395-1">)</span><span·class="p">.</span><span·class="w">
375 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="1851052974-2">(</span><span·class="ss">createAndWait</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span><span·class="p"·data-group-id="1851052974-2">)</span><span·class="p">.</span><span·class="w">375 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="2080581395-2">(</span><span·class="ss">createAndWait</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span><span·class="p"·data-group-id="2080581395-2">)</span><span·class="p">.</span><span·class="w">
  
376 </span><span·class="nf">emp_table</span><span·class="p"·data-group-id="1851052974-3">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="1851052974-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">376 </span><span·class="nf">emp_table</span><span·class="p"·data-group-id="2080581395-3">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="2080581395-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
377 ··</span><span·class="nf">notify_internal_resources</span><span·class="p"·data-group-id="1851052974-4">(</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="1851052974-4">)</span><span·class="p">,</span><span·class="w">377 ··</span><span·class="nf">notify_internal_resources</span><span·class="p"·data-group-id="2080581395-4">(</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="2080581395-4">)</span><span·class="p">,</span><span·class="w">
378 ··</span><span·class="n">NewCols</span><span·class="w">·</span><span·class="o">=</span><span·class="w">378 ··</span><span·class="n">NewCols</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
379 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">is_row_created</span><span·class="p"·data-group-id="1851052974-5">(</span><span·class="ss">empTable</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="1851052974-5">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">379 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">is_row_created</span><span·class="p"·data-group-id="2080581395-5">(</span><span·class="ss">empTable</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="2080581395-5">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
380 ······</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Cols</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p"·data-group-id="1851052974-6">[</span><span·class="p"·data-group-id="1851052974-7">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;internal&quot;</span><span·class="p"·data-group-id="1851052974-7">}</span><span·class=[·...·truncated·by·diffoscope;·len:·29,·SHA:·1725374d59264c3715eea1c73bc6d8ca52bef2352b4e6fb5fb58c0956262865b·...·]-6">]</span><span·class="p">;</span><span·class="w">·</span><span·class="c1">%·add·internal·column</span><span·class="w">380 ······</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Cols</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p"·data-group-id="2080581395-6">[</span><span·class="p"·data-group-id="2080581395-7">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;internal&quot;</span><span·class="p"·data-group-id="2080581395-7">}</span><span·class=[·...·truncated·by·diffoscope;·len:·29,·SHA:·a7576b3bd2af3f45111951a0b01d8a80ee211546300161dab47a77ab10767371·...·]-6">]</span><span·class="p">;</span><span·class="w">·</span><span·class="c1">%·add·internal·column</span><span·class="w">
381 ······</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Cols</span><span·class="w">······················</span><span·class="c1">%·keep·original·cols</span><span·class="w">381 ······</span><span·class="ss">false</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Cols</span><span·class="w">······················</span><span·class="c1">%·keep·original·cols</span><span·class="w">
382 ··</span><span·class="k">end</span><span·class="p">,</span><span·class="w">382 ··</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
383 ··</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="1851052974-8">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NewCols</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·255,·SHA:·fc10b9319f8af12931a163d1b6be51f0301ed42deef1140cd31183695a134b7e·...·]-8">)</span><span·class="p">;</span><span·class="w">383 ··</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="2080581395-8">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NewCols</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·255,·SHA:·357b24ebf464ff331ce6154b5f7fde4110577a0e3d4737bf3344878d07eb3506·...·]-8">)</span><span·class="p">;</span><span·class="w">
384 </span><span·class="nf">emp_table</span><span·class="p"·data-group-id="1851052974-10">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="1851052974-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">384 </span><span·class="nf">emp_table</span><span·class="p"·data-group-id="2080581395-10">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="2080581395-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
385 ··</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="1851052974-11">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·253,·SHA:·cdb08c5f8321b99205a4193e4962ba6b16c4db43f1a3431ee4ffa8d11aa2f1e1·...·]-11">)</span><span·class="p">.</span><span·class="w">385 ··</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="2080581395-11">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·253,·SHA:·4e3208bb841edd8ed6ed738f4db244e9f3a46f1bcd6ffb10bf8bb0f0644143bd·...·]-11">)</span><span·class="p">.</span><span·class="w">
  
386 </span><span·class="nf">is_row_created</span><span·class="p"·data-group-id="1851052974-13">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="1851052974-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">386 </span><span·class="nf">is_row_created</span><span·class="p"·data-group-id="2080581395-13">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="2080581395-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
387 ··</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">get_status_col</span><span·class="p"·data-group-id="1851052974-14">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="1851052974-14">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">387 ··</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">get_status_col</span><span·class="p"·data-group-id="2080581395-14">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="2080581395-14">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
388 ····</span><span·class="p"·data-group-id="1851052974-15">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">createAndGo</span><span·class="p"·data-group-id="1851052974-15">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">;</span><span·class="w">388 ····</span><span·class="p"·data-group-id="2080581395-15">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">createAndGo</span><span·class="p"·data-group-id="2080581395-15">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">;</span><span·class="w">
389 ····</span><span·class="p"·data-group-id="1851052974-16">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">createAndWait</span><span·class="p"·data-group-id="1851052974-16">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">;</span><span·class="w">389 ····</span><span·class="p"·data-group-id="2080581395-16">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="ss">createAndWait</span><span·class="p"·data-group-id="2080581395-16">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">;</span><span·class="w">
390 ····</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">390 ····</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">
391 ··</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>If·a·row·is·created,·we·always·set·the·internal·column·to·<code·class="inline">&quot;internal&quot;</code>.</p><h2·id="deviations-from-the-standard"·class="section-heading">391 ··</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>If·a·row·is·created,·we·always·set·the·internal·column·to·<code·class="inline">&quot;internal&quot;</code>.</p><h2·id="deviations-from-the-standard"·class="section-heading">
392 ··<a·href="#deviations-from-the-standard"·class="hover-link">392 ··<a·href="#deviations-from-the-standard"·class="hover-link">
393 ····<i·class="ri-link-m"·aria-hidden="true"></i>393 ····<i·class="ri-link-m"·aria-hidden="true"></i>
394 ··</a>394 ··</a>
395 ··<span·class="text">Deviations·from·the·Standard</span>395 ··<span·class="text">Deviations·from·the·Standard</span>
396 </h2>396 </h2>
Offset 453, 15 lines modifiedOffset 453, 15 lines modified
453 ······<p·class="built-using">453 ······<p·class="built-using">
454 ········Built·using454 ········Built·using
455 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the455 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
456 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>456 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
457 ······</p>457 ······</p>
458 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>458 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
459 ····</footer>459 ····</footer>
460 ··</div>460 ··</div>
461 </main>461 </main>
462 </div>462 </div>
463 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>463 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
464 ··<script>464 ··<script>
465 ··let·initialized·=·false;465 ··let·initialized·=·false;
716 B
html2text {}
Max HTML report size reached
82.2 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_agent_config_files.html
    
Offset 146, 38 lines modifiedOffset 146, 38 lines modified
146 ····<i·class="ri-link-m"·aria-hidden="true"></i>146 ····<i·class="ri-link-m"·aria-hidden="true"></i>
147 ··</a>147 ··</a>
148 ··<span·class="text">Agent·Information</span>148 ··<span·class="text">Agent·Information</span>
149 </h2>149 </h2>
150 <p>The·agent·information·should·be·stored·in·a·file·called·<code·class="inline">agent.conf</code>.</p><p>Each·entry·is·a·tuple·of·size·two:</p><p><code·class="inline">{AgentVariable,·Value}.</code></p><ul><li><code·class="inline">AgentVariable</code>·is·one·of·the·variables·in·SNMP-FRAMEWORK-MIB·or·one·of·the150 <p>The·agent·information·should·be·stored·in·a·file·called·<code·class="inline">agent.conf</code>.</p><p>Each·entry·is·a·tuple·of·size·two:</p><p><code·class="inline">{AgentVariable,·Value}.</code></p><ul><li><code·class="inline">AgentVariable</code>·is·one·of·the·variables·in·SNMP-FRAMEWORK-MIB·or·one·of·the
151 internal·variables·<code·class="inline">intAgentUDPPort</code>,·which·defines·which·UDP·port·the·agent151 internal·variables·<code·class="inline">intAgentUDPPort</code>,·which·defines·which·UDP·port·the·agent
152 listens·to,·or·<code·class="inline">intAgentTransports</code>,·which·defines·the·transport·domains·and152 listens·to,·or·<code·class="inline">intAgentTransports</code>,·which·defines·the·transport·domains·and
153 addresses·of·the·agent.</li><li><code·class="inline">Value</code>·is·the·value·for·the·variable.</li></ul><p>The·following·example·shows·an·<code·class="inline">agent.conf</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6115339226-1">{</span><span·class="ss">intAgentUDPPort</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4000</span><span·class="p"·data-group-id="6115339226-1">}</span><span·class="p">.</span><span·class="w">153 addresses·of·the·agent.</li><li><code·class="inline">Value</code>·is·the·value·for·the·variable.</li></ul><p>The·following·example·shows·an·<code·class="inline">agent.conf</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8754650940-1">{</span><span·class="ss">intAgentUDPPort</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4000</span><span·class="p"·data-group-id="8754650940-1">}</span><span·class="p">.</span><span·class="w">
154 </span><span·class="p"·data-group-id="6115339226-2">{</span><span·class="ss">intAgentTransports</span><span·class="p">,</span><span·class="w">154 </span><span·class="p"·data-group-id="8754650940-2">{</span><span·class="ss">intAgentTransports</span><span·class="p">,</span><span·class="w">
155 ·</span><span·class="p"·data-group-id="6115339226-3">[</span><span·class="p"·data-group-id="6115339226-4">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6115339226-5">{</span><span·class="mi">141</span><span·c[·...·truncated·by·diffoscope;·len:·238,·SHA:·75210f6622a6bd9a14b2f97ec7c108d51cdf01f856070e6e8adacf65e5e3c56a·...·]-4">}</span><span·class="p">,</span><span·class="w">155 ·</span><span·class="p"·data-group-id="8754650940-3">[</span><span·class="p"·data-group-id="8754650940-4">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8754650940-5">{</span><span·class="mi">141</span><span·c[·...·truncated·by·diffoscope;·len:·238,·SHA:·1ce04fa7189775c0c5d8b8822c9dc888ffd330fdc404947054db36019834ffbf·...·]-4">}</span><span·class="p">,</span><span·class="w">
156 ··</span><span·class="p"·data-group-id="6115339226-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6115339226-7">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·481,·SHA:·d9470398dff7fb0456a6ec7adccc47f57599b625d67bf1c57e0c4aba8f5e7bb6·...·]-2">}</span><span·class="p">.</span><span·class="w">156 ··</span><span·class="p"·data-group-id="8754650940-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8754650940-7">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·481,·SHA:·314f087a6810b7e59f5d69946abb99fbab387208cd861a2073eddc550f821fea·...·]-2">}</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="6115339226-8">{</span><span·class="ss">snmpEngineID</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;mbj&#39;s·engine&quot;</span><span·class="p"·data-group-id="6115339226-8">}</span><span·class="p">.</span><span·class="w">157 </span><span·class="p"·data-group-id="8754650940-8">{</span><span·class="ss">snmpEngineID</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;mbj&#39;s·engine&quot;</span><span·class="p"·data-group-id="8754650940-8">}</span><span·class="p">.</span><span·class="w">
158 </span><span·class="p"·data-group-id="6115339226-9">{</span><span·class="ss">snmpEngineMaxMessageSize</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">484</span><span·class="p"·data-group-id="6115339226-9">}</span><span·class="p">.</span></code></pre><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">AgentDir</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">158 </span><span·class="p"·data-group-id="8754650940-9">{</span><span·class="ss">snmpEngineMaxMessageSize</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">484</span><span·class="p"·data-group-id="8754650940-9">}</span><span·class="p">.</span></code></pre><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">AgentDir</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">
159 </span><span·class="n">AgentPort</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">4000</span><span·class="p">,</span><span·class="w">159 </span><span·class="n">AgentPort</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">4000</span><span·class="p">,</span><span·class="w">
160 </span><span·class="n">Transports</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3043159778-1">[</span><span·class="p"·data-group-id="3043159778-2">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3043159778-3">{</span><span·class="mi">141</span><span·c[·...·truncated·by·diffoscope;·len:·238,·SHA:·80a49da7f130b732b690bbedb2989fa3d2de8dc319adbc59f117ee9963065387·...·]-2">}</span><span·class="p">,</span><span·class="w">160 </span><span·class="n">Transports</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7361687253-1">[</span><span·class="p"·data-group-id="7361687253-2">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7361687253-3">{</span><span·class="mi">141</span><span·c[·...·truncated·by·diffoscope;·len:·238,·SHA:·c6fc30502aec6f8847451d26ed278d1cce6007e873e8b439978a605bbd776a8c·...·]-2">}</span><span·class="p">,</span><span·class="w">
161 ···············</span><span·class="p"·data-group-id="3043159778-4">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3043159778-5">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·428,·SHA:·94a09807d7e00ae249da298e93057f348f71dc0bd954e543b5b71ae869ba3098·...·]-1">]</span><span·class="p">,</span><span·class="w">161 ···············</span><span·class="p"·data-group-id="7361687253-4">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7361687253-5">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·428,·SHA:·0eac1c46b20b07bda8d4e6a4a35aced847acb51f7bcc223a92e7b40442d52ca1·...·]-1">]</span><span·class="p">,</span><span·class="w">
162 </span><span·class="n">EngineID</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;mbj&#39;s·engine&quot;</span><span·class="p">,</span><span·class="w">162 </span><span·class="n">EngineID</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;mbj&#39;s·engine&quot;</span><span·class="p">,</span><span·class="w">
163 </span><span·class="n">MMS</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">484</span><span·class="p">,</span><span·class="w">163 </span><span·class="n">MMS</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">484</span><span·class="p">,</span><span·class="w">
164 </span><span·class="n">AgentConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">164 </span><span·class="n">AgentConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
165 ···</span><span·class="p"·data-group-id="3043159778-6">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">agent_entry</span><span·class="p"·data-group-id="3043159778-7">(</span><span·class="ss">intAgentUDPPort</span><span·class="p">,</span><span·class="w">·········[·...·truncated·by·diffoscope;·len:·81,·SHA:·ea2379085d65ac8065db4c15a89c5a9953014a452ae3f2566bb04e0d7424d12b·...·]-7">)</span><span·class="p">,</span><span·class="w">165 ···</span><span·class="p"·data-group-id="7361687253-6">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">agent_entry</span><span·class="p"·data-group-id="7361687253-7">(</span><span·class="ss">intAgentUDPPort</span><span·class="p">,</span><span·class="w">·········[·...·truncated·by·diffoscope;·len:·81,·SHA:·790bfb36674f1cf483d29083e6eb7589713474e18d1304c91fe6a4d6fdb046ea·...·]-7">)</span><span·class="p">,</span><span·class="w">
166 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">agent_entry</span><span·class="p"·data-group-id="3043159778-8">(</span><span·class="ss">intAgentTransports</span><span·class="p">,</span><span·class="w">·······</span><span·class="n">Transports</span><span·class="p"·data-group-id="3043159778-8">)</span><span·class="p">,</span><span·class="w">166 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">agent_entry</span><span·class="p"·data-group-id="7361687253-8">(</span><span·class="ss">intAgentTransports</span><span·class="p">,</span><span·class="w">·······</span><span·class="n">Transports</span><span·class="p"·data-group-id="7361687253-8">)</span><span·class="p">,</span><span·class="w">
167 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">agent_entry</span><span·class="p"·data-group-id="3043159778-9">(</span><span·class="ss">snmpEngineID</span><span·class="p">,</span><span·class="w">·············</span><span·class="n">EngineID</span><span·class="p"·data-group-id="3043159778-9">)</span><span·class="p">,</span><span·class="w">167 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">agent_entry</span><span·class="p"·data-group-id="7361687253-9">(</span><span·class="ss">snmpEngineID</span><span·class="p">,</span><span·class="w">·············</span><span·class="n">EngineID</span><span·class="p"·data-group-id="7361687253-9">)</span><span·class="p">,</span><span·class="w">
168 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">agent_entry</span><span·class="p"·data-group-id="3043159778-10">(</span><span·class="ss">snmpEngineMaxMessageSize</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MMS</span><span·class="p"·data-group-id="3043159778-10">)</span><span·class="p"·data-group-id="3043159778-6">]</span><span·class="p">,</span><span·class="w">168 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">agent_entry</span><span·class="p"·data-group-id="7361687253-10">(</span><span·class="ss">snmpEngineMaxMessageSize</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MMS</span><span·class="p"·data-group-id="7361687253-10">)</span><span·class="p"·data-group-id="7361687253-6">]</span><span·class="p">,</span><span·class="w">
169 </span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">write_agent_config</span><span·class="p"·data-group-id="3043159778-11">(</span><span·class="n">AgentDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AgentConfig</span><span·class="p"·data-group-id="3043159778-11">)</span><span·class="p">,</span></code></pre><p>These·are·the·supported·en[·...·truncated·by·diffoscope;·len:·435,·SHA:·bfd634ec842c6d291224b9fd2a2bab50c224117f536d39bbf76d265c7ce56ced·...·]-1">}</span><span·class="p">.</span><span·class="w">·····················</span><span·class="c1">%·Mandatory</span><span·class="w">169 </span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">write_agent_config</span><span·class="p"·data-group-id="7361687253-11">(</span><span·class="n">AgentDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">AgentConfig</span><span·class="p"·data-group-id="7361687253-11">)</span><span·class="p">,</span></code></pre><p>These·are·the·supported·en[·...·truncated·by·diffoscope;·len:·435,·SHA:·0fd7d1f60a02a1880912c78e615a2df12713285d22ae97abd7d57c8b4abf4da3·...·]-1">}</span><span·class="p">.</span><span·class="w">·····················</span><span·class="c1">%·Mandatory</span><span·class="w">
170 ······</span><span·class="p"·data-group-id="7651474447-3">{</span><span·class="ss">snmpEngineMaxMessageSize</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">snmp_framework_mib</span><span·class="p">:</span><span·class="nf">max_message_size</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·115,·SHA:·2faedc0be4f4fae460e1c3f4d90f7d09cef9dfc1a3a6ab477dabf7253637c7ad·...·]-3">}</span><span·class="p">.</span><span·class="w">··</span><span·class="c1">%·Mandatory</span><span·class="w">170 ······</span><span·class="p"·data-group-id="3570685263-3">{</span><span·class="ss">snmpEngineMaxMessageSize</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">snmp_framework_mib</span><span·class="p">:</span><span·class="nf">max_message_size</span><span·class="p"·data-group-id="3[·...·truncated·by·diffoscope;·len:·115,·SHA:·d794d6009f6067d80e8a89f196620f6936d171bac5ca84abd7d49b57078d7317·...·]-3">}</span><span·class="p">.</span><span·class="w">··</span><span·class="c1">%·Mandatory</span><span·class="w">
171 ······</span><span·class="p"·data-group-id="7651474447-5">{</span><span·class="ss">intAgentUDPPort</span><span·class="p">,</span><span·class="w">··········</span><span·class="nc">inet</span><span·class="p">:</span><span·class="nf">port_number</span><span·class="p"·data-group-id="7651474447-6">(</span><span·class="p"·data-group-id="7651474447-6">)</span><span·class="p"·data-group-id="7651474447-5">}</span><span·class="p">.</span><span·class="w">······················</span><span·class="c1">%·Optional</span><span·class="w"> 
172 ······</span><span·class="p"·data-group-id="7651474447-7">{</span><span·class="ss">intAgentTransports</span><span·class="p">,</span><span·class="w">·······</span><span·class="p"·data-group-id="7651474447-8">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">intAgentTr[·...·truncated·by·diffoscope;·len:·439,·SHA:·68f4fdf843dc4d7d33954b5a73bc66b92caf624e0182cff6e4e0f58e7b392bdd·...·]171 ······</span><span·class="p"·data-group-id="3570685263-5">{</span><span·class="ss">intAgentUDPPort</span><span·class="p">,</span><span·class="w">··········</span><span·class="nc">inet</span><span·class="p">:</span><span·class="nf">port_number</span><span·class="p"·data-group-id="3570685263-6">(</spa[·...·truncated·by·diffoscope;·len:·227,·SHA:·56f2b975b2765b12c33f179d814c68f09491940cf44724eb48db11a392121cfc·...·]
 172 ······</span><span·class="p"·data-group-id="3570685263-7">{</span><span·class="ss">intAgentTransports</span><span·class="p">,</span><span·class="w">·······</span><span·class="p"·data-group-id="3570685263-8">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">intAgentTransport</span><span·class="p"·data-group-id="3570685263-9">(</span><span·class="p"·data-group-id="3570685263-9">)</span><span·class="p"·data-group-id="3570685263-8">]</span><span·class="p"·data-group-id="3570685263-7">}</span><span·class="p">.</span><span·class="w">···</span><span·class="c1">%·Mandatory</span></code></pre><p>If·a·&quot;traditional&quot;·transport·is·specified·(without·explicit·<code·class="inline">Kind</code>,·handling
173 both·requests·and·traps)·for·a·transport·domain,·its·<em>not</em>·possible·to·also173 both·requests·and·traps)·for·a·transport·domain,·its·<em>not</em>·possible·to·also
174 specify·a·transport·(for·that·domain)·with·a·specific·<code·class="inline">Kind</code>.·This·is·for174 specify·a·transport·(for·that·domain)·with·a·specific·<code·class="inline">Kind</code>.·This·is·for
175 example,·<em>not</em>·allowed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="p"·data-group-id="8688768437-1">[</span><span·class="p"·data-group-id="8688768437-2">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8688768437-3">{</span><span·class="p"·data-group-id="8688768437-4">{</span><span·class="mi">141</span><span·class="p">,</span><span·class="mi">213</span><span·class="p">,</span><span·class="mi">11</span><span·class="p">,</span><span·class="mi">24</span><span·class="p"·data-group-id="8688768437-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4000</span><span·class="p"·data-group-id="8688768437-3">}</span><span·class="p"·data-group-id="8688768437-2">}</span><span·class="p">,</span><span·class="w"> 
176 ··</span><span·class="p"·data-group-id="8688768437-5">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8688768437-6">{</span><span·class="p"·data-group-id="8688768437-7">{<[·...·truncated·by·diffoscope;·len:·665,·SHA:·01e9b5e47a798d0247cde6c517af6a04ab9f830bd9bc07481f46bce5def2ad6e·...·]175 example,·<em>not</em>·allowed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="p"·data-group-id="9521837275-1">[</span><span·class="p"·data-group-id="9521837275-2">{</span><span·class="ss">transportDomainUdpIpv4</spa[·...·truncated·by·diffoscope;·len:·609,·SHA:·6ad5385a597fabe049a080ee260d0a1ae8b11749c3cfcb4ab2840821957eec2c·...·]
 176 ··</span><span·class="p"·data-group-id="9521837275-5">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9521837275-6">{</span><span·class="p"·data-group-id="9521837275-7">{</span><span·class="mi">141</span><span·class="p">,</span><span·class="mi">213</span><span·class="p">,</span><span·class="mi">11</span><span·class="p">,</span><span·class="mi">24</span><span·class="p"·data-group-id="9521837275-7">}</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4001</span><span·class="p"·data-group-id="9521837275-6">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">trap_sender</span><span·class="p"·data-group-id="9521837275-5">}</span><span·class="p"·data-group-id="9521837275-1">]</span><span·class="p">.</span></code></pre><p>Note·that·only·one·transport·per·kind·for·each·transport·domain·can·be
177 configured.</p><p><code·class="inline">PortInfo</code>·<code·class="inline">system</code>·is·used·to·indicate·that·the·'system'·should·choose·(the·way177 configured.</p><p><code·class="inline">PortInfo</code>·<code·class="inline">system</code>·is·used·to·indicate·that·the·'system'·should·choose·(the·way
178 port·number·'0'·(zero)·is·normally·used).·Port·info·'0'·(zero)·cannot·be·used178 port·number·'0'·(zero)·is·normally·used).·Port·info·'0'·(zero)·cannot·be·used
179 for·this,·since·it·is·(internally)·used·to·represent·the·'default'·port·number.</p><p>In·the·traditional·transport·entries,·when·the·<code·class="inline">Addr</code>·value·does·not·contain·a179 for·this,·since·it·is·(internally)·used·to·represent·the·'default'·port·number.</p><p>In·the·traditional·transport·entries,·when·the·<code·class="inline">Addr</code>·value·does·not·contain·a
180 port·number,·the·value·of·<code·class="inline">intAgentUDPPort</code>·is·used.</p><p>Note·that·the·(new)·extended·transport·entries·(including·<code·class="inline">Kind</code>·and·<code·class="inline">Opts</code>)180 port·number,·the·value·of·<code·class="inline">intAgentUDPPort</code>·is·used.</p><p>Note·that·the·(new)·extended·transport·entries·(including·<code·class="inline">Kind</code>·and·<code·class="inline">Opts</code>)
181 <em>must</em>·specify·port-info·as·they·ignore·any·value·specified·by181 <em>must</em>·specify·port-info·as·they·ignore·any·value·specified·by
182 <code·class="inline">intAgentUDPPort</code>.</p><p><code·class="inline">Opts</code>·is·the·same·as·for·the·<a·href="snmp_config.html#agent_ni_opts">net-if</a>·process182 <code·class="inline">intAgentUDPPort</code>.</p><p><code·class="inline">Opts</code>·is·the·same·as·for·the·<a·href="snmp_config.html#agent_ni_opts">net-if</a>·process
183 <em>and</em>·takes·precedence·(for·that·transport)·if·present.·The·point·is·that·each183 <em>and</em>·takes·precedence·(for·that·transport)·if·present.·The·point·is·that·each
Offset 190, 77 lines modifiedOffset 190, 77 lines modified
190 ··</a>190 ··</a>
191 ··<span·class="text">Contexts</span>191 ··<span·class="text">Contexts</span>
192 </h2>192 </h2>
193 <p>The·context·information·should·be·stored·in·a·file·called·<code·class="inline">context.conf</code>.·The193 <p>The·context·information·should·be·stored·in·a·file·called·<code·class="inline">context.conf</code>.·The
194 default·context·<code·class="inline">&quot;&quot;</code>·need·not·be·present.</p><p>Each·row·defines·a·context·in·the·agent.·This·information·is·used·in·the·table194 default·context·<code·class="inline">&quot;&quot;</code>·need·not·be·present.</p><p>Each·row·defines·a·context·in·the·agent.·This·information·is·used·in·the·table
195 <code·class="inline">vacmContextTable</code>·in·the·SNMP-VIEW-BASED-ACM-MIB.</p><p>Each·entry·is·a·term:</p><p><code·class="inline">ContextName.</code></p><ul><li><code·class="inline">ContextName</code>·is·a·string.</li></ul><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">AgentDir</span><span·class="w">······</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">195 <code·class="inline">vacmContextTable</code>·in·the·SNMP-VIEW-BASED-ACM-MIB.</p><p>Each·entry·is·a·term:</p><p><code·class="inline">ContextName.</code></p><ul><li><code·class="inline">ContextName</code>·is·a·string.</li></ul><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">AgentDir</span><span·class="w">······</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">
196 </span><span·class="n">ContextConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">196 </span><span·class="n">ContextConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
197 ···</span><span·class="p"·data-group-id="3009584189-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">context_entry</span><span·class="p"·data-group-id="3009584189-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="3009584189-2">)</span><span·class="p">,</span><span·class="w">197 ···</span><span·class="p"·data-group-id="9920483330-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">context_entry</span><span·class="p"·data-group-id="9920483330-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="9920483330-2">)</span><span·class="p">,</span><span·class="w">
198 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">context_entry</span><span·class="p"·data-group-id="3009584189-3">(</span><span·class="s">&quot;bar&quot;</span><span·class="p"·data-group-id="3009584189-3">)</span><span·class="p"·data-group-id="3009584189-1">]</span><span·class="p">,</span><span·class="w">198 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">context_entry</span><span·class="p"·data-group-id="9920483330-3">(</span><span·class="s">&quot;bar&quot;</span><span·class="p"·data-group-id="9920483330-3">)</span><span·class="p"·data-group-id="9920483330-1">]</span><span·class="p">,</span><span·class="w">
199 </span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">write_context_config</span><span·class="p"·data-group-id="3009584189-4">(</span><span·class="n">AgentDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ContextConfig</span><span·class="p"·data-group-id="3009584189-4">)</span><span·class="p">,</span></code></pre><p><a·href=""·id="system_information"></a></p><h2·id="system-information"·class="section-heading">199 </span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">write_context_config</span><span·class="p"·data-group-id="9920483330-4">(</span><span·class="n">AgentDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ContextConfig</span><span·class="p"·data-group-id="9920483330-4">)</span><span·class="p">,</span></code></pre><p><a·href=""·id="system_information"></a></p><h2·id="system-information"·class="section-heading">
200 ··<a·href="#system-information"·class="hover-link">200 ··<a·href="#system-information"·class="hover-link">
201 ····<i·class="ri-link-m"·aria-hidden="true"></i>201 ····<i·class="ri-link-m"·aria-hidden="true"></i>
202 ··</a>202 ··</a>
203 ··<span·class="text">System·Information</span>203 ··<span·class="text">System·Information</span>
204 </h2>204 </h2>
205 <p>The·system·information·should·be·stored·in·a·file·called·<code·class="inline">standard.conf</code>.</p><p>Each·entry·is·a·tuple·of·size·two:</p><p><code·class="inline">{SystemVariable,·Value}.</code></p><ul><li><code·class="inline">SystemVariable</code>·is·one·of·the·variables·in·the·system·group,·or205 <p>The·system·information·should·be·stored·in·a·file·called·<code·class="inline">standard.conf</code>.</p><p>Each·entry·is·a·tuple·of·size·two:</p><p><code·class="inline">{SystemVariable,·Value}.</code></p><ul><li><code·class="inline">SystemVariable</code>·is·one·of·the·variables·in·the·system·group,·or
206 <code·class="inline">snmpEnableAuthenTraps</code>.</li><li><code·class="inline">Value</code>·is·the·value·for·the·variable.</li></ul><p>The·following·example·shows·a·valid·<code·class="inline">standard.conf</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3501115026-1">{</span><span·class="ss">sysDescr</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Erlang·SNMP·agent&quot;</span><span·class="p"·data-group-id="3501115026-1">}</span><span·class="p">.</span><span·class="w">206 <code·class="inline">snmpEnableAuthenTraps</code>.</li><li><code·class="inline">Value</code>·is·the·value·for·the·variable.</li></ul><p>The·following·example·shows·a·valid·<code·class="inline">standard.conf</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8439226609-1">{</span><span·class="ss">sysDescr</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Erlang·SNMP·agent&quot;</span><span·class="p"·data-group-id="8439226609-1">}</span><span·class="p">.</span><span·class="w">
207 </span><span·class="p"·data-group-id="3501115026-2">{</span><span·class="ss">sysObjectID</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3501115026-3">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·119,·SHA:·05f315a79aa43a1ab17dbdb4df41f2be920c3c035361cb05bffdfa01d4a022d2·...·]-2">}</span><span·class="p">.</span><span·class="w">207 </span><span·class="p"·data-group-id="8439226609-2">{</span><span·class="ss">sysObjectID</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8439226609-3">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·119,·SHA:·76d6875c42ca5f7870b6db1ed2076bed0ef3c8b250ec54b498e93b2948f9b980·...·]-2">}</span><span·class="p">.</span><span·class="w">
208 </span><span·class="p"·data-group-id="3501115026-4">{</span><span·class="ss">sysContact</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;(mbj,eklas)@erlang.ericsson.se&quot;</span><span·class="p"·data-group-id="3501115026-4">}</span><span·class="p">.</span><span·class="w">208 </span><span·class="p"·data-group-id="8439226609-4">{</span><span·class="ss">sysContact</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;(mbj,eklas)@erlang.ericsson.se&quot;</span><span·class="p"·data-group-id="8439226609-4">}</span><span·class="p">.</span><span·class="w">
209 </span><span·class="p"·data-group-id="3501115026-5">{</span><span·class="ss">sysName</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;test&quot;</span><span·class="p"·data-group-id="3501115026-5">}</span><span·class="p">.</span><span·class="w">209 </span><span·class="p"·data-group-id="8439226609-5">{</span><span·class="ss">sysName</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;test&quot;</span><span·class="p"·data-group-id="8439226609-5">}</span><span·class="p">.</span><span·class="w">
210 </span><span·class="p"·data-group-id="3501115026-6">{</span><span·class="ss">sysServices</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">72</span><span·class="p"·data-group-id="3501115026-6">}</span><span·class="p">.</span><span·class="w">210 </span><span·class="p"·data-group-id="8439226609-6">{</span><span·class="ss">sysServices</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">72</span><span·class="p"·data-group-id="8439226609-6">}</span><span·class="p">.</span><span·class="w">
211 </span><span·class="p"·data-group-id="3501115026-7">{</span><span·class="ss">snmpEnableAuthenTraps</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">enabled</span><span·class="p"·data-group-id="3501115026-7">}</span><span·class="p">.</span></code></pre><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">AgentDir</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">211 </span><span·class="p"·data-group-id="8439226609-7">{</span><span·class="ss">snmpEnableAuthenTraps</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">enabled</span><span·class="p"·data-group-id="8439226609-7">}</span><span·class="p">.</span></code></pre><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">AgentDir</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">
212 </span><span·class="n">StdConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">212 </span><span·class="n">StdConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
213 ···</span><span·class="p"·data-group-id="7201927169-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="7201927169-2">(</span><span·class="ss">sysDescr</span><span·class="p">,</span><span·class="w">····</span><s[·...·truncated·by·diffoscope;·len:·91,·SHA:·0dc55f5403c182ea32e68a4ac587c41f1bc7ab45eb98bca921f0bc653a32a053·...·]-2">)</span><span·class="p">,</span><span·class="w">213 ···</span><span·class="p"·data-group-id="4816359327-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="4816359327-2">(</span><span·class="ss">sysDescr</span><span·class="p">,</span><span·class="w">····</span><s[·...·truncated·by·diffoscope;·len:·91,·SHA:·9c1a19fed256b8cc633fd4c441a55e1807c14544252e333984f060e679587abf·...·]-2">)</span><span·class="p">,</span><span·class="w">
214 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="7201927169-3">(</span><span·class="ss">sysObjectID</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7201927169-4">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·119,·SHA:·037e60ea25757cdcd6fac198bfc92355e9785c42c6d7a20537cef8f717f36575·...·]-3">)</span><span·class="p">,</span><span·class="w">214 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="4816359327-3">(</span><span·class="ss">sysObjectID</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4816359327-4">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·119,·SHA:·91c47cc16020ca0daf816f5012e58bb4b73da74303a98e88c733cc14bc64fb8f·...·]-3">)</span><span·class="p">,</span><span·class="w">
215 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="7201927169-5">(</span><span·class="ss">sysContact</span><span·class="p">,</span><span·class="w">··</span><span·class="s">&quot;(mbj,eklas)@erlang.ericsson.se&quot;</span><span·class="p"·data-group-id="7201927169-5">)</span><span·class="p">,</span><span·class="w">215 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="4816359327-5">(</span><span·class="ss">sysContact</span><span·class="p">,</span><span·class="w">··</span><span·class="s">&quot;(mbj,eklas)@erlang.ericsson.se&quot;</span><span·class="p"·data-group-id="4816359327-5">)</span><span·class="p">,</span><span·class="w">
216 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="7201927169-6">(</span><span·class="ss">sysName</span><span·class="p">,</span><span·class="w">·····</span><span·class="s">&quot;test&quot;</span><span·class="p"·data-group-id="7201927169-6">)</span><span·class="p">,</span><span·class="w">216 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="4816359327-6">(</span><span·class="ss">sysName</span><span·class="p">,</span><span·class="w">·····</span><span·class="s">&quot;test&quot;</span><span·class="p"·data-group-id="4816359327-6">)</span><span·class="p">,</span><span·class="w">
217 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="7201927169-7">(</span><span·class="ss">sysServices</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">72</span><span·class="p"·data-group-id="7201927169-7">)</span><span·class="p">,</span><span·class="w">217 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="4816359327-7">(</span><span·class="ss">sysServices</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">72</span><span·class="p"·data-group-id="4816359327-7">)</span><span·class="p">,</span><span·class="w">
218 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="7201927169-8">(</span><span·class="ss">snmpEnableAuthenTraps</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">enabled</span><span·class="p"·data-group-id="7201927169-8">)</span><span·class="p"·data-group-id="7201927169-1">]</span><span·class="p">,</span><span·class="w">218 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">standard_entry</span><span·class="p"·data-group-id="4816359327-8">(</span><span·class="ss">snmpEnableAuthenTraps</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">enabled</span><span·class="p"·data-group-id="4816359327-8">)</span><span·class="p"·data-group-id="4816359327-1">]</span><span·class="p">,</span><span·class="w">
219 </span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">write_standard_config</span><span·class="p"·data-group-id="7201927169-9">(</span><span·class="n">AgentDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StdConfig</span><span·class="p"·data-group-id="7201927169-9">)</span><span·class="p">,</span></code></pre><p>A·value·must·be·provided·for·all·variables,·which·lack·default·values·in·the219 </span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">write_standard_config</span><span·class="p"·data-group-id="4816359327-9">(</span><span·class="n">AgentDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StdConfig</span><span·class="p"·data-group-id="4816359327-9">)</span><span·class="p">,</span></code></pre><p>A·value·must·be·provided·for·all·variables,·which·lack·default·values·in·the
220 MIB.</p><p><a·href=""·id="community"></a></p><h2·id="communities"·class="section-heading">220 MIB.</p><p><a·href=""·id="community"></a></p><h2·id="communities"·class="section-heading">
221 ··<a·href="#communities"·class="hover-link">221 ··<a·href="#communities"·class="hover-link">
222 ····<i·class="ri-link-m"·aria-hidden="true"></i>222 ····<i·class="ri-link-m"·aria-hidden="true"></i>
223 ··</a>223 ··</a>
224 ··<span·class="text">Communities</span>224 ··<span·class="text">Communities</span>
225 </h2>225 </h2>
226 <p>The·community·information·should·be·stored·in·a·file·called·<code·class="inline">community.conf</code>.·It226 <p>The·community·information·should·be·stored·in·a·file·called·<code·class="inline">community.conf</code>.·It
227 must·be·present·if·the·agent·is·configured·for·SNMPv1·or·SNMPv2c.</p><p>An·SNMP·<em>community</em>·is·a·relationship·between·an·SNMP·agent·and·a·set·of·SNMP227 must·be·present·if·the·agent·is·configured·for·SNMPv1·or·SNMPv2c.</p><p>An·SNMP·<em>community</em>·is·a·relationship·between·an·SNMP·agent·and·a·set·of·SNMP
228 managers·that·defines·authentication,·access·control·and·proxy·characteristics.</p><p>The·corresponding·table·is·<code·class="inline">snmpCommunityTable</code>·in·the·SNMP-COMMUNITY-MIB.</p><p>Each·entry·is·a·term:</p><p><code·class="inline">{CommunityIndex,·CommunityName,·SecurityName,·ContextName,·TransportTag}.</code></p><ul><li><code·class="inline">CommunityIndex</code>·is·a·non-empty·string.</li><li><code·class="inline">CommunityName</code>·is·a·string.</li><li><code·class="inline">SecurityName</code>·is·a·string.</li><li><code·class="inline">ContextName</code>·is·a·string.</li><li><code·class="inline">TransportTag</code>·is·a·string.</li></ul><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">AgentDir</span><span·class="w">········</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">228 managers·that·defines·authentication,·access·control·and·proxy·characteristics.</p><p>The·corresponding·table·is·<code·class="inline">snmpCommunityTable</code>·in·the·SNMP-COMMUNITY-MIB.</p><p>Each·entry·is·a·term:</p><p><code·class="inline">{CommunityIndex,·CommunityName,·SecurityName,·ContextName,·TransportTag}.</code></p><ul><li><code·class="inline">CommunityIndex</code>·is·a·non-empty·string.</li><li><code·class="inline">CommunityName</code>·is·a·string.</li><li><code·class="inline">SecurityName</code>·is·a·string.</li><li><code·class="inline">ContextName</code>·is·a·string.</li><li><code·class="inline">TransportTag</code>·is·a·string.</li></ul><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">AgentDir</span><span·class="w">········</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">
229 </span><span·class="n">CommunityConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">229 </span><span·class="n">CommunityConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
230 ···</span><span·class="p"·data-group-id="4527584716-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">community_entry</span><span·class="p"·data-group-id="4527584716-2">(</span><span·class="s">&quot;public&quot;</span><span·class="p"·data-group-id="4527584716-2">)</span><span·class="p">,</span><span·class="w">230 ···</span><span·class="p"·data-group-id="8954281764-1">[</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">community_entry</span><span·class="p"·data-group-id="8954281764-2">(</span><span·class="s">&quot;public&quot;</span><span·class="p"·data-group-id="8954281764-2">)</span><span·class="p">,</span><span·class="w">
231 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">community_entry</span><span·class="p"·data-group-id="4527584716-3">(</span><span·class="s">&quot;all-rights&quot;</span><span·class="p"·data-group-id="4527584716-3">)</span><span·class="p">,</span><span·class="w">231 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">community_entry</span><span·class="p"·data-group-id="8954281764-3">(</span><span·class="s">&quot;all-rights&quot;</span><span·class="p"·data-group-id="8954281764-3">)</span><span·class="p">,</span><span·class="w">
232 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">community_entry</span><span·class="p"·data-group-id="4527584716-4">(</span><span·class="s">&quot;standard·trap&quot;</span><span·class="p">,</span><span·class="w">232 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">community_entry</span><span·class="p"·data-group-id="8954281764-4">(</span><span·class="s">&quot;standard·trap&quot;</span><span·class="p">,</span><span·class="w">
233 ·······························</span><span·class="s">&quot;standard·trap&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;initial&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p"·data-group-id="4527584716-4">)</span><span·class="p"·data-group-id="4527584716-1">]</span><span·class="p">,</span><span·class="w">233 ·······························</span><span·class="s">&quot;standard·trap&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;initial&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p"·data-group-id="8954281764-4">)</span><span·class="p"·data-group-id="8954281764-1">]</span><span·class="p">,</span><span·class="w">
234 </span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">write_community_config</span><span·class="p"·data-group-id="4527584716-5">(</span><span·class="n">AgentDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CommunityConfig</span><span·class="p"·data-group-id="4527584716-5">)</span><span·class="p">,</span></code></pre><p><a·href=""·id="vacm"></a></p><h2·id="mib-views-for-vacm"·class="section-heading">234 </span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">write_community_config</span><span·class="p"·data-group-id="8954281764-5">(</span><span·class="n">AgentDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CommunityConfig</span><span·class="p"·data-group-id="8954281764-5">)</span><span·class="p">,</span></code></pre><p><a·href=""·id="vacm"></a></p><h2·id="mib-views-for-vacm"·class="section-heading">
235 ··<a·href="#mib-views-for-vacm"·class="hover-link">235 ··<a·href="#mib-views-for-vacm"·class="hover-link">
236 ····<i·class="ri-link-m"·aria-hidden="true"></i>236 ····<i·class="ri-link-m"·aria-hidden="true"></i>
237 ··</a>237 ··</a>
238 ··<span·class="text">MIB·Views·for·VACM</span>238 ··<span·class="text">MIB·Views·for·VACM</span>
239 </h2>239 </h2>
240 <p>The·information·about·MIB·Views·for·VACM·should·be·stored·in·a·file·called240 <p>The·information·about·MIB·Views·for·VACM·should·be·stored·in·a·file·called
241 <code·class="inline">vacm.conf</code>.</p><p>The·corresponding·tables·are·<code·class="inline">vacmSecurityToGroupTable</code>,·<code·class="inline">vacmAccessTable</code>·and241 <code·class="inline">vacm.conf</code>.</p><p>The·corresponding·tables·are·<code·class="inline">vacmSecurityToGroupTable</code>,·<code·class="inline">vacmAccessTable</code>·and
242 <code·class="inline">vacmViewTreeFamilyTable</code>·in·the·SNMP-VIEW-BASED-ACM-MIB.</p><p>Each·entry·is·one·of·the·terms,·one·entry·corresponds·to·one·row·in·one·of·the242 <code·class="inline">vacmViewTreeFamilyTable</code>·in·the·SNMP-VIEW-BASED-ACM-MIB.</p><p>Each·entry·is·one·of·the·terms,·one·entry·corresponds·to·one·row·in·one·of·the
243 tables.</p><p><code·class="inline">{vacmSecurityToGroup,·SecModel,·SecName,·GroupName}.</code></p><p><code·class="inline">{vacmAccess,·GroupName,·Prefix,·SecModel,·SecLevel,·Match,·ReadView,·WriteView,·NotifyView}.</code></p><p><code·class="inline">{vacmViewTreeFamily,·ViewIndex,·ViewSubtree,·ViewStatus,·ViewMask}.</code></p><ul><li><code·class="inline">SecModel</code>·is·<code·class="inline">any</code>,·<code·class="inline">v1</code>,·<code·class="inline">v2c</code>,·or·<code·class="inline">usm</code>.</li><li><code·class="inline">SecName</code>·is·a·string.</li><li><code·class="inline">GroupName</code>·is·a·string.</li><li><code·class="inline">Prefix</code>·is·a·string.</li><li><code·class="inline">SecLevel</code>·is·<code·class="inline">noAuthNoPriv</code>,·<code·class="inline">authNoPriv</code>,·or·<code·class="inline">authPriv</code></li><li><code·class="inline">Match</code>·is·<code·class="inline">prefix</code>·or·<code·class="inline">exact</code>.</li><li><code·class="inline">ReadView</code>·is·a·string.</li><li><code·class="inline">WriteView</code>·is·a·string.</li><li><code·class="inline">NotifyView</code>·is·a·string.</li><li><code·class="inline">ViewIndex</code>·is·an·integer.</li><li><code·class="inline">ViewSubtree</code>·is·a·list·of·integer.</li><li><code·class="inline">ViewStatus</code>·is·either·<code·class="inline">included</code>·or·<code·class="inline">excluded</code></li><li><code·class="inline">ViewMask</code>·is·either·<code·class="inline">null</code>·or·a·list·of·ones·and·zeros.·Ones·nominate·that·an243 tables.</p><p><code·class="inline">{vacmSecurityToGroup,·SecModel,·SecName,·GroupName}.</code></p><p><code·class="inline">{vacmAccess,·GroupName,·Prefix,·SecModel,·SecLevel,·Match,·ReadView,·WriteView,·NotifyView}.</code></p><p><code·class="inline">{vacmViewTreeFamily,·ViewIndex,·ViewSubtree,·ViewStatus,·ViewMask}.</code></p><ul><li><code·class="inline">SecModel</code>·is·<code·class="inline">any</code>,·<code·class="inline">v1</code>,·<code·class="inline">v2c</code>,·or·<code·class="inline">usm</code>.</li><li><code·class="inline">SecName</code>·is·a·string.</li><li><code·class="inline">GroupName</code>·is·a·string.</li><li><code·class="inline">Prefix</code>·is·a·string.</li><li><code·class="inline">SecLevel</code>·is·<code·class="inline">noAuthNoPriv</code>,·<code·class="inline">authNoPriv</code>,·or·<code·class="inline">authPriv</code></li><li><code·class="inline">Match</code>·is·<code·class="inline">prefix</code>·or·<code·class="inline">exact</code>.</li><li><code·class="inline">ReadView</code>·is·a·string.</li><li><code·class="inline">WriteView</code>·is·a·string.</li><li><code·class="inline">NotifyView</code>·is·a·string.</li><li><code·class="inline">ViewIndex</code>·is·an·integer.</li><li><code·class="inline">ViewSubtree</code>·is·a·list·of·integer.</li><li><code·class="inline">ViewStatus</code>·is·either·<code·class="inline">included</code>·or·<code·class="inline">excluded</code></li><li><code·class="inline">ViewMask</code>·is·either·<code·class="inline">null</code>·or·a·list·of·ones·and·zeros.·Ones·nominate·that·an
244 exact·match·is·used·for·this·sub-identifier.·Zeros·are·wild-cards·which·match244 exact·match·is·used·for·this·sub-identifier.·Zeros·are·wild-cards·which·match
245 any·sub-identifier.·If·the·mask·is·shorter·than·the·sub-tree,·the·tail·is245 any·sub-identifier.·If·the·mask·is·shorter·than·the·sub-tree,·the·tail·is
246 regarded·as·all·ones.·<code·class="inline">null</code>·is·shorthand·for·a·mask·with·all·ones.</li></ul><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">AgentDir</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">246 regarded·as·all·ones.·<code·class="inline">null</code>·is·shorthand·for·a·mask·with·all·ones.</li></ul><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">AgentDir</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">
247 </span><span·class="n">SecName</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;plain&quot;</span><span·class="p">,</span><span·class="w">247 </span><span·class="n">SecName</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;plain&quot;</span><span·class="p">,</span><span·class="w">
248 </span><span·class="n">VacmConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">248 </span><span·class="n">VacmConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
249 ···</span><span·class="p"·data-group-id="1464642623-1">[</span><span·class="c1">%%························SecModel,·SecName,·GroupName</span><span·class="w">249 ···</span><span·class="p"·data-group-id="1779026258-1">[</span><span·class="c1">%%························SecModel,·SecName,·GroupName</span><span·class="w">
250 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">vacm_s2g_entry</span><span·class="p"·data-group-id="1464642623-2">(</span><span·class="ss">usm</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SecName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SecName</span><span·class="p"·data-group-id="1464642623-2">)</span><span·class="p">,</span><span·class="w">250 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">vacm_s2g_entry</span><span·class="p"·data-group-id="1779026258-2">(</span><span·class="ss">usm</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SecName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SecName</span><span·class="p"·data-group-id="1779026258-2">)</span><span·class="p">,</span><span·class="w">
  
251 ····</span><span·class="c1">%%························GroupName,·Prefix,·SecModel,</span><span·class="w">251 ····</span><span·class="c1">%%························GroupName,·Prefix,·SecModel,</span><span·class="w">
252 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">vacm_acc_entry</span><span·class="p"·data-group-id="1464642623-3">(</span><span·class="n">SecName</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">any</span><span·class="p">,</span><span·class="w">252 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">vacm_acc_entry</span><span·class="p"·data-group-id="1779026258-3">(</span><span·class="n">SecName</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">any</span><span·class="p">,</span><span·class="w">
253 ····</span><span·class="c1">%%························SecLevel,·Match,·RV,·WV,·NV</span><span·class="w">253 ····</span><span·class="c1">%%························SecLevel,·Match,·RV,·WV,·NV</span><span·class="w">
254 ······························</span><span·class="ss">noAuthNoPriv</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">exact</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;all&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;all&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;all&quot;</span><span·class="p"·data-group-id="1464642623-3">)</span><span·class="p">,</span><span·class="w">254 ······························</span><span·class="ss">noAuthNoPriv</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">exact</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;all&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;all&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;all&quot;</span><span·class="p"·data-group-id="1779026258-3">)</span><span·class="p">,</span><span·class="w">
  
255 ····</span><span·class="c1">%%························ViewName,·ViewSubtree,·ViewType,·ViewMask</span><span·class="w">255 ····</span><span·class="c1">%%························ViewName,·ViewSubtree,·ViewType,·ViewMask</span><span·class="w">
256 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">vacm_vtf_entry</span><span·class="p"·data-group-id="1464642623-4">(</span><span·class="s">&quot;restricted&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1464642623-5">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"[·...·truncated·by·diffoscope;·len:·386,·SHA:·9d727c97b4f70f11413e0aae2d55eae8e823a6db53298a4dd0c8c8b5dae26c1b·...·]-1">]</span><span·class="p">,</span><span·class="w">256 ····</span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">vacm_vtf_entry</span><span·class="p"·data-group-id="1779026258-4">(</span><span·class="s">&quot;restricted&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1779026258-5">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"[·...·truncated·by·diffoscope;·len:·386,·SHA:·ab4f0fd1f2a7dd91c033f0d1ddd1c08593dec0cb647f922ca846230d583bfe23·...·]-1">]</span><span·class="p">,</span><span·class="w">
257 </span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">write_vacm_config</span><span·class="p"·data-group-id="1464642623-6">(</span><span·class="n">AgentDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">VacmConfig</span><span·class="p"·data-group-id="1464642623-6">)</span><span·class="p">,</span></code></pre><p><a·href=""·id="usm"></a></p><h2·id="security-data-for-usm"·class="section-heading">257 </span><span·class="nc">snmpa_conf</span><span·class="p">:</span><span·class="nf">write_vacm_config</span><span·class="p"·data-group-id="1779026258-6">(</span><span·class="n">AgentDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">VacmConfig</span><span·class="p"·data-group-id="1779026258-6">)</span><span·class="p">,</span></code></pre><p><a·href=""·id="usm"></a></p><h2·id="security-data-for-usm"·class="section-heading">
258 ··<a·href="#security-data-for-usm"·class="hover-link">258 ··<a·href="#security-data-for-usm"·class="hover-link">
259 ····<i·class="ri-link-m"·aria-hidden="true"></i>259 ····<i·class="ri-link-m"·aria-hidden="true"></i>
260 ··</a>260 ··</a>
261 ··<span·class="text">Security·data·for·USM</span>261 ··<span·class="text">Security·data·for·USM</span>
262 </h2>262 </h2>
263 <p>The·information·about·Security·data·for·USM·should·be·stored·in·a·file·called263 <p>The·information·about·Security·data·for·USM·should·be·stored·in·a·file·called
264 <code·class="inline">usm.conf</code>,·which·must·be·present·if·the·agent·is·configured·for·SNMPv3.</p><p>The·corresponding·table·is·<code·class="inline">usmUserTable</code>·in·the·SNMP-USER-BASED-SM-MIB264 <code·class="inline">usm.conf</code>,·which·must·be·present·if·the·agent·is·configured·for·SNMPv3.</p><p>The·corresponding·table·is·<code·class="inline">usmUserTable</code>·in·the·SNMP-USER-BASED-SM-MIB
Offset 271, 43 lines modifiedOffset 271, 43 lines modified
271 <code·class="inline">usmAesCfb128Protocol</code>.</p></li><li><p><code·class="inline">PrivKeyC</code>·is·a·string.</p></li><li><p><code·class="inline">OwnPrivKeyC</code>·is·a·string.</p></li><li><p><code·class="inline">Public</code>·is·a·string.</p></li><li><p><code·class="inline">AuthKey</code>·is·a·list·(of·integer).·This·is·the·User's·secret·localized271 <code·class="inline">usmAesCfb128Protocol</code>.</p></li><li><p><code·class="inline">PrivKeyC</code>·is·a·string.</p></li><li><p><code·class="inline">OwnPrivKeyC</code>·is·a·string.</p></li><li><p><code·class="inline">Public</code>·is·a·string.</p></li><li><p><code·class="inline">AuthKey</code>·is·a·list·(of·integer).·This·is·the·User's·secret·localized
272 authentication·key.·It·is·not·visible·in·the·MIB.·The·length·(number·of272 authentication·key.·It·is·not·visible·in·the·MIB.·The·length·(number·of
273 octets)·of·this·key·needs·to·be:</p><ul><li>16·if·<code·class="inline">usmHMACMD5AuthProtocol</code>.</li><li>20·if·<code·class="inline">usmHMACSHAAuthProtocol</code>.</li><li>28·if·<code·class="inline">usmHMAC128SHA224AuthProtocol</code>.</li><li>32·if·<code·class="inline">usmHMAC192SHA256AuthProtocol</code>.</li><li>48·if·<code·class="inline">usmHMAC256SHA384AuthProtocol</code>.</li><li>64·if·<code·class="inline">usmHMAC384SHA512AuthProtocol</code>.</li></ul></li><li><p><code·class="inline">PrivKey</code>·is·a·list·(of·integer).·This·is·the·User's·secret·localized273 octets)·of·this·key·needs·to·be:</p><ul><li>16·if·<code·class="inline">usmHMACMD5AuthProtocol</code>.</li><li>20·if·<code·class="inline">usmHMACSHAAuthProtocol</code>.</li><li>28·if·<code·class="inline">usmHMAC128SHA224AuthProtocol</code>.</li><li>32·if·<code·class="inline">usmHMAC192SHA256AuthProtocol</code>.</li><li>48·if·<code·class="inline">usmHMAC256SHA384AuthProtocol</code>.</li><li>64·if·<code·class="inline">usmHMAC384SHA512AuthProtocol</code>.</li></ul></li><li><p><code·class="inline">PrivKey</code>·is·a·list·(of·integer).·This·is·the·User's·secret·localized
274 encryption·key.·It·is·not·visible·in·the·MIB.·The·length·of·this·key·needs·to274 encryption·key.·It·is·not·visible·in·the·MIB.·The·length·of·this·key·needs·to
275 be·16·if·<code·class="inline">usmDESPrivProtocol</code>·or·<code·class="inline">usmAesCfb128Protocol</code>·is·used.</p></li></ul><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">AgentDir</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">275 be·16·if·<code·class="inline">usmDESPrivProtocol</code>·or·<code·class="inline">usmAesCfb128Protocol</code>·is·used.</p></li></ul><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">AgentDir</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">
276 </span><span·class="n">EngineID</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;plain·engine&quot;</span><span·class="w">276 </span><span·class="n">EngineID</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;plain·engine&quot;</span><span·class="w">
277 </span><span·class="n">Passwd</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;FooBar·Hoopla&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·This·should·*obviously*·be·choosen·better</span><span·class="w">277 </span><span·class="n">Passwd</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;FooBar·Hoopla&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·This·should·*obviously*·be·choosen·better</span><span·class="w">
278 </span><span·class="n">Secret16</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">passwd2localized_key</span><span·class="p"·data-group-id="8430206027-1">(</span><span·class="nb">md5</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Passwd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EngineID</span><span·class="p"·data-group-id="8430206027-1">)</span><span·class="p">,</span><span·class="w">278 </span><span·class="n">Secret16</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">snmp</span><span·class="p">:</span><span·class="nf">passwd2localized_key</span><span·class="p"·data-group-id="6235704807-1">(</span><span·class="nb">md5</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Passwd</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EngineID</span><span·class="p"·data-group-id="6235704807-1">)</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 25689/83153 bytes (30.89%) of diff not shown.
847 B
html2text {}
Max HTML report size reached
8.3 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_agent_funct_descr.html
    
Offset 304, 15 lines modifiedOffset 304, 15 lines modified
304 This·MIB·can·be·used·with·any·SNMP·version.</li><li>SNMP-COMMUNITY-MIB,·which·defines·managed·objects·for·coexistence·of·SNMPv1304 This·MIB·can·be·used·with·any·SNMP·version.</li><li>SNMP-COMMUNITY-MIB,·which·defines·managed·objects·for·coexistence·of·SNMPv1
305 and·SNMPv2c·with·SNMPv3.·This·MIB·is·only·useful·if·SNMPv1·or·SNMPv2c·is·used,305 and·SNMPv2c·with·SNMPv3.·This·MIB·is·only·useful·if·SNMPv1·or·SNMPv2c·is·used,
306 possibly·in·combination·with·SNMPv3.</li><li>SNMP-USER-BASED-SM-MIB,·which·defines·managed·objects·for·authentication·and306 possibly·in·combination·with·SNMPv3.</li><li>SNMP-USER-BASED-SM-MIB,·which·defines·managed·objects·for·authentication·and
307 privacy.·This·MIB·is·only·useful·with·SNMPv3.</li></ul><p>All·of·these·MIBs·should·be·loaded·into·the·Master·Agent.·Once·loaded,·these307 privacy.·This·MIB·is·only·useful·with·SNMPv3.</li></ul><p>All·of·these·MIBs·should·be·loaded·into·the·Master·Agent.·Once·loaded,·these
308 MIBs·are·always·available·in·all·contexts.</p><p>The·ASN.1·code,·the·Erlang·source·code,·and·the·generated·<code·class="inline">.hrl</code>·files·for·them308 MIBs·are·always·available·in·all·contexts.</p><p>The·ASN.1·code,·the·Erlang·source·code,·and·the·generated·<code·class="inline">.hrl</code>·files·for·them
309 are·provided·in·the·distribution·and·are·placed·in·the·directories·<code·class="inline">mibs</code>,309 are·provided·in·the·distribution·and·are·placed·in·the·directories·<code·class="inline">mibs</code>,
310 <code·class="inline">src</code>,·and·<code·class="inline">include</code>,·respectively,·in·the·<code·class="inline">snmp</code>·application.</p><p>The·<code·class="inline">.hrl</code>·files·are·generated·with·<a·href="snmpc.html#mib_to_hrl/1"><code·class="inline">snmpc:mib_to_hrl/1</code></a>.·Include·these·files·in310 <code·class="inline">src</code>,·and·<code·class="inline">include</code>,·respectively,·in·the·<code·class="inline">snmp</code>·application.</p><p>The·<code·class="inline">.hrl</code>·files·are·generated·with·<a·href="snmpc.html#mib_to_hrl/1"><code·class="inline">snmpc:mib_to_hrl/1</code></a>.·Include·these·files·in
311 your·code·as·in·the·following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="7654401249-1">(</span><span·class="s">&quot;snmp/include/SNMPv2-MIB.hrl&quot;</span><span·class="p"·data-group-id="7654401249-1">)</span><span·class="p">.</span></code></pre><p>The·initial·values·for·the·managed·objects·defined·in·these·tables,·are·read·at311 your·code·as·in·the·following·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="2554356816-1">(</span><span·class="s">&quot;snmp/include/SNMPv2-MIB.hrl&quot;</span><span·class="p"·data-group-id="2554356816-1">)</span><span·class="p">.</span></code></pre><p>The·initial·values·for·the·managed·objects·defined·in·these·tables,·are·read·at
312 start-up·from·a·set·of·configuration·files.·These·are·described·in312 start-up·from·a·set·of·configuration·files.·These·are·described·in
313 <a·href="snmp_config.html">Configuration·Files</a>.</p><h3·id="standard-mib-and-snmpv2-mib"·class="section-heading">313 <a·href="snmp_config.html">Configuration·Files</a>.</p><h3·id="standard-mib-and-snmpv2-mib"·class="section-heading">
314 ··<a·href="#standard-mib-and-snmpv2-mib"·class="hover-link">314 ··<a·href="#standard-mib-and-snmpv2-mib"·class="hover-link">
315 ····<i·class="ri-link-m"·aria-hidden="true"></i>315 ····<i·class="ri-link-m"·aria-hidden="true"></i>
316 ··</a>316 ··</a>
317 ··<span·class="text">STANDARD-MIB·and·SNMPv2-MIB</span>317 ··<span·class="text">STANDARD-MIB·and·SNMPv2-MIB</span>
318 </h3>318 </h3>
Offset 465, 17 lines modifiedOffset 465, 17 lines modified
465 ····<i·class="ri-link-m"·aria-hidden="true"></i>465 ····<i·class="ri-link-m"·aria-hidden="true"></i>
466 ··</a>466 ··</a>
467 ··<span·class="text">Notifications</span>467 ··<span·class="text">Notifications</span>
468 </h2>468 </h2>
469 <p>Notifications·are·defined·in·SMIv1·with·the·TRAP-TYPE·macro·in·the·definition·of469 <p>Notifications·are·defined·in·SMIv1·with·the·TRAP-TYPE·macro·in·the·definition·of
470 an·MIB·(see·RFC1215).·The·corresponding·macro·in·SMIv2·is·NOTIFICATION-TYPE.470 an·MIB·(see·RFC1215).·The·corresponding·macro·in·SMIv2·is·NOTIFICATION-TYPE.
471 When·an·application·decides·to·send·a·notification,·it·calls·one·of·the471 When·an·application·decides·to·send·a·notification,·it·calls·one·of·the
472 following·functions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">snmpa</span><span·class="p">:</span><span·class="nf">send_notification</span><span·class="p"·data-group-id="7622416211-1">(</span><span·class="n">Agent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Notification</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Receiver</span><span·class="w">472 following·functions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">snmpa</span><span·class="p">:</span><span·class="nf">send_notification</span><span·class="p"·data-group-id="5900523568-1">(</span><span·class="n">Agent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Notification</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Receiver</span><span·class="w">
473 ·······················</span><span·class="p"·data-group-id="7622416211-2">[</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NotifyName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ContextName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Varbind[·...·truncated·by·diffoscope;·len:·102,·SHA:·6df0b94245fee125e34a09c8aeb5cf96bb940e37288a72a42edd9481c5a81e98·...·]-1">)</span><span·class="w">473 ·······················</span><span·class="p"·data-group-id="5900523568-2">[</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NotifyName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ContextName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Varbind[·...·truncated·by·diffoscope;·len:·102,·SHA:·845274be35edb571f0f9f4dab7a724a1549da3470da346ca63ec22267d19598b·...·]-1">)</span><span·class="w">
474 </span><span·class="nc">snmpa</span><span·class="p">:</span><span·class="nf">send_trap</span><span·class="p"·data-group-id="7622416211-3">(</span><span·class="n">Agent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Notification</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Community</span><span·class="w">·</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·286,·SHA:·3eec92ff07b99b8df3581c560be22b94e853a10512f8a12664f9cb4c101a3622·...·]-3">)</span></code></pre><p>providing·the·registered·name·or·process·identifier·of·the·agent·where·the·MIB,474 </span><span·class="nc">snmpa</span><span·class="p">:</span><span·class="nf">send_trap</span><span·class="p"·data-group-id="5900523568-3">(</span><span·class="n">Agent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Notification</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Community</span><span·class="w">·</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·286,·SHA:·631c50825195e2684ea91ece9c6e9553f96f444232a80a6786b941da26bbdb88·...·]-3">)</span></code></pre><p>providing·the·registered·name·or·process·identifier·of·the·agent·where·the·MIB,
475 which·defines·the·notification·is·loaded·and·the·symbolic·name·of·the475 which·defines·the·notification·is·loaded·and·the·symbolic·name·of·the
476 notification.</p><p>If·the·<code·class="inline">send_notification/3,4</code>·function·is·used,·all·management·targets·are476 notification.</p><p>If·the·<code·class="inline">send_notification/3,4</code>·function·is·used,·all·management·targets·are
477 selected,·as·defined·in·RFC2273.·The·<code·class="inline">Receiver</code>·parameter·defines·where·the477 selected,·as·defined·in·RFC2273.·The·<code·class="inline">Receiver</code>·parameter·defines·where·the
478 agent·should·send·information·about·the·delivery·of·inform·requests.</p><p>If·the·<code·class="inline">send_notification/5</code>·function·is·used,·an·<code·class="inline">NotifyName</code>·must·be·provided.478 agent·should·send·information·about·the·delivery·of·inform·requests.</p><p>If·the·<code·class="inline">send_notification/5</code>·function·is·used,·an·<code·class="inline">NotifyName</code>·must·be·provided.
479 This·parameter·is·used·as·an·index·in·the·<code·class="inline">snmpNotifyTable</code>,·and·the·management479 This·parameter·is·used·as·an·index·in·the·<code·class="inline">snmpNotifyTable</code>,·and·the·management
480 targets·defined·by·that·single·entry·is·used.</p><p>The·<code·class="inline">send_notification/6</code>·function·is·the·most·general·version·of·the·function.480 targets·defined·by·that·single·entry·is·used.</p><p>The·<code·class="inline">send_notification/6</code>·function·is·the·most·general·version·of·the·function.
481 A·<code·class="inline">ContextName</code>·must·be·specified,·from·which·the·notification·will·be·sent.·If481 A·<code·class="inline">ContextName</code>·must·be·specified,·from·which·the·notification·will·be·sent.·If
Offset 611, 15 lines modifiedOffset 611, 15 lines modified
611 ······<p·class="built-using">611 ······<p·class="built-using">
612 ········Built·using612 ········Built·using
613 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the613 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
614 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>614 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
615 ······</p>615 ······</p>
616 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>616 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
617 ····</footer>617 ····</footer>
618 ··</div>618 ··</div>
619 </main>619 </main>
620 </div>620 </div>
621 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>621 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
622 ··<script>622 ··<script>
623 ··let·initialized·=·false;623 ··let·initialized·=·false;
772 B
html2text {}
Max HTML report size reached
1.68 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_agent_netif.html
    
Offset 263, 15 lines modifiedOffset 263, 15 lines modified
263 ······<p·class="built-using">263 ······<p·class="built-using">
264 ········Built·using264 ········Built·using
265 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the265 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
266 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>266 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
267 ······</p>267 ······</p>
268 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>268 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
269 ····</footer>269 ····</footer>
270 ··</div>270 ··</div>
271 </main>271 </main>
272 </div>272 </div>
273 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>273 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
274 ··<script>274 ··<script>
275 ··let·initialized·=·false;275 ··let·initialized·=·false;
872 B
html2text {}
Max HTML report size reached
44.9 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_app.html
    
Offset 136, 59 lines modifiedOffset 136, 59 lines modified
136 ··<a·href="#configuration"·class="hover-link">136 ··<a·href="#configuration"·class="hover-link">
137 ····<i·class="ri-link-m"·aria-hidden="true"></i>137 ····<i·class="ri-link-m"·aria-hidden="true"></i>
138 ··</a>138 ··</a>
139 ··<span·class="text">Configuration</span>139 ··<span·class="text">Configuration</span>
140 </h2>140 </h2>
141 <p>The·following·configuration·parameters·are·defined·for·the·SNMP·application.141 <p>The·following·configuration·parameters·are·defined·for·the·SNMP·application.
142 Refer·to·application(3)·for·more·information·about·configuration·parameters.</p><p>The·snmp·part·of·the·config·file·specifying·the·configuration·parameters·is142 Refer·to·application(3)·for·more·information·about·configuration·parameters.</p><p>The·snmp·part·of·the·config·file·specifying·the·configuration·parameters·is
143 basically·the·following·tuple:</p><pre><code·class="text">······{snmp,·snmp_components_config()}</code></pre><p>A·minimal·config·file·for·starting·a·node·with·both·a·manager·and·an·agent:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="5420166603-1">[</span><span·class="p"·data-group-id="5420166603-2">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">143 basically·the·following·tuple:</p><pre><code·class="text">······{snmp,·snmp_components_config()}</code></pre><p>A·minimal·config·file·for·starting·a·node·with·both·a·manager·and·an·agent:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="8838900489-1">[</span><span·class="p"·data-group-id="8838900489-2">{</span><span·class="ss">snmp</span><span·class="p">,</span><span·class="w">
144 ········</span><span·class="p"·data-group-id="5420166603-3">[</span><span·class="p"·data-group-id="5420166603-4">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5420166603-5">[</span><span·class="p"·data-group-id="5420166603-6">{</span><span·class="ss">db_dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/tmp/snmp/agent/db&quot;</span><span·class="p"·data-group-id="5420166603-6">}</span><span·class="p">,</span><span·class="w"> 
145 ··················</span><span·class="p"·data-group-id="5420166603-7">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5420166603-8">[</span><span·class="p"·data-group-id="5420166603-9">{</span><span·class="ss">dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/tmp/snmp/agent/conf&quot;</span><span·class="p"·data-group-id="5420166603-9">}</span><span·class="p"·data-group-id="5420166603-8">]</span><span·class="p"·data-group-id="5420166603-7">}</span><span·class="p"·data-group-id="5420166603-5">]</span><span·class="p"·data-group-id="5420166603-4">}</span><span·class="p">,</span><span·class="w"> 
146 ·········</span><span·class="p"·data-group-id="5420166603-10">{</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5420166603-11">[</span><span·class="p"·data-group-id="5420166603-12">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5420166603-13">[</span><span·class="p"·data-group-id="5420166603-14">{</span><span·class="ss">dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/tmp/snmp/manager/conf&quot;</span><span·class="p"·data-group-id="5420166603-14">}</span><span·class="p">,</span><span·class="w"> 
147 ······························</span><span·class="p"·data-group-id="5420166603-15">{</span><span·class="ss">db_dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/tmp/snmp/manager/db&quot;</span><span·class="p"·data-group-id="542016660[·...·truncated·by·diffoscope;·len:·329,·SHA:·2168c4d513572c5af49cb1dacc02a444f116e59670c90387ee0a3d84c8dac2ec·...·]</span><span·class="w">144 ········</span><span·class="p"·data-group-id="8838900489-3">[</span><span·class="p"·data-group-id="8838900489-4">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8838900489-5">[</span><span·class="[·...·truncated·by·diffoscope;·len:·241,·SHA:·95317c1cbbf98e1462663ede01932fc10e1331496582e0ef753c8183641ebc61·...·]</span><span·class="w">
 145 ··················</span><span·class="p"·data-group-id="8838900489-7">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8838900489-8">[</span><span·class="p"·data-group-id="8838900489-9">{</span><span·class="ss">dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/tmp/snmp/agent/conf&quot;</span><span·class="p"·data-group-id="8838900489-9">}</span><span·class="p"·data-group-id="8838900489-8">]</span><span·class="p"·data-group-id="8838900489-7">}</span><span·class="p"·data-group-id="8838900489-5">]</span><span·class="p"·data-group-id="8838900489-4">}</span><span·class="p">,</span><span·class="w">
 146 ·········</span><span·class="p"·data-group-id="8838900489-10">{</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8838900489-11">[</span><span·class="p"·data-group-id="8838900489-12">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8838900489-13">[</span><span·class="p"·data-group-id="8838900489-14">{</span><span·class="ss">dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/tmp/snmp/manager/conf&quot;</span><span·class="p"·data-group-id="8838900489-14">}</span><span·class="p">,</span><span·class="w">
 147 ······························</span><span·class="p"·data-group-id="8838900489-15">{</span><span·class="ss">db_dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/tmp/snmp/manager/db&quot;</span><span·class="p"·data-group-id="8838900489-15">}</span><span·class="p"·data-group-id="8838900489-13">]</span><span·class="p"·data-group-id="8838900489-12">}</span><span·class="p"·data-group-id="8838900489-11">]</span><span·class="p"·data-group-id="8838900489-10">}</span><span·class="p"·data-group-id="8838900489-3">]</span><span·class="p"·data-group-id="8838900489-2">}</span><span·class="w">
148 ········</span><span·class="p"·data-group-id="5420166603-1">]</span><span·class="w">148 ········</span><span·class="p"·data-group-id="8838900489-1">]</span><span·class="w">
149 ·······</span><span·class="p">}</span><span·class="w">149 ·······</span><span·class="p">}</span><span·class="w">
150 ······</span><span·class="p">]</span><span·class="p">.</span></code></pre><p>Each·snmp·component·has·its·own·set·of·configuration·parameters,·even·though150 ······</span><span·class="p">]</span><span·class="p">.</span></code></pre><p>Each·snmp·component·has·its·own·set·of·configuration·parameters,·even·though
151 some·of·the·types·are·common·to·both·components.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="nf">snmp_components_config</span><span·class="p"·data-group-id="0459710638-1">(</span><span·class="p"·data-group-id="0459710638-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0459710638-2">[</span><span·class="nf">snmp_component_config</span><span·class="p"·data-group-id="0459710638-3">(</span><span·class="p"·data-group-id="0459710638-3">)</span><span·class="p"·data-group-id="0459710638-2">]</span><span·class="w"> 
152 ······</span><span·class="nf">snmp_component_config</span><span·class="p"·data-group-id="0459710638-4">(</span><span·class="p"·data-group-id="0459710638-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·705,·SHA:·f4058e71cec1f053da5548d64506c084d545709f966864f1d6b76b76b590e3f8·...·]</span><span·class="w">151 some·of·the·types·are·common·to·both·components.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="nf">snmp_components_config</span><span·class="p"·data-group-id="9616420815-1">(</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·351,·SHA:·fba8f184f3a20836d5576375fa47b4c86cb40c16075d35e6c04d7ad2423f2195·...·]</span><span·class="w">
 152 ······</span><span·class="nf">snmp_component_config</span><span·class="p"·data-group-id="9616420815-4">(</span><span·class="p"·data-group-id="9616420815-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9616420815-5">{</span><span·class="ss">agent</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">agent_options</span><span·class="p"·data-group-id="9616420815-6">(</span><span·class="p"·data-group-id="9616420815-6">)</span><span·class="p"·data-group-id="9616420815-5">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="9616420815-7">{</span><span·class="ss">manager</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">manager_options</span><span·class="p"·data-group-id="9616420815-8">(</span><span·class="p"·data-group-id="9616420815-8">)</span><span·class="p"·data-group-id="9616420815-7">}</span><span·class="w">
153 ······</span><span·class="nf">agent_options</span><span·class="p"·data-group-id="0459710638-9">(</span><span·class="p"·data-group-id="0459710638-9">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0459710638-10">[</span><span·class="nf">agent_option</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·130,·SHA:·8c18f6b7b4a839d42858128d79dfefe332cef5d364823d751f5584c489779353·...·]-10">]</span><span·class="w">153 ······</span><span·class="nf">agent_options</span><span·class="p"·data-group-id="9616420815-9">(</span><span·class="p"·data-group-id="9616420815-9">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9616420815-10">[</span><span·class="nf">agent_option</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·130,·SHA:·46a39cea17401fdab16dce98c76ffaa82d19a1ca0698cd603e3331a9c7160916·...·]-10">]</span><span·class="w">
154 ······</span><span·class="nf">agent_option</span><span·class="p"·data-group-id="0459710638-12">(</span><span·class="p"·data-group-id="0459710638-12">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0459710638-13">{</span><span·class="ss">restart_type</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·220,·SHA:·fbeb6ffdd72bf35898d89a2cbdf6d0f362c4ba030937581168efd6d2eb3c775c·...·]-13">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">154 ······</span><span·class="nf">agent_option</span><span·class="p"·data-group-id="9616420815-12">(</span><span·class="p"·data-group-id="9616420815-12">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9616420815-13">{</span><span·class="ss">restart_type</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·220,·SHA:·1d426132e58adb672c5bac9f63f811e4744a537ccf580f44271356cced0f0d64·...·]-13">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
155 ·······················</span><span·class="p"·data-group-id="0459710638-15">{</span><span·class="ss">agent_type</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">agent_type</span><span·class="p"·data-group-id="0459710638-16">(</span><span·class="p"·data-group-id="0459710638-16">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·3fc7460a98df917015f812c56ae2e8d62fc9a4aaf666b9eac8e361f92be0704a·...·]-15">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">155 ·······················</span><span·class="p"·data-group-id="9616420815-15">{</span><span·class="ss">agent_type</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">agent_type</span><span·class="p"·data-group-id="9616420815-16">(</span><span·class="p"·data-group-id="9616420815-16">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·82319b100531c80fe31a4f8f7062682ced1e6853916fcba686a5e3c958c4b358·...·]-15">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
156 ·······················</span><span·class="p"·data-group-id="0459710638-17">{</span><span·class="ss">agent_verbosity</span><span·class="p">,</span><span·class="w">··</span><span·class="nf">verbosity</span><span·class="p"·data-group-id="0459710638-18">(</span><span·class="p"·data-group-id="0459710638-18">)</span><span·class="p"·data-group-id="0459710638-17">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w"> 
157 ·······················</span><span·class="p"·data-group-id="0459710638-19">{</span><span·class="ss">discovery</span><span·class="p">,</span><span·class="w">········</span><span·class="nf">agent_discovery</span><span·class="p"·data-group-id="0459710638-20">(</span><span·class="p"·data-group-id="0459710638-20">)</spa[·...·truncated·by·diffoscope;·len:·72,·SHA:·d997864553d040ec9278a9b1929434e827fc738bc1327121605781b3c779fdf3·...·]··</span><span·class="p">|</span><span·class="w">156 ·······················</span><span·class="p"·data-group-id="9616420815-17">{</span><span·class="ss">agent_verbosity</span><span·class="p">,</span><span·class="w">··</span><span·class="nf">verbosity</span><span·class="p"·data-group-id="9616420815-18">(</span><span·class="p"·data-group-id="9616420815-18">)</span><spa[·...·truncated·by·diffoscope;·len:·72,·SHA:·19cfb5b4b9b1e21140c6fe3ad39f1355ef4e9a1731841a6a88aaf1649a412dbd·...·]··</span><span·class="p">|</span><span·class="w">
158 ·······················</span><span·class="p"·data-group-id="0459710638-21">{</span><span·class="ss">versions</span><span·class="p">,</span><span·class="w">·········</span><span·class="nf">versions</span><span·class="p"·data-group-id="0459710638-22">(</span><span·class="p"·data-group-id="0459710638-22">)</span><span[·...·truncated·by·diffoscope;·len:·72,·SHA:·f060714213fac57da0ca5a559f4f077207a589d654e8a221877b5ab0c7390d70·...·]··</span><span·class="p">|</span><span·class="w">157 ·······················</span><span·class="p"·data-group-id="9616420815-19">{</span><span·class="ss">discovery</span><span·class="p">,</span><span·class="w">········</span><span·class="nf">agent_discovery</span><span·class="p"·data-group-id="9616420815-20">(</span><span·class="p"·data-group-id="9616420815-20">)</spa[·...·truncated·by·diffoscope;·len:·72,·SHA:·0a2ae91d244ad13119a5267df95c703c9724612eaa03a692e45bd3d3c76ab236·...·]··</span><span·class="p">|</span><span·class="w">
 158 ·······················</span><span·class="p"·data-group-id="9616420815-21">{</span><span·class="ss">versions</span><span·class="p">,</span><span·class="w">·········</span><span·class="nf">versions</span><span·class="p"·data-group-id="9616420815-22">(</span><span·class="p"·data-group-id="9616420815-22">)</span><span·class="p"·data-group-id="9616420815-21">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">
159 ·······················</span><span·class="p"·data-group-id="0459710638-23">{</span><span·class="ss">gb_max_vbs</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">gb_max_vbs</span><span·class="p"·data-group-id="0459710638-24">(</span><span·class="p"·data-group-id="0459710638-24">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·3fc7460a98df917015f812c56ae2e8d62fc9a4aaf666b9eac8e361f92be0704a·...·]-23">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">159 ·······················</span><span·class="p"·data-group-id="9616420815-23">{</span><span·class="ss">gb_max_vbs</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">gb_max_vbs</span><span·class="p"·data-group-id="9616420815-24">(</span><span·class="p"·data-group-id="9616420815-24">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·82319b100531c80fe31a4f8f7062682ced1e6853916fcba686a5e3c958c4b358·...·]-23">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
160 ·······················</span><span·class="p"·data-group-id="0459710638-25">{</span><span·class="ss">priority</span><span·class="p">,</span><span·class="w">·········</span><span·class="nf">priority</span><span·class="p"·data-group-id="0459710638-26">(</span><span·class="p"·data-group-id="0459710638-26">)</span><span·class="p"·data-group-id="0459710638-25">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w"> 
161 ·······················</span><span·class="p"·data-group-id="0459710638-27">{</span><span·class="ss">multi_threaded</span><span·class="p">,</span><span·class="w">···</span><span·class="nf">multi_threaded</span><span·class="p"·data-group-id="0459710638-28">(</span><span·class="p"·data-group-id="0459710638-28">)</span[·...·truncated·by·diffoscope;·len:·71,·SHA:·4f704797e2ad543ba1a94bfcd72192f1c5f62d955008de97dba3fa59ea8cb795·...·]···</span><span·class="p">|</span><span·class="w">160 ·······················</span><span·class="p"·data-group-id="9616420815-25">{</span><span·class="ss">priority</span><span·class="p">,</span><span·class="w">·········</span><span·class="nf">priority</span><span·class="p"·data-group-id="9616420815-26">(</span><span·class="p"·data-group-id="9616420815-26">)</span><span[·...·truncated·by·diffoscope;·len:·71,·SHA:·c5af0ed5977977d7f7b3a8e51aeff8cd60a257ce6616746e65a3b1cabfc53ea1·...·]···</span><span·class="p">|</span><span·class="w">
 161 ·······················</span><span·class="p"·data-group-id="9616420815-27">{</span><span·class="ss">multi_threaded</span><span·class="p">,</span><span·class="w">···</span><span·class="nf">multi_threaded</span><span·class="p"·data-group-id="9616420815-28">(</span><span·class="p"·data-group-id="9616420815-28">)</span><span·class="p"·data-group-id="9616420815-27">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">
162 ·······················</span><span·class="p"·data-group-id="0459710638-29">{</span><span·class="ss">db_dir</span><span·class="p">,</span><span·class="w">···········</span><span·class="nf">db_dir</span><span·class="p"·data-group-id="0459710638-30">(</span><span·class="p"·data-group-id="0459710638-30">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·3eded2d15bf3e98107b1819828416140eb70ba53cf57ca143fe3aef9a450d41b·...·]-29">}</span><span·class="w">···········</span><span·class="p">|</span><span·class="w">162 ·······················</span><span·class="p"·data-group-id="9616420815-29">{</span><span·class="ss">db_dir</span><span·class="p">,</span><span·class="w">···········</span><span·class="nf">db_dir</span><span·class="p"·data-group-id="9616420815-30">(</span><span·class="p"·data-group-id="9616420815-30">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·cb29d85f23e50c8200c64c7e06be679678c910fe78df4bc42c9f7fd3d4bc360c·...·]-29">}</span><span·class="w">···········</span><span·class="p">|</span><span·class="w">
163 ·······················</span><span·class="p"·data-group-id="0459710638-31">{</span><span·class="ss">db_init_error</span><span·class="p">,</span><span·class="w">····</span><span·class="nf">db_init_error</span><span·class="p"·data-group-id="0459710638-32">(</span><span·class="p"·data-group-id="0459710638-32">)</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·0d9d0771690fbc04138cec26e70ce2fc1e24f018b30c1925a4a77b94a487b91f·...·]-31">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">163 ·······················</span><span·class="p"·data-group-id="9616420815-31">{</span><span·class="ss">db_init_error</span><span·class="p">,</span><span·class="w">····</span><span·class="nf">db_init_error</span><span·class="p"·data-group-id="9616420815-32">(</span><span·class="p"·data-group-id="9616420815-32">)</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·0205d9ce0bf0a2d95e0702d36f7663fc02774ff3d85f70969792043263065499·...·]-31">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
164 ·······················</span><span·class="p"·data-group-id="0459710638-33">{</span><span·class="ss">local_db</span><span·class="p">,</span><span·class="w">·········</span><span·class="nf">local_db</span><span·class="p"·data-group-id="0459710638-34">(</span><span·class="p"·data-group-id="0459710638-34">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·84ac06ec3d3130e188bee6d71a3bb652f01cd26fdb7a026e9d2884177d2d70fd·...·]-33">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">164 ·······················</span><span·class="p"·data-group-id="9616420815-33">{</span><span·class="ss">local_db</span><span·class="p">,</span><span·class="w">·········</span><span·class="nf">local_db</span><span·class="p"·data-group-id="9616420815-34">(</span><span·class="p"·data-group-id="9616420815-34">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·ccb8e514e63e263f9ec54f4fcd77037c22a9ee5720eb8363d93057e066806b04·...·]-33">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">
165 ·······················</span><span·class="p"·data-group-id="0459710638-35">{</span><span·class="ss">net_if</span><span·class="p">,</span><span·class="w">···········</span><span·class="nf">agent_net_if</span><span·class="p"·data-group-id="0459710638-36">(</span><span·class="p"·data-group-id="0459710638-36">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·09606e97c85630b0b32e03b2f80ec703d43af3273152f740074be11bbbfe1ddd·...·]-35">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">165 ·······················</span><span·class="p"·data-group-id="9616420815-35">{</span><span·class="ss">net_if</span><span·class="p">,</span><span·class="w">···········</span><span·class="nf">agent_net_if</span><span·class="p"·data-group-id="9616420815-36">(</span><span·class="p"·data-group-id="9616420815-36">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·b1bf03e86a64346ebca6ec9980ec4c7fb68f833cb1669ca3d6bdfba70ca584d6·...·]-35">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
166 ·······················</span><span·class="p"·data-group-id="0459710638-37">{</span><span·class="ss">mibs</span><span·class="p">,</span><span·class="w">·············</span><span·class="nf">mibs</span><span·class="p"·data-group-id="0459710638-38">(</span><span·class="p"·data-group-id="0459710638-38">)</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·4bf0c6a4067f8578c80bfb03ff5707716326d452a9778044b737aae3100fd946·...·]-37">}</span><span·class="w">·············</span><span·class="p">|</span><span·class="w">166 ·······················</span><span·class="p"·data-group-id="9616420815-37">{</span><span·class="ss">mibs</span><span·class="p">,</span><span·class="w">·············</span><span·class="nf">mibs</span><span·class="p"·data-group-id="9616420815-38">(</span><span·class="p"·data-group-id="9616420815-38">)</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·cb6166278aa29fee5e6c2bc29a9a732494135068509503778a7bf8d9ed5a027a·...·]-37">}</span><span·class="w">·············</span><span·class="p">|</span><span·class="w">
167 ·······················</span><span·class="p"·data-group-id="0459710638-39">{</span><span·class="ss">mib_storage</span><span·class="p">,</span><span·class="w">······</span><span·class="nf">mib_storage</span><span·class="p"·data-group-id="0459710638-40">(</span><span·class="p"·data-group-id="0459710638-40">)</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·ff644a19b0561a7bd3564754533cf1441ac21b2ba06980c1e5d440c8e63cc6d3·...·]-39">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">167 ·······················</span><span·class="p"·data-group-id="9616420815-39">{</span><span·class="ss">mib_storage</span><span·class="p">,</span><span·class="w">······</span><span·class="nf">mib_storage</span><span·class="p"·data-group-id="9616420815-40">(</span><span·class="p"·data-group-id="9616420815-40">)</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·fb3a1971672b8a5ed239673fc190f30b42a9bb9bf370d45ef1baa544a5255978·...·]-39">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">
168 ·······················</span><span·class="p"·data-group-id="0459710638-41">{</span><span·class="ss">mib_server</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">mib_server</span><span·class="p"·data-group-id="0459710638-42">(</span><span·class="p"·data-group-id="0459710638-42">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·3fc7460a98df917015f812c56ae2e8d62fc9a4aaf666b9eac8e361f92be0704a·...·]-41">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">168 ·······················</span><span·class="p"·data-group-id="9616420815-41">{</span><span·class="ss">mib_server</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">mib_server</span><span·class="p"·data-group-id="9616420815-42">(</span><span·class="p"·data-group-id="9616420815-42">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·82319b100531c80fe31a4f8f7062682ced1e6853916fcba686a5e3c958c4b358·...·]-41">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
169 ·······················</span><span·class="p"·data-group-id="0459710638-43">{</span><span·class="ss">audit_trail_log</span><span·class="p">,</span><span·class="w">··</span><span·class="nf">audit_trail_log</span><span·class="p"·data-group-id="0459710638-44">(</span><span·class="p"·data-group-id="0459710638-44">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·f4b83fc92baeb10b6bdf07bf9ed754f5ebdd4a565e1ef4647a71a7174956d931·...·]-43">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">169 ·······················</span><span·class="p"·data-group-id="9616420815-43">{</span><span·class="ss">audit_trail_log</span><span·class="p">,</span><span·class="w">··</span><span·class="nf">audit_trail_log</span><span·class="p"·data-group-id="9616420815-44">(</span><span·class="p"·data-group-id="9616420815-44">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·5433f826753db0f7089c658b60d476f2e1671255c6a7a9a1531ed2f912f2fd44·...·]-43">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
170 ·······················</span><span·class="p"·data-group-id="0459710638-45">{</span><span·class="ss">error_report_mod</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">error_report_mod</span><span·class="p"·data-group-id="0459710638-46">(</span><span·class="p"·data-group-id="0459710638-46">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·ac76f65946f83046c3b0babd02b45fdd2d4293bcdaf3971d6c2f64f6d813ac4b·...·]-45">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">170 ·······················</span><span·class="p"·data-group-id="9616420815-45">{</span><span·class="ss">error_report_mod</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">error_report_mod</span><span·class="p"·data-group-id="9616420815-46">(</span><span·class="p"·data-group-id="9616420815-46">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·a6453498b49ed9c7e9ae71390a56515fccb385c1cacbd7ec19bae0a8cb0ad552·...·]-45">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
171 ·······················</span><span·class="p"·data-group-id="0459710638-47">{</span><span·class="ss">note_store</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">note_store</span><span·class="p"·data-group-id="0459710638-48">(</span><span·class="p"·data-group-id="0459710638-48">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·3fc7460a98df917015f812c56ae2e8d62fc9a4aaf666b9eac8e361f92be0704a·...·]-47">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">171 ·······················</span><span·class="p"·data-group-id="9616420815-47">{</span><span·class="ss">note_store</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">note_store</span><span·class="p"·data-group-id="9616420815-48">(</span><span·class="p"·data-group-id="9616420815-48">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·82319b100531c80fe31a4f8f7062682ced1e6853916fcba686a5e3c958c4b358·...·]-47">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
172 ·······················</span><span·class="p"·data-group-id="0459710638-49">{</span><span·class="ss">symbolic_store</span><span·class="p">,</span><span·class="w">···</span><span·class="nf">symbolic_store</span><span·class="p"·data-group-id="0459710638-50">(</span><span·class="p"·data-group-id="0459710638-50">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·6e5435d32eb85ac2590fe55be80966c67ca9dad9a8d4fd6c6d72b3f7dbaeb3a2·...·]-49">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">172 ·······················</span><span·class="p"·data-group-id="9616420815-49">{</span><span·class="ss">symbolic_store</span><span·class="p">,</span><span·class="w">···</span><span·class="nf">symbolic_store</span><span·class="p"·data-group-id="9616420815-50">(</span><span·class="p"·data-group-id="9616420815-50">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·3dd20452b192697414e673271c72ff763c6baa75d651382df7f714dcc120ed01·...·]-49">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">
173 ·······················</span><span·class="p"·data-group-id="0459710638-51">{</span><span·class="ss">target_cache</span><span·class="p">,</span><span·class="w">·····</span><span·class="nf">target_cache</span><span·class="p"·data-group-id="0459710638-52">(</span><span·class="p"·data-group-id="0459710638-52">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·09606e97c85630b0b32e03b2f80ec703d43af3273152f740074be11bbbfe1ddd·...·]-51">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">173 ·······················</span><span·class="p"·data-group-id="9616420815-51">{</span><span·class="ss">target_cache</span><span·class="p">,</span><span·class="w">·····</span><span·class="nf">target_cache</span><span·class="p"·data-group-id="9616420815-52">(</span><span·class="p"·data-group-id="9616420815-52">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·b1bf03e86a64346ebca6ec9980ec4c7fb68f833cb1669ca3d6bdfba70ca584d6·...·]-51">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
174 ·······················</span><span·class="p"·data-group-id="0459710638-53">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">···········</span><span·class="nf">agent_config</span><span·class="p"·data-group-id="0459710638-54">(</span><span·class="p"·data-group-id="0459710638-54">)</span><span·class="p"·data-group-id="0459710638-53">}</span><span·class="w"> 
175 ······</span><span·class="nf">manager_options</span><span·class="p"·data-group-id="0459710638-55">(</span><span·class="p"·data-group-id="0459710638-55">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·217,·SHA:·6d8f337e0474035bd6aa9a11ebcd20dd29d860e5dc41ede073148d62a3ac0362·...·]</span><span·class="w">174 ·······················</span><span·class="p"·data-group-id="9616420815-53">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">···········</span><span·class="nf">agent_config</span><span·class="p"·data-group-id="9616420815-54">(</span>[·...·truncated·by·diffoscope;·len:·101,·SHA:·a639e8195c23cddf3dce591fb9c4410deb870ea139eb6d54d92db46ac0c7dd90·...·]</span><span·class="w">
 175 ······</span><span·class="nf">manager_options</span><span·class="p"·data-group-id="9616420815-55">(</span><span·class="p"·data-group-id="9616420815-55">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9616420815-56">[</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="9616420815-57">(</span><span·class="p"·data-group-id="9616420815-57">)</span><span·class="p"·data-group-id="9616420815-56">]</span><span·class="w">
176 ······</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="0459710638-58">(</span><span·class="p"·data-group-id="0459710638-58">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0459710638-59">{</span><span·class="ss">restart_type</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·228,·SHA:·115916b947b1ddbe65ad85fdc2efbe87cfe52afc76cb4976d217ac523c6d2b16·...·]-59">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">176 ······</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="9616420815-58">(</span><span·class="p"·data-group-id="9616420815-58">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9616420815-59">{</span><span·class="ss">restart_type</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·228,·SHA:·0402562a7b4b2fefcf12783116526c71e01bcab24839907fc5323c28bf6a559f·...·]-59">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
177 ·························</span><span·class="p"·data-group-id="0459710638-61">{</span><span·class="ss">net_if</span><span·class="p">,</span><span·class="w">···················</span><span·class="nf">manager_net_if</span><span·class="p"·data-group-id="0459710638-62">(</span><span·class="p"·data-group-id="0459710638-62"[·...·truncated·by·diffoscope;·len:·50,·SHA:·768af1d32c8cdd91ddaecd4febd00a05ff9381f24cabdd17b68552e9d1f11a06·...·]-61">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">177 ·························</span><span·class="p"·data-group-id="9616420815-61">{</span><span·class="ss">net_if</span><span·class="p">,</span><span·class="w">···················</span><span·class="nf">manager_net_if</span><span·class="p"·data-group-id="9616420815-62">(</span><span·class="p"·data-group-id="9616420815-62"[·...·truncated·by·diffoscope;·len:·50,·SHA:·af162df2ee45ff02543270bcd05c6a2b435dd240ca006850829867b123900922·...·]-61">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
178 ·························</span><span·class="p"·data-group-id="0459710638-63">{</span><span·class="ss">server</span><span·class="p">,</span><span·class="w">···················</span><span·class="nf">server</span><span·class="p"·data-group-id="0459710638-64">(</span><span·class="p"·data-group-id="0459710638-64">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·6e5435d32eb85ac2590fe55be80966c67ca9dad9a8d4fd6c6d72b3f7dbaeb3a2·...·]-63">}</span><span·class="w">··········</span><span·class="p">|</span><span·class="w">178 ·························</span><span·class="p"·data-group-id="9616420815-63">{</span><span·class="ss">server</span><span·class="p">,</span><span·class="w">···················</span><span·class="nf">server</span><span·class="p"·data-group-id="9616420815-64">(</span><span·class="p"·data-group-id="9616420815-64">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·3dd20452b192697414e673271c72ff763c6baa75d651382df7f714dcc120ed01·...·]-63">}</span><span·class="w">··········</span><span·class="p">|</span><span·class="w">
179 ·························</span><span·class="p"·data-group-id="0459710638-65">{</span><span·class="ss">note_store</span><span·class="p">,</span><span·class="w">···············</span><span·class="nf">note_store</span><span·class="p"·data-group-id="0459710638-66">(</span><span·class="p"·data-group-id="0459710638-66">)</span><span·class="p"·data-group-id="0459710638-65">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w"> 
180 ·························</span><span·class="p"·data-group-id="0459710638-67">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">···················</span><span·class="nf">manager_config</span><span·class="p"·data-group-id="0459710638-68">(</span><span·class="p"·data-group-id="0459710638-68"[·...·truncated·by·diffoscope;·len:·79,·SHA:·a17c047adabc89a17e590747e94edf49f1767c8271b03493731cd8c5e446e30f·...·]··</span><span·class="p">|</span><span·class="w">179 ·························</span><span·class="p"·data-group-id="9616420815-65">{</span><span·class="ss">note_store</span><span·class="p">,</span><span·class="w">···············</span><span·class="nf">note_store</span><span·class="p"·data-group-id="9616420815-66">(</span><span·class="p"·data-group-id="9616420815-66">)</[·...·truncated·by·diffoscope;·len:·79,·SHA:·0162f9ef34278cc8b0b6456f11dfd44c7d9f4425fcb7517bce97cd085e3d37fb·...·]··</span><span·class="p">|</span><span·class="w">
 180 ·························</span><span·class="p"·data-group-id="9616420815-67">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">···················</span><span·class="nf">manager_config</span><span·class="p"·data-group-id="9616420815-68">(</span><span·class="p"·data-group-id="9616420815-68">)</span><span·class="p"·data-group-id="9616420815-67">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
181 ·························</span><span·class="p"·data-group-id="0459710638-69">{</span><span·class="ss">inform_request_behaviour</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">manager_irb</span><span·class="p"·data-group-id="0459710638-70">(</span><span·class="p"·data-group-id="0459710638-70">)<[·...·truncated·by·diffoscope;·len:·47,·SHA:·d6960278e58dd48bb9292fc58051408bcdcd22e3511558c42f0ee6779f921213·...·]-69">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">181 ·························</span><span·class="p"·data-group-id="9616420815-69">{</span><span·class="ss">inform_request_behaviour</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">manager_irb</span><span·class="p"·data-group-id="9616420815-70">(</span><span·class="p"·data-group-id="9616420815-70">)<[·...·truncated·by·diffoscope;·len:·47,·SHA:·dad3b1806e2a7686399d837f1d7d11100bde88f8d1c27ee41c06136c8d4c825b·...·]-69">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
182 ·························</span><span·class="p"·data-group-id="0459710638-71">{</span><span·class="ss">mibs</span><span·class="p">,</span><span·class="w">·····················</span><span·class="nf">manager_mibs</span><span·class="p"·data-group-id="0459710638-72">(</span><span·class="p"·data-group-id="0459710638-72">)[·...·truncated·by·diffoscope;·len:·48,·SHA:·40d9e320d7e84e24d56d2a4be9c8a7ead11ce3a70ffb3cb4f2dcc3d92cef2762·...·]-71">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">182 ·························</span><span·class="p"·data-group-id="9616420815-71">{</span><span·class="ss">mibs</span><span·class="p">,</span><span·class="w">·····················</span><span·class="nf">manager_mibs</span><span·class="p"·data-group-id="9616420815-72">(</span><span·class="p"·data-group-id="9616420815-72">)[·...·truncated·by·diffoscope;·len:·48,·SHA:·daab11e0392e8e049893b835d66584cba640e4587ff5cf9c4f4218cb6402ce90·...·]-71">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
183 ·························</span><span·class="p"·data-group-id="0459710638-73">{</span><span·class="ss">priority</span><span·class="p">,</span><span·class="w">·················</span><span·class="nf">priority</span><span·class="p"·data-group-id="0459710638-74">(</span><span·class="p"·data-group-id="0459710638-74">)</span><span·class="p"·data-group-id="0459710638-73">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w"> 
184 ·························</span><span·class="p"·data-group-id="0459710638-75">{</span><span·class="ss">audit_trail_log</span><span·class="p">,</span><span·class="w">··········</span><span·class="nf">audit_trail_log</span><span·class="p"·data-group-id="0459710638-76">(</span><span·class="p"·data-group-id="0459710638-76">)</span><span·class="p"·data-group-id="0459710638-75">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w"> 
185 ·························</span><span·class="p"·data-group-id="0459710638-77">{</span><span·class="ss">versions</span><span·class="p">,</span><span·class="w">·················</span><span·class="nf">versions</span><span·class="p"·data-group-id="0459710638-78">(</span><span·class="p"·data-group-id="0459710638-78">)</sp[·...·truncated·by·diffoscope;·len:·47,·SHA:·4ea2b970d10f9d4f58acb7571f034d9bdd727e93988fbe9de3596fa2b9063a5d·...·]">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">183 ·························</span><span·class="p"·data-group-id="9616420815-73">{</span><span·class="ss">priority</span><span·class="p">,</span><span·class="w">·················</span><span·class="nf">priority</span><span·class="p"·data-group-id="9616420815-74">(</span><span·class="p"·data-group-id="9616420815-74">)</sp[·...·truncated·by·diffoscope;·len:·47,·SHA:·4b5c3f60576700fbdfc4ad188457f87dc707c17c40a53bcf4988b6dff66fc1d9·...·]">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
 184 ·························</span><span·class="p"·data-group-id="9616420815-75">{</span><span·class="ss">audit_trail_log</span><span·class="p">,</span><span·class="w">··········</span><span·class="nf">audit_trail_log</span><span·class="p"·data-group-id="9616420815-76">(</span><span·class="p"·data-group-id="9616420815-76">)</span><span·class="p"·data-group-id="9616420815-75">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
 185 ·························</span><span·class="p"·data-group-id="9616420815-77">{</span><span·class="ss">versions</span><span·class="p">,</span><span·class="w">·················</span><span·class="nf">versions</span><span·class="p"·data-group-id="9616420815-78">(</span><span·class="p"·data-group-id="9616420815-78">)</span><span·class="p"·data-group-id="9616420815-77">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
186 ·························</span><span·class="p"·data-group-id="0459710638-79">{</span><span·class="ss">def_user_mod</span><span·class="p">,</span><span·class="w">·············</span><span·class="nf">def_user_module</span><span·class="p"·data-group-id="0459710638-80">(</span><span·class="p"·data-group-id="0459710638-80">)</span><span·class="w">··</span><span·class="p">|</span><span·class="w">186 ·························</span><span·class="p"·data-group-id="9616420815-79">{</span><span·class="ss">def_user_mod</span><span·class="p">,</span><span·class="w">·············</span><span·class="nf">def_user_module</span><span·class="p"·data-group-id="9616420815-80">(</span><span·class="p"·data-group-id="9616420815-80">)</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
187 ·························</span><span·class="p"·data-group-id="0459710638-81">{</span><span·class="ss">def_user_data</span><span·class="p">,</span><span·class="w">············</span><span·class="nf">def_user_data</span><span·class="p"·data-group-id="0459710638-82">(</span><span·class="p"·data-group-id="0459710638-82">[·...·truncated·by·diffoscope;·len:·49,·SHA:·e0ecb13a786e24ee1aab70102dd2423ea5b4cdd1c09a8abb46877e33c9284023·...·]-81">}</span></code></pre><p><a·href=""·id="agent_opts_and_types"></a></p><p>Agent·specific·config·options·and·types:</p><ul><li><p><strong><code·class="inline"·id="agent_type">agent_type()·=·master·|·sub·&lt;optional&gt;</code></strong>·-·If·<code·class="inline">master</code>,187 ·························</span><span·class="p"·data-group-id="9616420815-81">{</span><span·class="ss">def_user_data</span><span·class="p">,</span><span·class="w">············</span><span·class="nf">def_user_data</span><span·class="p"·data-group-id="9616420815-82">(</span><span·class="p"·data-group-id="9616420815-82">[·...·truncated·by·diffoscope;·len:·49,·SHA:·398bb8fc0c1e040ebd0cdc580b54f2e2d77908ed641f779c4d4e15dbadaa1f6e·...·]-81">}</span></code></pre><p><a·href=""·id="agent_opts_and_types"></a></p><p>Agent·specific·config·options·and·types:</p><ul><li><p><strong><code·class="inline"·id="agent_type">agent_type()·=·master·|·sub·&lt;optional&gt;</code></strong>·-·If·<code·class="inline">master</code>,
188 one·master·agent·is·started.·Otherwise,·no·agents·are·started.</p><p>Default·is·<code·class="inline">master</code>.</p></li><li><p><strong><code·class="inline"·id="agent_disco">agent_discovery()·=·[agent_discovery_opt()]·&lt;optional&gt;</code></strong>·-188 one·master·agent·is·started.·Otherwise,·no·agents·are·started.</p><p>Default·is·<code·class="inline">master</code>.</p></li><li><p><strong><code·class="inline"·id="agent_disco">agent_discovery()·=·[agent_discovery_opt()]·&lt;optional&gt;</code></strong>·-
189 <code·class="inline">agent_discovery_opt()·=·{terminating,·agent_terminating_discovery_opts()}·|·{originating,·agent_originating_discovery_opts()}</code></p><p>The·<code·class="inline">terminating</code>·options·effects·discovery·initiated·by·a·manager.</p><p>The·<code·class="inline">originating</code>·options·effects·discovery·initiated·by·this·agent.</p><p>For·defaults·see·the·options·in·<code·class="inline">agent_discovery_opt()</code>.</p></li><li><p><strong><code·class="inline"·id="agent_term_disco_opts">agent_terminating_discovery_opts()·=·[agent_terminating_discovery_opt()]·&lt;optional&gt;</code></strong>·-189 <code·class="inline">agent_discovery_opt()·=·{terminating,·agent_terminating_discovery_opts()}·|·{originating,·agent_originating_discovery_opts()}</code></p><p>The·<code·class="inline">terminating</code>·options·effects·discovery·initiated·by·a·manager.</p><p>The·<code·class="inline">originating</code>·options·effects·discovery·initiated·by·this·agent.</p><p>For·defaults·see·the·options·in·<code·class="inline">agent_discovery_opt()</code>.</p></li><li><p><strong><code·class="inline"·id="agent_term_disco_opts">agent_terminating_discovery_opts()·=·[agent_terminating_discovery_opt()]·&lt;optional&gt;</code></strong>·-
190 <code·class="inline">agent_terminating_discovery_opt()·=·{enable,·boolean()}·|·{stage2,·discovery·|·plain}·|·{trigger_username,·string()}</code></p><p>These·are·options·effecting·discovery·<code·class="inline">terminating</code>·in·this·agent·(i.e.190 <code·class="inline">agent_terminating_discovery_opt()·=·{enable,·boolean()}·|·{stage2,·discovery·|·plain}·|·{trigger_username,·string()}</code></p><p>These·are·options·effecting·discovery·<code·class="inline">terminating</code>·in·this·agent·(i.e.
191 initiated·by·a·manager).</p><p>The·default·values·for·the·<code·class="inline">terminating</code>·discovery·options·are:</p><ul><li>enable:·<code·class="inline">true</code></li><li>stage2:·<code·class="inline">discovery</code></li><li>trigger_username:·<code·class="inline">&quot;&quot;</code></li></ul></li><li><p><strong><code·class="inline"·id="agent_orig_disco_opts">agent_originating_discovery_opts()·=·[agent_originating_discovery_opt()]·&lt;optional&gt;</code></strong>·-191 initiated·by·a·manager).</p><p>The·default·values·for·the·<code·class="inline">terminating</code>·discovery·options·are:</p><ul><li>enable:·<code·class="inline">true</code></li><li>stage2:·<code·class="inline">discovery</code></li><li>trigger_username:·<code·class="inline">&quot;&quot;</code></li></ul></li><li><p><strong><code·class="inline"·id="agent_orig_disco_opts">agent_originating_discovery_opts()·=·[agent_originating_discovery_opt()]·&lt;optional&gt;</code></strong>·-
192 <code·class="inline">agent_originating_discovery_opt()·=·{enable,·boolean()}</code></p><p>These·are·options·effecting·discovery·<code·class="inline">originating</code>·in·this·agent.</p><p>The·default·values·for·the·<code·class="inline">originating</code>·discovery·options·are:</p><ul><li>enable:·<code·class="inline">true</code></li></ul></li><li><p><strong><code·class="inline"·id="agent_mt">multi_threaded()·=·bool()·|·extended·&lt;optional&gt;</code></strong>·-·If192 <code·class="inline">agent_originating_discovery_opt()·=·{enable,·boolean()}</code></p><p>These·are·options·effecting·discovery·<code·class="inline">originating</code>·in·this·agent.</p><p>The·default·values·for·the·<code·class="inline">originating</code>·discovery·options·are:</p><ul><li>enable:·<code·class="inline">true</code></li></ul></li><li><p><strong><code·class="inline"·id="agent_mt">multi_threaded()·=·bool()·|·extended·&lt;optional&gt;</code></strong>·-·If
193 <code·class="inline">true</code>·(or·<code·class="inline">extended</code>),·the·agent·is·multi-threaded,·with·one·thread·for·each193 <code·class="inline">true</code>·(or·<code·class="inline">extended</code>),·the·agent·is·multi-threaded,·with·one·thread·for·each
194 get·request.</p><p>The·value·<code·class="inline">extended</code>·means·that·a·special·'process'·is·also·created·intended194 get·request.</p><p>The·value·<code·class="inline">extended</code>·means·that·a·special·'process'·is·also·created·intended
Offset 421, 15 lines modifiedOffset 421, 15 lines modified
421 ······<p·class="built-using">421 ······<p·class="built-using">
422 ········Built·using422 ········Built·using
423 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the423 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
424 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>424 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
425 ······</p>425 ······</p>
426 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>426 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
427 ····</footer>427 ····</footer>
428 ··</div>428 ··</div>
429 </main>429 </main>
430 </div>430 </div>
431 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>431 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
432 ··<script>432 ··<script>
433 ··let·initialized·=·false;433 ··let·initialized·=·false;
626 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_app_a.html
    
Offset 179, 15 lines modifiedOffset 179, 15 lines modified
179 ······<p·class="built-using">179 ······<p·class="built-using">
180 ········Built·using180 ········Built·using
181 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the181 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
182 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>182 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
183 ······</p>183 ······</p>
184 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>184 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
185 ····</footer>185 ····</footer>
186 ··</div>186 ··</div>
187 </main>187 </main>
188 </div>188 </div>
189 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>189 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
190 ··<script>190 ··<script>
191 ··let·initialized·=·false;191 ··let·initialized·=·false;
686 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_app_b.html
    
Offset 649, 15 lines modifiedOffset 649, 15 lines modified
649 ······<p·class="built-using">649 ······<p·class="built-using">
650 ········Built·using650 ········Built·using
651 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the651 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
652 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>652 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
653 ······</p>653 ······</p>
654 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>654 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
655 ····</footer>655 ····</footer>
656 ··</div>656 ··</div>
657 </main>657 </main>
658 </div>658 </div>
659 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>659 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
660 ··<script>660 ··<script>
661 ··let·initialized·=·false;661 ··let·initialized·=·false;
638 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_app_c.html
    
Offset 186, 15 lines modifiedOffset 186, 15 lines modified
186 ······<p·class="built-using">186 ······<p·class="built-using">
187 ········Built·using187 ········Built·using
188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the188 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>189 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
190 ······</p>190 ······</p>
191 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>191 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
192 ····</footer>192 ····</footer>
193 ··</div>193 ··</div>
194 </main>194 </main>
195 </div>195 </div>
196 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>196 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
197 ··<script>197 ··<script>
198 ··let·initialized·=·false;198 ··let·initialized·=·false;
679 B
html2text {}
Max HTML report size reached
1.67 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_audit_trail_log.html
    
Offset 198, 15 lines modifiedOffset 198, 15 lines modified
198 ······<p·class="built-using">198 ······<p·class="built-using">
199 ········Built·using199 ········Built·using
200 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the200 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
201 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>201 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
202 ······</p>202 ······</p>
203 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>203 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
204 ····</footer>204 ····</footer>
205 ··</div>205 ··</div>
206 </main>206 </main>
207 </div>207 </div>
208 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>208 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
209 ··<script>209 ··<script>
210 ··let·initialized·=·false;210 ··let·initialized·=·false;
850 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_community_mib.html
    
Offset 595, 15 lines modifiedOffset 595, 15 lines modified
595 ······<p·class="built-using">595 ······<p·class="built-using">
596 ········Built·using596 ········Built·using
597 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the597 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
598 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>598 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
599 ······</p>599 ······</p>
600 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>600 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
601 ····</footer>601 ····</footer>
602 ··</div>602 ··</div>
603 </main>603 </main>
604 </div>604 </div>
605 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>605 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
606 ··<script>606 ··<script>
607 ··let·initialized·=·false;607 ··let·initialized·=·false;
617 B
html2text {}
Max HTML report size reached
36.5 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_config.html
    
Offset 141, 49 lines modifiedOffset 141, 49 lines modified
141 <a·href="snmp_agent_config_files.html">Definition·of·Agent·Configuration·Files</a>·for·more141 <a·href="snmp_agent_config_files.html">Definition·of·Agent·Configuration·Files</a>·for·more
142 information).</li><li>the·<em>database·directory</em>·stores·the·internal·database·files.</li></ul><p>The·following·directory·must·exist·in·the·system·to·run·the·manager:</p><ul><li>the·<em>configuration·directory</em>·stores·all·configuration·files·used·by·the142 information).</li><li>the·<em>database·directory</em>·stores·the·internal·database·files.</li></ul><p>The·following·directory·must·exist·in·the·system·to·run·the·manager:</p><ul><li>the·<em>configuration·directory</em>·stores·all·configuration·files·used·by·the
143 manager·(refer·to·the·chapter143 manager·(refer·to·the·chapter
144 <a·href="snmp_manager_config_files.html">Definition·of·Manager·Configuration·Files</a>·for144 <a·href="snmp_manager_config_files.html">Definition·of·Manager·Configuration·Files</a>·for
145 more·information).</li><li>the·<em>database·directory</em>·stores·the·internal·database·files.</li></ul><p>The·agent·and·manager·uses·(application)·configuration·parameters·to·find·out145 more·information).</li><li>the·<em>database·directory</em>·stores·the·internal·database·files.</li></ul><p>The·agent·and·manager·uses·(application)·configuration·parameters·to·find·out
146 where·these·directories·are·located.·The·parameters·should·be·defined·in·an146 where·these·directories·are·located.·The·parameters·should·be·defined·in·an
147 Erlang·system·configuration·file.·The·following·configuration·parameters·are147 Erlang·system·configuration·file.·The·following·configuration·parameters·are
148 defined·for·the·SNMP·application:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="nf">agent_options</span><span·class="p"·data-group-id="5726212891-1">(</span><span·class="p"·data-group-id="5726212891-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5726212891-2">[</span><span·class="nf">agent_option</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·127,·SHA:·bf4b2a55881a8287d914f702ccf14ee4dd3ecec822a07b32d279a869fea375df·...·]-2">]</span><span·class="w">148 defined·for·the·SNMP·application:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="nf">agent_options</span><span·class="p"·data-group-id="1256649412-1">(</span><span·class="p"·data-group-id="1256649412-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1256649412-2">[</span><span·class="nf">agent_option</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·127,·SHA:·0127a3d4703229fb5323d8faaf476ca5bcae9394fc2ff77a812dbe9dcbe8b330·...·]-2">]</span><span·class="w">
149 ······</span><span·class="nf">agent_option</span><span·class="p"·data-group-id="5726212891-4">(</span><span·class="p"·data-group-id="5726212891-4">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5726212891-5">{</span><span·class="ss">restart_type</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·215,·SHA:·f66ef96eb207fb7c888afcf58cfdce2c46100db7fda0766aecb8732f9ded16a0·...·]-5">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">149 ······</span><span·class="nf">agent_option</span><span·class="p"·data-group-id="1256649412-4">(</span><span·class="p"·data-group-id="1256649412-4">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1256649412-5">{</span><span·class="ss">restart_type</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·215,·SHA:·d1087e1af1959cda0e0dcfe05d79bcf8333915a76faa28427880488d0c372129·...·]-5">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
150 ·······················</span><span·class="p"·data-group-id="5726212891-7">{</span><span·class="ss">agent_type</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">agent_type</span><span·class="p"·data-group-id="5726212891-8">(</span><span·class="p"·data-group-id="5726212891-8">)</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·8600484dc146abe3e076b1b4a829e3e13e47df3dacc66258ec0ff3ac4d92ab5a·...·]-7">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">150 ·······················</span><span·class="p"·data-group-id="1256649412-7">{</span><span·class="ss">agent_type</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">agent_type</span><span·class="p"·data-group-id="1256649412-8">(</span><span·class="p"·data-group-id="1256649412-8">)</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·b9a6f84ec09e979e16c2f777321f71cb3ea415394af82751b877065008c6f46d·...·]-7">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
151 ·······················</span><span·class="p"·data-group-id="5726212891-9">{</span><span·class="ss">agent_verbosity</span><span·class="p">,</span><span·class="w">··</span><span·class="nf">verbosity</span><span·class="p"·data-group-id="5726212891-10">(</span><span·class="p"·data-group-id="5726212891-10">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·66e54476b48b052327c51f4fabd01ba2382c91e803dfbae9a172be0b218e721f·...·]-9">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">151 ·······················</span><span·class="p"·data-group-id="1256649412-9">{</span><span·class="ss">agent_verbosity</span><span·class="p">,</span><span·class="w">··</span><span·class="nf">verbosity</span><span·class="p"·data-group-id="1256649412-10">(</span><span·class="p"·data-group-id="1256649412-10">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·41e76b624bb0973eb56fb3facf88c2431f7eea37cc6b495ec0263b7381638ce9·...·]-9">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
152 ·······················</span><span·class="p"·data-group-id="5726212891-11">{</span><span·class="ss">versions</span><span·class="p">,</span><span·class="w">·········</span><span·class="nf">versions</span><span·class="p"·data-group-id="5726212891-12">(</span><span·class="p"·data-group-id="5726212891-12">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·66e54476b48b052327c51f4fabd01ba2382c91e803dfbae9a172be0b218e721f·...·]-11">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">152 ·······················</span><span·class="p"·data-group-id="1256649412-11">{</span><span·class="ss">versions</span><span·class="p">,</span><span·class="w">·········</span><span·class="nf">versions</span><span·class="p"·data-group-id="1256649412-12">(</span><span·class="p"·data-group-id="1256649412-12">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·41e76b624bb0973eb56fb3facf88c2431f7eea37cc6b495ec0263b7381638ce9·...·]-11">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">
153 ·······················</span><span·class="p"·data-group-id="5726212891-13">{</span><span·class="ss">discovery</span><span·class="p">,</span><span·class="w">········</span><span·class="nf">agent_discovery</span><span·class="p"·data-group-id="5726212891-14">(</span><span·class="p"·data-group-id="5726212891-14">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·49160fa9a0245b076b6e40704a74d40b73d2b998a0e84b24d4f1761d55f440c8·...·]-13">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">153 ·······················</span><span·class="p"·data-group-id="1256649412-13">{</span><span·class="ss">discovery</span><span·class="p">,</span><span·class="w">········</span><span·class="nf">agent_discovery</span><span·class="p"·data-group-id="1256649412-14">(</span><span·class="p"·data-group-id="1256649412-14">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·12f47f6fbd6d1f388ffc560d8b9920a6dacea2f23d6f6266c4f7fbde76582538·...·]-13">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
154 ·······················</span><span·class="p"·data-group-id="5726212891-15">{</span><span·class="ss">gb_max_vbs</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">gb_max_vbs</span><span·class="p"·data-group-id="5726212891-16">(</span><span·class="p"·data-group-id="5726212891-16">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·986b1b10e19658289457e326ef1f483a980bd02f2c479372badda3acbc55af61·...·]-15">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">154 ·······················</span><span·class="p"·data-group-id="1256649412-15">{</span><span·class="ss">gb_max_vbs</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">gb_max_vbs</span><span·class="p"·data-group-id="1256649412-16">(</span><span·class="p"·data-group-id="1256649412-16">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·5dc5cb4abffcbdbe2dde09e897ecffe15f04e822934b47b4d64603683397419a·...·]-15">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
155 ·······················</span><span·class="p"·data-group-id="5726212891-17">{</span><span·class="ss">priority</span><span·class="p">,</span><span·class="w">·········</span><span·class="nf">priority</span><span·class="p"·data-group-id="5726212891-18">(</span><span·class="p"·data-group-id="5726212891-18">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·66e54476b48b052327c51f4fabd01ba2382c91e803dfbae9a172be0b218e721f·...·]-17">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">155 ·······················</span><span·class="p"·data-group-id="1256649412-17">{</span><span·class="ss">priority</span><span·class="p">,</span><span·class="w">·········</span><span·class="nf">priority</span><span·class="p"·data-group-id="1256649412-18">(</span><span·class="p"·data-group-id="1256649412-18">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·41e76b624bb0973eb56fb3facf88c2431f7eea37cc6b495ec0263b7381638ce9·...·]-17">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">
156 ·······················</span><span·class="p"·data-group-id="5726212891-19">{</span><span·class="ss">multi_threaded</span><span·class="p">,</span><span·class="w">···</span><span·class="nf">multi_threaded</span><span·class="p"·data-group-id="5726212891-20">(</span><span·class="p"·data-group-id="5726212891-20">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·ac8ddbe759f8e36fcf0390a6c7660b401fcdebc173ce51937e3a8baf90d2d61d·...·]-19">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">156 ·······················</span><span·class="p"·data-group-id="1256649412-19">{</span><span·class="ss">multi_threaded</span><span·class="p">,</span><span·class="w">···</span><span·class="nf">multi_threaded</span><span·class="p"·data-group-id="1256649412-20">(</span><span·class="p"·data-group-id="1256649412-20">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·0c724df177a3e25a87131214bd863d736591cf28e2e9f217e2ad57ccd405c114·...·]-19">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">
157 ·······················</span><span·class="p"·data-group-id="5726212891-21">{</span><span·class="ss">db_dir</span><span·class="p">,</span><span·class="w">···········</span><span·class="nf">db_dir</span><span·class="p"·data-group-id="5726212891-22">(</span><span·class="p"·data-group-id="5726212891-22">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·0948dc8b85b51a55b9c92f8334db5d46b13f4048f65edafb11730e098706b703·...·]-21">}</span><span·class="w">···········</span><span·class="p">|</span><span·class="w">157 ·······················</span><span·class="p"·data-group-id="1256649412-21">{</span><span·class="ss">db_dir</span><span·class="p">,</span><span·class="w">···········</span><span·class="nf">db_dir</span><span·class="p"·data-group-id="1256649412-22">(</span><span·class="p"·data-group-id="1256649412-22">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·ed82bb2b9707d4a0e260b27ea880d0c64d8179a9297e4fe9c7cc1e2498fcb422·...·]-21">}</span><span·class="w">···········</span><span·class="p">|</span><span·class="w">
158 ·······················</span><span·class="p"·data-group-id="5726212891-23">{</span><span·class="ss">db_init_error</span><span·class="p">,</span><span·class="w">····</span><span·class="nf">db_init_error</span><span·class="p"·data-group-id="5726212891-24">(</span><span·class="p"·data-group-id="5726212891-24">)</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·50726b448f64719a0f4fe054e61f47bf3bd6ea383cef4291a1e7f52d5ca86172·...·]-23">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">158 ·······················</span><span·class="p"·data-group-id="1256649412-23">{</span><span·class="ss">db_init_error</span><span·class="p">,</span><span·class="w">····</span><span·class="nf">db_init_error</span><span·class="p"·data-group-id="1256649412-24">(</span><span·class="p"·data-group-id="1256649412-24">)</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·9abcdabb5aa5603940cfe497b777ca9d6b80b2ed1110f59c12130397a6d734ed·...·]-23">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
159 ·······················</span><span·class="p"·data-group-id="5726212891-25">{</span><span·class="ss">local_db</span><span·class="p">,</span><span·class="w">·········</span><span·class="nf">local_db</span><span·class="p"·data-group-id="5726212891-26">(</span><span·class="p"·data-group-id="5726212891-26">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·66e54476b48b052327c51f4fabd01ba2382c91e803dfbae9a172be0b218e721f·...·]-25">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">159 ·······················</span><span·class="p"·data-group-id="1256649412-25">{</span><span·class="ss">local_db</span><span·class="p">,</span><span·class="w">·········</span><span·class="nf">local_db</span><span·class="p"·data-group-id="1256649412-26">(</span><span·class="p"·data-group-id="1256649412-26">)</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·41e76b624bb0973eb56fb3facf88c2431f7eea37cc6b495ec0263b7381638ce9·...·]-25">}</span><span·class="w">·········</span><span·class="p">|</span><span·class="w">
160 ·······················</span><span·class="p"·data-group-id="5726212891-27">{</span><span·class="ss">net_if</span><span·class="p">,</span><span·class="w">···········</span><span·class="nf">agent_net_if</span><span·class="p"·data-group-id="5726212891-28">(</span><span·class="p"·data-group-id="5726212891-28">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·cf7467c64023a63194f13df538587dfd044dd8bfc870dc8f6685a7e1dce7853c·...·]-27">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">160 ·······················</span><span·class="p"·data-group-id="1256649412-27">{</span><span·class="ss">net_if</span><span·class="p">,</span><span·class="w">···········</span><span·class="nf">agent_net_if</span><span·class="p"·data-group-id="1256649412-28">(</span><span·class="p"·data-group-id="1256649412-28">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·381e7b5c0b5660ace80b3171d2f174d1ac02b935bf3777178941886d40ba28b8·...·]-27">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
161 ·······················</span><span·class="p"·data-group-id="5726212891-29">{</span><span·class="ss">mibs</span><span·class="p">,</span><span·class="w">·············</span><span·class="nf">mibs</span><span·class="p"·data-group-id="5726212891-30">(</span><span·class="p"·data-group-id="5726212891-30">)</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·39aa84d8ab299a6aa6d6053ccbac3d14b4a430e331961bab4785a60a799dbdfc·...·]-29">}</span><span·class="w">·············</span><span·class="p">|</span><span·class="w">161 ·······················</span><span·class="p"·data-group-id="1256649412-29">{</span><span·class="ss">mibs</span><span·class="p">,</span><span·class="w">·············</span><span·class="nf">mibs</span><span·class="p"·data-group-id="1256649412-30">(</span><span·class="p"·data-group-id="1256649412-30">)</span><span·cla[·...·truncated·by·diffoscope;·len:·32,·SHA:·37311216931ebb7b12c12e2d44cfaf5d1df0633de16fb100bc4b6286c1050deb·...·]-29">}</span><span·class="w">·············</span><span·class="p">|</span><span·class="w">
162 ·······················</span><span·class="p"·data-group-id="5726212891-31">{</span><span·class="ss">mib_storage</span><span·class="p">,</span><span·class="w">······</span><span·class="nf">mib_storage</span><span·class="p"·data-group-id="5726212891-32">(</span><span·class="p"·data-group-id="5726212891-32">)</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·778b0ef7a6e92c990cd928572f8e8998faad32d5bb14ebbb0c9856e294481e25·...·]-31">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">162 ·······················</span><span·class="p"·data-group-id="1256649412-31">{</span><span·class="ss">mib_storage</span><span·class="p">,</span><span·class="w">······</span><span·class="nf">mib_storage</span><span·class="p"·data-group-id="1256649412-32">(</span><span·class="p"·data-group-id="1256649412-32">)</span><s[·...·truncated·by·diffoscope;·len:·39,·SHA:·196dec7740b748c4f7b357b8a8d1da00c8fa0500609f22815a052fe33766bd05·...·]-31">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">
163 ·······················</span><span·class="p"·data-group-id="5726212891-33">{</span><span·class="ss">mib_server</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">mib_server</span><span·class="p"·data-group-id="5726212891-34">(</span><span·class="p"·data-group-id="5726212891-34">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·986b1b10e19658289457e326ef1f483a980bd02f2c479372badda3acbc55af61·...·]-33">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">163 ·······················</span><span·class="p"·data-group-id="1256649412-33">{</span><span·class="ss">mib_server</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">mib_server</span><span·class="p"·data-group-id="1256649412-34">(</span><span·class="p"·data-group-id="1256649412-34">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·5dc5cb4abffcbdbe2dde09e897ecffe15f04e822934b47b4d64603683397419a·...·]-33">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
164 ·······················</span><span·class="p"·data-group-id="5726212891-35">{</span><span·class="ss">audit_trail_log</span><span·class="p">,</span><span·class="w">··</span><span·class="nf">audit_trail_log</span><span·class="p"·data-group-id="5726212891-36">(</span><span·class="p"·data-group-id="5726212891-36">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·49160fa9a0245b076b6e40704a74d40b73d2b998a0e84b24d4f1761d55f440c8·...·]-35">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">164 ·······················</span><span·class="p"·data-group-id="1256649412-35">{</span><span·class="ss">audit_trail_log</span><span·class="p">,</span><span·class="w">··</span><span·class="nf">audit_trail_log</span><span·class="p"·data-group-id="1256649412-36">(</span><span·class="p"·data-group-id="1256649412-36">)</spa[·...·truncated·by·diffoscope;·len:·43,·SHA:·12f47f6fbd6d1f388ffc560d8b9920a6dacea2f23d6f6266c4f7fbde76582538·...·]-35">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
165 ·······················</span><span·class="p"·data-group-id="5726212891-37">{</span><span·class="ss">error_report_mod</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">error_report_mod</span><span·class="p"·data-group-id="5726212891-38">(</span><span·class="p"·data-group-id="5726212891-38">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·0a5b0ff25ae86e7e8bfa470005f34bf57eacd6ec515a5f237e443c8d694ebb27·...·]-37">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">165 ·······················</span><span·class="p"·data-group-id="1256649412-37">{</span><span·class="ss">error_report_mod</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">error_report_mod</span><span·class="p"·data-group-id="1256649412-38">(</span><span·class="p"·data-group-id="1256649412-38">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·cb55937522f57b988465fa7790ad7ac28984b5fdbd560a376b2834f0982dc045·...·]-37">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
166 ·······················</span><span·class="p"·data-group-id="5726212891-39">{</span><span·class="ss">note_store</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">note_store</span><span·class="p"·data-group-id="5726212891-40">(</span><span·class="p"·data-group-id="5726212891-40">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·986b1b10e19658289457e326ef1f483a980bd02f2c479372badda3acbc55af61·...·]-39">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">166 ·······················</span><span·class="p"·data-group-id="1256649412-39">{</span><span·class="ss">note_store</span><span·class="p">,</span><span·class="w">·······</span><span·class="nf">note_store</span><span·class="p"·data-group-id="1256649412-40">(</span><span·class="p"·data-group-id="1256649412-40">)</span><sp[·...·truncated·by·diffoscope;·len:·38,·SHA:·5dc5cb4abffcbdbe2dde09e897ecffe15f04e822934b47b4d64603683397419a·...·]-39">}</span><span·class="w">·······</span><span·class="p">|</span><span·class="w">
167 ·······················</span><span·class="p"·data-group-id="5726212891-41">{</span><span·class="ss">symbolic_store</span><span·class="p">,</span><span·class="w">···</span><span·class="nf">symbolic_store</span><span·class="p"·data-group-id="5726212891-42">(</span><span·class="p"·data-group-id="5726212891-42">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·ac8ddbe759f8e36fcf0390a6c7660b401fcdebc173ce51937e3a8baf90d2d61d·...·]-41">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">167 ·······················</span><span·class="p"·data-group-id="1256649412-41">{</span><span·class="ss">symbolic_store</span><span·class="p">,</span><span·class="w">···</span><span·class="nf">symbolic_store</span><span·class="p"·data-group-id="1256649412-42">(</span><span·class="p"·data-group-id="1256649412-42">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·0c724df177a3e25a87131214bd863d736591cf28e2e9f217e2ad57ccd405c114·...·]-41">}</span><span·class="w">···</span><span·class="p">|</span><span·class="w">
168 ·······················</span><span·class="p"·data-group-id="5726212891-43">{</span><span·class="ss">target_cache</span><span·class="p">,</span><span·class="w">·····</span><span·class="nf">target_cache</span><span·class="p"·data-group-id="5726212891-44">(</span><span·class="p"·data-group-id="5726212891-44">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·cf7467c64023a63194f13df538587dfd044dd8bfc870dc8f6685a7e1dce7853c·...·]-43">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">168 ·······················</span><span·class="p"·data-group-id="1256649412-43">{</span><span·class="ss">target_cache</span><span·class="p">,</span><span·class="w">·····</span><span·class="nf">target_cache</span><span·class="p"·data-group-id="1256649412-44">(</span><span·class="p"·data-group-id="1256649412-44">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·381e7b5c0b5660ace80b3171d2f174d1ac02b935bf3777178941886d40ba28b8·...·]-43">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
169 ·······················</span><span·class="p"·data-group-id="5726212891-45">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">···········</span><span·class="nf">agent_config</span><span·class="p"·data-group-id="5726212891-46">(</span><span·class="p"·data-group-id="5726212891-46">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·cf7467c64023a63194f13df538587dfd044dd8bfc870dc8f6685a7e1dce7853c·...·]-45">}</span><span·class="w">169 ·······················</span><span·class="p"·data-group-id="1256649412-45">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">···········</span><span·class="nf">agent_config</span><span·class="p"·data-group-id="1256649412-46">(</span><span·class="p"·data-group-id="1256649412-46">)</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·381e7b5c0b5660ace80b3171d2f174d1ac02b935bf3777178941886d40ba28b8·...·]-45">}</span><span·class="w">
170 ······</span><span·class="nf">manager_options</span><span·class="p"·data-group-id="5726212891-47">(</span><span·class="p"·data-group-id="5726212891-47">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5726212891-48">[</span><span·class="nf">manager_option</span><span·class="p"[·...·truncated·by·diffoscope;·len:·134,·SHA:·b7aa059e3ba847978dd425c6953d4bc97571c399535c7da159351c221cc11c77·...·]-48">]</span><span·class="w">170 ······</span><span·class="nf">manager_options</span><span·class="p"·data-group-id="1256649412-47">(</span><span·class="p"·data-group-id="1256649412-47">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1256649412-48">[</span><span·class="nf">manager_option</span><span·class="p"[·...·truncated·by·diffoscope;·len:·134,·SHA:·6f45fde0ac7bd001d0acfbd6d59c5271672aef572ae3de729d99329148e60913·...·]-48">]</span><span·class="w">
171 ······</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="5726212891-50">(</span><span·class="p"·data-group-id="5726212891-50">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5726212891-51">{</span><span·class="ss">restart_type</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·228,·SHA:·755cb5b19ba511d133cdf71001e6b0e847d0e1a7e9d80dcf39c98415fc981c26·...·]-51">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">171 ······</span><span·class="nf">manager_option</span><span·class="p"·data-group-id="1256649412-50">(</span><span·class="p"·data-group-id="1256649412-50">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1256649412-51">{</span><span·class="ss">restart_type</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·228,·SHA:·ae10cd32f4c87c566c216cbba250b0a3483f4cae2d3cbed92e48709090e17ced·...·]-51">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
172 ·························</span><span·class="p"·data-group-id="5726212891-53">{</span><span·class="ss">net_if</span><span·class="p">,</span><span·class="w">···················</span><span·class="nf">manager_net_if</span><span·class="p"·data-group-id="5726212891-54">(</span><span·class="p"·data-group-id="5726212891-54"[·...·truncated·by·diffoscope;·len:·50,·SHA:·c64eeafd452d44eaeae734035b992796405be96ee47d887a2bde9f62ced5ee89·...·]-53">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">172 ·························</span><span·class="p"·data-group-id="1256649412-53">{</span><span·class="ss">net_if</span><span·class="p">,</span><span·class="w">···················</span><span·class="nf">manager_net_if</span><span·class="p"·data-group-id="1256649412-54">(</span><span·class="p"·data-group-id="1256649412-54"[·...·truncated·by·diffoscope;·len:·50,·SHA:·54aeed54c6734abdebc9daa0586087a57f2be0ab742ed4b0f4d745630cb83b71·...·]-53">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
173 ·························</span><span·class="p"·data-group-id="5726212891-55">{</span><span·class="ss">server</span><span·class="p">,</span><span·class="w">···················</span><span·class="nf">server</span><span·class="p"·data-group-id="5726212891-56">(</span><span·class="p"·data-group-id="5726212891-56">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·ac8ddbe759f8e36fcf0390a6c7660b401fcdebc173ce51937e3a8baf90d2d61d·...·]-55">}</span><span·class="w">··········</span><span·class="p">|</span><span·class="w">173 ·························</span><span·class="p"·data-group-id="1256649412-55">{</span><span·class="ss">server</span><span·class="p">,</span><span·class="w">···················</span><span·class="nf">server</span><span·class="p"·data-group-id="1256649412-56">(</span><span·class="p"·data-group-id="1256649412-56">)</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·0c724df177a3e25a87131214bd863d736591cf28e2e9f217e2ad57ccd405c114·...·]-55">}</span><span·class="w">··········</span><span·class="p">|</span><span·class="w">
174 ·························</span><span·class="p"·data-group-id="5726212891-57">{</span><span·class="ss">note_store</span><span·class="p">,</span><span·class="w">···············</span><span·class="nf">note_store</span><span·class="p"·data-group-id="5726212891-58">(</span><span·class="p"·data-group-id="5726212891-58">)</[·...·truncated·by·diffoscope;·len:·46,·SHA:·f800caace72d898a9779e8aea1ce486e64dd0d63814c0b059e93fdf843d74f81·...·]-57">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">174 ·························</span><span·class="p"·data-group-id="1256649412-57">{</span><span·class="ss">note_store</span><span·class="p">,</span><span·class="w">···············</span><span·class="nf">note_store</span><span·class="p"·data-group-id="1256649412-58">(</span><span·class="p"·data-group-id="1256649412-58">)</[·...·truncated·by·diffoscope;·len:·46,·SHA:·5bbd139c580a9a111ecbb748feff23f6c292fd5645cdd41a425ea6ab421c0c88·...·]-57">}</span><span·class="w">······</span><span·class="p">|</span><span·class="w">
175 ·························</span><span·class="p"·data-group-id="5726212891-59">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">···················</span><span·class="nf">manager_config</span><span·class="p"·data-group-id="5726212891-60">(</span><span·class="p"·data-group-id="5726212891-60"[·...·truncated·by·diffoscope;·len:·50,·SHA:·c64eeafd452d44eaeae734035b992796405be96ee47d887a2bde9f62ced5ee89·...·]-59">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">175 ·························</span><span·class="p"·data-group-id="1256649412-59">{</span><span·class="ss">config</span><span·class="p">,</span><span·class="w">···················</span><span·class="nf">manager_config</span><span·class="p"·data-group-id="1256649412-60">(</span><span·class="p"·data-group-id="1256649412-60"[·...·truncated·by·diffoscope;·len:·50,·SHA:·54aeed54c6734abdebc9daa0586087a57f2be0ab742ed4b0f4d745630cb83b71·...·]-59">}</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
176 ·························</span><span·class="p"·data-group-id="5726212891-61">{</span><span·class="ss">inform_request_behaviour</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">manager_irb</span><span·class="p"·data-group-id="5726212891-62">(</span><span·class="p"·data-group-id="5726212891-62">)<[·...·truncated·by·diffoscope;·len:·47,·SHA:·89ab2ea8357f085d279dfd9e76d8dfd36b45634d5794c8e690a1e4d5278a1885·...·]-61">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">176 ·························</span><span·class="p"·data-group-id="1256649412-61">{</span><span·class="ss">inform_request_behaviour</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">manager_irb</span><span·class="p"·data-group-id="1256649412-62">(</span><span·class="p"·data-group-id="1256649412-62">)<[·...·truncated·by·diffoscope;·len:·47,·SHA:·e57a25503431ef7004d2b28bc730b3c64dee4881b7c9e98e06b19232073eff32·...·]-61">}</span><span·class="w">·····</span><span·class="p">|</span><span·class="w">
177 ·························</span><span·class="p"·data-group-id="5726212891-63">{</span><span·class="ss">mibs</span><span·class="p">,</span><span·class="w">·····················</span><span·class="nf">manager_mibs</span><span·class="p"·data-group-id="5726212891-64">(</span><span·class="p"·data-group-id="5726212891-64">)[·...·truncated·by·diffoscope;·len:·48,·SHA:·23053a2a7f0ce35e2d448d5e37c7483702b366e136b7958810069de7b8c31945·...·]-63">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">177 ·························</span><span·class="p"·data-group-id="1256649412-63">{</span><span·class="ss">mibs</span><span·class="p">,</span><span·class="w">·····················</span><span·class="nf">manager_mibs</span><span·class="p"·data-group-id="1256649412-64">(</span><span·class="p"·data-group-id="1256649412-64">)[·...·truncated·by·diffoscope;·len:·48,·SHA:·3f2ebbcaee5e502f96b6432ce6676eb5291fad1fdd8d1eeddaec1dd0e8994cbd·...·]-63">}</span><span·class="w">····</span><span·class="p">|</span><span·class="w">
178 ·························</span><span·class="p"·data-group-id="5726212891-65">{</span><span·class="ss">priority</span><span·class="p">,</span><span·class="w">·················</span><span·class="nf">priority</span><span·class="p"·data-group-id="5726212891-66">(</span><span·class="p"·data-group-id="5726212891-66">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·0a5b0ff25ae86e7e8bfa470005f34bf57eacd6ec515a5f237e443c8d694ebb27·...·]-65">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">178 ·························</span><span·class="p"·data-group-id="1256649412-65">{</span><span·class="ss">priority</span><span·class="p">,</span><span·class="w">·················</span><span·class="nf">priority</span><span·class="p"·data-group-id="1256649412-66">(</span><span·class="p"·data-group-id="1256649412-66">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·cb55937522f57b988465fa7790ad7ac28984b5fdbd560a376b2834f0982dc045·...·]-65">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
179 ·························</span><span·class="p"·data-group-id="5726212891-67">{</span><span·class="ss">audit_trail_log</span><span·class="p">,</span><span·class="w">··········</span><span·class="nf">audit_trail_log</span><span·class="p"·data-group-id="5726212891-68">(</span><span·class="p"·data-group-id="5726212891-68[·...·truncated·by·diffoscope;·len:·51,·SHA:·97e485dc2b9d589d6f218d717d9c75109e5cd2c63abee0f43f5c087ffd312b4f·...·]-67">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">179 ·························</span><span·class="p"·data-group-id="1256649412-67">{</span><span·class="ss">audit_trail_log</span><span·class="p">,</span><span·class="w">··········</span><span·class="nf">audit_trail_log</span><span·class="p"·data-group-id="1256649412-68">(</span><span·class="p"·data-group-id="1256649412-68[·...·truncated·by·diffoscope;·len:·51,·SHA:·649c3ee2f4bfa481199a630937ea523f68b5b5b76221d9168dd7da15fd96688e·...·]-67">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
180 ·························</span><span·class="p"·data-group-id="5726212891-69">{</span><span·class="ss">versions</span><span·class="p">,</span><span·class="w">·················</span><span·class="nf">versions</span><span·class="p"·data-group-id="5726212891-70">(</span><span·class="p"·data-group-id="5726212891-70">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·0a5b0ff25ae86e7e8bfa470005f34bf57eacd6ec515a5f237e443c8d694ebb27·...·]-69">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">180 ·························</span><span·class="p"·data-group-id="1256649412-69">{</span><span·class="ss">versions</span><span·class="p">,</span><span·class="w">·················</span><span·class="nf">versions</span><span·class="p"·data-group-id="1256649412-70">(</span><span·class="p"·data-group-id="1256649412-70">)</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·cb55937522f57b988465fa7790ad7ac28984b5fdbd560a376b2834f0982dc045·...·]-69">}</span><span·class="w">········</span><span·class="p">|</span><span·class="w">
181 ·························</span><span·class="p"·data-group-id="5726212891-71">{</span><span·class="ss">def_user_mod</span><span·class="p">,</span><span·class="w">·············</span><span·class="nf">def_user_module</span><span·class="p"·data-group-id="5726212891-72">(</span><span·class="p"·data-group-id="5726212891-72">)</span><span·class="w">··</span><span·class="p">|</span><span·class="w">181 ·························</span><span·class="p"·data-group-id="1256649412-71">{</span><span·class="ss">def_user_mod</span><span·class="p">,</span><span·class="w">·············</span><span·class="nf">def_user_module</span><span·class="p"·data-group-id="1256649412-72">(</span><span·class="p"·data-group-id="1256649412-72">)</span><span·class="w">··</span><span·class="p">|</span><span·class="w">
182 ·························</span><span·class="p"·data-group-id="5726212891-73">{</span><span·class="ss">def_user_data</span><span·class="p">,</span><span·class="w">············</span><span·class="nf">def_user_data</span><span·class="p"·data-group-id="5726212891-74">(</span><span·class="p"·data-group-id="5726212891-74">[·...·truncated·by·diffoscope;·len:·49,·SHA:·1bf6fe923c0efe69b04b5b9827e0e36a4fb4ca9ce80f204737ce35df20a43339·...·]-73">}</span></code></pre><p><a·href=""·id="agent_opts_and_types"></a></p><p>Agent·specific·config·options·and·types:</p><ul><li><p><strong><code·class="inline"·id="agent_type">agent_type()·=·master·|·sub·&lt;optional&gt;</code></strong>·-·If·<code·class="inline">master</code>,182 ·························</span><span·class="p"·data-group-id="1256649412-73">{</span><span·class="ss">def_user_data</span><span·class="p">,</span><span·class="w">············</span><span·class="nf">def_user_data</span><span·class="p"·data-group-id="1256649412-74">(</span><span·class="p"·data-group-id="1256649412-74">[·...·truncated·by·diffoscope;·len:·49,·SHA:·94dfb0201134731c587929998203af79514dfcf36e90889ebbbd64a819c958c6·...·]-73">}</span></code></pre><p><a·href=""·id="agent_opts_and_types"></a></p><p>Agent·specific·config·options·and·types:</p><ul><li><p><strong><code·class="inline"·id="agent_type">agent_type()·=·master·|·sub·&lt;optional&gt;</code></strong>·-·If·<code·class="inline">master</code>,
183 one·master·agent·is·started.·Otherwise,·no·agents·are·started.</p><p>Default·is·<code·class="inline">master</code>.</p></li><li><p><strong><code·class="inline"·id="agent_disco">agent_discovery()·=·[agent_discovery_opt()]·&lt;optional&gt;</code></strong>·-183 one·master·agent·is·started.·Otherwise,·no·agents·are·started.</p><p>Default·is·<code·class="inline">master</code>.</p></li><li><p><strong><code·class="inline"·id="agent_disco">agent_discovery()·=·[agent_discovery_opt()]·&lt;optional&gt;</code></strong>·-
184 <code·class="inline">agent_discovery_opt()·=·{terminating,·agent_terminating_discovery_opts()}·|·{originating,·agent_originating_discovery_opts()}</code></p><p>The·<code·class="inline">terminating</code>·options·effects·discovery·initiated·by·a·manager.</p><p>The·<code·class="inline">originating</code>·options·effects·discovery·initiated·by·this·agent.</p><p>For·defaults·see·the·options·in·<code·class="inline">agent_discovery_opt()</code>.</p></li><li><p><strong><code·class="inline"·id="agent_term_disco_opts">agent_terminating_discovery_opts()·=·[agent_terminating_discovery_opt()]·&lt;optional&gt;</code></strong>·-184 <code·class="inline">agent_discovery_opt()·=·{terminating,·agent_terminating_discovery_opts()}·|·{originating,·agent_originating_discovery_opts()}</code></p><p>The·<code·class="inline">terminating</code>·options·effects·discovery·initiated·by·a·manager.</p><p>The·<code·class="inline">originating</code>·options·effects·discovery·initiated·by·this·agent.</p><p>For·defaults·see·the·options·in·<code·class="inline">agent_discovery_opt()</code>.</p></li><li><p><strong><code·class="inline"·id="agent_term_disco_opts">agent_terminating_discovery_opts()·=·[agent_terminating_discovery_opt()]·&lt;optional&gt;</code></strong>·-
185 <code·class="inline">agent_terminating_discovery_opt()·=·{enable,·boolean()}·|·{stage2,·discovery·|·plain}·|·{trigger_username,·string()}</code></p><p>These·are·options·effecting·discovery·<code·class="inline">terminating</code>·in·this·agent·(i.e.185 <code·class="inline">agent_terminating_discovery_opt()·=·{enable,·boolean()}·|·{stage2,·discovery·|·plain}·|·{trigger_username,·string()}</code></p><p>These·are·options·effecting·discovery·<code·class="inline">terminating</code>·in·this·agent·(i.e.
186 initiated·by·a·manager).</p><p>The·default·values·for·the·<code·class="inline">terminating</code>·discovery·options·are:</p><ul><li>enable:·<code·class="inline">true</code></li><li>stage2:·<code·class="inline">discovery</code></li><li>trigger_username:·<code·class="inline">&quot;&quot;</code></li></ul></li><li><p><strong><code·class="inline"·id="agent_orig_disco_opts">agent_originating_discovery_opts()·=·[agent_originating_discovery_opt()]·&lt;optional&gt;</code></strong>·-186 initiated·by·a·manager).</p><p>The·default·values·for·the·<code·class="inline">terminating</code>·discovery·options·are:</p><ul><li>enable:·<code·class="inline">true</code></li><li>stage2:·<code·class="inline">discovery</code></li><li>trigger_username:·<code·class="inline">&quot;&quot;</code></li></ul></li><li><p><strong><code·class="inline"·id="agent_orig_disco_opts">agent_originating_discovery_opts()·=·[agent_originating_discovery_opt()]·&lt;optional&gt;</code></strong>·-
187 <code·class="inline">agent_originating_discovery_opt()·=·{enable,·boolean()}</code></p><p>These·are·options·effecting·discovery·<code·class="inline">originating</code>·in·this·agent.</p><p>The·default·values·for·the·<code·class="inline">originating</code>·discovery·options·are:</p><ul><li>enable:·<code·class="inline">true</code></li></ul></li><li><p><strong><code·class="inline"·id="agent_mt">multi_threaded()·=·bool()·|·extended&lt;optional&gt;</code></strong>·-·If·<code·class="inline">true</code>187 <code·class="inline">agent_originating_discovery_opt()·=·{enable,·boolean()}</code></p><p>These·are·options·effecting·discovery·<code·class="inline">originating</code>·in·this·agent.</p><p>The·default·values·for·the·<code·class="inline">originating</code>·discovery·options·are:</p><ul><li>enable:·<code·class="inline">true</code></li></ul></li><li><p><strong><code·class="inline"·id="agent_mt">multi_threaded()·=·bool()·|·extended&lt;optional&gt;</code></strong>·-·If·<code·class="inline">true</code>
188 (or·<code·class="inline">extended</code>),·the·agent·is·multi-threaded,·with·one·thread·for·each·get188 (or·<code·class="inline">extended</code>),·the·agent·is·multi-threaded,·with·one·thread·for·each·get
189 request.</p><p>The·value·<code·class="inline">extended</code>·means·that·a·special·'process'·is·also·created·intended189 request.</p><p>The·value·<code·class="inline">extended</code>·means·that·a·special·'process'·is·also·created·intended
Offset 646, 15 lines modifiedOffset 646, 15 lines modified
646 ······<p·class="built-using">646 ······<p·class="built-using">
647 ········Built·using647 ········Built·using
648 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the648 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
649 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>649 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
650 ······</p>650 ······</p>
651 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>651 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
652 ····</footer>652 ····</footer>
653 ··</div>653 ··</div>
654 </main>654 </main>
655 </div>655 </div>
656 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>656 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
657 ··<script>657 ··<script>
658 ··let·initialized·=·false;658 ··let·initialized·=·false;
936 B
html2text {}
Max HTML report size reached
1.61 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_def_instr_functions.html
    
Offset 364, 15 lines modifiedOffset 364, 15 lines modified
364 ······<p·class="built-using">364 ······<p·class="built-using">
365 ········Built·using365 ········Built·using
366 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the366 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
367 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>367 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
368 ······</p>368 ······</p>
369 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>369 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
370 ····</footer>370 ····</footer>
371 ··</div>371 ··</div>
372 </main>372 </main>
373 </div>373 </div>
374 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>374 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
375 ··<script>375 ··<script>
376 ··let·initialized·=·false;376 ··let·initialized·=·false;
781 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_framework_mib.html
    
Offset 594, 15 lines modifiedOffset 594, 15 lines modified
594 ······<p·class="built-using">594 ······<p·class="built-using">
595 ········Built·using595 ········Built·using
596 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the596 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
597 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>597 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
598 ······</p>598 ······</p>
599 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>599 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
600 ····</footer>600 ····</footer>
601 ··</div>601 ··</div>
602 </main>602 </main>
603 </div>603 </div>
604 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>604 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
605 ··<script>605 ··<script>
606 ··let·initialized·=·false;606 ··let·initialized·=·false;
644 B
html2text {}
Max HTML report size reached
20.3 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_generic.html
    
Offset 158, 49 lines modifiedOffset 158, 49 lines modified
158 Mnesia·table·<code·class="inline">snmp_variables</code>·which·must·be·a·table·with·two·attributes·(not·a158 Mnesia·table·<code·class="inline">snmp_variables</code>·which·must·be·a·table·with·two·attributes·(not·a
159 Mnesia·SNMP·table).·The·SNMP·tables·are·stored·in·Mnesia·tables·with·the·same159 Mnesia·SNMP·table).·The·SNMP·tables·are·stored·in·Mnesia·tables·with·the·same
160 names·as·the·SNMP·tables.·All·functions·assume·that·a·Mnesia·table·exists·with160 names·as·the·SNMP·tables.·All·functions·assume·that·a·Mnesia·table·exists·with
161 the·correct·name·and·attributes.·It·is·the·programmer's·responsibility·to·ensure161 the·correct·name·and·attributes.·It·is·the·programmer's·responsibility·to·ensure
162 this.·Specifically,·if·variables·are·stored·in·Mnesia,·the·table162 this.·Specifically,·if·variables·are·stored·in·Mnesia,·the·table
163 <code·class="inline">snmp_variables</code>·must·be·created·by·the·programmer.·The·record·definition·for163 <code·class="inline">snmp_variables</code>·must·be·created·by·the·programmer.·The·record·definition·for
164 this·table·is·defined·in·the·file·<code·class="inline">snmp/include/snmp_types.hrl</code>.</p><p>If·an·instrumentation·function·in·the·association·file·for·a·variable·<code·class="inline">myVar</code>164 this·table·is·defined·in·the·file·<code·class="inline">snmp/include/snmp_types.hrl</code>.</p><p>If·an·instrumentation·function·in·the·association·file·for·a·variable·<code·class="inline">myVar</code>
165 does·not·have·a·name·when·compiling·an·MIB,·the·compiler·generates·an·entry.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6119217286-1">{</span><span·class="ss">myVar</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6119217286-2">{</span><span·class="ss">snmp_generic</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">vari[·...·truncated·by·diffoscope;·len:·1107,·SHA:·7eedf3295c6dd18ef31e095a9583966f366f9954696a3b6990ad8688992cf120·...·]-4">}</span><span·class="p">}</span><span·class="p">.</span></code></pre><h2·id="module-example"·class="section-heading">165 does·not·have·a·name·when·compiling·an·MIB,·the·compiler·generates·an·entry.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6641889699-1">{</span><span·class="ss">myVar</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6641889699-2">{</span><span·class="ss">snmp_generic</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">vari[·...·truncated·by·diffoscope;·len:·1107,·SHA:·7f209c670144a17231b51d7c59bbfaf59c07c15f7903da4ded35512c022db81b·...·]-4">}</span><span·class="p">}</span><span·class="p">.</span></code></pre><h2·id="module-example"·class="section-heading">
166 ··<a·href="#module-example"·class="hover-link">166 ··<a·href="#module-example"·class="hover-link">
167 ····<i·class="ri-link-m"·aria-hidden="true"></i>167 ····<i·class="ri-link-m"·aria-hidden="true"></i>
168 ··</a>168 ··</a>
169 ··<span·class="text">Example</span>169 ··<span·class="text">Example</span>
170 </h2>170 </h2>
171 <p>The·following·example·shows·an·implementation·of·a·table·which·is·stored·in171 <p>The·following·example·shows·an·implementation·of·a·table·which·is·stored·in
172 Mnesia,·but·with·some·checks·performed·at·set-request·operations.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">myTable_func</span><span·class="p"·data-group-id="0156038618-1">(</span><span·class="ss">new</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NameDb</span><span·class="p"·data-group-id="0156038618-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">···</span><span·class="c1">%·pass·unchanged</span><span·class="w">172 Mnesia,·but·with·some·checks·performed·at·set-request·operations.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">myTable_func</span><span·class="p"·data-group-id="3236857621-1">(</span><span·class="ss">new</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NameDb</span><span·class="p"·data-group-id="3236857621-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">···</span><span·class="c1">%·pass·unchanged</span><span·class="w">
173 ··</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="0156038618-2">(</span><span·class="ss">new</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NameDb</span><span·class="p"·data-group-id="0156038618-2">)</span><span·class="p">.</span><span·class="w">173 ··</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="3236857621-2">(</span><span·class="ss">new</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NameDb</span><span·class="p"·data-group-id="3236857621-2">)</span><span·class="p">.</span><span·class="w">
  
174 </span><span·class="nf">myTable_func</span><span·class="p"·data-group-id="0156038618-3">(</span><span·class="ss">delete</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NameDb</span><span·class="p"·data-group-id="0156038618-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">···</span><span·class="c1">%·pass·unchanged</span><span·class="w">174 </span><span·class="nf">myTable_func</span><span·class="p"·data-group-id="3236857621-3">(</span><span·class="ss">delete</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NameDb</span><span·class="p"·data-group-id="3236857621-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">···</span><span·class="c1">%·pass·unchanged</span><span·class="w">
175 ··</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="0156038618-4">(</span><span·class="ss">delete</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NameDb</span><span·class="p"·data-group-id="0156038618-4">)</span><span·class="p">.</span><span·class="w">175 ··</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="3236857621-4">(</span><span·class="ss">delete</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NameDb</span><span·class="p"·data-group-id="3236857621-4">)</span><span·class="p">.</span><span·class="w">
  
176 </span><span·class="c1">%%·change·row</span><span·class="w">176 </span><span·class="c1">%%·change·row</span><span·class="w">
177 </span><span·class="nf">myTable_func</span><span·class="p"·data-group-id="0156038618-5">(</span><span·class="ss">is_set_ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·71,·SHA:·96ac53344333e4b986f2bd54614b2510cb9908783fcc9d0ccff84fde4b9eed54·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">177 </span><span·class="nf">myTable_func</span><span·class="p"·data-group-id="3236857621-5">(</span><span·class="ss">is_set_ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·71,·SHA:·c06c9ebdfe295eb5ea39d1d022bc310447daa28af463a10c8a7fe8b33d57f06c·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
178 ··</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="0156038618-6">(</span><span·class="ss">is_set_ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">178 ··</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="3236857621-6">(</span><span·class="ss">is_set_ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">
179 ·······························</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NameDb</span><span·class="p"·data-group-id="0156038618-6">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">179 ·······························</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NameDb</span><span·class="p"·data-group-id="3236857621-6">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
180 ····</span><span·class="p"·data-group-id="0156038618-7">{</span><span·class="ss">noError</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="0156038618-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">180 ····</span><span·class="p"·data-group-id="3236857621-7">{</span><span·class="ss">noError</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="3236857621-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
181 ······</span><span·class="nc">myApplication</span><span·class="p">:</span><span·class="nf">is_set_ok</span><span·class="p"·data-group-id="0156038618-8">(</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="0156038618-8">)</span><span·class="p">;</span><span·class="w">181 ······</span><span·class="nc">myApplication</span><span·class="p">:</span><span·class="nf">is_set_ok</span><span·class="p"·data-group-id="3236857621-8">(</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="3236857621-8">)</span><span·class="p">;</span><span·class="w">
182 ····</span><span·class="n">Err</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">182 ····</span><span·class="n">Err</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
183 ······</span><span·class="n">Err</span><span·class="w">183 ······</span><span·class="n">Err</span><span·class="w">
184 ··</span><span·class="k">end</span><span·class="p">;</span><span·class="w">184 ··</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
  
185 </span><span·class="nf">myTable_func</span><span·class="p"·data-group-id="0156038618-9">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·65,·SHA:·febe6e60075153a0bf56baed9074ab6e1905a657149d6f51d37e4480f522e1af·...·]-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">185 </span><span·class="nf">myTable_func</span><span·class="p"·data-group-id="3236857621-9">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·65,·SHA:·cb9a87c52344cc8b24df391b960f856039dfe2f29a95a0f5070a78ee36dca107·...·]-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
186 ··</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="0156038618-10">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">186 ··</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="3236857621-10">(</span><span·class="ss">set</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">
187 ·······························</span><span·class="n">NameDb</span><span·class="p"·data-group-id="0156038618-10">)</span><span·class="p">,</span><span·class="w">187 ·······························</span><span·class="n">NameDb</span><span·class="p"·data-group-id="3236857621-10">)</span><span·class="p">,</span><span·class="w">
188 ····</span><span·class="p"·data-group-id="0156038618-11">{</span><span·class="ss">noError</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="0156038618-11">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">188 ····</span><span·class="p"·data-group-id="3236857621-11">{</span><span·class="ss">noError</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p"·data-group-id="3236857621-11">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
189 ······</span><span·class="c1">%·Now·the·row·is·updated,·tell·the·application</span><span·class="w">189 ······</span><span·class="c1">%·Now·the·row·is·updated,·tell·the·application</span><span·class="w">
190 ······</span><span·class="nc">myApplication</span><span·class="p">:</span><span·class="nf">update</span><span·class="p"·data-group-id="0156038618-12">(</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="0156038618-12">)</span><span·class="p">;</span><span·class="w">190 ······</span><span·class="nc">myApplication</span><span·class="p">:</span><span·class="nf">update</span><span·class="p"·data-group-id="3236857621-12">(</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p"·data-group-id="3236857621-12">)</span><span·class="p">;</span><span·class="w">
191 ····</span><span·class="n">Err</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">191 ····</span><span·class="n">Err</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
192 ······</span><span·class="n">Err</span><span·class="w">192 ······</span><span·class="n">Err</span><span·class="w">
193 ··</span><span·class="k">end</span><span·class="p">;</span><span·class="w">193 ··</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
  
194 </span><span·class="nf">myTable_func</span><span·class="p"·data-group-id="0156038618-13">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·64,·SHA:·f8c2b187ded3197e759db2f04fe0185a3c27a1529db06e0755e9fe8039bfd710·...·]-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">···</span><span·class="c1">%·pass·unchanged</span><span·class="w">194 </span><span·class="nf">myTable_func</span><span·class="p"·data-group-id="3236857621-13">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·64,·SHA:·25abcb01ada0318ac7f111deb66477ff0e9c42d9ee2739104f37e20ae0dcf5ea·...·]-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">···</span><span·class="c1">%·pass·unchanged</span><span·class="w">
195 ··</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="0156038618-14">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·993,·SHA:·6f66ea200b5f9d3815c19432bf8d570820d9ccfb36488da148dcae2658b2858f·...·]-1">}</span><span·class="p">.</span></code></pre>195 ··</span><span·class="nc">snmp_generic</span><span·class="p">:</span><span·class="nf">table_func</span><span·class="p"·data-group-id="3236857621-14">(</span><span·class="n">Op</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RowIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cols</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·993,·SHA:·e55afc18071a7635481329cde57d2d4de89cb6fc1e32e729f5091421f39fa432·...·]-1">}</span><span·class="p">.</span></code></pre>
196 ····</section>196 ····</section>
  
197 </div>197 </div>
  
198 ··<section·id="summary"·class="details-list">198 ··<section·id="summary"·class="details-list">
199 ····<h1·class="section-heading">199 ····<h1·class="section-heading">
200 ······<a·class="hover-link"·href="#summary">200 ······<a·class="hover-link"·href="#summary">
Offset 929, 15 lines modifiedOffset 929, 15 lines modified
929 ······<p·class="built-using">929 ······<p·class="built-using">
930 ········Built·using930 ········Built·using
931 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the931 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
932 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>932 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
933 ······</p>933 ······</p>
934 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>934 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
935 ····</footer>935 ····</footer>
936 ··</div>936 ··</div>
937 </main>937 </main>
938 </div>938 </div>
939 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>939 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
940 ··<script>940 ··<script>
941 ··let·initialized·=·false;941 ··let·initialized·=·false;
716 B
html2text {}
Max HTML report size reached
175 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_impl_example_agent.html
Max HTML report size reached
1.62 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_impl_example_manager.html
    
Offset 189, 15 lines modifiedOffset 189, 15 lines modified
189 ······<p·class="built-using">189 ······<p·class="built-using">
190 ········Built·using190 ········Built·using
191 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the191 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
192 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>192 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
193 ······</p>193 ······</p>
194 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>194 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
195 ····</footer>195 ····</footer>
196 ··</div>196 ··</div>
197 </main>197 </main>
198 </div>198 </div>
199 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>199 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
200 ··<script>200 ··<script>
201 ··let·initialized·=·false;201 ··let·initialized·=·false;
791 B
html2text {}
Max HTML report size reached
7.98 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_index.html
    
Offset 131, 21 lines modifiedOffset 131, 21 lines modified
131 <p>Abstract·Data·Type·for·SNMP·Indexing</p><p>The·module·<code·class="inline">snmp_index</code>·implements·an·Abstract·Data·Type·(ADT)·for·an·SNMP·index131 <p>Abstract·Data·Type·for·SNMP·Indexing</p><p>The·module·<code·class="inline">snmp_index</code>·implements·an·Abstract·Data·Type·(ADT)·for·an·SNMP·index
132 structure·for·SNMP·tables.·It·is·implemented·as·an·ets·table·of·the·ordered_set132 structure·for·SNMP·tables.·It·is·implemented·as·an·ets·table·of·the·ordered_set
133 data-type,·which·means·that·all·operations·are·O(log·n).·In·the·table,·the·key133 data-type,·which·means·that·all·operations·are·O(log·n).·In·the·table,·the·key
134 is·an·ASN.1·OBJECT·IDENTIFIER.</p><p>This·index·is·used·to·separate·the·implementation·of·the·SNMP·ordering·from·the134 is·an·ASN.1·OBJECT·IDENTIFIER.</p><p>This·index·is·used·to·separate·the·implementation·of·the·SNMP·ordering·from·the
135 actual·implementation·of·the·table.·The·SNMP·ordering,·that·is·implementation·of135 actual·implementation·of·the·table.·The·SNMP·ordering,·that·is·implementation·of
136 GET·NEXT,·is·implemented·in·this·module.</p><p>For·example,·suppose·there·is·an·SNMP·table,·which·is·best·implemented·in·Erlang136 GET·NEXT,·is·implemented·in·this·module.</p><p>For·example,·suppose·there·is·an·SNMP·table,·which·is·best·implemented·in·Erlang
137 as·one·process·per·SNMP·table·row.·Suppose·further·that·the·INDEX·in·the·SNMP137 as·one·process·per·SNMP·table·row.·Suppose·further·that·the·INDEX·in·the·SNMP
138 table·is·an·OCTET·STRING.·The·index·structure·would·be·created·as·follows:</p><pre><code·class="text">snmp_index:new(string)</code></pre><p>For·each·new·process·we·create,·we·insert·an·item·in·an·<code·class="inline">snmp_index</code>·structure:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">new_process</span><span·class="p"·data-group-id="6446113640-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SnmpIndex</span><span·class="p"·data-group-id="6446113640-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">138 table·is·an·OCTET·STRING.·The·index·structure·would·be·created·as·follows:</p><pre><code·class="text">snmp_index:new(string)</code></pre><p>For·each·new·process·we·create,·we·insert·an·item·in·an·<code·class="inline">snmp_index</code>·structure:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">new_process</span><span·class="p"·data-group-id="1806743507-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SnmpIndex</span><span·class="p"·data-group-id="1806743507-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
139 ··</span><span·class="n">Pid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">start_process</span><span·class="p"·data-group-id="6446113640-2">(</span><span·class="p"·data-group-id="6446113640-2">)</span><span·class="p">,</span><span·class="w">139 ··</span><span·class="n">Pid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">start_process</span><span·class="p"·data-group-id="1806743507-2">(</span><span·class="p"·data-group-id="1806743507-2">)</span><span·class="p">,</span><span·class="w">
140 ··</span><span·class="n">NewSnmpIndex</span><span·class="w">·</span><span·class="o">=</span><span·class="w">140 ··</span><span·class="n">NewSnmpIndex</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
141 ····</span><span·class="nc">snmp_index</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="6446113640-3">(</span><span·class="n">SnmpIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="6446113640-3">)</span><span·class="p">,</span><span·class="w">141 ····</span><span·class="nc">snmp_index</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="1806743507-3">(</span><span·class="n">SnmpIndex</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="1806743507-3">)</span><span·class="p">,</span><span·class="w">
142 ··</span><span·class="o">&lt;</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="o">&gt;</span></code></pre><p>With·this·structure,·we·can·now·map·an·OBJECT·IDENTIFIER·in·e.g.·a·GET·NEXT142 ··</span><span·class="o">&lt;</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="o">&gt;</span></code></pre><p>With·this·structure,·we·can·now·map·an·OBJECT·IDENTIFIER·in·e.g.·a·GET·NEXT
143 request,·to·the·correct·process:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">get_next_pid</span><span·class="p"·data-group-id="9656279801-1">(</span><span·class="n">Oid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SnmpIndex</span><span·class="p"·data-group-id="9656279801-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">143 request,·to·the·correct·process:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">get_next_pid</span><span·class="p"·data-group-id="1728451398-1">(</span><span·class="n">Oid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SnmpIndex</span><span·class="p"·data-group-id="1728451398-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
144 ··</span><span·class="p"·data-group-id="9656279801-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9656279801-3">{</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·cla[·...·truncated·by·diffoscope;·len:·459,·SHA:·55b0f93ecc691ede738a6c0d25a080e7c2ac84e61f57a9e5190d031123281c2d·...·]-4">)</span><span·class="p">,</span><span·class="w">144 ··</span><span·class="p"·data-group-id="1728451398-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1728451398-3">{</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·cla[·...·truncated·by·diffoscope;·len:·459,·SHA:·0dce281e2c3df61bb5324c9b73ae6297ea2353d6ce27a6c17274315c19d63494·...·]-4">)</span><span·class="p">,</span><span·class="w">
145 ··</span><span·class="n">Pid</span><span·class="p">.</span></code></pre><h2·id="module-warnings"·class="section-heading">145 ··</span><span·class="n">Pid</span><span·class="p">.</span></code></pre><h2·id="module-warnings"·class="section-heading">
146 ··<a·href="#module-warnings"·class="hover-link">146 ··<a·href="#module-warnings"·class="hover-link">
147 ····<i·class="ri-link-m"·aria-hidden="true"></i>147 ····<i·class="ri-link-m"·aria-hidden="true"></i>
148 ··</a>148 ··</a>
149 ··<span·class="text">Warnings</span>149 ··<span·class="text">Warnings</span>
150 </h2>150 </h2>
151 <section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p><a·href=""·id="1"></a>·All·API·functions·that·update·the·index·return·a·<code·class="inline">NewIndex</code>·term.151 <section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p><a·href=""·id="1"></a>·All·API·functions·that·update·the·index·return·a·<code·class="inline">NewIndex</code>·term.
Offset 763, 15 lines modifiedOffset 763, 15 lines modified
763 ······<p·class="built-using">763 ······<p·class="built-using">
764 ········Built·using764 ········Built·using
765 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the765 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
766 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>766 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
767 ······</p>767 ······</p>
768 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>768 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
769 ····</footer>769 ····</footer>
770 ··</div>770 ··</div>
771 </main>771 </main>
772 </div>772 </div>
773 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>773 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
774 ··<script>774 ··<script>
775 ··let·initialized·=·false;775 ··let·initialized·=·false;
661 B
html2text {}
Max HTML report size reached
21.5 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_instr_functions.html
    
Offset 210, 17 lines modifiedOffset 210, 17 lines modified
210 accessible),·and·the·table·has·three·rows.·The·instrumentation·function·for·this210 accessible),·and·the·table·has·three·rows.·The·instrumentation·function·for·this
211 table·is·called·<code·class="inline">my_table</code>.</p><p><a·href=""·id="getnext1"></a></p><p><img·src="assets/getnext1.gif"·alt="Contents·of·my_table"·title="Contents·of·my_table"/></p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>N/A·means·not·accessible.</p></section><p>The·manager·issues·the·following·<code·class="inline">getNext</code>·request:</p><pre><code·class="text">getNext{·myTable.myTableEntry.3.1.1,211 table·is·called·<code·class="inline">my_table</code>.</p><p><a·href=""·id="getnext1"></a></p><p><img·src="assets/getnext1.gif"·alt="Contents·of·my_table"·title="Contents·of·my_table"/></p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>N/A·means·not·accessible.</p></section><p>The·manager·issues·the·following·<code·class="inline">getNext</code>·request:</p><pre><code·class="text">getNext{·myTable.myTableEntry.3.1.1,
212 ·········myTable.myTableEntry.5.1.1·}</code></pre><p>Since·both·operations·involve·the·1.1·index,·this·is·transformed·into·one·call212 ·········myTable.myTableEntry.5.1.1·}</code></pre><p>Since·both·operations·involve·the·1.1·index,·this·is·transformed·into·one·call
213 to·<code·class="inline">my_table</code>:</p><pre><code·class="text">my_table(get_next,·[1,·1],·[3,·5])</code></pre><p>In·this·call,·<code·class="inline">[1,·1]</code>·is·the·<code·class="inline">RowIndex</code>,·where·key·1·has·value·1,·and·key·2·has213 to·<code·class="inline">my_table</code>:</p><pre><code·class="text">my_table(get_next,·[1,·1],·[3,·5])</code></pre><p>In·this·call,·<code·class="inline">[1,·1]</code>·is·the·<code·class="inline">RowIndex</code>,·where·key·1·has·value·1,·and·key·2·has
214 value·1,·and·<code·class="inline">[3,·5]</code>·is·the·list·of·requested·columns.·The·function·should·now214 value·1,·and·<code·class="inline">[3,·5]</code>·is·the·list·of·requested·columns.·The·function·should·now
215 return·the·lexicographically·next·elements:</p><pre><code·class="text">[{[3,·1,·2],·d},·{[5,·1,·2],·f}]</code></pre><p>This·is·illustrated·in·the·following·table:</p><p><a·href=""·id="getnext2"></a></p><p><img·src="assets/getnext2.gif"·alt="GetNext·from·[3,1,1]·and·[5,1,1]."·title="GetNext·from·[3,1,1]·and·[5,1,1]."/></p><p>The·manager·now·issues·the·following·<code·class="inline">getNext</code>·request:</p><pre><code·class="text">getNext{·myTable.myTableEntry.3.2.1,215 return·the·lexicographically·next·elements:</p><pre><code·class="text">[{[3,·1,·2],·d},·{[5,·1,·2],·f}]</code></pre><p>This·is·illustrated·in·the·following·table:</p><p><a·href=""·id="getnext2"></a></p><p><img·src="assets/getnext2.gif"·alt="GetNext·from·[3,1,1]·and·[5,1,1]."·title="GetNext·from·[3,1,1]·and·[5,1,1]."/></p><p>The·manager·now·issues·the·following·<code·class="inline">getNext</code>·request:</p><pre><code·class="text">getNext{·myTable.myTableEntry.3.2.1,
216 ·········myTable.myTableEntry.5.2.1·}</code></pre><p>This·is·transformed·into·one·call·to·<code·class="inline">my_table</code>:</p><pre><code·class="text">my_table(get_next,·[2,·1],·[3,·5])</code></pre><p>The·function·should·now·return:</p><pre><code·class="text">[{[4,·1,·1],·b},·endOfTable]</code></pre><p>This·is·illustrated·in·the·following·table:</p><p><a·href=""·id="getnext3"></a></p><p><img·src="assets/getnext3.gif"·alt="GetNext·from·[3,2,1]·and·[5,2,1]."·title="GetNext·from·[3,2,1]·and·[5,2,1]."/></p><p>The·manager·now·issues·the·following·<code·class="inline">getNext</code>·request:</p><pre><code·class="text">getNext{·myTable.myTableEntry.3.1.2,216 ·········myTable.myTableEntry.5.2.1·}</code></pre><p>This·is·transformed·into·one·call·to·<code·class="inline">my_table</code>:</p><pre><code·class="text">my_table(get_next,·[2,·1],·[3,·5])</code></pre><p>The·function·should·now·return:</p><pre><code·class="text">[{[4,·1,·1],·b},·endOfTable]</code></pre><p>This·is·illustrated·in·the·following·table:</p><p><a·href=""·id="getnext3"></a></p><p><img·src="assets/getnext3.gif"·alt="GetNext·from·[3,2,1]·and·[5,2,1]."·title="GetNext·from·[3,2,1]·and·[5,2,1]."/></p><p>The·manager·now·issues·the·following·<code·class="inline">getNext</code>·request:</p><pre><code·class="text">getNext{·myTable.myTableEntry.3.1.2,
217 ·········myTable.myTableEntry.4.1.2·}</code></pre><p>This·will·be·transform·into·one·call·to·<code·class="inline">my_table</code>:</p><pre><code·class="text">my_table(get_next,·[1,·2],·[3,·4])</code></pre><p>The·function·should·now·return:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5875328740-1">[</span><span·class="p"·data-group-id="5875328740-2">{</span><span·class="p"·data-group-id="5875328740-3">[</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5875328740-3">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">g</span><span·class="p"·data-group-id="5875328740-2">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5875328740-4">{</span><span·class="p"·data-group-id="5875328740-5">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5875328740-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">c</span><span·class="p"·data-group-id="5875328740-4">}</span><span·class="p"·data-group-id="5875328740-1">]</span></code></pre><p>This·is·illustrated·in·the·following·table:</p><p><a·href=""·id="getnext4"></a></p><p><img·src="assets/getnext4.gif"·alt="GetNext·from·[3,1,2]·and·[4,1,2]."·title="GetNext·from·[3,1,2]·and·[4,1,2]."/></p><p>The·manager·now·issues·the·following·<code·class="inline">getNext</code>·request:</p><pre><code·class="text">getNext{·myTable.myTableEntry, 
218 ·········myTable.myTableEntry.1.3.2·}</code></pre><p>This·will·be·transform·into·two·calls·to·<code·class="inline">my_table</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_table</span><span·class="p"·data-group-id="4683234694-1">(</span><span·class="ss">get_next</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4683234694-2">[</span><span·class="p"·data-group-id="4683234694-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4683234694-3">[</span><span·class="mi">0</span><span·class="p"·data-group-id="4683234694-3">]</span><span·class="p"·data-group-id="4683234694-1">)</span><span·class="w">·</span><span·class="ow">and</span><span·class="w"> 
219 </span><span·class="nf">my_table</span><span·class="p"·data-group-id="4683234694-4">(</span><span·class="ss">get_next</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4683234694-5">[</span><span·class="mi">3</span><span·[·...·truncated·by·diffoscope;·len:·447,·SHA:·fa66b3f0dad8805e2302b38101b3eef0b5781654af1d466ceced5381562e4947·...·]217 ·········myTable.myTableEntry.4.1.2·}</code></pre><p>This·will·be·transform·into·one·call·to·<code·class="inline">my_table</code>:</p><pre><code·class="text">my_table(get_next,·[1,·2],·[3,·4])</code></pre><p>The·function·should·now·return:</p><pre><code·cl[·...·truncated·by·diffoscope;·len:·1463,·SHA:·0af5d3181addded1b1b19028b88094d112611e06ff6dcd10213e944839b93ba4·...·]
 218 ·········myTable.myTableEntry.1.3.2·}</code></pre><p>This·will·be·transform·into·two·calls·to·<code·class="inline">my_table</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_table</span><span·class="p"·data-group-id="8841451587-1">(</span><span·class="ss">get_next</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8841451587-2">[</span><span·class="p"·data-group-id="8841451587-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8841451587-3">[</span><span·class="mi">0</span><span·class="p"·data-group-id="8841451587-3">]</span><span·class="p"·data-group-id="8841451587-1">)</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">
 219 </span><span·class="nf">my_table</span><span·class="p"·data-group-id="8841451587-4">(</span><span·class="ss">get_next</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8841451587-5">[</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="8841451587-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8841451587-6">[</span><span·class="mi">1</span><span·class="p"·data-group-id="8841451587-6">]</span><span·class="p"·data-group-id="8841451587-4">)</span></code></pre><p>The·function·should·now·return:</p><pre><code·class="text">[{[3,·1,·1],·a}]·and
220 [{[3,·1,·1],·a}]</code></pre><p>In·both·cases,·the·first·accessible·element·in·the·table·should·be·returned.·As220 [{[3,·1,·1],·a}]</code></pre><p>In·both·cases,·the·first·accessible·element·in·the·table·should·be·returned.·As
221 the·key·columns·are·not·accessible,·this·means·that·the·third·column·is·the221 the·key·columns·are·not·accessible,·this·means·that·the·third·column·is·the
222 first·row.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Normally,·the·functions·described·above·behave·exactly·as·shown,·but·they·are222 first·row.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Normally,·the·functions·described·above·behave·exactly·as·shown,·but·they·are
223 free·to·perform·other·actions.·For·example,·a·get-request·may·have·side223 free·to·perform·other·actions.·For·example,·a·get-request·may·have·side
224 effects·such·as·setting·some·other·variable,·perhaps·a·global·<code·class="inline">lastAccessed</code>224 effects·such·as·setting·some·other·variable,·perhaps·a·global·<code·class="inline">lastAccessed</code>
225 variable.</p></section><h2·id="using-the-extraargument"·class="section-heading">225 variable.</p></section><h2·id="using-the-extraargument"·class="section-heading">
226 ··<a·href="#using-the-extraargument"·class="hover-link">226 ··<a·href="#using-the-extraargument"·class="hover-link">
Offset 229, 25 lines modifiedOffset 229, 25 lines modified
229 ··<span·class="text">Using·the·ExtraArgument</span>229 ··<span·class="text">Using·the·ExtraArgument</span>
230 </h2>230 </h2>
231 <p>The·<code·class="inline">ListOfExtraArguments</code>·can·be·used·to·write·generic·functions.·This·list·is231 <p>The·<code·class="inline">ListOfExtraArguments</code>·can·be·used·to·write·generic·functions.·This·list·is
232 appended·to·the·standard·arguments·for·each·function.·Consider·two·read-only232 appended·to·the·standard·arguments·for·each·function.·Consider·two·read-only
233 variables·for·a·device,·<code·class="inline">ipAdr</code>·and·<code·class="inline">name</code>·with·object·identifiers·1.1.23.4·and233 variables·for·a·device,·<code·class="inline">ipAdr</code>·and·<code·class="inline">name</code>·with·object·identifiers·1.1.23.4·and
234 1.1.7·respectively.·To·access·these·variables,·one·could·implement·the·two234 1.1.7·respectively.·To·access·these·variables,·one·could·implement·the·two
235 Erlang·functions·<code·class="inline">ip_access</code>·and·<code·class="inline">name_access</code>,·which·will·be·in·the·MIB.·The235 Erlang·functions·<code·class="inline">ip_access</code>·and·<code·class="inline">name_access</code>,·which·will·be·in·the·MIB.·The
236 functions·could·be·specified·in·a·text·file·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1701770706-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1701770706-2">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ip_acc[·...·truncated·by·diffoscope;·len:·258,·SHA:·98fc0195053aa4978c58da99c8430e20d73e377fe5706a2f318402bd7232154f·...·]-1">}</span><span·class="p">.</span><span·class="w">236 functions·could·be·specified·in·a·text·file·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7635913050-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7635913050-2">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ip_acc[·...·truncated·by·diffoscope;·len:·258,·SHA:·bc873e143d18df44ff3404fc238b845f1891c9e91ced2515e55dfb7d1f9bcbe4·...·]-1">}</span><span·class="p">.</span><span·class="w">
237 </span><span·class="c1">%·Or·using·the·oid·syntax·for·&#39;name&#39;</span><span·class="w">237 </span><span·class="c1">%·Or·using·the·oid·syntax·for·&#39;name&#39;</span><span·class="w">
238 </span><span·class="p"·data-group-id="1701770706-4">{</span><span·class="p"·data-group-id="1701770706-5">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="1701770706-5">]</span><span[·...·truncated·by·diffoscope;·len:·460,·SHA:·08f0a376a51f52cfedc1c152b03843122d93ddc1c49504d69cdda3c3e33cd880·...·]-4">}</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">ExtraArgument</code>·parameter·is·the·empty·list.·For·example,·when·the·agent238 </span><span·class="p"·data-group-id="7635913050-4">{</span><span·class="p"·data-group-id="7635913050-5">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="7635913050-5">]</span><span[·...·truncated·by·diffoscope;·len:·460,·SHA:·513aa4c4593446c170f1ed6d1b1b4dcd1228ca0cccfc1d6607a744b6e8a8a727·...·]-4">}</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">ExtraArgument</code>·parameter·is·the·empty·list.·For·example,·when·the·agent
239 receives·a·get-request·for·the·<code·class="inline">ipAdr</code>·variable,·a·call·will·be·made·to239 receives·a·get-request·for·the·<code·class="inline">ipAdr</code>·variable,·a·call·will·be·made·to
240 <code·class="inline">ip_access(get)</code>.·The·value·returned·by·this·function·is·the·answer·to·the240 <code·class="inline">ip_access(get)</code>.·The·value·returned·by·this·function·is·the·answer·to·the
241 get-request.</p><p>If·<code·class="inline">ip_access</code>·and·<code·class="inline">name_access</code>·are·implemented·similarly,·we·could·write·a241 get-request.</p><p>If·<code·class="inline">ip_access</code>·and·<code·class="inline">name_access</code>·are·implemented·similarly,·we·could·write·a
242 <code·class="inline">generic_access</code>·function·using·the·<code·class="inline">ListOfExtraArguments</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7243159316-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7243159316-2">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">generi[·...·truncated·by·diffoscope;·len:·302,·SHA:·97447bc24fac931db492c7fe20282df8e77de186b504aeec6e3291ddec2198f5·...·]-1">}</span><span·class="p">.</span><span·class="w">242 <code·class="inline">generic_access</code>·function·using·the·<code·class="inline">ListOfExtraArguments</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0889024804-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0889024804-2">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">generi[·...·truncated·by·diffoscope;·len:·302,·SHA:·0339ae45d360ab8a678e5a6d3e93ad28614ef735457f38be1e4e19139ddef1d8·...·]-1">}</span><span·class="p">.</span><span·class="w">
243 </span><span·class="c1">%·The·mnemonic·&#39;name&#39;·is·more·convenient·than·1.1.7</span><span·class="w">243 </span><span·class="c1">%·The·mnemonic·&#39;name&#39;·is·more·convenient·than·1.1.7</span><span·class="w">
244 </span><span·class="p"·data-group-id="7243159316-4">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7243159316-5">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">generic_access</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7243159316-6">[</span><span·class="ss">&#39;NAME&#39;</span><span·class="p"·data-group-id="7243159316-6">]</span><span·class="p"·data-group-id="7243159316-5">}</span><span·class="p"·data-group-id="7243159316-4">}</span><span·class="p">.</span></code></pre><p>When·the·agent·receives·the·same·get-request·as·above,·a·call·will·be·made·to 
245 <code·class="inline">generic_access(get,</code>'<code·class="inline">IPADR')</code>.</p><p>Yet·another·possibility,·closer·to·the·hardware,·could·be:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7896723374-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7896723374-2">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">generic_access</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7896723374-3">[</span><span·class="mi">16#2543</span><span·class="p"·data-group-id="7896723374-3">]</span><span·class="p"·data-group-id="7896723374-2">}</span><span·class="p"·data-group-id="7896723374-1">}</span><span·class="p">.</span><span·class="w"> 
246 </span><span·class="p"·data-group-id="7896723374-4">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7896723374-5">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">generic[·...·truncated·by·diffoscope;·len:·399,·SHA:·f65c683aefa98026a2e0c862e6ae3f0b6a4b9de8c2c1fee2f59dca8a32e0b973·...·]244 </span><span·class="p"·data-group-id="0889024804-4">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0889024804-5">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">generic[·...·truncated·by·diffoscope;·len:·429,·SHA:·408912e53de156c7fd8c3ded0e0487215aa55426a03a7dadcda7d555a712099d·...·]
 245 <code·class="inline">generic_access(get,</code>'<code·class="inline">IPADR')</code>.</p><p>Yet·another·possibility,·closer·to·the·hardware,·could·be:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8282819701-1">{</span><span·class="ss">ipAdr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8282819701-2">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">generic_access</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8282819701-3">[</span><span·class="mi">16#2543</span><span·class="p"·data-group-id="8282819701-3">]</span><span·class="p"·data-group-id="8282819701-2">}</span><span·class="p"·data-group-id="8282819701-1">}</span><span·class="p">.</span><span·class="w">
 246 </span><span·class="p"·data-group-id="8282819701-4">{</span><span·class="ss">name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8282819701-5">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">generic_access</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8282819701-6">[</span><span·class="mi">16#A2B3</span><span·class="p"·data-group-id="8282819701-6">]</span><span·class="p"·data-group-id="8282819701-5">}</span><span·class="p"·data-group-id="8282819701-4">}</span><span·class="p">.</span></code></pre><h2·id="default-instrumentation"·class="section-heading">
247 ··<a·href="#default-instrumentation"·class="hover-link">247 ··<a·href="#default-instrumentation"·class="hover-link">
248 ····<i·class="ri-link-m"·aria-hidden="true"></i>248 ····<i·class="ri-link-m"·aria-hidden="true"></i>
249 ··</a>249 ··</a>
250 ··<span·class="text">Default·Instrumentation</span>250 ··<span·class="text">Default·Instrumentation</span>
251 </h2>251 </h2>
252 <p><a·href=""·id="snmp_3"></a></p><p>When·the·MIB·definition·work·is·finished,·there·are·two·major·issues·left.</p><ul><li>Implementing·the·MIB</li><li>Implementing·a·Manager·Application.</li></ul><p>Implementing·an·MIB·can·be·a·tedious·task.·Most·probably,·there·is·a·need·to252 <p><a·href=""·id="snmp_3"></a></p><p>When·the·MIB·definition·work·is·finished,·there·are·two·major·issues·left.</p><ul><li>Implementing·the·MIB</li><li>Implementing·a·Manager·Application.</li></ul><p>Implementing·an·MIB·can·be·a·tedious·task.·Most·probably,·there·is·a·need·to
253 test·the·agent·before·all·tables·and·variables·are·implemented.·In·this·case,253 test·the·agent·before·all·tables·and·variables·are·implemented.·In·this·case,
Offset 345, 15 lines modifiedOffset 345, 15 lines modified
345 ······<p·class="built-using">345 ······<p·class="built-using">
346 ········Built·using346 ········Built·using
347 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the347 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
348 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>348 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
349 ······</p>349 ······</p>
350 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>350 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
351 ····</footer>351 ····</footer>
352 ··</div>352 ··</div>
353 </main>353 </main>
354 </div>354 </div>
355 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>355 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
356 ··<script>356 ··<script>
357 ··let·initialized·=·false;357 ··let·initialized·=·false;
841 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_intro.html
    
Offset 253, 15 lines modifiedOffset 253, 15 lines modified
253 ······<p·class="built-using">253 ······<p·class="built-using">
254 ········Built·using254 ········Built·using
255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the255 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>256 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
257 ······</p>257 ······</p>
258 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>258 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
259 ····</footer>259 ····</footer>
260 ··</div>260 ··</div>
261 </main>261 </main>
262 </div>262 </div>
263 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>263 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
264 ··<script>264 ··<script>
265 ··let·initialized·=·false;265 ··let·initialized·=·false;
725 B
html2text {}
Max HTML report size reached
37.6 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_manager_config_files.html
    
Offset 145, 46 lines modifiedOffset 145, 46 lines modified
145 and·<code·class="inline">IpPort</code>·is·an·integer.</p><p>When·<code·class="inline">Addr</code>·does·not·contain·a·port·number,·the·value·of·<code·class="inline">port</code>·is·used.</p><p>When·a·<code·class="inline">Addr</code>·is·not·specified·i.e·by·using·only·a·<code·class="inline">Domain</code>·atom,·the145 and·<code·class="inline">IpPort</code>·is·an·integer.</p><p>When·<code·class="inline">Addr</code>·does·not·contain·a·port·number,·the·value·of·<code·class="inline">port</code>·is·used.</p><p>When·a·<code·class="inline">Addr</code>·is·not·specified·i.e·by·using·only·a·<code·class="inline">Domain</code>·atom,·the
146 host's·name·is·resolved·to·find·the·IP·address,·and·the·value·of·<code·class="inline">port</code>·is146 host's·name·is·resolved·to·find·the·IP·address,·and·the·value·of·<code·class="inline">port</code>·is
147 used.</p></li></ul></li><li><p><code·class="inline">port</code>·-·which·defines·which·UDP·port·the·manager·uses·for·communicating147 used.</p></li></ul></li><li><p><code·class="inline">port</code>·-·which·defines·which·UDP·port·the·manager·uses·for·communicating
148 with·agents.·<em>Mandatory</em>·if·<code·class="inline">transports</code>·does·not·define·a·port·number·for148 with·agents.·<em>Mandatory</em>·if·<code·class="inline">transports</code>·does·not·define·a·port·number·for
149 every·transport.</p></li><li><p><code·class="inline">engine_id</code>·-·The·<code·class="inline">SnmpEngineID</code>·as·defined·in·SNMP-FRAMEWORK-MIB.149 every·transport.</p></li><li><p><code·class="inline">engine_id</code>·-·The·<code·class="inline">SnmpEngineID</code>·as·defined·in·SNMP-FRAMEWORK-MIB.
150 <em>Mandatory</em>.</p></li><li><p><code·class="inline">max_message_size</code>·-·The·<code·class="inline">snmpEngineMaxMessageSize</code>·as·defined·in150 <em>Mandatory</em>.</p></li><li><p><code·class="inline">max_message_size</code>·-·The·<code·class="inline">snmpEngineMaxMessageSize</code>·as·defined·in
151 SNMP-FRAMEWORK-MIB.·<em>Mandatory</em>.</p></li></ul></li><li><p><code·class="inline">Value</code>·is·the·value·for·the·variable.</p></li></ul><p>The·legacy·and·intermediate·variables·<code·class="inline">address</code>·and·<code·class="inline">domain</code>·are·still·supported151 SNMP-FRAMEWORK-MIB.·<em>Mandatory</em>.</p></li></ul></li><li><p><code·class="inline">Value</code>·is·the·value·for·the·variable.</p></li></ul><p>The·legacy·and·intermediate·variables·<code·class="inline">address</code>·and·<code·class="inline">domain</code>·are·still·supported
152 so·old·configurations·will·work.</p><p>The·following·example·shows·a·<code·class="inline">manager.conf</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6645365235-1">{</span><span·class="ss">transports</span><span·class="p">,</span><span·class="w">·······</span><span·class="p"·data-group-id="6645365235-2">[</span><span·class="p"·data-group-id="6645365235-3">{</span><span·class="ss">transportDomainUdpIpv4</[·...·truncated·by·diffoscope;·len:·560,·SHA:·6aac1f136d6d9b2800b07b23844dd89f6cf43042f2a29ac9d670836289d7b0ae·...·]-3">}</span><span·class="p">,</span><span·class="w">152 so·old·configurations·will·work.</p><p>The·following·example·shows·a·<code·class="inline">manager.conf</code>·file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6377808586-1">{</span><span·class="ss">transports</span><span·class="p">,</span><span·class="w">·······</span><span·class="p"·data-group-id="6377808586-2">[</span><span·class="p"·data-group-id="6377808586-3">{</span><span·class="ss">transportDomainUdpIpv4</[·...·truncated·by·diffoscope;·len:·560,·SHA:·94274b10358afae69c03459bfec89ea7ef55f6986fc1098d8cfe96ce99e35c2b·...·]-3">}</span><span·class="p">,</span><span·class="w">
153 ····················</span><span·class="p"·data-group-id="6645365235-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6645365235-7">{</span><span·class="p"·data-group-id="6645365235-8">{</span><span·class="mi">0</span><span·clas[·...·truncated·by·diffoscope;·len:·662,·SHA:·11aa1ebfc0a242d5b75d599cb5631fb081cf37329cb4ced54f0e6afb2684a727·...·]-1">}</span><span·class="p">.</span><span·class="w">153 ····················</span><span·class="p"·data-group-id="6377808586-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6377808586-7">{</span><span·class="p"·data-group-id="6377808586-8">{</span><span·class="mi">0</span><span·clas[·...·truncated·by·diffoscope;·len:·662,·SHA:·77b4a34a92cf475ea71d14c3eca44e4f41cbd454ec861b1b6c1a34610f13cc9b·...·]-1">}</span><span·class="p">.</span><span·class="w">
154 </span><span·class="p"·data-group-id="6645365235-9">{</span><span·class="ss">engine_id</span><span·class="p">,</span><span·class="w">········</span><span·class="s">&quot;mgrEngine&quot;</span><span·class="p"·data-group-id="6645365235-9">}</span><span·class="p">.</span><span·class="w">154 </span><span·class="p"·data-group-id="6377808586-9">{</span><span·class="ss">engine_id</span><span·class="p">,</span><span·class="w">········</span><span·class="s">&quot;mgrEngine&quot;</span><span·class="p"·data-group-id="6377808586-9">}</span><span·class="p">.</span><span·class="w">
155 </span><span·class="p"·data-group-id="6645365235-10">{</span><span·class="ss">max_message_size</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">484</span><span·class="p"·data-group-id="6645365235-10">}</span><span·class="p">.</span></code></pre><p>The·value·of·<code·class="inline">engine_id</code>·is·a·string,·which·should·have·a·very·specific155 </span><span·class="p"·data-group-id="6377808586-10">{</span><span·class="ss">max_message_size</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">484</span><span·class="p"·data-group-id="6377808586-10">}</span><span·class="p">.</span></code></pre><p>The·value·of·<code·class="inline">engine_id</code>·is·a·string,·which·should·have·a·very·specific
156 structure.·See·RFC·2271/2571·for·details.</p><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ManagerDir</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">156 structure.·See·RFC·2271/2571·for·details.</p><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ManagerDir</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">
157 </span><span·class="n">Port</span><span·class="w">··········</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5000</span><span·class="p">,</span><span·class="w">157 </span><span·class="n">Port</span><span·class="w">··········</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">5000</span><span·class="p">,</span><span·class="w">
158 </span><span·class="n">Addr4</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1687018581-1">{</span><span·class="mi">141</span><span·class="p">,</span><span·class="mi">213</span><span·class="p">,</span><span·class="mi">11</span><span·class="p">,</span><span·class="mi">24</span><span·class="p"·data-group-id="1687018581-1">}</span><span·class="p">,</span><span·class="w">158 </span><span·class="n">Addr4</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8810951998-1">{</span><span·class="mi">141</span><span·class="p">,</span><span·class="mi">213</span><span·class="p">,</span><span·class="mi">11</span><span·class="p">,</span><span·class="mi">24</span><span·class="p"·data-group-id="8810951998-1">}</span><span·class="p">,</span><span·class="w">
159 </span><span·class="n">Addr6</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1687018581-2">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·175,·SHA:·091a603338440d534afeda7b36b6f0fec236f8b9511c31ef1ba6656ce30b5dff·...·]-2">}</span><span·class="p">,</span><span·class="w">159 </span><span·class="n">Addr6</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8810951998-2">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="[·...·truncated·by·diffoscope;·len:·175,·SHA:·9714a251d9a00be1d74c202ad3abde03abdc705534deae1129c9f7e46a08f3e7·...·]-2">}</span><span·class="p">,</span><span·class="w">
160 </span><span·class="n">Transports</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1687018581-3">[</span><span·class="p"·data-group-id="1687018581-4">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1687018581-5">{</span><span·class="n">Addr4</span><span·[·...·truncated·by·diffoscope;·len:·163,·SHA:·2059b9ed2a07b485181b0ac5c860c42331c89198b0ecaefc754caf6a4fa7752e·...·]-4">}</span><span·class="p">,</span><span·class="w">160 </span><span·class="n">Transports</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8810951998-3">[</span><span·class="p"·data-group-id="8810951998-4">{</span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8810951998-5">{</span><span·class="n">Addr4</span><span·[·...·truncated·by·diffoscope;·len:·163,·SHA:·c3601771cbf903751a16a6b837462f93d1a9cf27e1e3583f6a2cf1951a45d4ca·...·]-4">}</span><span·class="p">,</span><span·class="w">
161 ·················</span><span·class="p"·data-group-id="1687018581-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1687018581-7">{</span><span·class="n">Addr6</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·163,·SHA:·d61ba7f1db2c34aa23d28785730a41e1ae05e41e9e817fda9cc2b4ea6fc46875·...·]-3">]</span><span·class="p">,</span><span·class="w">161 ·················</span><span·class="p"·data-group-id="8810951998-6">{</span><span·class="ss">transportDomainUdpIpv6</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8810951998-7">{</span><span·class="n">Addr6</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·163,·SHA:·2ddda94e9ea5c73e219ecb2711251ad31e9b9dd606cc8150252b2bf57a670654·...·]-3">]</span><span·class="p">,</span><span·class="w">
162 </span><span·class="n">EngineID</span><span·class="w">······</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;mgrEngine&quot;</span><span·class="p">,</span><span·class="w">162 </span><span·class="n">EngineID</span><span·class="w">······</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;mgrEngine&quot;</span><span·class="p">,</span><span·class="w">
163 </span><span·class="n">MMS</span><span·class="w">···········</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">484</span><span·class="p">,</span><span·class="w">163 </span><span·class="n">MMS</span><span·class="w">···········</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">484</span><span·class="p">,</span><span·class="w">
164 </span><span·class="n">ManagerConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1687018581-8">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">manager_entry</span><span·class="p"·data-group-id="1687018581-9">(</span><span·class="ss">transports</span><span·class="p">,</span><span·class="w">·······</spa[·...·truncated·by·diffoscope;·len:·76,·SHA:·5829647dd5c9cd0faa8e706cf8b97cf4cc3bd130cb1a9b3990ce663ca80c4129·...·]-9">)</span><span·class="p">,</span><span·class="w">164 </span><span·class="n">ManagerConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8810951998-8">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">manager_entry</span><span·class="p"·data-group-id="8810951998-9">(</span><span·class="ss">transports</span><span·class="p">,</span><span·class="w">·······</spa[·...·truncated·by·diffoscope;·len:·76,·SHA:·f5d765fca719f9e2837dc5b3cadb05dc02c8ddc746dab5f26e8f801c5f1c6efd·...·]-9">)</span><span·class="p">,</span><span·class="w">
165 ·················</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">manager_entry</span><span·class="p"·data-group-id="1687018581-10">(</span><span·class="ss">engine_id</span><span·class="p">,</span><span·class="w">········</span><span·class="n">EngineID</span><span·class="p"·data-group-id="1687018581-10">)</span><span·class="p">,</span><span·class="w">165 ·················</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">manager_entry</span><span·class="p"·data-group-id="8810951998-10">(</span><span·class="ss">engine_id</span><span·class="p">,</span><span·class="w">········</span><span·class="n">EngineID</span><span·class="p"·data-group-id="8810951998-10">)</span><span·class="p">,</span><span·class="w">
166 ·················</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">manager_entry</span><span·class="p"·data-group-id="1687018581-11">(</span><span·class="ss">max_message_size</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MMS</span><span·class="p"·data-group-id="1687018581-11">)</span><span·class="p"·data-group-id="1687018581-8">]</span><span·class="p">,</span><span·class="w">166 ·················</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">manager_entry</span><span·class="p"·data-group-id="8810951998-11">(</span><span·class="ss">max_message_size</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MMS</span><span·class="p"·data-group-id="8810951998-11">)</span><span·class="p"·data-group-id="8810951998-8">]</span><span·class="p">,</span><span·class="w">
167 </span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">write_manager_config</span><span·class="p"·data-group-id="1687018581-12">(</span><span·class="n">ManagerDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ManagerConfig</span><span·class="p"·data-group-id="1687018581-12">)</span><span·class="p">,</span></code></pre><h2·id="users"·class="section-heading">167 </span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">write_manager_config</span><span·class="p"·data-group-id="8810951998-12">(</span><span·class="n">ManagerDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ManagerConfig</span><span·class="p"·data-group-id="8810951998-12">)</span><span·class="p">,</span></code></pre><h2·id="users"·class="section-heading">
168 ··<a·href="#users"·class="hover-link">168 ··<a·href="#users"·class="hover-link">
169 ····<i·class="ri-link-m"·aria-hidden="true"></i>169 ····<i·class="ri-link-m"·aria-hidden="true"></i>
170 ··</a>170 ··</a>
171 ··<span·class="text">Users</span>171 ··<span·class="text">Users</span>
172 </h2>172 </h2>
173 <p>For·each·<em>manager·user</em>,·the·manager·needs·some·information.·This·information·is173 <p>For·each·<em>manager·user</em>,·the·manager·needs·some·information.·This·information·is
174 either·added·in·the·<code·class="inline">users.conf</code>·config·file·or·by·calling·the174 either·added·in·the·<code·class="inline">users.conf</code>·config·file·or·by·calling·the
175 <a·href="snmpm.html#register_user/4">register_user</a>·function·in·run-time.</p><p>Each·row·defines·a·<em>manager·user</em>·of·the·manager.</p><p>Each·entry·is·a·tuple·of·size·four:</p><p><code·class="inline">{UserId,·UserMod,·UserData,·DefaultAgentConfig}.</code></p><ul><li><code·class="inline">UserId</code>·is·any·term·(used·to·uniquely·identify·the·user).</li><li><code·class="inline">UserMod</code>·is·the·user·callback·module·(atom).</li><li><code·class="inline">UserData</code>·is·any·term·(passed·on·to·the·user·when·calling·the·<code·class="inline">UserMod</code>.</li><li><code·class="inline">DefaultAgentConfig</code>·is·a·list·of·default·agent·config's.·These·values·are175 <a·href="snmpm.html#register_user/4">register_user</a>·function·in·run-time.</p><p>Each·row·defines·a·<em>manager·user</em>·of·the·manager.</p><p>Each·entry·is·a·tuple·of·size·four:</p><p><code·class="inline">{UserId,·UserMod,·UserData,·DefaultAgentConfig}.</code></p><ul><li><code·class="inline">UserId</code>·is·any·term·(used·to·uniquely·identify·the·user).</li><li><code·class="inline">UserMod</code>·is·the·user·callback·module·(atom).</li><li><code·class="inline">UserData</code>·is·any·term·(passed·on·to·the·user·when·calling·the·<code·class="inline">UserMod</code>.</li><li><code·class="inline">DefaultAgentConfig</code>·is·a·list·of·default·agent·config's.·These·values·are
176 used·as·default·values·when·this·user·registers·agents.</li></ul><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ManagerDir</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">176 used·as·default·values·when·this·user·registers·agents.</li></ul><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ManagerDir</span><span·class="w">·········</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">
177 </span><span·class="n">UserID</span><span·class="w">·············</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·data-group-id="3298501885-1">(</span><span·class="p"·data-group-id="3298501885-1">)</span><span·class="p">,</span><span·class="w">177 </span><span·class="n">UserID</span><span·class="w">·············</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">make_ref</span><span·class="p"·data-group-id="7628099875-1">(</span><span·class="p"·data-group-id="7628099875-1">)</span><span·class="p">,</span><span·class="w">
178 </span><span·class="n">UserMod</span><span·class="w">············</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">my_manager_callback_mod</span><span·class="p">,</span><span·class="w">178 </span><span·class="n">UserMod</span><span·class="w">············</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">my_manager_callback_mod</span><span·class="p">,</span><span·class="w">
179 </span><span·class="n">UserData</span><span·class="w">···········</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="3298501885-2">(</span><span·class="p"·data-group-id="3298501885-2">)</span><span·class="p">,</span><span·class="w">179 </span><span·class="n">UserData</span><span·class="w">···········</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="7628099875-2">(</span><span·class="p"·data-group-id="7628099875-2">)</span><span·class="p">,</span><span·class="w">
180 </span><span·class="n">DefaultAgentConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3298501885-3">[</span><span·class="p"·data-group-id="3298501885-4">{</span><span·class="ss">version</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">v1</span><span·class="p"·data-group-id="3298501885-4">}</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·547,·SHA:·aeac29158443eccd31c6140df8811943fad743381879061b4e0eca4d76812e30·...·]5-3">]</span><span·class="p">,</span><span·class="w">180 </span><span·class="n">DefaultAgentConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7628099875-3">[</span><span·class="p"·data-group-id="7628099875-4">{</span><span·class="ss">version</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">v1</span><span·class="p"·data-group-id="7628099875-4">}</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·547,·SHA:·8876a455bfc555c48065c86c4d2ee3cb529a25e01511184ecdebef7a2971dfb5·...·]5-3">]</span><span·class="p">,</span><span·class="w">
181 </span><span·class="n">UsersConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3298501885-7">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">users_entry</span><span·class="p"·data-group-id="3298501885-8">(</span><span·class="n">UserID</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserMod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserData</span><span·class="p">,</span><span·class="w">181 </span><span·class="n">UsersConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7628099875-7">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">users_entry</span><span·class="p"·data-group-id="7628099875-8">(</span><span·class="n">UserID</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserMod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserData</span><span·class="p">,</span><span·class="w">
182 ······································</span><span·class="n">DefaultAgentConfig</span><span·class="p"·data-group-id="3298501885-8">)</span><span·class="p"·data-group-id="3298501885-7">]</span><span·class="p">,</span><span·class="w">182 ······································</span><span·class="n">DefaultAgentConfig</span><span·class="p"·data-group-id="7628099875-8">)</span><span·class="p"·data-group-id="7628099875-7">]</span><span·class="p">,</span><span·class="w">
183 </span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">write_users_config</span><span·class="p"·data-group-id="3298501885-9">(</span><span·class="n">ManagerDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UsersConfig</span><span·class="p"·data-group-id="3298501885-9">)</span><span·class="p">,</span></code></pre><h2·id="agents"·class="section-heading">183 </span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">write_users_config</span><span·class="p"·data-group-id="7628099875-9">(</span><span·class="n">ManagerDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UsersConfig</span><span·class="p"·data-group-id="7628099875-9">)</span><span·class="p">,</span></code></pre><h2·id="agents"·class="section-heading">
184 ··<a·href="#agents"·class="hover-link">184 ··<a·href="#agents"·class="hover-link">
185 ····<i·class="ri-link-m"·aria-hidden="true"></i>185 ····<i·class="ri-link-m"·aria-hidden="true"></i>
186 ··</a>186 ··</a>
187 ··<span·class="text">Agents</span>187 ··<span·class="text">Agents</span>
188 </h2>188 </h2>
189 <p>The·information·needed·to·handle·agents·should·be·stored·in·a·file·called189 <p>The·information·needed·to·handle·agents·should·be·stored·in·a·file·called
190 <code·class="inline">agents.conf</code>.·It·is·also·possible·to·add·agents·in·run-time·by·calling·the190 <code·class="inline">agents.conf</code>.·It·is·also·possible·to·add·agents·in·run-time·by·calling·the
Offset 194, 31 lines modifiedOffset 194, 31 lines modified
194 tuple·or·a·traditional·SNMP·integer·list·containing·port·number.·<code·class="inline">IpAddr</code>·is194 tuple·or·a·traditional·SNMP·integer·list·containing·port·number.·<code·class="inline">IpAddr</code>·is
195 either·a·regular·Erlang/OTP·<a·href="../../../../lib/kernel-10.3/doc/html/inet.html#t:ip_address/0"><code·class="inline">ip_address()</code></a>·or·a195 either·a·regular·Erlang/OTP·<a·href="../../../../lib/kernel-10.3/doc/html/inet.html#t:ip_address/0"><code·class="inline">ip_address()</code></a>·or·a
196 traditional·SNMP·integer·list·not·containing·port·number,·and·<code·class="inline">IpPort</code>·is·an196 traditional·SNMP·integer·list·not·containing·port·number,·and·<code·class="inline">IpPort</code>·is·an
197 integer.</li><li><code·class="inline">EngineID</code>·is·the·engine-id·of·the·agent·(string).</li><li><p><code·class="inline">Timeout</code>·is·re-transmission·timeout·(<code·class="inline">infinity</code>·|·integer).</p></li><li><code·class="inline">MaxMessageSize</code>·is·the·max·message·size·for·outgoing·messages·to·this·agent197 integer.</li><li><code·class="inline">EngineID</code>·is·the·engine-id·of·the·agent·(string).</li><li><p><code·class="inline">Timeout</code>·is·re-transmission·timeout·(<code·class="inline">infinity</code>·|·integer).</p></li><li><code·class="inline">MaxMessageSize</code>·is·the·max·message·size·for·outgoing·messages·to·this·agent
198 (integer).</li><li><p><code·class="inline">Version</code>·is·the·version·(v1·|·v2·|·v3).</p></li><li><p><code·class="inline">SecModel</code>·is·the·security·model·(any·|·v1·|·v2c·|·usm).</p></li><li><code·class="inline">SecName</code>·is·the·security·name·(string).</li><li><p><code·class="inline">SecLevel</code>·is·security·level·(noAuthNoPriv·|·authNoPriv·|·authPriv).</p></li></ul><p>Legacy·configurations·using·tuples·without·<code·class="inline">Domain</code>·element,·as·well·as·with·all198 (integer).</li><li><p><code·class="inline">Version</code>·is·the·version·(v1·|·v2·|·v3).</p></li><li><p><code·class="inline">SecModel</code>·is·the·security·model·(any·|·v1·|·v2c·|·usm).</p></li><li><code·class="inline">SecName</code>·is·the·security·name·(string).</li><li><p><code·class="inline">SecLevel</code>·is·security·level·(noAuthNoPriv·|·authNoPriv·|·authPriv).</p></li></ul><p>Legacy·configurations·using·tuples·without·<code·class="inline">Domain</code>·element,·as·well·as·with·all
199 <code·class="inline">TDomain</code>,·<code·class="inline">Ip</code>·and·<code·class="inline">Port</code>·elements·still·work.</p><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ManagerDir</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">199 <code·class="inline">TDomain</code>,·<code·class="inline">Ip</code>·and·<code·class="inline">Port</code>·elements·still·work.</p><p>And·this·is·a·code·(snippet)·example·of·how·to·generate·this·file·in·runtime:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ManagerDir</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">
200 </span><span·class="n">UserID</span><span·class="w">·······</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">200 </span><span·class="n">UserID</span><span·class="w">·······</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
201 </span><span·class="n">AgentsConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5439793959-1">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">agents_entry</span><span·class="p"·data-group-id="5439793959-2">(</span><span·class="n">UserID</span><span·class="p">,</span><span·class="w">201 </span><span·class="n">AgentsConfig</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3684472341-1">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">agents_entry</span><span·class="p"·data-group-id="3684472341-2">(</span><span·class="n">UserID</span><span·class="p">,</span><span·class="w">
202 ········································</span><span·class="s">&quot;target·1&quot;</span><span·class="p">,</span><span·class="w">202 ········································</span><span·class="s">&quot;target·1&quot;</span><span·class="p">,</span><span·class="w">
203 »       »       »       »       »       </span><span·class="s">&quot;FOOBAR&quot;</span><span·class="p">,</span><span·class="w">203 »       »       »       »       »       </span><span·class="s">&quot;FOOBAR&quot;</span><span·class="p">,</span><span·class="w">
204 »       »       »       »       »       </span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5439793959-3">{</span><span·class="p"·data-group-id="5439793959-4">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·136,·SHA:·a83a8d94aa5af0ff0e01f1d21c846ecb5db2c10735c8e46073027d4d13aecaea·...·]-3">}</span><span·class="p">,</span><span·class="w">204 »       »       »       »       »       </span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3684472341-3">{</span><span·class="p"·data-group-id="3684472341-4">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·136,·SHA:·ca25031c7cee92c3593267bd28e28341f4db59f4835efdfafa0f514b852e969e·...·]-3">}</span><span·class="p">,</span><span·class="w">
205 »       »       »       »       »       </span><span·class="s">&quot;agent·Engine·1&quot;</span><span·class="w">205 »       »       »       »       »       </span><span·class="s">&quot;agent·Engine·1&quot;</span><span·class="w">
206 »       »       »       »       »       </span><span·class="mi">1500</span><span·class="p">,</span><span·class="w">206 »       »       »       »       »       </span><span·class="mi">1500</span><span·class="p">,</span><span·class="w">
207 »       »       »       »       »       </span><span·class="mi">484</span><span·class="p">.</span><span·class="w">207 »       »       »       »       »       </span><span·class="mi">484</span><span·class="p">.</span><span·class="w">
208 »       »       »       »       »       </span><span·class="ss">v1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">v1</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;sec·name·1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">noAuthNoPriv</span><span·class="p"·data-group-id="5439793959-2">)</span><span·class="p">,</span><span·class="w">208 »       »       »       »       »       </span><span·class="ss">v1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">v1</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;sec·name·1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">noAuthNoPriv</span><span·class="p"·data-group-id="3684472341-2">)</span><span·class="p">,</span><span·class="w">
209 »       »       </span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">agents_entry</span><span·class="p"·data-group-id="5439793959-5">(</span><span·class="n">UserID</span><span·class="p">,</span><span·class="w">209 »       »       </span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">agents_entry</span><span·class="p"·data-group-id="3684472341-5">(</span><span·class="n">UserID</span><span·class="p">,</span><span·class="w">
210 ········································</span><span·class="s">&quot;target·2&quot;</span><span·class="p">,</span><span·class="w">210 ········································</span><span·class="s">&quot;target·2&quot;</span><span·class="p">,</span><span·class="w">
211 »       »       »       »       »       </span><span·class="s">&quot;FOOBAR&quot;</span><span·class="p">,</span><span·class="w">211 »       »       »       »       »       </span><span·class="s">&quot;FOOBAR&quot;</span><span·class="p">,</span><span·class="w">
212 »       »       »       »       »       </span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5439793959-6">{</span><span·class="p"·data-group-id="5439793959-7">{</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">8</span><span·cla[·...·truncated·by·diffoscope;·len:·136,·SHA:·512fe4cca1ab208a49815b612f2ccc30906b8fdbb812eb49ba3273250132dbc2·...·]-6">}</span><span·class="p">,</span><span·class="w">212 »       »       »       »       »       </span><span·class="ss">transportDomainUdpIpv4</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3684472341-6">{</span><span·class="p"·data-group-id="3684472341-7">{</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">8</span><span·cla[·...·truncated·by·diffoscope;·len:·136,·SHA:·809c1c522431d58b4f7472c45e13cdda07eee7b54d28c32aa62c0fd00120e331·...·]-6">}</span><span·class="p">,</span><span·class="w">
213 »       »       »       »       »       </span><span·class="s">&quot;agent·Engine·2&quot;</span><span·class="w">213 »       »       »       »       »       </span><span·class="s">&quot;agent·Engine·2&quot;</span><span·class="w">
214 »       »       »       »       »       </span><span·class="mi">1500</span><span·class="p">,</span><span·class="w">214 »       »       »       »       »       </span><span·class="mi">1500</span><span·class="p">,</span><span·class="w">
215 »       »       »       »       »       </span><span·class="mi">1000</span><span·class="p">.</span><span·class="w">215 »       »       »       »       »       </span><span·class="mi">1000</span><span·class="p">.</span><span·class="w">
216 »       »       »       »       »       </span><span·class="ss">v1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">v1</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;sec·name·2&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">noAuthNoPriv</span><span·class="p"·data-group-id="5439793959-5">)</span><span·class="p"·data-group-id="5439793959-1">]</span><span·class="p">,</span><span·class="w">216 »       »       »       »       »       </span><span·class="ss">v1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">v1</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;sec·name·2&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">noAuthNoPriv</span><span·class="p"·data-group-id="3684472341-5">)</span><span·class="p"·data-group-id="3684472341-1">]</span><span·class="p">,</span><span·class="w">
217 </span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">write_agents_config</span><span·class="p"·data-group-id="5439793959-8">(</span><span·class="n">ManagerDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UsersConfig</span><span·class="p"·data-group-id="5439793959-8">)</span><span·class="p">,</span></code></pre><h2·id="security-data-for-usm"·class="section-heading">217 </span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">write_agents_config</span><span·class="p"·data-group-id="3684472341-8">(</span><span·class="n">ManagerDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UsersConfig</span><span·class="p"·data-group-id="3684472341-8">)</span><span·class="p">,</span></code></pre><h2·id="security-data-for-usm"·class="section-heading">
218 ··<a·href="#security-data-for-usm"·class="hover-link">218 ··<a·href="#security-data-for-usm"·class="hover-link">
219 ····<i·class="ri-link-m"·aria-hidden="true"></i>219 ····<i·class="ri-link-m"·aria-hidden="true"></i>
220 ··</a>220 ··</a>
221 ··<span·class="text">Security·data·for·USM</span>221 ··<span·class="text">Security·data·for·USM</span>
222 </h2>222 </h2>
223 <p>The·information·about·Security·data·for·USM·should·be·stored·in·a·file·called223 <p>The·information·about·Security·data·for·USM·should·be·stored·in·a·file·called
224 <code·class="inline">usm.conf</code>,·which·must·be·present·if·the·manager·wishes·to·use·SNMPv3·when224 <code·class="inline">usm.conf</code>,·which·must·be·present·if·the·manager·wishes·to·use·SNMPv3·when
Offset 229, 21 lines modifiedOffset 229, 21 lines modified
229 <code·class="inline">usmHMAC192SH256AuthProtocol</code>,·<code·class="inline">usmHMAC256SHA384AuthProtocol</code>·or229 <code·class="inline">usmHMAC192SH256AuthProtocol</code>,·<code·class="inline">usmHMAC256SHA384AuthProtocol</code>·or
230 <code·class="inline">usmHMAC384SHA512AuthProtocol</code>.</p></li><li><p><code·class="inline">AuthKey</code>·is·a·list·(of·integer).·This·is·the·User's·secret·localized230 <code·class="inline">usmHMAC384SHA512AuthProtocol</code>.</p></li><li><p><code·class="inline">AuthKey</code>·is·a·list·(of·integer).·This·is·the·User's·secret·localized
231 authentication·key.·It·is·not·visible·in·the·MIB.·The·length·(number·of231 authentication·key.·It·is·not·visible·in·the·MIB.·The·length·(number·of
232 octets)·of·this·key·needs·to·be:</p><ul><li>16·if·<code·class="inline">usmHMACMD5AuthProtocol</code>.</li><li>20·if·<code·class="inline">usmHMACSHAAuthProtocol</code>.</li><li>28·if·<code·class="inline">usmHMAC128SHA224AuthProtocol</code>.</li><li>32·if·<code·class="inline">usmHMAC192SHA256AuthProtocol</code>.</li><li>48·if·<code·class="inline">usmHMAC256SHA384AuthProtocol</code>.</li><li>64·if·<code·class="inline">usmHMAC384SHA512AuthProtocol</code>.</li></ul></li><li><p><code·class="inline">PrivP</code>·is·a·<code·class="inline">usmNoPrivProtocol</code>,·<code·class="inline">usmDESPrivProtocol</code>·or232 octets)·of·this·key·needs·to·be:</p><ul><li>16·if·<code·class="inline">usmHMACMD5AuthProtocol</code>.</li><li>20·if·<code·class="inline">usmHMACSHAAuthProtocol</code>.</li><li>28·if·<code·class="inline">usmHMAC128SHA224AuthProtocol</code>.</li><li>32·if·<code·class="inline">usmHMAC192SHA256AuthProtocol</code>.</li><li>48·if·<code·class="inline">usmHMAC256SHA384AuthProtocol</code>.</li><li>64·if·<code·class="inline">usmHMAC384SHA512AuthProtocol</code>.</li></ul></li><li><p><code·class="inline">PrivP</code>·is·a·<code·class="inline">usmNoPrivProtocol</code>,·<code·class="inline">usmDESPrivProtocol</code>·or
233 <code·class="inline">usmAesCfb128Protocol</code>.</p></li><li><p><code·class="inline">PrivKey</code>·is·a·list·(of·integer).·This·is·the·User's·secret·localized233 <code·class="inline">usmAesCfb128Protocol</code>.</p></li><li><p><code·class="inline">PrivKey</code>·is·a·list·(of·integer).·This·is·the·User's·secret·localized
234 encryption·key.·It·is·not·visible·in·the·MIB.·The·length·of·this·key·needs·to234 encryption·key.·It·is·not·visible·in·the·MIB.·The·length·of·this·key·needs·to
235 be·16·if·<code·class="inline">usmDESPrivProtocol</code>·or·<code·class="inline">usmAesCfb128Protocol</code>·is·used.</p></li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ManagerDir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">235 be·16·if·<code·class="inline">usmDESPrivProtocol</code>·or·<code·class="inline">usmAesCfb128Protocol</code>·is·used.</p></li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ManagerDir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;/tmp&quot;</span><span·class="p">,</span><span·class="w">
236 </span><span·class="n">UsmConfig</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9535214326-1">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">usm_entry</span><span·class="p"·data-group-id="9535214326-2">(</span><span·class="s">&quot;engine&quot;</span><span·class="p">,</span><span·class="w">236 </span><span·class="n">UsmConfig</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8312201177-1">[</span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">usm_entry</span><span·class="p"·data-group-id="8312201177-2">(</span><span·class="s">&quot;engine&quot;</span><span·class="p">,</span><span·class="w">
237 ···································</span><span·class="s">&quot;user·1&quot;</span><span·class="p">,</span><span·class="w">237 ···································</span><span·class="s">&quot;user·1&quot;</span><span·class="p">,</span><span·class="w">
238 »       ···························</span><span·class="ss">usmNoAuthProtocol</span><span·class="p">,</span><span·class="w">238 »       ···························</span><span·class="ss">usmNoAuthProtocol</span><span·class="p">,</span><span·class="w">
239 »       ·»       »       »       ···</span><span·class="p"·data-group-id="9535214326-3">[</span><span·class="p"·data-group-id="9535214326-3">]</span><span·class="p">,</span><span·class="w">239 »       ·»       »       »       ···</span><span·class="p"·data-group-id="8312201177-3">[</span><span·class="p"·data-group-id="8312201177-3">]</span><span·class="p">,</span><span·class="w">
240 »       ·»       »       »       ···</span><span·class="ss">usmNoPrivProtocol</span><span·class="p">,</span><span·class="w">240 »       ·»       »       »       ···</span><span·class="ss">usmNoPrivProtocol</span><span·class="p">,</span><span·class="w">
241 »       ·»       »       »       ···</span><span·class="p"·data-group-id="9535214326-4">[</span><span·class="p"·data-group-id="9535214326-4">]</span><span·class="p"·data-group-id="9535214326-2">)</span><span·class="p"·data-group-id="9535214326-1">]</span><span·class="p">,</span><span·class="w">241 »       ·»       »       »       ···</span><span·class="p"·data-group-id="8312201177-4">[</span><span·class="p"·data-group-id="8312201177-4">]</span><span·class="p"·data-group-id="8312201177-2">)</span><span·class="p"·data-group-id="8312201177-1">]</span><span·class="p">,</span><span·class="w">
242 </span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">write_usm_config</span><span·class="p"·data-group-id="9535214326-5">(</span><span·class="n">ManagerDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UsmConfig</span><span·class="p"·data-group-id="9535214326-5">)</span><span·class="p">,</span></code></pre>242 </span><span·class="nc">snmpm_conf</span><span·class="p">:</span><span·class="nf">write_usm_config</span><span·class="p"·data-group-id="8312201177-5">(</span><span·class="n">ManagerDir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UsmConfig</span><span·class="p"·data-group-id="8312201177-5">)</span><span·class="p">,</span></code></pre>
243 </div>243 </div>
  
244 <div·class="bottom-actions"·id="bottom-actions">244 <div·class="bottom-actions"·id="bottom-actions">
245 ··<div·class="bottom-actions-item">245 ··<div·class="bottom-actions-item">
  
246 ······<a·href="snmp_agent_config_files.html"·class="bottom-actions-button"·rel="prev">246 ······<a·href="snmp_agent_config_files.html"·class="bottom-actions-button"·rel="prev">
247 ········<span·class="subheader">247 ········<span·class="subheader">
Offset 286, 15 lines modifiedOffset 286, 15 lines modified
286 ······<p·class="built-using">286 ······<p·class="built-using">
287 ········Built·using287 ········Built·using
288 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the288 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
289 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>289 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
290 ······</p>290 ······</p>
291 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>291 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
292 ····</footer>292 ····</footer>
293 ··</div>293 ··</div>
294 </main>294 </main>
295 </div>295 </div>
296 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>296 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
297 ··<script>297 ··<script>
298 ··let·initialized·=·false;298 ··let·initialized·=·false;
752 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_manager_funct_descr.html
    
Offset 209, 15 lines modifiedOffset 209, 15 lines modified
209 ······<p·class="built-using">209 ······<p·class="built-using">
210 ········Built·using210 ········Built·using
211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
213 ······</p>213 ······</p>
214 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>214 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
215 ····</footer>215 ····</footer>
216 ··</div>216 ··</div>
217 </main>217 </main>
218 </div>218 </div>
219 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>219 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
220 ··<script>220 ··<script>
221 ··let·initialized·=·false;221 ··let·initialized·=·false;
735 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_manager_netif.html
    
Offset 251, 15 lines modifiedOffset 251, 15 lines modified
251 ······<p·class="built-using">251 ······<p·class="built-using">
252 ········Built·using252 ········Built·using
253 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the253 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
254 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>254 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
255 ······</p>255 ······</p>
256 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>256 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
257 ····</footer>257 ····</footer>
258 ··</div>258 ··</div>
259 </main>259 </main>
260 </div>260 </div>
261 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>261 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
262 ··<script>262 ··<script>
263 ··let·initialized·=·false;263 ··let·initialized·=·false;
756 B
html2text {}
Max HTML report size reached
8.85 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_mib_compiler.html
    
Offset 137, 30 lines modifiedOffset 137, 30 lines modified
137 before·it·will·be·compiled.·This·text·file·must·have·the·same·name·as·the·MIB,137 before·it·will·be·compiled.·This·text·file·must·have·the·same·name·as·the·MIB,
138 but·with·the·suffix·<code·class="inline">.mib</code>.·This·is·necessary·for·handling·the·<code·class="inline">IMPORT</code>138 but·with·the·suffix·<code·class="inline">.mib</code>.·This·is·necessary·for·handling·the·<code·class="inline">IMPORT</code>
139 statement.</p><p>The·association·file,·which·contains·the·names·of·instrumentation·functions·for139 statement.</p><p>The·association·file,·which·contains·the·names·of·instrumentation·functions·for
140 the·MIB,·should·have·the·suffix·<code·class="inline">.funcs</code>.·If·the·compiler·does·not·find·the140 the·MIB,·should·have·the·suffix·<code·class="inline">.funcs</code>.·If·the·compiler·does·not·find·the
141 association·file,·it·gives·a·warning·message·and·uses·default·instrumentation141 association·file,·it·gives·a·warning·message·and·uses·default·instrumentation
142 functions.·(See·<a·href="snmp_instr_functions.html#snmp_3">Default·Instrumentation</a>·for142 functions.·(See·<a·href="snmp_instr_functions.html#snmp_3">Default·Instrumentation</a>·for
143 more·details).</p><p>The·MIB·compiler·is·started·with·a·call·to·<code·class="inline">snmpc:compile(&lt;mibname&gt;).</code>·For143 more·details).</p><p>The·MIB·compiler·is·started·with·a·call·to·<code·class="inline">snmpc:compile(&lt;mibname&gt;).</code>·For
144 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">snmpc</span><span·class="p">:</span><span·class="nf">compile</span><span·class="p"·data-group-id="3256489134-1">(</span><span·class="s">&quot;RFC1213-MIB&quot;</span><span·class="p"·data-group-id="3256489134-1">)</span><span·class="p">.</span></code></pre><p>The·output·is·a·new·file·which·is·called·<code·class="inline">&lt;mibname&gt;.bin</code>.</p><p>The·MIB·compiler·understands·both·SMIv1·and·SMIv2·MIBs.·It·uses·the144 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">snmpc</span><span·class="p">:</span><span·class="nf">compile</span><span·class="p"·data-group-id="0695229115-1">(</span><span·class="s">&quot;RFC1213-MIB&quot;</span><span·class="p"·data-group-id="0695229115-1">)</span><span·class="p">.</span></code></pre><p>The·output·is·a·new·file·which·is·called·<code·class="inline">&lt;mibname&gt;.bin</code>.</p><p>The·MIB·compiler·understands·both·SMIv1·and·SMIv2·MIBs.·It·uses·the
145 MODULE-IDENTITY·statement·to·determinate·if·the·MIB·is·written·in·SMI·version·1145 MODULE-IDENTITY·statement·to·determinate·if·the·MIB·is·written·in·SMI·version·1
146 or·2.</p><h2·id="importing-mibs"·class="section-heading">146 or·2.</p><h2·id="importing-mibs"·class="section-heading">
147 ··<a·href="#importing-mibs"·class="hover-link">147 ··<a·href="#importing-mibs"·class="hover-link">
148 ····<i·class="ri-link-m"·aria-hidden="true"></i>148 ····<i·class="ri-link-m"·aria-hidden="true"></i>
149 ··</a>149 ··</a>
150 ··<span·class="text">Importing·MIBs</span>150 ··<span·class="text">Importing·MIBs</span>
151 </h2>151 </h2>
152 <p>The·compiler·handles·the·<code·class="inline">IMPORT</code>·statement.·It·is·important·to·import·the152 <p>The·compiler·handles·the·<code·class="inline">IMPORT</code>·statement.·It·is·important·to·import·the
153 compiled·file·and·not·the·ASN.1·(source)·file.·A·MIB·must·be·recompiled·to·make153 compiled·file·and·not·the·ASN.1·(source)·file.·A·MIB·must·be·recompiled·to·make
154 changes·visible·to·other·MIBs·importing·it.</p><p>The·compiled·files·of·the·imported·MIBs·must·be·present·in·the·current154 changes·visible·to·other·MIBs·importing·it.</p><p>The·compiled·files·of·the·imported·MIBs·must·be·present·in·the·current
155 directory,·or·a·directory·in·the·current·path.·The·path·is·supplied·with·the155 directory,·or·a·directory·in·the·current·path.·The·path·is·supplied·with·the
156 <code·class="inline">{i,·Path}</code>·option,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">snmpc</span><span·class="p">:</span><span·class="nf">compile</span><span·class="p"·data-group-id="4646128922-1">(</span><span·class="s">&quot;MY-MIB&quot;</span><span·class="p">,</span><span·class="w">156 <code·class="inline">{i,·Path}</code>·option,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">snmpc</span><span·class="p">:</span><span·class="nf">compile</span><span·class="p"·data-group-id="0068839771-1">(</span><span·class="s">&quot;MY-MIB&quot;</span><span·class="p">,</span><span·class="w">
157 ·······</span><span·class="p"·data-group-id="4646128922-2">[</span><span·class="p"·data-group-id="4646128922-3">{</span><span·class="ss">i</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4646128922-4">[</span><span·class="s">&quot;friend_mibs/&quot;</span><span·cl[·...·truncated·by·diffoscope;·len:·292,·SHA:·246cfb672b58c5c0e31772320ddc12e0b3428abdbf52ad0f0e6e68155095af8d·...·]-1">)</span><span·class="p">.</span></code></pre><p>It·is·also·possible·to·import·MIBs·from·OTP·applications·in·an·<code·class="inline">&quot;include_lib&quot;</code>157 ·······</span><span·class="p"·data-group-id="0068839771-2">[</span><span·class="p"·data-group-id="0068839771-3">{</span><span·class="ss">i</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0068839771-4">[</span><span·class="s">&quot;friend_mibs/&quot;</span><span·cl[·...·truncated·by·diffoscope;·len:·292,·SHA:·5f0b8ddb80b5b7c1f12dc6c960803e46a0f34345018fef69178bcebe5b9bea1f·...·]-1">)</span><span·class="p">.</span></code></pre><p>It·is·also·possible·to·import·MIBs·from·OTP·applications·in·an·<code·class="inline">&quot;include_lib&quot;</code>
158 like·fashion·with·the·<code·class="inline">il</code>·option.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">snmpc</span><span·class="p">:</span><span·class="nf">compile</span><span·class="p"·data-group-id="2410762676-1">(</span><span·class="s">&quot;MY-MIB&quot;</span><span·class="p">,</span><span·class="w">158 like·fashion·with·the·<code·class="inline">il</code>·option.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">snmpc</span><span·class="p">:</span><span·class="nf">compile</span><span·class="p"·data-group-id="0300741675-1">(</span><span·class="s">&quot;MY-MIB&quot;</span><span·class="p">,</span><span·class="w">
159 ·······</span><span·class="p"·data-group-id="2410762676-2">[</span><span·class="p"·data-group-id="2410762676-3">{</span><span·class="ss">il</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2410762676-4">[</span><span·class="s">&quot;snmp/priv/mibs/&quot;</span><spa[·...·truncated·by·diffoscope;·len:·295,·SHA:·68d560f405ae7ad1e5fcd669a278d7762c8ac2e989abaedf1b4da7744d339bc0·...·]-1">)</span><span·class="p">.</span></code></pre><p>finds·the·latest·version·of·the·<code·class="inline">snmp</code>·and·<code·class="inline">myapp</code>·applications·in·the·OTP159 ·······</span><span·class="p"·data-group-id="0300741675-2">[</span><span·class="p"·data-group-id="0300741675-3">{</span><span·class="ss">il</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0300741675-4">[</span><span·class="s">&quot;snmp/priv/mibs/&quot;</span><spa[·...·truncated·by·diffoscope;·len:·295,·SHA:·bd636180baaa2f36b02cd41fd3e66b316946867dae5af1f42d45c52716def464·...·]-1">)</span><span·class="p">.</span></code></pre><p>finds·the·latest·version·of·the·<code·class="inline">snmp</code>·and·<code·class="inline">myapp</code>·applications·in·the·OTP
160 system·and·uses·the·expanded·paths·as·include·paths.</p><p>Note·that·an·SMIv2·MIB·can·import·an·SMIv1·MIB·and·vice·versa.</p><p>The·following·MIBs·are·built-ins·of·the·Erlang·SNMP·compiler:·SNMPv2-SMI,160 system·and·uses·the·expanded·paths·as·include·paths.</p><p>Note·that·an·SMIv2·MIB·can·import·an·SMIv1·MIB·and·vice·versa.</p><p>The·following·MIBs·are·built-ins·of·the·Erlang·SNMP·compiler:·SNMPv2-SMI,
161 RFC-1215,·RFC-1212,·SNMPv2-TC,·SNMPv2-CONF,·and·RFC1155-SMI.·They·cannot161 RFC-1215,·RFC-1212,·SNMPv2-TC,·SNMPv2-CONF,·and·RFC1155-SMI.·They·cannot
162 therefore·be·compiled·separately.</p><h2·id="mib-consistency-checking"·class="section-heading">162 therefore·be·compiled·separately.</p><h2·id="mib-consistency-checking"·class="section-heading">
163 ··<a·href="#mib-consistency-checking"·class="hover-link">163 ··<a·href="#mib-consistency-checking"·class="hover-link">
164 ····<i·class="ri-link-m"·aria-hidden="true"></i>164 ····<i·class="ri-link-m"·aria-hidden="true"></i>
165 ··</a>165 ··</a>
166 ··<span·class="text">MIB·Consistency·Checking</span>166 ··<span·class="text">MIB·Consistency·Checking</span>
Offset 262, 15 lines modifiedOffset 262, 15 lines modified
262 ······<p·class="built-using">262 ······<p·class="built-using">
263 ········Built·using263 ········Built·using
264 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the264 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
265 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>265 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
266 ······</p>266 ······</p>
267 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>267 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
268 ····</footer>268 ····</footer>
269 ··</div>269 ··</div>
270 </main>270 </main>
271 </div>271 </div>
272 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>272 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
273 ··<script>273 ··<script>
274 ··let·initialized·=·false;274 ··let·initialized·=·false;
834 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_notification_mib.html
    
Offset 468, 15 lines modifiedOffset 468, 15 lines modified
468 ······<p·class="built-using">468 ······<p·class="built-using">
469 ········Built·using469 ········Built·using
470 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the470 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
471 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>471 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
472 ······</p>472 ······</p>
473 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>473 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
474 ····</footer>474 ····</footer>
475 ··</div>475 ··</div>
476 </main>476 </main>
477 </div>477 </div>
478 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>478 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
479 ··<script>479 ··<script>
480 ··let·initialized·=·false;480 ··let·initialized·=·false;
612 B
html2text {}
Max HTML report size reached
3.9 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_pdus.html
    
Offset 130, 16 lines modifiedOffset 130, 16 lines modified
130 ····<section·id="moduledoc">130 ····<section·id="moduledoc">
131 <p>Encode·and·Decode·Functions·for·SNMP·PDUs</p><p>RFC1157,·RFC1905·and/or·RFC2272·should·be·studied·carefully·before·using·this131 <p>Encode·and·Decode·Functions·for·SNMP·PDUs</p><p>RFC1157,·RFC1905·and/or·RFC2272·should·be·studied·carefully·before·using·this
132 module,·<code·class="inline">snmp_pdus</code>.</p><p>The·module·<code·class="inline">snmp_pdus</code>·contains·functions·for·encoding·and·decoding·of·SNMP132 module,·<code·class="inline">snmp_pdus</code>.</p><p>The·module·<code·class="inline">snmp_pdus</code>·contains·functions·for·encoding·and·decoding·of·SNMP
133 protocol·data·units·(PDUs).·In·short,·this·module·converts·a·list·of·bytes·to133 protocol·data·units·(PDUs).·In·short,·this·module·converts·a·list·of·bytes·to
134 Erlang·record·representations·and·vice·versa.·The·record·definitions·can·be134 Erlang·record·representations·and·vice·versa.·The·record·definitions·can·be
135 found·in·the·file·<code·class="inline">snmp/include/snmp_types.hrl</code>.·If·snmpv3·is·used,·the·module135 found·in·the·file·<code·class="inline">snmp/include/snmp_types.hrl</code>.·If·snmpv3·is·used,·the·module
136 that·includes·<code·class="inline">snmp_types.hrl</code>·must·define·the·constant·<code·class="inline">SNMP_USE_V3</code>·before·the136 that·includes·<code·class="inline">snmp_types.hrl</code>·must·define·the·constant·<code·class="inline">SNMP_USE_V3</code>·before·the
137 header·file·is·included.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="2061815704-1">(</span><span·class="n">SNMP_USE_V3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="2061815704-1">)</span><span·class="p">.</span><span·class="w">137 header·file·is·included.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="7281899867-1">(</span><span·class="n">SNMP_USE_V3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="7281899867-1">)</span><span·class="p">.</span><span·class="w">
138 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="2061815704-2">(</span><span·class="s">&quot;snmp/include/snmp_types.hrl&quot;</span><span·class="p"·data-group-id="2061815704-2">)</span><span·class="p">.</span></code></pre><p>Encoding·and·decoding·must·be·done·explicitly·when·writing·your·own·Net·if138 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="7281899867-2">(</span><span·class="s">&quot;snmp/include/snmp_types.hrl&quot;</span><span·class="p"·data-group-id="7281899867-2">)</span><span·class="p">.</span></code></pre><p>Encoding·and·decoding·must·be·done·explicitly·when·writing·your·own·Net·if
139 process.</p>139 process.</p>
140 ····</section>140 ····</section>
  
141 </div>141 </div>
  
142 ··<section·id="summary"·class="details-list">142 ··<section·id="summary"·class="details-list">
143 ····<h1·class="section-heading">143 ····<h1·class="section-heading">
Offset 1007, 15 lines modifiedOffset 1007, 15 lines modified
1007 ······<p·class="built-using">1007 ······<p·class="built-using">
1008 ········Built·using1008 ········Built·using
1009 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1009 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1010 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1010 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1011 ······</p>1011 ······</p>
1012 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1012 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1013 ····</footer>1013 ····</footer>
1014 ··</div>1014 ··</div>
1015 </main>1015 </main>
1016 </div>1016 </div>
1017 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1017 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1018 ··<script>1018 ··<script>
1019 ··let·initialized·=·false;1019 ··let·initialized·=·false;
806 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_standard_mib.html
    
Offset 410, 15 lines modifiedOffset 410, 15 lines modified
410 ······<p·class="built-using">410 ······<p·class="built-using">
411 ········Built·using411 ········Built·using
412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
414 ······</p>414 ······</p>
415 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>415 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
416 ····</footer>416 ····</footer>
417 ··</div>417 ··</div>
418 </main>418 </main>
419 </div>419 </div>
420 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>420 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
421 ··<script>421 ··<script>
422 ··let·initialized·=·false;422 ··let·initialized·=·false;
643 B
html2text {}
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_target_mib.html
    
Offset 786, 15 lines modifiedOffset 786, 15 lines modified
786 ······<p·class="built-using">786 ······<p·class="built-using">
787 ········Built·using787 ········Built·using
788 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the788 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
789 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>789 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
790 ······</p>790 ······</p>
791 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>791 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
792 ····</footer>792 ····</footer>
793 ··</div>793 ··</div>
794 </main>794 </main>
795 </div>795 </div>
796 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>796 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
797 ··<script>797 ··<script>
798 ··let·initialized·=·false;798 ··let·initialized·=·false;
769 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_user_based_sm_mib.html
    
Offset 739, 15 lines modifiedOffset 739, 15 lines modified
739 ······<p·class="built-using">739 ······<p·class="built-using">
740 ········Built·using740 ········Built·using
741 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the741 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
742 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>742 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
743 ······</p>743 ······</p>
744 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>744 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
745 ····</footer>745 ····</footer>
746 ··</div>746 ··</div>
747 </main>747 </main>
748 </div>748 </div>
749 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>749 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
750 ··<script>750 ··<script>
751 ··let·initialized·=·false;751 ··let·initialized·=·false;
615 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmp_view_based_acm_mib.html
    
Offset 1046, 15 lines modifiedOffset 1046, 15 lines modified
1046 ······<p·class="built-using">1046 ······<p·class="built-using">
1047 ········Built·using1047 ········Built·using
1048 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1048 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1049 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1049 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1050 ······</p>1050 ······</p>
1051 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1051 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1052 ····</footer>1052 ····</footer>
1053 ··</div>1053 ··</div>
1054 </main>1054 </main>
1055 </div>1055 </div>
1056 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1056 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1057 ··<script>1057 ··<script>
1058 ··let·initialized·=·false;1058 ··let·initialized·=·false;
640 B
html2text {}
Max HTML report size reached
29.9 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa.html
    
Offset 3215, 16 lines modifiedOffset 3215, 16 lines modified
3215 ······················AgentName·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),3215 ······················AgentName·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:atom/0">atom</a>(),
3216 ······················Mib·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),3216 ······················Mib·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>(),
3217 ······················Reason·::·already_loaded·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>3217 ······················Reason·::·already_loaded·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
3218 ······</div>3218 ······</div>
  
3219 <p>Load·a·single·<code·class="inline">Mib</code>·into·an·agent.·The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,3219 <p>Load·a·single·<code·class="inline">Mib</code>·into·an·agent.·The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,
3220 including·the·path·to·where·the·compiled·mib·is·found.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">priv_dir</span><span·class="p"·data-group-id="4640151573-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="4640151573-1">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;/mibs/&quot;</span><span·class="p">,</span><span·class="w">3220 including·the·path·to·where·the·compiled·mib·is·found.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">priv_dir</span><span·class="p"·data-group-id="2255788365-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="2255788365-1">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;/mibs/&quot;</span><span·class="p">,</span><span·class="w">
3221 ··········</span><span·class="nc">snmpa</span><span·class="p">:</span><span·class="nf">load_mib</span><span·class="p"·data-group-id="4640151573-2">(</span><span·class="ss">snmp_master_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;MY-MIB&quot;</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·a8b1260d33d0390f78548be052c078d5971c200d8bbb02d479403638419688f5·...·]-2">)</span><span·class="p">.</span></code></pre>3221 ··········</span><span·class="nc">snmpa</span><span·class="p">:</span><span·class="nf">load_mib</span><span·class="p"·data-group-id="2255788365-2">(</span><span·class="ss">snmp_master_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;MY-MIB&quot;</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·a6ef0ff51a12b13db44daefc5589dbd5f645d67e6ec5553e086e78da4725a372·...·]-2">)</span><span·class="p">.</span></code></pre>
3222 ··</section>3222 ··</section>
3223 </section>3223 </section>
3224 <section·class="detail"·id="load_mibs/1">3224 <section·class="detail"·id="load_mibs/1">
  
3225 ··<div·class="detail-header">3225 ··<div·class="detail-header">
3226 ····<a·href="#load_mibs/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3226 ····<a·href="#load_mibs/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
3227 ······<i·class="ri-link-m"·aria-hidden="true"></i>3227 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3326, 16 lines modifiedOffset 3326, 16 lines modified
3326 ·······················InternalReason·::·already_loaded·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>3326 ·······················InternalReason·::·already_loaded·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
3327 ······</div>3327 ······</div>
  
3328 <p>Load·<code·class="inline">Mibs</code>·into·an·agent.·If·the·agent·cannot·load·all·MIBs·(the·default·value3328 <p>Load·<code·class="inline">Mibs</code>·into·an·agent.·If·the·agent·cannot·load·all·MIBs·(the·default·value
3329 of·the·<code·class="inline">Force</code>·argument·is·<code·class="inline">false</code>),·it·will·indicate·where·loading·was·aborted.3329 of·the·<code·class="inline">Force</code>·argument·is·<code·class="inline">false</code>),·it·will·indicate·where·loading·was·aborted.
3330 The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,·including·the·path·to·where·the·compiled3330 The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,·including·the·path·to·where·the·compiled
3331 mib·is·found.·For·example,</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">priv_dir</span><span·class="p"·data-group-id="0983413634-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="0983413634-1">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;/mibs/&quot;</span><span·class="p">,</span><span·class="w">3331 mib·is·found.·For·example,</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">priv_dir</span><span·class="p"·data-group-id="7726265111-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="7726265111-1">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;/mibs/&quot;</span><span·class="p">,</span><span·class="w">
3332 ··········</span><span·class="nc">snmpa</span><span·class="p">:</span><span·class="nf">load_mibs</span><span·class="p"·data-group-id="0983413634-2">(</span><span·class="ss">snmp_master_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0983413634-3">[</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·142,·SHA:·cbcc08ee54b216df56d954cec91e4514625e9d2f7be49e50b372311ee14200bc·...·]-2">)</span><span·class="p">.</span></code></pre><p>If·<code·class="inline">Force·=·true</code>·then·the·agent·will·continue·attempting·to·load·each·mib·even3332 ··········</span><span·class="nc">snmpa</span><span·class="p">:</span><span·class="nf">load_mibs</span><span·class="p"·data-group-id="7726265111-2">(</span><span·class="ss">snmp_master_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7726265111-3">[</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·142,·SHA:·700b315faa791b34297d3c43c745c23ca8088c6432b1ccf97fe39b552d216d5f·...·]-2">)</span><span·class="p">.</span></code></pre><p>If·<code·class="inline">Force·=·true</code>·then·the·agent·will·continue·attempting·to·load·each·mib·even
3333 after·failing·to·load·a·previous·mib.·Use·with·care.</p>3333 after·failing·to·load·a·previous·mib.·Use·with·care.</p>
3334 ··</section>3334 ··</section>
3335 </section>3335 </section>
3336 <section·class="detail"·id="log_to_io/1">3336 <section·class="detail"·id="log_to_io/1">
  
3337 ··<div·class="detail-header">3337 ··<div·class="detail-header">
3338 ····<a·href="#log_to_io/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3338 ····<a·href="#log_to_io/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 4297, 16 lines modifiedOffset 4297, 16 lines modified
4297 ··········································Mod·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:module/0">module</a>(),4297 ··········································Mod·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:module/0">module</a>(),
4298 ··········································Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),4298 ··········································Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),
4299 ··········································Where·::·<a·href="#t:nfilter_position/0">nfilter_position</a>(),4299 ··········································Where·::·<a·href="#t:nfilter_position/0">nfilter_position</a>(),
4300 ··········································Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>4300 ··········································Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
4301 ······</div>4301 ······</div>
  
4302 <p>Accepted·type·specifications·are:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">register_notification_filter</span><span·class="p"·data-group-id="6440017369-1">(</span><span·class="n">Agent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Id</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·443,·SHA:·5d37efee15aef22e7b8a8293a4758051ba127f0b840612dcf67bdd75dc41cbcc·...·]-2">}</span><span·class="p">.</span><span·class="w">4302 <p>Accepted·type·specifications·are:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">register_notification_filter</span><span·class="p"·data-group-id="9994714716-1">(</span><span·class="n">Agent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Id</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·443,·SHA:·849fd550533528a5cd33ec0175f4bc364e5ff5d0204cd88bbe14c2e32f9c519c·...·]-2">}</span><span·class="p">.</span><span·class="w">
4303 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">register_notification_filter</span><span·class="p"·data-group-id="6440017369-3">(</span><span·class="n">Id</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·443,·SHA:·059c21038831b7d043078100860c6f12ea2a3312c2d404173ff69f8233c810aa·...·]-4">}</span><span·class="p">.</span></code></pre>4303 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">register_notification_filter</span><span·class="p"·data-group-id="9994714716-3">(</span><span·class="n">Id</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mod</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·443,·SHA:·d68b053a160b488d7fac1d9ba8b41467d49a70110aec7370be16ebc21f0732e1·...·]-4">}</span><span·class="p">.</span></code></pre>
4304 ··</section>4304 ··</section>
4305 </section>4305 </section>
4306 <section·class="detail"·id="register_notification_filter/5">4306 <section·class="detail"·id="register_notification_filter/5">
  
4307 ··<div·class="detail-header">4307 ··<div·class="detail-header">
4308 ····<a·href="#register_notification_filter/5"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">4308 ····<a·href="#register_notification_filter/5"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
4309 ······<i·class="ri-link-m"·aria-hidden="true"></i>4309 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 4367, 16 lines modifiedOffset 4367, 16 lines modified
4367 ·······························SubAgent·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:pid/0">pid</a>(),4367 ·······························SubAgent·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:pid/0">pid</a>(),
4368 ·······························Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>4368 ·······························Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
4369 ······</div>4369 ······</div>
  
4370 <p>Registers·a·sub-agent·under·a·sub-tree·of·another·agent.</p><p>It·is·easy·to·make·mistakes·when·registering·sub-agents·and·this·activity·should4370 <p>Registers·a·sub-agent·under·a·sub-tree·of·another·agent.</p><p>It·is·easy·to·make·mistakes·when·registering·sub-agents·and·this·activity·should
4371 be·done·carefully.·For·example,·a·strange·behaviour·would·result·from·the4371 be·done·carefully.·For·example,·a·strange·behaviour·would·result·from·the
4372 following·configuration:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">snmp_agent</span><span·class="p">:</span><span·class="nf">register_subagent</span><span·class="p"·data-group-id="0090393897-1">(</span><span·class="n">MAPid</span><span·class="p">,</span><span·class="p"·data-group-id="0090393897-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="0090393897-2">]</span><span·class="p">,</span><span·class="n">SA1</span><span·class="p"·data-group-id="0090393897-1">)</span><span·class="p">,</span><span·class="w"> 
4373 </span><span·class="nc">snmp_agent</span><span·class="p">:</span><span·class="nf">register_subagent</span><span·class="p"·data-group-id="0090393897-3">(</span><span·class="n">SA1</span><span·class="p">,</span><span·class="p"·data-group-id="0090393897-4">[<[·...·truncated·by·diffoscope;·len:·476,·SHA:·56b891aad992e5560815f9167e458800e37e373cc94c742f2ea838d2159afe34·...·]4372 following·configuration:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">snmp_agent</span><span·class="p">:</span><span·class="nf">register_subagent</span><span·class="p"·data-group-id="7723944063-1">(</span><span·class="n">MAPid</span>[·...·truncated·by·diffoscope;·len:·445,·SHA:·711c56db7a07e9fb82b79c3aa405ddb400c598aa951f233bb0f461a37fd11f4c·...·]
 4373 </span><span·class="nc">snmp_agent</span><span·class="p">:</span><span·class="nf">register_subagent</span><span·class="p"·data-group-id="7723944063-3">(</span><span·class="n">SA1</span><span·class="p">,</span><span·class="p"·data-group-id="7723944063-4">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="7723944063-4">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SA2</span><span·class="p"·data-group-id="7723944063-3">)</span><span·class="p">.</span></code></pre><p><code·class="inline">SA2</code>·will·not·get·requests·starting·with·object·identifier·<code·class="inline">[1,2,3]</code>·since
4374 <code·class="inline">SA1</code>·does·not.</p>4374 <code·class="inline">SA1</code>·does·not.</p>
4375 ··</section>4375 ··</section>
4376 </section>4376 </section>
4377 <section·class="detail"·id="restart_set_worker/0">4377 <section·class="detail"·id="restart_set_worker/0">
  
4378 ··<div·class="detail-header">4378 ··<div·class="detail-header">
4379 ····<a·href="#restart_set_worker/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">4379 ····<a·href="#restart_set_worker/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 4793, 28 lines modifiedOffset 4793, 28 lines modified
4793 function·call·according·to·the·value·of·<code·class="inline">Recv</code>.</li></ul><p>If·<code·class="inline">Receiver</code>·has·the·value·<code·class="inline">{Tag,·Recv}</code>,·the·delivery·is·done·according·to4793 function·call·according·to·the·value·of·<code·class="inline">Recv</code>.</li></ul><p>If·<code·class="inline">Receiver</code>·has·the·value·<code·class="inline">{Tag,·Recv}</code>,·the·delivery·is·done·according·to
4794 <code·class="inline">Recv</code>:</p><ul><li><p><code·class="inline">pid()·|·atom()</code>·-·The·info·will·be·delivered·in·the·following·messages:</p><ul><li><p><code·class="inline">{snmp_targets,·Tag,·Addresses}</code></p><p>This·inform·the·user·which·target·addresses·the·notification·was·sent·to.</p></li><li><p><code·class="inline">{snmp_notification,·Tag,·{got_response,·Address}}</code></p><p>This·informs·the·user·that·this·target·address·acknowledged·the4794 <code·class="inline">Recv</code>:</p><ul><li><p><code·class="inline">pid()·|·atom()</code>·-·The·info·will·be·delivered·in·the·following·messages:</p><ul><li><p><code·class="inline">{snmp_targets,·Tag,·Addresses}</code></p><p>This·inform·the·user·which·target·addresses·the·notification·was·sent·to.</p></li><li><p><code·class="inline">{snmp_notification,·Tag,·{got_response,·Address}}</code></p><p>This·informs·the·user·that·this·target·address·acknowledged·the
4795 notification.</p></li><li><p><code·class="inline">{snmp_notification,·Tag,·{no_response,·Address}}</code></p><p>This·informs·the·user·that·this·target·address·did·not·acknowledge4795 notification.</p></li><li><p><code·class="inline">{snmp_notification,·Tag,·{no_response,·Address}}</code></p><p>This·informs·the·user·that·this·target·address·did·not·acknowledge
4796 notification.</p></li></ul><p>The·notification·is·sent·as·an·Inform-Request·to·each·target·address·in4796 notification.</p></li></ul><p>The·notification·is·sent·as·an·Inform-Request·to·each·target·address·in
4797 <code·class="inline">Addresses</code>·and·if·there·are·no·targets·for·which·an·Inform-Request·is·sent,4797 <code·class="inline">Addresses</code>·and·if·there·are·no·targets·for·which·an·Inform-Request·is·sent,
4798 <code·class="inline">Addresses</code>·is·the·empty·list·<code·class="inline">[]</code>.</p><p>The·<code·class="inline">receiver</code>·will·first·be·sent·the·<code·class="inline">snmp_targets</code>·message,·and·then·for4798 <code·class="inline">Addresses</code>·is·the·empty·list·<code·class="inline">[]</code>.</p><p>The·<code·class="inline">receiver</code>·will·first·be·sent·the·<code·class="inline">snmp_targets</code>·message,·and·then·for
4799 each·address·in·<code·class="inline">Addresses</code>·list,·one·of·the·two·<code·class="inline">snmp_notification</code>·messages.</p></li><li><p><code·class="inline">{Mod,·Func,·Args}</code>·-·The·info·will·be·delivered·via·the·function·call:</p><p><code·class="inline">Mod:Func([Msg·|·Args])</code></p><p>where·<code·class="inline">Msg</code>·has·the·same·content·and·purpose·as·the·messages·descrived·above.</p></li></ul><p><code·class="inline">Address</code>·is·a·management·target·address·and·<code·class="inline">Addresses</code>·is·a·list·of·management4799 each·address·in·<code·class="inline">Addresses</code>·list,·one·of·the·two·<code·class="inline">snmp_notification</code>·messages.</p></li><li><p><code·class="inline">{Mod,·Func,·Args}</code>·-·The·info·will·be·delivered·via·the·function·call:</p><p><code·class="inline">Mod:Func([Msg·|·Args])</code></p><p>where·<code·class="inline">Msg</code>·has·the·same·content·and·purpose·as·the·messages·descrived·above.</p></li></ul><p><code·class="inline">Address</code>·is·a·management·target·address·and·<code·class="inline">Addresses</code>·is·a·list·of·management
4800 target·addresses.·They·are·defined·as·followes:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">········</span><span·class="n">Addresses</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0094466273-1">[</span><span·class="nf">address</span><span·class="p"·data-group-id="0094466273-2">(</span><span·class="p"·data-group-id="0094466273-2">)</span><span·class="p"·data-group-id="0094466273-1">]</span><span·class="w">4800 target·addresses.·They·are·defined·as·followes:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">········</span><span·class="n">Addresses</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1670920948-1">[</span><span·class="nf">address</span><span·class="p"·data-group-id="1670920948-2">(</span><span·class="p"·data-group-id="1670920948-2">)</span><span·class="p"·data-group-id="1670920948-1">]</span><span·class="w">
4801 ········</span><span·class="n">Address</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">address</span><span·class="p"·data-group-id="0094466273-3">(</span><span·class="p"·data-group-id="0094466273-3">)</span><span·class="w">4801 ········</span><span·class="n">Address</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">address</span><span·class="p"·data-group-id="1670920948-3">(</span><span·class="p"·data-group-id="1670920948-3">)</span><span·class="w">
4802 ········</span><span·class="nf">address</span><span·class="p"·data-group-id="0094466273-4">(</span><span·class="p"·data-group-id="0094466273-4">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">v1_address</span><span·class="p"·data-group-id="0094466273-5">(</span><span·class="p"·data-group-id="0094466273-5">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">v3_address</span><span·class="p"·data-group-id="0094466273-6">(</span><span·class="p"·data-group-id="0094466273-6">)</span><span·class="w"> 
4803 ········</span><span·class="nf">v1_address</span><span·class="p"·data-group-id="0094466273-7">(</span><span·class="p"·data-group-id="0094466273-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0094466273-8">{</span><span·class="n">TDomain</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TAddress</span><span·class="p"·data-group-id="0094466273-8">}</span><span·class="w"> 
4804 ········</span><span·class="nf">v3_address</span><span·class="p"·data-group-id="0094466273-9">(</span><span·class="p"·data-group-id="0094466273-9">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0094466273-10">{</span><span·c[·...·truncated·by·diffoscope;·len:·337,·SHA:·6120b57486bdddb3315ff5c5083dd33ff4eeba0b621204fc252c2ea88fb64ffc·...·]</span><span·class="w">4802 ········</span><span·class="nf">address</span><span·class="p"·data-group-id="1670920948-4">(</span><span·class="p"·data-group-id="1670920948-4">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">v1_address</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·282,·SHA:·285f1a0d42d2513d12c4a51c2e4c1f3a91d52c9abbf169f97056b44dacc33316·...·]</span><span·class="w">
 4803 ········</span><span·class="nf">v1_address</span><span·class="p"·data-group-id="1670920948-7">(</span><span·class="p"·data-group-id="1670920948-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1670920948-8">{</span><span·class="n">TDomain</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TAddress</span><span·class="p"·data-group-id="1670920948-8">}</span><span·class="w">
 4804 ········</span><span·class="nf">v3_address</span><span·class="p"·data-group-id="1670920948-9">(</span><span·class="p"·data-group-id="1670920948-9">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1670920948-10">{</span><span·class="p"·data-group-id="1670920948-11">{</span><span·class="n">TDomain</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TAddress</span><span·class="p"·data-group-id="1670920948-11">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">V3MsgData</span><span·class="p"·data-group-id="1670920948-10">}</span><span·class="w">
4805 ········</span><span·class="n">TDomain</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">tdoamin</span><span·class="p"·data-group-id="0094466273-12">(</span><span·class="p"·data-group-id="0094466273-12">)</span><span·class="w">4805 ········</span><span·class="n">TDomain</span><span·class="w">····</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">tdoamin</span><span·class="p"·data-group-id="1670920948-12">(</span><span·class="p"·data-group-id="1670920948-12">)</span><span·class="w">
4806 ········</span><span·class="n">TAddress</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">taddress</span><span·class="p"·data-group-id="0094466273-13">(</span><span·class="p"·data-group-id="0094466273-13">)</span><span·class="w">4806 ········</span><span·class="n">TAddress</span><span·class="w">···</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">taddress</span><span·class="p"·data-group-id="1670920948-13">(</span><span·class="p"·data-group-id="1670920948-13">)</span><span·class="w">
4807 ········</span><span·class="nf">tdomain</span><span·class="p"·data-group-id="0094466273-14">(</span><span·class="p"·data-group-id="0094466273-14">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="n">The</span><span·class="w">·</span><span·class="ss">oid</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="ss">snmpUDPDomain</span><span·class="w">4807 ········</span><span·class="nf">tdomain</span><span·class="p"·data-group-id="1670920948-14">(</span><span·class="p"·data-group-id="1670920948-14">)</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="n">The</span><span·class="w">·</span><span·class="ss">oid</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="ss">snmpUDPDomain</span><span·class="w">
4808 ·····················</span><span·class="n">This</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">only</span><span·class="w">·</span><span·class="ss">supported</span><span·class="w">·</span><span·class="ss">transport</span><span·class="w">·</span><span·class="ss">domain</span><span·class="p">.</span><span·class="w">4808 ·····················</span><span·class="n">This</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">only</span><span·class="w">·</span><span·class="ss">supported</span><span·class="w">·</span><span·class="ss">transport</span><span·class="w">·</span><span·class="ss">domain</span><span·class="p">.</span><span·class="w">
4809 ········</span><span·class="nf">taddress</span><span·class="p"·data-group-id="0094466273-15">(</span><span·class="p"·data-group-id="0094466273-15">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0094466273-16">[</span><span·class="n">A1</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·378,·SHA:·73cfe0c130451a6a77211dd87323a91f5728e1ecab5cd0b0799bd1f284608bd1·...·]-16">]</span><span·class="w">4809 ········</span><span·class="nf">taddress</span><span·class="p"·data-group-id="1670920948-15">(</span><span·class="p"·data-group-id="1670920948-15">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1670920948-16">[</span><span·class="n">A1</span><span·class="p">,</span><spa[·...·truncated·by·diffoscope;·len:·378,·SHA:·1106d307278663e2ba382e661c4741d70234a42535c86baea88f92d916abb793·...·]-16">]</span><span·class="w">
4810 ·····················</span><span·class="n">The</span><span·class="w">·</span><span·class="mi">4</span><span·class="w">·</span><span·class="ss">first</span><span·class="w">·</span><span·class="ss">bytes</span><span·class="w">·</span><span·class="ss">makes</span><span·class="w">·</span><span·class="ss">up</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="n">IP</span><span·class="o">-</span><span·class="ss">address</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">last</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">4810 ·····················</span><span·class="n">The</span><span·class="w">·</span><span·class="mi">4</span><span·class="w">·</span><span·class="ss">first</span><span·class="w">·</span><span·class="ss">bytes</span><span·class="w">·</span><span·class="ss">makes</span><span·class="w">·</span><span·class="ss">up</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="n">IP</span><span·class="o">-</span><span·class="ss">address</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">last</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">
4811 ·····················</span><span·class="ss">the</span><span·class="w">·</span><span·class="n">UDP</span><span·class="o">-</span><span·class="ss">port</span><span·class="w">·</span><span·class="ss">number</span><span·class="p">.</span><span·class="w">4811 ·····················</span><span·class="ss">the</span><span·class="w">·</span><span·class="n">UDP</span><span·class="o">-</span><span·class="ss">port</span><span·class="w">·</span><span·class="ss">number</span><span·class="p">.</span><span·class="w">
4812 ········</span><span·class="n">V3MsgData</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">v3_msg_data</span><span·class="p"·data-group-id="0094466273-17">(</span><span·class="p"·data-group-id="0094466273-17">)</span><span·class="w">4812 ········</span><span·class="n">V3MsgData</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">v3_msg_data</span><span·class="p"·data-group-id="1670920948-17">(</span><span·class="p"·data-group-id="1670920948-17">)</span><span·class="w">
4813 ········</span><span·class="nf">v3_msg_data</span><span·class="p"·data-group-id="0094466273-18">(</span><span·class="p"·data-group-id="0094466273-18">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="0094466273-19">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·a6e178cc294b1ef933085463dea517fa98adbbdc700c691cb96794feb012d483·...·]-19">)</span></code></pre><p>If·<code·class="inline">Receiver</code>·is·a·<a·href="#t:notification_delivery_info/0"><code·class="inline">notification_delivery_info/0</code></a>·record,·then·the·information4813 ········</span><span·class="nf">v3_msg_data</span><span·class="p"·data-group-id="1670920948-18">(</span><span·class="p"·data-group-id="1670920948-18">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="1670920948-19">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·77e7a33a10658f78ed211e5131b6d9f5444e16ddea62ab763ba250324a0194f7·...·]-19">)</span></code></pre><p>If·<code·class="inline">Receiver</code>·is·a·<a·href="#t:notification_delivery_info/0"><code·class="inline">notification_delivery_info/0</code></a>·record,·then·the·information
4814 about·the·notification·delivery·will·be·delivered·to·the·<code·class="inline">receiver</code>·via·the4814 about·the·notification·delivery·will·be·delivered·to·the·<code·class="inline">receiver</code>·via·the
4815 callback·functions·defined·by·the·<a·href="snmpa_notification_delivery_info_receiver.html"><code·class="inline">snmpa_notification_delivery_info_receiver</code></a>4815 callback·functions·defined·by·the·<a·href="snmpa_notification_delivery_info_receiver.html"><code·class="inline">snmpa_notification_delivery_info_receiver</code></a>
4816 behaviour·according·to·the·content·of·the·<a·href="#t:notification_delivery_info/0"><code·class="inline">notification_delivery_info/0</code></a>4816 behaviour·according·to·the·content·of·the·<a·href="#t:notification_delivery_info/0"><code·class="inline">notification_delivery_info/0</code></a>
4817 record.</p><p>The·optional·argument·<code·class="inline">Varbinds</code>·defines·values·for·the·objects·in·the4817 record.</p><p>The·optional·argument·<code·class="inline">Varbinds</code>·defines·values·for·the·objects·in·the
4818 notification.·If·no·value·is·given·for·an·object,·the·<code·class="inline">Agent</code>·performs·a4818 notification.·If·no·value·is·given·for·an·object,·the·<code·class="inline">Agent</code>·performs·a
4819 get-operation·to·retrieve·the·value.</p><p><code·class="inline">Varbinds</code>·is·a·list·of·<code·class="inline">Varbind</code>,·where·each·<code·class="inline">Varbind</code>·is·one·of:</p><ul><li><code·class="inline">{Variable,·Value}</code>,·where·<code·class="inline">Variable</code>·is·the·symbolic·name·of·a·scalar4819 get-operation·to·retrieve·the·value.</p><p><code·class="inline">Varbinds</code>·is·a·list·of·<code·class="inline">Varbind</code>,·where·each·<code·class="inline">Varbind</code>·is·one·of:</p><ul><li><code·class="inline">{Variable,·Value}</code>,·where·<code·class="inline">Variable</code>·is·the·symbolic·name·of·a·scalar
4820 variable·referred·to·in·the·notification·specification.</li><li><code·class="inline">{Column,·RowIndex,·Value}</code>,·where·<code·class="inline">Column</code>·is·the·symbolic·name·of·a·column4820 variable·referred·to·in·the·notification·specification.</li><li><code·class="inline">{Column,·RowIndex,·Value}</code>,·where·<code·class="inline">Column</code>·is·the·symbolic·name·of·a·column
Offset 5781, 15 lines modifiedOffset 5781, 15 lines modified
5781 ······<p·class="built-using">5781 ······<p·class="built-using">
5782 ········Built·using5782 ········Built·using
5783 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the5783 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
5784 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>5784 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
5785 ······</p>5785 ······</p>
5786 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>5786 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
5787 ····</footer>5787 ····</footer>
5788 ··</div>5788 ··</div>
5789 </main>5789 </main>
5790 </div>5790 </div>
5791 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>5791 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
5792 ··<script>5792 ··<script>
5793 ··let·initialized·=·false;5793 ··let·initialized·=·false;
638 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_conf.html
    
Offset 3627, 15 lines modifiedOffset 3627, 15 lines modified
3627 ······<p·class="built-using">3627 ······<p·class="built-using">
3628 ········Built·using3628 ········Built·using
3629 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3629 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3630 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3630 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3631 ······</p>3631 ······</p>
3632 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3632 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3633 ····</footer>3633 ····</footer>
3634 ··</div>3634 ··</div>
3635 </main>3635 </main>
3636 </div>3636 </div>
3637 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3637 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3638 ··<script>3638 ··<script>
3639 ··let·initialized·=·false;3639 ··let·initialized·=·false;
653 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_discovery_handler.html
    
Offset 238, 15 lines modifiedOffset 238, 15 lines modified
238 ······<p·class="built-using">238 ······<p·class="built-using">
239 ········Built·using239 ········Built·using
240 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the240 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
241 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>241 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
242 ······</p>242 ······</p>
243 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>243 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
244 ····</footer>244 ····</footer>
245 ··</div>245 ··</div>
246 </main>246 </main>
247 </div>247 </div>
248 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>248 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
249 ··<script>249 ··<script>
250 ··let·initialized·=·false;250 ··let·initialized·=·false;
639 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_error.html
    
Offset 261, 15 lines modifiedOffset 261, 15 lines modified
261 ······<p·class="built-using">261 ······<p·class="built-using">
262 ········Built·using262 ········Built·using
263 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the263 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
264 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>264 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
265 ······</p>265 ······</p>
266 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>266 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
267 ····</footer>267 ····</footer>
268 ··</div>268 ··</div>
269 </main>269 </main>
270 </div>270 </div>
271 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>271 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
272 ··<script>272 ··<script>
273 ··let·initialized·=·false;273 ··let·initialized·=·false;
685 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_error_io.html
    
Offset 261, 15 lines modifiedOffset 261, 15 lines modified
261 ······<p·class="built-using">261 ······<p·class="built-using">
262 ········Built·using262 ········Built·using
263 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the263 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
264 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>264 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
265 ······</p>265 ······</p>
266 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>266 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
267 ····</footer>267 ····</footer>
268 ··</div>268 ··</div>
269 </main>269 </main>
270 </div>270 </div>
271 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>271 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
272 ··<script>272 ··<script>
273 ··let·initialized·=·false;273 ··let·initialized·=·false;
685 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_error_logger.html
    
Offset 268, 15 lines modifiedOffset 268, 15 lines modified
268 ······<p·class="built-using">268 ······<p·class="built-using">
269 ········Built·using269 ········Built·using
270 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the270 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
271 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>271 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
272 ······</p>272 ······</p>
273 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>273 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
274 ····</footer>274 ····</footer>
275 ··</div>275 ··</div>
276 </main>276 </main>
277 </div>277 </div>
278 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>278 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
279 ··<script>279 ··<script>
280 ··let·initialized·=·false;280 ··let·initialized·=·false;
685 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_error_report.html
    
Offset 257, 15 lines modifiedOffset 257, 15 lines modified
257 ······<p·class="built-using">257 ······<p·class="built-using">
258 ········Built·using258 ········Built·using
259 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the259 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
260 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>260 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
261 ······</p>261 ······</p>
262 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>262 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
263 ····</footer>263 ····</footer>
264 ··</div>264 ··</div>
265 </main>265 </main>
266 </div>266 </div>
267 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>267 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
268 ··<script>268 ··<script>
269 ··let·initialized·=·false;269 ··let·initialized·=·false;
691 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_local_db.html
    
Offset 709, 15 lines modifiedOffset 709, 15 lines modified
709 ······<p·class="built-using">709 ······<p·class="built-using">
710 ········Built·using710 ········Built·using
711 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the711 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
712 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>712 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
713 ······</p>713 ······</p>
714 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>714 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
715 ····</footer>715 ····</footer>
716 ··</div>716 ··</div>
717 </main>717 </main>
718 </div>718 </div>
719 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>719 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
720 ··<script>720 ··<script>
721 ··let·initialized·=·false;721 ··let·initialized·=·false;
688 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_mib_data.html
    
Offset 1076, 15 lines modifiedOffset 1076, 15 lines modified
1076 ······<p·class="built-using">1076 ······<p·class="built-using">
1077 ········Built·using1077 ········Built·using
1078 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1078 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1079 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1079 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1080 ······</p>1080 ······</p>
1081 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1081 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1082 ····</footer>1082 ····</footer>
1083 ··</div>1083 ··</div>
1084 </main>1084 </main>
1085 </div>1085 </div>
1086 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1086 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1087 ··<script>1087 ··<script>
1088 ··let·initialized·=·false;1088 ··let·initialized·=·false;
632 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_mib_storage.html
    
Offset 811, 15 lines modifiedOffset 811, 15 lines modified
811 ······<p·class="built-using">811 ······<p·class="built-using">
812 ········Built·using812 ········Built·using
813 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the813 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
814 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>814 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
815 ······</p>815 ······</p>
816 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>816 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
817 ····</footer>817 ····</footer>
818 ··</div>818 ··</div>
819 </main>819 </main>
820 </div>820 </div>
821 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>821 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
822 ··<script>822 ··<script>
823 ··let·initialized·=·false;823 ··let·initialized·=·false;
690 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_mpd.html
    
Offset 979, 15 lines modifiedOffset 979, 15 lines modified
979 ······<p·class="built-using">979 ······<p·class="built-using">
980 ········Built·using980 ········Built·using
981 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the981 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
982 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>982 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
983 ······</p>983 ······</p>
984 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>984 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
985 ····</footer>985 ····</footer>
986 ··</div>986 ··</div>
987 </main>987 </main>
988 </div>988 </div>
989 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>989 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
990 ··<script>990 ··<script>
991 ··let·initialized·=·false;991 ··let·initialized·=·false;
775 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_network_interface.html
    
Offset 474, 15 lines modifiedOffset 474, 15 lines modified
474 ······<p·class="built-using">474 ······<p·class="built-using">
475 ········Built·using475 ········Built·using
476 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the476 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
477 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>477 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
478 ······</p>478 ······</p>
479 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>479 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
480 ····</footer>480 ····</footer>
481 ··</div>481 ··</div>
482 </main>482 </main>
483 </div>483 </div>
484 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>484 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
485 ··<script>485 ··<script>
486 ··let·initialized·=·false;486 ··let·initialized·=·false;
722 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_network_interface_filter.html
    
Offset 486, 15 lines modifiedOffset 486, 15 lines modified
486 ······<p·class="built-using">486 ······<p·class="built-using">
487 ········Built·using487 ········Built·using
488 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the488 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
489 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>489 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
490 ······</p>490 ······</p>
491 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>491 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
492 ····</footer>492 ····</footer>
493 ··</div>493 ··</div>
494 </main>494 </main>
495 </div>495 </div>
496 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>496 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
497 ··<script>497 ··<script>
498 ··let·initialized·=·false;498 ··let·initialized·=·false;
723 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_notification_delivery_info_receiver.html
    
Offset 410, 15 lines modifiedOffset 410, 15 lines modified
410 ······<p·class="built-using">410 ······<p·class="built-using">
411 ········Built·using411 ········Built·using
412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
414 ······</p>414 ······</p>
415 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>415 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
416 ····</footer>416 ····</footer>
417 ··</div>417 ··</div>
418 </main>418 </main>
419 </div>419 </div>
420 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>420 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
421 ··<script>421 ··<script>
422 ··let·initialized·=·false;422 ··let·initialized·=·false;
680 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_notification_filter.html
    
Offset 319, 15 lines modifiedOffset 319, 15 lines modified
319 ······<p·class="built-using">319 ······<p·class="built-using">
320 ········Built·using320 ········Built·using
321 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the321 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
322 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>322 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
323 ······</p>323 ······</p>
324 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>324 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
325 ····</footer>325 ····</footer>
326 ··</div>326 ··</div>
327 </main>327 </main>
328 </div>328 </div>
329 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>329 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
330 ··<script>330 ··<script>
331 ··let·initialized·=·false;331 ··let·initialized·=·false;
728 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpa_supervisor.html
    
Offset 360, 15 lines modifiedOffset 360, 15 lines modified
360 ······<p·class="built-using">360 ······<p·class="built-using">
361 ········Built·using361 ········Built·using
362 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the362 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
363 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>363 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
364 ······</p>364 ······</p>
365 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>365 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
366 ····</footer>366 ····</footer>
367 ··</div>367 ··</div>
368 </main>368 </main>
369 </div>369 </div>
370 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>370 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
371 ··<script>371 ··<script>
372 ··let·initialized·=·false;372 ··let·initialized·=·false;
637 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpc.html
    
Offset 401, 15 lines modifiedOffset 401, 15 lines modified
401 ······<p·class="built-using">401 ······<p·class="built-using">
402 ········Built·using402 ········Built·using
403 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the403 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
404 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>404 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
405 ······</p>405 ······</p>
406 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>406 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
407 ····</footer>407 ····</footer>
408 ··</div>408 ··</div>
409 </main>409 </main>
410 </div>410 </div>
411 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>411 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
412 ··<script>412 ··<script>
413 ··let·initialized·=·false;413 ··let·initialized·=·false;
669 B
html2text {}
Max HTML report size reached
3.19 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpc_cmd.html
    
Offset 127, 15 lines modifiedOffset 127, 15 lines modified
  
127 <p>SNMP·MIB·compiler·frontend</p><h2·id="synopsis"·class="section-heading">127 <p>SNMP·MIB·compiler·frontend</p><h2·id="synopsis"·class="section-heading">
128 ··<a·href="#synopsis"·class="hover-link">128 ··<a·href="#synopsis"·class="hover-link">
129 ····<i·class="ri-link-m"·aria-hidden="true"></i>129 ····<i·class="ri-link-m"·aria-hidden="true"></i>
130 ··</a>130 ··</a>
131 ··<span·class="text">Synopsis</span>131 ··<span·class="text">Synopsis</span>
132 </h2>132 </h2>
133 <pre><code·class="makeup·erlang"·translate="no"><span·class="ss">snmpc</span><span·class="w">·</span><span·class="p"·data-group-id="2340345596-1">[</span><span·class="ss">options</span><span·class="p"·data-group-id="2340345596-1">]</span><span·class="w">·</span><span·class="ss">file</span><span·class="p">.</span><span·class="ss">mib</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">file</span><span·class="p">.</span><span·class="ss">bin</span></code></pre><h2·id="description"·class="section-heading">133 <pre><code·class="makeup·erlang"·translate="no"><span·class="ss">snmpc</span><span·class="w">·</span><span·class="p"·data-group-id="0620456054-1">[</span><span·class="ss">options</span><span·class="p"·data-group-id="0620456054-1">]</span><span·class="w">·</span><span·class="ss">file</span><span·class="p">.</span><span·class="ss">mib</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">file</span><span·class="p">.</span><span·class="ss">bin</span></code></pre><h2·id="description"·class="section-heading">
134 ··<a·href="#description"·class="hover-link">134 ··<a·href="#description"·class="hover-link">
135 ····<i·class="ri-link-m"·aria-hidden="true"></i>135 ····<i·class="ri-link-m"·aria-hidden="true"></i>
136 ··</a>136 ··</a>
137 ··<span·class="text">Description</span>137 ··<span·class="text">Description</span>
138 </h2>138 </h2>
139 <p>The·<code·class="inline">snmpc</code>·program·provides·a·way·to·run·the·SNMP·MIB·compiler·of·the·Erlang139 <p>The·<code·class="inline">snmpc</code>·program·provides·a·way·to·run·the·SNMP·MIB·compiler·of·the·Erlang
140 system.</p><p><code·class="inline">snmpc</code>·compiles·an·SNMP·MIB·file.·See·<a·href="snmpc.html#compile/1">compile/1,2</a>·for·more140 system.</p><p><code·class="inline">snmpc</code>·compiles·an·SNMP·MIB·file.·See·<a·href="snmpc.html#compile/1">compile/1,2</a>·for·more
Offset 211, 15 lines modifiedOffset 211, 15 lines modified
211 ······<p·class="built-using">211 ······<p·class="built-using">
212 ········Built·using212 ········Built·using
213 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the213 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
214 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>214 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
215 ······</p>215 ······</p>
216 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>216 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
217 ····</footer>217 ····</footer>
218 ··</div>218 ··</div>
219 </main>219 </main>
220 </div>220 </div>
221 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>221 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
222 ··<script>222 ··<script>
223 ··let·initialized·=·false;223 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
6.85 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpm.html
    
Offset 1944, 16 lines modifiedOffset 1944, 16 lines modified
1944 ······<div·class="specs">1944 ······<div·class="specs">
  
1945 ··········<pre·translate="no"><span·class="attribute">-spec</span>·load_mib(MibName)·->·ok·|·{error,·Reason}·when·MibName·::·<a·href="snmp.html#t:mib_name/0">snmp:mib_name</a>(),·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>1945 ··········<pre·translate="no"><span·class="attribute">-spec</span>·load_mib(MibName)·->·ok·|·{error,·Reason}·when·MibName·::·<a·href="snmp.html#t:mib_name/0">snmp:mib_name</a>(),·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1946 ······</div>1946 ······</div>
  
1947 <p>Load·a·<code·class="inline">Mib</code>·into·the·manager.·The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,·including1947 <p>Load·a·<code·class="inline">Mib</code>·into·the·manager.·The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,·including
1948 the·path·to·where·the·compiled·mib·is·found.·For·example,</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">priv_dir</span><span·class="p"·data-group-id="5289153710-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="5289153710-1">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;/mibs/&quot;</span><span·class="p">,</span><span·class="w">1948 the·path·to·where·the·compiled·mib·is·found.·For·example,</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">priv_dir</span><span·class="p"·data-group-id="1923962161-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="1923962161-1">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;/mibs/&quot;</span><span·class="p">,</span><span·class="w">
1949 ··········</span><span·class="nc">snmpm</span><span·class="p">:</span><span·class="nf">load_mib</span><span·class="p"·data-group-id="5289153710-2">(</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;MY-MIB&quot;</span><span·class="p"·data-group-id="5289153710-2">)</span><span·class="p">.</span></code></pre>1949 ··········</span><span·class="nc">snmpm</span><span·class="p">:</span><span·class="nf">load_mib</span><span·class="p"·data-group-id="1923962161-2">(</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;MY-MIB&quot;</span><span·class="p"·data-group-id="1923962161-2">)</span><span·class="p">.</span></code></pre>
1950 ··</section>1950 ··</section>
1951 </section>1951 </section>
1952 <section·class="detail"·id="log_to_io/1">1952 <section·class="detail"·id="log_to_io/1">
  
1953 ··<div·class="detail-header">1953 ··<div·class="detail-header">
1954 ····<a·href="#log_to_io/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1954 ····<a·href="#log_to_io/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1955 ······<i·class="ri-link-m"·aria-hidden="true"></i>1955 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3450, 16 lines modifiedOffset 3450, 16 lines modified
3450 ······<div·class="specs">3450 ······<div·class="specs">
  
3451 ··········<pre·translate="no"><span·class="attribute">-spec</span>·unload_mib(MibName)·->·ok·|·{error,·Reason}·when·MibName·::·<a·href="snmp.html#t:mib_name/0">snmp:mib_name</a>(),·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>3451 ··········<pre·translate="no"><span·class="attribute">-spec</span>·unload_mib(MibName)·->·ok·|·{error,·Reason}·when·MibName·::·<a·href="snmp.html#t:mib_name/0">snmp:mib_name</a>(),·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
3452 ······</div>3452 ······</div>
  
3453 <p>Unload·a·<code·class="inline">Mib</code>·from·the·manager.·The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,·including3453 <p>Unload·a·<code·class="inline">Mib</code>·from·the·manager.·The·<code·class="inline">MibName</code>·is·the·name·of·the·Mib,·including
3454 the·path·to·where·the·compiled·mib·is·found.·For·example,</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">priv_dir</span><span·class="p"·data-group-id="0507418740-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="0507418740-1">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;/mibs/&quot;</span><span·class="p">,</span><span·class="w">3454 the·path·to·where·the·compiled·mib·is·found.·For·example,</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··········</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">priv_dir</span><span·class="p"·data-group-id="3302041879-1">(</span><span·class="ss">my_app</span><span·class="p"·data-group-id="3302041879-1">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;/mibs/&quot;</span><span·class="p">,</span><span·class="w">
3455 ··········</span><span·class="nc">snmpm</span><span·class="p">:</span><span·class="nf">unload_mib</span><span·class="p"·data-group-id="0507418740-2">(</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;MY-MIB&quot;</span><span·class="p"·data-group-id="0507418740-2">)</span><span·class="p">.</span></code></pre>3455 ··········</span><span·class="nc">snmpm</span><span·class="p">:</span><span·class="nf">unload_mib</span><span·class="p"·data-group-id="3302041879-2">(</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;MY-MIB&quot;</span><span·class="p"·data-group-id="3302041879-2">)</span><span·class="p">.</span></code></pre>
3456 ··</section>3456 ··</section>
3457 </section>3457 </section>
3458 <section·class="detail"·id="unregister_agent/2">3458 <section·class="detail"·id="unregister_agent/2">
  
3459 ··<div·class="detail-header">3459 ··<div·class="detail-header">
3460 ····<a·href="#unregister_agent/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">3460 ····<a·href="#unregister_agent/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
3461 ······<i·class="ri-link-m"·aria-hidden="true"></i>3461 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 3891, 15 lines modifiedOffset 3891, 15 lines modified
3891 ······<p·class="built-using">3891 ······<p·class="built-using">
3892 ········Built·using3892 ········Built·using
3893 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3893 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3894 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3894 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3895 ······</p>3895 ······</p>
3896 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3896 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3897 ····</footer>3897 ····</footer>
3898 ··</div>3898 ··</div>
3899 </main>3899 </main>
3900 </div>3900 </div>
3901 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3901 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3902 ··<script>3902 ··<script>
3903 ··let·initialized·=·false;3903 ··let·initialized·=·false;
692 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpm_conf.html
    
Offset 1308, 15 lines modifiedOffset 1308, 15 lines modified
1308 ······<p·class="built-using">1308 ······<p·class="built-using">
1309 ········Built·using1309 ········Built·using
1310 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1310 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1311 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1311 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1312 ······</p>1312 ······</p>
1313 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1313 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1314 ····</footer>1314 ····</footer>
1315 ··</div>1315 ··</div>
1316 </main>1316 </main>
1317 </div>1317 </div>
1318 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1318 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1319 ··<script>1319 ··<script>
1320 ··let·initialized·=·false;1320 ··let·initialized·=·false;
664 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpm_mpd.html
    
Offset 623, 15 lines modifiedOffset 623, 15 lines modified
623 ······<p·class="built-using">623 ······<p·class="built-using">
624 ········Built·using624 ········Built·using
625 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the625 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
626 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>626 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
627 ······</p>627 ······</p>
628 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>628 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
629 ····</footer>629 ····</footer>
630 ··</div>630 ··</div>
631 </main>631 </main>
632 </div>632 </div>
633 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>633 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
634 ··<script>634 ··<script>
635 ··let·initialized·=·false;635 ··let·initialized·=·false;
640 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpm_network_interface.html
    
Offset 552, 15 lines modifiedOffset 552, 15 lines modified
552 ······<p·class="built-using">552 ······<p·class="built-using">
553 ········Built·using553 ········Built·using
554 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the554 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
555 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>555 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
556 ······</p>556 ······</p>
557 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>557 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
558 ····</footer>558 ····</footer>
559 ··</div>559 ··</div>
560 </main>560 </main>
561 </div>561 </div>
562 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>562 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
563 ··<script>563 ··<script>
564 ··let·initialized·=·false;564 ··let·initialized·=·false;
728 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpm_network_interface_filter.html
    
Offset 478, 15 lines modifiedOffset 478, 15 lines modified
478 ······<p·class="built-using">478 ······<p·class="built-using">
479 ········Built·using479 ········Built·using
480 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the480 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
481 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>481 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
482 ······</p>482 ······</p>
483 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>483 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
484 ····</footer>484 ····</footer>
485 ··</div>485 ··</div>
486 </main>486 </main>
487 </div>487 </div>
488 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>488 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
489 ··<script>489 ··<script>
490 ··let·initialized·=·false;490 ··let·initialized·=·false;
751 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/snmp-5.19/doc/html/snmpm_user.html
    
Offset 693, 15 lines modifiedOffset 693, 15 lines modified
693 ······<p·class="built-using">693 ······<p·class="built-using">
694 ········Built·using694 ········Built·using
695 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the695 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
696 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>696 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
697 ······</p>697 ······</p>
698 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>698 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
699 ····</footer>699 ····</footer>
700 ··</div>700 ··</div>
701 </main>701 </main>
702 </div>702 </div>
703 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>703 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
704 ··<script>704 ··<script>
705 ··let·initialized·=·false;705 ··let·initialized·=·false;
762 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/api-reference.html
    
Offset 273, 15 lines modifiedOffset 273, 15 lines modified
273 ······<p·class="built-using">273 ······<p·class="built-using">
274 ········Built·using274 ········Built·using
275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
277 ······</p>277 ······</p>
278 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>278 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
279 ····</footer>279 ····</footer>
280 ··</div>280 ··</div>
281 </main>281 </main>
282 </div>282 </div>
283 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>283 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
284 ··<script>284 ··<script>
285 ··let·initialized·=·false;285 ··let·initialized·=·false;
577 B
html2text {}
Max HTML report size reached
62.7 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/configurations.html
    
Offset 138, 31 lines modifiedOffset 138, 31 lines modified
138 the·<a·href="configure_algos.html">Configuring·algorithms·in·SSH</a>·chapter.</p><h2·id="options-configuration"·class="section-heading">138 the·<a·href="configure_algos.html">Configuring·algorithms·in·SSH</a>·chapter.</p><h2·id="options-configuration"·class="section-heading">
139 ··<a·href="#options-configuration"·class="hover-link">139 ··<a·href="#options-configuration"·class="hover-link">
140 ····<i·class="ri-link-m"·aria-hidden="true"></i>140 ····<i·class="ri-link-m"·aria-hidden="true"></i>
141 ··</a>141 ··</a>
142 ··<span·class="text">Options·configuration</span>142 ··<span·class="text">Options·configuration</span>
143 </h2>143 </h2>
144 <p>There·are·from·OTP-23.0·two·main·ways·to·set·an·option:</p><ul><li><p>Like·before,·in·the·<code·class="inline">Options</code>·parameter·in·the·Erlang·code·in·a·call·to·for144 <p>There·are·from·OTP-23.0·two·main·ways·to·set·an·option:</p><ul><li><p>Like·before,·in·the·<code·class="inline">Options</code>·parameter·in·the·Erlang·code·in·a·call·to·for
145 example·<a·href="ssh.html#daemon/3"><code·class="inline">ssh:daemon/3</code></a>·or·<a·href="ssh.html#connect/3"><code·class="inline">ssh:connect/3</code></a>·or·any·of·their·variants.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="3393321358-1">(</span><span·class="mi">22</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3393321358-2">[</span><span·class="p"·data-group-id="3393321358-3">{</span><span·class="ss">user</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·623,·SHA:·57453718b9563a0fa16b4e0866ea3fc9159eb6e849e471ed3e1d6548d8ad944c·...·]-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">145 example·<a·href="ssh.html#daemon/3"><code·class="inline">ssh:daemon/3</code></a>·or·<a·href="ssh.html#connect/3"><code·class="inline">ssh:connect/3</code></a>·or·any·of·their·variants.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="1211460417-1">(</span><span·class="mi">22</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1211460417-2">[</span><span·class="p"·data-group-id="1211460417-3">{</span><span·class="ss">user</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·623,·SHA:·42bfff344f45526bb30cd77a64d51d2777615f8ab3e5004210ad56849783c2f9·...·]-1">{</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">
146 ·</span><span·class="p"·data-group-id="6559050625-2">[</span><span·class="p"·data-group-id="6559050625-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;SSH-2·for·Erlang/OTP&quot;</span><span·class="p"·data-group-id="6559050625-3">}</span><span·class="p">,</span><span·class="w">146 ·</span><span·class="p"·data-group-id="8578925973-2">[</span><span·class="p"·data-group-id="8578925973-3">{</span><span·class="ss">description</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;SSH-2·for·Erlang/OTP&quot;</span><span·class="p"·data-group-id="8578925973-3">}</span><span·class="p">,</span><span·class="w">
147 ··</span><span·class="p"·data-group-id="6559050625-4">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;4.9&quot;</span><span·class="p"·data-group-id="6559050625-4">}</span><span·class="p">,</span><span·class="w">147 ··</span><span·class="p"·data-group-id="8578925973-4">{</span><span·class="ss">vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;4.9&quot;</span><span·class="p"·data-group-id="8578925973-4">}</span><span·class="p">,</span><span·class="w">
148 ··</span><span·class="p"·data-group-id="6559050625-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6559050625-6">[</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">148 ··</span><span·class="p"·data-group-id="8578925973-5">{</span><span·class="ss">modules</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8578925973-6">[</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">
149 ········</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">149 ········</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
150 ·········</span><span·class="ss">ssh_xfer</span><span·class="p"·data-group-id="6559050625-6">]</span><span·class="p"·data-group-id="6559050625-5">}</span><span·class="p">,</span><span·class="w">150 ·········</span><span·class="ss">ssh_xfer</span><span·class="p"·data-group-id="8578925973-6">]</span><span·class="p"·data-group-id="8578925973-5">}</span><span·class="p">,</span><span·class="w">
151 ··</span><span·class="p"·data-group-id="6559050625-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6559050625-8">[</span><span·class="p"·data-group-id="6559050625-8">]</span><span·class="p"·data-group-id="6559050625-7">}</span><span·class="p">,</span><span·class="w">151 ··</span><span·class="p"·data-group-id="8578925973-7">{</span><span·class="ss">registered</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8578925973-8">[</span><span·class="p"·data-group-id="8578925973-8">]</span><span·class="p"·data-group-id="8578925973-7">}</span><span·class="p">,</span><span·class="w">
152 ··</span><span·class="p"·data-group-id="6559050625-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6559050625-10">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·267,·SHA:·7191f5e5ad01835f4af600166f59d1952cf823c1e9d1bdefdc1b3ea7e78c104a·...·]-9">}</span><span·class="p">,</span><span·class="w">152 ··</span><span·class="p"·data-group-id="8578925973-9">{</span><span·class="ss">applications</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8578925973-10">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">s[·...·truncated·by·diffoscope;·len:·267,·SHA:·6c79f6d872e241f0e70d6a2e87242dc314a4e9cbb7272f15f8d5ada1190a30be·...·]-9">}</span><span·class="p">,</span><span·class="w">
153 ··</span><span·class="p"·data-group-id="6559050625-11">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6559050625-12">[</span><span·class="p"·data-group-id="6559050625-13">{</span><span·class="ss">user</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·129,·SHA:·12edde890231a7642e72971ad6ede6a5faa16e4e42bca54e0423cb38c4506242·...·]-13">}</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;·HERE</span><span·class="w">153 ··</span><span·class="p"·data-group-id="8578925973-11">{</span><span·class="ss">env</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8578925973-12">[</span><span·class="p"·data-group-id="8578925973-13">{</span><span·class="ss">user</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·129,·SHA:·bfd5386da2f2309af8670046200795916291913a575f75a34724b3374820bcb1·...·]-13">}</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;·HERE</span><span·class="w">
154 ··</span><span·class="p"·data-group-id="6559050625-14">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6559050625-15">{</span><span·class="ss">ssh_app</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·178,·SHA:·fc0064cacbff33eac88e71bd771c62bcb632c6e8bfebecd805c94429cdb277cb·...·]-14">}</span><span·class="p">,</span><span·class="w">154 ··</span><span·class="p"·data-group-id="8578925973-14">{</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8578925973-15">{</span><span·class="ss">ssh_app</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·178,·SHA:·5947bf61a00d1c0a2320bec5dc616d9c35979a70c67b2d386a3cc057e4eb2d6f·...·]-14">}</span><span·class="p">,</span><span·class="w">
155 ·······</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre></li><li><p>In·a·.config·file:</p><pre><code·class="text">erl·-config·ex1</code></pre><p>where·<code·class="inline">ex1.config</code>·contains:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2334612090-1">[</span><span·class="w">155 ·······</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre></li><li><p>In·a·.config·file:</p><pre><code·class="text">erl·-config·ex1</code></pre><p>where·<code·class="inline">ex1.config</code>·contains:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3330639484-1">[</span><span·class="w">
156 </span><span·class="p"·data-group-id="2334612090-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2334612090-3">[</span><span·class="p"·data-group-id="2334612090-4">{</span><span·class="ss">user</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·208,·SHA:·2de15aec330b30a7b603c7db0273464302cb5c2bef6d218db3aed2677d9f1acb·...·]-2">}</span><span·class="w">156 </span><span·class="p"·data-group-id="3330639484-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3330639484-3">[</span><span·class="p"·data-group-id="3330639484-4">{</span><span·class="ss">user</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·208,·SHA:·018e4954142d745621d5d17055b811f1fe8fad27d4912cc135b4bfb1d8ab4629·...·]-2">}</span><span·class="w">
157 </span><span·class="p"·data-group-id="2334612090-1">]</span><span·class="p">.</span></code></pre></li></ul><p>If·the·option·is·intended·only·for·a·server·or·for·a·client,·it·may·be·set·in157 </span><span·class="p"·data-group-id="3330639484-1">]</span><span·class="p">.</span></code></pre></li></ul><p>If·the·option·is·intended·only·for·a·server·or·for·a·client,·it·may·be·set·in
158 this·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0815620709-1">[</span><span·class="w">158 this·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2263557714-1">[</span><span·class="w">
159 </span><span·class="p"·data-group-id="0815620709-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0815620709-3">[</span><span·class="p"·data-group-id="0815620709-4">{</span><span·class="ss">server_options</span><span·class="p"[·...·truncated·by·diffoscope;·len:·376,·SHA:·bf1ad9669407b1839f1fabe8c3015c3861f2e2f60c34e5443a6afca0266a0a92·...·]-4">}</span><span·class="p">,</span><span·class="w">159 </span><span·class="p"·data-group-id="2263557714-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2263557714-3">[</span><span·class="p"·data-group-id="2263557714-4">{</span><span·class="ss">server_options</span><span·class="p"[·...·truncated·by·diffoscope;·len:·376,·SHA:·13ace7d1199da8ccaddf9773c348adbdbabf2ee9282a4f539122fe43962cf841·...·]-4">}</span><span·class="p">,</span><span·class="w">
160 ·······</span><span·class="p"·data-group-id="0815620709-7">{</span><span·class="ss">client_options</span><span·class="p">,</span><span·class="p"·data-group-id="0815620709-8">[</span><span·class="p"·data-group-id="0815620709-9">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·195,·SHA:·59d5bad45a5687aaff9cace305d38d4fcbde226ea1228036d241fd9e2c4ffa25·...·]-7">}</span><span·class="w">160 ·······</span><span·class="p"·data-group-id="2263557714-7">{</span><span·class="ss">client_options</span><span·class="p">,</span><span·class="p"·data-group-id="2263557714-8">[</span><span·class="p"·data-group-id="2263557714-9">{</span><span·class="ss">user</span><span·class="p">,</span><span·class="w[·...·truncated·by·diffoscope;·len:·195,·SHA:·d91deb31f5df62b2497b9b67636861dd444765e08a683af75327175bb4b609be·...·]-7">}</span><span·class="w">
161 </span><span·class="p"·data-group-id="0815620709-3">]</span><span·class="p">.</span></code></pre><p>A·server·(daemon)·will·use·the·user·name·<code·class="inline">foo</code>,·and·a·client·will·use·the·name161 </span><span·class="p"·data-group-id="2263557714-3">]</span><span·class="p">.</span></code></pre><p>A·server·(daemon)·will·use·the·user·name·<code·class="inline">foo</code>,·and·a·client·will·use·the·name
162 <code·class="inline">bar</code>.</p></li></ul><h2·id="precedence"·class="section-heading">162 <code·class="inline">bar</code>.</p></li></ul><h2·id="precedence"·class="section-heading">
163 ··<a·href="#precedence"·class="hover-link">163 ··<a·href="#precedence"·class="hover-link">
164 ····<i·class="ri-link-m"·aria-hidden="true"></i>164 ····<i·class="ri-link-m"·aria-hidden="true"></i>
165 ··</a>165 ··</a>
166 ··<span·class="text">Precedence</span>166 ··<span·class="text">Precedence</span>
167 </h2>167 </h2>
168 <p>If·an·option·is·set·in·more·than·one·way,·what·happens?</p><p>There·is·an·ordering,·which·is:</p><ul><li>Level·0:·Hard-coded·default·values·in·the·OTP·SSH·source·code</li><li>Level·1:·<a·href="../../../../lib/kernel-10.3/doc/html/config.html">OTP·Configuration·Parameters</a></li><li>Level·2:·Options·in·the·<a·href="../../../../lib/kernel-10.3/doc/html/config.html">OTP·Configuration·Parameters</a>168 <p>If·an·option·is·set·in·more·than·one·way,·what·happens?</p><p>There·is·an·ordering,·which·is:</p><ul><li>Level·0:·Hard-coded·default·values·in·the·OTP·SSH·source·code</li><li>Level·1:·<a·href="../../../../lib/kernel-10.3/doc/html/config.html">OTP·Configuration·Parameters</a></li><li>Level·2:·Options·in·the·<a·href="../../../../lib/kernel-10.3/doc/html/config.html">OTP·Configuration·Parameters</a>
Offset 225, 96 lines modifiedOffset 225, 96 lines modified
225 ··························'aes192-cbc','aes128-cbc','3des-cbc']}]},225 ··························'aes192-cbc','aes128-cbc','3des-cbc']}]},
226 ·{mac,[{client2server,['hmac-sha2-256','hmac-sha2-512',226 ·{mac,[{client2server,['hmac-sha2-256','hmac-sha2-512',
227 ·······················'hmac-sha1']},227 ·······················'hmac-sha1']},
228 ·······{server2client,['hmac-sha2-256','hmac-sha2-512',228 ·······{server2client,['hmac-sha2-256','hmac-sha2-512',
229 ·······················'hmac-sha1']}]},229 ·······················'hmac-sha1']}]},
230 ·{compression,[{client2server,[none,'zlib@openssh.com',zlib]},230 ·{compression,[{client2server,[none,'zlib@openssh.com',zlib]},
231 ···············{server2client,[none,'zlib@openssh.com',zlib]}]}]</code></pre><p>Note·that·the·algorithms·in·the·file·<code·class="inline">ex2.config</code>·is·not·yet·applied.·They·will231 ···············{server2client,[none,'zlib@openssh.com',zlib]}]}]</code></pre><p>Note·that·the·algorithms·in·the·file·<code·class="inline">ex2.config</code>·is·not·yet·applied.·They·will
232 be·when·we·start·ssh:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="4077793089-1">(</span><span·class="p"·data-group-id="4077793089-1">)</span><span·class="p">.</span><span·class="w">232 be·when·we·start·ssh:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="5609827921-1">(</span><span·class="p"·data-group-id="5609827921-1">)</span><span·class="p">.</span><span·class="w">
233 </span><span·class="ss">ok</span><span·class="gp·unselectable">233 </span><span·class="ss">ok</span><span·class="gp·unselectable">
234 3&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">default_algorithms</span><span·class="p"·data-group-id="4077793089-2">(</span><span·class="p"·data-group-id="4077793089-2">)</span><span·class="p">.</span><span·class="w">234 3&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">default_algorithms</span><span·class="p"·data-group-id="5609827921-2">(</span><span·class="p"·data-group-id="5609827921-2">)</span><span·class="p">.</span><span·class="w">
235 </span><span·class="p"·data-group-id="4077793089-3">[</span><span·class="p"·data-group-id="4077793089-4">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="4077793089-5">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·331c7ed6f8b4a01f4e19640286758d0f6cc5192f3a8baa0175ad85a91037b097·...·]-4">}</span><span·class="p">,</span><span·class="w">235 </span><span·class="p"·data-group-id="5609827921-3">[</span><span·class="p"·data-group-id="5609827921-4">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="5609827921-5">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·8ec8cfe81ddd27415b4b4f434a183a9f7495350a30d3d18228dbaed7b7845656·...·]-4">}</span><span·class="p">,</span><span·class="w">
236 ·</span><span·class="p"·data-group-id="4077793089-6">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="4077793089-7">[</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p"·data-group-id="4077793089-7">]</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·86a3d475b1dfcbdd1fbe71116e6b2412512aee3d9a6ae7ccdc21a6e5988fe909·...·]-6">}</span><span·class="p">,</span><span·class="w">236 ·</span><span·class="p"·data-group-id="5609827921-6">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="5609827921-7">[</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p"·data-group-id="5609827921-7">]</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·7c4ea6ec38eb57b1f237375e591131145dec70286f17ece5a411c5878f673839·...·]-6">}</span><span·class="p">,</span><span·class="w">
237 ·</span><span·class="p"·data-group-id="4077793089-8">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="4077793089-9">[</span><span·class="p"·data-group-id="4077793089-10">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class=[·...·truncated·by·diffoscope;·len:·181,·SHA:·9fa62d8ab046c2f21bbf53804e32df13e926554201ab38d7fdb832ff5ec58846·...·]-10">}</span><span·class="p">,</span><span·class="w">237 ·</span><span·class="p"·data-group-id="5609827921-8">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="5609827921-9">[</span><span·class="p"·data-group-id="5609827921-10">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class=[·...·truncated·by·diffoscope;·len:·181,·SHA:·e74b39b1b30b7d9f0bf5f104e304d370f70b39ec7e48c3ffa433f5d817d56e0f·...·]-10">}</span><span·class="p">,</span><span·class="w">
238 ··········</span><span·class="p"·data-group-id="4077793089-12">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4077793089-13">[</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p"·data-group-id="4077793089-13">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·128,·SHA:·31a8a6e475543a53f5e9c2e5664aabbd74920dc40550ef9a8d62c2fad2ee6f64·...·]-8">}</span><span·class="p">,</span><span·class="w">238 ··········</span><span·class="p"·data-group-id="5609827921-12">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="5609827921-13">[</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p"·data-group-id="5609827921-13">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·128,·SHA:·bf3b72bc10e035e5d7543a901f68bd86fa2c91774ccd1ae38f1775f27fe1594a·...·]-8">}</span><span·class="p">,</span><span·class="w">
239 ·</span><span·class="p"·data-group-id="4077793089-14">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="4077793089-15">[</span><span·class="p"·data-group-id="4077793089-16">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·179,·SHA:·76e532840c3762ef2c77b556eb02e68913a6f2997ad1f03fc7f8c557158b1fa8·...·]-16">}</span><span·class="p">,</span><span·class="w">239 ·</span><span·class="p"·data-group-id="5609827921-14">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="5609827921-15">[</span><span·class="p"·data-group-id="5609827921-16">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·179,·SHA:·1c3a02f3f26702d4a7028199a7b42ca065596d1ff7debd5ed15b8eb3a2e41308·...·]-16">}</span><span·class="p">,</span><span·class="w">
240 ·······</span><span·class="p"·data-group-id="4077793089-18">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4077793089-19">[</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="4077793089-19">]</span><span·class="p"·data-group-id="4077793089-18">}</span><span·class="p"·data-group-id="4077793089-15">]</span><span·class="p"·data-group-id="4077793089-14">}</span><span·class="p">,</span><span·class="w"> 
241 ·</span><span·class="p"·data-group-id="4077793089-20">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="4077793089-21">[</span><span·class="p"·data-group-id="4077793089-22">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p"·data-group-id="4077793089-23">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">&#39;zlib@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">zlib</span><span·class="p"·data-group-id="4077793089-23">]</span><span·class="p"·data-group-id="4077793089-22">}</span><span·class="p">,</span><span·class="w"> 
242 ···············</span><span·class="p"·data-group-id="4077793089-24">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="4077793089-25">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">&#3[·...·truncated·by·diffoscope;·len:·344,·SHA:·97d5fc5b75948a816baf68c9e8d4234dd361ec5334dbd62aa6809a75cd5089cd·...·]</span><span·class="w">240 ·······</span><span·class="p"·data-group-id="5609827921-18">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="5609827921-19">[</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="560982[·...·truncated·by·diffoscope;·len:·196,·SHA:·6121b9e0930cb0f93454aaf37dd3b829cbd508357e03a26a7bab526b90473758·...·]</span><span·class="w">
 241 ·</span><span·class="p"·data-group-id="5609827921-20">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="5609827921-21">[</span><span·class="p"·data-group-id="5609827921-22">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p"·data-group-id="5609827921-23">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">&#39;zlib@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">zlib</span><span·class="p"·data-group-id="5609827921-23">]</span><span·class="p"·data-group-id="5609827921-22">}</span><span·class="p">,</span><span·class="w">
 242 ···············</span><span·class="p"·data-group-id="5609827921-24">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="5609827921-25">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">&#39;zlib@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">zlib</span><span·class="p"·data-group-id="5609827921-25">]</span><span·class="p"·data-group-id="5609827921-24">}</span><span·class="p"·data-group-id="5609827921-21">]</span><span·class="p"·data-group-id="5609827921-20">}</span><span·class="p"·data-group-id="5609827921-3">]</span><span·class="w">
243 </span><span·class="mi">4</span><span·class="o">&gt;</span></code></pre><p>We·see·that·the·algorithm·set·is·changed·to·the·one·in·the·<code·class="inline">ex2.config</code>.·Since243 </span><span·class="mi">4</span><span·class="o">&gt;</span></code></pre><p>We·see·that·the·algorithm·set·is·changed·to·the·one·in·the·<code·class="inline">ex2.config</code>.·Since
244 <code·class="inline">compression</code>·is·not·specified·in·the·file,·the·hard-coded·default·is·still·used244 <code·class="inline">compression</code>·is·not·specified·in·the·file,·the·hard-coded·default·is·still·used
245 for·that·entry.</p><h4>Establishing·a·connection·(ssh:connect·et·al)·or·starting·a·daemon·(ssh:daemon)</h4><p>Both·when·the·client·establishes·a·connection·with·ssh:connect·or·other245 for·that·entry.</p><h4>Establishing·a·connection·(ssh:connect·et·al)·or·starting·a·daemon·(ssh:daemon)</h4><p>Both·when·the·client·establishes·a·connection·with·ssh:connect·or·other
246 functions,·or·a·daemon·is·started·with·ssh:daemon,·the·option·lists·in·the246 functions,·or·a·daemon·is·started·with·ssh:daemon,·the·option·lists·in·the
247 function·calls·are·also·used.</p><p>If·a·client·is·started·(ssh:connect·et·al),·the·environment·variable247 function·calls·are·also·used.</p><p>If·a·client·is·started·(ssh:connect·et·al),·the·environment·variable
248 <code·class="inline">client_options</code>·is·used.·Similarly·for·a·daemon·the·<code·class="inline">server_options</code>·variable248 <code·class="inline">client_options</code>·is·used.·Similarly·for·a·daemon·the·<code·class="inline">server_options</code>·variable
249 is·handled.</p><p>If·any·<a·href="ssh.html#t:preferred_algorithms_common_option/0">preferred_algorithms</a>·is249 is·handled.</p><p>If·any·<a·href="ssh.html#t:preferred_algorithms_common_option/0">preferred_algorithms</a>·is
250 present,·the·one·with·the·highest·level·is·used,·that·is,·the·<code·class="inline">Option</code>·list250 present,·the·one·with·the·highest·level·is·used,·that·is,·the·<code·class="inline">Option</code>·list
251 parameter·has·the·highest·priority.·Then·the251 parameter·has·the·highest·priority.·Then·the
252 <a·href="ssh.html#t:modify_algorithms_common_option/0">modify_algorithms</a>·on·all·levels·in252 <a·href="ssh.html#t:modify_algorithms_common_option/0">modify_algorithms</a>·on·all·levels·in
253 order·starting·with·level·0·are·applied.</p><p>We·continue·the·example·above·by·connecting·to·a·server·and·modifying·the·<code·class="inline">kex</code>253 order·starting·with·level·0·are·applied.</p><p>We·continue·the·example·above·by·connecting·to·a·server·and·modifying·the·<code·class="inline">kex</code>
254 algorithm·set.·We·remove·the·only·one·(<code·class="inline">'ecdh-sha2-nistp384'</code>)·and·add254 algorithm·set.·We·remove·the·only·one·(<code·class="inline">'ecdh-sha2-nistp384'</code>)·and·add
255 <code·class="inline">'curve25519-sha256@libssh.org'</code>·by·appending·it·to·the·now·empty·list:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="p"·data-group-id="8877603103-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="8877603103-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ssh</span><span·cl[·...·truncated·by·diffoscope;·len:·88,·SHA:·c047cb35f723b073b049abc08b575d688749dcfc8cc156e42f2c24d90211d4ad·...·]-2">(</span><span·class="ss">loopback</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">22</span><span·class="p">,</span><span·class="w">255 <code·class="inline">'curve25519-sha256@libssh.org'</code>·by·appending·it·to·the·now·empty·list:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="p"·data-group-id="4373584897-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="4373584897-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ssh</span><span·cl[·...·truncated·by·diffoscope;·len:·88,·SHA:·e8e48ec45eab78e65980fdf51136f6fb3174fd95984cbeaf05caeb619ec50f84·...·]-2">(</span><span·class="ss">loopback</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">22</span><span·class="p">,</span><span·class="w">
256 ························</span><span·class="p"·data-group-id="8877603103-3">[</span><span·class="p"·data-group-id="8877603103-4">{</span><span·class="ss">modify_algorithms</span><span·class="p">,</span><span·class="w">256 ························</span><span·class="p"·data-group-id="4373584897-3">[</span><span·class="p"·data-group-id="4373584897-4">{</span><span·class="ss">modify_algorithms</span><span·class="p">,</span><span·class="w">
257 ·································</span><span·class="p"·data-group-id="8877603103-5">[</span><span·class="p"·data-group-id="8877603103-6">{</span><span·class="ss">rm</span><span·class="p">,</span><span·class="w">257 ·································</span><span·class="p"·data-group-id="4373584897-5">[</span><span·class="p"·data-group-id="4373584897-6">{</span><span·class="ss">rm</span><span·class="p">,</span><span·class="w">
258 ·····································</span><span·class="p"·data-group-id="8877603103-7">[</span><span·class="w">·</span><span·class="p"·data-group-id="8877603103-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="8877603103-9">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><[·...·truncated·by·diffoscope;·len:·170,·SHA:·98e0cf9d45ff4afc519a18d2cf344d742be1926a72d7db738c0b127f2208ac8e·...·]-7">]</span><span·class="w">258 ·····································</span><span·class="p"·data-group-id="4373584897-7">[</span><span·class="w">·</span><span·class="p"·data-group-id="4373584897-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="4373584897-9">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><[·...·truncated·by·diffoscope;·len:·170,·SHA:·25d15166eac6f5d8f6b4eab773d7a0355dea6ece818e3478613e2042dcc27fc4·...·]-7">]</span><span·class="w">
259 »       »       »       »       ··</span><span·class="p"·data-group-id="8877603103-6">}</span><span·class="p">,</span><span·class="w">259 »       »       »       »       ··</span><span·class="p"·data-group-id="4373584897-6">}</span><span·class="p">,</span><span·class="w">
260 ··································</span><span·class="p"·data-group-id="8877603103-10">{</span><span·class="ss">append</span><span·class="p">,</span><span·class="w">260 ··································</span><span·class="p"·data-group-id="4373584897-10">{</span><span·class="ss">append</span><span·class="p">,</span><span·class="w">
261 »       »       »       ·············</span><span·class="p"·data-group-id="8877603103-11">[</span><span·class="w">·</span><span·class="p"·data-group-id="8877603103-12">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="8877603103-13">[</span><span·class="ss">&#39;curve25519-sha256@libssh.org[·...·truncated·by·diffoscope;·len:·185,·SHA:·8b4207d97a406ee55b47ef98fbc4e85bdd7281b9a94b0fe9b87ec98f86697650·...·]-11">]</span><span·class="w">261 »       »       »       ·············</span><span·class="p"·data-group-id="4373584897-11">[</span><span·class="w">·</span><span·class="p"·data-group-id="4373584897-12">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="4373584897-13">[</span><span·class="ss">&#39;curve25519-sha256@libssh.org[·...·truncated·by·diffoscope;·len:·185,·SHA:·029ed9e5a292826b583951031ae562e41d7350f888cdd682d82edba5f10caf40·...·]-11">]</span><span·class="w">
262 »       »       »       »       ··</span><span·class="p"·data-group-id="8877603103-10">}</span><span·class="w">262 »       »       »       »       ··</span><span·class="p"·data-group-id="4373584897-10">}</span><span·class="w">
263 »       »       »       »       ·</span><span·class="p"·data-group-id="8877603103-5">]</span><span·class="w">263 »       »       »       »       ·</span><span·class="p"·data-group-id="4373584897-5">]</span><span·class="w">
264 »       ·················</span><span·class="p"·data-group-id="8877603103-4">}</span><span·class="w">264 »       ·················</span><span·class="p"·data-group-id="4373584897-4">}</span><span·class="w">
265 ························</span><span·class="p"·data-group-id="8877603103-3">]</span><span·class="p"·data-group-id="8877603103-2">)</span><span·class="p">.</span><span·class="w">265 ························</span><span·class="p"·data-group-id="4373584897-3">]</span><span·class="p"·data-group-id="4373584897-2">)</span><span·class="p">.</span><span·class="w">
266 </span><span·class="p"·data-group-id="8877603103-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&gt;</span><span·class="mf">0.118</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="8877603103-14">}</span></code></pre><p>We·check·which·algorithms·are·negotiated·by·the·client·and·the·server,·and·note266 </span><span·class="p"·data-group-id="4373584897-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&gt;</span><span·class="mf">0.118</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="4373584897-14">}</span></code></pre><p>We·check·which·algorithms·are·negotiated·by·the·client·and·the·server,·and·note
267 that·the·(only)·<code·class="inline">kex</code>·algorithm·<code·class="inline">'curve25519-sha256@libssh.org'</code>·was·selected:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">connection_info</span><span·class="p"·data-group-id="0313139328-1">(</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">algorithms</span><span·class="p"·data-group-id="0313139328-1">)</span><span·class="p">.</span><span·class="w">267 that·the·(only)·<code·class="inline">kex</code>·algorithm·<code·class="inline">'curve25519-sha256@libssh.org'</code>·was·selected:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">connection_info</span><span·class="p"·data-group-id="7067924273-1">(</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">algorithms</span><span·class="p"·data-group-id="7067924273-1">)</span><span·class="p">.</span><span·class="w">
268 </span><span·class="p"·data-group-id="0313139328-2">{</span><span·class="ss">algorithms</span><span·class="p">,</span><span·class="p"·data-group-id="0313139328-3">[</span><span·class="p"·data-group-id="0313139328-4">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="ss">&#[·...·truncated·by·diffoscope;·len:·84,·SHA:·a2e4aea681eeb84b56da0f6f709368febb99011f1a765858a420b823bdcb0e00·...·]-4">}</span><span·class="p">,</span><span·class="w">268 </span><span·class="p"·data-group-id="7067924273-2">{</span><span·class="ss">algorithms</span><span·class="p">,</span><span·class="p"·data-group-id="7067924273-3">[</span><span·class="p"·data-group-id="7067924273-4">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="ss">&#[·...·truncated·by·diffoscope;·len:·84,·SHA:·337afbcfd6beb9a7b822440bf19edf588da45a6add538020b3fb3c730db70363·...·]-4">}</span><span·class="p">,</span><span·class="w">
269 ·············</span><span·class="p"·data-group-id="0313139328-5">{</span><span·class="ss">hkey</span><span·class="p">,</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p"·data-group-id="0313139328-5">}</span><span·class="p">,</span><span·class="w">269 ·············</span><span·class="p"·data-group-id="7067924273-5">{</span><span·class="ss">hkey</span><span·class="p">,</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p"·data-group-id="7067924273-5">}</span><span·class="p">,</span><span·class="w">
270 ·············</span><span·class="p"·data-group-id="0313139328-6">{</span><span·class="ss">send_mac</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="0313139328-6">}</span><span·class="p">,</span><span·class="w">270 ·············</span><span·class="p"·data-group-id="7067924273-6">{</span><span·class="ss">send_mac</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="7067924273-6">}</span><span·class="p">,</span><span·class="w">
271 ·············</span><span·class="p"·data-group-id="0313139328-7">{</span><span·class="ss">recv_mac</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="0313139328-7">}</span><span·class="p">,</span><span·class="w">271 ·············</span><span·class="p"·data-group-id="7067924273-7">{</span><span·class="ss">recv_mac</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="7067924273-7">}</span><span·class="p">,</span><span·class="w">
272 ·············</span><span·class="p"·data-group-id="0313139328-8">{</span><span·class="ss">encrypt</span><span·class="p">,</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p"·data-group-id="0313139328-8">}</span><span·class="p">,</span><span·class="w">272 ·············</span><span·class="p"·data-group-id="7067924273-8">{</span><span·class="ss">encrypt</span><span·class="p">,</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p"·data-group-id="7067924273-8">}</span><span·class="p">,</span><span·class="w">
273 ·············</span><span·class="p"·data-group-id="0313139328-9">{</span><span·class="ss">decrypt</span><span·class="p">,</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p"·data-group-id="0313139328-9">}</span><span·class="p">,</span><span·class="w">273 ·············</span><span·class="p"·data-group-id="7067924273-9">{</span><span·class="ss">decrypt</span><span·class="p">,</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p"·data-group-id="7067924273-9">}</span><span·class="p">,</span><span·class="w">
274 ·············</span><span·class="p"·data-group-id="0313139328-10">{</span><span·class="ss">compress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="0313139328-10">}</span><span·class="p">,</span><span·class="w">274 ·············</span><span·class="p"·data-group-id="7067924273-10">{</span><span·class="ss">compress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="7067924273-10">}</span><span·class="p">,</span><span·class="w">
275 ·············</span><span·class="p"·data-group-id="0313139328-11">{</span><span·class="ss">decompress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="0313139328-11">}</span><span·class="p">,</span><span·class="w">275 ·············</span><span·class="p"·data-group-id="7067924273-11">{</span><span·class="ss">decompress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="7067924273-11">}</span><span·class="p">,</span><span·class="w">
276 ·············</span><span·class="p"·data-group-id="0313139328-12">{</span><span·class="ss">send_ext_info</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="0313139328-12">}</span><span·class="p">,</span><span·class="w">276 ·············</span><span·class="p"·data-group-id="7067924273-12">{</span><span·class="ss">send_ext_info</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="7067924273-12">}</span><span·class="p">,</span><span·class="w">
277 ·············</span><span·class="p"·data-group-id="0313139328-13">{</span><span·class="ss">recv_ext_info</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="0313139328-13">}</span><span·class="p"·data-group-id="0313139328-3">]</span><span·class="p"·data-group-id="031313[·...·truncated·by·diffoscope;·len:·4,·SHA:·a58cac7647f3781ea71a54ddbc282bb18babdfda79e24cf731e8845f233b851c·...·]-2">}</span></code></pre><h4>Example·of·modify_algorithms·handling</h4><p>We·will·now·check·if·the277 ·············</span><span·class="p"·data-group-id="7067924273-13">{</span><span·class="ss">recv_ext_info</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="7067924273-13">}</span><span·class="p"·data-group-id="7067924273-3">]</span><span·class="p"·data-group-id="706792[·...·truncated·by·diffoscope;·len:·4,·SHA:·864e30ed8784e9cd8adca9764fb524791ccd9d36e6d2a31067369a5173b6eb25·...·]-2">}</span></code></pre><h4>Example·of·modify_algorithms·handling</h4><p>We·will·now·check·if·the
278 <a·href="ssh.html#t:modify_algorithms_common_option/0">modify_algorithms</a>·on·a·lower·level278 <a·href="ssh.html#t:modify_algorithms_common_option/0">modify_algorithms</a>·on·a·lower·level
279 is·applied·to·a279 is·applied·to·a
280 <a·href="ssh.html#t:preferred_algorithms_common_option/0">preferred_algorithms</a>·on·a·higher280 <a·href="ssh.html#t:preferred_algorithms_common_option/0">preferred_algorithms</a>·on·a·higher
281 level.·We·will·do·that·by·enabling·the·<code·class="inline">ssh-dss</code>·algorithm·that·is·supported,281 level.·We·will·do·that·by·enabling·the·<code·class="inline">ssh-dss</code>·algorithm·that·is·supported,
282 but·not·in·the·default·set.</p><p>The·config·file·<code·class="inline">ex3.config</code>·has·the·contents:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9197035614-1">[</span><span·class="w">282 but·not·in·the·default·set.</p><p>The·config·file·<code·class="inline">ex3.config</code>·has·the·contents:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0070586021-1">[</span><span·class="w">
283 ·</span><span·class="p"·data-group-id="9197035614-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9197035614-3">[</span><span·class="p"·data-group-id="9197035614-4">{</span><span·class="ss">modify_algorithms</span><span·class="p">,</span><span·class="w">283 ·</span><span·class="p"·data-group-id="0070586021-2">{</span><span·class="ss">ssh</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0070586021-3">[</span><span·class="p"·data-group-id="0070586021-4">{</span><span·class="ss">modify_algorithms</span><span·class="p">,</span><span·class="w">
284 ·········</span><span·class="p"·data-group-id="9197035614-5">[</span><span·class="w">·</span><span·class="p"·data-group-id="9197035614-6">{</span><span·class="ss">prepend</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9197035614-7">[</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·481,·SHA:·26c33ad8eb3ec9caee1a053e375b9aa3f86e8e5b7861797f5d7ede3f890b5402·...·]-5">]</span><span·class="w">284 ·········</span><span·class="p"·data-group-id="0070586021-5">[</span><span·class="w">·</span><span·class="p"·data-group-id="0070586021-6">{</span><span·class="ss">prepend</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0070586021-7">[</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·481,·SHA:·34590c0c83e5f8ffb05127324ef1007faf62ae1513c9dfc9f3184e0f10935c86·...·]-5">]</span><span·class="w">
285 ········</span><span·class="p"·data-group-id="9197035614-4">}</span><span·class="p"·data-group-id="9197035614-3">]</span><span·class="p"·data-group-id="9197035614-2">}</span><span·class="w">285 ········</span><span·class="p"·data-group-id="0070586021-4">}</span><span·class="p"·data-group-id="0070586021-3">]</span><span·class="p"·data-group-id="0070586021-2">}</span><span·class="w">
286 </span><span·class="p"·data-group-id="9197035614-1">]</span><span·class="p">.</span></code></pre><p>A·newly·started·erlang·shell·shows·that·no·<code·class="inline">'ssh-dss'</code>·is·present·in·the286 </span><span·class="p"·data-group-id="0070586021-1">]</span><span·class="p">.</span></code></pre><p>A·newly·started·erlang·shell·shows·that·no·<code·class="inline">'ssh-dss'</code>·is·present·in·the
287 <code·class="inline">public_key</code>·entry:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="5827403021-1">(</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">default_algorithms</span><span·class="p"·data-group-id="5827403021-2">(</span><span·[·...·truncated·by·diffoscope;·len:·88,·SHA:·22d4fc47df28f0c96e80c8a9b431abb088d56159ec3e90de30983541fa7c24c8·...·]-1">)</span><span·class="p">.</span><span·class="w">287 <code·class="inline">public_key</code>·entry:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="3327758378-1">(</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">default_algorithms</span><span·class="p"·data-group-id="3327758378-2">(</span><span·[·...·truncated·by·diffoscope;·len:·88,·SHA:·09047223884ae0c3235ccea2e6ba9353f926162a385df2c3a57f4d2e3175b17b·...·]-1">)</span><span·class="p">.</span><span·class="w">
288 </span><span·class="p"·data-group-id="5827403021-3">[</span><span·class="ss">&#39;ecdsa-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdsa-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">288 </span><span·class="p"·data-group-id="3327758378-3">[</span><span·class="ss">&#39;ecdsa-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdsa-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">
289 ·</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-ed25519&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-ed448&#39;</span><span·class="p">,</span><span·class="w">289 ·</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-ed25519&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-ed448&#39;</span><span·class="p">,</span><span·class="w">
290 ·</span><span·class="ss">&#39;rsa-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;rsa-sha2-512&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p"·data-group-id="5827403021-3">]</span><span·class="w">290 ·</span><span·class="ss">&#39;rsa-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;rsa-sha2-512&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p"·data-group-id="3327758378-3">]</span><span·class="w">
291 </span><span·class="mi">2</span><span·class="o">&gt;</span></code></pre><p>A·call·to·<a·href="ssh.html#connect/3"><code·class="inline">ssh:connect/3</code></a>·removes·all·algorithms·but·one·of·each·type:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="0104397690-1">(</span><span·class="p"·data-group-id="0104397690-1">)</span><span·class="p">.</span><span·class="w">291 </span><span·class="mi">2</span><span·class="o">&gt;</span></code></pre><p>A·call·to·<a·href="ssh.html#connect/3"><code·class="inline">ssh:connect/3</code></a>·removes·all·algorithms·but·one·of·each·type:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="0238368964-1">(</span><span·class="p"·data-group-id="0238368964-1">)</span><span·class="p">.</span><span·class="w">
292 </span><span·class="ss">ok</span><span·class="gp·unselectable">292 </span><span·class="ss">ok</span><span·class="gp·unselectable">
293 3&gt;·</span><span·class="p"·data-group-id="0104397690-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="0104397690-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ssh</span><span·cla[·...·truncated·by·diffoscope;·len:·87,·SHA:·ef3d42269d3b55a2049e477d470443a2870fd58117713c63325ae19c0e783e3e·...·]-3">(</span><span·class="ss">loopback</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">22</span><span·class="p">,</span><span·class="w">293 3&gt;·</span><span·class="p"·data-group-id="0238368964-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="0238368964-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ssh</span><span·cla[·...·truncated·by·diffoscope;·len:·87,·SHA:·da2608504b7d63938c033c35800f27b6c4d04921627913f220d627b16844d197·...·]-3">(</span><span·class="ss">loopback</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">22</span><span·class="p">,</span><span·class="w">
294 ························</span><span·class="p"·data-group-id="0104397690-4">[</span><span·class="p"·data-group-id="0104397690-5">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">294 ························</span><span·class="p"·data-group-id="0238368964-4">[</span><span·class="p"·data-group-id="0238368964-5">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
295 ·························</span><span·class="p"·data-group-id="0104397690-6">[</span><span·class="p"·data-group-id="0104397690-7">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0104397690-8">[</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;<[·...·truncated·by·diffoscope;·len:·100,·SHA:·54c8a4d06dd4e355f0ca2460aa4944c9fbce81803b7ff19fef207108132f360b·...·]-7">}</span><span·class="p">,</span><span·class="w">295 ·························</span><span·class="p"·data-group-id="0238368964-6">[</span><span·class="p"·data-group-id="0238368964-7">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0238368964-8">[</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;<[·...·truncated·by·diffoscope;·len:·100,·SHA:·f410e65446b0653e9789eed65becf839b2efa79cc16f151db8767f25a6e0bba8·...·]-7">}</span><span·class="p">,</span><span·class="w">
296 »       »       »       ··</span><span·class="p"·data-group-id="0104397690-9">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0104397690-10">[</span><span·class="ss">&#39;ecdh-sha2-nistp256&#39;</span><span·class="p"·data-group-id="0104397690-10">]</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·04198344eab203daa1895392c2bb6b0dd67ca83be70b329d62b5d75b03d56211·...·]-9">}</span><span·class="p">,</span><span·class="w">296 »       »       »       ··</span><span·class="p"·data-group-id="0238368964-9">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0238368964-10">[</span><span·class="ss">&#39;ecdh-sha2-nistp256&#39;</span><span·class="p"·data-group-id="0238368964-10">]</span>[·...·truncated·by·diffoscope;·len:·41,·SHA:·600c5b62da268488187485ec32ac7a6fd52d82bb512590e64c1132163722e6b8·...·]-9">}</span><span·class="p">,</span><span·class="w">
297 »       »       ··········</span><span·class="p"·data-group-id="0104397690-11">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0104397690-12">[</span><span·class="ss">&#39;chacha20-poly1305@openssh.com&#39;</span><span·class="p"·data-group-id="01043976[·...·truncated·by·diffoscope;·len:·56,·SHA:·9e281228a3e9c0edddbc95f7fe91016d3c93690d27417ffba6b7327b7d2c9f22·...·]-11">}</span><span·class="p">,</span><span·class="w">297 »       »       ··········</span><span·class="p"·data-group-id="0238368964-11">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0238368964-12">[</span><span·class="ss">&#39;chacha20-poly1305@openssh.com&#39;</span><span·class="p"·data-group-id="02383689[·...·truncated·by·diffoscope;·len:·56,·SHA:·f8b59a02fa9b344229e1aeaaffae8b1484ad7bdae5dd057c0bce0b6cc37237da·...·]-11">}</span><span·class="p">,</span><span·class="w">
298 »       »       »       ··</span><span·class="p"·data-group-id="0104397690-13">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0104397690-14">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p"·data-group-id="0104397690-14">]</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·d2f5a44403abacbafd119951e223ec5ac9d7fd417153a6b2790e2a2c5add793f·...·]-13">}</span><span·class="p">,</span><span·class="w">298 »       »       »       ··</span><span·class="p"·data-group-id="0238368964-13">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0238368964-14">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p"·data-group-id="0238368964-14">]</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·2ba1f8d0d8261cc9b50a4127379ecc53549eaa3f8dc17ce0dde6c4db3666a167·...·]-13">}</span><span·class="p">,</span><span·class="w">
299 »       »       »       ··</span><span·class="p"·data-group-id="0104397690-15">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0104397690-16">[</span><span·class="ss">none</span><span·class="p"·data-group-id="0104397690-16">]</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·87362afa24f789b4c6493ac65948ec110c8aba60808994a770eab925d2b203dc·...·]-15">}</span><span·class="w">299 »       »       »       ··</span><span·class="p"·data-group-id="0238368964-15">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0238368964-16">[</span><span·class="ss">none</span><span·class="p"·data-group-id="0238368964-16">]</span><span·class="p"[·...·truncated·by·diffoscope;·len:·26,·SHA:·042d78c49fb3e65a0a4658a53fdb4f338cf360e434e8087c1b0c31b7bda0f01b·...·]-15">}</span><span·class="w">
300 »       »       »       ··</span><span·class="p"·data-group-id="0104397690-6">]</span><span·class="p"·data-group-id="0104397690-5">}</span><span·class="w">300 »       »       »       ··</span><span·class="p"·data-group-id="0238368964-6">]</span><span·class="p"·data-group-id="0238368964-5">}</span><span·class="w">
301 »       »       »       ·</span><span·class="p"·data-group-id="0104397690-4">]</span><span·class="p"·data-group-id="0104397690-3">)</span><span·class="p">.</span><span·class="w">301 »       »       »       ·</span><span·class="p"·data-group-id="0238368964-4">]</span><span·class="p"·data-group-id="0238368964-3">)</span><span·class="p">.</span><span·class="w">
302 </span><span·class="p"·data-group-id="0104397690-17">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.101</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="0104397690-17">}</span><span·class="gp·unselectable">302 </span><span·class="p"·data-group-id="0238368964-17">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.101</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="0238368964-17">}</span><span·class="gp·unselectable">
303 4&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">connection_info</span><span·class="p"·data-group-id="0104397690-18">(</span><span·class="n">C</span><span·class="p">,</span><span·class="ss">algorithms</span><span·class="p"·data-group-id="0104397690-18">)</span><span·class="p">.</span><span·class="w">303 4&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">connection_info</span><span·class="p"·data-group-id="0238368964-18">(</span><span·class="n">C</span><span·class="p">,</span><span·class="ss">algorithms</span><span·class="p"·data-group-id="0238368964-18">)</span><span·class="p">.</span><span·class="w">
304 </span><span·class="p"·data-group-id="0104397690-19">{</span><span·class="ss">algorithms</span><span·class="p">,</span><span·class="p"·data-group-id="0104397690-20">[</span><span·class="p"·data-group-id="0104397690-21">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·76,·SHA:·fed099298176ff5004f304da98b7b32ad9251c310e925885c505d3be6abb265b·...·]-21">}</span><span·class="p">,</span><span·class="w">304 </span><span·class="p"·data-group-id="0238368964-19">{</span><span·class="ss">algorithms</span><span·class="p">,</span><span·class="p"·data-group-id="0238368964-20">[</span><span·class="p"·data-group-id="0238368964-21">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·76,·SHA:·af10a41152fc6e7b73438ed5eae57a873dd81f235966bf89620541da1f41dcb9·...·]-21">}</span><span·class="p">,</span><span·class="w">
305 ·············</span><span·class="p"·data-group-id="0104397690-22">{</span><span·class="ss">hkey</span><span·class="p">,</span><span·class="ss">&#39;ssh-dss&#39;</span><span·class="p"·data-group-id="0104397690-22">}</span><span·class="p">,</span><span·class="w">305 ·············</span><span·class="p"·data-group-id="0238368964-22">{</span><span·class="ss">hkey</span><span·class="p">,</span><span·class="ss">&#39;ssh-dss&#39;</span><span·class="p"·data-group-id="0238368964-22">}</span><span·class="p">,</span><span·class="w">
306 ·············</span><span·class="p"·data-group-id="0104397690-23">{</span><span·class="ss">send_mac</span><span·class="p">,</span><span·class="ss">&#39;chacha20-poly1305@openssh.com&#39;</span><span·class="p"·data-group-id="0104397690-23">}</span><span·class="p">,</span><span·class="w">306 ·············</span><span·class="p"·data-group-id="0238368964-23">{</span><span·class="ss">send_mac</span><span·class="p">,</span><span·class="ss">&#39;chacha20-poly1305@openssh.com&#39;</span><span·class="p"·data-group-id="0238368964-23">}</span><span·class="p">,</span><span·class="w">
307 ·············</span><span·class="p"·data-group-id="0104397690-24">{</span><span·class="ss">recv_mac</span><span·class="p">,</span><span·class="ss">&#39;chacha20-poly1305@openssh.com&#39;</span><span·class="p"·data-group-id="0104397690-24">}</span><span·class="p">,</span><span·class="w">307 ·············</span><span·class="p"·data-group-id="0238368964-24">{</span><span·class="ss">recv_mac</span><span·class="p">,</span><span·class="ss">&#39;chacha20-poly1305@openssh.com&#39;</span><span·class="p"·data-group-id="0238368964-24">}</span><span·class="p">,</span><span·class="w">
308 ·············</span><span·class="p"·data-group-id="0104397690-25">{</span><span·class="ss">encrypt</span><span·class="p">,</span><span·class="ss">&#39;chacha20-poly1305@openssh.com&#39;</span><span·class="p"·data-group-id="0104397690-25">}</span><span·class="p">,</span><span·class="w">308 ·············</span><span·class="p"·data-group-id="0238368964-25">{</span><span·class="ss">encrypt</span><span·class="p">,</span><span·class="ss">&#39;chacha20-poly1305@openssh.com&#39;</span><span·class="p"·data-group-id="0238368964-25">}</span><span·class="p">,</span><span·class="w">
309 ·············</span><span·class="p"·data-group-id="0104397690-26">{</span><span·class="ss">decrypt</span><span·class="p">,</span><span·class="ss">&#39;chacha20-poly1305@openssh.com&#39;</span><span·class="p"·data-group-id="0104397690-26">}</span><span·class="p">,</span><span·class="w">309 ·············</span><span·class="p"·data-group-id="0238368964-26">{</span><span·class="ss">decrypt</span><span·class="p">,</span><span·class="ss">&#39;chacha20-poly1305@openssh.com&#39;</span><span·class="p"·data-group-id="0238368964-26">}</span><span·class="p">,</span><span·class="w">
310 ·············</span><span·class="p"·data-group-id="0104397690-27">{</span><span·class="ss">compress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="0104397690-27">}</span><span·class="p">,</span><span·class="w">310 ·············</span><span·class="p"·data-group-id="0238368964-27">{</span><span·class="ss">compress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="0238368964-27">}</span><span·class="p">,</span><span·class="w">
311 ·············</span><span·class="p"·data-group-id="0104397690-28">{</span><span·class="ss">decompress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="0104397690-28">}</span><span·class="p">,</span><span·class="w">311 ·············</span><span·class="p"·data-group-id="0238368964-28">{</span><span·class="ss">decompress</span><span·class="p">,</span><span·class="ss">none</span><span·class="p"·data-group-id="0238368964-28">}</span><span·class="p">,</span><span·class="w">
312 ·············</span><span·class="p"·data-group-id="0104397690-29">{</span><span·class="ss">send_ext_info</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="0104397690-29">}</span><span·class="p">,</span><span·class="w">312 ·············</span><span·class="p"·data-group-id="0238368964-29">{</span><span·class="ss">send_ext_info</span><span·class="p">,</span><span·class="ss">false</span><span·class="p"·data-group-id="0238368964-29">}</span><span·class="p">,</span><span·class="w">
313 ·············</span><span·class="p"·data-group-id="0104397690-30">{</span><span·class="ss">recv_ext_info</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="0104397690-30">}</span><span·class="p"·data-group-id="0104397690-20">]</span><span·class="p"·data-group-id="010439[·...·truncated·by·diffoscope;·len:·4,·SHA:·10f40939e637d20de1c81fd4e3f00f4c8aa8f1ca5c6608ce1d72222043ebd2e7·...·]-19">}</span><span·class="w">313 ·············</span><span·class="p"·data-group-id="0238368964-30">{</span><span·class="ss">recv_ext_info</span><span·class="p">,</span><span·class="ss">true</span><span·class="p"·data-group-id="0238368964-30">}</span><span·class="p"·data-group-id="0238368964-20">]</span><span·class="p"·data-group-id="023836[·...·truncated·by·diffoscope;·len:·4,·SHA:·3dae35a974004d9515fef8861fab0acb4d8774bfdf5b1fa29e9f0e27c0ed4b23·...·]-19">}</span><span·class="w">
314 </span><span·class="mi">5</span><span·class="o">&gt;</span></code></pre><p>But·<code·class="inline">'ssh-dss'</code>·is·selected·although·the·call·inserted·<em>only</em>314 </span><span·class="mi">5</span><span·class="o">&gt;</span></code></pre><p>But·<code·class="inline">'ssh-dss'</code>·is·selected·although·the·call·inserted·<em>only</em>
315 <code·class="inline">'ecdsa-sha2-nistp256'</code>·as·acceptable.</p><p>This·example·showed·that·we·could·augment·the·set·of·algorithms·with·a315 <code·class="inline">'ecdsa-sha2-nistp256'</code>·as·acceptable.</p><p>This·example·showed·that·we·could·augment·the·set·of·algorithms·with·a
316 config-file·without·the·need·to·change·the·actual·call.</p><p>For·demonstration·purposes·we·used·<code·class="inline">prepend</code>·instead·of·<code·class="inline">append</code>.·This·forces316 config-file·without·the·need·to·change·the·actual·call.</p><p>For·demonstration·purposes·we·used·<code·class="inline">prepend</code>·instead·of·<code·class="inline">append</code>.·This·forces
317 the·negotiation·to·select·<code·class="inline">ssh-dss</code>·since·the·the·full·list·of·public·key317 the·negotiation·to·select·<code·class="inline">ssh-dss</code>·since·the·the·full·list·of·public·key
Max diff block lines reached; 744/63294 bytes (1.18%) of diff not shown.
753 B
html2text {}
Max HTML report size reached
126 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/configure_algos.html
    
Offset 166, 37 lines modifiedOffset 166, 37 lines modified
166 ··</a>166 ··</a>
167 ··<span·class="text">The·SSH·app's·mechanism</span>167 ··<span·class="text">The·SSH·app's·mechanism</span>
168 </h3>168 </h3>
169 <p>The·set·of·algorithms·that·the·SSH·app·uses·by·default·depends·on·the·algorithms169 <p>The·set·of·algorithms·that·the·SSH·app·uses·by·default·depends·on·the·algorithms
170 supported·by·the:</p><ul><li><a·href="../../../../lib/crypto-5.6/doc/html/crypto.html"><code·class="inline">crypto</code></a>·app,</li><li>The·cryptolib·OTP·is·linked·with,·usually·the·one·the·OS·uses,·probably170 supported·by·the:</p><ul><li><a·href="../../../../lib/crypto-5.6/doc/html/crypto.html"><code·class="inline">crypto</code></a>·app,</li><li>The·cryptolib·OTP·is·linked·with,·usually·the·one·the·OS·uses,·probably
171 OpenSSL,</li><li>and·finally·what·the·SSH·app·implements</li></ul><p>Due·to·this,·it·impossible·to·list·in·documentation·what·algorithms·that·are171 OpenSSL,</li><li>and·finally·what·the·SSH·app·implements</li></ul><p>Due·to·this,·it·impossible·to·list·in·documentation·what·algorithms·that·are
172 available·in·a·certain·installation.</p><p>There·is·an·important·command·to·list·the·actual·algorithms·and·their·ordering:172 available·in·a·certain·installation.</p><p>There·is·an·important·command·to·list·the·actual·algorithms·and·their·ordering:
173 <a·href="ssh.html#default_algorithms/0"><code·class="inline">ssh:default_algorithms/0</code></a>.</p><pre·id="example_default_algorithms"><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">0&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">default_algorithms</span><span·class="p"·data-group-id="8930822965-1">(</span><span·class="p"·data-group-id="8930822965-1">)</span><span·class="p">.</span><span·class="w">173 <a·href="ssh.html#default_algorithms/0"><code·class="inline">ssh:default_algorithms/0</code></a>.</p><pre·id="example_default_algorithms"><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">0&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">default_algorithms</span><span·class="p"·data-group-id="6354046823-1">(</span><span·class="p"·data-group-id="6354046823-1">)</span><span·class="p">.</span><span·class="w">
174 </span><span·class="p"·data-group-id="8930822965-2">[</span><span·class="p"·data-group-id="8930822965-3">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="8930822965-4">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdh-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">174 </span><span·class="p"·data-group-id="6354046823-2">[</span><span·class="p"·data-group-id="6354046823-3">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="6354046823-4">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdh-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">
175 ·······</span><span·class="ss">&#39;ecdh-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;diffie-hellman-group-exchange-sha256&#39;</span><span·class="p">,</span><span·class="w">175 ·······</span><span·class="ss">&#39;ecdh-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;diffie-hellman-group-exchange-sha256&#39;</span><span·class="p">,</span><span·class="w">
176 ·······</span><span·class="ss">&#39;diffie-hellman-group16-sha512&#39;</span><span·class="p">,</span><span·class="w">176 ·······</span><span·class="ss">&#39;diffie-hellman-group16-sha512&#39;</span><span·class="p">,</span><span·class="w">
177 ·······</span><span·class="ss">&#39;diffie-hellman-group18-sha512&#39;</span><span·class="p">,</span><span·class="w">177 ·······</span><span·class="ss">&#39;diffie-hellman-group18-sha512&#39;</span><span·class="p">,</span><span·class="w">
178 ·······</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#39;</span><span·class="p">,</span><span·class="w">178 ·······</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#39;</span><span·class="p">,</span><span·class="w">
179 ·······</span><span·class="ss">&#39;diffie-hellman-group14-sha1&#39;</span><span·class="p">,</span><span·class="w">179 ·······</span><span·class="ss">&#39;diffie-hellman-group14-sha1&#39;</span><span·class="p">,</span><span·class="w">
180 ·······</span><span·class="ss">&#39;diffie-hellman-group-exchange-sha1&#39;</span><span·class="p"·data-group-id="8930822965-4">]</span><span·class="p"·data-group-id="8930822965-3">}</span><span·class="p">,</span><span·class="w">180 ·······</span><span·class="ss">&#39;diffie-hellman-group-exchange-sha1&#39;</span><span·class="p"·data-group-id="6354046823-4">]</span><span·class="p"·data-group-id="6354046823-3">}</span><span·class="p">,</span><span·class="w">
181 ·</span><span·class="p"·data-group-id="8930822965-5">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="8930822965-6">[</span><span·class="ss">&#39;ecdsa-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdsa-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">181 ·</span><span·class="p"·data-group-id="6354046823-5">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="6354046823-6">[</span><span·class="ss">&#39;ecdsa-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdsa-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">
182 ··············</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p">,</span><span·class="ss">&#39;rsa-sha2-256&#39;</span><span·class="p">,</span><span·class="w">182 ··············</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p">,</span><span·class="ss">&#39;rsa-sha2-256&#39;</span><span·class="p">,</span><span·class="w">
183 ··············</span><span·class="ss">&#39;rsa-sha2-512&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-dss&#39;</span><span·class="p"·data-group-id="8930822965-6">]</span><span·class="p"·data-group-id="8930822965-5">}</span><span·class="p">,</span><span·class="w">183 ··············</span><span·class="ss">&#39;rsa-sha2-512&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-dss&#39;</span><span·class="p"·data-group-id="6354046823-6">]</span><span·class="p"·data-group-id="6354046823-5">}</span><span·class="p">,</span><span·class="w">
184 ·</span><span·class="p"·data-group-id="8930822965-7">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="8930822965-8">[</span><span·class="p"·data-group-id="8930822965-9">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·63c1d63fc1674fc78b27894102332d90e8bf48776b848eafe18d04465fb70d23·...·]-10">[</span><span·class="ss">&#39;aes256-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="w">184 ·</span><span·class="p"·data-group-id="6354046823-7">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="6354046823-8">[</span><span·class="p"·data-group-id="6354046823-9">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·685fd310b8cdddb842f37973e9ba4eb13641f5252bd23fd6df8b29fda03950a7·...·]-10">[</span><span·class="ss">&#39;aes256-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="w">
185 ··························</span><span·class="ss">&#39;aes256-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="w">185 ··························</span><span·class="ss">&#39;aes256-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="w">
186 ··························</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-cbc&#39;</span><span·class="p">,</span><span·class="ss">&#39;3des-cbc&#39;</span><span·class="p"·data-group-id="8930822965-10">]</span><span·class="p"·data-group-id="8930822965-9">}</span><span·class="p">,</span><span·class="w">186 ··························</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-cbc&#39;</span><span·class="p">,</span><span·class="ss">&#39;3des-cbc&#39;</span><span·class="p"·data-group-id="6354046823-10">]</span><span·class="p"·data-group-id="6354046823-9">}</span><span·class="p">,</span><span·class="w">
187 ··········</span><span·class="p"·data-group-id="8930822965-11">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8930822965-12">[</span><span·class="ss">&#39;aes256-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes256-ctr&#39;</span><span·class="p">,</span><span·class="w">187 ··········</span><span·class="p"·data-group-id="6354046823-11">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="6354046823-12">[</span><span·class="ss">&#39;aes256-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes256-ctr&#39;</span><span·class="p">,</span><span·class="w">
188 ··························</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p">,</span><span·class="w">188 ··························</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p">,</span><span·class="w">
189 ··························</span><span·class="ss">&#39;aes128-cbc&#39;</span><span·class="p">,</span><span·class="ss">&#39;3des-cbc&#39;</span><span·class="p"·data-group-id="8930822965-12">]</span><span·class="p"·data-group-id="8930822965-11">}</span><span·class="p"·data-group-id="8930822965-8">]</span><span·class="p"·data-group-id="8930822965-7">}</span><span·class="p">,</span><span·class="w">189 ··························</span><span·class="ss">&#39;aes128-cbc&#39;</span><span·class="p">,</span><span·class="ss">&#39;3des-cbc&#39;</span><span·class="p"·data-group-id="6354046823-12">]</span><span·class="p"·data-group-id="6354046823-11">}</span><span·class="p"·data-group-id="6354046823-8">]</span><span·class="p"·data-group-id="6354046823-7">}</span><span·class="p">,</span><span·class="w">
190 ·</span><span·class="p"·data-group-id="8930822965-13">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="8930822965-14">[</span><span·class="p"·data-group-id="8930822965-15">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·63c1d63fc1674fc78b27894102332d90e8bf48776b848eafe18d04465fb70d23·...·]-16">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha2-512&#39;</span><span·class="p">,</span><span·class="w">190 ·</span><span·class="p"·data-group-id="6354046823-13">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="6354046823-14">[</span><span·class="p"·data-group-id="6354046823-15">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·685fd310b8cdddb842f37973e9ba4eb13641f5252bd23fd6df8b29fda03950a7·...·]-16">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha2-512&#39;</span><span·class="p">,</span><span·class="w">
191 ·······················</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="8930822965-16">]</span><span·class="p"·data-group-id="8930822965-15">}</span><span·class="p">,</span><span·class="w">191 ·······················</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="6354046823-16">]</span><span·class="p"·data-group-id="6354046823-15">}</span><span·class="p">,</span><span·class="w">
192 ·······</span><span·class="p"·data-group-id="8930822965-17">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8930822965-18">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha2-512&#39;</span><span·class="p">,</span><span·class="w">192 ·······</span><span·class="p"·data-group-id="6354046823-17">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="6354046823-18">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha2-512&#39;</span><span·class="p">,</span><span·class="w">
193 ·······················</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="8930822965-18">]</span><span·class="p"·data-group-id="8930822965-17">}</span><span·class="p"·data-group-id="8930822965-14">]</span><span·class="p"·data-group-id="8930822965-13">}</span><span·class="p">,</span><span·class="w">193 ·······················</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="6354046823-18">]</span><span·class="p"·data-group-id="6354046823-17">}</span><span·class="p"·data-group-id="6354046823-14">]</span><span·class="p"·data-group-id="6354046823-13">}</span><span·class="p">,</span><span·class="w">
194 ·</span><span·class="p"·data-group-id="8930822965-19">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="8930822965-20">[</span><span·class="p"·data-group-id="8930822965-21">{</span><span·class="ss">client2server</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·298,·SHA:·d2984b7189289a601b05d40ed50779d29d96709e20c41599b87fd59224048147·...·]-21">}</span><span·class="p">,</span><span·class="w">194 ·</span><span·class="p"·data-group-id="6354046823-19">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="6354046823-20">[</span><span·class="p"·data-group-id="6354046823-21">{</span><span·class="ss">client2server</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·298,·SHA:·b3eedfe52c70b2efe57cb157e88993f8ae5b00973d3d12a60b1336985c86a3cb·...·]-21">}</span><span·class="p">,</span><span·class="w">
195 ···············</span><span·class="p"·data-group-id="8930822965-23">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="8930822965-24">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">&#39;zlib@openssh.com&#39;</span><span·class="p">[·...·truncated·by·diffoscope;·len:·293,·SHA:·ac69cfa1ac19bb5c291905a82174fae0528d4cbb03e30a466a0ff53dcbfd2737·...·]-2">]</span></code></pre><p>To·change·the·algorithm·list,·there·are·two·options·which·can·be·used·in195 ···············</span><span·class="p"·data-group-id="6354046823-23">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="6354046823-24">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">&#39;zlib@openssh.com&#39;</span><span·class="p">[·...·truncated·by·diffoscope;·len:·293,·SHA:·684f145e290d4ddbf3cbae09604858ac59078a3aa0ca84d918d0c1aa16be12f1·...·]-2">]</span></code></pre><p>To·change·the·algorithm·list,·there·are·two·options·which·can·be·used·in
196 <a·href="ssh.html#connect/3">ssh:connect/2,3,4</a>·and·<a·href="ssh.html#daemon/2">ssh:daemon/2,3</a>.·The196 <a·href="ssh.html#connect/3">ssh:connect/2,3,4</a>·and·<a·href="ssh.html#daemon/2">ssh:daemon/2,3</a>.·The
197 options·could·of·course·be·used·in·all·other·functions·that·initiates197 options·could·of·course·be·used·in·all·other·functions·that·initiates
198 connections.</p><p>The·options·are198 connections.</p><p>The·options·are
199 <a·href="ssh.html#t:preferred_algorithms_common_option/0">preferred_algorithms</a>·and199 <a·href="ssh.html#t:preferred_algorithms_common_option/0">preferred_algorithms</a>·and
200 <a·href="ssh.html#t:modify_algorithms_common_option/0">modify_algorithms</a>.·The·first·one200 <a·href="ssh.html#t:modify_algorithms_common_option/0">modify_algorithms</a>.·The·first·one
201 replaces·the·default·set,·while·the·latter·modifies·the·default·set.</p><h2·id="replacing-the-default-set-preferred_algorithms"·class="section-heading">201 replaces·the·default·set,·while·the·latter·modifies·the·default·set.</p><h2·id="replacing-the-default-set-preferred_algorithms"·class="section-heading">
202 ··<a·href="#replacing-the-default-set-preferred_algorithms"·class="hover-link">202 ··<a·href="#replacing-the-default-set-preferred_algorithms"·class="hover-link">
Offset 211, 264 lines modifiedOffset 211, 264 lines modified
211 friends·does.</p><h3·id="example-1"·class="section-heading">211 friends·does.</p><h3·id="example-1"·class="section-heading">
212 ··<a·href="#example-1"·class="hover-link">212 ··<a·href="#example-1"·class="hover-link">
213 ····<i·class="ri-link-m"·aria-hidden="true"></i>213 ····<i·class="ri-link-m"·aria-hidden="true"></i>
214 ··</a>214 ··</a>
215 ··<span·class="text">Example·1</span>215 ··<span·class="text">Example·1</span>
216 </h3>216 </h3>
217 <p>Replace·the·kex·algorithms·list·with·the·single·algorithm217 <p>Replace·the·kex·algorithms·list·with·the·single·algorithm
218 <code·class="inline">'diffie-hellman-group14-sha256'</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">chk_algos_opts</span><span·class="p"·data-group-id="5745563855-1">(</span><span·class="w">218 <code·class="inline">'diffie-hellman-group14-sha256'</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">chk_algos_opts</span><span·class="p"·data-group-id="5313330182-1">(</span><span·class="w">
219 ···············</span><span·class="p"·data-group-id="5745563855-2">[</span><span·class="p"·data-group-id="5745563855-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">219 ···············</span><span·class="p"·data-group-id="5313330182-2">[</span><span·class="p"·data-group-id="5313330182-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
220 ·····················</span><span·class="p"·data-group-id="5745563855-4">[</span><span·class="p"·data-group-id="5745563855-5">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5745563855-6">[</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#3[·...·truncated·by·diffoscope;·len:·103,·SHA:·98519b53807a725d08e9f69ec5b216dbd754e5419ceaa8608b110af4dc770493·...·]-5">}</span><span·class="w">220 ·····················</span><span·class="p"·data-group-id="5313330182-4">[</span><span·class="p"·data-group-id="5313330182-5">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5313330182-6">[</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#3[·...·truncated·by·diffoscope;·len:·103,·SHA:·dbfc77e4bdb01a96c116ca4650dd28cb7e60c27d4b68e3e3c6d81d53670ca90e·...·]-5">}</span><span·class="w">
221 ·····················</span><span·class="p"·data-group-id="5745563855-4">]</span><span·class="w">221 ·····················</span><span·class="p"·data-group-id="5313330182-4">]</span><span·class="w">
222 ················</span><span·class="p"·data-group-id="5745563855-3">}</span><span·class="w">222 ················</span><span·class="p"·data-group-id="5313330182-3">}</span><span·class="w">
223 ··············</span><span·class="p"·data-group-id="5745563855-2">]</span><span·class="p"·data-group-id="5745563855-1">)</span><span·class="p">.</span><span·class="w">223 ··············</span><span·class="p"·data-group-id="5313330182-2">]</span><span·class="p"·data-group-id="5313330182-1">)</span><span·class="p">.</span><span·class="w">
224 </span><span·class="p"·data-group-id="5745563855-7">[</span><span·class="p"·data-group-id="5745563855-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="5745563855-9">[</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#39;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·79,·SHA:·d42975e7e5dd96cb46a2cf4cedacfe000a6eaffc98753d878351368c05619653·...·]-8">}</span><span·class="p">,</span><span·class="w">224 </span><span·class="p"·data-group-id="5313330182-7">[</span><span·class="p"·data-group-id="5313330182-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="5313330182-9">[</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#39;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·79,·SHA:·b2cd93446165a5001408e008f5aca4d1b67d696964617daed90ab221fe024284·...·]-8">}</span><span·class="p">,</span><span·class="w">
225 ·</span><span·class="p"·data-group-id="5745563855-10">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="5745563855-11">[</span><span·class="ss">&#39;ecdsa-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdsa-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">225 ·</span><span·class="p"·data-group-id="5313330182-10">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="5313330182-11">[</span><span·class="ss">&#39;ecdsa-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdsa-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">
226 ··············</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p">,</span><span·class="ss">&#39;rsa-sha2-256&#39;</span><span·class="p">,</span><span·class="w">226 ··············</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p">,</span><span·class="ss">&#39;rsa-sha2-256&#39;</span><span·class="p">,</span><span·class="w">
227 ··············</span><span·class="ss">&#39;rsa-sha2-512&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-dss&#39;</span><span·class="p"·data-group-id="5745563855-11">]</span><span·class="p"·data-group-id="5745563855-10">}</span><span·class="p">,</span><span·class="w">227 ··············</span><span·class="ss">&#39;rsa-sha2-512&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-dss&#39;</span><span·class="p"·data-group-id="5313330182-11">]</span><span·class="p"·data-group-id="5313330182-10">}</span><span·class="p">,</span><span·class="w">
228 ·</span><span·class="p"·data-group-id="5745563855-12">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="5745563855-13">[</span><span·class="p"·data-group-id="5745563855-14">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·d638181710ff9324bd5fe061e913fe71780f866751920c3be7f1139dd710ea2b·...·]-15">[</span><span·class="ss">&#39;aes256-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="w">228 ·</span><span·class="p"·data-group-id="5313330182-12">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="5313330182-13">[</span><span·class="p"·data-group-id="5313330182-14">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·30,·SHA:·42aef97ba8c82afd0b7bf85cb0d3ca6f95839033c049f1870f80b1af0227ff94·...·]-15">[</span><span·class="ss">&#39;aes256-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="w">
229 ··························</span><span·class="ss">&#39;aes256-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="w">229 ··························</span><span·class="ss">&#39;aes256-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="w">
230 ··························</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-cbc&#39;</span><span·class="p">,</span><span·class="ss">&#39;3des-cbc&#39;</span><span·class="p"·data-group-id="5745563855-15">]</span><span·class="p"·data-group-id="5745563855-14">}</span><span·class="p">,</span><span·class="w">230 ··························</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-cbc&#39;</span><span·class="p">,</span><span·class="ss">&#39;3des-cbc&#39;</span><span·class="p"·data-group-id="5313330182-15">]</span><span·class="p"·data-group-id="5313330182-14">}</span><span·class="p">,</span><span·class="w">
231 ··········</span><span·class="p"·data-group-id="5745563855-16">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="5745563855-17">[</span><span·class="ss">&#39;aes256-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes256-ctr&#39;</span><span·class="p">,</span><span·class="w">231 ··········</span><span·class="p"·data-group-id="5313330182-16">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="5313330182-17">[</span><span·class="ss">&#39;aes256-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes256-ctr&#39;</span><span·class="p">,</span><span·class="w">
232 ··························</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p">,</span><span·class="w">232 ··························</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p">,</span><span·class="w">
233 ··························</span><span·class="ss">&#39;aes128-cbc&#39;</span><span·class="p">,</span><span·class="ss">&#39;3des-cbc&#39;</span><span·class="p"·data-group-id="5745563855-17">]</span><span·class="p"·data-group-id="5745563855-16">}</span><span·class="p"·data-group-id="5745563855-13">]</span><span·class="p"·data-group-id="5745563855-12">}</span><span·class="p">,</span><span·class="w">233 ··························</span><span·class="ss">&#39;aes128-cbc&#39;</span><span·class="p">,</span><span·class="ss">&#39;3des-cbc&#39;</span><span·class="p"·data-group-id="5313330182-17">]</span><span·class="p"·data-group-id="5313330182-16">}</span><span·class="p"·data-group-id="5313330182-13">]</span><span·class="p"·data-group-id="5313330182-12">}</span><span·class="p">,</span><span·class="w">
234 ·</span><span·class="p"·data-group-id="5745563855-18">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="5745563855-19">[</span><span·class="p"·data-group-id="5745563855-20">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·cbe8c72bb600fabacefd325eb400a030926e3261b5a232ea71f23d7b39e7c824·...·]-21">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha2-512&#39;</span><span·class="p">,</span><span·class="w">234 ·</span><span·class="p"·data-group-id="5313330182-18">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="5313330182-19">[</span><span·class="p"·data-group-id="5313330182-20">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·1f155bee8e43192c6cc9df3b35da29e709b10c91d6e4f7543763e8ff3d2dd5c9·...·]-21">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha2-512&#39;</span><span·class="p">,</span><span·class="w">
235 ·······················</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="5745563855-21">]</span><span·class="p"·data-group-id="5745563855-20">}</span><span·class="p">,</span><span·class="w">235 ·······················</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="5313330182-21">]</span><span·class="p"·data-group-id="5313330182-20">}</span><span·class="p">,</span><span·class="w">
236 ·······</span><span·class="p"·data-group-id="5745563855-22">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="5745563855-23">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha2-512&#39;</span><span·class="p">,</span><span·class="w">236 ·······</span><span·class="p"·data-group-id="5313330182-22">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="5313330182-23">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha2-512&#39;</span><span·class="p">,</span><span·class="w">
237 ·······················</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="5745563855-23">]</span><span·class="p"·data-group-id="5745563855-22">}</span><span·class="p"·data-group-id="5745563855-19">]</span><span·class="p"·data-group-id="5745563855-18">}</span><span·class="p">,</span><span·class="w">237 ·······················</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="5313330182-23">]</span><span·class="p"·data-group-id="5313330182-22">}</span><span·class="p"·data-group-id="5313330182-19">]</span><span·class="p"·data-group-id="5313330182-18">}</span><span·class="p">,</span><span·class="w">
238 ·</span><span·class="p"·data-group-id="5745563855-24">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="5745563855-25">[</span><span·class="p"·data-group-id="5745563855-26">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p"·data-group-id="5745563855-27">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">&#39;zlib@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">zlib</span><span·class="p"·data-group-id="5745563855-27">]</span><span·class="p"·data-group-id="5745563855-26">}</span><span·class="p">,</span><span·class="w"> 
239 ···············</span><span·class="p"·data-group-id="5745563855-28">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="5745563855-29">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="s[·...·truncated·by·diffoscope;·len:·517,·SHA:·cc4d2c48fb79e38a1be70ad089366ffad1b896ad51b06c7c32e007e07fd742e9·...·]238 ·</span><span·class="p"·data-group-id="5313330182-24">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="5313330182-25">[</span><span·class="p"·data-group-id="5313330182-26">{</span><span·class="ss">client2serv[·...·truncated·by·diffoscope;·len:·389,·SHA:·542653dc4b1101d0f7fa0c2ac734613564e3a985a3bb8e11384875ae1dd46a0c·...·]
 239 ···············</span><span·class="p"·data-group-id="5313330182-28">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="5313330182-29">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">&#39;zlib@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">zlib</span><span·class="p"·data-group-id="5313330182-29">]</span><span·class="p"·data-group-id="5313330182-28">}</span><span·class="p"·data-group-id="5313330182-25">]</span><span·class="p"·data-group-id="5313330182-24">}</span><span·class="p"·data-group-id="5313330182-7">]</span></code></pre><p>Note·that·the·unmentioned·lists·(<code·class="inline">public_key</code>,·<code·class="inline">cipher</code>,·<code·class="inline">mac</code>·and
240 <code·class="inline">compression</code>)·are·unchanged.</p><h3·id="example-2"·class="section-heading">240 <code·class="inline">compression</code>)·are·unchanged.</p><h3·id="example-2"·class="section-heading">
241 ··<a·href="#example-2"·class="hover-link">241 ··<a·href="#example-2"·class="hover-link">
242 ····<i·class="ri-link-m"·aria-hidden="true"></i>242 ····<i·class="ri-link-m"·aria-hidden="true"></i>
243 ··</a>243 ··</a>
244 ··<span·class="text">Example·2</span>244 ··<span·class="text">Example·2</span>
245 </h3>245 </h3>
246 <p>In·the·lists·that·are·divided·in·two·for·the·two·directions·(for·example·<code·class="inline">cipher</code>)·it·is246 <p>In·the·lists·that·are·divided·in·two·for·the·two·directions·(for·example·<code·class="inline">cipher</code>)·it·is
247 possible·to·change·both·directions·at·once:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">chk_algos_opts</span><span·class="p"·data-group-id="0595627984-1">(</span><span·class="w">247 possible·to·change·both·directions·at·once:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">chk_algos_opts</span><span·class="p"·data-group-id="3528689193-1">(</span><span·class="w">
248 ···············</span><span·class="p"·data-group-id="0595627984-2">[</span><span·class="p"·data-group-id="0595627984-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">248 ···············</span><span·class="p"·data-group-id="3528689193-2">[</span><span·class="p"·data-group-id="3528689193-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
249 ·····················</span><span·class="p"·data-group-id="0595627984-4">[</span><span·class="p"·data-group-id="0595627984-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="0595627984-6">[</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·64,·SHA:·188619b4afd531b78cc1291a7ff430078ae0024501cfe9ac5a6278d46382a96c·...·]-5">}</span><span·class="w">249 ·····················</span><span·class="p"·data-group-id="3528689193-4">[</span><span·class="p"·data-group-id="3528689193-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="3528689193-6">[</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·64,·SHA:·2cd7c278b2cb013db36dea15190e41003bfa4b258f4d67bcd36c4a8fd1e2cf12·...·]-5">}</span><span·class="w">
250 ·····················</span><span·class="p"·data-group-id="0595627984-4">]</span><span·class="w">250 ·····················</span><span·class="p"·data-group-id="3528689193-4">]</span><span·class="w">
251 ················</span><span·class="p"·data-group-id="0595627984-3">}</span><span·class="w">251 ················</span><span·class="p"·data-group-id="3528689193-3">}</span><span·class="w">
252 ··············</span><span·class="p"·data-group-id="0595627984-2">]</span><span·class="p"·data-group-id="0595627984-1">)</span><span·class="p">.</span><span·class="w">252 ··············</span><span·class="p"·data-group-id="3528689193-2">]</span><span·class="p"·data-group-id="3528689193-1">)</span><span·class="p">.</span><span·class="w">
253 </span><span·class="p"·data-group-id="0595627984-7">[</span><span·class="p"·data-group-id="0595627984-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="0595627984-9">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdh-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">253 </span><span·class="p"·data-group-id="3528689193-7">[</span><span·class="p"·data-group-id="3528689193-8">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="3528689193-9">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdh-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">
254 ·······</span><span·class="ss">&#39;ecdh-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;diffie-hellman-group-exchange-sha256&#39;</span><span·class="p">,</span><span·class="w">254 ·······</span><span·class="ss">&#39;ecdh-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;diffie-hellman-group-exchange-sha256&#39;</span><span·class="p">,</span><span·class="w">
255 ·······</span><span·class="ss">&#39;diffie-hellman-group16-sha512&#39;</span><span·class="p">,</span><span·class="w">255 ·······</span><span·class="ss">&#39;diffie-hellman-group16-sha512&#39;</span><span·class="p">,</span><span·class="w">
256 ·······</span><span·class="ss">&#39;diffie-hellman-group18-sha512&#39;</span><span·class="p">,</span><span·class="w">256 ·······</span><span·class="ss">&#39;diffie-hellman-group18-sha512&#39;</span><span·class="p">,</span><span·class="w">
257 ·······</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#39;</span><span·class="p">,</span><span·class="w">257 ·······</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#39;</span><span·class="p">,</span><span·class="w">
258 ·······</span><span·class="ss">&#39;diffie-hellman-group14-sha1&#39;</span><span·class="p">,</span><span·class="w">258 ·······</span><span·class="ss">&#39;diffie-hellman-group14-sha1&#39;</span><span·class="p">,</span><span·class="w">
259 ·······</span><span·class="ss">&#39;diffie-hellman-group-exchange-sha1&#39;</span><span·class="p"·data-group-id="0595627984-9">]</span><span·class="p"·data-group-id="0595627984-8">}</span><span·class="p">,</span><span·class="w">259 ·······</span><span·class="ss">&#39;diffie-hellman-group-exchange-sha1&#39;</span><span·class="p"·data-group-id="3528689193-9">]</span><span·class="p"·data-group-id="3528689193-8">}</span><span·class="p">,</span><span·class="w">
260 ·</span><span·class="p"·data-group-id="0595627984-10">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="0595627984-11">[</span><span·class="ss">&#39;ecdsa-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdsa-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">260 ·</span><span·class="p"·data-group-id="3528689193-10">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="3528689193-11">[</span><span·class="ss">&#39;ecdsa-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdsa-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">
261 ··············</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p">,</span><span·class="ss">&#39;rsa-sha2-256&#39;</span><span·class="p">,</span><span·class="w">261 ··············</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p">,</span><span·class="ss">&#39;rsa-sha2-256&#39;</span><span·class="p">,</span><span·class="w">
262 ··············</span><span·class="ss">&#39;rsa-sha2-512&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-dss&#39;</span><span·class="p"·data-group-id="0595627984-11">]</span><span·class="p"·data-group-id="0595627984-10">}</span><span·class="p">,</span><span·class="w">262 ··············</span><span·class="ss">&#39;rsa-sha2-512&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-dss&#39;</span><span·class="p"·data-group-id="3528689193-11">]</span><span·class="p"·data-group-id="3528689193-10">}</span><span·class="p">,</span><span·class="w">
263 ·</span><span·class="p"·data-group-id="0595627984-12">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="0595627984-13">[</span><span·class="p"·data-group-id="0595627984-14">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·183,·SHA:·f9d36d2f243dc3e8aab4d6969de3e4e786e2d27107ac5984e82e2fbf677d9344·...·]-14">}</span><span·class="p">,</span><span·class="w">263 ·</span><span·class="p"·data-group-id="3528689193-12">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="3528689193-13">[</span><span·class="p"·data-group-id="3528689193-14">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·183,·SHA:·5f0c6ad5425b46387d68040b4477a8bffc0ae523178ce84a6c29b9b192d437a9·...·]-14">}</span><span·class="p">,</span><span·class="w">
264 ··········</span><span·class="p"·data-group-id="0595627984-16">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="0595627984-17">[</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p"·data-group-id="0595627984-17">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·129,·SHA:·0c7d0e1cb8546e9e6c67e098382db52ab0352375e218760bd575d508f94b23c1·...·]-12">}</span><span·class="p">,</span><span·class="w">264 ··········</span><span·class="p"·data-group-id="3528689193-16">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="3528689193-17">[</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p"·data-group-id="3528689193-17">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·129,·SHA:·34fd7e30715f4d58013ae3d620255336d99f7278c5202b6e1ec6a3fcf24c6086·...·]-12">}</span><span·class="p">,</span><span·class="w">
265 ·</span><span·class="p"·data-group-id="0595627984-18">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="0595627984-19">[</span><span·class="p"·data-group-id="0595627984-20">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·06995d75ea2bd594e522e99df848b7837972941dd30a8c4d987a134664ccd6df·...·]-21">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha2-512&#39;</span><span·class="p">,</span><span·class="w">265 ·</span><span·class="p"·data-group-id="3528689193-18">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="3528689193-19">[</span><span·class="p"·data-group-id="3528689193-20">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·28,·SHA:·73ac001d0d1b93022a45d305abed357bff935313890ccef4d3b8cb72713a8f1a·...·]-21">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha2-512&#39;</span><span·class="p">,</span><span·class="w">
266 ·······················</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="0595627984-21">]</span><span·class="p"·data-group-id="0595627984-20">}</span><span·class="p">,</span><span·class="w">266 ·······················</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="3528689193-21">]</span><span·class="p"·data-group-id="3528689193-20">}</span><span·class="p">,</span><span·class="w">
267 ·······</span><span·class="p"·data-group-id="0595627984-22">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="0595627984-23">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha2-512&#39;</span><span·class="p">,</span><span·class="w">267 ·······</span><span·class="p"·data-group-id="3528689193-22">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="3528689193-23">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha2-512&#39;</span><span·class="p">,</span><span·class="w">
268 ·······················</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="0595627984-23">]</span><span·class="p"·data-group-id="0595627984-22">}</span><span·class="p"·data-group-id="0595627984-19">]</span><span·class="p"·data-group-id="0595627984-18">}</span><span·class="p">,</span><span·class="w">268 ·······················</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p"·data-group-id="3528689193-23">]</span><span·class="p"·data-group-id="3528689193-22">}</span><span·class="p"·data-group-id="3528689193-19">]</span><span·class="p"·data-group-id="3528689193-18">}</span><span·class="p">,</span><span·class="w">
269 ·</span><span·class="p"·data-group-id="0595627984-24">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="0595627984-25">[</span><span·class="p"·data-group-id="0595627984-26">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="p"·data-group-id="0595627984-27">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">&#39;zlib@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">zlib</span><span·class="p"·data-group-id="0595627984-27">]</span><span·class="p"·data-group-id="0595627984-26">}</span><span·class="p">,</span><span·class="w"> 
270 ···············</span><span·class="p"·data-group-id="0595627984-28">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="0595627984-29">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="s[·...·truncated·by·diffoscope;·len:·470,·SHA:·6013652306bb413dd40144f7775f7dba6919df0e242f971af3da9bf8c73599c3·...·]269 ·</span><span·class="p"·data-group-id="3528689193-24">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="3528689193-25">[</span><span·class="p"·data-group-id="3528689193-26">{</span><span·class="ss">client2serv[·...·truncated·by·diffoscope;·len:·389,·SHA:·61ccd3f891593f1a6bf4151485b77a9ab212c434830fde8c45b6510ed3b99966·...·]
 270 ···············</span><span·class="p"·data-group-id="3528689193-28">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="3528689193-29">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">&#39;zlib@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">zlib</span><span·class="p"·data-group-id="3528689193-29">]</span><span·class="p"·data-group-id="3528689193-28">}</span><span·class="p"·data-group-id="3528689193-25">]</span><span·class="p"·data-group-id="3528689193-24">}</span><span·class="p"·data-group-id="3528689193-7">]</span></code></pre><p>Note·that·both·lists·in·<code·class="inline">cipher</code>·has·been·changed·to·the·provided·value
271 (<code·class="inline">'aes128-ctr'</code>).</p><h3·id="example-3"·class="section-heading">271 (<code·class="inline">'aes128-ctr'</code>).</p><h3·id="example-3"·class="section-heading">
272 ··<a·href="#example-3"·class="hover-link">272 ··<a·href="#example-3"·class="hover-link">
273 ····<i·class="ri-link-m"·aria-hidden="true"></i>273 ····<i·class="ri-link-m"·aria-hidden="true"></i>
274 ··</a>274 ··</a>
275 ··<span·class="text">Example·3</span>275 ··<span·class="text">Example·3</span>
276 </h3>276 </h3>
277 <p>In·the·lists·that·are·divided·in·two·for·the·two·directions·(for·example·<code·class="inline">cipher</code>)·it·is277 <p>In·the·lists·that·are·divided·in·two·for·the·two·directions·(for·example·<code·class="inline">cipher</code>)·it·is
278 possible·to·change·only·one·of·the·directions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">chk_algos_opts</span><span·class="p"·data-group-id="6993348678-1">(</span><span·class="w">278 possible·to·change·only·one·of·the·directions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">chk_algos_opts</span><span·class="p"·data-group-id="9528514865-1">(</span><span·class="w">
279 ···············</span><span·class="p"·data-group-id="6993348678-2">[</span><span·class="p"·data-group-id="6993348678-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">279 ···············</span><span·class="p"·data-group-id="9528514865-2">[</span><span·class="p"·data-group-id="9528514865-3">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
280 ·····················</span><span·class="p"·data-group-id="6993348678-4">[</span><span·class="p"·data-group-id="6993348678-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="6993348678-6">[</span><span·class="p"·data-group-id="6993348678-7">{</span><span·class="ss">clie[·...·truncated·by·diffoscope;·len:·337,·SHA:·ebcc490b608e491a6f01078d4db50d767b6faca42bee22e67c7e2edf02656195·...·]-5">}</span><span·class="w">280 ·····················</span><span·class="p"·data-group-id="9528514865-4">[</span><span·class="p"·data-group-id="9528514865-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="9528514865-6">[</span><span·class="p"·data-group-id="9528514865-7">{</span><span·class="ss">clie[·...·truncated·by·diffoscope;·len:·337,·SHA:·789be16dc2b3fff00c206ec3115cae3bc166e50d26708356fd082410cfd078c3·...·]-5">}</span><span·class="w">
281 ·····················</span><span·class="p"·data-group-id="6993348678-4">]</span><span·class="w">281 ·····················</span><span·class="p"·data-group-id="9528514865-4">]</span><span·class="w">
282 ················</span><span·class="p"·data-group-id="6993348678-3">}</span><span·class="w">282 ················</span><span·class="p"·data-group-id="9528514865-3">}</span><span·class="w">
283 ··············</span><span·class="p"·data-group-id="6993348678-2">]</span><span·class="p"·data-group-id="6993348678-1">)</span><span·class="p">.</span><span·class="w">283 ··············</span><span·class="p"·data-group-id="9528514865-2">]</span><span·class="p"·data-group-id="9528514865-1">)</span><span·class="p">.</span><span·class="w">
284 </span><span·class="p"·data-group-id="6993348678-9">[</span><span·class="p"·data-group-id="6993348678-10">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="6993348678-11">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdh-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">284 </span><span·class="p"·data-group-id="9528514865-9">[</span><span·class="p"·data-group-id="9528514865-10">{</span><span·class="ss">kex</span><span·class="p">,</span><span·class="p"·data-group-id="9528514865-11">[</span><span·class="ss">&#39;ecdh-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdh-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">
285 ·······</span><span·class="ss">&#39;ecdh-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;diffie-hellman-group-exchange-sha256&#39;</span><span·class="p">,</span><span·class="w">285 ·······</span><span·class="ss">&#39;ecdh-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;diffie-hellman-group-exchange-sha256&#39;</span><span·class="p">,</span><span·class="w">
286 ·······</span><span·class="ss">&#39;diffie-hellman-group16-sha512&#39;</span><span·class="p">,</span><span·class="w">286 ·······</span><span·class="ss">&#39;diffie-hellman-group16-sha512&#39;</span><span·class="p">,</span><span·class="w">
287 ·······</span><span·class="ss">&#39;diffie-hellman-group18-sha512&#39;</span><span·class="p">,</span><span·class="w">287 ·······</span><span·class="ss">&#39;diffie-hellman-group18-sha512&#39;</span><span·class="p">,</span><span·class="w">
288 ·······</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#39;</span><span·class="p">,</span><span·class="w">288 ·······</span><span·class="ss">&#39;diffie-hellman-group14-sha256&#39;</span><span·class="p">,</span><span·class="w">
289 ·······</span><span·class="ss">&#39;diffie-hellman-group14-sha1&#39;</span><span·class="p">,</span><span·class="w">289 ·······</span><span·class="ss">&#39;diffie-hellman-group14-sha1&#39;</span><span·class="p">,</span><span·class="w">
290 ·······</span><span·class="ss">&#39;diffie-hellman-group-exchange-sha1&#39;</span><span·class="p"·data-group-id="6993348678-11">]</span><span·class="p"·data-group-id="6993348678-10">}</span><span·class="p">,</span><span·class="w">290 ·······</span><span·class="ss">&#39;diffie-hellman-group-exchange-sha1&#39;</span><span·class="p"·data-group-id="9528514865-11">]</span><span·class="p"·data-group-id="9528514865-10">}</span><span·class="p">,</span><span·class="w">
291 ·</span><span·class="p"·data-group-id="6993348678-12">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="6993348678-13">[</span><span·class="ss">&#39;ecdsa-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdsa-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">291 ·</span><span·class="p"·data-group-id="9528514865-12">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="9528514865-13">[</span><span·class="ss">&#39;ecdsa-sha2-nistp384&#39;</span><span·class="p">,</span><span·class="ss">&#39;ecdsa-sha2-nistp521&#39;</span><span·class="p">,</span><span·class="w">
292 ··············</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p">,</span><span·class="ss">&#39;rsa-sha2-256&#39;</span><span·class="p">,</span><span·class="w">292 ··············</span><span·class="ss">&#39;ecdsa-sha2-nistp256&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p">,</span><span·class="ss">&#39;rsa-sha2-256&#39;</span><span·class="p">,</span><span·class="w">
293 ··············</span><span·class="ss">&#39;rsa-sha2-512&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-dss&#39;</span><span·class="p"·data-group-id="6993348678-13">]</span><span·class="p"·data-group-id="6993348678-12">}</span><span·class="p">,</span><span·class="w">293 ··············</span><span·class="ss">&#39;rsa-sha2-512&#39;</span><span·class="p">,</span><span·class="ss">&#39;ssh-dss&#39;</span><span·class="p"·data-group-id="9528514865-13">]</span><span·class="p"·data-group-id="9528514865-12">}</span><span·class="p">,</span><span·class="w">
294 ·</span><span·class="p"·data-group-id="6993348678-14">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="6993348678-15">[</span><span·class="p"·data-group-id="6993348678-16">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·183,·SHA:·197f0f05593eb431985afaf2255a67068b546d71129542842002f0c3a7ff7a27·...·]-16">}</span><span·class="p">,</span><span·class="w">294 ·</span><span·class="p"·data-group-id="9528514865-14">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="9528514865-15">[</span><span·class="p"·data-group-id="9528514865-16">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·183,·SHA:·bc92e6b7ad3cff3e512819a284f4ff2ddf32b24ccd6ba572cfa3982446633e0e·...·]-16">}</span><span·class="p">,</span><span·class="w">
295 ··········</span><span·class="p"·data-group-id="6993348678-18">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="6993348678-19">[</span><span·class="ss">&#39;aes256-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes256-ctr&#39;</span><span·class="p">,</span><span·class="w">295 ··········</span><span·class="p"·data-group-id="9528514865-18">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="9528514865-19">[</span><span·class="ss">&#39;aes256-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes256-ctr&#39;</span><span·class="p">,</span><span·class="w">
296 ··························</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p">,</span><span·class="w">296 ··························</span><span·class="ss">&#39;aes192-ctr&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-gcm@openssh.com&#39;</span><span·class="p">,</span><span·class="ss">&#39;aes128-ctr&#39;</span><span·class="p">,</span><span·class="w">
297 ··························</span><span·class="ss">&#39;aes128-cbc&#39;</span><span·class="p">,</span><span·class="ss">&#39;3des-cbc&#39;</span><span·class="p"·data-group-id="6993348678-19">]</span><span·class="p"·data-group-id="6993348678-18">}</span><span·class="p"·data-group-id="6993348678-15">]</span><span·class="p"·data-group-id="6993348678-14">}</span><span·class="p">,</span><span·class="w">297 ··························</span><span·class="ss">&#39;aes128-cbc&#39;</span><span·class="p">,</span><span·class="ss">&#39;3des-cbc&#39;</span><span·class="p"·data-group-id="9528514865-19">]</span><span·class="p"·data-group-id="9528514865-18">}</span><span·class="p"·data-group-id="9528514865-15">]</span><span·class="p"·data-group-id="9528514865-14">}</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 69516/128014 bytes (54.30%) of diff not shown.
756 B
html2text {}
Max HTML report size reached
12.6 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/hardening.html
    
Offset 210, 24 lines modifiedOffset 210, 24 lines modified
210 ··<span·class="text">Verifying·the·remote·client·in·a·daemon·(server)</span>210 ··<span·class="text">Verifying·the·remote·client·in·a·daemon·(server)</span>
211 </h2>211 </h2>
212 <ul><li><p><strong>Password·checking</strong>·-·The·default·password·checking·is·with·the·list·in·the212 <ul><li><p><strong>Password·checking</strong>·-·The·default·password·checking·is·with·the·list·in·the
213 <a·href="ssh.html#option-user_passwords">user_passwords</a>·option·in·the·SSH·daemon.·It213 <a·href="ssh.html#option-user_passwords">user_passwords</a>·option·in·the·SSH·daemon.·It
214 could·be·replaced·with·a·<a·href="ssh.html#option-pwdfun">pwdfun</a>·plugin.·The·arity214 could·be·replaced·with·a·<a·href="ssh.html#option-pwdfun">pwdfun</a>·plugin.·The·arity
215 four·variant·(<a·href="ssh.html#t:pwdfun_4/0"><code·class="inline">pwdfun_4()</code></a>)·can·also·be·used·for215 four·variant·(<a·href="ssh.html#t:pwdfun_4/0"><code·class="inline">pwdfun_4()</code></a>)·can·also·be·used·for
216 introducing·delays·after·failed·password·checking·attempts.·Here·is·a·simple216 introducing·delays·after·failed·password·checking·attempts.·Here·is·a·simple
217 example·of·such·a·pwdfun:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="5099432277-1">(</span><span·class="n">User</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Password</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">PeerAddress</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·bd4eb0aae6e1ca3f0111e17c35b2ec58c35d627ec7184211383dd2ea9ae14da7·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">217 example·of·such·a·pwdfun:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="9686247382-1">(</span><span·class="n">User</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Password</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">PeerAddress</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·609e8dd75315aadc1738d07b5ffe04de849f30875481febfea82c9b4c63628ea·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
218 ········</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">member</span><span·class="p"·data-group-id="5099432277-2">(</span><span·class="p"·data-group-id="5099432277-3">{</span><span·class="n">User</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="5099432277-3">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·185,·SHA:·73fc889722a5747a89eb209bf480bd18d53dfe2d9d64090684400992fc60da33·...·]-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">218 ········</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">member</span><span·class="p"·data-group-id="9686247382-2">(</span><span·class="p"·data-group-id="9686247382-3">{</span><span·class="n">User</span><span·class="p">,</span><span·class="n">Password</span><span·class="p"·data-group-id="9686247382-3">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·185,·SHA:·3dbff0ac8add86bb2cb577cbec86daac057c203c7cc3ee9b481bd47146e7969c·...·]-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
219 ············</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">219 ············</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
220 ················</span><span·class="p"·data-group-id="5099432277-5">{</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p"·data-group-id="5099432277-5">}</span><span·class="p">;</span><span·class="w">·</span><span·class="c1">%·Reset·delay·time</span><span·class="w">220 ················</span><span·class="p"·data-group-id="9686247382-5">{</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p"·data-group-id="9686247382-5">}</span><span·class="p">;</span><span·class="w">·</span><span·class="c1">%·Reset·delay·time</span><span·class="w">
221 ············</span><span·class="ss">false</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">State</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">221 ············</span><span·class="ss">false</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">State</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
222 ················</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">sleep</span><span·class="p"·data-group-id="5099432277-6">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="5099432277-6">)</span><span·class="p">,</span><span·class="w">222 ················</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">sleep</span><span·class="p"·data-group-id="9686247382-6">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="9686247382-6">)</span><span·class="p">,</span><span·class="w">
223 ················</span><span·class="p"·data-group-id="5099432277-7">{</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2000</span><span·class="p"·data-group-id="5099432277-7">}</span><span·class="p">;</span><span·class="w">·</span><span·class="c1">%·Next·delay·is·2000·ms</span><span·class="w">223 ················</span><span·class="p"·data-group-id="9686247382-7">{</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2000</span><span·class="p"·data-group-id="9686247382-7">}</span><span·class="p">;</span><span·class="w">·</span><span·class="c1">%·Next·delay·is·2000·ms</span><span·class="w">
224 ············</span><span·class="ss">false</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="5099432277-8">(</span><span·class="n">State</span><span·class="p"·data-group-id="5099432277-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">224 ············</span><span·class="ss">false</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="9686247382-8">(</span><span·class="n">State</span><span·class="p"·data-group-id="9686247382-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
225 ················</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">sleep</span><span·class="p"·data-group-id="5099432277-9">(</span><span·class="n">State</span><span·class="p"·data-group-id="5099432277-9">)</span><span·class="p">,</span><span·class="w">225 ················</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">sleep</span><span·class="p"·data-group-id="9686247382-9">(</span><span·class="n">State</span><span·class="p"·data-group-id="9686247382-9">)</span><span·class="p">,</span><span·class="w">
226 ················</span><span·class="p"·data-group-id="5099432277-10">{</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="o">*</span><span·class="n">State</span><span·class="p"·data-group-id="5099432277-10">}</span><span·class="w">·</span><span·class="c1">%·Double·the·delay·for·each·failure</span><span·class="w">226 ················</span><span·class="p"·data-group-id="9686247382-10">{</span><span·class="ss">false</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="o">*</span><span·class="n">State</span><span·class="p"·data-group-id="9686247382-10">}</span><span·class="w">·</span><span·class="c1">%·Double·the·delay·for·each·failure</span><span·class="w">
227 ········</span><span·class="k">end</span><span·class="w">227 ········</span><span·class="k">end</span><span·class="w">
228 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>If·a·public·key·is·used·for·logging·in,·there·is·normally·no·checking·of·the228 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>If·a·public·key·is·used·for·logging·in,·there·is·normally·no·checking·of·the
229 user·name.·It·could·be·enabled·by·setting·the·option229 user·name.·It·could·be·enabled·by·setting·the·option
230 <a·href="ssh.html#option-pk_check_user"><code·class="inline">pk_check_user</code></a>·to·<code·class="inline">true</code>.·In·that·case·the230 <a·href="ssh.html#option-pk_check_user"><code·class="inline">pk_check_user</code></a>·to·<code·class="inline">true</code>.·In·that·case·the
231 pwdfun·will·get·the·atom·<code·class="inline">pubkey</code>·in·the·password·argument.</p></li></ul><h2·id="hardening-in-the-cryptographic-area"·class="section-heading">231 pwdfun·will·get·the·atom·<code·class="inline">pubkey</code>·in·the·password·argument.</p></li></ul><h2·id="hardening-in-the-cryptographic-area"·class="section-heading">
232 ··<a·href="#hardening-in-the-cryptographic-area"·class="hover-link">232 ··<a·href="#hardening-in-the-cryptographic-area"·class="hover-link">
233 ····<i·class="ri-link-m"·aria-hidden="true"></i>233 ····<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 288, 15 lines modifiedOffset 288, 15 lines modified
288 ··<span·class="text">The·id·string</span>288 ··<span·class="text">The·id·string</span>
289 </h3>289 </h3>
290 <p>One·way·to·reduce·the·risk·of·intrusion·is·to·not·convey·which·software·and290 <p>One·way·to·reduce·the·risk·of·intrusion·is·to·not·convey·which·software·and
291 which·version·the·intruder·is·connected·to.·This·limits·the·risk·of·an·intruder291 which·version·the·intruder·is·connected·to.·This·limits·the·risk·of·an·intruder
292 exploiting·known·faults·or·peculiarities·learned·by·reading·the·public·code.</p><p>Each·SSH·client·or·daemon·presents·themselves·to·each·other·with·brand·and292 exploiting·known·faults·or·peculiarities·learned·by·reading·the·public·code.</p><p>Each·SSH·client·or·daemon·presents·themselves·to·each·other·with·brand·and
293 version.·This·may·look·like</p><pre><code·class="text">SSH-2.0-Erlang/4.10</code></pre><p>or</p><pre><code·class="text">SSH-2.0-OpenSSH_7.6p1·Ubuntu-4ubuntu0.3</code></pre><p>This·brand·and·version·may·be·changed·with·the·option293 version.·This·may·look·like</p><pre><code·class="text">SSH-2.0-Erlang/4.10</code></pre><p>or</p><pre><code·class="text">SSH-2.0-OpenSSH_7.6p1·Ubuntu-4ubuntu0.3</code></pre><p>This·brand·and·version·may·be·changed·with·the·option
294 <a·href="ssh.html#t:id_string_common_option/0">id_string</a>.·We·start·a·daemon·with·that294 <a·href="ssh.html#t:id_string_common_option/0">id_string</a>.·We·start·a·daemon·with·that
295 option:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">daemon</span><span·class="p"·data-group-id="1631420745-1">(</span><span·class="mi">1234</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1631420745-2">[</span><span·class="p"·data-group-id="1631420745-3">{</span><span·class="ss">id_string</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·338,·SHA:·3b21f13385ad200190ce324bfcdf3bab2d098f2793d46d464c425e5465e532a7·...·]5-1">)</span><span·class="p">.</span></code></pre><p>and·the·daemon·will·present·itself·as:</p><pre><code·class="text">SSH-2.0-hi·there</code></pre><p>It·is·possible·to·replace·the·string·with·one·randomly·generated·for·each295 option:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">daemon</span><span·class="p"·data-group-id="3064076635-1">(</span><span·class="mi">1234</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3064076635-2">[</span><span·class="p"·data-group-id="3064076635-3">{</span><span·class="ss">id_string</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·338,·SHA:·dcbd3b631dd5ff35a4d61391efcff4c8914d8956db63bf9d46c38f9a7dd2a3e7·...·]5-1">)</span><span·class="p">.</span></code></pre><p>and·the·daemon·will·present·itself·as:</p><pre><code·class="text">SSH-2.0-hi·there</code></pre><p>It·is·possible·to·replace·the·string·with·one·randomly·generated·for·each
296 connection·attempt.·See·the·reference·manual·for296 connection·attempt.·See·the·reference·manual·for
297 <a·href="ssh.html#t:id_string_common_option/0">id_string</a>.</p><h2·id="client-connection-options"·class="section-heading">297 <a·href="ssh.html#t:id_string_common_option/0">id_string</a>.</p><h2·id="client-connection-options"·class="section-heading">
298 ··<a·href="#client-connection-options"·class="hover-link">298 ··<a·href="#client-connection-options"·class="hover-link">
299 ····<i·class="ri-link-m"·aria-hidden="true"></i>299 ····<i·class="ri-link-m"·aria-hidden="true"></i>
300 ··</a>300 ··</a>
301 ··<span·class="text">Client·connection·options</span>301 ··<span·class="text">Client·connection·options</span>
302 </h2>302 </h2>
Offset 342, 15 lines modifiedOffset 342, 15 lines modified
342 ······<p·class="built-using">342 ······<p·class="built-using">
343 ········Built·using343 ········Built·using
344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
346 ······</p>346 ······</p>
347 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>347 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
348 ····</footer>348 ····</footer>
349 ··</div>349 ··</div>
350 </main>350 </main>
351 </div>351 </div>
352 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>352 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
353 ··<script>353 ··<script>
354 ··let·initialized·=·false;354 ··let·initialized·=·false;
727 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/introduction.html
    
Offset 268, 15 lines modifiedOffset 268, 15 lines modified
268 ······<p·class="built-using">268 ······<p·class="built-using">
269 ········Built·using269 ········Built·using
270 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the270 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
271 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>271 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
272 ······</p>272 ······</p>
273 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>273 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
274 ····</footer>274 ····</footer>
275 ··</div>275 ··</div>
276 </main>276 </main>
277 </div>277 </div>
278 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>278 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
279 ··<script>279 ··<script>
280 ··let·initialized·=·false;280 ··let·initialized·=·false;
706 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/notes.html
    
Offset 3511, 15 lines modifiedOffset 3511, 15 lines modified
3511 ······<p·class="built-using">3511 ······<p·class="built-using">
3512 ········Built·using3512 ········Built·using
3513 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3513 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3514 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3514 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3515 ······</p>3515 ······</p>
3516 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3516 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3517 ····</footer>3517 ····</footer>
3518 ··</div>3518 ··</div>
3519 </main>3519 </main>
3520 </div>3520 </div>
3521 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3521 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3522 ··<script>3522 ··<script>
3523 ··let·initialized·=·false;3523 ··let·initialized·=·false;
695 B
html2text {}
Max HTML report size reached
1.25 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
458 B
html2text {}
Max HTML report size reached
591 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh.epub
4.57 KB
zipinfo {}
Max HTML report size reached
165 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
205 KB
OEBPS/using_ssh.xhtml
Max HTML report size reached
4.64 KB
OEBPS/ssh_agent.xhtml
Max HTML report size reached
13.3 KB
OEBPS/ssh.xhtml
Max HTML report size reached
11.1 KB
OEBPS/hardening.xhtml
Max HTML report size reached
1.2 KB
OEBPS/content.opf
1.17 KB
OEBPS/content.opf
Max HTML report size reached
124 KB
OEBPS/configure_algos.xhtml
Max HTML report size reached
61.2 KB
OEBPS/configurations.xhtml
Max HTML report size reached
14.8 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh.html
    
Offset 2285, 22 lines modifiedOffset 2285, 22 lines modified
  
2285 ··········<pre·translate="no"><span·class="attribute">-type</span>·double_algs(AlgType)·::·[{client2server,·[AlgType]}·|·{server2client,·[AlgType]}]·|·[AlgType].</pre>2285 ··········<pre·translate="no"><span·class="attribute">-type</span>·double_algs(AlgType)·::·[{client2server,·[AlgType]}·|·{server2client,·[AlgType]}]·|·[AlgType].</pre>
  
2286 ······</div>2286 ······</div>
  
2287 <p>List·of·algorithms·to·use·in·the·algorithm·negotiation.·The·default2287 <p>List·of·algorithms·to·use·in·the·algorithm·negotiation.·The·default
2288 <a·href="#t:algs_list/0"><code·class="inline">algs_list/0</code></a>·can·be·obtained·from·<a·href="#default_algorithms/0"><code·class="inline">default_algorithms/0</code></a>.</p><p>If·an·alg_entry()·is·missing·in·the·algs_list(),·the·default·value·is·used·for2288 <a·href="#t:algs_list/0"><code·class="inline">algs_list/0</code></a>·can·be·obtained·from·<a·href="#default_algorithms/0"><code·class="inline">default_algorithms/0</code></a>.</p><p>If·an·alg_entry()·is·missing·in·the·algs_list(),·the·default·value·is·used·for
2289 that·entry.</p><p>Here·is·an·example·of·this·option:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»  ··</span><span·class="p"·data-group-id="2456574833-1">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">2289 that·entry.</p><p>Here·is·an·example·of·this·option:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">»  ··</span><span·class="p"·data-group-id="7904048969-1">{</span><span·class="ss">preferred_algorithms</span><span·class="p">,</span><span·class="w">
2290 »       ··</span><span·class="p"·data-group-id="2456574833-2">[</span><span·class="p"·data-group-id="2456574833-3">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="2456574833-4">[</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·130,·SHA:·380f693b6372d7e498d84659d96bcf0e92775207230963978ff3bbb1c382e317·...·]-3">}</span><span·class="p">,</span><span·class="w">2290 »       ··</span><span·class="p"·data-group-id="7904048969-2">[</span><span·class="p"·data-group-id="7904048969-3">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="p"·data-group-id="7904048969-4">[</span><span·class="ss">&#39;ssh-rsa&#39;</span><span·class="p">,</span><span[·...·truncated·by·diffoscope;·len:·130,·SHA:·eb515b67d62ddc06af15ede4b4b4181cc0f7125fefc82065c91726c07c2e941a·...·]-3">}</span><span·class="p">,</span><span·class="w">
2291 »       ··</span><span·class="p"·data-group-id="2456574833-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="2456574833-6">[</span><span·class="p"·data-group-id="2456574833-7">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·178,·SHA:·938ecbbf425d06367b8aaf60daa85e1b84eb9ba8faaff79d29097865dba74f9f·...·]-7">}</span><span·class="p">,</span><span·class="w">2291 »       ··</span><span·class="p"·data-group-id="7904048969-5">{</span><span·class="ss">cipher</span><span·class="p">,</span><span·class="p"·data-group-id="7904048969-6">[</span><span·class="p"·data-group-id="7904048969-7">{</span><span·class="ss">client2server</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·178,·SHA:·a5b53889b26a4124e3d86b8ee7681feeb30b4fda5016b5ce7359c4af5544b25f·...·]-7">}</span><span·class="p">,</span><span·class="w">
2292 ··········</span><span·class="p"·data-group-id="2456574833-9">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="2456574833-10">[</span><span·class="ss">&#39;aes128-cbc&#39;</span><span·class="p">,</span><span·class="ss">&#39;3des-cbc&#39;</span><span·cla[·...·truncated·by·diffoscope;·len:·192,·SHA:·71ad9e85c0878f62a219aaaec4431323862539d62a0d91695d8460c46dff9daf·...·]-5">}</span><span·class="p">,</span><span·class="w">2292 ··········</span><span·class="p"·data-group-id="7904048969-9">{</span><span·class="ss">server2client</span><span·class="p">,</span><span·class="p"·data-group-id="7904048969-10">[</span><span·class="ss">&#39;aes128-cbc&#39;</span><span·class="p">,</span><span·class="ss">&#39;3des-cbc&#39;</span><span·cla[·...·truncated·by·diffoscope;·len:·192,·SHA:·1bc24ce09c6d4a94bc155cc1bbef7c7e86b5f730362c5d395e027d69610b2b34·...·]-5">}</span><span·class="p">,</span><span·class="w">
2293 »       ··</span><span·class="p"·data-group-id="2456574833-11">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="2456574833-12">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p[·...·truncated·by·diffoscope;·len:·81,·SHA:·3623cbabdf5af93dcc1e96bca620a876f3f5c617919b29864bd306e3b108b347·...·]-11">}</span><span·class="p">,</span><span·class="w">2293 »       ··</span><span·class="p"·data-group-id="7904048969-11">{</span><span·class="ss">mac</span><span·class="p">,</span><span·class="p"·data-group-id="7904048969-12">[</span><span·class="ss">&#39;hmac-sha2-256&#39;</span><span·class="p">,</span><span·class="ss">&#39;hmac-sha1&#39;</span><span·class="p[·...·truncated·by·diffoscope;·len:·81,·SHA:·310e0ab24cf0f9c32534729ec9002d6d1b77d061adf932a6f3f6ee91d8a032e5·...·]-11">}</span><span·class="p">,</span><span·class="w">
2294 »       ··</span><span·class="p"·data-group-id="2456574833-13">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="2456574833-14">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">zlib</span><span·class="p"·data-group-id="245657483[·...·truncated·by·diffoscope;·len:·55,·SHA:·ea40491f755b53f338fb398ff4e03720b154ee513baf79793d248f86b0d2c700·...·]-13">}</span><span·class="w">2294 »       ··</span><span·class="p"·data-group-id="7904048969-13">{</span><span·class="ss">compression</span><span·class="p">,</span><span·class="p"·data-group-id="7904048969-14">[</span><span·class="ss">none</span><span·class="p">,</span><span·class="ss">zlib</span><span·class="p"·data-group-id="790404896[·...·truncated·by·diffoscope;·len:·55,·SHA:·c20fe42f9f554ad9ab6acf7617d78d5fa53a7746efad48fd430c06ca5d491fa7·...·]-13">}</span><span·class="w">
2295 »       ··</span><span·class="p"·data-group-id="2456574833-2">]</span><span·class="w">2295 »       ··</span><span·class="p"·data-group-id="7904048969-2">]</span><span·class="w">
2296 »       ··</span><span·class="p"·data-group-id="2456574833-1">}</span></code></pre><p>The·example·specifies·different·algorithms·in·the·two·directions·(client2server2296 »       ··</span><span·class="p"·data-group-id="7904048969-1">}</span></code></pre><p>The·example·specifies·different·algorithms·in·the·two·directions·(client2server
2297 and·server2client),·for·cipher·but·specifies·the·same·algorithms·for·mac·and2297 and·server2client),·for·cipher·but·specifies·the·same·algorithms·for·mac·and
2298 compression·in·both·directions.·The·kex·(key·exchange)·is·implicit·but2298 compression·in·both·directions.·The·kex·(key·exchange)·is·implicit·but
2299 public_key·is·set·explicitly.</p><p>For·background·and·more·examples·see·the2299 public_key·is·set·explicitly.</p><p>For·background·and·more·examples·see·the
2300 <a·href="configure_algos.html#introduction">User's·Guide</a>.</p><p>If·an·algorithm·name·occurs·more·than·once·in·a·list,·the·behaviour·is2300 <a·href="configure_algos.html#introduction">User's·Guide</a>.</p><p>If·an·algorithm·name·occurs·more·than·once·in·a·list,·the·behaviour·is
2301 undefined.·The·tags·in·the·property·lists·are·also·assumed·to·occur·at·most·one2301 undefined.·The·tags·in·the·property·lists·are·also·assumed·to·occur·at·most·one
2302 time.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Changing·the·values·can·make·a·connection·less·secure.·Do·not·change·unless2302 time.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Changing·the·values·can·make·a·connection·less·secure.·Do·not·change·unless
2303 you·know·exactly·what·you·are·doing.·If·you·do·not·understand·the·values·then2303 you·know·exactly·what·you·are·doing.·If·you·do·not·understand·the·values·then
Offset 5337, 29 lines modifiedOffset 5337, 29 lines modified
5337 ·································StringOrString·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·|·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()].</pre>5337 ·································StringOrString·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()·|·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:string/0">string</a>()].</pre>
  
5338 ······</div>5338 ······</div>
  
5339 <p>hostkey_fingerprint([DigestType],·HostKey)·-&gt;5339 <p>hostkey_fingerprint([DigestType],·HostKey)·-&gt;
5340 [string()]hostkey_fingerprint(DigestType,·HostKey)·-&gt;·string()</p><p>Calculates·a·ssh·fingerprint·from·a·public·host·key·as·openssh·does.</p><p>The·algorithm·in·<a·href="#hostkey_fingerprint/1"><code·class="inline">hostkey_fingerprint/1</code></a>·is·md5·to·be5340 [string()]hostkey_fingerprint(DigestType,·HostKey)·-&gt;·string()</p><p>Calculates·a·ssh·fingerprint·from·a·public·host·key·as·openssh·does.</p><p>The·algorithm·in·<a·href="#hostkey_fingerprint/1"><code·class="inline">hostkey_fingerprint/1</code></a>·is·md5·to·be
5341 compatible·with·older·ssh-keygen·commands.·The·string·from·the·second·variant·is5341 compatible·with·older·ssh-keygen·commands.·The·string·from·the·second·variant·is
5342 prepended·by·the·algorithm·name·in·uppercase·as·in·newer·ssh-keygen·commands.</p><p>Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="2939181501-1">(</span><span·class="n">Key</span><span·class="p"·data-group-id="2939181501-1">)</span><span·class="p">.</span><span·class="w">5342 prepended·by·the·algorithm·name·in·uppercase·as·in·newer·ssh-keygen·commands.</p><p>Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="5520171301-1">(</span><span·class="n">Key</span><span·class="p"·data-group-id="5520171301-1">)</span><span·class="p">.</span><span·class="w">
5343 ·</span><span·class="s">&quot;f5:64:a6:c1:5a:cb:9f:0a:10:46:a2:5c:3e:2f:57:84&quot;</span><span·class="w">5343 ·</span><span·class="s">&quot;f5:64:a6:c1:5a:cb:9f:0a:10:46:a2:5c:3e:2f:57:84&quot;</span><span·class="w">
  
5344 ·</span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="2939181501-2">(</span><span·class="nb">md5</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="2939181501-2">)</span><span·class="p">.</span><span·class="w">5344 ·</span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="5520171301-2">(</span><span·class="nb">md5</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="5520171301-2">)</span><span·class="p">.</span><span·class="w">
5345 ·</span><span·class="s">&quot;MD5:f5:64:a6:c1:5a:cb:9f:0a:10:46:a2:5c:3e:2f:57:84&quot;</span><span·class="w">5345 ·</span><span·class="s">&quot;MD5:f5:64:a6:c1:5a:cb:9f:0a:10:46:a2:5c:3e:2f:57:84&quot;</span><span·class="w">
  
5346 ·</span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="2939181501-3">(</span><span·class="ss">sha</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="2939181501-3">)</span><span·class="p">.</span><span·class="w">5346 ·</span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="5520171301-3">(</span><span·class="ss">sha</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="5520171301-3">)</span><span·class="p">.</span><span·class="w">
5347 ·</span><span·class="s">&quot;SHA1:bSLY/C4QXLDL/Iwmhyg0PGW9UbY&quot;</span><span·class="w">5347 ·</span><span·class="s">&quot;SHA1:bSLY/C4QXLDL/Iwmhyg0PGW9UbY&quot;</span><span·class="w">
  
5348 ·</span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="2939181501-4">(</span><span·class="ss">sha256</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="2939181501-4">)</span><span·class="p">.</span><span·class="w">5348 ·</span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="5520171301-4">(</span><span·class="ss">sha256</span><span·class="p">,</span><span·class="n">Key</span><span·class="p"·data-group-id="5520171301-4">)</span><span·class="p">.</span><span·class="w">
5349 ·</span><span·class="s">&quot;SHA256:aZGXhabfbf4oxglxltItWeHU7ub3Dc31NcNw2cMJePQ&quot;</span><span·class="w">5349 ·</span><span·class="s">&quot;SHA256:aZGXhabfbf4oxglxltItWeHU7ub3Dc31NcNw2cMJePQ&quot;</span><span·class="w">
  
5350 ·</span><span·class="mi">6</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="2939181501-5">(</span><span·class="p"·data-group-id="2939181501-6">[</span><span·class="ss">sha</span><span·class="p">,</span><span·class="ss">sha256</span><span·class="p"·data-group-id="2939181501-6">]</span><span·class="p">,</span><span·class="n">Key</sp[·...·truncated·by·diffoscope;·len:·42,·SHA:·1641bf48ab808de32f7ca8d2566cc76fbfa84e0cebca789e06d3c89249c98325·...·]01-5">)</span><span·class="p">.</span><span·class="w">5350 ·</span><span·class="mi">6</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">ssh</span><span·class="p">:</span><span·class="nf">hostkey_fingerprint</span><span·class="p"·data-group-id="5520171301-5">(</span><span·class="p"·data-group-id="5520171301-6">[</span><span·class="ss">sha</span><span·class="p">,</span><span·class="ss">sha256</span><span·class="p"·data-group-id="5520171301-6">]</span><span·class="p">,</span><span·class="n">Key</sp[·...·truncated·by·diffoscope;·len:·42,·SHA:·432a20b1fe2089d1d6c7815f6e7a0cd4e05f251f2ce55a23785e4782f9878fce·...·]01-5">)</span><span·class="p">.</span><span·class="w">
5351 ·</span><span·class="p"·data-group-id="2939181501-7">[</span><span·class="s">&quot;SHA1:bSLY/C4QXLDL/Iwmhyg0PGW9UbY&quot;</span><span·class="p">,</span><span·class="w">5351 ·</span><span·class="p"·data-group-id="5520171301-7">[</span><span·class="s">&quot;SHA1:bSLY/C4QXLDL/Iwmhyg0PGW9UbY&quot;</span><span·class="p">,</span><span·class="w">
5352 ··</span><span·class="s">&quot;SHA256:aZGXhabfbf4oxglxltItWeHU7ub3Dc31NcNw2cMJePQ&quot;</span><span·class="p"·data-group-id="2939181501-7">]</span></code></pre>5352 ··</span><span·class="s">&quot;SHA256:aZGXhabfbf4oxglxltItWeHU7ub3Dc31NcNw2cMJePQ&quot;</span><span·class="p"·data-group-id="5520171301-7">]</span></code></pre>
5353 ··</section>5353 ··</section>
5354 </section>5354 </section>
5355 <section·class="detail"·id="set_sock_opts/2">5355 <section·class="detail"·id="set_sock_opts/2">
  
5356 ··<div·class="detail-header">5356 ··<div·class="detail-header">
5357 ····<a·href="#set_sock_opts/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">5357 ····<a·href="#set_sock_opts/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
5358 ······<i·class="ri-link-m"·aria-hidden="true"></i>5358 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 5900, 15 lines modifiedOffset 5900, 15 lines modified
5900 ······<p·class="built-using">5900 ······<p·class="built-using">
5901 ········Built·using5901 ········Built·using
5902 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the5902 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
5903 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>5903 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
5904 ······</p>5904 ······</p>
5905 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>5905 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
5906 ····</footer>5906 ····</footer>
5907 ··</div>5907 ··</div>
5908 </main>5908 </main>
5909 </div>5909 </div>
5910 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>5910 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
5911 ··<script>5911 ··<script>
5912 ··let·initialized·=·false;5912 ··let·initialized·=·false;
738 B
html2text {}
Max HTML report size reached
6.01 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_agent.html
    
Offset 131, 19 lines modifiedOffset 131, 19 lines modified
131 <p>Callback·module·for·using·an·SSH·agent·instead·of·the·default·ssh_file·callback.</p><p>This·module·defines·a·callback·handler·for·the·communication·with·an131 <p>Callback·module·for·using·an·SSH·agent·instead·of·the·default·ssh_file·callback.</p><p>This·module·defines·a·callback·handler·for·the·communication·with·an
132 <a·href="https://tools.ietf.org/html/draft-miller-ssh-agent-02">SSH·Agent</a>·and·can·be132 <a·href="https://tools.ietf.org/html/draft-miller-ssh-agent-02">SSH·Agent</a>·and·can·be
133 used·to·replace·the·<a·href="ssh_file.html">default·callback</a>.·This·allows·to·issue133 used·to·replace·the·<a·href="ssh_file.html">default·callback</a>.·This·allows·to·issue
134 signing·requests·to·an·agent·that·stores·SSH·private·keys·to·perform134 signing·requests·to·an·agent·that·stores·SSH·private·keys·to·perform
135 authentication.</p><p>Ssh_agent·implements·the·<a·href="ssh_client_key_api.html"><code·class="inline">ssh_client_key_api</code></a>,·to·allow·it·to·be·used·by135 authentication.</p><p>Ssh_agent·implements·the·<a·href="ssh_client_key_api.html"><code·class="inline">ssh_client_key_api</code></a>,·to·allow·it·to·be·used·by
136 setting·the·option·<a·href="ssh.html#t:key_cb_common_option/0"><code·class="inline">key_cb</code></a>·when·starting·a136 setting·the·option·<a·href="ssh.html#t:key_cb_common_option/0"><code·class="inline">key_cb</code></a>·when·starting·a
137 client·(with·for·example·<a·href="ssh.html#connect/3">ssh:connect</a>,137 client·(with·for·example·<a·href="ssh.html#connect/3">ssh:connect</a>,
138 <a·href="ssh.html#shell/1">ssh:shell</a>·).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="2361581215-1">{</span><span·class="ss">key_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2361581215-2">{</span><span·class="ss">ssh_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·178,·SHA:·2526c0f5283b5be1ba3b5cf13461a9281b49c8f34162abb4421d92fe4cdaa661·...·]-1">}</span></code></pre><p>The·agent·communication·is·established·through·a·UNIX·domain·socket.·By·default,138 <a·href="ssh.html#shell/1">ssh:shell</a>·).</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="3517281949-1">{</span><span·class="ss">key_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3517281949-2">{</span><span·class="ss">ssh_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·178,·SHA:·bdc76643b60a36a15172b7b35a3ff22330514f47608386b39c753e222ff2ba6e·...·]-1">}</span></code></pre><p>The·agent·communication·is·established·through·a·UNIX·domain·socket.·By·default,
139 the·socket·path·will·be·fetched·from·the·<code·class="inline">SSH_AUTH_SOCK</code>·environment·variable,139 the·socket·path·will·be·fetched·from·the·<code·class="inline">SSH_AUTH_SOCK</code>·environment·variable,
140 which·is·the·default·socket·path·in·the·agent·implementation·of140 which·is·the·default·socket·path·in·the·agent·implementation·of
141 <a·href="http://www.openssh.com">OpenSSH</a>.</p><p><a·href=""·id="SOCKET_PATH"></a>·In·order·to·set·a·different·socket·path·the·<code·class="inline">socket_path</code>141 <a·href="http://www.openssh.com">OpenSSH</a>.</p><p><a·href=""·id="SOCKET_PATH"></a>·In·order·to·set·a·different·socket·path·the·<code·class="inline">socket_path</code>
142 option·can·be·set.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="0431639808-1">{</span><span·class="ss">key_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0431639808-2">{</span><span·class="ss">ssh_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·400,·SHA:·3f9f74a8fbf6c1284ec423f5429f8c479ceb51e09e2787bdb2f04d9a4748fa01·...·]-1">}</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·functions·are·<em>Callbacks</em>·for·the·SSH·app.·They·are·not·intended·to·be142 option·can·be·set.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="1764224834-1">{</span><span·class="ss">key_cb</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1764224834-2">{</span><span·class="ss">ssh_agent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·400,·SHA:·b7598db6d90cf3837be07f7ef8e8b967cc5e5e23191bb069d4e8ebf5e11bb294·...·]-1">}</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·functions·are·<em>Callbacks</em>·for·the·SSH·app.·They·are·not·intended·to·be
143 called·from·the·user's·code!</p></section>143 called·from·the·user's·code!</p></section>
144 ····</section>144 ····</section>
  
145 </div>145 </div>
  
146 ··<section·id="summary"·class="details-list">146 ··<section·id="summary"·class="details-list">
147 ····<h1·class="section-heading">147 ····<h1·class="section-heading">
Offset 547, 15 lines modifiedOffset 547, 15 lines modified
547 ······<p·class="built-using">547 ······<p·class="built-using">
548 ········Built·using548 ········Built·using
549 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the549 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
550 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>550 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
551 ······</p>551 ······</p>
552 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>552 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
553 ····</footer>553 ····</footer>
554 ··</div>554 ··</div>
555 </main>555 </main>
556 </div>556 </div>
557 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>557 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
558 ··<script>558 ··<script>
559 ··let·initialized·=·false;559 ··let·initialized·=·false;
680 B
html2text {}
Max HTML report size reached
1.42 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_app.html
    
Offset 347, 15 lines modifiedOffset 347, 15 lines modified
347 ······<p·class="built-using">347 ······<p·class="built-using">
348 ········Built·using348 ········Built·using
349 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the349 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
350 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>350 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
351 ······</p>351 ······</p>
352 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>352 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
353 ····</footer>353 ····</footer>
354 ··</div>354 ··</div>
355 </main>355 </main>
356 </div>356 </div>
357 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>357 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
358 ··<script>358 ··<script>
359 ··let·initialized·=·false;359 ··let·initialized·=·false;
626 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_client_channel.html
    
Offset 956, 15 lines modifiedOffset 956, 15 lines modified
956 ······<p·class="built-using">956 ······<p·class="built-using">
957 ········Built·using957 ········Built·using
958 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the958 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
959 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>959 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
960 ······</p>960 ······</p>
961 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>961 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
962 ····</footer>962 ····</footer>
963 ··</div>963 ··</div>
964 </main>964 </main>
965 </div>965 </div>
966 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>966 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
967 ··<script>967 ··<script>
968 ··let·initialized·=·false;968 ··let·initialized·=·false;
664 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_client_key_api.html
    
Offset 523, 15 lines modifiedOffset 523, 15 lines modified
523 ······<p·class="built-using">523 ······<p·class="built-using">
524 ········Built·using524 ········Built·using
525 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the525 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
526 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>526 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
527 ······</p>527 ······</p>
528 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>528 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
529 ····</footer>529 ····</footer>
530 ··</div>530 ··</div>
531 </main>531 </main>
532 </div>532 </div>
533 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>533 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
534 ··<script>534 ··<script>
535 ··let·initialized·=·false;535 ··let·initialized·=·false;
646 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_connection.html
    
Offset 1939, 15 lines modifiedOffset 1939, 15 lines modified
1939 ······<p·class="built-using">1939 ······<p·class="built-using">
1940 ········Built·using1940 ········Built·using
1941 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1941 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1942 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1942 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1943 ······</p>1943 ······</p>
1944 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1944 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1945 ····</footer>1945 ····</footer>
1946 ··</div>1946 ··</div>
1947 </main>1947 </main>
1948 </div>1948 </div>
1949 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1949 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1950 ··<script>1950 ··<script>
1951 ··let·initialized·=·false;1951 ··let·initialized·=·false;
679 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_file.html
    
Offset 1002, 15 lines modifiedOffset 1002, 15 lines modified
1002 ······<p·class="built-using">1002 ······<p·class="built-using">
1003 ········Built·using1003 ········Built·using
1004 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1004 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1005 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1005 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1006 ······</p>1006 ······</p>
1007 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1007 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1008 ····</footer>1008 ····</footer>
1009 ··</div>1009 ··</div>
1010 </main>1010 </main>
1011 </div>1011 </div>
1012 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1012 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1013 ··<script>1013 ··<script>
1014 ··let·initialized·=·false;1014 ··let·initialized·=·false;
641 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_server_channel.html
    
Offset 375, 15 lines modifiedOffset 375, 15 lines modified
375 ······<p·class="built-using">375 ······<p·class="built-using">
376 ········Built·using376 ········Built·using
377 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the377 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
378 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>378 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
379 ······</p>379 ······</p>
380 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>380 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
381 ····</footer>381 ····</footer>
382 ··</div>382 ··</div>
383 </main>383 </main>
384 </div>384 </div>
385 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>385 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
386 ··<script>386 ··<script>
387 ··let·initialized·=·false;387 ··let·initialized·=·false;
736 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_server_key_api.html
    
Offset 321, 15 lines modifiedOffset 321, 15 lines modified
321 ······<p·class="built-using">321 ······<p·class="built-using">
322 ········Built·using322 ········Built·using
323 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the323 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
324 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>324 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
325 ······</p>325 ······</p>
326 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>326 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
327 ····</footer>327 ····</footer>
328 ··</div>328 ··</div>
329 </main>329 </main>
330 </div>330 </div>
331 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>331 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
332 ··<script>332 ··<script>
333 ··let·initialized·=·false;333 ··let·initialized·=·false;
732 B
html2text {}
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_sftp.html
    
Offset 2798, 15 lines modifiedOffset 2798, 15 lines modified
2798 ······<p·class="built-using">2798 ······<p·class="built-using">
2799 ········Built·using2799 ········Built·using
2800 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2800 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2801 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2801 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2802 ······</p>2802 ······</p>
2803 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2803 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2804 ····</footer>2804 ····</footer>
2805 ··</div>2805 ··</div>
2806 </main>2806 </main>
2807 </div>2807 </div>
2808 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2808 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2809 ··<script>2809 ··<script>
2810 ··let·initialized·=·false;2810 ··let·initialized·=·false;
783 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/ssh_sftpd.html
    
Offset 238, 15 lines modifiedOffset 238, 15 lines modified
238 ······<p·class="built-using">238 ······<p·class="built-using">
239 ········Built·using239 ········Built·using
240 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the240 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
241 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>241 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
242 ······</p>242 ······</p>
243 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>243 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
244 ····</footer>244 ····</footer>
245 ··</div>245 ··</div>
246 </main>246 </main>
247 </div>247 </div>
248 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>248 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
249 ··<script>249 ··<script>
250 ··let·initialized·=·false;250 ··let·initialized·=·false;
689 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/terminology.html
    
Offset 243, 15 lines modifiedOffset 243, 15 lines modified
243 ······<p·class="built-using">243 ······<p·class="built-using">
244 ········Built·using244 ········Built·using
245 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the245 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
246 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>246 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
247 ······</p>247 ······</p>
248 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>248 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
249 ····</footer>249 ····</footer>
250 ··</div>250 ··</div>
251 </main>251 </main>
252 </div>252 </div>
253 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>253 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
254 ··<script>254 ··<script>
255 ··let·initialized·=·false;255 ··let·initialized·=·false;
657 B
html2text {}
Max HTML report size reached
207 KB
./usr/share/doc/erlang-doc/html/lib/ssh-5.3/doc/html/using_ssh.html
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/api-reference.html
    
Offset 209, 15 lines modifiedOffset 209, 15 lines modified
209 ······<p·class="built-using">209 ······<p·class="built-using">
210 ········Built·using210 ········Built·using
211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the211 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>212 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
213 ······</p>213 ······</p>
214 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>214 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
215 ····</footer>215 ····</footer>
216 ··</div>216 ··</div>
217 </main>217 </main>
218 </div>218 </div>
219 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>219 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
220 ··<script>220 ··<script>
221 ··let·initialized·=·false;221 ··let·initialized·=·false;
645 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/notes.html
    
Offset 3571, 15 lines modifiedOffset 3571, 15 lines modified
3571 ······<p·class="built-using">3571 ······<p·class="built-using">
3572 ········Built·using3572 ········Built·using
3573 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3573 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3574 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3574 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3575 ······</p>3575 ······</p>
3576 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3576 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3577 ····</footer>3577 ····</footer>
3578 ··</div>3578 ··</div>
3579 </main>3579 </main>
3580 </div>3580 </div>
3581 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3581 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3582 ··<script>3582 ··<script>
3583 ··let·initialized·=·false;3583 ··let·initialized·=·false;
704 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
459 B
html2text {}
Max HTML report size reached
605 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/ssl.epub
3.2 KB
zipinfo {}
Max HTML report size reached
109 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:16:04,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:54:10,·uncompressed·size·20,·method=store
298 KB
OEBPS/using_ssl.xhtml
Max HTML report size reached
22.2 KB
OEBPS/ssl_distribution.xhtml
Max HTML report size reached
171 KB
OEBPS/ssl.xhtml
Max HTML report size reached
1.2 KB
OEBPS/content.opf
1.17 KB
OEBPS/content.opf
Max HTML report size reached
92.9 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/ssl.html
    
Offset 127, 17 lines modifiedOffset 127, 17 lines modified
127 ··</h1>127 ··</h1>
  
  
128 ····<section·id="moduledoc">128 ····<section·id="moduledoc">
129 <p>Interface·functions·for·TLS·(Transport·Layer·Security)129 <p>Interface·functions·for·TLS·(Transport·Layer·Security)
130 and·DTLS·(Datagram·Transport·Layer·Security).</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·application's·name·is·still·SSL·because·the·first·versions·of·the130 and·DTLS·(Datagram·Transport·Layer·Security).</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·application's·name·is·still·SSL·because·the·first·versions·of·the
131 TLS·protocol·were·named·SSL·(Secure·Socket·Layer).·However,·no·version131 TLS·protocol·were·named·SSL·(Secure·Socket·Layer).·However,·no·version
132 of·the·old·SSL·protocol·is·supported·by·this·application.</p></section><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ssl</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="4243175295-1">(</span><span·class="p"·data-group-id="4243175295-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ssl</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="4243175295-2">(</span><span·class="s">&quot;google.com&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">443</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4243175295-3">[</span><span·class="p"·data-group-id="4243175295-4">{</span><span·class="ss">verify</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">verify_peer</span><span·class="p"·data-group-id="4243175295-4">}</span><span·class="p">,</span><span·class="w"> 
133 ····</span><span·class="p"·data-group-id="4243175295-5">{</span><span·class="ss">cacerts</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">public_key</span><span·class="p">:</span><span·class="nf">cacerts_get</span><span·class="p"·data-group-id="4243175295-6">(</span><span·class="p"·data-group-id="4243175295-6">)</span><span·class="p"·data-group-id="4243175295-5">}</span><span·class="p"·data-group-id="4243175295-3">]</span><span·class="p"·data-group-id="4243175295-2">)</span><span·class="p">.</span><span·class="w"> 
134 </span><span·class="p"·data-group-id="4243175295-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4243175295-8">{</span><span·class="ss">sslsocket</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·369,·SHA:·33e3c0e9ef8bd67cc8edaf9fd19f2d3b1bca0bcb7e846a94a58e417887cee2ac·...·]132 of·the·old·SSL·protocol·is·supported·by·this·application.</p></section><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ssl</span><span·class="p">:</span><span·class="nf">start</span[·...·truncated·by·diffoscope;·len:·770,·SHA:·abfc74dc0a50ec6e69eb4ada135d37a1f979b1cf63cb6dc16ada9891feebd6d9·...·]
 133 ····</span><span·class="p"·data-group-id="6742492459-5">{</span><span·class="ss">cacerts</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">public_key</span><span·class="p">:</span><span·class="nf">cacerts_get</span><span·class="p"·data-group-id="6742492459-6">(</span><span·class="p"·data-group-id="6742492459-6">)</span><span·class="p"·data-group-id="6742492459-5">}</span><span·class="p"·data-group-id="6742492459-3">]</span><span·class="p"·data-group-id="6742492459-2">)</span><span·class="p">.</span><span·class="w">
 134 </span><span·class="p"·data-group-id="6742492459-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6742492459-8">{</span><span·class="ss">sslsocket</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6742492459-9">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="6742492459-9">]</span><span·class="p"·data-group-id="6742492459-8">}</span><span·class="p"·data-group-id="6742492459-7">}</span></code></pre><p>See·<a·href="using_ssl.html">Examples</a>·for·detailed·usage·and·more·examples·of
135 this·API.</p><p>Special·Erlang·node·configuration·for·the·application·can·be·found·in135 this·API.</p><p>Special·Erlang·node·configuration·for·the·application·can·be·found·in
136 <a·href="ssl_app.html">SSL·Application</a>.</p>136 <a·href="ssl_app.html">SSL·Application</a>.</p>
137 ····</section>137 ····</section>
  
138 </div>138 </div>
  
139 ··<section·id="summary"·class="details-list">139 ··<section·id="summary"·class="details-list">
Offset 1921, 34 lines modifiedOffset 1921, 34 lines modified
1921 from·the·cipher·suite.</p><p>In·TLS-1.2·a·somewhat·more·explicit·negotiation·is·made·possible·using·a·list·of1921 from·the·cipher·suite.</p><p>In·TLS-1.2·a·somewhat·more·explicit·negotiation·is·made·possible·using·a·list·of
1922 <code·class="inline">{HashAlgo,·SignAlgo}</code>·tuples.</p><p>In·TLS-1.3,·these·algorithm·pairs·are·replaced·by·<a·href="#t:sign_scheme/0">signature1922 <code·class="inline">{HashAlgo,·SignAlgo}</code>·tuples.</p><p>In·TLS-1.3,·these·algorithm·pairs·are·replaced·by·<a·href="#t:sign_scheme/0">signature
1923 schemes</a>·that·are·completely·decoupled·from·the1923 schemes</a>·that·are·completely·decoupled·from·the
1924 cipher·suite.</p><p>Signature·algorithms·used·for·certificates·can·be·overridden·by·the1924 cipher·suite.</p><p>Signature·algorithms·used·for·certificates·can·be·overridden·by·the
1925 <a·href="#t:sign_scheme/0">signature·schemes</a>·supplied·by·the1925 <a·href="#t:sign_scheme/0">signature·schemes</a>·supplied·by·the
1926 <code·class="inline">signature_algs_cert</code>·option.</p><p>The·TLS-1.2·default·is·<code·class="inline">Default_TLS_12_Alg_Pairs</code>·interleaved·with1926 <code·class="inline">signature_algs_cert</code>·option.</p><p>The·TLS-1.2·default·is·<code·class="inline">Default_TLS_12_Alg_Pairs</code>·interleaved·with
1927 <code·class="inline">rsa_pss_schemes</code>·since·ssl-11.0·(Erlang/OTP·25).·<code·class="inline">pss_pss</code>·is1927 <code·class="inline">rsa_pss_schemes</code>·since·ssl-11.0·(Erlang/OTP·25).·<code·class="inline">pss_pss</code>·is
1928 preferred·over·<code·class="inline">pss_rsae</code>,·which·in·turn·is·preferred·over·<code·class="inline">rsa</code>.</p><p>The·list·for·<code·class="inline">Default_TLS_12_Alg_Pairs</code>·is·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8450162562-1">[</span><span·class="w">1928 preferred·over·<code·class="inline">pss_rsae</code>,·which·in·turn·is·preferred·over·<code·class="inline">rsa</code>.</p><p>The·list·for·<code·class="inline">Default_TLS_12_Alg_Pairs</code>·is·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5927192015-1">[</span><span·class="w">
1929 </span><span·class="p"·data-group-id="8450162562-2">{</span><span·class="ss">sha512</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ecdsa</span><span·class="p"·data-group-id="8450162562-2">}</span><span·class="p">,</span><span·class="w">1929 </span><span·class="p"·data-group-id="5927192015-2">{</span><span·class="ss">sha512</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ecdsa</span><span·class="p"·data-group-id="5927192015-2">}</span><span·class="p">,</span><span·class="w">
1930 </span><span·class="p"·data-group-id="8450162562-3">{</span><span·class="ss">sha512</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">rsa</span><span·class="p"·data-group-id="8450162562-3">}</span><span·class="p">,</span><span·class="w">1930 </span><span·class="p"·data-group-id="5927192015-3">{</span><span·class="ss">sha512</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">rsa</span><span·class="p"·data-group-id="5927192015-3">}</span><span·class="p">,</span><span·class="w">
1931 </span><span·class="p"·data-group-id="8450162562-4">{</span><span·class="ss">sha384</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ecdsa</span><span·class="p"·data-group-id="8450162562-4">}</span><span·class="p">,</span><span·class="w">1931 </span><span·class="p"·data-group-id="5927192015-4">{</span><span·class="ss">sha384</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ecdsa</span><span·class="p"·data-group-id="5927192015-4">}</span><span·class="p">,</span><span·class="w">
1932 </span><span·class="p"·data-group-id="8450162562-5">{</span><span·class="ss">sha384</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">rsa</span><span·class="p"·data-group-id="8450162562-5">}</span><span·class="p">,</span><span·class="w">1932 </span><span·class="p"·data-group-id="5927192015-5">{</span><span·class="ss">sha384</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">rsa</span><span·class="p"·data-group-id="5927192015-5">}</span><span·class="p">,</span><span·class="w">
1933 </span><span·class="p"·data-group-id="8450162562-6">{</span><span·class="ss">sha256</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ecdsa</span><span·class="p"·data-group-id="8450162562-6">}</span><span·class="p">,</span><span·class="w">1933 </span><span·class="p"·data-group-id="5927192015-6">{</span><span·class="ss">sha256</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ecdsa</span><span·class="p"·data-group-id="5927192015-6">}</span><span·class="p">,</span><span·class="w">
1934 </span><span·class="p"·data-group-id="8450162562-7">{</span><span·class="ss">sha256</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">rsa</span><span·class="p"·data-group-id="8450162562-7">}</span><span·class="w">1934 </span><span·class="p"·data-group-id="5927192015-7">{</span><span·class="ss">sha256</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">rsa</span><span·class="p"·data-group-id="5927192015-7">}</span><span·class="w">
1935 </span><span·class="p"·data-group-id="8450162562-1">]</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><ul><li>Support·for·<code·class="inline">{md5,·rsa}</code>·was·removed·from·the·TLS-1.2·default·in1935 </span><span·class="p"·data-group-id="5927192015-1">]</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Change</h4><ul><li>Support·for·<code·class="inline">{md5,·rsa}</code>·was·removed·from·the·TLS-1.2·default·in
1936 ssl-8.0·(Erlang/OTP·22).</li><li>Support·for·<code·class="inline">{sha,·_}</code>·(SHA1)·and·<code·class="inline">{sha224,·_}</code>·was·removed1936 ssl-8.0·(Erlang/OTP·22).</li><li>Support·for·<code·class="inline">{sha,·_}</code>·(SHA1)·and·<code·class="inline">{sha224,·_}</code>·was·removed
1937 from·the·TLS-1.2·default·in·ssl-11.0·(Erlang/OTP·26).</li></ul></section><p>The·list·for·<code·class="inline">rsa_pss_schemes</code>·is·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5077216885-1">[</span><span·class="ss">rsa_pss_pss_sha512</span><span·class="p">,</span><span·class="w">1937 from·the·TLS-1.2·default·in·ssl-11.0·(Erlang/OTP·26).</li></ul></section><p>The·list·for·<code·class="inline">rsa_pss_schemes</code>·is·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1475542433-1">[</span><span·class="ss">rsa_pss_pss_sha512</span><span·class="p">,</span><span·class="w">
1938 </span><span·class="ss">rsa_pss_pss_sha384</span><span·class="p">,</span><span·class="w">1938 </span><span·class="ss">rsa_pss_pss_sha384</span><span·class="p">,</span><span·class="w">
1939 </span><span·class="ss">rsa_pss_pss_sha256</span><span·class="p">,</span><span·class="w">1939 </span><span·class="ss">rsa_pss_pss_sha256</span><span·class="p">,</span><span·class="w">
1940 </span><span·class="ss">rsa_pss_rsae_sha512</span><span·class="p">,</span><span·class="w">1940 </span><span·class="ss">rsa_pss_rsae_sha512</span><span·class="p">,</span><span·class="w">
1941 </span><span·class="ss">rsa_pss_rsae_sha384</span><span·class="p">,</span><span·class="w">1941 </span><span·class="ss">rsa_pss_rsae_sha384</span><span·class="p">,</span><span·class="w">
1942 </span><span·class="ss">rsa_pss_rsae_sha256</span><span·class="p"·data-group-id="5077216885-1">]</span></code></pre><p>The·list·of·<code·class="inline">TLS_13_Legacy_Schemes</code>·is·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9191964488-1">[</span><span·class="w">1942 </span><span·class="ss">rsa_pss_rsae_sha256</span><span·class="p"·data-group-id="1475542433-1">]</span></code></pre><p>The·list·of·<code·class="inline">TLS_13_Legacy_Schemes</code>·is·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4905310377-1">[</span><span·class="w">
1943 </span><span·class="c1">%%·Legacy·algorithms·only·applicable·to·certificate·signatures</span><span·class="w">1943 </span><span·class="c1">%%·Legacy·algorithms·only·applicable·to·certificate·signatures</span><span·class="w">
1944 </span><span·class="ss">rsa_pkcs1_sha512</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Corresponds·to·{sha512,·rsa}</span><span·class="w">1944 </span><span·class="ss">rsa_pkcs1_sha512</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Corresponds·to·{sha512,·rsa}</span><span·class="w">
1945 </span><span·class="ss">rsa_pkcs1_sha384</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Corresponds·to·{sha384,·rsa}</span><span·class="w">1945 </span><span·class="ss">rsa_pkcs1_sha384</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Corresponds·to·{sha384,·rsa}</span><span·class="w">
1946 </span><span·class="ss">rsa_pkcs1_sha256</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Corresponds·to·{sha256,·rsa}</span><span·class="w">1946 </span><span·class="ss">rsa_pkcs1_sha256</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Corresponds·to·{sha256,·rsa}</span><span·class="w">
1947 </span><span·class="p"·data-group-id="9191964488-1">]</span></code></pre><p>The·list·of·<code·class="inline">Default_TLS_13_Schemes</code>·is·defined·as·follows:</p><pre><code·class="text">[1947 </span><span·class="p"·data-group-id="4905310377-1">]</span></code></pre><p>The·list·of·<code·class="inline">Default_TLS_13_Schemes</code>·is·defined·as·follows:</p><pre><code·class="text">[
1948 %%·EDDSA1948 %%·EDDSA
1949 eddsa_ed25519,1949 eddsa_ed25519,
1950 eddsa_ed4481950 eddsa_ed448
  
1951 %%·ECDSA1951 %%·ECDSA
1952 ecdsa_secp521r1_sha512,1952 ecdsa_secp521r1_sha512,
1953 ecdsa_secp384r1_sha384,1953 ecdsa_secp384r1_sha384,
Offset 2211, 16 lines modifiedOffset 2211, 16 lines modified
  
2211 ······<div·class="specs">2211 ······<div·class="specs">
  
2212 ··········<pre·translate="no"><span·class="attribute">-type</span>·anchor_fun()·::·fun().</pre>2212 ··········<pre·translate="no"><span·class="attribute">-type</span>·anchor_fun()·::·fun().</pre>
  
2213 ······</div>2213 ······</div>
  
2214 <p>Claim·an·intermediate·CA·in·the·chain·as·trusted.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="3900079009-1">(</span><span·class="n">Chain</span><span·class="p">:</span><span·class="p">:</span><span·class="p"·data-group-id="3900079009-2">[</span><span·class="nc">public_key</span><span·class="p">:</span><span·class="nf">der_encoded</span><span·class="p"·data-group-id="3900079009-3">(</span><span·class="p"·data-group-id="3900079009-3">)</span><span·class="p"·data-group-id="3900079009-2">]</span><span·class="p"·data-group-id="3900079009-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
2215 ······</span><span·class="p"·data-group-id="3900079009-4">{</span><span·class="ss">trusted_ca</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DerCert</span><span·class="p">:</span><span·class="p">:</span><span·class="nc">public_key</s[·...·truncated·by·diffoscope;·len:·558,·SHA:·ce0182bd19fc3e11aaeba8a3ceb2706448a8b78ac65d02b210ec11146bc78953·...·]2214 <p>Claim·an·intermediate·CA·in·the·chain·as·trusted.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="9925680396-1">(</span><span·class="n">Chain</span><span·class="p">:</span><span·class="p">:</s[·...·truncated·by·diffoscope;·len:·430,·SHA:·6814c0d1299288525d88514d1ef58b228bfe6a4f64806875a39c53bb04c12339·...·]
 2215 ······</span><span·class="p"·data-group-id="9925680396-4">{</span><span·class="ss">trusted_ca</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DerCert</span><span·class="p">:</span><span·class="p">:</span><span·class="nc">public_key</span><span·class="p">:</span><span·class="nf">der_encoded</span><span·class="p"·data-group-id="9925680396-5">(</span><span·class="p"·data-group-id="9925680396-5">)</span><span·class="p"·data-group-id="9925680396-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">unknown_ca</span><span·class="p">.</span></code></pre><p>TLS·then·uses·<a·href="../../../../lib/public_key-1.18/doc/html/public_key.html#pkix_path_validation/3"><code·class="inline">public_key:pkix_path_validation/3</code></a>·with·the·selected·CA
2216 as·the·trusted·anchor·and·verifies·the·rest·of·the·chain.</p>2216 as·the·trusted·anchor·and·verifies·the·rest·of·the·chain.</p>
2217 ··</section>2217 ··</section>
2218 </section>2218 </section>
2219 <section·class="detail"·id="t:cert_key_conf/0">2219 <section·class="detail"·id="t:cert_key_conf/0">
  
2220 ··<div·class="detail-header">2220 ··<div·class="detail-header">
2221 ····<a·href="#t:cert_key_conf/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">2221 ····<a·href="#t:cert_key_conf/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">
Offset 2457, 15 lines modifiedOffset 2457, 15 lines modified
2457 <a·href="#connect/3">connect/3,4</a>·unless·it·is·of·type·<a·href="../../../../lib/kernel-10.3/doc/html/inet.html#t:ip_address/0"><code·class="inline">inet:ip_address()</code></a>.2457 <a·href="#connect/3">connect/3,4</a>·unless·it·is·of·type·<a·href="../../../../lib/kernel-10.3/doc/html/inet.html#t:ip_address/0"><code·class="inline">inet:ip_address()</code></a>.
2458 The·hostname·will·also·be·used·in·the·hostname·verification·of·the·peer2458 The·hostname·will·also·be·used·in·the·hostname·verification·of·the·peer
2459 certificate·using·<a·href="../../../../lib/public_key-1.18/doc/html/public_key.html#pkix_verify_hostname/2"><code·class="inline">public_key:pkix_verify_hostname/2</code></a>.2459 certificate·using·<a·href="../../../../lib/public_key-1.18/doc/html/public_key.html#pkix_verify_hostname/2"><code·class="inline">public_key:pkix_verify_hostname/2</code></a>.
2460 The·special·value·<code·class="inline">disable</code>·prevents·the·Server·Name·Indication·extension·from2460 The·special·value·<code·class="inline">disable</code>·prevents·the·Server·Name·Indication·extension·from
2461 being·sent·and·disables·the·hostname·verification·check.</p></li><li><p><strong><code·class="inline">{customize_hostname_check,·HostNameCheckOpts}</code></strong>·-·Customization·option</p><p>Customizes·the·hostname·verification·of·the·peer·certificate,·as·various2461 being·sent·and·disables·the·hostname·verification·check.</p></li><li><p><strong><code·class="inline">{customize_hostname_check,·HostNameCheckOpts}</code></strong>·-·Customization·option</p><p>Customizes·the·hostname·verification·of·the·peer·certificate,·as·various
2462 protocols·that·use·TLS,·such·as·HTTP·or·LDAP,·may·require·different·approaches.·For2462 protocols·that·use·TLS,·such·as·HTTP·or·LDAP,·may·require·different·approaches.·For
2463 example,·here·is·how·to·use·standard·hostname·checking·for·HTTPS·implemented·in2463 example,·here·is·how·to·use·standard·hostname·checking·for·HTTPS·implemented·in
2464 <a·href="../../../../lib/public_key-1.18/doc/html/public_key_app.html">Public_Key</a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9105796414-1">{</span><span·class="ss">customize_hostname_check</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9105796414-2">[</span><span·class="p"·data-group-id="9105796414-3">{</span><span·class="ss">match_fun</span[·...·truncated·by·diffoscope;·len:·443,·SHA:·baf2cb8c0d6d0010a2291bd5432612cc00ba470971239a842e52b1afa0f238ef·...·]-1">}</span></code></pre><p>For·futher·description·of·the·customize·options,·see2464 <a·href="../../../../lib/public_key-1.18/doc/html/public_key_app.html">Public_Key</a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2708379445-1">{</span><span·class="ss">customize_hostname_check</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2708379445-2">[</span><span·class="p"·data-group-id="2708379445-3">{</span><span·class="ss">match_fun</span[·...·truncated·by·diffoscope;·len:·443,·SHA:·70343037a4ce471ba7b5791062e3177bb5fe881a600da632d24220559003545e·...·]-1">}</span></code></pre><p>For·futher·description·of·the·customize·options,·see
2465 <a·href="../../../../lib/public_key-1.18/doc/html/public_key.html#pkix_verify_hostname/3"><code·class="inline">public_key:pkix_verify_hostname/3</code></a>.</p></li><li><p><strong><code·class="inline">{client_certificate_authorities,·UseCertAuth}</code></strong>·-·Inter-op·hint·option</p><p>If·<code·class="inline">UseCertAuth</code>·is·set·to·<code·class="inline">true</code>,·sends·the·certificate·authorities2465 <a·href="../../../../lib/public_key-1.18/doc/html/public_key.html#pkix_verify_hostname/3"><code·class="inline">public_key:pkix_verify_hostname/3</code></a>.</p></li><li><p><strong><code·class="inline">{client_certificate_authorities,·UseCertAuth}</code></strong>·-·Inter-op·hint·option</p><p>If·<code·class="inline">UseCertAuth</code>·is·set·to·<code·class="inline">true</code>,·sends·the·certificate·authorities
2466 extension·in·the·TLS-1.3·client·hello.·The·default·is·<code·class="inline">false</code>.·Note2466 extension·in·the·TLS-1.3·client·hello.·The·default·is·<code·class="inline">false</code>.·Note
2467 that·setting·<code·class="inline">UseCertAuth</code>·to·<code·class="inline">true</code>·can·result·in·a·significant2467 that·setting·<code·class="inline">UseCertAuth</code>·to·<code·class="inline">true</code>·can·result·in·a·significant
2468 overhead·if·there·exists·many·trusted·CA·certificates.·(Since2468 overhead·if·there·exists·many·trusted·CA·certificates.·(Since
2469 Erlang/OTP·24.3.)</p></li><li><p><strong><code·class="inline">{stapling,·Stapling}</code></strong>·-·Certificate·revocation·check·option</p><p>If·<code·class="inline">Stapling</code>·is·atom·<code·class="inline">staple</code>·or·a·map,·OCSP·stapling·will·be2469 Erlang/OTP·24.3.)</p></li><li><p><strong><code·class="inline">{stapling,·Stapling}</code></strong>·-·Certificate·revocation·check·option</p><p>If·<code·class="inline">Stapling</code>·is·atom·<code·class="inline">staple</code>·or·a·map,·OCSP·stapling·will·be
2470 enabled,·meaning·that·an·extension·of·type·&quot;status_request&quot;·will·be2470 enabled,·meaning·that·an·extension·of·type·&quot;status_request&quot;·will·be
2471 included·in·the·client·hello·to·indicate·the·desire·to·receive2471 included·in·the·client·hello·to·indicate·the·desire·to·receive
Offset 2595, 25 lines modifiedOffset 2595, 25 lines modified
2595 ··········{early_data,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}·|2595 ··········{early_data,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}·|
2596 ··········{middlebox_comp_mode,·MiddleBoxMode·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()}.</pre>2596 ··········{middlebox_comp_mode,·MiddleBoxMode·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>()}.</pre>
  
2597 ······</div>2597 ······</div>
  
2598 <p>Options·only·relevant·for·TLS-1.3.</p><ul><li><p><strong><code·class="inline">{session_tickets,·SessionTickets}</code></strong>·-·Use·of·session·tickets</p><p>Configures·the·session·ticket·functionality.·Allowed·values·are·<code·class="inline">disabled</code>,2598 <p>Options·only·relevant·for·TLS-1.3.</p><ul><li><p><strong><code·class="inline">{session_tickets,·SessionTickets}</code></strong>·-·Use·of·session·tickets</p><p>Configures·the·session·ticket·functionality.·Allowed·values·are·<code·class="inline">disabled</code>,
2599 <code·class="inline">manual</code>,·and·<code·class="inline">auto</code>.·If·it·is·set·to·<code·class="inline">manual</code>·the·client·will·send·the·ticket2599 <code·class="inline">manual</code>,·and·<code·class="inline">auto</code>.·If·it·is·set·to·<code·class="inline">manual</code>·the·client·will·send·the·ticket
2600 information·to·user·process·in·a·3-tuple:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9276572615-1">{</span><span·class="ss">ssl</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">session_ticket</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9276572615-2">{</span><span·class="n">SNI<[·...·truncated·by·diffoscope;·len:·181,·SHA:·546302e2570cbbed0d35de2aeaa70cbf52711bdf7e8d81df5f0cea58e7ec7527·...·]-1">}</span></code></pre><p>where·<code·class="inline">SNI</code>·is·the·ServerNameIndication·and·<code·class="inline">TicketData</code>·is·the·extended·ticket2600 information·to·user·process·in·a·3-tuple:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7822010563-1">{</span><span·class="ss">ssl</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">session_ticket</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7822010563-2">{</span><span·class="n">SNI<[·...·truncated·by·diffoscope;·len:·181,·SHA:·653bb449d6fb97079cdceb30450e603de768c726085b5350e2df2e4fa8b06811·...·]-1">}</span></code></pre><p>where·<code·class="inline">SNI</code>·is·the·ServerNameIndication·and·<code·class="inline">TicketData</code>·is·the·extended·ticket
2601 data·that·can·be·used·in·subsequent·session·resumptions.</p><p>If·it·is·set·to·<code·class="inline">auto</code>,·the·client·automatically·handles·received·tickets·and2601 data·that·can·be·used·in·subsequent·session·resumptions.</p><p>If·it·is·set·to·<code·class="inline">auto</code>,·the·client·automatically·handles·received·tickets·and
2602 tries·to·use·them·when·making·new·TLS·connections·(session·resumption·with2602 tries·to·use·them·when·making·new·TLS·connections·(session·resumption·with
2603 pre-shared·keys).</p><p>Ticket·lifetime,·the·number·of·tickets·sent·by·the·server,·and·the2603 pre-shared·keys).</p><p>Ticket·lifetime,·the·number·of·tickets·sent·by·the·server,·and·the
2604 maximum·number·of·tickets·stored·by·the·server·in·stateful·mode·are·configured2604 maximum·number·of·tickets·stored·by·the·server·in·stateful·mode·are·configured
2605 by·<a·href="ssl_app.html#configuration">application·variables</a>.</p><p>See·also2605 by·<a·href="ssl_app.html#configuration">application·variables</a>.</p><p>See·also
2606 <a·href="using_ssl.html#session-tickets-and-session-resumption-in-tls-1-3">SSL·User's·Guide,·Session·Tickets·and·Session·Resumption·in·TLS·1.3</a>.</p></li><li><p><strong><code·class="inline">{use_ticket,·Tickets}</code></strong></p><p>Configures·the·session·tickets·to·be·used·for·session·resumption.·It·is·a2606 <a·href="using_ssl.html#session-tickets-and-session-resumption-in-tls-1-3">SSL·User's·Guide,·Session·Tickets·and·Session·Resumption·in·TLS·1.3</a>.</p></li><li><p><strong><code·class="inline">{use_ticket,·Tickets}</code></strong></p><p>Configures·the·session·tickets·to·be·used·for·session·resumption.·It·is·a
2607 mandatory·option·in·<code·class="inline">manual</code>·mode·(<code·class="inline">{session_tickets,·manual}</code>).</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Session·tickets·are·only·sent·to·the·user·if·option·<code·class="inline">session_tickets</code>·is·set·to2607 mandatory·option·in·<code·class="inline">manual</code>·mode·(<code·class="inline">{session_tickets,·manual}</code>).</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Session·tickets·are·only·sent·to·the·user·if·option·<code·class="inline">session_tickets</code>·is·set·to
2608 <code·class="inline">manual</code></p><p>This·option·is·supported·by·TLS-1.3.·See·also2608 <code·class="inline">manual</code></p><p>This·option·is·supported·by·TLS-1.3.·See·also
2609 <a·href="using_ssl.html#session-tickets-and-session-resumption-in-tls-1-3">SSL·User's·Guide,·Session·Tickets·and·Session·Resumption·in·TLS·1.3</a>.</p></section></li><li><p><strong><code·class="inline">{early_data,·EarlyData}</code></strong></p><p>Configures·the·early·data·to·be·sent·by·the·client.</p><p>To·verify·that·the·server·has·the·intention·to·process·the·early2609 <a·href="using_ssl.html#session-tickets-and-session-resumption-in-tls-1-3">SSL·User's·Guide,·Session·Tickets·and·Session·Resumption·in·TLS·1.3</a>.</p></section></li><li><p><strong><code·class="inline">{early_data,·EarlyData}</code></strong></p><p>Configures·the·early·data·to·be·sent·by·the·client.</p><p>To·verify·that·the·server·has·the·intention·to·process·the·early
2610 data,·the·following·tuple·is·sent·to·the·user·process:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3567148808-1">{</span><span·class="ss">ssl</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SslSocket</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3567148808-2">{</span><span·class="ss">early_dat[·...·truncated·by·diffoscope;·len:·179,·SHA:·471094e28e49b7cd415ee0a17ba660a0b0c24086ec8e97a069512373c5c21482·...·]-1">}</span></code></pre><p>where·<code·class="inline">Result</code>·is·either·<code·class="inline">accepted</code>·or·<code·class="inline">rejected</code>.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>It·is·the·responsibility·of·the·user·to·handle·rejected·<code·class="inline">EarlyData</code>·and·to2610 data,·the·following·tuple·is·sent·to·the·user·process:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7858270602-1">{</span><span·class="ss">ssl</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SslSocket</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7858270602-2">{</span><span·class="ss">early_dat[·...·truncated·by·diffoscope;·len:·179,·SHA:·feaba08ad5732d13e1b1f268b86167b045225009a980cccbd4d2abeef8c7244c·...·]-1">}</span></code></pre><p>where·<code·class="inline">Result</code>·is·either·<code·class="inline">accepted</code>·or·<code·class="inline">rejected</code>.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>It·is·the·responsibility·of·the·user·to·handle·rejected·<code·class="inline">EarlyData</code>·and·to
2611 resend·when·appropriate.</p></section></li><li><p><strong><code·class="inline">{middlebox_comp_mode,·MiddleBoxMode}</code></strong></p><p>Configures·the·middlebox·compatibility·mode·for·a·TLS-1.3·connection.</p><p>A·significant·number·of·middleboxes·misbehave·when·a·TLS-1.32611 resend·when·appropriate.</p></section></li><li><p><strong><code·class="inline">{middlebox_comp_mode,·MiddleBoxMode}</code></strong></p><p>Configures·the·middlebox·compatibility·mode·for·a·TLS-1.3·connection.</p><p>A·significant·number·of·middleboxes·misbehave·when·a·TLS-1.3
2612 connection·is·negotiated.·Implementations·can·increase·the·chance·of2612 connection·is·negotiated.·Implementations·can·increase·the·chance·of
2613 making·connections·through·those·middleboxes·by·adapting·the·TLS-1.32613 making·connections·through·those·middleboxes·by·adapting·the·TLS-1.3
2614 handshake·to·resemble·that·of·a·TLS-1.2·handshake.</p><p>The·middlebox·compatibility·mode·is·enabled·(<code·class="inline">true</code>)·by·default.</p></li></ul>2614 handshake·to·resemble·that·of·a·TLS-1.2·handshake.</p><p>The·middlebox·compatibility·mode·is·enabled·(<code·class="inline">true</code>)·by·default.</p></li></ul>
2615 ··</section>2615 ··</section>
2616 </section>2616 </section>
  
Offset 2761, 28 lines modifiedOffset 2761, 28 lines modified
2761 and·key·options.·For·examples,·see·the·<a·href="using_ssl.html">User's·Guide</a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p><code·class="inline">eddsa</code>·certificates·are·only·supported·by·TLS-1.3·implementations·that·do·not·support·<code·class="inline">dsa</code>2761 and·key·options.·For·examples,·see·the·<a·href="using_ssl.html">User's·Guide</a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p><code·class="inline">eddsa</code>·certificates·are·only·supported·by·TLS-1.3·implementations·that·do·not·support·<code·class="inline">dsa</code>
2762 certificates.·<code·class="inline">rsa_pss_pss</code>·(RSA·certificates·using·Probabilistic·Signature2762 certificates.·<code·class="inline">rsa_pss_pss</code>·(RSA·certificates·using·Probabilistic·Signature
2763 Scheme)·are·supported·in·TLS-1.2·and·TLS-1.3,·but·some·TLS-1.2·implementations2763 Scheme)·are·supported·in·TLS-1.2·and·TLS-1.3,·but·some·TLS-1.2·implementations
2764 do·not·support·<code·class="inline">rsa_pss_pss</code>.</p></section></li><li><p><strong><code·class="inline">{depth,·AllowedCertChainLen}</code></strong>·-·Limits·the·accepted·number·of·certificates·in·the·certificate·chain.</p><p>Maximum·number·of·non-self-issued·intermediate·certificates·that·can·follow·the2764 do·not·support·<code·class="inline">rsa_pss_pss</code>.</p></section></li><li><p><strong><code·class="inline">{depth,·AllowedCertChainLen}</code></strong>·-·Limits·the·accepted·number·of·certificates·in·the·certificate·chain.</p><p>Maximum·number·of·non-self-issued·intermediate·certificates·that·can·follow·the
2765 peer·certificate·in·a·valid·certification·path.·So,·if·depth·is·0·the·PEER·must2765 peer·certificate·in·a·valid·certification·path.·So,·if·depth·is·0·the·PEER·must
2766 be·signed·by·the·trusted·ROOT-CA·directly;·if·1·the·path·can·be·PEER,·CA,2766 be·signed·by·the·trusted·ROOT-CA·directly;·if·1·the·path·can·be·PEER,·CA,
2767 ROOT-CA;·if·2·the·path·can·be·PEER,·CA,·CA,·ROOT-CA,·and·so·on.·The·default2767 ROOT-CA;·if·2·the·path·can·be·PEER,·CA,·CA,·ROOT-CA,·and·so·on.·The·default
2768 value·is·10.·Used·to·mitigate·DoS·attack·possibilities.</p></li><li><p><strong><code·class="inline">{verify_fun,·Verify}</code></strong>·-·Customize·certificate·path·validation</p><p>The·verification·fun·is·to·be·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="7593427638-1">(</span><span·class="n">OtpCert</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;OTPCertificate&#39;</span><span·class="p"·data-group-id="75934[·...·truncated·by·diffoscope;·len:·58,·SHA:·ce77d8307d79d3df11b2e4dc22ed0f7b315698c3f9f02bbaa4cde6521b732271·...·]-2">}</span><span·class="p">,</span><span·class="w">2768 value·is·10.·Used·to·mitigate·DoS·attack·possibilities.</p></li><li><p><strong><code·class="inline">{verify_fun,·Verify}</code></strong>·-·Customize·certificate·path·validation</p><p>The·verification·fun·is·to·be·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="5749226724-1">(</span><span·class="n">OtpCert</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">&#39;OTPCertificate&#39;</span><span·class="p"·data-group-id="57492[·...·truncated·by·diffoscope;·len:·58,·SHA:·a907420767ec5e5f4907478d8f8f341a131e469f94b93789bf43c7fc473a8c57·...·]-2">}</span><span·class="p">,</span><span·class="w">
2769 ····</span><span·class="n">Event</span><span·class="p">,</span><span·class="w">·</span><span·class="n">InitialUserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="7593427638-3">(</span><span·class="p"·data-group-id="7593427638-3">)</span><span·class="p"·data-group-id="7593427638-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2769 ····</span><span·class="n">Event</span><span·class="p">,</span><span·class="w">·</span><span·class="n">InitialUserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="5749226724-3">(</span><span·class="p"·data-group-id="5749226724-3">)</span><span·class="p"·data-group-id="5749226724-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2770 ··</span><span·class="p"·data-group-id="7593427638-4">{</span><span·class="ss">valid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><[·...·truncated·by·diffoscope;·len:·146,·SHA:·f794c3db270807eb64e0920394878773a6040224bd5519f346d5111ad8e169d3·...·]-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">2770 ··</span><span·class="p"·data-group-id="5749226724-4">{</span><span·class="ss">valid</span><span·class="p">,</span><span·class="w">·</span><span·class="n">UserState</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><[·...·truncated·by·diffoscope;·len:·146,·SHA:·408d772e96eeca54a54d8de22cd595725e778bb411098327c8d73e1ecb7eca4a·...·]-4">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
2771 ··</span><span·class="p"·data-group-id="7593427638-6">{</span><span·class="ss">fail</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span[·...·truncated·by·diffoscope;·len:·661,·SHA:·ab0e5b1da5fbd1c2ee86e54e6e2a432eb94403d39b871e780da123b7fe256ef0·...·]-8">}</span><span·class="p">.</span><span·class="w">2771 ··</span><span·class="p"·data-group-id="5749226724-6">{</span><span·class="ss">fail</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span[·...·truncated·by·diffoscope;·len:·661,·SHA:·ecf8fb9f8e8460688296b59f04de48557defd7baebd32123fdeb4f52c2650fbf·...·]-8">}</span><span·class="p">.</span><span·class="w">
  
Max diff block lines reached; 55417/94270 bytes (58.79%) of diff not shown.
721 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/ssl_app.html
    
Offset 273, 15 lines modifiedOffset 273, 15 lines modified
273 ······<p·class="built-using">273 ······<p·class="built-using">
274 ········Built·using274 ········Built·using
275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the275 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>276 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
277 ······</p>277 ······</p>
278 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>278 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
279 ····</footer>279 ····</footer>
280 ··</div>280 ··</div>
281 </main>281 </main>
282 </div>282 </div>
283 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>283 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
284 ··<script>284 ··<script>
285 ··let·initialized·=·false;285 ··let·initialized·=·false;
674 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/ssl_crl_cache.html
    
Offset 357, 15 lines modifiedOffset 357, 15 lines modified
357 ······<p·class="built-using">357 ······<p·class="built-using">
358 ········Built·using358 ········Built·using
359 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the359 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
360 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>360 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
361 ······</p>361 ······</p>
362 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>362 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
363 ····</footer>363 ····</footer>
364 ··</div>364 ··</div>
365 </main>365 </main>
366 </div>366 </div>
367 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>367 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
368 ··<script>368 ··<script>
369 ··let·initialized·=·false;369 ··let·initialized·=·false;
676 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/ssl_crl_cache_api.html
    
Offset 512, 15 lines modifiedOffset 512, 15 lines modified
512 ······<p·class="built-using">512 ······<p·class="built-using">
513 ········Built·using513 ········Built·using
514 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the514 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
515 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>515 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
516 ······</p>516 ······</p>
517 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>517 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
518 ····</footer>518 ····</footer>
519 ··</div>519 ··</div>
520 </main>520 </main>
521 </div>521 </div>
522 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>522 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
523 ··<script>523 ··<script>
524 ··let·initialized·=·false;524 ··let·initialized·=·false;
703 B
html2text {}
Max HTML report size reached
23.8 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/ssl_distribution.html
    
Offset 143, 22 lines modifiedOffset 143, 22 lines modified
143 </h2>143 </h2>
144 <p>Boot·scripts·are·built·using·the·<code·class="inline">systools</code>·utility·in·the·SASL·application.·For144 <p>Boot·scripts·are·built·using·the·<code·class="inline">systools</code>·utility·in·the·SASL·application.·For
145 more·information·on·<code·class="inline">systools</code>,·see·the·SASL·documentation.·This·is·only·an145 more·information·on·<code·class="inline">systools</code>,·see·the·SASL·documentation.·This·is·only·an
146 example·of·what·can·be·done.</p><p>The·simplest·boot·script·possible·includes·only·the·Kernel·and·STDLIB146 example·of·what·can·be·done.</p><p>The·simplest·boot·script·possible·includes·only·the·Kernel·and·STDLIB
147 applications.·Such·a·script·is·located·in·the·<code·class="inline">bin</code>·directory·of·the·Erlang147 applications.·Such·a·script·is·located·in·the·<code·class="inline">bin</code>·directory·of·the·Erlang
148 distribution.·The·source·for·the·script·is·found·under·the·Erlang·installation148 distribution.·The·source·for·the·script·is·found·under·the·Erlang·installation
149 top·directory·under·<code·class="inline">releases/&lt;OTP·version&gt;/start_clean.rel</code>.</p><p>Do·the·following:</p><ul><li>Copy·that·script·to·another·location·(and·preferably·another·name).</li><li>Add·the·applications·Crypto,·Public·Key,·and·SSL·with·their·current·version149 top·directory·under·<code·class="inline">releases/&lt;OTP·version&gt;/start_clean.rel</code>.</p><p>Do·the·following:</p><ul><li>Copy·that·script·to·another·location·(and·preferably·another·name).</li><li>Add·the·applications·Crypto,·Public·Key,·and·SSL·with·their·current·version
150 numbers·after·the·STDLIB·application.</li></ul><p>The·following·shows·an·example·<code·class="inline">.rel</code>·file·with·TLS·added:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="8908105517-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8908105517-2">{</span><span·class="s">&quot;OTP··APN·181·01&quot;</span><span·class="p">,</span><span·class="s">&quot;R15A&q[·...·truncated·by·diffoscope;·len:·320,·SHA:·cd0b0a2bd794b119b781f86ce3cc53368875eb6f71929b389e10d05e8d18f33f·...·]-3">}</span><span·class="p">,</span><span·class="w">150 numbers·after·the·STDLIB·application.</li></ul><p>The·following·shows·an·example·<code·class="inline">.rel</code>·file·with·TLS·added:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="p"·data-group-id="0275844332-1">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0275844332-2">{</span><span·class="s">&quot;OTP··APN·181·01&quot;</span><span·class="p">,</span><span·class="s">&quot;R15A&q[·...·truncated·by·diffoscope;·len:·320,·SHA:·43d76badeac27569ae570efef92a9b598bb3b555d54fde8a97b2953b242b980d·...·]-3">}</span><span·class="p">,</span><span·class="w">
151 ······</span><span·class="p"·data-group-id="8908105517-4">[</span><span·class="p"·data-group-id="8908105517-5">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="s">&quot;2.15&quot;</span><span·class="p"·data-group-id="8908105517-5">}</span><span·class="p">,</span><span·class="w">151 ······</span><span·class="p"·data-group-id="0275844332-4">[</span><span·class="p"·data-group-id="0275844332-5">{</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="s">&quot;2.15&quot;</span><span·class="p"·data-group-id="0275844332-5">}</span><span·class="p">,</span><span·class="w">
152 ······</span><span·class="p"·data-group-id="8908105517-6">{</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="s">&quot;1.18&quot;</span><span·class="p"·data-group-id="8908105517-6">}</span><span·class="p">,</span><span·class="w">152 ······</span><span·class="p"·data-group-id="0275844332-6">{</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="s">&quot;1.18&quot;</span><span·class="p"·data-group-id="0275844332-6">}</span><span·class="p">,</span><span·class="w">
153 ······</span><span·class="p"·data-group-id="8908105517-7">{</span><span·class="ss">crypto</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;2.0.3&quot;</span><span·class="p"·data-group-id="8908105517-7">}</span><span·class="p">,</span><span·class="w">153 ······</span><span·class="p"·data-group-id="0275844332-7">{</span><span·class="ss">crypto</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;2.0.3&quot;</span><span·class="p"·data-group-id="0275844332-7">}</span><span·class="p">,</span><span·class="w">
154 ······</span><span·class="p"·data-group-id="8908105517-8">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;0.12&quot;</span><span·class="p"·data-group-id="8908105517-8">}</span><span·class="p">,</span><span·class="w">154 ······</span><span·class="p"·data-group-id="0275844332-8">{</span><span·class="ss">public_key</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;0.12&quot;</span><span·class="p"·data-group-id="0275844332-8">}</span><span·class="p">,</span><span·class="w">
155 ······</span><span·class="p"·data-group-id="8908105517-9">{</span><span·class="ss">asn1</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;4.0&quot;</span><span·class="p"·data-group-id="8908105517-9">}</span><span·class="p">,</span><span·class="w">155 ······</span><span·class="p"·data-group-id="0275844332-9">{</span><span·class="ss">asn1</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;4.0&quot;</span><span·class="p"·data-group-id="0275844332-9">}</span><span·class="p">,</span><span·class="w">
156 ······</span><span·class="p"·data-group-id="8908105517-10">{</span><span·class="ss">ssl</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;5.0&quot;</span><span·class="p"·data-group-id="8908105517-10">}</span><span·class="w">156 ······</span><span·class="p"·data-group-id="0275844332-10">{</span><span·class="ss">ssl</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;5.0&quot;</span><span·class="p"·data-group-id="0275844332-10">}</span><span·class="w">
157 ······</span><span·class="p"·data-group-id="8908105517-4">]</span><span·class="p"·data-group-id="8908105517-1">}</span><span·class="p">.</span></code></pre><p>The·version·numbers·differ·in·your·system.·Whenever·one·of·the·applications157 ······</span><span·class="p"·data-group-id="0275844332-4">]</span><span·class="p"·data-group-id="0275844332-1">}</span><span·class="p">.</span></code></pre><p>The·version·numbers·differ·in·your·system.·Whenever·one·of·the·applications
158 included·in·the·script·is·upgraded,·change·the·script.</p><p>Do·the·following:</p><ul><li><p>Build·the·boot·script.</p><p>Assuming·the·<code·class="inline">.rel·file</code>·is·stored·in·a·file·<code·class="inline">start_ssl.rel</code>·in·the·current158 included·in·the·script·is·upgraded,·change·the·script.</p><p>Do·the·following:</p><ul><li><p>Build·the·boot·script.</p><p>Assuming·the·<code·class="inline">.rel·file</code>·is·stored·in·a·file·<code·class="inline">start_ssl.rel</code>·in·the·current
159 directory,·a·boot·script·can·be·built·as·follows:</p></li></ul><pre><code·class="text">···1&gt;·systools:make_script(&quot;start_ssl&quot;,[]).</code></pre><p>There·is·now·a·<code·class="inline">start_ssl.boot</code>·file·in·the·current·directory.</p><p>Do·the·following:</p><ul><li>Test·the·boot·script.·To·do·this,·start·Erlang·with·the·<code·class="inline">-boot</code>·command-line159 directory,·a·boot·script·can·be·built·as·follows:</p></li></ul><pre><code·class="text">···1&gt;·systools:make_script(&quot;start_ssl&quot;,[]).</code></pre><p>There·is·now·a·<code·class="inline">start_ssl.boot</code>·file·in·the·current·directory.</p><p>Do·the·following:</p><ul><li>Test·the·boot·script.·To·do·this,·start·Erlang·with·the·<code·class="inline">-boot</code>·command-line
160 parameter·specifying·this·boot·script·(with·its·full·path,·but·without·the160 parameter·specifying·this·boot·script·(with·its·full·path,·but·without·the
161 <code·class="inline">.boot</code>·suffix).·In·UNIX·it·can·look·as·follows:</li></ul><pre><code·class="text">$·erl·-boot·/home/me/ssl/start_ssl161 <code·class="inline">.boot</code>·suffix).·In·UNIX·it·can·look·as·follows:</li></ul><pre><code·class="text">$·erl·-boot·/home/me/ssl/start_ssl
162 Erlang·(BEAM)·emulator·version·5.0162 Erlang·(BEAM)·emulator·version·5.0
  
163 Eshell·V5.0··(abort·with·^G)163 Eshell·V5.0··(abort·with·^G)
Offset 197, 18 lines modifiedOffset 197, 18 lines modified
197 function·body·cannot·be·compiled·when·consulting·a·file.·Also·the·encoding197 function·body·cannot·be·compiled·when·consulting·a·file.·Also·the·encoding
198 of·the·file·can·be·specified·as·defined·by·module·<a·href="../../../../lib/stdlib-7.0/doc/html/epp.html"><code·class="inline">epp</code></a>.</p></section><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Do·not·tamper·with·the·socket·options·<code·class="inline">list</code>,·<code·class="inline">binary</code>,·<code·class="inline">active</code>,·<code·class="inline">packet</code>,198 of·the·file·can·be·specified·as·defined·by·module·<a·href="../../../../lib/stdlib-7.0/doc/html/epp.html"><code·class="inline">epp</code></a>.</p></section><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Do·not·tamper·with·the·socket·options·<code·class="inline">list</code>,·<code·class="inline">binary</code>,·<code·class="inline">active</code>,·<code·class="inline">packet</code>,
199 <code·class="inline">nodelay</code>·and·<code·class="inline">deliver</code>·since·they·are·used·by·the·distribution·protocol·handler199 <code·class="inline">nodelay</code>·and·<code·class="inline">deliver</code>·since·they·are·used·by·the·distribution·protocol·handler
200 itself.·Other·raw·socket·options·such·as·<code·class="inline">packet_size</code>·may·interfere·severely,200 itself.·Other·raw·socket·options·such·as·<code·class="inline">packet_size</code>·may·interfere·severely,
201 so·beware!</p></section><p>For·TLS·to·work,·at·least·a·public·key·and·a·certificate·must·be·specified·for201 so·beware!</p></section><p>For·TLS·to·work,·at·least·a·public·key·and·a·certificate·must·be·specified·for
202 the·server·side·and·the·client·needs·to·specify·CAs·that·it·trusts·(client·certification202 the·server·side·and·the·client·needs·to·specify·CAs·that·it·trusts·(client·certification
203 is·optional·and·requires·more·configuration).</p><p>In·the·following·example·(to·keep·it·simple),·the·PEM·file·<code·class="inline">&quot;/home/me/ssl/erlserver.pem&quot;</code>203 is·optional·and·requires·more·configuration).</p><p>In·the·following·example·(to·keep·it·simple),·the·PEM·file·<code·class="inline">&quot;/home/me/ssl/erlserver.pem&quot;</code>
204 contains·both·the·server·certificate·and·its·private·key·.</p><p>Create·a·file·named·for·example·<code·class="inline">&quot;/home/me/ssl/ssl_test@myhost.conf&quot;</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0679148332-1">[</span><span·class="p"·data-group-id="0679148332-2">{</span><span·class="ss">server</span><span·class="p">,</span><span·class="w">204 contains·both·the·server·certificate·and·its·private·key·.</p><p>Create·a·file·named·for·example·<code·class="inline">&quot;/home/me/ssl/ssl_test@myhost.conf&quot;</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9383070764-1">[</span><span·class="p"·data-group-id="9383070764-2">{</span><span·class="ss">server</span><span·class="p">,</span><span·class="w">
205 ··</span><span·class="p"·data-group-id="0679148332-3">[</span><span·class="p"·data-group-id="0679148332-4">{</span><span·class="ss">certfile</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/home/me/ssl/erlserver.pem&quot;</span><span·class="p"·data-group-id="067914833[·...·truncated·by·diffoscope;·len:·107,·SHA:·9bbe1b269963edcc3db818b2cafcc5200fed54de1f1748ba653b2c17c9201f86·...·]-2">}</span><span·class="p">,</span><span·class="w">205 ··</span><span·class="p"·data-group-id="9383070764-3">[</span><span·class="p"·data-group-id="9383070764-4">{</span><span·class="ss">certfile</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/home/me/ssl/erlserver.pem&quot;</span><span·class="p"·data-group-id="938307076[·...·truncated·by·diffoscope;·len:·107,·SHA:·60eb156673df4cbafbdaa4f2c12a59464b75946b1a3e0b0fd61ad15e1208ee52·...·]-2">}</span><span·class="p">,</span><span·class="w">
206 ·</span><span·class="p"·data-group-id="0679148332-5">{</span><span·class="ss">client</span><span·class="p">,</span><span·class="w">206 ·</span><span·class="p"·data-group-id="9383070764-5">{</span><span·class="ss">client</span><span·class="p">,</span><span·class="w">
207 ··</span><span·class="p"·data-group-id="0679148332-6">[</span><span·class="p"·data-group-id="0679148332-7">{</span><span·class="ss">cacertfile</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/home/me/ssl/client_trusted.pem&quot;</span><span·class="p"·data-group-id="06[·...·truncated·by·diffoscope;·len:·167,·SHA:·467ea60366f466f11c94e3cafb5476762d64f02c219750aebed7ee2d372bec87·...·]-1">]</span><span·class="p">.</span></code></pre><p>And·then·start·the·node·like·this·(line·breaks·in·the·command·are·for207 ··</span><span·class="p"·data-group-id="9383070764-6">[</span><span·class="p"·data-group-id="9383070764-7">{</span><span·class="ss">cacertfile</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;/home/me/ssl/client_trusted.pem&quot;</span><span·class="p"·data-group-id="93[·...·truncated·by·diffoscope;·len:·167,·SHA:·d97b1d900145da5486b1bd047cc212d7eb09da0c22fb9c069631a29f734682bd·...·]-1">]</span><span·class="p">.</span></code></pre><p>And·then·start·the·node·like·this·(line·breaks·in·the·command·are·for
208 readability,·and·shall·not·be·there·when·typed):</p><pre><code·class="text">$·erl·-boot·/home/me/ssl/start_ssl·-proto_dist·inet_tls208 readability,·and·shall·not·be·there·when·typed):</p><pre><code·class="text">$·erl·-boot·/home/me/ssl/start_ssl·-proto_dist·inet_tls
209 ··-ssl_dist_optfile·&quot;/home/me/ssl/ssl_test@myhost.conf&quot;209 ··-ssl_dist_optfile·&quot;/home/me/ssl/ssl_test@myhost.conf&quot;
210 ··-sname·ssl_test</code></pre><p>The·options·in·the·<code·class="inline">{server,·Opts}</code>·tuple·are·used·when·calling210 ··-sname·ssl_test</code></pre><p>The·options·in·the·<code·class="inline">{server,·Opts}</code>·tuple·are·used·when·calling
211 <a·href="ssl.html#handshake/3"><code·class="inline">ssl:handshake/3</code></a>,·and·the·options·in·the·<code·class="inline">{client,·Opts}</code>·tuple·are·used·when211 <a·href="ssl.html#handshake/3"><code·class="inline">ssl:handshake/3</code></a>,·and·the·options·in·the·<code·class="inline">{client,·Opts}</code>·tuple·are·used·when
212 calling·<a·href="ssl.html#connect/4"><code·class="inline">ssl:connect/4</code></a>.</p><p>For·the·client,·the·option·<code·class="inline">{server_name_indication,·atom_to_list(TargetNode)}</code>212 calling·<a·href="ssl.html#connect/4"><code·class="inline">ssl:connect/4</code></a>.</p><p>For·the·client,·the·option·<code·class="inline">{server_name_indication,·atom_to_list(TargetNode)}</code>
213 is·added·when·connecting.·This·makes·it·possible·to·use·the·client·option213 is·added·when·connecting.·This·makes·it·possible·to·use·the·client·option
214 <code·class="inline">{verify,·verify_peer}</code>,·and·the·client·will·verify·that·the·certificate·matches214 <code·class="inline">{verify,·verify_peer}</code>,·and·the·client·will·verify·that·the·certificate·matches
Offset 270, 27 lines modifiedOffset 270, 27 lines modified
270 in·that·variable·and·are·then·interpreted·as·command-line·arguments·for·all270 in·that·variable·and·are·then·interpreted·as·command-line·arguments·for·all
271 subsequent·invocations·of·Erlang.</p><p>In·a·Unix·(Bourne)·shell,·it·can·look·as·follows·(line·breaks·are·for271 subsequent·invocations·of·Erlang.</p><p>In·a·Unix·(Bourne)·shell,·it·can·look·as·follows·(line·breaks·are·for
272 readability,·they·are·not·to·be·there·when·typed):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="n">ERL_FLAGS</span><span·class="o">=</span><span·class="s">&quot;-boot·/home/me/ssl/start_ssl·-proto_dist·inet_tls272 readability,·they·are·not·to·be·there·when·typed):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="n">ERL_FLAGS</span><span·class="o">=</span><span·class="s">&quot;-boot·/home/me/ssl/start_ssl·-proto_dist·inet_tls
273 ··-ssl_dist_opt·server_certfile·/home/me/ssl/erlserver.pem273 ··-ssl_dist_opt·server_certfile·/home/me/ssl/erlserver.pem
274 ··-ssl_dist_opt·server_secure_renegotiate·true·client_secure_renegotiate·true&quot;</span><span·class="w">274 ··-ssl_dist_opt·server_secure_renegotiate·true·client_secure_renegotiate·true&quot;</span><span·class="w">
275 </span><span·class="sc">$·</span><span·class="ss">export</span><span·class="w">·</span><span·class="n">ERL_FLAGS</span><span·class="w">275 </span><span·class="sc">$·</span><span·class="ss">export</span><span·class="w">·</span><span·class="n">ERL_FLAGS</span><span·class="w">
276 </span><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">sname</span><span·class="w">·</span><span·class="ss">ssl_test</span><span·class="w">276 </span><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">sname</span><span·class="w">·</span><span·class="ss">ssl_test</span><span·class="w">
277 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="8484558971-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="8484558971-1">)</span><span·class="w">·</span><span·class="ss">emulator</span><span·class="w">·</span><span·class="ss">version</span><span·class="w">·</span><span·class="mf">5.[·...·truncated·by·diffoscope;·len:·156,·SHA:·4544d3cf3418ace6ba98a280740f99a832e634528b3828d156ba93cd8ed67d30·...·]-2">]</span><span·class="w">277 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="3852449217-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="3852449217-1">)</span><span·class="w">·</span><span·class="ss">emulator</span><span·class="w">·</span><span·class="ss">version</span><span·class="w">·</span><span·class="mf">5.[·...·truncated·by·diffoscope;·len:·156,·SHA:·7302ea7ff15b49c4668a6b2ef43306548e7ff458fa4c54e342633e30d21274b9·...·]-2">]</span><span·class="w">
  
278 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mi">0</span><span·class="w">··</span><span·class="p"·data-group-id="8484558971-3">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="8484558971-3">)</span><span·class="gp·unselectable">278 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mi">0</span><span·class="w">··</span><span·class="p"·data-group-id="3852449217-3">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="3852449217-3">)</span><span·class="gp·unselectable">
279 (ssl_test@myhost)1&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_arguments</span><span·class="p"·data-group-id="8484558971-4">(</span><span·class="p"·data-group-id="8484558971-4">)</span><span·class="p">.</span><span·class="w">279 (ssl_test@myhost)1&gt;·</span><span·class="nc">init</span><span·class="p">:</span><span·class="nf">get_arguments</span><span·class="p"·data-group-id="3852449217-4">(</span><span·class="p"·data-group-id="3852449217-4">)</span><span·class="p">.</span><span·class="w">
280 </span><span·class="p"·data-group-id="8484558971-5">[</span><span·class="p"·data-group-id="8484558971-6">{</span><span·class="ss">root</span><span·class="p">,</span><span·class="p"·data-group-id="8484558971-7">[</span><span·class="s">&quot;/usr/local/erlang&quot;</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·105b921d080d8b2a6c4b006382f25ee9f8cc47191a9d1c94d293b2f21df60df5·...·]-6">}</span><span·class="p">,</span><span·class="w">280 </span><span·class="p"·data-group-id="3852449217-5">[</span><span·class="p"·data-group-id="3852449217-6">{</span><span·class="ss">root</span><span·class="p">,</span><span·class="p"·data-group-id="3852449217-7">[</span><span·class="s">&quot;/usr/local/erlang&quot;</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·af31ba1c22985bc15c5cb651238482d6099d50e24f6b7d47265c9ae4082e998b·...·]-6">}</span><span·class="p">,</span><span·class="w">
281 ·</span><span·class="p"·data-group-id="8484558971-8">{</span><span·class="ss">progname</span><span·class="p">,</span><span·class="p"·data-group-id="8484558971-9">[</span><span·class="s">&quot;erl·&quot;</span><span·class="p"·data-group-id="8484558971-9">]</span><span·class="p"·data-group-id="84[·...·truncated·by·diffoscope;·len:·8,·SHA:·30c5029a608865280df5f91bd6dc7f4ab47d2c3364db32918f7344bc6e6bee2f·...·]-8">}</span><span·class="p">,</span><span·class="w">281 ·</span><span·class="p"·data-group-id="3852449217-8">{</span><span·class="ss">progname</span><span·class="p">,</span><span·class="p"·data-group-id="3852449217-9">[</span><span·class="s">&quot;erl·&quot;</span><span·class="p"·data-group-id="3852449217-9">]</span><span·class="p"·data-group-id="38[·...·truncated·by·diffoscope;·len:·8,·SHA:·8cfffec55d9d6885bb0494cd4304e2de443a7beff49de448687099b1b644eb36·...·]-8">}</span><span·class="p">,</span><span·class="w">
282 ·</span><span·class="p"·data-group-id="8484558971-10">{</span><span·class="ss">sname</span><span·class="p">,</span><span·class="p"·data-group-id="8484558971-11">[</span><span·class="s">&quot;ssl_test&quot;</span><span·class="p"·data-group-id="8484558971-11">]</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·c0df04b9583d3f195f8c34fd4c09293003914cb4140bc6dd961a7fba69b1881b·...·]-10">}</span><span·class="p">,</span><span·class="w">282 ·</span><span·class="p"·data-group-id="3852449217-10">{</span><span·class="ss">sname</span><span·class="p">,</span><span·class="p"·data-group-id="3852449217-11">[</span><span·class="s">&quot;ssl_test&quot;</span><span·class="p"·data-group-id="3852449217-11">]</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·12,·SHA:·ede745780d4d79315961e27f78eb3933c635213e582dad0f9638a9c825e356a3·...·]-10">}</span><span·class="p">,</span><span·class="w">
283 ·</span><span·class="p"·data-group-id="8484558971-12">{</span><span·class="ss">boot</span><span·class="p">,</span><span·class="p"·data-group-id="8484558971-13">[</span><span·class="s">&quot;/home/me/ssl/start_ssl&quot;</span><span·class="p"·data-group-id="8484558971-13">]</span><span·class="p"·data-group-id="8484558971-12">}</span><span·class="p">,</span><span·class="w"> 
284 ·</span><span·class="p"·data-group-id="8484558971-14">{</span><span·class="ss">proto_dist</span><span·class="p">,</span><span·class="p"·data-group-id="8484558971-15">[</span><span·class="s">&quot;inet_tls&quot;</span><span·class="p"·data-group-id="8484558971-15">]</span><span·class="p"·data-group-id="8484558971-14">}</span><span·class="p">,</span><span·class="w"> 
285 ·</span><span·class="p"·data-group-id="8484558971-16">{</span><span·class="ss">ssl_dist_opt</span><span·class="p">,</span><span·class="p"·data-group-id="8484558971-17">[</span><span·class="s">&quot;server_certfile&quot;</span><span·class="p">,</span><span·class="s">&quot;/home/me/ssl/erlserver.[·...·truncated·by·diffoscope;·len:·114,·SHA:·a26e0a89e110f6d0c2a157226bcd071474c3fde4494feafcddd2cf784b945cef·...·]">}</span><span·class="p">,</span><span·class="w">283 ·</span><span·class="p"·data-group-id="3852449217-12">{</span><span·class="ss">boot</span><span·class="p">,</span><span·class="p"·data-group-id="3852449217-13">[</span><span·class="s">&quot;/home/me/ssl/start_ssl&quot;</span><span·class="p"·data-group-id="3852449217-13">]</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·28,·SHA:·3fb3170369972df92c27aab49296a6b3119cee014af673fa65b96328f5d8e30e·...·]">}</span><span·class="p">,</span><span·class="w">
 284 ·</span><span·class="p"·data-group-id="3852449217-14">{</span><span·class="ss">proto_dist</span><span·class="p">,</span><span·class="p"·data-group-id="3852449217-15">[</span><span·class="s">&quot;inet_tls&quot;</span><span·class="p"·data-group-id="3852449217-15">]</span><span·class="p"·data-group-id="3852449217-14">}</span><span·class="p">,</span><span·class="w">
 285 ·</span><span·class="p"·data-group-id="3852449217-16">{</span><span·class="ss">ssl_dist_opt</span><span·class="p">,</span><span·class="p"·data-group-id="3852449217-17">[</span><span·class="s">&quot;server_certfile&quot;</span><span·class="p">,</span><span·class="s">&quot;/home/me/ssl/erlserver.pem&quot;</span><span·class="p"·data-group-id="3852449217-17">]</span><span·class="p"·data-group-id="3852449217-16">}</span><span·class="p">,</span><span·class="w">
286 ·</span><span·class="p"·data-group-id="8484558971-18">{</span><span·class="ss">ssl_dist_opt</span><span·class="p">,</span><span·class="p"·data-group-id="8484558971-19">[</span><span·class="s">&quot;server_secure_renegotiate&quot;</span><span·class="p">,</span><span·class="s">&quot;true&quot;</span><span·class="p">,</span><span·class="w">286 ·</span><span·class="p"·data-group-id="3852449217-18">{</span><span·class="ss">ssl_dist_opt</span><span·class="p">,</span><span·class="p"·data-group-id="3852449217-19">[</span><span·class="s">&quot;server_secure_renegotiate&quot;</span><span·class="p">,</span><span·class="s">&quot;true&quot;</span><span·class="p">,</span><span·class="w">
287 ················</span><span·class="s">&quot;client_secure_renegotiate&quot;</span><span·class="p">,</span><span·class="s">&quot;true&quot;</span><span·class="p"·data-group-id="8484558971-19">]</span><span·class="w">287 ················</span><span·class="s">&quot;client_secure_renegotiate&quot;</span><span·class="p">,</span><span·class="s">&quot;true&quot;</span><span·class="p"·data-group-id="3852449217-19">]</span><span·class="w">
288 ·</span><span·class="p"·data-group-id="8484558971-20">{</span><span·class="ss">home</span><span·class="p">,</span><span·class="p"·data-group-id="8484558971-21">[</span><span·class="s">&quot;/home/me&quot;</span><span·class="p"·data-group-id="8484558971-21">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·2c7b061964a0e9784662f21a177c451c2a45e273fa3eb146c4cb6120dde5cd97·...·]-20">}</span><span·class="p">]</span></code></pre><p>The·<code·class="inline">init:get_arguments()</code>·call·verifies·that·the·correct·arguments·are·supplied288 ·</span><span·class="p"·data-group-id="3852449217-20">{</span><span·class="ss">home</span><span·class="p">,</span><span·class="p"·data-group-id="3852449217-21">[</span><span·class="s">&quot;/home/me&quot;</span><span·class="p"·data-group-id="3852449217-21">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·0473adf5778afe05087ed4e9e6171b6c4f7aae1ddd632a80b80cc8a372be568e·...·]-20">}</span><span·class="p">]</span></code></pre><p>The·<code·class="inline">init:get_arguments()</code>·call·verifies·that·the·correct·arguments·are·supplied
289 to·the·emulator.</p>289 to·the·emulator.</p>
290 </div>290 </div>
  
291 <div·class="bottom-actions"·id="bottom-actions">291 <div·class="bottom-actions"·id="bottom-actions">
292 ··<div·class="bottom-actions-item">292 ··<div·class="bottom-actions-item">
  
293 ······<a·href="using_ssl.html"·class="bottom-actions-button"·rel="prev">293 ······<a·href="using_ssl.html"·class="bottom-actions-button"·rel="prev">
Offset 334, 15 lines modifiedOffset 334, 15 lines modified
334 ······<p·class="built-using">334 ······<p·class="built-using">
335 ········Built·using335 ········Built·using
336 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the336 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
337 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>337 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
338 ······</p>338 ······</p>
339 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>339 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
340 ····</footer>340 ····</footer>
341 ··</div>341 ··</div>
342 </main>342 </main>
343 </div>343 </div>
344 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>344 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
345 ··<script>345 ··<script>
346 ··let·initialized·=·false;346 ··let·initialized·=·false;
660 B
html2text {}
Max HTML report size reached
1.63 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/ssl_protocol.html
    
Offset 275, 15 lines modifiedOffset 275, 15 lines modified
275 ······<p·class="built-using">275 ······<p·class="built-using">
276 ········Built·using276 ········Built·using
277 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the277 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
278 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>278 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
279 ······</p>279 ······</p>
280 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>280 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
281 ····</footer>281 ····</footer>
282 ··</div>282 ··</div>
283 </main>283 </main>
284 </div>284 </div>
285 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>285 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
286 ··<script>286 ··<script>
287 ··let·initialized·=·false;287 ··let·initialized·=·false;
831 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/ssl_session_cache_api.html
    
Offset 695, 15 lines modifiedOffset 695, 15 lines modified
695 ······<p·class="built-using">695 ······<p·class="built-using">
696 ········Built·using696 ········Built·using
697 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the697 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
698 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>698 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
699 ······</p>699 ······</p>
700 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>700 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
701 ····</footer>701 ····</footer>
702 ··</div>702 ··</div>
703 </main>703 </main>
704 </div>704 </div>
705 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>705 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
706 ··<script>706 ··<script>
707 ··let·initialized·=·false;707 ··let·initialized·=·false;
683 B
html2text {}
Max HTML report size reached
1.76 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/standards_compliance.html
    
Offset 256, 15 lines modifiedOffset 256, 15 lines modified
256 ······<p·class="built-using">256 ······<p·class="built-using">
257 ········Built·using257 ········Built·using
258 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the258 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
259 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>259 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
260 ······</p>260 ······</p>
261 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>261 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
262 ····</footer>262 ····</footer>
263 ··</div>263 ··</div>
264 </main>264 </main>
265 </div>265 </div>
266 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>266 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
267 ··<script>267 ··<script>
268 ··let·initialized·=·false;268 ··let·initialized·=·false;
949 B
html2text {}
Max HTML report size reached
300 KB
./usr/share/doc/erlang-doc/html/lib/ssl-11.3/doc/html/using_ssl.html
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/api-reference.html
    
Offset 832, 15 lines modifiedOffset 832, 15 lines modified
832 ······<p·class="built-using">832 ······<p·class="built-using">
833 ········Built·using833 ········Built·using
834 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the834 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
835 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>835 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
836 ······</p>836 ······</p>
837 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>837 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
838 ····</footer>838 ····</footer>
839 ··</div>839 ··</div>
840 </main>840 </main>
841 </div>841 </div>
842 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>842 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
843 ··<script>843 ··<script>
844 ··let·initialized·=·false;844 ··let·initialized·=·false;
568 B
html2text {}
Max HTML report size reached
126 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/argparse.html
    
Offset 143, 60 lines modifiedOffset 143, 60 lines modified
143 ··</a>143 ··</a>
144 ··<span·class="text">Quick·start</span>144 ··<span·class="text">Quick·start</span>
145 </h2>145 </h2>
146 <p><code·class="inline">argparse</code>·is·designed·to·work·with·<a·href="../../../../erts-16.0/doc/html/escript_cmd.html"><code·class="inline">escript</code></a>.·The146 <p><code·class="inline">argparse</code>·is·designed·to·work·with·<a·href="../../../../erts-16.0/doc/html/escript_cmd.html"><code·class="inline">escript</code></a>.·The
147 example·below·is·a·fully·functioning·Erlang·program·accepting·two·command·line147 example·below·is·a·fully·functioning·Erlang·program·accepting·two·command·line
148 arguments·and·printing·their·product.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript148 arguments·and·printing·their·product.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript
149 </span><span·class="w">149 </span><span·class="w">
150 </span><span·class="nf">main</span><span·class="p"·data-group-id="6456008794-1">(</span><span·class="n">Args</span><span·class="p"·data-group-id="6456008794-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">150 </span><span·class="nf">main</span><span·class="p"·data-group-id="1886771621-1">(</span><span·class="n">Args</span><span·class="p"·data-group-id="1886771621-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
151 ····</span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="6456008794-2">(</span><span·class="n">Args</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">cli</span><span·class="p"·data-group-id="6456008794-3">(</span><span·class="p"·data-group-id="6456008794-3">)</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·305,·SHA:·039404c91eb8c568a14c38ea213855ed46bf2d1308b712c04b66d6f8502c9cdb·...·]-2">)</span><span·class="p">.</span><span·class="w">151 ····</span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="1886771621-2">(</span><span·class="n">Args</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">cli</span><span·class="p"·data-group-id="1886771621-3">(</span><span·class="p"·data-group-id="1886771621-3">)</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·305,·SHA:·37211df01ffd62f0353d3d27ddf1b518e5827978627c6ccf448148e41d57c742·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
152 </span><span·class="nf">cli</span><span·class="p"·data-group-id="6456008794-5">(</span><span·class="p"·data-group-id="6456008794-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">152 </span><span·class="nf">cli</span><span·class="p"·data-group-id="1886771621-5">(</span><span·class="p"·data-group-id="1886771621-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
153 ····</span><span·class="p"·data-group-id="6456008794-6">#{</span><span·class="w">153 ····</span><span·class="p"·data-group-id="1886771621-6">#{</span><span·class="w">
154 ········</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6456008794-7">[</span><span·class="w">154 ········</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1886771621-7">[</span><span·class="w">
155 ············</span><span·class="p"·data-group-id="6456008794-8">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">left</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">type</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·123,·SHA:·39e16935aa9e085a5ef2c1c40d8eedcc34528d7f564e8f2e8174089d8b292f9c·...·]-8">}</span><span·class="p">,</span><span·class="w">155 ············</span><span·class="p"·data-group-id="1886771621-8">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">left</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">type</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·123,·SHA:·8882bf4e51ff31481fc82006d69da4f89712d2fcc67c207bb7ec75e59c8085f5·...·]-8">}</span><span·class="p">,</span><span·class="w">
156 ············</span><span·class="p"·data-group-id="6456008794-9">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">right</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">type</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·124,·SHA:·a18cf622c8923438229a514f83d03983bc861933e17037a1defd1b67fe1f995a·...·]-9">}</span><span·class="w">156 ············</span><span·class="p"·data-group-id="1886771621-9">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">right</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">type</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·124,·SHA:·55bd009f2b0c4fbf7396694bacebd5a4f8c5c1d30d1edce46817413bbf6e25aa·...·]-9">}</span><span·class="w">
157 ········</span><span·class="p"·data-group-id="6456008794-7">]</span><span·class="p">,</span><span·class="w">157 ········</span><span·class="p"·data-group-id="1886771621-7">]</span><span·class="p">,</span><span·class="w">
158 ········</span><span·class="ss">handler</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">158 ········</span><span·class="ss">handler</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">
159 ············</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6456008794-10">(</span><span·class="p"·data-group-id="6456008794-11">#{</span><span·class="ss">left</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Left</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·223,·SHA:·b938919d259bcc64127e1af6932b2f14033130f555ea39e3a0d2a1ed18ebdd0b·...·]-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">159 ············</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="1886771621-10">(</span><span·class="p"·data-group-id="1886771621-11">#{</span><span·class="ss">left</span><span·class="w">·</span><span·class="p">:=</span><span·class="w">·</span><span·class="n">Left</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·223,·SHA:·f4c04bd9056f60883daf2a0e9e11b06feb2ce7a09e63def1dd8bb82a5712454d·...·]-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
160 ················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6456008794-12">(</span><span·class="s">&quot;</span><span·class="si">~b</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6456008794-13">[</span><span·class="n">Left<[·...·truncated·by·diffoscope;·len:·201,·SHA:·c3729cfb8ce540bcca51e3005a2177fbfd5efb0794ad2b00727e38457c8eefa8·...·]-12">)</span><span·class="w">160 ················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1886771621-12">(</span><span·class="s">&quot;</span><span·class="si">~b</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1886771621-13">[</span><span·class="n">Left<[·...·truncated·by·diffoscope;·len:·201,·SHA:·f125cae4d2717910b311af5030e28ff2c77620b087f761a05b8cfce5c78bfd27·...·]-12">)</span><span·class="w">
161 ············</span><span·class="k">end</span><span·class="w">161 ············</span><span·class="k">end</span><span·class="w">
162 ····</span><span·class="p"·data-group-id="6456008794-6">}</span><span·class="p">.</span></code></pre><p>Running·this·script·with·no·arguments·results·in·an·error,·accompanied·by·the162 ····</span><span·class="p"·data-group-id="1886771621-6">}</span><span·class="p">.</span></code></pre><p>Running·this·script·with·no·arguments·results·in·an·error,·accompanied·by·the
163 usage·information.</p><p>The·<code·class="inline">cli</code>·function·defines·a·single·command·with·embedded·handler·accepting·a163 usage·information.</p><p>The·<code·class="inline">cli</code>·function·defines·a·single·command·with·embedded·handler·accepting·a
164 map.·Keys·of·the·map·are·argument·names·as·defined·by·the·<code·class="inline">argument</code>·field·of164 map.·Keys·of·the·map·are·argument·names·as·defined·by·the·<code·class="inline">argument</code>·field·of
165 the·command,·<code·class="inline">left</code>·and·<code·class="inline">right</code>·in·the·example.·Values·are·taken·from·the165 the·command,·<code·class="inline">left</code>·and·<code·class="inline">right</code>·in·the·example.·Values·are·taken·from·the
166 command·line,·and·converted·into·integers,·as·requested·by·the·type166 command·line,·and·converted·into·integers,·as·requested·by·the·type
167 specification.·Both·arguments·in·the·example·above·are·required·(and·therefore167 specification.·Both·arguments·in·the·example·above·are·required·(and·therefore
168 defined·as·positional).</p><h2·id="module-command-hierarchy"·class="section-heading">168 defined·as·positional).</p><h2·id="module-command-hierarchy"·class="section-heading">
169 ··<a·href="#module-command-hierarchy"·class="hover-link">169 ··<a·href="#module-command-hierarchy"·class="hover-link">
170 ····<i·class="ri-link-m"·aria-hidden="true"></i>170 ····<i·class="ri-link-m"·aria-hidden="true"></i>
171 ··</a>171 ··</a>
172 ··<span·class="text">Command·hierarchy</span>172 ··<span·class="text">Command·hierarchy</span>
173 </h2>173 </h2>
174 <p>A·command·may·contain·nested·commands,·forming·a·hierarchy.·Arguments·defined·at174 <p>A·command·may·contain·nested·commands,·forming·a·hierarchy.·Arguments·defined·at
175 the·upper·level·command·are·automatically·added·to·all·nested·commands.·Nested175 the·upper·level·command·are·automatically·added·to·all·nested·commands.·Nested
176 commands·example·(assuming·<code·class="inline">progname</code>·is·<code·class="inline">nested</code>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">cli</span><span·class="p"·data-group-id="4289894481-1">(</span><span·class="p"·data-group-id="4289894481-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">176 commands·example·(assuming·<code·class="inline">progname</code>·is·<code·class="inline">nested</code>):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">cli</span><span·class="p"·data-group-id="6001740681-1">(</span><span·class="p"·data-group-id="6001740681-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
177 ··</span><span·class="p"·data-group-id="4289894481-2">#{</span><span·class="w">177 ··</span><span·class="p"·data-group-id="6001740681-2">#{</span><span·class="w">
178 ····</span><span·class="c1">%%·top·level·argument·applicable·to·all·commands</span><span·class="w">178 ····</span><span·class="c1">%%·top·level·argument·applicable·to·all·commands</span><span·class="w">
179 ····</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4289894481-3">[</span><span·class="p"·data-group-id="4289894481-4">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">top</span><span·class="p"·data-group-id="4289894481-4">}</s[·...·truncated·by·diffoscope;·len:·43,·SHA:·eb4c7163e12129a0e3dca590fecbdb988c4b9d94a485b59ce69f40da31560877·...·]81-3">]</span><span·class="p">,</span><span·class="w">179 ····</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6001740681-3">[</span><span·class="p"·data-group-id="6001740681-4">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">top</span><span·class="p"·data-group-id="6001740681-4">}</s[·...·truncated·by·diffoscope;·len:·43,·SHA:·0cc79a0f36b3abdb8d0ce505691baaeed139d0c991db4b401047cc59e7fac3b4·...·]81-3">]</span><span·class="p">,</span><span·class="w">
180 ······</span><span·class="ss">commands</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4289894481-5">#{</span><span·class="w">180 ······</span><span·class="ss">commands</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6001740681-5">#{</span><span·class="w">
181 ········</span><span·class="s">&quot;first&quot;</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4289894481-6">#{</span><span·class="w">181 ········</span><span·class="s">&quot;first&quot;</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6001740681-6">#{</span><span·class="w">
182 ··········</span><span·class="c1">%%·argument·applicable·to·&quot;first&quot;·command·and</span><span·class="w">182 ··········</span><span·class="c1">%%·argument·applicable·to·&quot;first&quot;·command·and</span><span·class="w">
183 ··········</span><span·class="c1">%%··all·commands·nested·into·&quot;first&quot;</span><span·class="w">183 ··········</span><span·class="c1">%%··all·commands·nested·into·&quot;first&quot;</span><span·class="w">
184 ··········</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4289894481-7">[</span><span·class="p"·data-group-id="4289894481-8">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">mid</span><span·class="p"·data-group-id="4289894481-8">}</s[·...·truncated·by·diffoscope;·len:·43,·SHA:·eb4c7163e12129a0e3dca590fecbdb988c4b9d94a485b59ce69f40da31560877·...·]81-7">]</span><span·class="p">,</span><span·class="w">184 ··········</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6001740681-7">[</span><span·class="p"·data-group-id="6001740681-8">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">mid</span><span·class="p"·data-group-id="6001740681-8">}</s[·...·truncated·by·diffoscope;·len:·43,·SHA:·0cc79a0f36b3abdb8d0ce505691baaeed139d0c991db4b401047cc59e7fac3b4·...·]81-7">]</span><span·class="p">,</span><span·class="w">
185 ··········</span><span·class="ss">commands</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4289894481-9">#{</span><span·class="w">185 ··········</span><span·class="ss">commands</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6001740681-9">#{</span><span·class="w">
186 ············</span><span·class="s">&quot;second&quot;</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4289894481-10">#{</span><span·class="w">186 ············</span><span·class="s">&quot;second&quot;</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6001740681-10">#{</span><span·class="w">
187 ··············</span><span·class="c1">%%·argument·only·applicable·for·&quot;second&quot;·command</span><span·class="w">187 ··············</span><span·class="c1">%%·argument·only·applicable·for·&quot;second&quot;·command</span><span·class="w">
188 ··············</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4289894481-11">[</span><span·class="p"·data-group-id="4289894481-12">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">bottom</span><span·class="p"·data-group-id="4289894481-12[·...·truncated·by·diffoscope;·len:·49,·SHA:·83656e8ff6b0323ac6f953e92faf08845748d112cf243d7d6913f5e6a4a12548·...·]81-11">]</span><span·class="p">,</span><span·class="w">188 ··············</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6001740681-11">[</span><span·class="p"·data-group-id="6001740681-12">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">bottom</span><span·class="p"·data-group-id="6001740681-12[·...·truncated·by·diffoscope;·len:·49,·SHA:·6fbfa51d97607c190b33a3103946956386c5caff0f3e17534a9bab210c2358cf·...·]81-11">]</span><span·class="p">,</span><span·class="w">
189 ··············</span><span·class="ss">handler</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="4289894481-13">(</span><span·class="n">A</span><span·class="p"·data-group-id="4289894481-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span[·...·truncated·by·diffoscope;·len:·384,·SHA:·de7adfc09ca968d7373421edf864463cf4acbfb8d09fb930ca88cc50a3dde4a1·...·]81-14">)</span><span·class="w">·</span><span·class="k">end</span><span·class="w">189 ··············</span><span·class="ss">handler</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6001740681-13">(</span><span·class="n">A</span><span·class="p"·data-group-id="6001740681-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span[·...·truncated·by·diffoscope;·len:·384,·SHA:·a698b27954de1df605eff4335c902dece855ff1678be7f772705f83e75916279·...·]81-14">)</span><span·class="w">·</span><span·class="k">end</span><span·class="w">
190 ··········</span><span·class="p"·data-group-id="4289894481-10">}</span><span·class="w">190 ··········</span><span·class="p"·data-group-id="6001740681-10">}</span><span·class="w">
191 ········</span><span·class="p"·data-group-id="4289894481-9">}</span><span·class="w">191 ········</span><span·class="p"·data-group-id="6001740681-9">}</span><span·class="w">
192 ······</span><span·class="p"·data-group-id="4289894481-6">}</span><span·class="w">192 ······</span><span·class="p"·data-group-id="6001740681-6">}</span><span·class="w">
193 ····</span><span·class="p"·data-group-id="4289894481-5">}</span><span·class="w">193 ····</span><span·class="p"·data-group-id="6001740681-5">}</span><span·class="w">
194 ··</span><span·class="p"·data-group-id="4289894481-2">}</span><span·class="p">.</span></code></pre><p>In·the·example·above,·a·3-level·hierarchy·is·defined.·First·is·the·script·itself194 ··</span><span·class="p"·data-group-id="6001740681-2">}</span><span·class="p">.</span></code></pre><p>In·the·example·above,·a·3-level·hierarchy·is·defined.·First·is·the·script·itself
195 (<code·class="inline">nested</code>),·accepting·the·only·argument·<code·class="inline">top</code>.·Since·it·has·no·associated195 (<code·class="inline">nested</code>),·accepting·the·only·argument·<code·class="inline">top</code>.·Since·it·has·no·associated
196 handler,·<a·href="#run/3"><code·class="inline">run/3</code></a>·will·not·accept·user·input·omitting·nested·command·selection.196 handler,·<a·href="#run/3"><code·class="inline">run/3</code></a>·will·not·accept·user·input·omitting·nested·command·selection.
197 For·this·example,·user·has·to·supply·5·arguments·in·the·command·line,·two·being197 For·this·example,·user·has·to·supply·5·arguments·in·the·command·line,·two·being
198 command·names,·and·another·3·-·required·positional·arguments:</p><pre><code·class="text">./nested.erl·one·first·second·two·three198 command·names,·and·another·3·-·required·positional·arguments:</p><pre><code·class="text">./nested.erl·one·first·second·two·three
199 #{top·=&gt;·&quot;one&quot;,mid·=&gt;·&quot;two&quot;,bottom·=&gt;·&quot;three&quot;}</code></pre><p>Commands·have·preference·over·positional·argument·values.·In·the·example·above,199 #{top·=&gt;·&quot;one&quot;,mid·=&gt;·&quot;two&quot;,bottom·=&gt;·&quot;three&quot;}</code></pre><p>Commands·have·preference·over·positional·argument·values.·In·the·example·above,
200 commands·and·positional·arguments·are·interleaving,·and·<code·class="inline">argparse</code>·matches200 commands·and·positional·arguments·are·interleaving,·and·<code·class="inline">argparse</code>·matches
201 command·name·first.</p><h2·id="module-arguments"·class="section-heading">201 command·name·first.</p><h2·id="module-arguments"·class="section-heading">
Offset 206, 22 lines modifiedOffset 206, 22 lines modified
206 ··<span·class="text">Arguments</span>206 ··<span·class="text">Arguments</span>
207 </h2>207 </h2>
208 <p><code·class="inline">argparse</code>·supports·positional·and·optional·arguments.·Optional·arguments,·or208 <p><code·class="inline">argparse</code>·supports·positional·and·optional·arguments.·Optional·arguments,·or
209 options·for·short,·must·be·prefixed·with·a·special·character·(<code·class="inline">-</code>·is·the·default209 options·for·short,·must·be·prefixed·with·a·special·character·(<code·class="inline">-</code>·is·the·default
210 on·all·operating·systems).·Both·options·and·positional·arguments·have·1·or·more210 on·all·operating·systems).·Both·options·and·positional·arguments·have·1·or·more
211 associated·values.·See·<a·href="#t:argument/0"><code·class="inline">argument·specification</code></a>·to·find·more211 associated·values.·See·<a·href="#t:argument/0"><code·class="inline">argument·specification</code></a>·to·find·more
212 details·about·supported·combinations.</p><p>In·the·user·input,·short·options·may·be·concatenated·with·their·values.·Long212 details·about·supported·combinations.</p><p>In·the·user·input,·short·options·may·be·concatenated·with·their·values.·Long
213 options·support·values·separated·by·<code·class="inline">=</code>.·Consider·this·definition:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">cli</span><span·class="p"·data-group-id="1591134510-1">(</span><span·class="p"·data-group-id="1591134510-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">213 options·support·values·separated·by·<code·class="inline">=</code>.·Consider·this·definition:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">cli</span><span·class="p"·data-group-id="3309016286-1">(</span><span·class="p"·data-group-id="3309016286-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
214 ··</span><span·class="p"·data-group-id="1591134510-2">#{</span><span·class="w">214 ··</span><span·class="p"·data-group-id="3309016286-2">#{</span><span·class="w">
215 ····</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1591134510-3">[</span><span·class="w">215 ····</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3309016286-3">[</span><span·class="w">
216 ······</span><span·class="p"·data-group-id="1591134510-4">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">long</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">long</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·132,·SHA:·29b3715f7e46ebbe113ed1178088eb50ecd51b3c6c20cb8052db6fe59deb97eb·...·]-4">}</span><span·class="p">,</span><span·class="w">216 ······</span><span·class="p"·data-group-id="3309016286-4">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">long</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">long</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·132,·SHA:·8a860b323db827e3a326db839d7034960ad85d11ba45fe479f6ee42833456786·...·]-4">}</span><span·class="p">,</span><span·class="w">
217 ······</span><span·class="p"·data-group-id="1591134510-5">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">short</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">short</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·120,·SHA:·300a029d3ac03d2aae2dcd0356543656310906e8414d6fbbd520e76b32a639c1·...·]-5">}</span><span·class="w">217 ······</span><span·class="p"·data-group-id="3309016286-5">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">short</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">short</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·120,·SHA:·881d19f36bc00d04bbafc5a7421e5956cdc52d080b79759e59eed67b62a0d7fe·...·]-5">}</span><span·class="w">
218 ····</span><span·class="p"·data-group-id="1591134510-3">]</span><span·class="p">,</span><span·class="w">218 ····</span><span·class="p"·data-group-id="3309016286-3">]</span><span·class="p">,</span><span·class="w">
219 ····</span><span·class="ss">handler</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="1591134510-6">(</span><span·class="n">Args</span><span·class="p"·data-group-id="1591134510-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</spa[·...·truncated·by·diffoscope;·len:·387,·SHA:·8e2a986bb851e12ea76ec2c0671031e58fc44b210908dffcefcfb4f290293742·...·]-7">)</span><span·class="w">·</span><span·class="k">end</span><span·class="w">219 ····</span><span·class="ss">handler</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="3309016286-6">(</span><span·class="n">Args</span><span·class="p"·data-group-id="3309016286-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</spa[·...·truncated·by·diffoscope;·len:·387,·SHA:·d55307a5eac8b523cb43874f8a0c938672776a6ff1a793e4fb0ba2adfdd99bb2·...·]-7">)</span><span·class="w">·</span><span·class="k">end</span><span·class="w">
220 ··</span><span·class="p"·data-group-id="1591134510-2">}</span><span·class="p">.</span></code></pre><p>Running·<code·class="inline">./args·--long=VALUE</code>·prints·<code·class="inline">#{long·=&gt;·&quot;VALUE&quot;}</code>,·running220 ··</span><span·class="p"·data-group-id="3309016286-2">}</span><span·class="p">.</span></code></pre><p>Running·<code·class="inline">./args·--long=VALUE</code>·prints·<code·class="inline">#{long·=&gt;·&quot;VALUE&quot;}</code>,·running
221 <code·class="inline">./args·-sVALUE</code>·prints·<code·class="inline">#{short·=&gt;·&quot;VALUE&quot;}</code></p><p><code·class="inline">argparse</code>·supports·boolean·flags·concatenation:·it·is·possible·to·shorten221 <code·class="inline">./args·-sVALUE</code>·prints·<code·class="inline">#{short·=&gt;·&quot;VALUE&quot;}</code></p><p><code·class="inline">argparse</code>·supports·boolean·flags·concatenation:·it·is·possible·to·shorten
222 <code·class="inline">-r·-f·-v</code>·to·<code·class="inline">-rfv</code>.</p><p>Shortened·option·names·are·not·supported:·it·is·not·possible·to·use·<code·class="inline">--my-argum</code>222 <code·class="inline">-r·-f·-v</code>·to·<code·class="inline">-rfv</code>.</p><p>Shortened·option·names·are·not·supported:·it·is·not·possible·to·use·<code·class="inline">--my-argum</code>
223 instead·of·<code·class="inline">--my-argument-name</code>·even·when·such·option·can·be·unambiguously223 instead·of·<code·class="inline">--my-argument-name</code>·even·when·such·option·can·be·unambiguously
224 found.</p>224 found.</p>
225 ····</section>225 ····</section>
  
226 </div>226 </div>
Offset 636, 119 lines modifiedOffset 636, 119 lines modified
636 as·optional.·Optional·arguments·do·not·have·specific·order·and·may·appear636 as·optional.·Optional·arguments·do·not·have·specific·order·and·may·appear
637 anywhere·in·the·command·line.·Positional·arguments·are·ordered·the·same·way·as637 anywhere·in·the·command·line.·Positional·arguments·are·ordered·the·same·way·as
638 they·appear·in·the·arguments·list·of·the·command·specification.</p><p>By·default,·all·positional·arguments·must·be·present·in·the·command·line.·The638 they·appear·in·the·arguments·list·of·the·command·specification.</p><p>By·default,·all·positional·arguments·must·be·present·in·the·command·line.·The
639 parser·will·return·an·error·otherwise.·Options,·however,·may·be·omitted,·in639 parser·will·return·an·error·otherwise.·Options,·however,·may·be·omitted,·in
640 which·case·resulting·argument·map·will·either·contain·the·default·value,·or·not640 which·case·resulting·argument·map·will·either·contain·the·default·value,·or·not
641 have·the·key·at·all.</p><ul><li><p><strong><code·class="inline">name</code></strong>·-·Sets·the·argument·name·in·the·parsed·argument·map.·If·<code·class="inline">help</code>·is641 have·the·key·at·all.</p><ul><li><p><strong><code·class="inline">name</code></strong>·-·Sets·the·argument·name·in·the·parsed·argument·map.·If·<code·class="inline">help</code>·is
642 not·defined,·name·is·also·used·to·generate·the·default·usage·message.</p></li><li><p><strong><code·class="inline">short</code></strong>·-·Defines·a·short·(single·character)·form·of·an·optional·argument.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Define·a·command·accepting·argument·named·myarg,·with·short·form·$a:</span><span·class="gp·unselectable">642 not·defined,·name·is·also·used·to·generate·the·default·usage·message.</p></li><li><p><strong><code·class="inline">short</code></strong>·-·Defines·a·short·(single·character)·form·of·an·optional·argument.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Define·a·command·accepting·argument·named·myarg,·with·short·form·$a:</span><span·class="gp·unselectable">
643 1&gt;·</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0997718085-1">#{</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0997718085-2">[</span><span·class="p"·data-group-id="0997718085-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·441,·SHA:·7822bf749acb36010223ee6f40517e1503c0b3f456408b4348f838504c1f8691·...·]5-1">}</span><span·class="p">.</span><span·class="w">643 1&gt;·</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5927556015-1">#{</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5927556015-2">[</span><span·class="p"·data-group-id="5927556015-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·441,·SHA:·291ef155697b3073c7955d50f45b301510f582bbaef3d46fb306f653dee9eebb·...·]5-1">}</span><span·class="p">.</span><span·class="w">
644 </span><span·class="c1">%%·Parse·command·line·&quot;-a·str&quot;:</span><span·class="gp·unselectable">644 </span><span·class="c1">%%·Parse·command·line·&quot;-a·str&quot;:</span><span·class="gp·unselectable">
645 2&gt;·</span><span·class="p"·data-group-id="0997718085-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·619,·SHA:·f710b30cd78f71bac1a0f568365d049a0134e9cb036ee0359777bc1f283d5d97·...·]5-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">645 2&gt;·</span><span·class="p"·data-group-id="5927556015-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·619,·SHA:·5d1d9b6332049e5647cf2e36cfd4a1184728eef1d8e791a0b9b39bed2757547c·...·]5-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">
  
646 </span><span·class="p"·data-group-id="0997718085-7">#{</span><span·class="ss">myarg</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;str&quot;</span><span·class="p"·data-group-id="0997718085-7">}</span><span·class="w">646 </span><span·class="p"·data-group-id="5927556015-7">#{</span><span·class="ss">myarg</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;str&quot;</span><span·class="p"·data-group-id="5927556015-7">}</span><span·class="w">
  
647 </span><span·class="c1">%%·Option·value·can·be·concatenated·with·the·switch:·&quot;-astr&quot;</span><span·class="gp·unselectable">647 </span><span·class="c1">%%·Option·value·can·be·concatenated·with·the·switch:·&quot;-astr&quot;</span><span·class="gp·unselectable">
648 3&gt;·</span><span·class="p"·data-group-id="0997718085-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·538,·SHA:·f495aae6965e27e4f81a978d350364cef59d188b27d94f94a48736311516ca7b·...·]5-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">648 3&gt;·</span><span·class="p"·data-group-id="5927556015-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·538,·SHA:·f56ad5f0511280258067861d050dfc2d02408c92ed6262db198009bbc6763235·...·]5-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">
  
649 </span><span·class="p"·data-group-id="0997718085-11">#{</span><span·class="ss">myarg</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;str&quot;</span><span·class="p"·data-group-id="0997718085-11">}</span></code></pre><p>By·default·all·options·expect·a·single·value·following·the·option·switch.·The649 </span><span·class="p"·data-group-id="5927556015-11">#{</span><span·class="ss">myarg</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;str&quot;</span><span·class="p"·data-group-id="5927556015-11">}</span></code></pre><p>By·default·all·options·expect·a·single·value·following·the·option·switch.·The
650 only·exception·is·an·option·of·a·boolean·type.</p></li><li><p><strong><code·class="inline">long</code></strong>·-·Defines·a·long·form·of·an·optional·argument.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7158363148-1">#{</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7158363148-2">[</span><span·class="p"·data-group-id="7158363148-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·453,·SHA:·4a74b745e93f035efbb4f6b9c0ac3d3899a672a7535dec8b179d7967e39b867c·...·]8-1">}</span><span·class="p">.</span><span·class="w">650 only·exception·is·an·option·of·a·boolean·type.</p></li><li><p><strong><code·class="inline">long</code></strong>·-·Defines·a·long·form·of·an·optional·argument.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3830464568-1">#{</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3830464568-2">[</span><span·class="p"·data-group-id="3830464568-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·453,·SHA:·dddb9acf458a8ddf86b45505799661669b385f2099720968c59fb94aeaaa8b82·...·]8-1">}</span><span·class="p">.</span><span·class="w">
651 </span><span·class="c1">%%·Parse·command·line·&quot;-name·Erlang&quot;:</span><span·class="gp·unselectable">651 </span><span·class="c1">%%·Parse·command·line·&quot;-name·Erlang&quot;:</span><span·class="gp·unselectable">
652 2&gt;·</span><span·class="p"·data-group-id="7158363148-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·625,·SHA:·5bdb9930f21581b354839b18a2607dc209ee8cacf7938a9b5ba911a15df9560f·...·]8-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">652 2&gt;·</span><span·class="p"·data-group-id="3830464568-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·625,·SHA:·2544dd0f0b3a5fbf06f9588e2a6f75d953835a4784439236c3ccaedf54c0b56b·...·]8-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">
  
653 </span><span·class="p"·data-group-id="7158363148-7">#{</span><span·class="ss">myarg</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;Erlang&quot;</span><span·class="p"·data-group-id="7158363148-7">}</span><span·class="w">653 </span><span·class="p"·data-group-id="3830464568-7">#{</span><span·class="ss">myarg</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;Erlang&quot;</span><span·class="p"·data-group-id="3830464568-7">}</span><span·class="w">
654 </span><span·class="c1">%%·Or·use·&quot;=&quot;·to·separate·the·switch·and·the·value:</span><span·class="gp·unselectable">654 </span><span·class="c1">%%·Or·use·&quot;=&quot;·to·separate·the·switch·and·the·value:</span><span·class="gp·unselectable">
655 3&gt;·</span><span·class="p"·data-group-id="7158363148-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·545,·SHA:·196195acacf3d1f121b74a88058c53ea23a87a06f7896f574c5ec18623c0aeef·...·]8-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">655 3&gt;·</span><span·class="p"·data-group-id="3830464568-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·545,·SHA:·996e30ce413c890a054374997bbdf651bc2382d9c8dcdb9f6fcf615facca9643·...·]8-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArgMap</span><span·class="p">.</span><span·class="w">
  
656 </span><span·class="p"·data-group-id="7158363148-11">#{</span><span·class="ss">myarg</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;Erlang&quot;</span><span·class="p"·data-group-id="7158363148-11">}</span></code></pre><p>If·neither·<code·class="inline">short</code>·not·<code·class="inline">long</code>·is·defined,·the·argument·is·treated·as656 </span><span·class="p"·data-group-id="3830464568-11">#{</span><span·class="ss">myarg</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;Erlang&quot;</span><span·class="p"·data-group-id="3830464568-11">}</span></code></pre><p>If·neither·<code·class="inline">short</code>·not·<code·class="inline">long</code>·is·defined,·the·argument·is·treated·as
657 positional.</p></li><li><p><strong><code·class="inline">required</code></strong>·-·Forces·the·parser·to·expect·the·argument·to·be·present·in·the657 positional.</p></li><li><p><strong><code·class="inline">required</code></strong>·-·Forces·the·parser·to·expect·the·argument·to·be·present·in·the
658 command·line.·By·default,·all·positional·argument·are·required,·and·all658 command·line.·By·default,·all·positional·argument·are·required,·and·all
659 options·are·not.</p></li><li><p><strong><code·class="inline">default</code></strong>·-·Specifies·the·default·value·to·put·in·the·parsed·argument·map659 options·are·not.</p></li><li><p><strong><code·class="inline">default</code></strong>·-·Specifies·the·default·value·to·put·in·the·parsed·argument·map
660 if·the·value·is·not·supplied·in·the·command·line.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="5848916389-1">(</span><span·class="p"·data-group-id="5848916389-2">[</span><span·class="p"·data-group-id="5848916389-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5848916389-3">#{</span><span·class="ss">arguments[·...·truncated·by·diffoscope;·len:·702,·SHA:·90eaafee5b0c8d90dcc8bb6fc5ea42f5695f29f572cac9dc6d0a5ca8eff45250·...·]-1">)</span><span·class="p">.</span><span·class="w">660 if·the·value·is·not·supplied·in·the·command·line.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="1830336090-1">(</span><span·class="p"·data-group-id="1830336090-2">[</span><span·class="p"·data-group-id="1830336090-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1830336090-3">#{</span><span·class="ss">arguments[·...·truncated·by·diffoscope;·len:·702,·SHA:·e75a68461a5da1bed6d6c8fc2af38f2d7dc1dcd57a25d0e4ee79a3e52c0a5093·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
661 </span><span·class="p"·data-group-id="5848916389-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5848916389-7">#{</span><span·class="p"·data-group-id="5848916389-7">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">661 </span><span·class="p"·data-group-id="1830336090-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1830336090-7">#{</span><span·class="p"·data-group-id="1830336090-7">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">
662 2&gt;·</span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="5848916389-8">(</span><span·class="p"·data-group-id="5848916389-9">[</span><span·class="p"·data-group-id="5848916389-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5848916389-10">#{</span><span·class="ss">argument[·...·truncated·by·diffoscope;·len:·901,·SHA:·af83172d50625ba46af8dcc39c8471bb99e1c7651780274ca2df88d4efc1e030·...·]-8">)</span><span·class="p">.</span><span·class="w">662 2&gt;·</span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="1830336090-8">(</span><span·class="p"·data-group-id="1830336090-9">[</span><span·class="p"·data-group-id="1830336090-9">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1830336090-10">#{</span><span·class="ss">argument[·...·truncated·by·diffoscope;·len:·901,·SHA:·7de878ea86541e69e5451ed3cda51c4bed213ed2b40a4ffb00770746154290d1·...·]-8">)</span><span·class="p">.</span><span·class="w">
  
663 </span><span·class="p"·data-group-id="5848916389-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5848916389-14">#{</span><span·class="ss">myarg</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;d[·...·truncated·by·diffoscope;·len:·56,·SHA:·c1a42abe1cbebb55082e3683745469ef7ceaa7bd352a353ac8011fc24d92eb05·...·]-14">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre></li><li><p><strong><code·class="inline">type</code></strong>·-·Defines·type·conversion·and·validation·routine.·The·default·is663 </span><span·class="p"·data-group-id="1830336090-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1830336090-14">#{</span><span·class="ss">myarg</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;d[·...·truncated·by·diffoscope;·len:·56,·SHA:·defe4b5e860431800ddcbd517b13cdd719fafdee72a71b18b49b17c780357e19·...·]-14">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre></li><li><p><strong><code·class="inline">type</code></strong>·-·Defines·type·conversion·and·validation·routine.·The·default·is
664 <code·class="inline">string</code>,·assuming·no·conversion.</p></li><li><p><strong><code·class="inline">nargs</code></strong>·-·Defines·the·number·of·following·arguments·to·consume·from·the664 <code·class="inline">string</code>,·assuming·no·conversion.</p></li><li><p><strong><code·class="inline">nargs</code></strong>·-·Defines·the·number·of·following·arguments·to·consume·from·the
665 command·line.·By·default,·the·parser·consumes·the·next·argument·and·converts665 command·line.·By·default,·the·parser·consumes·the·next·argument·and·converts
666 it·into·an·Erlang·term·according·to·the·specified·type.</p><ul><li><p><strong><a·href="../../../../erts-16.0/doc/html/erlang.html#t:pos_integer/0"><code·class="inline">pos_integer/0</code></a></strong>·-·Consume·exactly·this·number·of·positional·arguments,666 it·into·an·Erlang·term·according·to·the·specified·type.</p><ul><li><p><strong><a·href="../../../../erts-16.0/doc/html/erlang.html#t:pos_integer/0"><code·class="inline">pos_integer/0</code></a></strong>·-·Consume·exactly·this·number·of·positional·arguments,
667 fail·if·there·is·not·enough.·Value·in·the·argument·map·contains·a·list·of667 fail·if·there·is·not·enough.·Value·in·the·argument·map·contains·a·list·of
668 exactly·this·length.·Example,·defining·a·positional·argument·expecting·3668 exactly·this·length.·Example,·defining·a·positional·argument·expecting·3
669 integer·values:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="5497758888-1">#{</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5497758888-2">[</span><span·class="p"·data-group-id="5497758888-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·621,·SHA:·9ceb0348f68cfe8e9207e6eb86bdb793d680c16c3026a937e45c2c5fe8298509·...·]88-1">}</span><span·class="p">,</span><span·class="w">669 integer·values:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0010575288-1">#{</span><span·class="ss">arguments</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="0010575288-2">[</span><span·class="p"·data-group-id="0010575288-3">#{</span><span·class="ss">[·...·truncated·by·diffoscope;·len:·621,·SHA:·45910df7eccbbc5144c211f4ca394ad172edb3c235fb8b6e5cbb9d885bd42d39·...·]88-1">}</span><span·class="p">,</span><span·class="w">
670 </span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="5497758888-4">(</span><span·class="p"·data-group-id="5497758888-5">[</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·189,·SHA:·07f90cdf5787bc0e7cee2ecb145a733453614447b3048eab5904c0beaace4598·...·]88-4">)</span><span·class="p">.</span><span·class="w">670 </span><span·class="nc">argparse</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="0010575288-4">(</span><span·class="p"·data-group-id="0010575288-5">[</span><span·class="s">&quot;1&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;2&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·189,·SHA:·216b38c039f853ab8e90c562de1d43eaf41038546bcc68688523a0fc8311a2ed·...·]88-4">)</span><span·class="p">.</span><span·class="w">
  
Max diff block lines reached; 69075/128704 bytes (53.67%) of diff not shown.
679 B
html2text {}
Max HTML report size reached
26.5 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/array.html
    
Offset 132, 22 lines modifiedOffset 132, 22 lines modified
132 is·used·for·entries·that·have·not·been·explicitly·set.</p><p>Arrays·uses·<em>zero</em>-based·indexing.·This·is·a·deliberate·design·choice·and132 is·used·for·entries·that·have·not·been·explicitly·set.</p><p>Arrays·uses·<em>zero</em>-based·indexing.·This·is·a·deliberate·design·choice·and
133 differs·from·other·Erlang·data·structures,·for·example,·tuples.</p><p>Unless·specified·by·the·user·when·the·array·is·created,·the·default·value·is·the133 differs·from·other·Erlang·data·structures,·for·example,·tuples.</p><p>Unless·specified·by·the·user·when·the·array·is·created,·the·default·value·is·the
134 atom·<code·class="inline">undefined</code>.·There·is·no·difference·between·an·unset·entry·and·an·entry134 atom·<code·class="inline">undefined</code>.·There·is·no·difference·between·an·unset·entry·and·an·entry
135 that·has·been·explicitly·set·to·the·same·value·as·the·default·one·(compare135 that·has·been·explicitly·set·to·the·same·value·as·the·default·one·(compare
136 <a·href="#reset/2"><code·class="inline">reset/2</code></a>).·If·you·need·to·differentiate·between·unset·and·set·entries,·ensure136 <a·href="#reset/2"><code·class="inline">reset/2</code></a>).·If·you·need·to·differentiate·between·unset·and·set·entries,·ensure
137 that·the·default·value·cannot·be·confused·with·the·values·of·set·entries.</p><p>The·array·never·shrinks·automatically.·If·an·index·<code·class="inline">I</code>·has·been·used·to·set·an137 that·the·default·value·cannot·be·confused·with·the·values·of·set·entries.</p><p>The·array·never·shrinks·automatically.·If·an·index·<code·class="inline">I</code>·has·been·used·to·set·an
138 entry·successfully,·all·indices·in·the·range·<code·class="inline">[0,I]</code>·stay·accessible·unless·the138 entry·successfully,·all·indices·in·the·range·<code·class="inline">[0,I]</code>·stay·accessible·unless·the
139 array·size·is·explicitly·changed·by·calling·<a·href="#resize/2"><code·class="inline">resize/2</code></a>.</p><p><em>Examples:</em></p><p>Create·a·fixed-size·array·with·entries·0-9·set·to·<code·class="inline">undefined</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">A0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="0818199927-1">(</span><span·class="mi">10</span><span·class="p"·data-group-id="0818199927-1">)</span><span·class="p">.</span><span·class="w">139 array·size·is·explicitly·changed·by·calling·<a·href="#resize/2"><code·class="inline">resize/2</code></a>.</p><p><em>Examples:</em></p><p>Create·a·fixed-size·array·with·entries·0-9·set·to·<code·class="inline">undefined</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">A0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="6278649008-1">(</span><span·class="mi">10</span><span·class="p"·data-group-id="6278649008-1">)</span><span·class="p">.</span><span·class="w">
140 </span><span·class="mi">10</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">size</span><span·class="p"·data-group-id="0818199927-2">(</span><span·class="n">A0</span><span·class="p"·data-group-id="0818199927-2">)</span><span·class="p">.</span></code></pre><p>Create·an·extendible·array·and·set·entry·17·to·<code·class="inline">true</code>,·causing·the·array·to·grow140 </span><span·class="mi">10</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">size</span><span·class="p"·data-group-id="6278649008-2">(</span><span·class="n">A0</span><span·class="p"·data-group-id="6278649008-2">)</span><span·class="p">.</span></code></pre><p>Create·an·extendible·array·and·set·entry·17·to·<code·class="inline">true</code>,·causing·the·array·to·grow
141 automatically:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">A1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">set</span><span·class="p"·data-group-id="4200449383-1">(</span><span·class="mi">17</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">new</span><spa[·...·truncated·by·diffoscope;·len:·143,·SHA:·41a647eeb4ad6155dab107b44dd36176386f434b077538adbdcf812e705bcb40·...·]-1">)</span><span·class="p">.</span><span·class="w">141 automatically:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">A1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">set</span><span·class="p"·data-group-id="5061617898-1">(</span><span·class="mi">17</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">new</span><spa[·...·truncated·by·diffoscope;·len:·143,·SHA:·369eb49eaaccde8b44c1e6e543708f0cf23ec9f23c9509b6e3e456687967d0c1·...·]-1">)</span><span·class="p">.</span><span·class="w">
142 </span><span·class="mi">18</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">size</span><span·class="p"·data-group-id="4200449383-3">(</span><span·class="n">A1</span><span·class="p"·data-group-id="4200449383-3">)</span><span·class="p">.</span></code></pre><p>Read·back·a·stored·value:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">true</span><span·class[·...·truncated·by·diffoscope;·len:·862,·SHA:·aac872fa1b3662cd4205519e136828f80299e3ea046f083f5bc9054bdc631bfa·...·]-1">)</span></code></pre><p>Accessing·an·entry·beyond·the·last·set·entry·also·returns·the·default·value,·if142 </span><span·class="mi">18</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">size</span><span·class="p"·data-group-id="5061617898-3">(</span><span·class="n">A1</span><span·class="p"·data-group-id="5061617898-3">)</span><span·class="p">.</span></code></pre><p>Read·back·a·stored·value:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">true</span><span·class[·...·truncated·by·diffoscope;·len:·862,·SHA:·e5705ef6e95851d5da086b45b49e29be656ec2690517e4216bd936f347d93995·...·]-1">)</span></code></pre><p>Accessing·an·entry·beyond·the·last·set·entry·also·returns·the·default·value,·if
143 the·array·does·not·have·fixed·size:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">undefined</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="9349206280-1">(</span><span·class="mi">18</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A1</span><span·class="p"·data-group-id="9349206280-1">)</span><span·class="p">.</span></code></pre><p>&quot;Sparse&quot;·functions·ignore·defaul[·...·truncated·by·diffoscope;·len:·515,·SHA:·778784c89ce2bb33e67fbee40e04c12dadffa736ef9863d10043f4de1b9f4990·...·]-1">)</span><span·class="p">.</span><span·class="w">143 the·array·does·not·have·fixed·size:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">undefined</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="6975259832-1">(</span><span·class="mi">18</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A1</span><span·class="p"·data-group-id="6975259832-1">)</span><span·class="p">.</span></code></pre><p>&quot;Sparse&quot;·functions·ignore·defaul[·...·truncated·by·diffoscope;·len:·515,·SHA:·32640fc8726849633e8cb975823f22dd9630dc4b4584c6e11a88519a0220006e·...·]-1">)</span><span·class="p">.</span><span·class="w">
144 </span><span·class="p"·data-group-id="2835497456-2">[</span><span·class="p"·data-group-id="2835497456-3">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="2835497456-3">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2835497456-4">{</span><span·class="mi">17</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="2835497456-4">}</span><span·class="p"·data-group-id="2835497456-2">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">sparse_to_orddict</span><span·class="p"·data-group-id="2835497456-5">(</span><span·class="n">A2</span><span·class="p"·data-group-id="2835497456-5">)</span><span·class="p">.</span></code></pre><p>An·extendible·array·can·be·made·fixed-size·later:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">A3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">fix</span><span·class="p"·data-group-id="1140130062-1">(</span><span·class="n">A2</span><span·class="p"·data-group-id="1140130062-1">)</span><span·class="p">.</span></code></pre><p>A·fixed-size·array·does·not·grow·automatically·and·does·not·allow·accesses 
145 beyond·the·last·set·entry:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5590761976-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="5590761976-2">{</span><span·clas[·...·truncated·by·diffoscope;·len:·805,·SHA:·12db7234d9d68a7c31ac7e4aa77bc124971fc14391936da45c34324227beb558·...·]144 </span><span·class="p"·data-group-id="9088082921-2">[</span><span·class="p"·data-group-id="9088082921-3">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="9088082921[·...·truncated·by·diffoscope;·len:·1181,·SHA:·43e5d52c9768ee28e0de0e058e381c6f4ec9954353bdc212c63a6e4e612b85e5·...·]
 145 beyond·the·last·set·entry:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9191439562-1">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="9191439562-2">{</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="9191439562-2">}</span><span·class="p"·data-group-id="9191439562-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="9191439562-3">(</span><span·class="k">catch</span><span·class="w">·</span><span·class="nc">array</span><span·class="p">:</span><span·class="nf">set</span><span·class="p"·data-group-id="9191439562-4">(</span><span·class="mi">18</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A3</span><span·class="p"·data-group-id="9191439562-4">)</span><span·class="p"·data-group-id="9191439562-3">)</span><span·class="p">.</span><span·class="w">
146 </span><span·class="p"·data-group-id="5590761976-5">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="5590761976-6">{</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="5590761976[·...·truncated·by·diffoscope;·len:·568,·SHA:·a6b00fb0ec032438c452f76d78ed68dbdb15ddc6d7b7b63bd97f87074a3a024c·...·]-7">)</span><span·class="p">.</span></code></pre>146 </span><span·class="p"·data-group-id="9191439562-5">{</span><span·class="ss">&#39;EXIT&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="9191439562-6">{</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="9191439562[·...·truncated·by·diffoscope;·len:·568,·SHA:·7668de5e5dae3336bd3e5ad4fa37c7634b03958daeeb31f6ed15dd48c9f449ce·...·]-7">)</span><span·class="p">.</span></code></pre>
147 ····</section>147 ····</section>
  
148 </div>148 </div>
  
149 ··<section·id="summary"·class="details-list">149 ··<section·id="summary"·class="details-list">
150 ····<h1·class="section-heading">150 ····<h1·class="section-heading">
151 ······<a·class="hover-link"·href="#summary">151 ······<a·class="hover-link"·href="#summary">
Offset 1138, 15 lines modifiedOffset 1138, 15 lines modified
1138 ······</div>1138 ······</div>
  
1139 <p>Creates·a·new·array·according·to·the·specified·options.·By·default,·the·array·is1139 <p>Creates·a·new·array·according·to·the·specified·options.·By·default,·the·array·is
1140 extendible·and·has·initial·size·zero.·Array·indices·start·at·<code·class="inline">0</code>.</p><p><code·class="inline">Options</code>·is·a·single·term·or·a·list·of·terms,·selected·from·the·following:</p><ul><li><p><strong><code·class="inline">N::integer()·&gt;=·0</code>·or·<code·class="inline">{size,·N::integer()·&gt;=·0}</code></strong>·-·Specifies·the·initial1140 extendible·and·has·initial·size·zero.·Array·indices·start·at·<code·class="inline">0</code>.</p><p><code·class="inline">Options</code>·is·a·single·term·or·a·list·of·terms,·selected·from·the·following:</p><ul><li><p><strong><code·class="inline">N::integer()·&gt;=·0</code>·or·<code·class="inline">{size,·N::integer()·&gt;=·0}</code></strong>·-·Specifies·the·initial
1141 array·size;·this·also·implies·<code·class="inline">{fixed,·true}</code>.·If·<code·class="inline">N</code>·is·not·a·non-negative1141 array·size;·this·also·implies·<code·class="inline">{fixed,·true}</code>.·If·<code·class="inline">N</code>·is·not·a·non-negative
1142 integer,·the·call·fails·with·reason·<code·class="inline">badarg</code>.</p></li><li><p><strong><code·class="inline">fixed</code>·or·<code·class="inline">{fixed,·true}</code></strong>·-·Creates·a·fixed-size·array.·See·also·<a·href="#fix/1"><code·class="inline">fix/1</code></a>.</p></li><li><p><strong><code·class="inline">{fixed,·false}</code></strong>·-·Creates·an·extendible·(non-fixed-size)·array.</p></li><li><p><strong><code·class="inline">{default,·Value}</code></strong>·-·Sets·the·default·value·for·the·array·to·<code·class="inline">Value</code>.</p></li></ul><p>Options·are·processed·in·the·order·they·occur·in·the·list,·that·is,·later1142 integer,·the·call·fails·with·reason·<code·class="inline">badarg</code>.</p></li><li><p><strong><code·class="inline">fixed</code>·or·<code·class="inline">{fixed,·true}</code></strong>·-·Creates·a·fixed-size·array.·See·also·<a·href="#fix/1"><code·class="inline">fix/1</code></a>.</p></li><li><p><strong><code·class="inline">{fixed,·false}</code></strong>·-·Creates·an·extendible·(non-fixed-size)·array.</p></li><li><p><strong><code·class="inline">{default,·Value}</code></strong>·-·Sets·the·default·value·for·the·array·to·<code·class="inline">Value</code>.</p></li></ul><p>Options·are·processed·in·the·order·they·occur·in·the·list,·that·is,·later
1143 options·have·higher·precedence.</p><p>The·default·value·is·used·as·the·value·of·uninitialized·entries,·and·cannot·be1143 options·have·higher·precedence.</p><p>The·default·value·is·used·as·the·value·of·uninitialized·entries,·and·cannot·be
1144 changed·once·the·array·has·been·created.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">array</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="6069493223-1">(</span><span·class="mi">100</span><span·class="p"·data-group-id="6069493223-1">)</span></code></pre><p>creates·a·fixed-size·array·of·size·100.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">array</span><span·class="p">:<[·...·truncated·by·diffoscope;·len:·1391,·SHA:·a826e62e0f2f52e74c885f26c76df9fe152e6f1bd37496b18fbf74e3d414cdaf·...·]-1">)</span></code></pre><p>creates·an·extendible·array·with·initial·size·10·whose·default·value·is·<code·class="inline">-1</code>.</p><p>See·also·<a·href="#fix/1"><code·class="inline">fix/1</code></a>,·<a·href="#from_list/2"><code·class="inline">from_list/2</code></a>,·<a·href="#get/2"><code·class="inline">get/2</code></a>,·<a·href="#new/0"><code·class="inline">new/0</code></a>,·<a·href="#new/2"><code·class="inline">new/2</code></a>,·<a·href="#set/3"><code·class="inline">set/3</code></a>.</p>1144 changed·once·the·array·has·been·created.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">array</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="9411126609-1">(</span><span·class="mi">100</span><span·class="p"·data-group-id="9411126609-1">)</span></code></pre><p>creates·a·fixed-size·array·of·size·100.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">array</span><span·class="p">:<[·...·truncated·by·diffoscope;·len:·1391,·SHA:·d762d17d9ee1f0e6ab250e49be95552b22cce5b629d7e5b6e1c4cf3acfd035e0·...·]-1">)</span></code></pre><p>creates·an·extendible·array·with·initial·size·10·whose·default·value·is·<code·class="inline">-1</code>.</p><p>See·also·<a·href="#fix/1"><code·class="inline">fix/1</code></a>,·<a·href="#from_list/2"><code·class="inline">from_list/2</code></a>,·<a·href="#get/2"><code·class="inline">get/2</code></a>,·<a·href="#new/0"><code·class="inline">new/0</code></a>,·<a·href="#new/2"><code·class="inline">new/2</code></a>,·<a·href="#set/3"><code·class="inline">set/3</code></a>.</p>
1145 ··</section>1145 ··</section>
1146 </section>1146 </section>
1147 <section·class="detail"·id="new/2">1147 <section·class="detail"·id="new/2">
  
1148 ··<div·class="detail-header">1148 ··<div·class="detail-header">
1149 ····<a·href="#new/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1149 ····<a·href="#new/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1150 ······<i·class="ri-link-m"·aria-hidden="true"></i>1150 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1169, 15 lines modifiedOffset 1169, 15 lines modified
1169 ······</div>1169 ······</div>
  
1170 <p>Creates·a·new·array·according·to·the·specified·size·and·options.</p><p>If·<code·class="inline">Size</code>·is·not·a·non-negative·integer,·the·call·fails·with·reason·<code·class="inline">badarg</code>.1170 <p>Creates·a·new·array·according·to·the·specified·size·and·options.</p><p>If·<code·class="inline">Size</code>·is·not·a·non-negative·integer,·the·call·fails·with·reason·<code·class="inline">badarg</code>.
1171 By·default,·the·array·has·fixed·size.·Notice·that·any·size·specifications·in1171 By·default,·the·array·has·fixed·size.·Notice·that·any·size·specifications·in
1172 <code·class="inline">Options</code>·override·parameter·<code·class="inline">Size</code>.</p><p>If·<code·class="inline">Options</code>·is·a·list,·this·is·equivalent·to1172 <code·class="inline">Options</code>·override·parameter·<code·class="inline">Size</code>.</p><p>If·<code·class="inline">Options</code>·is·a·list,·this·is·equivalent·to
1173 <a·href="#new/1"><code·class="inline">new([{size,·Size}·|·Options])</code></a>,·otherwise·it·is·equivalent·to1173 <a·href="#new/1"><code·class="inline">new([{size,·Size}·|·Options])</code></a>,·otherwise·it·is·equivalent·to
1174 <a·href="#new/1"><code·class="inline">new([{size,·Size}·|·[Options]])</code></a>.·However,·using·this·function1174 <a·href="#new/1"><code·class="inline">new([{size,·Size}·|·[Options]])</code></a>.·However,·using·this·function
1175 directly·is·more·efficient.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">array</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="4934737086-1">(</span><span·class="mi">100</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4934737086-2">{</span><span·class="ss">default</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·c00d74f815c29f8031d08bc48ab61257c1d5e876d8da2ac7f118fc06190b30a9·...·]-1">)</span></code></pre><p>creates·a·fixed-size·array·of·size·100,·whose·default·value·is·<code·class="inline">0</code>.</p><p>See·also·<a·href="#new/1"><code·class="inline">new/1</code></a>.</p>1175 directly·is·more·efficient.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">array</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="6141945095-1">(</span><span·class="mi">100</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6141945095-2">{</span><span·class="ss">default</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·68,·SHA:·eaffac0c42725a53ce21c7a3adf33ecb14fa0bbdf1d81b1b261e636dbdbbf6fa·...·]-1">)</span></code></pre><p>creates·a·fixed-size·array·of·size·100,·whose·default·value·is·<code·class="inline">0</code>.</p><p>See·also·<a·href="#new/1"><code·class="inline">new/1</code></a>.</p>
1176 ··</section>1176 ··</section>
1177 </section>1177 </section>
1178 <section·class="detail"·id="relax/1">1178 <section·class="detail"·id="relax/1">
  
1179 ··<div·class="detail-header">1179 ··<div·class="detail-header">
1180 ····<a·href="#relax/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1180 ····<a·href="#relax/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1181 ······<i·class="ri-link-m"·aria-hidden="true"></i>1181 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1583, 15 lines modifiedOffset 1583, 15 lines modified
1583 ······<p·class="built-using">1583 ······<p·class="built-using">
1584 ········Built·using1584 ········Built·using
1585 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1585 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1586 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1586 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1587 ······</p>1587 ······</p>
1588 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1588 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1589 ····</footer>1589 ····</footer>
1590 ··</div>1590 ··</div>
1591 </main>1591 </main>
1592 </div>1592 </div>
1593 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1593 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1594 ··<script>1594 ··<script>
1595 ··let·initialized·=·false;1595 ··let·initialized·=·false;
830 B
html2text {}
Max HTML report size reached
8.62 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/assert_hrl.html
    
Offset 128, 15 lines modifiedOffset 128, 15 lines modified
128 <p>Assert·macros.</p><h2·id="description"·class="section-heading">128 <p>Assert·macros.</p><h2·id="description"·class="section-heading">
129 ··<a·href="#description"·class="hover-link">129 ··<a·href="#description"·class="hover-link">
130 ····<i·class="ri-link-m"·aria-hidden="true"></i>130 ····<i·class="ri-link-m"·aria-hidden="true"></i>
131 ··</a>131 ··</a>
132 ··<span·class="text">Description</span>132 ··<span·class="text">Description</span>
133 </h2>133 </h2>
134 <p>The·include·file·<code·class="inline">assert.hrl</code>·provides·macros·for·inserting·assertions·in·your134 <p>The·include·file·<code·class="inline">assert.hrl</code>·provides·macros·for·inserting·assertions·in·your
135 program·code.</p><p>Include·the·following·directive·in·the·module·from·which·the·function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="7967466917-1">(</span><span·class="s">&quot;stdlib/include/assert.hrl&quot;</span><span·class="p"·data-group-id="7967466917-1">)</span><span·class="p">.</span></code></pre><p>When·an·assertion·succeeds,·the·assert·macro·yields·the·atom·<code·class="inline">ok</code>.·When·an135 program·code.</p><p>Include·the·following·directive·in·the·module·from·which·the·function·is·called:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="0454683636-1">(</span><span·class="s">&quot;stdlib/include/assert.hrl&quot;</span><span·class="p"·data-group-id="0454683636-1">)</span><span·class="p">.</span></code></pre><p>When·an·assertion·succeeds,·the·assert·macro·yields·the·atom·<code·class="inline">ok</code>.·When·an
136 assertion·fails,·an·exception·of·type·<code·class="inline">error</code>·is·generated.·The·associated·error136 assertion·fails,·an·exception·of·type·<code·class="inline">error</code>·is·generated.·The·associated·error
137 term·has·the·form·<code·class="inline">{Macro,·Info}</code>.·<code·class="inline">Macro</code>·is·the·macro·name,·for·example,137 term·has·the·form·<code·class="inline">{Macro,·Info}</code>.·<code·class="inline">Macro</code>·is·the·macro·name,·for·example,
138 <code·class="inline">assertEqual</code>.·<code·class="inline">Info</code>·is·a·list·of·tagged·values,·such·as138 <code·class="inline">assertEqual</code>.·<code·class="inline">Info</code>·is·a·list·of·tagged·values,·such·as
139 <code·class="inline">[{module,·M},·{line,·L},·...]</code>,·which·gives·more·information·about·the·location139 <code·class="inline">[{module,·M},·{line,·L},·...]</code>,·which·gives·more·information·about·the·location
140 and·cause·of·the·exception.·All·entries·in·the·<code·class="inline">Info</code>·list·are·optional;·do·not140 and·cause·of·the·exception.·All·entries·in·the·<code·class="inline">Info</code>·list·are·optional;·do·not
141 rely·programmatically·on·any·of·them·being·present.</p><p>Each·assert·macro·has·a·corresponding·version·with·an·extra·argument,·for·adding141 rely·programmatically·on·any·of·them·being·present.</p><p>Each·assert·macro·has·a·corresponding·version·with·an·extra·argument,·for·adding
142 comments·to·assertions.·These·can·for·example·be·printed·as·part·of·error142 comments·to·assertions.·These·can·for·example·be·printed·as·part·of·error
Offset 156, 15 lines modifiedOffset 156, 15 lines modified
156 ····<i·class="ri-link-m"·aria-hidden="true"></i>156 ····<i·class="ri-link-m"·aria-hidden="true"></i>
157 ··</a>157 ··</a>
158 ··<span·class="text">Macros</span>158 ··<span·class="text">Macros</span>
159 </h2>159 </h2>
160 <ul><li><p><strong><code·class="inline">assert(BoolExpr)</code></strong></p></li><li><p><strong><code·class="inline">assert(BoolExpr,·Comment)</code></strong>·-·Tests·that·<code·class="inline">BoolExpr</code>·completes·normally160 <ul><li><p><strong><code·class="inline">assert(BoolExpr)</code></strong></p></li><li><p><strong><code·class="inline">assert(BoolExpr,·Comment)</code></strong>·-·Tests·that·<code·class="inline">BoolExpr</code>·completes·normally
161 returning·<code·class="inline">true</code>.</p></li><li><p><strong><code·class="inline">assertNot(BoolExpr)</code></strong></p></li><li><p><strong><code·class="inline">assertNot(BoolExpr,·Comment)</code></strong>·-·Tests·that·<code·class="inline">BoolExpr</code>·completes·normally161 returning·<code·class="inline">true</code>.</p></li><li><p><strong><code·class="inline">assertNot(BoolExpr)</code></strong></p></li><li><p><strong><code·class="inline">assertNot(BoolExpr,·Comment)</code></strong>·-·Tests·that·<code·class="inline">BoolExpr</code>·completes·normally
162 returning·<code·class="inline">false</code>.</p></li><li><p><strong><code·class="inline">assertMatch(GuardedPattern,·Expr)</code></strong></p></li><li><p><strong><code·class="inline">assertMatch(GuardedPattern,·Expr,·Comment)</code></strong>·-·Tests·that·<code·class="inline">Expr</code>·completes162 returning·<code·class="inline">false</code>.</p></li><li><p><strong><code·class="inline">assertMatch(GuardedPattern,·Expr)</code></strong></p></li><li><p><strong><code·class="inline">assertMatch(GuardedPattern,·Expr,·Comment)</code></strong>·-·Tests·that·<code·class="inline">Expr</code>·completes
163 normally·yielding·a·value·that·matches·<code·class="inline">GuardedPattern</code>,·for·example:</p><pre><code·class="text">?assertMatch({bork,·_},·f())</code></pre><p>Notice·that·a·guard·<code·class="inline">when·...</code>·can·be·included:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="nf">assertMatch</span><span·class="p"·data-group-id="9247099266-1">(</span><span·class="p"·data-group-id="9247099266-2">{</span><span·class="ss">bork</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="9247099266-2">}</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·391,·SHA:·57b15f9525cfef9de028f7b9d0c0d9c653e1413cd203829281768afbe8409f4d·...·]-1">)</span></code></pre></li><li><p><strong><code·class="inline">assertNotMatch(GuardedPattern,·Expr)</code></strong></p></li><li><p><strong><code·class="inline">assertNotMatch(GuardedPattern,·Expr,·Comment)</code></strong>·-·Tests·that·<code·class="inline">Expr</code>163 normally·yielding·a·value·that·matches·<code·class="inline">GuardedPattern</code>,·for·example:</p><pre><code·class="text">?assertMatch({bork,·_},·f())</code></pre><p>Notice·that·a·guard·<code·class="inline">when·...</code>·can·be·included:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="nf">assertMatch</span><span·class="p"·data-group-id="5750263060-1">(</span><span·class="p"·data-group-id="5750263060-2">{</span><span·class="ss">bork</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p"·data-group-id="5750263060-2">}</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·391,·SHA:·ced5a85d34098fe4d157579a57c6361aab63b10686fa291c2ffe6abe4c85a40a·...·]-1">)</span></code></pre></li><li><p><strong><code·class="inline">assertNotMatch(GuardedPattern,·Expr)</code></strong></p></li><li><p><strong><code·class="inline">assertNotMatch(GuardedPattern,·Expr,·Comment)</code></strong>·-·Tests·that·<code·class="inline">Expr</code>
164 completes·normally·yielding·a·value·that·does·not·match·<code·class="inline">GuardedPattern</code>.</p><p>As·in·<code·class="inline">assertMatch</code>,·<code·class="inline">GuardedPattern</code>·can·have·a·<code·class="inline">when</code>·part.</p></li><li><p><strong><code·class="inline">assertEqual(ExpectedValue,·Expr)</code></strong></p></li><li><p><strong><code·class="inline">assertEqual(ExpectedValue,·Expr,·Comment)</code></strong>·-·Tests·that·<code·class="inline">Expr</code>·completes164 completes·normally·yielding·a·value·that·does·not·match·<code·class="inline">GuardedPattern</code>.</p><p>As·in·<code·class="inline">assertMatch</code>,·<code·class="inline">GuardedPattern</code>·can·have·a·<code·class="inline">when</code>·part.</p></li><li><p><strong><code·class="inline">assertEqual(ExpectedValue,·Expr)</code></strong></p></li><li><p><strong><code·class="inline">assertEqual(ExpectedValue,·Expr,·Comment)</code></strong>·-·Tests·that·<code·class="inline">Expr</code>·completes
165 normally·yielding·a·value·that·is·exactly·equal·to·<code·class="inline">ExpectedValue</code>.</p></li><li><p><strong><code·class="inline">assertNotEqual(ExpectedValue,·Expr)</code></strong></p></li><li><p><strong><code·class="inline">assertNotEqual(ExpectedValue,·Expr,·Comment)</code></strong>·-·Tests·that·<code·class="inline">Expr</code>165 normally·yielding·a·value·that·is·exactly·equal·to·<code·class="inline">ExpectedValue</code>.</p></li><li><p><strong><code·class="inline">assertNotEqual(ExpectedValue,·Expr)</code></strong></p></li><li><p><strong><code·class="inline">assertNotEqual(ExpectedValue,·Expr,·Comment)</code></strong>·-·Tests·that·<code·class="inline">Expr</code>
166 completes·normally·yielding·a·value·that·is·not·exactly·equal·to166 completes·normally·yielding·a·value·that·is·not·exactly·equal·to
167 <code·class="inline">ExpectedValue</code>.</p></li><li><p><strong><code·class="inline">assertException(Class,·Term,·Expr)</code></strong></p></li><li><p><strong><code·class="inline">assertException(Class,·Term,·Expr,·Comment)</code></strong>·-·Tests·that·<code·class="inline">Expr</code>167 <code·class="inline">ExpectedValue</code>.</p></li><li><p><strong><code·class="inline">assertException(Class,·Term,·Expr)</code></strong></p></li><li><p><strong><code·class="inline">assertException(Class,·Term,·Expr,·Comment)</code></strong>·-·Tests·that·<code·class="inline">Expr</code>
168 completes·abnormally·with·an·exception·of·type·<code·class="inline">Class</code>·and·with·the·associated168 completes·abnormally·with·an·exception·of·type·<code·class="inline">Class</code>·and·with·the·associated
169 <code·class="inline">Term</code>.·The·assertion·fails·if·<code·class="inline">Expr</code>·raises·a·different·exception·or·if·it169 <code·class="inline">Term</code>.·The·assertion·fails·if·<code·class="inline">Expr</code>·raises·a·different·exception·or·if·it
170 completes·normally·returning·any·value.</p><p>Notice·that·both·<code·class="inline">Class</code>·and·<code·class="inline">Term</code>·can·be·guarded·patterns,·as·in170 completes·normally·returning·any·value.</p><p>Notice·that·both·<code·class="inline">Class</code>·and·<code·class="inline">Term</code>·can·be·guarded·patterns,·as·in
Offset 218, 15 lines modifiedOffset 218, 15 lines modified
218 ······<p·class="built-using">218 ······<p·class="built-using">
219 ········Built·using219 ········Built·using
220 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the220 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
221 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>221 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
222 ······</p>222 ······</p>
223 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>223 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
224 ····</footer>224 ····</footer>
225 ··</div>225 ··</div>
226 </main>226 </main>
227 </div>227 </div>
228 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>228 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
229 ··<script>229 ··<script>
230 ··let·initialized·=·false;230 ··let·initialized·=·false;
688 B
html2text {}
Max HTML report size reached
11.9 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/base64.html
    
Offset 649, 24 lines modifiedOffset 649, 24 lines modified
649 ····················Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>().</pre>649 ····················Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>().</pre>
  
650 ······</div>650 ······</div>
  
651 <p>Decodes·a·base64·string·encoded·using·the·standard·alphabet·according·to651 <p>Decodes·a·base64·string·encoded·using·the·standard·alphabet·according·to
652 <a·href="https://datatracker.ietf.org/doc/html/rfc4648#section-4">RFC·4648·Section·4</a>·to652 <a·href="https://datatracker.ietf.org/doc/html/rfc4648#section-4">RFC·4648·Section·4</a>·to
653 plain·ASCII.</p><p>The·function·will·strips·away·any·whitespace·characters·and·check·for·the653 plain·ASCII.</p><p>The·function·will·strips·away·any·whitespace·characters·and·check·for·the
654 the·correct·number·of·<code·class="inline">=</code>·padding·characters·at·the·end·of·the·encoded·string.</p><p>See·<a·href="#t:decode_options/0"><code·class="inline">decode_options/0</code></a>·for·details·on·which·options·can·be·passed.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">base64</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="7125006261-1">(</span><span·class="s">&quot;AQIDBA==&quot;</span><span·class="p"·data-group-id="7125006261-1">)</span><span·class="p">.</span><span·class="w">654 the·correct·number·of·<code·class="inline">=</code>·padding·characters·at·the·end·of·the·encoded·string.</p><p>See·<a·href="#t:decode_options/0"><code·class="inline">decode_options/0</code></a>·for·details·on·which·options·can·be·passed.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">base64</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="7461941310-1">(</span><span·class="s">&quot;AQIDBA==&quot;</span><span·class="p"·data-group-id="7461941310-1">)</span><span·class="p">.</span><span·class="w">
655 </span><span·class="p"·data-group-id="7125006261-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="7125006261-2">&gt;&gt;</span><span·class="gp·unselectable">655 </span><span·class="p"·data-group-id="7461941310-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="7461941310-2">&gt;&gt;</span><span·class="gp·unselectable">
656 2&gt;·</span><span·class="nc">base64</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="7125006261-3">(</span><span·class="s">&quot;AQ·ID·BA==&quot;</span><span·class="p"·data-group-id="7125006261-3">)</span><span·class="p">.</span><span·class="w">656 2&gt;·</span><span·class="nc">base64</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="7461941310-3">(</span><span·class="s">&quot;AQ·ID·BA==&quot;</span><span·class="p"·data-group-id="7461941310-3">)</span><span·class="p">.</span><span·class="w">
657 </span><span·class="p"·data-group-id="7125006261-4">&lt;&lt;</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="7125006261-4">&gt;&gt;</span><span·class="gp·unselectable">657 </span><span·class="p"·data-group-id="7461941310-4">&lt;&lt;</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="7461941310-4">&gt;&gt;</span><span·class="gp·unselectable">
658 3&gt;·</span><span·class="nc">base64</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="7125006261-5">(</span><span·class="s">&quot;AQIDBA=&quot;</span><span·class="p"·data-group-id="7125006261-5">)</span><span·class="p">.</span><span·class="w">658 3&gt;·</span><span·class="nc">base64</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="7461941310-5">(</span><span·class="s">&quot;AQIDBA=&quot;</span><span·class="p"·data-group-id="7461941310-5">)</span><span·class="p">.</span><span·class="w">
659 </span><span·class="gt">**·exception·error:·missing_padding659 </span><span·class="gt">**·exception·error:·missing_padding
660 ·····in·function··base64:decode_list/7·(base64.erl,·line·734)660 ·····in·function··base64:decode_list/7·(base64.erl,·line·734)
661 ········***·data·to·decode·is·missing·final·=·padding·characters,·if·this·is·intended,·use·the·`padding·=&gt;·false`·option</span><span·class="gp·unselectable">661 ········***·data·to·decode·is·missing·final·=·padding·characters,·if·this·is·intended,·use·the·`padding·=&gt;·false`·option</span><span·class="gp·unselectable">
662 4&gt;·</span><span·class="nc">base64</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="7125006261-6">(</span><span·class="s">&quot;AQIDBA=&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7125006261-7">#{</span><span·class="w">·</span><span·class="ss">padding</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·187,·SHA:·f3782ca8a3f7ed9fbd64341d06c718533a3426410c06be1bb4242d000895a141·...·]-6">)</span><span·class="p">.</span><span·class="w">662 4&gt;·</span><span·class="nc">base64</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="7461941310-6">(</span><span·class="s">&quot;AQIDBA=&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7461941310-7">#{</span><span·class="w">·</span><span·class="ss">padding</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·187,·SHA:·2b7a89b7984466411c51e5654970e73d7bff14173236855c15a1347ae3b0b666·...·]-6">)</span><span·class="p">.</span><span·class="w">
663 </span><span·class="p"·data-group-id="7125006261-8">&lt;&lt;</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="7125006261-8">&gt;&gt;</span></code></pre>663 </span><span·class="p"·data-group-id="7461941310-8">&lt;&lt;</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="7461941310-8">&gt;&gt;</span></code></pre>
664 ··</section>664 ··</section>
665 </section>665 </section>
666 <section·class="detail"·id="decode_to_string/1">666 <section·class="detail"·id="decode_to_string/1">
  
667 ··<div·class="detail-header">667 ··<div·class="detail-header">
668 ····<a·href="#decode_to_string/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">668 ····<a·href="#decode_to_string/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
669 ······<i·class="ri-link-m"·aria-hidden="true"></i>669 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 896, 18 lines modifiedOffset 896, 18 lines modified
896 ·························Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>().</pre>896 ·························Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>().</pre>
  
897 ······</div>897 ······</div>
  
898 <p>Decodes·a·base64·&quot;mime&quot;·string·encoded·using·the·standard·alphabet·according·to898 <p>Decodes·a·base64·&quot;mime&quot;·string·encoded·using·the·standard·alphabet·according·to
899 <a·href="https://datatracker.ietf.org/doc/html/rfc4648#section-4">RFC·4648·Section·4</a>·to899 <a·href="https://datatracker.ietf.org/doc/html/rfc4648#section-4">RFC·4648·Section·4</a>·to
900 plain·ASCII.</p><p>The·function·will·strips·away·any·illegal·characters.·It·does·<em>not</em>·check·for·the900 plain·ASCII.</p><p>The·function·will·strips·away·any·illegal·characters.·It·does·<em>not</em>·check·for·the
901 the·correct·number·of·<code·class="inline">=</code>·padding·characters·at·the·end·of·the·encoded·string.</p><p>See·<a·href="#t:decode_options/0"><code·class="inline">decode_options/0</code></a>·for·details·on·which·options·can·be·passed.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">base64</span><span·class="p">:</span><span·class="nf">mime_decode</span><span·class="p"·data-group-id="7534716460-1">(</span><span·class="s">&quot;AQIDBA==&quot;</span><span·class="p"·data-group-id="7534716460-1">)</span><span·class="p">.</span><span·class="w">901 the·correct·number·of·<code·class="inline">=</code>·padding·characters·at·the·end·of·the·encoded·string.</p><p>See·<a·href="#t:decode_options/0"><code·class="inline">decode_options/0</code></a>·for·details·on·which·options·can·be·passed.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">base64</span><span·class="p">:</span><span·class="nf">mime_decode</span><span·class="p"·data-group-id="0983402674-1">(</span><span·class="s">&quot;AQIDBA==&quot;</span><span·class="p"·data-group-id="0983402674-1">)</span><span·class="p">.</span><span·class="w">
902 </span><span·class="p"·data-group-id="7534716460-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="7534716460-2">&gt;&gt;</span><span·class="gp·unselectable">902 </span><span·class="p"·data-group-id="0983402674-2">&lt;&lt;</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="0983402674-2">&gt;&gt;</span><span·class="gp·unselectable">
903 2&gt;·</span><span·class="nc">base64</span><span·class="p">:</span><span·class="nf">mime_decode</span><span·class="p"·data-group-id="7534716460-3">(</span><span·class="s">&quot;AQIDB=A=&quot;</span><span·class="p"·data-group-id="7534716460-3">)</span><span·class="p">.</span><span·class="w">903 2&gt;·</span><span·class="nc">base64</span><span·class="p">:</span><span·class="nf">mime_decode</span><span·class="p"·data-group-id="0983402674-3">(</span><span·class="s">&quot;AQIDB=A=&quot;</span><span·class="p"·data-group-id="0983402674-3">)</span><span·class="p">.</span><span·class="w">
904 </span><span·class="p"·data-group-id="7534716460-4">&lt;&lt;</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="7534716460-4">&gt;&gt;</span></code></pre>904 </span><span·class="p"·data-group-id="0983402674-4">&lt;&lt;</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="0983402674-4">&gt;&gt;</span></code></pre>
905 ··</section>905 ··</section>
906 </section>906 </section>
907 <section·class="detail"·id="mime_decode_to_string/1">907 <section·class="detail"·id="mime_decode_to_string/1">
  
908 ··<div·class="detail-header">908 ··<div·class="detail-header">
909 ····<a·href="#mime_decode_to_string/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">909 ····<a·href="#mime_decode_to_string/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
910 ······<i·class="ri-link-m"·aria-hidden="true"></i>910 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 991, 15 lines modifiedOffset 991, 15 lines modified
991 ······<p·class="built-using">991 ······<p·class="built-using">
992 ········Built·using992 ········Built·using
993 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the993 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
994 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>994 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
995 ······</p>995 ······</p>
996 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>996 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
997 ····</footer>997 ····</footer>
998 ··</div>998 ··</div>
999 </main>999 </main>
1000 </div>1000 </div>
1001 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1001 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1002 ··<script>1002 ··<script>
1003 ··let·initialized·=·false;1003 ··let·initialized·=·false;
873 B
html2text {}
Max HTML report size reached
26.6 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/beam_lib.html
    
Offset 147, 16 lines modifiedOffset 147, 16 lines modified
147 <a·href="#strip_files/1"><code·class="inline">strip_files/1</code></a>,·and/or·<a·href="#strip_release/1"><code·class="inline">strip_release/1</code></a>.</p><h2·id="module-reconstruct-source-code"·class="section-heading">147 <a·href="#strip_files/1"><code·class="inline">strip_files/1</code></a>,·and/or·<a·href="#strip_release/1"><code·class="inline">strip_release/1</code></a>.</p><h2·id="module-reconstruct-source-code"·class="section-heading">
148 ··<a·href="#module-reconstruct-source-code"·class="hover-link">148 ··<a·href="#module-reconstruct-source-code"·class="hover-link">
149 ····<i·class="ri-link-m"·aria-hidden="true"></i>149 ····<i·class="ri-link-m"·aria-hidden="true"></i>
150 ··</a>150 ··</a>
151 ··<span·class="text">Reconstruct·Source·Code</span>151 ··<span·class="text">Reconstruct·Source·Code</span>
152 </h2>152 </h2>
153 <p>The·following·example·shows·how·to·reconstruct·Erlang·source·code·from·the·debug153 <p>The·following·example·shows·how·to·reconstruct·Erlang·source·code·from·the·debug
154 information·in·a·BEAM·file·<code·class="inline">Beam</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7168175344-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7168175344-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p"·data-group-id="7168175344-3">[</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·921,·SHA:·c2422b1e94dfe49a526eccec9053df016c1d5b67227df8e7d5aec920f42ce9a8·...·]-6">)</span><span·class="p">.</span><span·class="w">154 information·in·a·BEAM·file·<code·class="inline">Beam</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2374096171-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2374096171-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p"·data-group-id="2374096171-3">[</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·921,·SHA:·a099fa1c661112410db4e4319603a2acaa119a79e91497e9ad08d787654fad8d·...·]-6">)</span><span·class="p">.</span><span·class="w">
155 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">fwrite</span><span·class="p"·data-group-id="7168175344-8">(</span><span·class="s">&quot;</span><span·class="si">~s</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7168175344-9">[</span><span·class="nc">erl_pr[·...·truncated·by·diffoscope;·len:·493,·SHA:·32d32939c3bc013a920d0d2f5c980e2ff728b5123e4115ac67b5dd9e95039643·...·]-8">)</span><span·class="p">.</span></code></pre><h2·id="module-encrypted-debug-information"·class="section-heading">155 </span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">fwrite</span><span·class="p"·data-group-id="2374096171-8">(</span><span·class="s">&quot;</span><span·class="si">~s</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2374096171-9">[</span><span·class="nc">erl_pr[·...·truncated·by·diffoscope;·len:·493,·SHA:·ec2cabd117f7d184fc163c7e10d6cd28735a80561081132922795df4f055b8c9·...·]-8">)</span><span·class="p">.</span></code></pre><h2·id="module-encrypted-debug-information"·class="section-heading">
156 ··<a·href="#module-encrypted-debug-information"·class="hover-link">156 ··<a·href="#module-encrypted-debug-information"·class="hover-link">
157 ····<i·class="ri-link-m"·aria-hidden="true"></i>157 ····<i·class="ri-link-m"·aria-hidden="true"></i>
158 ··</a>158 ··</a>
159 ··<span·class="text">Encrypted·Debug·Information</span>159 ··<span·class="text">Encrypted·Debug·Information</span>
160 </h2>160 </h2>
161 <p>The·debug·information·can·be·encrypted·to·keep·the·source·code·secret,·but·still161 <p>The·debug·information·can·be·encrypted·to·keep·the·source·code·secret,·but·still
162 be·able·to·use·tools·such·as·Debugger·or·Xref.</p><p>To·use·encrypted·debug·information,·a·key·must·be·provided·to·the·compiler·and162 be·able·to·use·tools·such·as·Debugger·or·Xref.</p><p>To·use·encrypted·debug·information,·a·key·must·be·provided·to·the·compiler·and
Offset 178, 21 lines modifiedOffset 178, 21 lines modified
178 ··</a>178 ··</a>
179 ··<span·class="text">.erlang.crypt</span>179 ··<span·class="text">.erlang.crypt</span>
180 </h2>180 </h2>
181 <p><code·class="inline">beam_lib</code>·searches·for·<code·class="inline">.erlang.crypt</code>·in·the·current·directory,·then·the181 <p><code·class="inline">beam_lib</code>·searches·for·<code·class="inline">.erlang.crypt</code>·in·the·current·directory,·then·the
182 <a·href="../../../../erts-16.0/doc/html/init.html#home">user's·home·directory</a>·and·then182 <a·href="../../../../erts-16.0/doc/html/init.html#home">user's·home·directory</a>·and·then
183 <a·href="filename.html#user_config"><code·class="inline">filename:basedir(user_config,·&quot;erlang&quot;)</code></a>.·If·the183 <a·href="filename.html#user_config"><code·class="inline">filename:basedir(user_config,·&quot;erlang&quot;)</code></a>.·If·the
184 file·is·found·and·contains·a·key,·<code·class="inline">beam_lib</code>·implicitly·creates·a·crypto·key·fun184 file·is·found·and·contains·a·key,·<code·class="inline">beam_lib</code>·implicitly·creates·a·crypto·key·fun
185 and·registers·it.</p><p>File·<code·class="inline">.erlang.crypt</code>·is·to·contain·a·single·list·of·tuples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1723766351-1">{</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mode</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·67,·SHA:·48372949a7b3a26aef0758b663a94a5eaae8fbe20fdb29affe4fda1206fa397c·...·]-1">}</span></code></pre><p><code·class="inline">Mode</code>·is·the·type·of·crypto·algorithm;·currently,·the·only·allowed·value·is185 and·registers·it.</p><p>File·<code·class="inline">.erlang.crypt</code>·is·to·contain·a·single·list·of·tuples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8536471972-1">{</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mode</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·67,·SHA:·9045c348addcde05d0628cd9f68fdd960839f502ca98621091c739d567267e34·...·]-1">}</span></code></pre><p><code·class="inline">Mode</code>·is·the·type·of·crypto·algorithm;·currently,·the·only·allowed·value·is
186 <code·class="inline">des3_cbc</code>.·<code·class="inline">Module</code>·is·either·an·atom,·in·which·case·<code·class="inline">Key</code>·is·only·used·for·the186 <code·class="inline">des3_cbc</code>.·<code·class="inline">Module</code>·is·either·an·atom,·in·which·case·<code·class="inline">Key</code>·is·only·used·for·the
187 module·<code·class="inline">Module</code>,·or·<code·class="inline">[]</code>,·in·which·case·<code·class="inline">Key</code>·is·used·for·all·modules.·<code·class="inline">Key</code>·is187 module·<code·class="inline">Module</code>,·or·<code·class="inline">[]</code>,·in·which·case·<code·class="inline">Key</code>·is·used·for·all·modules.·<code·class="inline">Key</code>·is
188 the·non-empty·key·string.</p><p><code·class="inline">Key</code>·in·the·first·tuple·where·both·<code·class="inline">Mode</code>·and·<code·class="inline">Module</code>·match·is·used.</p><p>The·following·is·an·example·of·an·<code·class="inline">.erlang.crypt</code>·file·that·returns·the·same·key188 the·non-empty·key·string.</p><p><code·class="inline">Key</code>·in·the·first·tuple·where·both·<code·class="inline">Mode</code>·and·<code·class="inline">Module</code>·match·is·used.</p><p>The·following·is·an·example·of·an·<code·class="inline">.erlang.crypt</code>·file·that·returns·the·same·key
189 for·all·modules:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9011847878-1">[</span><span·class="p"·data-group-id="9011847878-2">{</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">des3_cbc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·303,·SHA:·78037405ef4499e95458081b33b3a959f03686bfd03db70c12f3996d85951b1e·...·]-1">]</span><span·class="p">.</span></code></pre><p>The·following·is·a·slightly·more·complicated·example·of·an·<code·class="inline">.erlang.crypt</code>189 for·all·modules:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2979573189-1">[</span><span·class="p"·data-group-id="2979573189-2">{</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">des3_cbc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·303,·SHA:·d2e3efbbc8935809ace0190e35a057d5c06fcf0ae69cba276e4d691a6676a429·...·]-1">]</span><span·class="p">.</span></code></pre><p>The·following·is·a·slightly·more·complicated·example·of·an·<code·class="inline">.erlang.crypt</code>
190 providing·one·key·for·module·<code·class="inline">t</code>·and·another·key·for·all·other·modules:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0681967432-1">[</span><span·class="p"·data-group-id="0681967432-2">{</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">des3_cbc</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">t<[·...·truncated·by·diffoscope;·len:·136,·SHA:·5c6c04dd40ab1205eba0aebf183022ba12940cd14e64f229596b2d3486166c5d·...·]-2">}</span><span·class="p">,</span><span·class="w">190 providing·one·key·for·module·<code·class="inline">t</code>·and·another·key·for·all·other·modules:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2078379061-1">[</span><span·class="p"·data-group-id="2078379061-2">{</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">des3_cbc</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">t<[·...·truncated·by·diffoscope;·len:·136,·SHA:·4d902d43de41106fcfde33215ae755d20d5e5fed7f1182deb8aa59d426e8b9c7·...·]-2">}</span><span·class="p">,</span><span·class="w">
191 ·</span><span·class="p"·data-group-id="0681967432-3">{</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">des3_cbc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0681967432-4">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·250,·SHA:·c27c71d3aa89fd570a69f391a847675e46bbc879d647c9f0fc3e775e3481357a·...·]-1">]</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Do·not·use·any·of·the·keys·in·these·examples.·Use·your·own·keys.</p></section>191 ·</span><span·class="p"·data-group-id="2078379061-3">{</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">des3_cbc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2078379061-4">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·250,·SHA:·e4ccdc25b42dd16ba0c9aae314d27e1558488bd0238c4fb56f710c56ae5dafe1·...·]-1">]</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Do·not·use·any·of·the·keys·in·these·examples.·Use·your·own·keys.</p></section>
192 ····</section>192 ····</section>
  
193 </div>193 </div>
  
194 ··<section·id="summary"·class="details-list">194 ··<section·id="summary"·class="details-list">
195 ····<h1·class="section-heading">195 ····<h1·class="section-heading">
196 ······<a·class="hover-link"·href="#summary">196 ······<a·class="hover-link"·href="#summary">
Offset 1531, 19 lines modifiedOffset 1531, 19 lines modified
1531 ························when·CryptoKeyFun·::·<a·href="#t:crypto_fun/0">crypto_fun</a>(),·Reason·::·badfun·|·exists·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>1531 ························when·CryptoKeyFun·::·<a·href="#t:crypto_fun/0">crypto_fun</a>(),·Reason·::·badfun·|·exists·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1532 ······</div>1532 ······</div>
  
1533 <p>Registers·an·unary·fun·that·is·called·if·<code·class="inline">beam_lib</code>·must·read·an·<code·class="inline">debug_info</code>1533 <p>Registers·an·unary·fun·that·is·called·if·<code·class="inline">beam_lib</code>·must·read·an·<code·class="inline">debug_info</code>
1534 chunk·that·has·been·encrypted.·The·fun·is·held·in·a·process·that·is·started·by1534 chunk·that·has·been·encrypted.·The·fun·is·held·in·a·process·that·is·started·by
1535 the·function.</p><p>If·a·fun·is·already·registered·when·attempting·to·register·a·fun,1535 the·function.</p><p>If·a·fun·is·already·registered·when·attempting·to·register·a·fun,
1536 <code·class="inline">{error,·exists}</code>·is·returned.</p><p>The·fun·must·handle·the·following·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">CryptoKeyFun</span><span·class="p"·data-group-id="0357368417-1">(</span><span·class="ss">init</span><span·class="p"·data-group-id="0357368417-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">|</span><sp[·...·truncated·by·diffoscope;·len:·509,·SHA:·dc822a0e85929d0c49a30be2972497e4bcc5617fb18c17b382453684bb57628b·...·]-3">}</span></code></pre><p>Called·when·the·fun·is·registered,·in·the·process·that·holds·the·fun.·Here·the1536 <code·class="inline">{error,·exists}</code>·is·returned.</p><p>The·fun·must·handle·the·following·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">CryptoKeyFun</span><span·class="p"·data-group-id="7045461271-1">(</span><span·class="ss">init</span><span·class="p"·data-group-id="7045461271-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">|</span><sp[·...·truncated·by·diffoscope;·len:·509,·SHA:·872413c9e24be0d4c914b6779c74336982a8af39f89edb5f2ec22620b034fde6·...·]-3">}</span></code></pre><p>Called·when·the·fun·is·registered,·in·the·process·that·holds·the·fun.·Here·the
1537 crypto·key·fun·can·do·any·necessary·initializations.·If·<code·class="inline">{ok,·NewCryptoKeyFun}</code>1537 crypto·key·fun·can·do·any·necessary·initializations.·If·<code·class="inline">{ok,·NewCryptoKeyFun}</code>
1538 is·returned,·<code·class="inline">NewCryptoKeyFun</code>·is·registered·instead·of·<code·class="inline">CryptoKeyFun</code>.·If1538 is·returned,·<code·class="inline">NewCryptoKeyFun</code>·is·registered·instead·of·<code·class="inline">CryptoKeyFun</code>.·If
1539 <code·class="inline">{error,·Term}</code>·is·returned,·the·registration·is·aborted·and1539 <code·class="inline">{error,·Term}</code>·is·returned,·the·registration·is·aborted·and
1540 <a·href="#crypto_key_fun/1"><code·class="inline">crypto_key_fun/1</code></a>·also·returns·<code·class="inline">{error,·Term}</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">CryptoKeyFun</span><span·class="p"·data-group-id="3261159265-1">(</span><span·class="p"·data-group-id="3261159265-2">{</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mode</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</[·...·truncated·by·diffoscope;·len:·178,·SHA:·03446abaf4343bd5a0fb38708252e9efc00be3490d77ef292b716c7f6e4cec19·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Key</span></code></pre><p>Called·when·the·key·is·needed·for·module·<code·class="inline">Module</code>·in·the·file·named·<code·class="inline">Filename</code>.1540 <a·href="#crypto_key_fun/1"><code·class="inline">crypto_key_fun/1</code></a>·also·returns·<code·class="inline">{error,·Term}</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">CryptoKeyFun</span><span·class="p"·data-group-id="2357267822-1">(</span><span·class="p"·data-group-id="2357267822-2">{</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Mode</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</[·...·truncated·by·diffoscope;·len:·178,·SHA:·6098abe16f1f4d5b528734989ce31866b848ad9b8cf7b635aedbb7e067c542e1·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Key</span></code></pre><p>Called·when·the·key·is·needed·for·module·<code·class="inline">Module</code>·in·the·file·named·<code·class="inline">Filename</code>.
1541 <code·class="inline">Mode</code>·is·the·type·of·crypto·algorithm;·currently,·the·only·possible·value·is1541 <code·class="inline">Mode</code>·is·the·type·of·crypto·algorithm;·currently,·the·only·possible·value·is
1542 <code·class="inline">des3_cbc</code>.·The·call·is·to·fail·(raise·an·exception)·if·no·key·is·available.</p><pre><code·class="text">CryptoKeyFun(clear)·-&gt;·term()</code></pre><p>Called·before·the·fun·is·unregistered.·Here·any·cleaning·up·can·be·done.·The1542 <code·class="inline">des3_cbc</code>.·The·call·is·to·fail·(raise·an·exception)·if·no·key·is·available.</p><pre><code·class="text">CryptoKeyFun(clear)·-&gt;·term()</code></pre><p>Called·before·the·fun·is·unregistered.·Here·any·cleaning·up·can·be·done.·The
1543 return·value·is·not·important,·but·is·passed·back·to·the·caller·of1543 return·value·is·not·important,·but·is·passed·back·to·the·caller·of
1544 <a·href="#clear_crypto_key_fun/0"><code·class="inline">clear_crypto_key_fun/0</code></a>·as·part·of·its·return·value.</p>1544 <a·href="#clear_crypto_key_fun/0"><code·class="inline">clear_crypto_key_fun/0</code></a>·as·part·of·its·return·value.</p>
1545 ··</section>1545 ··</section>
1546 </section>1546 </section>
1547 <section·class="detail"·id="diff_dirs/2">1547 <section·class="detail"·id="diff_dirs/2">
Offset 1880, 22 lines modifiedOffset 1880, 22 lines modified
  
1880 ······</div>1880 ······</div>
  
1881 <p>Returns·the·module·version·or·versions.·A·version·is·defined·by·module·attribute1881 <p>Returns·the·module·version·or·versions.·A·version·is·defined·by·module·attribute
1882 <code·class="inline">-vsn(Vsn)</code>.</p><p>If·this·attribute·is·not·specified,·the·version·defaults·to·the1882 <code·class="inline">-vsn(Vsn)</code>.</p><p>If·this·attribute·is·not·specified,·the·version·defaults·to·the
1883 checksum·of·the·module.·Notice·that·if·version·<code·class="inline">Vsn</code>·is·not·a·list,·it·is·made1883 checksum·of·the·module.·Notice·that·if·version·<code·class="inline">Vsn</code>·is·not·a·list,·it·is·made
1884 into·one,·that·is·<code·class="inline">{ok,{Module,[Vsn]}}</code>·is·returned.·If·there·are·many·<code·class="inline">-vsn</code>1884 into·one,·that·is·<code·class="inline">{ok,{Module,[Vsn]}}</code>·is·returned.·If·there·are·many·<code·class="inline">-vsn</code>
1885 module·attributes,·the·result·is·the·concatenated·list·of·versions.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="9872696982-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="9872696982-1">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn(1).</span><span·class="w">1885 module·attributes,·the·result·is·the·concatenated·list·of·versions.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="8164761898-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="8164761898-1">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn(1).</span><span·class="w">
1886 </span><span·class="p"·data-group-id="9872696982-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9872696982-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="p"·data-group-id="9872696982-4">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·143,·SHA:·f8ebc88da82c6c76a80dc11ddc541bc30de1dac5d3309986062c5a95b8b10241·...·]-2">}</span><span·class="gp·unselectable">1886 </span><span·class="p"·data-group-id="8164761898-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8164761898-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="p"·data-group-id="8164761898-4">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·143,·SHA:·55a1cd35dd066cadda8f166188beda416f0f4444644b58ecbdc2165830dceb12·...·]-2">}</span><span·class="gp·unselectable">
1887 2&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="9872696982-5">(</span><span·class="ss">b</span><span·class="p"·data-group-id="9872696982-5">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn([1]).</span><span·class="w">1887 2&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="8164761898-5">(</span><span·class="ss">b</span><span·class="p"·data-group-id="8164761898-5">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn([1]).</span><span·class="w">
1888 </span><span·class="p"·data-group-id="9872696982-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9872696982-7">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="9872696982-8">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·143,·SHA:·637735e81aa170a6838cf7acb24a8ac1b0b29075497481a9015458f4446f1ae6·...·]-6">}</span><span·class="gp·unselectable">1888 </span><span·class="p"·data-group-id="8164761898-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8164761898-7">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="p"·data-group-id="8164761898-8">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·143,·SHA:·3b27b8a24f44d79cd0c3f8f9608f1aa6cdb59541f7f409f76b25cb79fd127917·...·]-6">}</span><span·class="gp·unselectable">
1889 3&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="9872696982-9">(</span><span·class="ss">c</span><span·class="p"·data-group-id="9872696982-9">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn([1]).·-vsn(2).</span><span·class="w">1889 3&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="8164761898-9">(</span><span·class="ss">c</span><span·class="p"·data-group-id="8164761898-9">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·-vsn([1]).·-vsn(2).</span><span·class="w">
1890 </span><span·class="p"·data-group-id="9872696982-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9872696982-11">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="p"·data-group-id="9872696982-12">[</span><span·class="mi">1</span><[·...·truncated·by·diffoscope;·len:·197,·SHA:·79f9511e9adee62e52d9a575927993a0abd5622105a2404e084a4b2358a5aa62·...·]-10">}</span><span·class="gp·unselectable">1890 </span><span·class="p"·data-group-id="8164761898-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8164761898-11">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="p"·data-group-id="8164761898-12">[</span><span·class="mi">1</span><[·...·truncated·by·diffoscope;·len:·197,·SHA:·04ba6c421ac77cc28f6da4de79d9847e0a52bf3a9bf4733f82e42b743fe73b0a·...·]-10">}</span><span·class="gp·unselectable">
1891 4&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="9872696982-13">(</span><span·class="ss">d</span><span·class="p"·data-group-id="9872696982-13">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·no·-vsn·attribute</span><span·class="w">1891 4&gt;·</span><span·class="nc">beam_lib</span><span·class="p">:</span><span·class="nf">version</span><span·class="p"·data-group-id="8164761898-13">(</span><span·class="ss">d</span><span·class="p"·data-group-id="8164761898-13">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·no·-vsn·attribute</span><span·class="w">
1892 </span><span·class="p"·data-group-id="9872696982-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9872696982-15">{</span><span·class="ss">d</span><span·class="p">,</span><span·class="p"·data-group-id="9872696982-16">[</span><span·class="mi">275613208[·...·truncated·by·diffoscope;·len:·186,·SHA:·6b049a41318edb424c41a85de3ea5da318acc144685d2972d0a3d1a9ecc18063·...·]-14">}</span></code></pre>1892 </span><span·class="p"·data-group-id="8164761898-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8164761898-15">{</span><span·class="ss">d</span><span·class="p">,</span><span·class="p"·data-group-id="8164761898-16">[</span><span·class="mi">275613208[·...·truncated·by·diffoscope;·len:·186,·SHA:·6f6b335380c04d6993aaaf609c1f31d68f1ea3f32417b40f6f8fc5a7072363dc·...·]-14">}</span></code></pre>
1893 ··</section>1893 ··</section>
1894 </section>1894 </section>
  
1895 ····</div>1895 ····</div>
1896 ··</section>1896 ··</section>
  
1897 ····<footer·class="footer">1897 ····<footer·class="footer">
Offset 1916, 15 lines modifiedOffset 1916, 15 lines modified
1916 ······<p·class="built-using">1916 ······<p·class="built-using">
1917 ········Built·using1917 ········Built·using
1918 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1918 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1919 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1919 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1920 ······</p>1920 ······</p>
1921 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1921 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1922 ····</footer>1922 ····</footer>
1923 ··</div>1923 ··</div>
1924 </main>1924 </main>
1925 </div>1925 </div>
1926 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1926 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1927 ··<script>1927 ··<script>
1928 ··let·initialized·=·false;1928 ··let·initialized·=·false;
541 B
html2text {}
Max HTML report size reached
144 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/binary.html
    
Offset 620, 19 lines modifiedOffset 620, 19 lines modified
620 integer.</p><p>If·<code·class="inline">Pos</code>·&gt;=·<a·href="../../../../erts-16.0/doc/html/erlang.html#byte_size/1"><code·class="inline">byte_size(Subject)</code></a>,·a·<code·class="inline">badarg</code>·exception620 integer.</p><p>If·<code·class="inline">Pos</code>·&gt;=·<a·href="../../../../erts-16.0/doc/html/erlang.html#byte_size/1"><code·class="inline">byte_size(Subject)</code></a>,·a·<code·class="inline">badarg</code>·exception
621 is·raised.</p><h2·id="at/2-examples"·class="section-heading">621 is·raised.</p><h2·id="at/2-examples"·class="section-heading">
622 ··<a·href="#at/2-examples"·class="hover-link">622 ··<a·href="#at/2-examples"·class="hover-link">
623 ····<i·class="ri-link-m"·aria-hidden="true"></i>623 ····<i·class="ri-link-m"·aria-hidden="true"></i>
624 ··</a>624 ··</a>
625 ··<span·class="text">Examples</span>625 ··<span·class="text">Examples</span>
626 </h2>626 </h2>
627 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">at</span><span·class="p"·data-group-id="9843610286-1">(</span><span·class="p"·data-group-id="9843610286-2">&lt;&lt;</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">19</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="mi">33</span[·...·truncated·by·diffoscope;·len:·175,·SHA:·11c232217bac8f7bce9f380d6726181514ff88ce3d2578376acdb095551ce7e8·...·]-1">)</span><span·class="p">.</span><span·class="w">627 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">at</span><span·class="p"·data-group-id="4458449004-1">(</span><span·class="p"·data-group-id="4458449004-2">&lt;&lt;</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">19</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="mi">33</span[·...·truncated·by·diffoscope;·len:·175,·SHA:·1ad1515dc4e20765b055c08730a8e1564d8ae768362bfc34a34e7c105b0c5131·...·]-1">)</span><span·class="p">.</span><span·class="w">
628 </span><span·class="mi">5</span><span·class="gp·unselectable">628 </span><span·class="mi">5</span><span·class="gp·unselectable">
629 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">at</span><span·class="p"·data-group-id="9843610286-3">(</span><span·class="p"·data-group-id="9843610286-4">&lt;&lt;</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">19</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="mi">33</span[·...·truncated·by·diffoscope;·len:·175,·SHA:·d9570633b1c9a1833e0c13d5adafa830849b2e08193f592cd6f2956758f89fde·...·]-3">)</span><span·class="p">.</span><span·class="w">629 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">at</span><span·class="p"·data-group-id="4458449004-3">(</span><span·class="p"·data-group-id="4458449004-4">&lt;&lt;</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">19</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="mi">33</span[·...·truncated·by·diffoscope;·len:·175,·SHA:·b76e56f6a52a6d5d546d17ecec5922b603e7f7ac4aa4ba47d316c9a1d70d3b1e·...·]-3">)</span><span·class="p">.</span><span·class="w">
630 </span><span·class="mi">19</span><span·class="gp·unselectable">630 </span><span·class="mi">19</span><span·class="gp·unselectable">
631 3&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">at</span><span·class="p"·data-group-id="9843610286-5">(</span><span·class="p"·data-group-id="9843610286-6">&lt;&lt;</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">19</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="mi">33</span[·...·truncated·by·diffoscope;·len:·175,·SHA:·0ac955b7baa1ce4bd4ab47460ba8bbe77dea6b7de40fb858a4eb0d226a436597·...·]-5">)</span><span·class="p">.</span><span·class="w">631 3&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">at</span><span·class="p"·data-group-id="4458449004-5">(</span><span·class="p"·data-group-id="4458449004-6">&lt;&lt;</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">19</span><span·class="p">,</span><span·class="mi">72</span><span·class="p">,</span><span·class="mi">33</span[·...·truncated·by·diffoscope;·len:·175,·SHA:·31e6282e916a770589019889381057522daeb39bd36b56893f83b4f0e4a13573·...·]-5">)</span><span·class="p">.</span><span·class="w">
632 </span><span·class="gt">**·exception·error:·bad·argument632 </span><span·class="gt">**·exception·error:·bad·argument
633 ·····in·function··binary:at/2633 ·····in·function··binary:at/2
634 ········called·as·binary:at(&lt;&lt;5,19,72,33&gt;&gt;,4)</span></code></pre>634 ········called·as·binary:at(&lt;&lt;5,19,72,33&gt;&gt;,4)</span></code></pre>
635 ··</section>635 ··</section>
636 </section>636 </section>
637 <section·class="detail"·id="bin_to_list/1">637 <section·class="detail"·id="bin_to_list/1">
  
Offset 662, 16 lines modifiedOffset 662, 16 lines modified
662 <p>Converts·<code·class="inline">Subject</code>·to·a·list·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte()</code></a>s,·each662 <p>Converts·<code·class="inline">Subject</code>·to·a·list·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte()</code></a>s,·each
663 representing·the·value·of·one·byte.</p><h2·id="bin_to_list/1-examples"·class="section-heading">663 representing·the·value·of·one·byte.</p><h2·id="bin_to_list/1-examples"·class="section-heading">
664 ··<a·href="#bin_to_list/1-examples"·class="hover-link">664 ··<a·href="#bin_to_list/1-examples"·class="hover-link">
665 ····<i·class="ri-link-m"·aria-hidden="true"></i>665 ····<i·class="ri-link-m"·aria-hidden="true"></i>
666 ··</a>666 ··</a>
667 ··<span·class="text">Examples</span>667 ··<span·class="text">Examples</span>
668 </h2>668 </h2>
669 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">bin_to_list</span><span·class="p"·data-group-id="5714012076-1">(</span><span·class="p"·data-group-id="5714012076-2">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="5714012076-2">&gt;&gt;</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·a1b711dbcca1a4e15dd56120348376265b2abdcf85e4528188864fe15ff1ea95·...·]-1">)</span><span·class="p">.</span><span·class="w">669 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">bin_to_list</span><span·class="p"·data-group-id="6240238158-1">(</span><span·class="p"·data-group-id="6240238158-2">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="6240238158-2">&gt;&gt;</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·17,·SHA:·9c62bdf4f2482cd3f47c9826e3908c9e97cc15ee94f3af7795093a92ea2a0897·...·]-1">)</span><span·class="p">.</span><span·class="w">
670 </span><span·class="p"·data-group-id="5714012076-3">[</span><span·class="mi">101</span><span·class="p">,</span><span·class="mi">114</span><span·class="p">,</span><span·class="mi">108</span><span·class="p">,</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">110</span><spa[·...·truncated·by·diffoscope;·len:·137,·SHA:·9d477717accfaa698dbd4ba7ec94f73aac4c384bd8e7d067c27889ba6094a109·...·]-3">]</span></code></pre>670 </span><span·class="p"·data-group-id="6240238158-3">[</span><span·class="mi">101</span><span·class="p">,</span><span·class="mi">114</span><span·class="p">,</span><span·class="mi">108</span><span·class="p">,</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">110</span><spa[·...·truncated·by·diffoscope;·len:·137,·SHA:·f395325dca688092984be3013bbb4e7072d438932360a17cff293993e72f3725·...·]-3">]</span></code></pre>
671 ··</section>671 ··</section>
672 </section>672 </section>
673 <section·class="detail"·id="bin_to_list/2">673 <section·class="detail"·id="bin_to_list/2">
  
674 ··<div·class="detail-header">674 ··<div·class="detail-header">
675 ····<a·href="#bin_to_list/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">675 ····<a·href="#bin_to_list/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
676 ······<i·class="ri-link-m"·aria-hidden="true"></i>676 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 727, 18 lines modifiedOffset 727, 18 lines modified
727 <p>Converts·part·of·<code·class="inline">Subject</code>·to·a·list·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a>s,·each·representing727 <p>Converts·part·of·<code·class="inline">Subject</code>·to·a·list·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:byte/0"><code·class="inline">byte/0</code></a>s,·each·representing
728 the·value·of·one·byte.</p><p><code·class="inline">Pos</code>·and·<code·class="inline">Len</code>·denote·which·part·of·the·<code·class="inline">Subject</code>·binary·to·convert.</p><h2·id="bin_to_list/3-examples"·class="section-heading">728 the·value·of·one·byte.</p><p><code·class="inline">Pos</code>·and·<code·class="inline">Len</code>·denote·which·part·of·the·<code·class="inline">Subject</code>·binary·to·convert.</p><h2·id="bin_to_list/3-examples"·class="section-heading">
729 ··<a·href="#bin_to_list/3-examples"·class="hover-link">729 ··<a·href="#bin_to_list/3-examples"·class="hover-link">
730 ····<i·class="ri-link-m"·aria-hidden="true"></i>730 ····<i·class="ri-link-m"·aria-hidden="true"></i>
731 ··</a>731 ··</a>
732 ··<span·class="text">Examples</span>732 ··<span·class="text">Examples</span>
733 </h2>733 </h2>
734 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">bin_to_list</span><span·class="p"·data-group-id="4906574917-1">(</span><span·class="p"·data-group-id="4906574917-2">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="4906574917-2">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·84977b1380cf840def1d7a5d12104b25ac8ab13975db2624991da81b0395ca38·...·]-1">)</span><span·class="p">.</span><span·class="w">734 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">bin_to_list</span><span·class="p"·data-group-id="3021688425-1">(</span><span·class="p"·data-group-id="3021688425-2">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="3021688425-2">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·99936bdadb4c4a12fe7ccde30637d615a9099a4f3d2a152b827c96f5c90a2215·...·]-1">)</span><span·class="p">.</span><span·class="w">
735 </span><span·class="s">&quot;rla&quot;</span><span·class="w">735 </span><span·class="s">&quot;rla&quot;</span><span·class="w">
736 </span><span·class="c1">%%·or·[114,108,97]·in·list·notation.</span><span·class="gp·unselectable">736 </span><span·class="c1">%%·or·[114,108,97]·in·list·notation.</span><span·class="gp·unselectable">
737 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">bin_to_list</span><span·class="p"·data-group-id="4906574917-3">(</span><span·class="p"·data-group-id="4906574917-4">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="4906574917-4">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·84977b1380cf840def1d7a5d12104b25ac8ab13975db2624991da81b0395ca38·...·]-3">)</span><span·class="p">.</span><span·class="w">737 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">bin_to_list</span><span·class="p"·data-group-id="3021688425-3">(</span><span·class="p"·data-group-id="3021688425-4">&lt;&lt;</span><span·class="s">&quot;erlang&quot;</span><span·class="p"·data-group-id="3021688425-4">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·99936bdadb4c4a12fe7ccde30637d615a9099a4f3d2a152b827c96f5c90a2215·...·]-3">)</span><span·class="p">.</span><span·class="w">
738 </span><span·class="gt">**·exception·error:·bad·argument738 </span><span·class="gt">**·exception·error:·bad·argument
739 ·····in·function··binary:bin_to_list/3739 ·····in·function··binary:bin_to_list/3
740 ········called·as·binary:bin_to_list(&lt;&lt;&quot;erlang&quot;&gt;&gt;,5,3)740 ········called·as·binary:bin_to_list(&lt;&lt;&quot;erlang&quot;&gt;&gt;,5,3)
741 ········***·argument·3:·out·of·range</span></code></pre><p>If·<code·class="inline">Pos</code>·and·<code·class="inline">Len</code>·reference·outside·the·binary·in·any·way,·a·<code·class="inline">badarg</code>741 ········***·argument·3:·out·of·range</span></code></pre><p>If·<code·class="inline">Pos</code>·and·<code·class="inline">Len</code>·reference·outside·the·binary·in·any·way,·a·<code·class="inline">badarg</code>
742 exception·is·raised.</p>742 exception·is·raised.</p>
743 ··</section>743 ··</section>
744 </section>744 </section>
Offset 781, 17 lines modifiedOffset 781, 17 lines modified
781 non-empty.</p><p>If·<code·class="inline">Pattern</code>·is·not·a·binary·or·a·flat·proper·non-empty·list·of·binaries·with781 non-empty.</p><p>If·<code·class="inline">Pattern</code>·is·not·a·binary·or·a·flat·proper·non-empty·list·of·binaries·with
782 length·greater·than·0,·a·<code·class="inline">badarg</code>·exception·is·raised.</p><h2·id="compile_pattern/1-examples"·class="section-heading">782 length·greater·than·0,·a·<code·class="inline">badarg</code>·exception·is·raised.</p><h2·id="compile_pattern/1-examples"·class="section-heading">
783 ··<a·href="#compile_pattern/1-examples"·class="hover-link">783 ··<a·href="#compile_pattern/1-examples"·class="hover-link">
784 ····<i·class="ri-link-m"·aria-hidden="true"></i>784 ····<i·class="ri-link-m"·aria-hidden="true"></i>
785 ··</a>785 ··</a>
786 ··<span·class="text">Examples</span>786 ··<span·class="text">Examples</span>
787 </h2>787 </h2>
788 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Pat</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">compile_pattern</span><span·class="p"·data-group-id="0731459052-1">(</span><span·class="s">~&quot;rain&quot;</span><span·class="p"·data-group-id="0731459052-1">)</span><span·class="p">.</span><span·class="gp·unselectable">788 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Pat</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">compile_pattern</span><span·class="p"·data-group-id="8792547184-1">(</span><span·class="s">~&quot;rain&quot;</span><span·class="p"·data-group-id="8792547184-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
789 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="0731459052-2">(</span><span·class="s">~&quot;the·rain·in·spain&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pat</span><span·class="p"·data-group-id="0731459052-2">)</span><span·class="p">.</span><span·class="w">789 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="8792547184-2">(</span><span·class="s">~&quot;the·rain·in·spain&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pat</span><span·class="p"·data-group-id="8792547184-2">)</span><span·class="p">.</span><span·class="w">
790 </span><span·class="p"·data-group-id="0731459052-3">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="0731459052-3">}</span></code></pre>790 </span><span·class="p"·data-group-id="8792547184-3">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="8792547184-3">}</span></code></pre>
791 ··</section>791 ··</section>
792 </section>792 </section>
793 <section·class="detail"·id="copy/1">793 <section·class="detail"·id="copy/1">
  
794 ··<div·class="detail-header">794 ··<div·class="detail-header">
795 ····<a·href="#copy/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">795 ····<a·href="#copy/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
796 ······<i·class="ri-link-m"·aria-hidden="true"></i>796 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 824, 21 lines modifiedOffset 824, 21 lines modified
824 binaries·are·no·longer·used·in·any·process··can·deliberate·copying·be824 binaries·are·no·longer·used·in·any·process··can·deliberate·copying·be
825 beneficial.</p></section><h2·id="copy/1-examples"·class="section-heading">825 beneficial.</p></section><h2·id="copy/1-examples"·class="section-heading">
826 ··<a·href="#copy/1-examples"·class="hover-link">826 ··<a·href="#copy/1-examples"·class="hover-link">
827 ····<i·class="ri-link-m"·aria-hidden="true"></i>827 ····<i·class="ri-link-m"·aria-hidden="true"></i>
828 ··</a>828 ··</a>
829 ··<span·class="text">Examples</span>829 ··<span·class="text">Examples</span>
830 </h2>830 </h2>
831 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">HugeBinary</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6925914774-1">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">100</span><span·class="p">_</span><span·class="mi">000</span><span·class="o">/</span><span·class="nc">unit</span><span·class="p">:</span><span·class="mi">8</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·81e685bb06dbfdb6a223fb143df1caabc12c7796ee8dc1d3c3ec979d224297f2·...·]-1">&gt;&gt;</span><span·class="p">.</span><span·class="gp·unselectable">831 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">HugeBinary</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="8297817670-1">&lt;&lt;</span><span·class="mi">0</span><span·class="p">:</span><span·class="mi">100</span><span·class="p">_</span><span·class="mi">000</span><span·class="o">/</span><span·class="nc">unit</span><span·class="p">:</span><span·class="mi">8</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·eeb2f61071831eaf2657a651d634b41ceedc1875c7d36c9028c307ac08fe7f76·...·]-1">&gt;&gt;</span><span·class="p">.</span><span·class="gp·unselectable">
832 2&gt;·</span><span·class="nf">byte_size</span><span·class="p"·data-group-id="6925914774-2">(</span><span·class="n">HugeBinary</span><span·class="p"·data-group-id="6925914774-2">)</span><span·class="p">.</span><span·class="w">832 2&gt;·</span><span·class="nf">byte_size</span><span·class="p"·data-group-id="8297817670-2">(</span><span·class="n">HugeBinary</span><span·class="p"·data-group-id="8297817670-2">)</span><span·class="p">.</span><span·class="w">
833 </span><span·class="mi">100000</span><span·class="gp·unselectable">833 </span><span·class="mi">100000</span><span·class="gp·unselectable">
834 3&gt;·</span><span·class="n">Part</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">part</span><span·class="p"·data-group-id="6925914774-3">(</span><span·class="n">HugeBinary</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span><span·class="p"·data-group-id="6925914774-3">)</span><span·class="p">.</span><span·class="w">834 3&gt;·</span><span·class="n">Part</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">part</span><span·class="p"·data-group-id="8297817670-3">(</span><span·class="n">HugeBinary</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span><span·class="p"·data-group-id="8297817670-3">)</span><span·class="p">.</span><span·class="w">
835 </span><span·class="p"·data-group-id="6925914774-4">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·121d88f7d19768525d5de5f22b45fa45de69f1e3843239757bceb43feb8110f7·...·]-4">&gt;&gt;</span><span·class="gp·unselectable">835 </span><span·class="p"·data-group-id="8297817670-4">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·3a7b1ea603d2873d5e15999333e792131da9c8291f8a4a29d479b044143c5e67·...·]-4">&gt;&gt;</span><span·class="gp·unselectable">
836 4&gt;·</span><span·class="n">Copy</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">copy</span><span·class="p"·data-group-id="6925914774-5">(</span><span·class="n">Part</span><span·class="p"·data-group-id="6925914774-5">)</span><span·class="p">.</span><span·class="w">836 4&gt;·</span><span·class="n">Copy</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">copy</span><span·class="p"·data-group-id="8297817670-5">(</span><span·class="n">Part</span><span·class="p"·data-group-id="8297817670-5">)</span><span·class="p">.</span><span·class="w">
837 </span><span·class="p"·data-group-id="6925914774-6">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·121d88f7d19768525d5de5f22b45fa45de69f1e3843239757bceb43feb8110f7·...·]-6">&gt;&gt;</span></code></pre>837 </span><span·class="p"·data-group-id="8297817670-6">&lt;&lt;</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·3a7b1ea603d2873d5e15999333e792131da9c8291f8a4a29d479b044143c5e67·...·]-6">&gt;&gt;</span></code></pre>
838 ··</section>838 ··</section>
839 </section>839 </section>
840 <section·class="detail"·id="copy/2">840 <section·class="detail"·id="copy/2">
  
841 ··<div·class="detail-header">841 ··<div·class="detail-header">
842 ····<a·href="#copy/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">842 ····<a·href="#copy/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
843 ······<i·class="ri-link-m"·aria-hidden="true"></i>843 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 864, 16 lines modifiedOffset 864, 16 lines modified
  
864 <p>Creates·a·binary·with·the·content·of·<code·class="inline">Subject</code>·duplicated·<code·class="inline">N</code>·times.</p><p>This·function·always·creates·a·new·binary,·even·when·<code·class="inline">N</code>·is·<code·class="inline">1</code>.</p><h2·id="copy/2-examples"·class="section-heading">864 <p>Creates·a·binary·with·the·content·of·<code·class="inline">Subject</code>·duplicated·<code·class="inline">N</code>·times.</p><p>This·function·always·creates·a·new·binary,·even·when·<code·class="inline">N</code>·is·<code·class="inline">1</code>.</p><h2·id="copy/2-examples"·class="section-heading">
865 ··<a·href="#copy/2-examples"·class="hover-link">865 ··<a·href="#copy/2-examples"·class="hover-link">
866 ····<i·class="ri-link-m"·aria-hidden="true"></i>866 ····<i·class="ri-link-m"·aria-hidden="true"></i>
867 ··</a>867 ··</a>
868 ··<span·class="text">Examples</span>868 ··<span·class="text">Examples</span>
869 </h2>869 </h2>
870 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">copy</span><span·class="p"·data-group-id="7434727705-1">(</span><span·class="s">~&quot;-&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">10</span><span·class="p"·data-group-id="7434727705-1">)</span><span·class="p">.</span><span·class="w">870 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">copy</span><span·class="p"·data-group-id="6342412899-1">(</span><span·class="s">~&quot;-&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">10</span><span·class="p"·data-group-id="6342412899-1">)</span><span·class="p">.</span><span·class="w">
871 </span><span·class="p"·data-group-id="7434727705-2">&lt;&lt;</span><span·class="s">&quot;----------&quot;</span><span·class="p"·data-group-id="7434727705-2">&gt;&gt;</span></code></pre>871 </span><span·class="p"·data-group-id="6342412899-2">&lt;&lt;</span><span·class="s">&quot;----------&quot;</span><span·class="p"·data-group-id="6342412899-2">&gt;&gt;</span></code></pre>
872 ··</section>872 ··</section>
873 </section>873 </section>
874 <section·class="detail"·id="decode_hex/1">874 <section·class="detail"·id="decode_hex/1">
  
875 ··<div·class="detail-header">875 ··<div·class="detail-header">
876 ····<a·href="#decode_hex/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">876 ····<a·href="#decode_hex/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
877 ······<i·class="ri-link-m"·aria-hidden="true"></i>877 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 900, 17 lines modifiedOffset 900, 17 lines modified
900 <p>Decodes·a·hex-encoded·binary·into·a·binary.</p><p>An·exception·is·raised·if·the·size·of·the·binary·is·not·evenly·divisble·by·two,900 <p>Decodes·a·hex-encoded·binary·into·a·binary.</p><p>An·exception·is·raised·if·the·size·of·the·binary·is·not·evenly·divisble·by·two,
901 or·if·the·binary·contains·any·characters·that·do·not·represent·hex·digits.</p><h2·id="decode_hex/1-examples"·class="section-heading">901 or·if·the·binary·contains·any·characters·that·do·not·represent·hex·digits.</p><h2·id="decode_hex/1-examples"·class="section-heading">
902 ··<a·href="#decode_hex/1-examples"·class="hover-link">902 ··<a·href="#decode_hex/1-examples"·class="hover-link">
903 ····<i·class="ri-link-m"·aria-hidden="true"></i>903 ····<i·class="ri-link-m"·aria-hidden="true"></i>
904 ··</a>904 ··</a>
905 ··<span·class="text">Examples</span>905 ··<span·class="text">Examples</span>
906 </h2>906 </h2>
907 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">decode_hex</span><span·class="p"·data-group-id="3385321558-1">(</span><span·class="p"·data-group-id="3385321558-2">&lt;&lt;</span><span·class="s">&quot;666f6f&quot;</span><span·class="p"·data-group-id="3385321558-2">&gt;&gt;</span><span·class="p"·data-group-id="3385321558-1">)</span><span·class="p">.</span><span·class="w">907 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">decode_hex</span><span·class="p"·data-group-id="8403181432-1">(</span><span·class="p"·data-group-id="8403181432-2">&lt;&lt;</span><span·class="s">&quot;666f6f&quot;</span><span·class="p"·data-group-id="8403181432-2">&gt;&gt;</span><span·class="p"·data-group-id="8403181432-1">)</span><span·class="p">.</span><span·class="w">
908 </span><span·class="p"·data-group-id="3385321558-3">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="3385321558-3">&gt;&gt;</span><span·class="gp·unselectable">908 </span><span·class="p"·data-group-id="8403181432-3">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="8403181432-3">&gt;&gt;</span><span·class="gp·unselectable">
909 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">decode_hex</span><span·class="p"·data-group-id="3385321558-4">(</span><span·class="p"·data-group-id="3385321558-5">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id="3385321558-5">&gt;&gt;</span><span·class="p"·data-group-id="3385321558-4">)</span><span·class="p">.</span><span·class="w">909 2&gt;·</span><span·class="nc">binary</span><span·class="p">:</span><span·class="nf">decode_hex</span><span·class="p"·data-group-id="8403181432-4">(</span><span·class="p"·data-group-id="8403181432-5">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id="8403181432-5">&gt;&gt;</span><span·class="p"·data-group-id="8403181432-4">)</span><span·class="p">.</span><span·class="w">
910 </span><span·class="gt">**·exception·error:·bad·argument910 </span><span·class="gt">**·exception·error:·bad·argument
911 ·····in·function··binary:decode_hex/1911 ·····in·function··binary:decode_hex/1
912 ········called·as·binary:decode_hex(&lt;&lt;&quot;A&quot;&gt;&gt;)912 ········called·as·binary:decode_hex(&lt;&lt;&quot;A&quot;&gt;&gt;)
913 ········***·argument·1:·must·contain·an·even·number·of·bytes</span></code></pre>913 ········***·argument·1:·must·contain·an·even·number·of·bytes</span></code></pre>
Max diff block lines reached; 122296/146457 bytes (83.50%) of diff not shown.
602 B
html2text {}
Max HTML report size reached
3.59 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/c.html
    
Offset 1682, 15 lines modifiedOffset 1682, 15 lines modified
1682 ················Options·::·[Option]·|·Option,1682 ················Options·::·[Option]·|·Option,
1683 ················Option·::·<a·href="../../../../lib/compiler-9.0/doc/html/compile.html#t:option/0">compile:option</a>(),1683 ················Option·::·<a·href="../../../../lib/compiler-9.0/doc/html/compile.html#t:option/0">compile:option</a>(),
1684 ················Module·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:module/0">module</a>().</pre>1684 ················Module·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:module/0">module</a>().</pre>
  
1685 ······</div>1685 ······</div>
  
1686 <p>Compiles·and·then·loads·the·code·for·a·file·on·all·nodes.·<code·class="inline">Options</code>·defaults·to1686 <p>Compiles·and·then·loads·the·code·for·a·file·on·all·nodes.·<code·class="inline">Options</code>·defaults·to
1687 <code·class="inline">[]</code>.·Compilation·is·equivalent·to:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">compile</span><span·class="p">:</span><span·class="nf">file</span><span·class="p"·data-group-id="7572503241-1">(</span><span·class="n">File</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Options</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p"·data-group-id="7572503241-2">[</span><sp[·...·truncated·by·diffoscope;·len:·215,·SHA:·34e0fa1b04efa7dd86e9634a4fff39f167f915b1498146cd479b08e2734e65cc·...·]-1">)</span></code></pre>1687 <code·class="inline">[]</code>.·Compilation·is·equivalent·to:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">compile</span><span·class="p">:</span><span·class="nf">file</span><span·class="p"·data-group-id="9579729296-1">(</span><span·class="n">File</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Options</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p"·data-group-id="9579729296-2">[</span><sp[·...·truncated·by·diffoscope;·len:·215,·SHA:·cc6f1c168a8d5d834f6e06ecc35b04e12ed811dedc599d1f93900ef2429003aa·...·]-1">)</span></code></pre>
1688 ··</section>1688 ··</section>
1689 </section>1689 </section>
1690 <section·class="detail"·id="ni/0">1690 <section·class="detail"·id="ni/0">
  
1691 ··<div·class="detail-header">1691 ··<div·class="detail-header">
1692 ····<a·href="#ni/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1692 ····<a·href="#ni/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1693 ······<i·class="ri-link-m"·aria-hidden="true"></i>1693 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2007, 15 lines modifiedOffset 2007, 15 lines modified
2007 ······<p·class="built-using">2007 ······<p·class="built-using">
2008 ········Built·using2008 ········Built·using
2009 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2009 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2010 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2010 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2011 ······</p>2011 ······</p>
2012 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2012 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2013 ····</footer>2013 ····</footer>
2014 ··</div>2014 ··</div>
2015 </main>2015 </main>
2016 </div>2016 </div>
2017 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2017 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2018 ··<script>2018 ··<script>
2019 ··let·initialized·=·false;2019 ··let·initialized·=·false;
728 B
html2text {}
Max HTML report size reached
19.2 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/calendar.html
    
Offset 1866, 21 lines modifiedOffset 1866, 21 lines modified
1866 ····································Option·::·{unit,·<a·href="#t:rfc3339_time_unit/0">rfc3339_time_unit</a>()}.</pre>1866 ····································Option·::·{unit,·<a·href="#t:rfc3339_time_unit/0">rfc3339_time_unit</a>()}.</pre>
  
1867 ······</div>1867 ······</div>
  
1868 <p>Converts·an·RFC·3339·timestamp·into·system·time.·The·data·format·of·RFC·33391868 <p>Converts·an·RFC·3339·timestamp·into·system·time.·The·data·format·of·RFC·3339
1869 timestamps·is·described·by·<a·href="https://www.ietf.org/rfc/rfc3339.txt">RFC·3339</a>.1869 timestamps·is·described·by·<a·href="https://www.ietf.org/rfc/rfc3339.txt">RFC·3339</a>.
1870 Starting·from·OTP·25.1,·the·minutes·part·of·the·time·zone·is·optional.</p><p>Valid·option:</p><ul><li><strong><code·class="inline">{unit,·Unit}</code></strong>·-·The·time·unit·of·the·return·value.·The·default·is1870 Starting·from·OTP·25.1,·the·minutes·part·of·the·time·zone·is·optional.</p><p>Valid·option:</p><ul><li><strong><code·class="inline">{unit,·Unit}</code></strong>·-·The·time·unit·of·the·return·value.·The·default·is
1871 <code·class="inline">second</code>.</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">rfc3339_to_system_time</span><span·class="p"·data-group-id="6353021002-1">(</span><span·class="s">&quot;2018-02-01T16:17:58+01:00&quot;</span><span·class="p"·data-group-id="6353021002-1">)</span><span·class="p">.</span><span·class="w">1871 <code·class="inline">second</code>.</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">rfc3339_to_system_time</span><span·class="p"·data-group-id="7430364440-1">(</span><span·class="s">&quot;2018-02-01T16:17:58+01:00&quot;</span><span·class="p"·data-group-id="7430364440-1">)</span><span·class="p">.</span><span·class="w">
1872 </span><span·class="mi">1517498278</span><span·class="gp·unselectable">1872 </span><span·class="mi">1517498278</span><span·class="gp·unselectable">
1873 2&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">rfc3339_to_system_time</span><span·class="p"·data-group-id="6353021002-2">(</span><span·class="s">&quot;2018-02-01·15:18:02.088Z&quot;</span><span·class="p">,</span><span·class="w">1873 2&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">rfc3339_to_system_time</span><span·class="p"·data-group-id="7430364440-2">(</span><span·class="s">&quot;2018-02-01·15:18:02.088Z&quot;</span><span·class="p">,</span><span·class="w">
1874 ···</span><span·class="p"·data-group-id="6353021002-3">[</span><span·class="p"·data-group-id="6353021002-4">{</span><span·class="ss">unit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">nanosecond</span><span·class="p"·data-group-id="6353021002-4">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·76,·SHA:·42abba8814141f8c166122fd780f318dd10679010f5f7f84dbe6ca45a23bd8b4·...·]-2">)</span><span·class="p">.</span><span·class="w">1874 ···</span><span·class="p"·data-group-id="7430364440-3">[</span><span·class="p"·data-group-id="7430364440-4">{</span><span·class="ss">unit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">nanosecond</span><span·class="p"·data-group-id="7430364440-4">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·76,·SHA:·2c070ba43244261adf346c169c5cfe573cac2579681a5ec466a5127d2002060f·...·]-2">)</span><span·class="p">.</span><span·class="w">
1875 </span><span·class="mi">1517498282088000000</span><span·class="gp·unselectable">1875 </span><span·class="mi">1517498282088000000</span><span·class="gp·unselectable">
1876 3&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">rfc3339_to_system_time</span><span·class="p"·data-group-id="6353021002-5">(</span><span·class="p"·data-group-id="6353021002-6">&lt;&lt;</span><span·class="s">&quot;2018-02-01·15:18:02.088Z&quot;</span><span·class="p"·data-group-id="6353021002-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">1876 3&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">rfc3339_to_system_time</span><span·class="p"·data-group-id="7430364440-5">(</span><span·class="p"·data-group-id="7430364440-6">&lt;&lt;</span><span·class="s">&quot;2018-02-01·15:18:02.088Z&quot;</span><span·class="p"·data-group-id="7430364440-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">
1877 ···</span><span·class="p"·data-group-id="6353021002-7">[</span><span·class="p"·data-group-id="6353021002-8">{</span><span·class="ss">unit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">nanosecond</span><span·class="p"·data-group-id="6353021002-8">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·76,·SHA:·24f7ef22677bbbbacff852504332bd6de9ae57a1b899fe4c9fe8e9cb16913a22·...·]-5">)</span><span·class="p">.</span><span·class="w">1877 ···</span><span·class="p"·data-group-id="7430364440-7">[</span><span·class="p"·data-group-id="7430364440-8">{</span><span·class="ss">unit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">nanosecond</span><span·class="p"·data-group-id="7430364440-8">}</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·76,·SHA:·847b66c84013e65dad16f6a46a17e080b55cf2d27ba67f5a6cc82f46963a38f3·...·]-5">)</span><span·class="p">.</span><span·class="w">
1878 </span><span·class="mi">1517498282088000000</span></code></pre>1878 </span><span·class="mi">1517498282088000000</span></code></pre>
1879 ··</section>1879 ··</section>
1880 </section>1880 </section>
1881 <section·class="detail"·id="seconds_to_daystime/1">1881 <section·class="detail"·id="seconds_to_daystime/1">
  
1882 ··<div·class="detail-header">1882 ··<div·class="detail-header">
1883 ····<a·href="#seconds_to_daystime/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1883 ····<a·href="#seconds_to_daystime/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2034, 28 lines modifiedOffset 2034, 28 lines modified
2034 of·the·integer·is·the·same·as·the·one·of·<code·class="inline">Time</code>.</p></li><li><p><strong><code·class="inline">{time_designator,·Character}</code></strong>·-·The·character·used·as·time·designator,2034 of·the·integer·is·the·same·as·the·one·of·<code·class="inline">Time</code>.</p></li><li><p><strong><code·class="inline">{time_designator,·Character}</code></strong>·-·The·character·used·as·time·designator,
2035 that·is,·the·date·and·time·separator.·The·default·is·<code·class="inline">$T</code>.</p></li><li><p><strong><code·class="inline">{unit,·Unit}</code></strong>·-·The·time·unit·of·<code·class="inline">Time</code>.·The·default·is·<code·class="inline">second</code>.·If·some2035 that·is,·the·date·and·time·separator.·The·default·is·<code·class="inline">$T</code>.</p></li><li><p><strong><code·class="inline">{unit,·Unit}</code></strong>·-·The·time·unit·of·<code·class="inline">Time</code>.·The·default·is·<code·class="inline">second</code>.·If·some
2036 other·unit·is·given·(<code·class="inline">millisecond</code>,·<code·class="inline">microsecond</code>,·<code·class="inline">nanosecond</code>,·or·<code·class="inline">native</code>),2036 other·unit·is·given·(<code·class="inline">millisecond</code>,·<code·class="inline">microsecond</code>,·<code·class="inline">nanosecond</code>,·or·<code·class="inline">native</code>),
2037 the·formatted·string·includes·a·fraction·of·a·second.·The·number·of·fractional2037 the·formatted·string·includes·a·fraction·of·a·second.·The·number·of·fractional
2038 second·digits·is·three,·six,·or·nine·depending·on·what·time·unit·is·chosen.2038 second·digits·is·three,·six,·or·nine·depending·on·what·time·unit·is·chosen.
2039 For·<code·class="inline">native</code>·three·fractional·digits·are·included.·Notice·that·trailing·zeros2039 For·<code·class="inline">native</code>·three·fractional·digits·are·included.·Notice·that·trailing·zeros
2040 are·not·removed·from·the·fraction.</p></li><li><p><strong><code·class="inline">{return,·Return}</code></strong>·-·The·desired·encoding·type·for·the·output,2040 are·not·removed·from·the·fraction.</p></li><li><p><strong><code·class="inline">{return,·Return}</code></strong>·-·The·desired·encoding·type·for·the·output,
2041 whether·a·string·or·a·binary·is·desired.·Defaults·to·string.</p></li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="8817780447-1">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="8817780447-2">(</span><span·class="ss">second</span><span·class="p"·data-group-id="8817780447-2">)</span><span·clas[·...·truncated·by·diffoscope;·len:·31,·SHA:·3d3b65c00b22e2364633476fbe0e1d63d1b33e55dd94126bad5932dcbff5dd7c·...·]-1">)</span><span·class="p">.</span><span·class="w">2041 whether·a·string·or·a·binary·is·desired.·Defaults·to·string.</p></li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="8251740910-1">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="8251740910-2">(</span><span·class="ss">second</span><span·class="p"·data-group-id="8251740910-2">)</span><span·clas[·...·truncated·by·diffoscope;·len:·31,·SHA:·474ff6d0095201f5bd246d7bca11e03ef53437a33fae08ff8a8ad6827f12973a·...·]-1">)</span><span·class="p">.</span><span·class="w">
2042 </span><span·class="s">&quot;2018-04-23T14:56:28+02:00&quot;</span><span·class="gp·unselectable">2042 </span><span·class="s">&quot;2018-04-23T14:56:28+02:00&quot;</span><span·class="gp·unselectable">
2043 2&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="8817780447-3">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="8817780447-4">(</span><span·class="ss">second</span><span·class="p"·data-group-id="8817780447-4">)</span><span·class="p">,</span><span·class="w">2043 2&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="8251740910-3">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="8251740910-4">(</span><span·class="ss">second</span><span·class="p"·data-group-id="8251740910-4">)</span><span·class="p">,</span><span·class="w">
2044 ···</span><span·class="p"·data-group-id="8817780447-5">[</span><span·class="p"·data-group-id="8817780447-6">{</span><span·class="ss">offset</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;-02:00&quot;</span><span·class="p"·data-group-id="8817780447-6">}</span><span·clas[·...·truncated·by·diffoscope;·len:·84,·SHA:·44a14841a966fe5c2887cdc29d52f0b98a12c920784b34f023dbf6da82aff61a·...·]-3">)</span><span·class="p">.</span><span·class="w">2044 ···</span><span·class="p"·data-group-id="8251740910-5">[</span><span·class="p"·data-group-id="8251740910-6">{</span><span·class="ss">offset</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;-02:00&quot;</span><span·class="p"·data-group-id="8251740910-6">}</span><span·clas[·...·truncated·by·diffoscope;·len:·84,·SHA:·6be3fc094becb289a1e22230b9ae5fe4dbda3a5af04f749b0ebf9cc31fb6b6a7·...·]-3">)</span><span·class="p">.</span><span·class="w">
2045 </span><span·class="s">&quot;2018-04-23T10:56:52-02:00&quot;</span><span·class="gp·unselectable">2045 </span><span·class="s">&quot;2018-04-23T10:56:52-02:00&quot;</span><span·class="gp·unselectable">
2046 3&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="8817780447-7">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="8817780447-8">(</span><span·class="ss">second</span><span·class="p"·data-group-id="8817780447-8">)</span><span·class="p">,</span><span·class="w">2046 3&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="8251740910-7">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="8251740910-8">(</span><span·class="ss">second</span><span·class="p"·data-group-id="8251740910-8">)</span><span·class="p">,</span><span·class="w">
2047 ···</span><span·class="p"·data-group-id="8817780447-9">[</span><span·class="p"·data-group-id="8817780447-10">{</span><span·class="ss">offset</span><span·class="p">,</span><span·class="w">·</span><span·class="o">-</span><span·class="mi">7200</span><span·class="p"·data-group-id="8817780447-10">}</sp[·...·truncated·by·diffoscope;·len:·97,·SHA:·9258d712674e60f496376d311e405cf30ee621bf809059bea0837fa64787a463·...·]-7">)</span><span·class="p">.</span><span·class="w">2047 ···</span><span·class="p"·data-group-id="8251740910-9">[</span><span·class="p"·data-group-id="8251740910-10">{</span><span·class="ss">offset</span><span·class="p">,</span><span·class="w">·</span><span·class="o">-</span><span·class="mi">7200</span><span·class="p"·data-group-id="8251740910-10">}</sp[·...·truncated·by·diffoscope;·len:·97,·SHA:·93f1dd1a22b28b22beca4191f665d7df556e2974fde4c0b5c2bab925973a5483·...·]-7">)</span><span·class="p">.</span><span·class="w">
2048 </span><span·class="s">&quot;2018-04-23T10:57:05-02:00&quot;</span><span·class="gp·unselectable">2048 </span><span·class="s">&quot;2018-04-23T10:57:05-02:00&quot;</span><span·class="gp·unselectable">
2049 4&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="8817780447-11">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="8817780447-12">(</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="8817780447-12">)</span><span·class="p">,</span><span·class="w">2049 4&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="8251740910-11">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="8251740910-12">(</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="8251740910-12">)</span><span·class="p">,</span><span·class="w">
2050 ···</span><span·class="p"·data-group-id="8817780447-13">[</span><span·class="p"·data-group-id="8817780447-14">{</span><span·class="ss">unit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="8817780447-14">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·620,·SHA:·45ff53dcd4ec09d84a18bb8b48adbc492e0cac0032cfda5ec0334fe1d8d0d681·...·]-11">)</span><span·class="p">.</span><span·class="w">2050 ···</span><span·class="p"·data-group-id="8251740910-13">[</span><span·class="p"·data-group-id="8251740910-14">{</span><span·class="ss">unit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="8251740910-14">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·620,·SHA:·1ddc2c4b9e1c5e0e69a6a78d25f8e3604d2e3b15beb728ca0b70c49879212bf7·...·]-11">)</span><span·class="p">.</span><span·class="w">
2051 </span><span·class="s">&quot;2018-04-23·12:57:20.482Z&quot;</span><span·class="gp·unselectable">2051 </span><span·class="s">&quot;2018-04-23·12:57:20.482Z&quot;</span><span·class="gp·unselectable">
2052 5&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="8817780447-17">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="8817780447-18">(</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="8817780447-18">)</span><span·class="p">,</span><span·class="w">2052 5&gt;·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="8251740910-17">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_time</span><span·class="p"·data-group-id="8251740910-18">(</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="8251740910-18">)</span><span·class="p">,</span><span·class="w">
2053 ···</span><span·class="p"·data-group-id="8817780447-19">[</span><span·class="p"·data-group-id="8817780447-20">{</span><span·class="ss">unit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="8817780447-20">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·884,·SHA:·c0cfed52ffbb072289014e736d3d74ab1f847ef20cc820eccad41b316816a269·...·]-17">)</span><span·class="p">.</span><span·class="w">2053 ···</span><span·class="p"·data-group-id="8251740910-19">[</span><span·class="p"·data-group-id="8251740910-20">{</span><span·class="ss">unit</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">millisecond</span><span·class="p"·data-group-id="8251740910-20">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·884,·SHA:·8bbdbcba9cb8fdd0c3d969eaa023e5604ccd568b415cac1022a8c15a60e55626·...·]-17">)</span><span·class="p">.</span><span·class="w">
2054 </span><span·class="p"·data-group-id="8817780447-24">&lt;&lt;</span><span·class="s">&quot;2018-04-23·12:57:20.482Z&quot;</span><span·class="p"·data-group-id="8817780447-24">&gt;&gt;</span></code></pre>2054 </span><span·class="p"·data-group-id="8251740910-24">&lt;&lt;</span><span·class="s">&quot;2018-04-23·12:57:20.482Z&quot;</span><span·class="p"·data-group-id="8251740910-24">&gt;&gt;</span></code></pre>
2055 ··</section>2055 ··</section>
2056 </section>2056 </section>
2057 <section·class="detail"·id="system_time_to_universal_time/2">2057 <section·class="detail"·id="system_time_to_universal_time/2">
  
2058 ··<div·class="detail-header">2058 ··<div·class="detail-header">
2059 ····<a·href="#system_time_to_universal_time/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2059 ····<a·href="#system_time_to_universal_time/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
2060 ······<i·class="ri-link-m"·aria-hidden="true"></i>2060 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2324, 15 lines modifiedOffset 2324, 15 lines modified
2324 ······<p·class="built-using">2324 ······<p·class="built-using">
2325 ········Built·using2325 ········Built·using
2326 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2326 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2327 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2327 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2328 ······</p>2328 ······</p>
2329 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2329 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2330 ····</footer>2330 ····</footer>
2331 ··</div>2331 ··</div>
2332 </main>2332 </main>
2333 </div>2333 </div>
2334 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2334 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2335 ··<script>2335 ··<script>
2336 ··let·initialized·=·false;2336 ··let·initialized·=·false;
784 B
html2text {}
Max HTML report size reached
64.9 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/custom_shell.html
    
Offset 148, 28 lines modifiedOffset 148, 28 lines modified
148 </h2>148 </h2>
149 <p>The·custom·shell·will·be·implemented·in·an·<a·href="escript.html"><code·class="inline">escript</code></a>,·but·it·could·just149 <p>The·custom·shell·will·be·implemented·in·an·<a·href="escript.html"><code·class="inline">escript</code></a>,·but·it·could·just
150 as·well·be·in·a·regular·system·or·as·a·remote·shell.·To·start·a·custom·shell150 as·well·be·in·a·regular·system·or·as·a·remote·shell.·To·start·a·custom·shell
151 we·first·need·to·start·Erlang·in·<code·class="inline">-noinput</code>·or·<code·class="inline">-noshell</code>·mode.·<a·href="escript.html"><code·class="inline">escript</code></a>·are151 we·first·need·to·start·Erlang·in·<code·class="inline">-noinput</code>·or·<code·class="inline">-noshell</code>·mode.·<a·href="escript.html"><code·class="inline">escript</code></a>·are
152 started·by·default·in·<code·class="inline">-noshell</code>·mode,·so·we·don't·have·to·do·anything·special·here.152 started·by·default·in·<code·class="inline">-noshell</code>·mode,·so·we·don't·have·to·do·anything·special·here.
153 To·start·the·custom·shell·we·then·call·<a·href="shell.html#start_interactive/1"><code·class="inline">shell:start_interactive/1</code></a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript153 To·start·the·custom·shell·we·then·call·<a·href="shell.html#start_interactive/1"><code·class="inline">shell:start_interactive/1</code></a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript
154 </span><span·class="c1">%%·pshell.es</span><span·class="w">154 </span><span·class="c1">%%·pshell.es</span><span·class="w">
155 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9030781508-1">(</span><span·class="p"·data-group-id="9030781508-2">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="9030781508-2">]</span><span·class="p"·data-group-id="9030781508-1">)</span><span·class="p">.</span><span·class="w">155 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7519957350-1">(</span><span·class="p"·data-group-id="7519957350-2">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="7519957350-2">]</span><span·class="p"·data-group-id="7519957350-1">)</span><span·class="p">.</span><span·class="w">
156 </span><span·class="nf">main</span><span·class="p"·data-group-id="9030781508-3">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="9030781508-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">156 </span><span·class="nf">main</span><span·class="p"·data-group-id="7519957350-3">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="7519957350-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
157 ····</span><span·class="nc">shell</span><span·class="p">:</span><span·class="nf">start_interactive</span><span·class="p"·data-group-id="9030781508-4">(</span><span·class="p"·data-group-id="9030781508-5">{</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·197,·SHA:·0d6ec97d9b3d4247c9b04742e7746db56f298892c014bad4b329983c270c2eee·...·]-4">)</span><span·class="p">,</span><span·class="w">157 ····</span><span·class="nc">shell</span><span·class="p">:</span><span·class="nf">start_interactive</span><span·class="p"·data-group-id="7519957350-4">(</span><span·class="p"·data-group-id="7519957350-5">{</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·197,·SHA:·5ddd2e8c6cc6c77b9cb96cd0376a9d2acd901a0e851d03334cf1a174e8312a7c·...·]-4">)</span><span·class="p">,</span><span·class="w">
158 ····</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">sleep</span><span·class="p"·data-group-id="9030781508-7">(</span><span·class="ss">infinity</span><span·class="p"·data-group-id="9030781508-7">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%%·Make·sure·the·escript·does·not·exit</span><span·class="w">158 ····</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">sleep</span><span·class="p"·data-group-id="7519957350-7">(</span><span·class="ss">infinity</span><span·class="p"·data-group-id="7519957350-7">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%%·Make·sure·the·escript·does·not·exit</span><span·class="w">
159 </span><span·class="w">159 </span><span·class="w">
160 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">start</span><span·class="p"·data-group-id="9030781508-8">(</span><span·class="p"·data-group-id="9030781508-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">pid</span><span·class="p"·data-group-id="9030781508-9">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·5a1b4221c60967275e464fd61245e5a3f5150d6fd26abdca5717d2dd6f397994·...·]-9">)</span><span·class="p">.</span><span·class="w">160 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">start</span><span·class="p"·data-group-id="7519957350-8">(</span><span·class="p"·data-group-id="7519957350-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">pid</span><span·class="p"·data-group-id="7519957350-9">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·89a071ad957ef10eac2fdb706abd1c793fe9ba78fc8f87fd18b3f5d3e92cc9ef·...·]-9">)</span><span·class="p">.</span><span·class="w">
161 </span><span·class="nf">start</span><span·class="p"·data-group-id="9030781508-10">(</span><span·class="p"·data-group-id="9030781508-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">161 </span><span·class="nf">start</span><span·class="p"·data-group-id="7519957350-10">(</span><span·class="p"·data-group-id="7519957350-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
162 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="9030781508-11">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9030781508-12">(</span><span·class="p"·data-group-id="9030781508-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">162 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7519957350-11">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7519957350-12">(</span><span·class="p"·data-group-id="7519957350-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
163 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9030781508-13">(</span><span·class="s">~&quot;Starting·process·inspection·shell</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="9030781508-13">)</span><span·class="p">,</span><span·class="w">163 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="7519957350-13">(</span><span·class="s">~&quot;Starting·process·inspection·shell</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="7519957350-13">)</span><span·class="p">,</span><span·class="w">
164 ··················</span><span·class="nf">loop</span><span·class="p"·data-group-id="9030781508-14">(</span><span·class="p"·data-group-id="9030781508-14">)</span><span·class="w">164 ··················</span><span·class="nf">loop</span><span·class="p"·data-group-id="7519957350-14">(</span><span·class="p"·data-group-id="7519957350-14">)</span><span·class="w">
165 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="9030781508-11">)</span><span·class="p">.</span><span·class="w">165 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="7519957350-11">)</span><span·class="p">.</span><span·class="w">
  
166 </span><span·class="nf">loop</span><span·class="p"·data-group-id="9030781508-15">(</span><span·class="p"·data-group-id="9030781508-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">166 </span><span·class="nf">loop</span><span·class="p"·data-group-id="7519957350-15">(</span><span·class="p"·data-group-id="7519957350-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
167 ····</span><span·class="k">receive</span><span·class="w">·</span><span·class="p">_</span><span·class="n">M</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">loop</span><span·class="p"·data-group-id="9030781508-16">(</span><span·class="p"·data-group-id="9030781508-16">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>If·we·run·the·above·we·will·get·this:</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">./pshell.es167 ····</span><span·class="k">receive</span><span·class="w">·</span><span·class="p">_</span><span·class="n">M</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">loop</span><span·class="p"·data-group-id="7519957350-16">(</span><span·class="p"·data-group-id="7519957350-16">)</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>If·we·run·the·above·we·will·get·this:</p><pre><code·class="makeup·shell"·translate="no"><span·class="gp·unselectable">$·</span><span·class="">./pshell.es
168 </span><span·class="">Erlang/OTP·28·[DEVELOPMENT]·[erts-15.0.1]·[source-b395339a02]·[64-bit]·[smp:8:8]·[ds:8:8:10]·[async-threads:1]·[jit:ns]168 </span><span·class="">Erlang/OTP·28·[DEVELOPMENT]·[erts-15.0.1]·[source-b395339a02]·[64-bit]·[smp:8:8]·[ds:8:8:10]·[async-threads:1]·[jit:ns]
169 </span><span·class="">169 </span><span·class="">
170 </span><span·class="">Starting·process·inspection·shell170 </span><span·class="">Starting·process·inspection·shell
171 </span><span·class="">171 </span><span·class="">
172 </span></code></pre><p>The·<a·href="io.html#t:standard_io/0"><code·class="inline">io:standard_io/0</code></a>·of·the·created·shell·process·will·be·set·to·the172 </span></code></pre><p>The·<a·href="io.html#t:standard_io/0"><code·class="inline">io:standard_io/0</code></a>·of·the·created·shell·process·will·be·set·to·the
173 Erlang·line·editor,·which·means·that·we·can·use·the·normal·<a·href="io.html"><code·class="inline">io</code></a>·functions173 Erlang·line·editor,·which·means·that·we·can·use·the·normal·<a·href="io.html"><code·class="inline">io</code></a>·functions
174 to·read·and·write·data·to·the·terminal.</p><h2·id="adding-our-first-command"·class="section-heading">174 to·read·and·write·data·to·the·terminal.</p><h2·id="adding-our-first-command"·class="section-heading">
Offset 178, 40 lines modifiedOffset 178, 40 lines modified
178 ··</a>178 ··</a>
179 ··<span·class="text">Adding·our·first·command</span>179 ··<span·class="text">Adding·our·first·command</span>
180 </h2>180 </h2>
181 <p>Let's·start·adding·the·shell·interface.·We·will·use·<a·href="io.html#get_line/1"><code·class="inline">io:get_line/1</code></a>·to·read·from181 <p>Let's·start·adding·the·shell·interface.·We·will·use·<a·href="io.html#get_line/1"><code·class="inline">io:get_line/1</code></a>·to·read·from
182 <a·href="io.html#t:standard_io/0"><code·class="inline">io:standard_io/0</code></a>·as·this·shell·will·be·line·based.·However,·for·a·more·complex182 <a·href="io.html#t:standard_io/0"><code·class="inline">io:standard_io/0</code></a>·as·this·shell·will·be·line·based.·However,·for·a·more·complex
183 shell·it·is·better·to·send·<a·href="io_protocol.html#input-requests"><code·class="inline">get_until</code>·I/O·requests</a>183 shell·it·is·better·to·send·<a·href="io_protocol.html#input-requests"><code·class="inline">get_until</code>·I/O·requests</a>
184 as·commands·read·that·way·can·span·multiple·lines.·So·we·expand·our·<code·class="inline">loop/0</code>·with184 as·commands·read·that·way·can·span·multiple·lines.·So·we·expand·our·<code·class="inline">loop/0</code>·with
185 a·<a·href="io.html#get_line/1"><code·class="inline">io:get_line/1</code></a>·and·pass·the·results·to·our·parser.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="9656365100-1">(</span><span·class="p"·data-group-id="9656365100-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">185 a·<a·href="io.html#get_line/1"><code·class="inline">io:get_line/1</code></a>·and·pass·the·results·to·our·parser.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">loop</span><span·class="p"·data-group-id="5786153298-1">(</span><span·class="p"·data-group-id="5786153298-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
186 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">get_line</span><span·class="p"·data-group-id="9656365100-2">(</span><span·class="s">&quot;&gt;·&quot;</span><span·class="p"·data-group-id="9656365100-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">186 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">get_line</span><span·class="p"·data-group-id="5786153298-2">(</span><span·class="s">&quot;&gt;·&quot;</span><span·class="p"·data-group-id="5786153298-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
187 ········</span><span·class="ss">eof</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">187 ········</span><span·class="ss">eof</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
188 ········</span><span·class="p"·data-group-id="9656365100-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="9656365100-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·152,·SHA:·1546391f314879298db5afd8f965ab8baef964d4464e575241d604a560221fd0·...·]-4">)</span><span·class="p">;</span><span·class="w">188 ········</span><span·class="p"·data-group-id="5786153298-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="5786153298-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·152,·SHA:·3da5b452a56c0b1e2b6a7832ec666eb679db4efb51d303ce275d95bde9004e46·...·]-4">)</span><span·class="p">;</span><span·class="w">
189 ········</span><span·class="n">Data</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">eval</span><span·class="p"·data-group-id="9656365100-5">(</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">trim</span><span·class="p"·data-group-id="9656365100-6">(</span><span·class="n">Data</span><span·class="p"·data-group-id="9656365100-6">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·d2c706a5ee28e4cc57579e6fada5d4fa63c827b9897085e86596e4a0f3f13394·...·]-5">)</span><span·class="w">189 ········</span><span·class="n">Data</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">eval</span><span·class="p"·data-group-id="5786153298-5">(</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">trim</span><span·class="p"·data-group-id="5786153298-6">(</span><span·class="n">Data</span><span·class="p"·data-group-id="5786153298-6">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·b8d5d26c8903ee775fe3c6b10ef3def884c33ac7cbff2140f061a299f716415c·...·]-5">)</span><span·class="w">
190 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">190 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
191 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="9656365100-7">(</span><span·class="p"·data-group-id="9656365100-7">)</span><span·class="p">.</span><span·class="w">191 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="5786153298-7">(</span><span·class="p"·data-group-id="5786153298-7">)</span><span·class="p">.</span><span·class="w">
  
192 </span><span·class="nf">eval</span><span·class="p"·data-group-id="9656365100-8">(</span><span·class="s">&quot;list&quot;</span><span·class="p"·data-group-id="9656365100-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">192 </span><span·class="nf">eval</span><span·class="p"·data-group-id="5786153298-8">(</span><span·class="s">&quot;list&quot;</span><span·class="p"·data-group-id="5786153298-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="n">Format</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;·~.10ts·|·~.10ts·|·~.10ts</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">193 ····</span><span·class="n">Format</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;·~.10ts·|·~.10ts·|·~.10ts</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">
194 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9656365100-9">(</span><span·class="n">Format</span><span·class="p">,</span><span·class="p"·data-group-id="9656365100-10">[</span><span·class="s">&quot;Pid&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Name&quot;</span><s[·...·truncated·by·diffoscope;·len:·184,·SHA:·cda89be3c894459b2153789356f30115e3a020bc3dd498693ba30d79fb7fd542·...·]-9">)</span><span·class="p">,</span><span·class="w">194 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5786153298-9">(</span><span·class="n">Format</span><span·class="p">,</span><span·class="p"·data-group-id="5786153298-10">[</span><span·class="s">&quot;Pid&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Name&quot;</span><s[·...·truncated·by·diffoscope;·len:·184,·SHA:·80fcaa4cdc4700016235bcaa04c36277c728db6b1a73153aa3ca1877e20c0fe5·...·]-9">)</span><span·class="p">,</span><span·class="w">
195 ····</span><span·class="p"·data-group-id="9656365100-11">[</span><span·class="k">begin</span><span·class="w">195 ····</span><span·class="p"·data-group-id="5786153298-11">[</span><span·class="k">begin</span><span·class="w">
196 ·········</span><span·class="p"·data-group-id="9656365100-12">[</span><span·class="p"·data-group-id="9656365100-13">{</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="n">Name</span><span·class="p"·data-group-id="9656365100-13">}</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·229,·SHA:·84ac6fd2a8eecdef585b6152ba325e4b27c141b5f915b9e69825477ea13ebc2a·...·]-12">]</span><span·class="w">196 ·········</span><span·class="p"·data-group-id="5786153298-12">[</span><span·class="p"·data-group-id="5786153298-13">{</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="n">Name</span><span·class="p"·data-group-id="5786153298-13">}</span><span·class="p">,</span><span·class[·...·truncated·by·diffoscope;·len:·229,·SHA:·f53d97a68221828d2bd19e89de4d4f3d44473e76e143b0d3f6f6c6dcc5d6d61c·...·]-12">]</span><span·class="w">
197 ·············</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">process_info</span><span·class="p"·data-group-id="9656365100-15">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9656365100-16">[</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">m[·...·truncated·by·diffoscope;·len:·118,·SHA:·eabe356b8cba109076104375173ed16f39c4f218a27f4f402b2377197baa44b1·...·]-15">)</span><span·class="p">,</span><span·class="w">197 ·············</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">process_info</span><span·class="p"·data-group-id="5786153298-15">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5786153298-16">[</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">m[·...·truncated·by·diffoscope;·len:·118,·SHA:·e572657572d29ef5ae37d1d77d22b32315d529d9e5855f4dcd300da2af706b01·...·]-15">)</span><span·class="p">,</span><span·class="w">
198 ·········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9656365100-17">(</span><span·class="n">Format</span><span·class="p">,</span><span·class="p"·data-group-id="9656365100-18">[</span><span·class="nf">to_list</span><span·class="p"·data-group-id="9656365100-19">(</span><span·class="n">Pid</span><span·class="p"[·...·truncated·by·diffoscope;·len:·561,·SHA:·da51bf9ee41f7f3fbee6040681a0916dccb7b18822c485e9950361ea1ff0d0dc·...·]-17">)</span><span·class="w">198 ·········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5786153298-17">(</span><span·class="n">Format</span><span·class="p">,</span><span·class="p"·data-group-id="5786153298-18">[</span><span·class="nf">to_list</span><span·class="p"·data-group-id="5786153298-19">(</span><span·class="n">Pid</span><span·class="p"[·...·truncated·by·diffoscope;·len:·561,·SHA:·8960dbb6cbc32a279b1593c1abd9476b1c5f52d1b61cc3f864c8576f162de687·...·]-17">)</span><span·class="w">
199 ·····</span><span·class="k">end</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">Pid</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nf">processes</span><span·class="p"·data-group-id="9656365100-22">(</span><span·class="p"·data-group-id="9656365100-22">)</span><span·class="p"·data-group-id="9656365100-11">]</span><span·class="p">;</span><span·class="w">199 ·····</span><span·class="k">end</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">Pid</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nf">processes</span><span·class="p"·data-group-id="5786153298-22">(</span><span·class="p"·data-group-id="5786153298-22">)</span><span·class="p"·data-group-id="5786153298-11">]</span><span·class="p">;</span><span·class="w">
200 </span><span·class="nf">eval</span><span·class="p"·data-group-id="9656365100-23">(</span><span·class="n">Unknown</span><span·class="p"·data-group-id="9656365100-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">200 </span><span·class="nf">eval</span><span·class="p"·data-group-id="5786153298-23">(</span><span·class="n">Unknown</span><span·class="p"·data-group-id="5786153298-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
201 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9656365100-24">(</span><span·class="s">&quot;Unknown·command:·&#39;~ts&#39;</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="9656365100-25">[</span><span·class="n">Unknown</span><span·class[·...·truncated·by·diffoscope;·len:·84,·SHA:·179ce556ca25c4023b150544fec4bed8e5701df13fb7a3903f9d6d88c6d67a0a·...·]-24">)</span><span·class="p">.</span><span·class="w">201 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5786153298-24">(</span><span·class="s">&quot;Unknown·command:·&#39;~ts&#39;</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5786153298-25">[</span><span·class="n">Unknown</span><span·class[·...·truncated·by·diffoscope;·len:·84,·SHA:·c0625f67be2ac873afc0d14980ed5a0a4144610b4c299ee454c06c67746fafa1·...·]-24">)</span><span·class="p">.</span><span·class="w">
  
202 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="9656365100-26">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="9656365100-26">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_pid</span><span·class="p"·data-group-id="9656365100-27">(<[·...·truncated·by·diffoscope;·len:·73,·SHA:·79e7b172846c098071e447af21d32efcf2064e96ded59a6284189482fdc816bc·...·]-27">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">202 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="5786153298-26">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="5786153298-26">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_pid</span><span·class="p"·data-group-id="5786153298-27">(<[·...·truncated·by·diffoscope;·len:·73,·SHA:·99a241b6efc47cefc34633c8b836ce8d0b66bb466cb6baa4ec454211e58c79f2·...·]-27">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
203 ····</span><span·class="nf">pid_to_list</span><span·class="p"·data-group-id="9656365100-28">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="9656365100-28">)</span><span·class="p">;</span><span·class="w">203 ····</span><span·class="nf">pid_to_list</span><span·class="p"·data-group-id="5786153298-28">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="5786153298-28">)</span><span·class="p">;</span><span·class="w">
204 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="9656365100-29">(</span><span·class="n">Atom</span><span·class="p"·data-group-id="9656365100-29">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_atom</span><span·class="p"·data-group-id="9656365100-30">[·...·truncated·by·diffoscope;·len:·76,·SHA:·6add596d5ae4eb7782733e274a9e81b39a33b9e3b3974d08306e1470548bae2c·...·]-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">204 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="5786153298-29">(</span><span·class="n">Atom</span><span·class="p"·data-group-id="5786153298-29">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_atom</span><span·class="p"·data-group-id="5786153298-30">[·...·truncated·by·diffoscope;·len:·76,·SHA:·489e6bc1b701390d18d67eea1890783ba64ce30a8ff296af1aa58d6e483e848f·...·]-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
205 ····</span><span·class="nf">atom_to_list</span><span·class="p"·data-group-id="9656365100-31">(</span><span·class="n">Atom</span><span·class="p"·data-group-id="9656365100-31">)</span><span·class="p">;</span><span·class="w">205 ····</span><span·class="nf">atom_to_list</span><span·class="p"·data-group-id="5786153298-31">(</span><span·class="n">Atom</span><span·class="p"·data-group-id="5786153298-31">)</span><span·class="p">;</span><span·class="w">
206 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="9656365100-32">(</span><span·class="n">Int</span><span·class="p"·data-group-id="9656365100-32">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="9656365100-33[·...·truncated·by·diffoscope;·len:·77,·SHA:·064b70eaa8f0a597bc1efe61bbb54e50b1078b56812e9bf148e1e2de7482d03e·...·]-33">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">206 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="5786153298-32">(</span><span·class="n">Int</span><span·class="p"·data-group-id="5786153298-32">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_integer</span><span·class="p"·data-group-id="5786153298-33[·...·truncated·by·diffoscope;·len:·77,·SHA:·a2c7213d5c8f008a2e0a538afe132607065c9c91952468bdd9f3a8faf35c1d2f·...·]-33">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
207 ····</span><span·class="nf">integer_to_list</span><span·class="p"·data-group-id="9656365100-34">(</span><span·class="n">Int</span><span·class="p"·data-group-id="9656365100-34">)</span><span·class="p">;</span><span·class="w">207 ····</span><span·class="nf">integer_to_list</span><span·class="p"·data-group-id="5786153298-34">(</span><span·class="n">Int</span><span·class="p"·data-group-id="5786153298-34">)</span><span·class="p">;</span><span·class="w">
208 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="9656365100-35">(</span><span·class="n">List</span><span·class="p"·data-group-id="9656365100-35">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="9656365100-36">[·...·truncated·by·diffoscope;·len:·76,·SHA:·b601174f026d06a4b85a076719833f226c39a88d95f770a161926c3b52d683af·...·]-36">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 </span><span·class="nf">to_list</span><span·class="p"·data-group-id="5786153298-35">(</span><span·class="n">List</span><span·class="p"·data-group-id="5786153298-35">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="5786153298-36">[·...·truncated·by·diffoscope;·len:·76,·SHA:·5e1bfda5f13c2e66ed33691a0535cf56b5f101f755315e713ffe9478cbcaf1c3·...·]-36">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 ····</span><span·class="n">List</span><span·class="p">.</span></code></pre><p>If·we·run·the·above·we·will·get·this:</p><pre><code·class="txt">$·./pshell.es209 ····</span><span·class="n">List</span><span·class="p">.</span></code></pre><p>If·we·run·the·above·we·will·get·this:</p><pre><code·class="txt">$·./pshell.es
210 Erlang/OTP·28·[DEVELOPMENT]·[erts-15.0.1]·[source-b395339a02]·[64-bit]·[smp:8:8]·[ds:8:8:10]·[async-threads:1]·[jit:ns]210 Erlang/OTP·28·[DEVELOPMENT]·[erts-15.0.1]·[source-b395339a02]·[64-bit]·[smp:8:8]·[ds:8:8:10]·[async-threads:1]·[jit:ns]
  
211 Starting·process·inspection·shell211 Starting·process·inspection·shell
212 &gt;·list212 &gt;·list
213 ·Pid········|·Name·······|·MsgQ·Len··213 ·Pid········|·Name·······|·MsgQ·Len··
214 ·&lt;0.0.0&gt;····|·init·······|·0·········214 ·&lt;0.0.0&gt;····|·init·······|·0·········
Offset 223, 70 lines modifiedOffset 223, 70 lines modified
223 ·&lt;0.6.0&gt;····|············|·0·········223 ·&lt;0.6.0&gt;····|············|·0·········
224 ·&lt;0.7.0&gt;····|············|·0·········224 ·&lt;0.7.0&gt;····|············|·0·········
225 ·&lt;0.8.0&gt;····|·socket_reg·|·0·········225 ·&lt;0.8.0&gt;····|·socket_reg·|·0·········
226 ·&lt;0.10.0&gt;···|············|·0·········226 ·&lt;0.10.0&gt;···|············|·0·········
227 ·&lt;0.11.0&gt;···|·erl_prim_l·|·0·········227 ·&lt;0.11.0&gt;···|·erl_prim_l·|·0·········
228 ·&lt;0.43.0&gt;···|·logger·····|·0·········228 ·&lt;0.43.0&gt;···|·logger·····|·0·········
229 ·&lt;0.45.0&gt;···|·applicatio·|·0229 ·&lt;0.45.0&gt;···|·applicatio·|·0
230 ...</code></pre><p>With·this·all·in·place·we·can·now·easily·add·<code·class="inline">inspect</code>,·<code·class="inline">suspend</code>·and·<code·class="inline">resume</code>·as·well.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">eval</span><span·class="p"·data-group-id="9048927394-1">(</span><span·class="s">&quot;inspect·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">PidStr</span><span·class="p"·data-group-id="9048927394-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">230 ...</code></pre><p>With·this·all·in·place·we·can·now·easily·add·<code·class="inline">inspect</code>,·<code·class="inline">suspend</code>·and·<code·class="inline">resume</code>·as·well.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">eval</span><span·class="p"·data-group-id="8261127118-1">(</span><span·class="s">&quot;inspect·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">PidStr</span><span·class="p"·data-group-id="8261127118-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
231 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">parse_pid</span><span·class="p"·data-group-id="9048927394-2">(</span><span·class="n">PidStr</span><span·class="p"·data-group-id="9048927394-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">231 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">parse_pid</span><span·class="p"·data-group-id="8261127118-2">(</span><span·class="n">PidStr</span><span·class="p"·data-group-id="8261127118-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
232 ········</span><span·class="ss">invalid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">232 ········</span><span·class="ss">invalid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
233 ········</span><span·class="n">Pid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">233 ········</span><span·class="n">Pid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
234 ············</span><span·class="p"·data-group-id="9048927394-3">[</span><span·class="p"·data-group-id="9048927394-4">{</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="9048927394-4">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·814,·SHA:·8b2c221713f7ed819e2e27155b69d7a7d94636c3193f0a5c5e06063473f4a282·...·]-3">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">234 ············</span><span·class="p"·data-group-id="8261127118-3">[</span><span·class="p"·data-group-id="8261127118-4">{</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p"·data-group-id="8261127118-4">}</span><span·class="p[·...·truncated·by·diffoscope;·len:·814,·SHA:·5f777a351ddd151086bd7dc95d69b58dba0960d177d80df70ac3ade7ea861551·...·]-3">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
235 ················</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">process_info</span><span·class="p"·data-group-id="9048927394-8">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9048927394-9">[</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="w">·</span><span·class="nb">mem[·...·truncated·by·diffoscope;·len:·262,·SHA:·01b02f38de3701877d71949004b0364e7c18d2b37577e7ed16b1f98eb57f0621·...·]-8">)</span><span·class="p">,</span><span·class="w">235 ················</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">process_info</span><span·class="p"·data-group-id="8261127118-8">(</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8261127118-9">[</span><span·class="ss">registered_name</span><span·class="p">,</span><span·class="w">·</span><span·class="nb">mem[·...·truncated·by·diffoscope;·len:·262,·SHA:·8accb6f3b7a860547bdba3df6334f2e81d40d8d39c559599b75f131c496d2763·...·]-8">)</span><span·class="p">,</span><span·class="w">
236 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9048927394-10">(</span><span·class="s">&quot;Pid:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">Name:·~ts</span><span·class="si">~n</span><span·class="s">Status:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">Memory:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">Messages:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">236 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8261127118-10">(</span><span·class="s">&quot;Pid:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">Name:·~ts</span><span·class="si">~n</span><span·class="s">Status:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">Memory:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">Messages:·</span><span·class="si">~p</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="w">
237 ······················</span><span·class="p"·data-group-id="9048927394-11">[</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">to_list</span><span·class="p"·data-group-id="9048927394-12">(</span><span·class="n">Name</span><span·class="p"·data-group-id="9048927394-12">)[·...·truncated·by·diffoscope;·len:·335,·SHA:·a7b94c03d7c02091f2800f5c4d693e7e174569c9ded3838483503447faaa724f·...·]-10">)</span><span·class="w">237 ······················</span><span·class="p"·data-group-id="8261127118-11">[</span><span·class="n">Pid</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">to_list</span><span·class="p"·data-group-id="8261127118-12">(</span><span·class="n">Name</span><span·class="p"·data-group-id="8261127118-12">)[·...·truncated·by·diffoscope;·len:·335,·SHA:·cbd611cb0316db9be6882e50010334b68ec87737f8bd9d707b4c342a89c2cdcc·...·]-10">)</span><span·class="w">
238 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">238 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
239 </span><span·class="nf">eval</span><span·class="p"·data-group-id="9048927394-13">(</span><span·class="s">&quot;suspend·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">PidStr</span><span·class="p"·data-group-id="9048927394-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">239 </span><span·class="nf">eval</span><span·class="p"·data-group-id="8261127118-13">(</span><span·class="s">&quot;suspend·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">PidStr</span><span·class="p"·data-group-id="8261127118-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
240 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">parse_pid</span><span·class="p"·data-group-id="9048927394-14">(</span><span·class="n">PidStr</span><span·class="p"·data-group-id="9048927394-14">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">240 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">parse_pid</span><span·class="p"·data-group-id="8261127118-14">(</span><span·class="n">PidStr</span><span·class="p"·data-group-id="8261127118-14">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
241 ········</span><span·class="ss">invalid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">241 ········</span><span·class="ss">invalid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
242 ········</span><span·class="n">Pid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">242 ········</span><span·class="n">Pid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
243 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">suspend_process</span><span·class="p"·data-group-id="9048927394-15">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="9048927394-15">)</span><span·class="p">,</span><span·class="w">243 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">suspend_process</span><span·class="p"·data-group-id="8261127118-15">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="8261127118-15">)</span><span·class="p">,</span><span·class="w">
244 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9048927394-16">(</span><span·class="s">&quot;Suspeneded·~ts</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="9048927394-16">)</span><span·class="w">244 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8261127118-16">(</span><span·class="s">&quot;Suspeneded·~ts</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="8261127118-16">)</span><span·class="w">
245 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">245 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
246 </span><span·class="nf">eval</span><span·class="p"·data-group-id="9048927394-17">(</span><span·class="s">&quot;resume·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">PidStr</span><span·class="p"·data-group-id="9048927394-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">246 </span><span·class="nf">eval</span><span·class="p"·data-group-id="8261127118-17">(</span><span·class="s">&quot;resume·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">PidStr</span><span·class="p"·data-group-id="8261127118-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
247 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">parse_pid</span><span·class="p"·data-group-id="9048927394-18">(</span><span·class="n">PidStr</span><span·class="p"·data-group-id="9048927394-18">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">247 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">parse_pid</span><span·class="p"·data-group-id="8261127118-18">(</span><span·class="n">PidStr</span><span·class="p"·data-group-id="8261127118-18">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
248 ········</span><span·class="ss">invalid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">248 ········</span><span·class="ss">invalid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
249 ········</span><span·class="n">Pid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">249 ········</span><span·class="n">Pid</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
250 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">resumne_process</span><span·class="p"·data-group-id="9048927394-19">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="9048927394-19">)</span><span·class="p">,</span><span·class="w">250 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">resumne_process</span><span·class="p"·data-group-id="8261127118-19">(</span><span·class="n">Pid</span><span·class="p"·data-group-id="8261127118-19">)</span><span·class="p">,</span><span·class="w">
251 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="9048927394-20">(</span><span·class="s">&quot;Resumed·~ts</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="9048927394-20">)</span><span·class="w">251 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8261127118-20">(</span><span·class="s">&quot;Resumed·~ts</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="8261127118-20">)</span><span·class="w">
252 ····</span><span·class="k">end</span><span·class="p">;</span></code></pre><h2·id="adding-autocompletion"·class="section-heading">252 ····</span><span·class="k">end</span><span·class="p">;</span></code></pre><h2·id="adding-autocompletion"·class="section-heading">
253 ··<a·href="#adding-autocompletion"·class="hover-link">253 ··<a·href="#adding-autocompletion"·class="hover-link">
254 ····<i·class="ri-link-m"·aria-hidden="true"></i>254 ····<i·class="ri-link-m"·aria-hidden="true"></i>
255 ··</a>255 ··</a>
256 ··<span·class="text">Adding·autocompletion</span>256 ··<span·class="text">Adding·autocompletion</span>
257 </h2>257 </h2>
258 <p>Wouldn't·it·be·great·if·we·could·add·some·simple·auto-completion·for·our·shell?·We·can·do·that258 <p>Wouldn't·it·be·great·if·we·could·add·some·simple·auto-completion·for·our·shell?·We·can·do·that
259 by·setting·a·<a·href="edlin_expand.html"><code·class="inline">edlin_expand</code></a>·fun·for·our·shell.·This·is·done·by·calling·<a·href="io.html#setopts/2"><code·class="inline">io:setopts([{expand_fun,·Fun}])</code></a>.·The·fun·that·we·provide·is·will·receive·the·reversed·current·line·from259 by·setting·a·<a·href="edlin_expand.html"><code·class="inline">edlin_expand</code></a>·fun·for·our·shell.·This·is·done·by·calling·<a·href="io.html#setopts/2"><code·class="inline">io:setopts([{expand_fun,·Fun}])</code></a>.·The·fun·that·we·provide·is·will·receive·the·reversed·current·line·from
260 <a·href="edlin.html"><code·class="inline">edlin</code></a>·and·is·expected·to·return·possible·expansions.·Let's·start·by·adding·a·simple·fun·to260 <a·href="edlin.html"><code·class="inline">edlin</code></a>·and·is·expected·to·return·possible·expansions.·Let's·start·by·adding·a·simple·fun·to
261 expand·our·commands.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">start</span><span·class="p"·data-group-id="0454142965-1">(</span><span·class="p"·data-group-id="0454142965-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">pid</span><span·class="p"·data-group-id="0454142965-2">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·2260182fb0c7496e77bc74452269c13a68ceb874329ada4f6222e149f6df8849·...·]-2">)</span><span·class="p">.</span><span·class="w">261 expand·our·commands.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">start</span><span·class="p"·data-group-id="6598614371-1">(</span><span·class="p"·data-group-id="6598614371-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">pid</span><span·class="p"·data-group-id="6598614371-2">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·2ac94763dd9680694479bcfd8ea7457bf91d17e69e981a2f40aa25d293578cd6·...·]-2">)</span><span·class="p">.</span><span·class="w">
262 </span><span·class="nf">start</span><span·class="p"·data-group-id="0454142965-3">(</span><span·class="p"·data-group-id="0454142965-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">262 </span><span·class="nf">start</span><span·class="p"·data-group-id="6598614371-3">(</span><span·class="p"·data-group-id="6598614371-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
263 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="0454142965-4">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0454142965-5">(</span><span·class="p"·data-group-id="0454142965-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">263 ····</span><span·class="nf">spawn</span><span·class="p"·data-group-id="6598614371-4">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6598614371-5">(</span><span·class="p"·data-group-id="6598614371-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
264 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">setopts</span><span·class="p"·data-group-id="0454142965-6">(</span><span·class="p"·data-group-id="0454142965-7">[</span><span·class="p"·data-group-id="0454142965-8">{</span><span·class="ss">expand_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·234,·SHA:·e844fc8b8f5e1c40e68704196ccb18a9b269bd495e0681506636ef10c06ff43d·...·]-6">)</span><span·class="p">,</span><span·class="w">264 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">setopts</span><span·class="p"·data-group-id="6598614371-6">(</span><span·class="p"·data-group-id="6598614371-7">[</span><span·class="p"·data-group-id="6598614371-8">{</span><span·class="ss">expand_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·234,·SHA:·f5b0264ff11576a6a0e0e28d6cc7c1f3fb49878488df719f42222d1726e7a063·...·]-6">)</span><span·class="p">,</span><span·class="w">
265 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0454142965-9">(</span><span·class="s">~&quot;Starting·process·inspection·shell</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="0454142965-9">)</span><span·class="p">,</span><span·class="w">265 ··················</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6598614371-9">(</span><span·class="s">~&quot;Starting·process·inspection·shell</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p"·data-group-id="6598614371-9">)</span><span·class="p">,</span><span·class="w">
266 ··················</span><span·class="nf">loop</span><span·class="p"·data-group-id="0454142965-10">(</span><span·class="p"·data-group-id="0454142965-10">)</span><span·class="w">266 ··················</span><span·class="nf">loop</span><span·class="p"·data-group-id="6598614371-10">(</span><span·class="p"·data-group-id="6598614371-10">)</span><span·class="w">
267 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="0454142965-4">)</span><span·class="p">.</span><span·class="w">267 ··········</span><span·class="k">end</span><span·class="p"·data-group-id="6598614371-4">)</span><span·class="p">.</span><span·class="w">
268 </span><span·class="w">268 </span><span·class="w">
269 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="0454142965-11">(</span><span·class="n">ReverseLine</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="0454142965-12">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·795,·SHA:·9904c10f3c93bbd39df198da8dac96b003a5ea5f237d114a1717de09951f7062·...·]-13">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">269 </span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="6598614371-11">(</span><span·class="n">ReverseLine</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="6598614371-12">(</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·795,·SHA:·c54e751b2211294602b7ed13e3297101109ca476fc33241e7c4cbc4ea05b2173·...·]-13">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
270 ··········</span><span·class="p"·data-group-id="0454142965-17">{</span><span·class="ss">no</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">nil</span><span·class="p"·data-group-id="0454142965-18">(</span><span·class="p"·data-group-id="0454142965-18">)</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·200,·SHA:·066daa3186617fa5d910dc962887842db79de018aa478bc5ddc07c2a79a1662a·...·]-17">}</span><span·class="p">.</span><span·class="w">270 ··········</span><span·class="p"·data-group-id="6598614371-17">{</span><span·class="ss">no</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">nil</span><span·class="p"·data-group-id="6598614371-18">(</span><span·class="p"·data-group-id="6598614371-18">)</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·200,·SHA:·375b815adad1c84cdfc961b8848a90a8be895f587dd775c562578de689051ff2·...·]-17">}</span><span·class="p">.</span><span·class="w">
271 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="0454142965-20">(</span><span·class="s">&quot;&quot;</span><span·class="p"·data-group-id="0454142965-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="c1">%%·If·line·is·empty,·we·list·all·available·commands</span><span·class="w">271 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="6598614371-20">(</span><span·class="s">&quot;&quot;</span><span·class="p"·data-group-id="6598614371-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="c1">%%·If·line·is·empty,·we·list·all·available·commands</span><span·class="w">
272 ····</span><span·class="p"·data-group-id="0454142965-21">{</span><span·class="ss">yes</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0454142965-22">[</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·382,·SHA:·80f40c4fcdcbf82b9f66ea7d828fbd0fb6b27c38ba685689e186e29150aa0ea0·...·]-21">}</span><span·class="p">;</span><span·class="w">272 ····</span><span·class="p"·data-group-id="6598614371-21">{</span><span·class="ss">yes</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6598614371-22">[</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·382,·SHA:·adc987c07fd1f3c73d6ddac1ac52d1342768bc76467232a9dfb0430e6b86067a·...·]-21">}</span><span·class="p">;</span><span·class="w">
273 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="0454142965-23">(</span><span·class="n">Curr</span><span·class="p"·data-group-id="0454142965-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">273 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="6598614371-23">(</span><span·class="n">Curr</span><span·class="p"·data-group-id="6598614371-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
274 ····</span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="0454142965-24">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="0454142965-25">(</span><span·class="n">Curr</span><span·class="p"·data-group-id="0454142965-25">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·491,·SHA:·277730ce61c0031b86eeb029fd412a43296c6d68cc62131535e2cc5f3e5e8cc1·...·]-24">)</span><span·class="p">.</span><span·class="w">274 ····</span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="6598614371-24">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="6598614371-25">(</span><span·class="n">Curr</span><span·class="p"·data-group-id="6598614371-25">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·491,·SHA:·965824741eb4acdb0b1808025c27896112ee47d72337d710575853a03ecaf369·...·]-24">)</span><span·class="p">.</span><span·class="w">
  
275 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="0454142965-27">(</span><span·class="p">_</span><span·class="n">Curr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0454142965-28">[</span><span·class="p"·data-group-id="0454142965-28">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·52ed701a7254b3282a0de6d6e1da039f75d0945235a73c1a255d64fdd81f91f7·...·]-27">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">275 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="6598614371-27">(</span><span·class="p">_</span><span·class="n">Curr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6598614371-28">[</span><span·class="p"·data-group-id="6598614371-28">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·3a024785759b400dd75858b6198ae95b2b8878fe90577d910296c4fdccc4b937·...·]-27">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
276 ····</span><span·class="p"·data-group-id="0454142965-29">{</span><span·class="ss">no</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0454142965-30">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·73,·SHA:·577617d328dc3da1f4ce249b00b3c4a42c5a4079a9c9cc715bbccc26805b131c·...·]-29">}</span><span·class="p">;</span><span·class="w">276 ····</span><span·class="p"·data-group-id="6598614371-29">{</span><span·class="ss">no</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6598614371-30">[</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·73,·SHA:·3cfd8624ad82d71ea7e6ec5366876e4faaa34ba771754fdd3252e471ac87b039·...·]-29">}</span><span·class="p">;</span><span·class="w">
277 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="0454142965-31">(</span><span·class="n">Curr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0454142965-32">[</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·113,·SHA:·34e1f9743361ac5fe686283cacfaa9f1c81f235f7a074a6ad8021d30af7c2318·...·]-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">277 </span><span·class="nf">expand_fun</span><span·class="p"·data-group-id="6598614371-31">(</span><span·class="n">Curr</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6598614371-32">[</span><span·class="n">Cmd</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·113,·SHA:·5a87c3382c9abccd036ec65f9c2e351e64d87b792173e9687f5be9d9e769a894·...·]-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
278 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">prefix</span><span·class="p"·data-group-id="0454142965-33">(</span><span·class="n">Curr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cmd</span><span·class="p"·data-group-id="0454142965-33">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">278 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">prefix</span><span·class="p"·data-group-id="6598614371-33">(</span><span·class="n">Curr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cmd</span><span·class="p"·data-group-id="6598614371-33">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
Max diff block lines reached; 4408/65529 bytes (6.73%) of diff not shown.
833 B
html2text {}
Max HTML report size reached
26.8 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/dets.html
    
Offset 1846, 22 lines modifiedOffset 1846, 22 lines modified
  
1846 ··········<pre·translate="no"><span·class="attribute">-spec</span>·lookup(Name,·Key)·->·Objects·|·{error,·Reason}1846 ··········<pre·translate="no"><span·class="attribute">-spec</span>·lookup(Name,·Key)·->·Objects·|·{error,·Reason}
1847 ················when·Name·::·<a·href="#t:tab_name/0">tab_name</a>(),·Key·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·Objects·::·[<a·href="#t:object/0">object</a>()],·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>1847 ················when·Name·::·<a·href="#t:tab_name/0">tab_name</a>(),·Key·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·Objects·::·[<a·href="#t:object/0">object</a>()],·Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
1848 ······</div>1848 ······</div>
  
1849 <p>Returns·a·list·of·all·objects·with·key·<code·class="inline">Key</code>·stored·in·table·<code·class="inline">Name</code>,·for1849 <p>Returns·a·list·of·all·objects·with·key·<code·class="inline">Key</code>·stored·in·table·<code·class="inline">Name</code>,·for
1850 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">open_file</span><span·class="p"·data-group-id="1306864697-1">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1306864697-2">[</span><span·class="p"·data-group-id="1306864697-3">{</span><span·class="ss">type</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·197,·SHA:·f65c64b612e0431db7b77e31e0e9b76cee3436fb95c8ee538cdfecdc9d698bb6·...·]-1">)</span><span·class="p">.</span><span·class="w">1850 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">open_file</span><span·class="p"·data-group-id="4644025984-1">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4644025984-2">[</span><span·class="p"·data-group-id="4644025984-3">{</span><span·class="ss">type</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·197,·SHA:·8c29f60e7f9dd5b3ecbf661d010068353b239778d33bfa74d9e059ded94b2f84·...·]-1">)</span><span·class="p">.</span><span·class="w">
1851 </span><span·class="p"·data-group-id="1306864697-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">abc</span><span·class="p"·data-group-id="1306864697-4">}</span><span·class="gp·unselectable">1851 </span><span·class="p"·data-group-id="4644025984-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">abc</span><span·class="p"·data-group-id="4644025984-4">}</span><span·class="gp·unselectable">
1852 3&gt;·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="1306864697-5">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1306864697-6">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·111,·SHA:·ed867164d4603e4021ab5e058fa32d83f0461b59987165d89eca2606dda09878·...·]-5">)</span><span·class="p">.</span><span·class="w">1852 3&gt;·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="4644025984-5">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4644025984-6">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·111,·SHA:·5d27f6c884984677786f01decc9bb3ff87b036c87698810a11296dcdd0a77956·...·]-5">)</span><span·class="p">.</span><span·class="w">
1853 </span><span·class="ss">ok</span><span·class="gp·unselectable">1853 </span><span·class="ss">ok</span><span·class="gp·unselectable">
1854 4&gt;·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="1306864697-7">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1306864697-8">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·111,·SHA:·c1386c542f119ad117b70275ab84058de9fb294c0c86b6835a3ba4a34552bc0c·...·]-7">)</span><span·class="p">.</span><span·class="w">1854 4&gt;·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="4644025984-7">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4644025984-8">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·111,·SHA:·d7dd65156d509d8cfb27ac1a7e295494b52f58f88fa66ac4698d452f2ee69298·...·]-7">)</span><span·class="p">.</span><span·class="w">
1855 </span><span·class="ss">ok</span><span·class="gp·unselectable">1855 </span><span·class="ss">ok</span><span·class="gp·unselectable">
1856 5&gt;·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">lookup</span><span·class="p"·data-group-id="1306864697-9">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="1306864697-9">)</span><span·class="p">.</span><span·class="w">1856 5&gt;·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">lookup</span><span·class="p"·data-group-id="4644025984-9">(</span><span·class="ss">abc</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="4644025984-9">)</span><span·class="p">.</span><span·class="w">
1857 </span><span·class="p"·data-group-id="1306864697-10">[</span><span·class="p"·data-group-id="1306864697-11">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="1306864697-11">}</span><s[·...·truncated·by·diffoscope;·len:·294,·SHA:·ec89f00b977fb70152739920dbd787122d8f4e12b8a1dba08b360ac3e39a80b2·...·]-10">]</span></code></pre><p>If·the·table·type·is·<code·class="inline">set</code>,·the·function·returns·either·the·empty·list·or·a·list1857 </span><span·class="p"·data-group-id="4644025984-10">[</span><span·class="p"·data-group-id="4644025984-11">{</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="4644025984-11">}</span><s[·...·truncated·by·diffoscope;·len:·294,·SHA:·e488e941207d6be19c6901f20ec268f290c0b853831d7ad44007e9d7454bb901·...·]-10">]</span></code></pre><p>If·the·table·type·is·<code·class="inline">set</code>,·the·function·returns·either·the·empty·list·or·a·list
1858 with·one·object,·as·there·cannot·be·more·than·one·object·with·a·given·key.·If1858 with·one·object,·as·there·cannot·be·more·than·one·object·with·a·given·key.·If
1859 the·table·type·is·<code·class="inline">bag</code>·or·<code·class="inline">duplicate_bag</code>,·the·function·returns·a·list·of1859 the·table·type·is·<code·class="inline">bag</code>·or·<code·class="inline">duplicate_bag</code>,·the·function·returns·a·list·of
1860 arbitrary·length.</p><p>Notice·that·the·order·of·objects·returned·is·unspecified.·In·particular,·the1860 arbitrary·length.</p><p>Notice·that·the·order·of·objects·returned·is·unspecified.·In·particular,·the
1861 order·in·which·objects·were·inserted·is·not·reflected.</p>1861 order·in·which·objects·were·inserted·is·not·reflected.</p>
1862 ··</section>1862 ··</section>
1863 </section>1863 </section>
1864 <section·class="detail"·id="match/1">1864 <section·class="detail"·id="match/1">
Offset 2666, 19 lines modifiedOffset 2666, 19 lines modified
2666 by·<code·class="inline">qlc</code>:</p><ul><li>Simple·filters·are·translated·into·equivalent·match·specifications.</li><li>More·complicated·filters·must·be·applied·to·all·objects·returned·by2666 by·<code·class="inline">qlc</code>:</p><ul><li>Simple·filters·are·translated·into·equivalent·match·specifications.</li><li>More·complicated·filters·must·be·applied·to·all·objects·returned·by
2667 <a·href="#select/3"><code·class="inline">select/3</code></a>·given·a·match·specification·that·matches·all2667 <a·href="#select/3"><code·class="inline">select/3</code></a>·given·a·match·specification·that·matches·all
2668 objects.</li></ul></li><li><p><code·class="inline">{select,</code>·<a·href="#t:match_spec/0"><code·class="inline">match_spec/0</code></a>·<code·class="inline">}</code>·-·As·for·<code·class="inline">select</code>,·the·table·is·traversed·by2668 objects.</li></ul></li><li><p><code·class="inline">{select,</code>·<a·href="#t:match_spec/0"><code·class="inline">match_spec/0</code></a>·<code·class="inline">}</code>·-·As·for·<code·class="inline">select</code>,·the·table·is·traversed·by
2669 calling·<a·href="#select/3"><code·class="inline">dets:select/3</code></a>·and·<a·href="#select/1"><code·class="inline">dets:select/1</code></a>.·The·difference·is·that·the·match2669 calling·<a·href="#select/3"><code·class="inline">dets:select/3</code></a>·and·<a·href="#select/1"><code·class="inline">dets:select/1</code></a>.·The·difference·is·that·the·match
2670 specification·is·specified·explicitly.·This·is·how·to·state·match2670 specification·is·specified·explicitly.·This·is·how·to·state·match
2671 specifications·that·cannot·easily·be·expressed·within·the·syntax·provided·by2671 specifications·that·cannot·easily·be·expressed·within·the·syntax·provided·by
2672 <code·class="inline">qlc</code>.</p></li></ul><p>The·following·example·uses·an·explicit·match·specification·to·traverse·the2672 <code·class="inline">qlc</code>.</p></li></ul><p>The·following·example·uses·an·explicit·match·specification·to·traverse·the
2673 table:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">open_file</span><span·class="p"·data-group-id="7886569518-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7886569518-2">[</span><span·class="p"·data-group-id="7886569518-2">]</span><span·class="p"·data-group-id="7886569518-1">)</span><span·class="p">,</span><span·class="w">2673 table:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">open_file</span><span·class="p"·data-group-id="4259250888-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4259250888-2">[</span><span·class="p"·data-group-id="4259250888-2">]</span><span·class="p"·data-group-id="4259250888-1">)</span><span·class="p">,</span><span·class="w">
2674 </span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="7886569518-3">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7886569518-4">[</span><span·class="p"·data-group-id="7886569518-5">{</span><span·class="mi">1</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·777,·SHA:·fc31dfea2dece3721abb1bd976287413e3754144a570937851da816130360dec·...·]8-3">)</span><span·class="p">,</span><span·class="w">2674 </span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="4259250888-3">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4259250888-4">[</span><span·class="p"·data-group-id="4259250888-5">{</span><span·class="mi">1</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·777,·SHA:·9bac80a28d023f00ede9fa9faf255ea46d40e65eec11c17e2c18e8d15f688021·...·]8-3">)</span><span·class="p">,</span><span·class="w">
2675 </span><span·class="n">MS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="7886569518-9">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7886569518-10">(</span><span·class="p"·data-group-id="7886569518-11">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">Y</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·993,·SHA:·c0f696eefd3aac6ead9e20cf9b4495380b7bfea53b9ca9c485876b206ad2f627·...·]8-9">)</span><span·class="p">,</span><span·class="w">2675 </span><span·class="n">MS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="4259250888-9">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4259250888-10">(</span><span·class="p"·data-group-id="4259250888-11">{</span><span·class="n">X</span><span·class="p">,</span><span·class="n">Y</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·993,·SHA:·a1a6a27fb902d7933bc1076c199554940930040b742e36db149a5adb98eed1cc·...·]8-9">)</span><span·class="p">,</span><span·class="w">
2676 </span><span·class="n">QH1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">table</span><span·class="p"·data-group-id="7886569518-15">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7886569518-16">[</span><span·class="p"·data-group-id="7886569518-17">{</span><span·class="ss">traverse</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·2206,·SHA:·3709ee4e854fb0935e004cb5f2dc88792c28effa17d69848d39ba0abe5e9bdfd·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·latter·example·is·equivalent·to·the·former,·which·can·be·verified·using2676 </span><span·class="n">QH1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dets</span><span·class="p">:</span><span·class="nf">table</span><span·class="p"·data-group-id="4259250888-15">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4259250888-16">[</span><span·class="p"·data-group-id="4259250888-17">{</span><span·class="ss">traverse</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·2206,·SHA:·da0497531b2e4dcf278c0d5da8a69df206d832d12d953fda2543100e5057fa6b·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·latter·example·is·equivalent·to·the·former,·which·can·be·verified·using
2677 function·<a·href="qlc.html#info/1"><code·class="inline">qlc:info/1</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">qlc</span><span·class="p">:</span><span·class="nf">info</span><span·class="p"·data-group-id="3586005183-1">(</span><span·class="n">QH1</span><span·class="p"·data-group-id="3586005183-1">)</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="nc">qlc</span><span·class="p">:</span><span·class="nf">info</span><s[·...·truncated·by·diffoscope;·len:·118,·SHA:·e95b76fdc599e56fbb1b22561b46586dd143bba07fb9862a36982216129c7a25·...·]-2">)</span><span·class="p">.</span><span·class="w">2677 function·<a·href="qlc.html#info/1"><code·class="inline">qlc:info/1</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">qlc</span><span·class="p">:</span><span·class="nf">info</span><span·class="p"·data-group-id="6900334254-1">(</span><span·class="n">QH1</span><span·class="p"·data-group-id="6900334254-1">)</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="nc">qlc</span><span·class="p">:</span><span·class="nf">info</span><s[·...·truncated·by·diffoscope;·len:·118,·SHA:·b11ce8227ba90e7180434de28222ac5917ab25fa75696528df5205582923021c·...·]-2">)</span><span·class="p">.</span><span·class="w">
2678 </span><span·class="ss">true</span></code></pre><p><a·href="qlc.html#info/1"><code·class="inline">qlc:info/1</code></a>·returns·information·about·a·query·handle.·In·this·case·identical2678 </span><span·class="ss">true</span></code></pre><p><a·href="qlc.html#info/1"><code·class="inline">qlc:info/1</code></a>·returns·information·about·a·query·handle.·In·this·case·identical
2679 information·is·returned·for·the·two·query·handles.</p>2679 information·is·returned·for·the·two·query·handles.</p>
2680 ··</section>2680 ··</section>
2681 </section>2681 </section>
2682 <section·class="detail"·id="to_ets/2">2682 <section·class="detail"·id="to_ets/2">
  
2683 ··<div·class="detail-header">2683 ··<div·class="detail-header">
Offset 2740, 15 lines modifiedOffset 2740, 15 lines modified
2740 ······················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>2740 ······················Reason·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>().</pre>
  
2741 ······</div>2741 ······</div>
  
2742 <p>Applies·<code·class="inline">Fun</code>·to·each·object·stored·in·table·<code·class="inline">Name</code>·in·some·unspecified·order.2742 <p>Applies·<code·class="inline">Fun</code>·to·each·object·stored·in·table·<code·class="inline">Name</code>·in·some·unspecified·order.
2743 Different·actions·are·taken·depending·on·the·return·value·of·<code·class="inline">Fun</code>.·The2743 Different·actions·are·taken·depending·on·the·return·value·of·<code·class="inline">Fun</code>.·The
2744 following·<code·class="inline">Fun</code>·return·values·are·allowed:</p><ul><li><p><strong><code·class="inline">continue</code></strong>·-·Continue·to·perform·the·traversal.·For·example,·the·following2744 following·<code·class="inline">Fun</code>·return·values·are·allowed:</p><ul><li><p><strong><code·class="inline">continue</code></strong>·-·Continue·to·perform·the·traversal.·For·example,·the·following
2745 function·can·be·used·to·print·the·contents·of·a·table:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="1537270926-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="1537270926-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><[·...·truncated·by·diffoscope;·len:·381,·SHA:·8d04fba0ed4c2cb6d08f01d49f0ea3104ce3042bfbdcf9a48eb9f9d66201b01d·...·]-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">continue</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span></code></pre></li><li><p><strong><code·class="inline">{continue,·Val}</code></strong>·-·Continue·the·traversal·and·accumulate·<code·class="inline">Val</code>.·The2745 function·can·be·used·to·print·the·contents·of·a·table:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="4425549873-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="4425549873-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><[·...·truncated·by·diffoscope;·len:·381,·SHA:·6bda7de8c5f7a3d0208dca27fbe111bfc9f6eb06f344cc8b24689883fb65e8e7·...·]-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">continue</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span></code></pre></li><li><p><strong><code·class="inline">{continue,·Val}</code></strong>·-·Continue·the·traversal·and·accumulate·<code·class="inline">Val</code>.·The
2746 following·function·is·supplied·to·collect·all·objects·of·a·table·in·a·list:</p><pre><code·class="text">fun(X)·-&gt;·{continue,·X}·end.</code></pre></li><li><p><strong><code·class="inline">{done,·Value}</code></strong>·-·Terminate·the·traversal·and·return·<code·class="inline">[Value·|·Acc]</code>.</p></li></ul><p>Any·other·value·<code·class="inline">OtherValue</code>·returned·by·<code·class="inline">Fun</code>·terminates·the·traversal·and·is2746 following·function·is·supplied·to·collect·all·objects·of·a·table·in·a·list:</p><pre><code·class="text">fun(X)·-&gt;·{continue,·X}·end.</code></pre></li><li><p><strong><code·class="inline">{done,·Value}</code></strong>·-·Terminate·the·traversal·and·return·<code·class="inline">[Value·|·Acc]</code>.</p></li></ul><p>Any·other·value·<code·class="inline">OtherValue</code>·returned·by·<code·class="inline">Fun</code>·terminates·the·traversal·and·is
2747 returned·immediately.</p>2747 returned·immediately.</p>
2748 ··</section>2748 ··</section>
2749 </section>2749 </section>
2750 <section·class="detail"·id="update_counter/3">2750 <section·class="detail"·id="update_counter/3">
  
2751 ··<div·class="detail-header">2751 ··<div·class="detail-header">
Offset 2809, 15 lines modifiedOffset 2809, 15 lines modified
2809 ······<p·class="built-using">2809 ······<p·class="built-using">
2810 ········Built·using2810 ········Built·using
2811 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2811 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2812 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2812 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2813 ······</p>2813 ······</p>
2814 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2814 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2815 ····</footer>2815 ····</footer>
2816 ··</div>2816 ··</div>
2817 </main>2817 </main>
2818 </div>2818 </div>
2819 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2819 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2820 ··<script>2820 ··<script>
2821 ··let·initialized·=·false;2821 ··let·initialized·=·false;
716 B
html2text {}
Max HTML report size reached
20.8 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/dict.html
    
Offset 134, 21 lines modifiedOffset 134, 21 lines modified
134 do·not·compare·equal·(<code·class="inline">==</code>).</p><h2·id="module-notes"·class="section-heading">134 do·not·compare·equal·(<code·class="inline">==</code>).</p><h2·id="module-notes"·class="section-heading">
135 ··<a·href="#module-notes"·class="hover-link">135 ··<a·href="#module-notes"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Notes</span>138 ··<span·class="text">Notes</span>
139 </h2>139 </h2>
140 <p><a·href=""·id="notes"></a></p><p>Functions·<code·class="inline">append</code>·and·<code·class="inline">append_list</code>·are·included·so·that·keyed·values·can·be140 <p><a·href=""·id="notes"></a></p><p>Functions·<code·class="inline">append</code>·and·<code·class="inline">append_list</code>·are·included·so·that·keyed·values·can·be
141 stored·in·a·list·<em>accumulator</em>,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">D0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dict</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="7400339068-1">(</span><span·class="p"·data-group-id="7400339068-1">)</span><span·class="p">,</span><span·class="w">141 stored·in·a·list·<em>accumulator</em>,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">D0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dict</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="9416931678-1">(</span><span·class="p"·data-group-id="9416931678-1">)</span><span·class="p">,</span><span·class="w">
142 ··</span><span·class="n">D1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dict</span><span·class="p">:</span><span·class="nf">store</span><span·class="p"·data-group-id="7400339068-2">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7400339068-3">[</span><span·class="p"·data-group-id="7400339068-3">]</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·62,·SHA:·8dbce1b30d4ab71580e534e2b9f4c41189618fc6caaf9049c38f5d6930558d14·...·]8-2">)</span><span·class="p">,</span><span·class="w">142 ··</span><span·class="n">D1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dict</span><span·class="p">:</span><span·class="nf">store</span><span·class="p"·data-group-id="9416931678-2">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9416931678-3">[</span><span·class="p"·data-group-id="9416931678-3">]</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·62,·SHA:·51d71542a44f3dbd11fcf237882273f3583bffb3a431ce42b1e37ecb3366334d·...·]8-2">)</span><span·class="p">,</span><span·class="w">
143 ··</span><span·class="n">D2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="7400339068-4">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D1</span><span·class="p"·data-group-id="7400339068-4">)</span><span·class="p">,</span><span·class="w">143 ··</span><span·class="n">D2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="9416931678-4">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D1</span><span·class="p"·data-group-id="9416931678-4">)</span><span·class="p">,</span><span·class="w">
144 ··</span><span·class="n">D3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="7400339068-5">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D2</span><span·class="p"·data-group-id="7400339068-5">)</span><span·class="p">,</span><span·class="w">144 ··</span><span·class="n">D3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="9416931678-5">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D2</span><span·class="p"·data-group-id="9416931678-5">)</span><span·class="p">,</span><span·class="w">
145 ··</span><span·class="n">D4</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="7400339068-6">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D3</span><span·class="p"·data-group-id="7400339068-6">)</span><span·class="p">,</span><span·class="w">145 ··</span><span·class="n">D4</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">dict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="9416931678-6">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D3</span><span·class="p"·data-group-id="9416931678-6">)</span><span·class="p">,</span><span·class="w">
146 ··</span><span·class="nc">dict</span><span·class="p">:</span><span·class="nf">fetch</span><span·class="p"·data-group-id="7400339068-7">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D4</span><span·class="p"·data-group-id="7400339068-7">)</span><span·class="p">.</span><span·class="w">146 ··</span><span·class="nc">dict</span><span·class="p">:</span><span·class="nf">fetch</span><span·class="p"·data-group-id="9416931678-7">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D4</span><span·class="p"·data-group-id="9416931678-7">)</span><span·class="p">.</span><span·class="w">
147 </span><span·class="p"·data-group-id="7400339068-8">[</span><span·class="ss">f1</span><span·class="p">,</span><span·class="ss">f2</span><span·class="p">,</span><span·class="ss">f3</span><span·class="p"·data-group-id="7400339068-8">]</span></code></pre><p>This·saves·the·trouble·of·first·fetching·a·keyed·value,·appending·a·new·value·to147 </span><span·class="p"·data-group-id="9416931678-8">[</span><span·class="ss">f1</span><span·class="p">,</span><span·class="ss">f2</span><span·class="p">,</span><span·class="ss">f3</span><span·class="p"·data-group-id="9416931678-8">]</span></code></pre><p>This·saves·the·trouble·of·first·fetching·a·keyed·value,·appending·a·new·value·to
148 the·list·of·stored·values,·and·storing·the·result.</p><p>Function·<code·class="inline">fetch</code>·is·to·be·used·if·the·key·is·known·to·be·in·the·dictionary,148 the·list·of·stored·values,·and·storing·the·result.</p><p>Function·<code·class="inline">fetch</code>·is·to·be·used·if·the·key·is·known·to·be·in·the·dictionary,
149 otherwise·function·<code·class="inline">find</code>.</p><h2·id="module-see-also"·class="section-heading">149 otherwise·function·<code·class="inline">find</code>.</p><h2·id="module-see-also"·class="section-heading">
150 ··<a·href="#module-see-also"·class="hover-link">150 ··<a·href="#module-see-also"·class="hover-link">
151 ····<i·class="ri-link-m"·aria-hidden="true"></i>151 ····<i·class="ri-link-m"·aria-hidden="true"></i>
152 ··</a>152 ··</a>
153 ··<span·class="text">See·Also</span>153 ··<span·class="text">See·Also</span>
154 </h2>154 </h2>
Offset 871, 18 lines modifiedOffset 871, 18 lines modified
  
871 ······</div>871 ······</div>
  
872 <p>Merges·two·dictionaries,·<code·class="inline">Dict1</code>·and·<code·class="inline">Dict2</code>,·to·create·a·new·dictionary.·All872 <p>Merges·two·dictionaries,·<code·class="inline">Dict1</code>·and·<code·class="inline">Dict2</code>,·to·create·a·new·dictionary.·All
873 the·<code·class="inline">Key</code>-<code·class="inline">Value</code>·pairs·from·both·dictionaries·are·included·in·the·new873 the·<code·class="inline">Key</code>-<code·class="inline">Value</code>·pairs·from·both·dictionaries·are·included·in·the·new
874 dictionary.·If·a·key·occurs·in·both·dictionaries,·<code·class="inline">Fun</code>·is·called·with·the·key874 dictionary.·If·a·key·occurs·in·both·dictionaries,·<code·class="inline">Fun</code>·is·called·with·the·key
875 and·both·values·to·return·a·new·value.·<code·class="inline">merge</code>·can·be·defined·as·follows,·but·is875 and·both·values·to·return·a·new·value.·<code·class="inline">merge</code>·can·be·defined·as·follows,·but·is
876 faster:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">merge</span><span·class="p"·data-group-id="6620096888-1">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D2</span><span·class="p"·data-group-id="6620096888-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">876 faster:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">merge</span><span·class="p"·data-group-id="1764563712-1">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D2</span><span·class="p"·data-group-id="1764563712-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
877 ····</span><span·class="nf">fold</span><span·class="p"·data-group-id="6620096888-2">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6620096888-3">(</span><span·class="n">K</span><span·class="p">,</span><span·class="w">·</span><span·class="n">V1</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·80,·SHA:·43201ca27e6dffd85829a85f6b2d97140cef0c5d35addc981fc2f204f94b4c65·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">877 ····</span><span·class="nf">fold</span><span·class="p"·data-group-id="1764563712-2">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="1764563712-3">(</span><span·class="n">K</span><span·class="p">,</span><span·class="w">·</span><span·class="n">V1</span><span·class="p">,</span><span·cla[·...·truncated·by·diffoscope;·len:·80,·SHA:·ccf178a2140dfb8253d8a7b1d7168752258a77e94b647092a22a22fba0ad2f12·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
878 ·················</span><span·class="nf">update</span><span·class="p"·data-group-id="6620096888-4">(</span><span·class="n">K</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="6620096888-5">(</span><span·class="n">V2</span><span·class="p"·data-group-id="66[·...·truncated·by·diffoscope;·len:·634,·SHA:·98a0f82d041e87ee095b6a3b1e02901c3e5e09685384311f5d6e66471c4c9d28·...·]-4">)</span><span·class="w">878 ·················</span><span·class="nf">update</span><span·class="p"·data-group-id="1764563712-4">(</span><span·class="n">K</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="1764563712-5">(</span><span·class="n">V2</span><span·class="p"·data-group-id="17[·...·truncated·by·diffoscope;·len:·634,·SHA:·c71b9b18e53038c0e32ce902ba4c1bc1692e4ef763028c78639e11e2d7f5d3d7·...·]-4">)</span><span·class="w">
879 ·········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D1</span><span·class="p"·data-group-id="6620096888-2">)</span><span·class="p">.</span></code></pre>879 ·········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D1</span><span·class="p"·data-group-id="1764563712-2">)</span><span·class="p">.</span></code></pre>
880 ··</section>880 ··</section>
881 </section>881 </section>
882 <section·class="detail"·id="new/0">882 <section·class="detail"·id="new/0">
  
883 ··<div·class="detail-header">883 ··<div·class="detail-header">
884 ····<a·href="#new/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">884 ····<a·href="#new/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
885 ······<i·class="ri-link-m"·aria-hidden="true"></i>885 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1073, 16 lines modifiedOffset 1073, 16 lines modified
1073 ····················Fun·::·fun((Value1·::·Value)·->·Value2·::·Value),1073 ····················Fun·::·fun((Value1·::·Value)·->·Value2·::·Value),
1074 ····················Initial·::·Value.</pre>1074 ····················Initial·::·Value.</pre>
  
1075 ······</div>1075 ······</div>
  
1076 <p>Updates·a·value·in·a·dictionary·by·calling·<code·class="inline">Fun</code>·on·the·value·to·get·a·new1076 <p>Updates·a·value·in·a·dictionary·by·calling·<code·class="inline">Fun</code>·on·the·value·to·get·a·new
1077 value.·If·<code·class="inline">Key</code>·is·not·present·in·the·dictionary,·<code·class="inline">Initial</code>·is·stored·as·the1077 value.·If·<code·class="inline">Key</code>·is·not·present·in·the·dictionary,·<code·class="inline">Initial</code>·is·stored·as·the
1078 first·value.·For·example,·<a·href="#append/3"><code·class="inline">append/3</code></a>·can·be·defined·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">append</span><span·class="p"·data-group-id="2466237248-1">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Val</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="2466237248-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1078 first·value.·For·example,·<a·href="#append/3"><code·class="inline">append/3</code></a>·can·be·defined·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">append</span><span·class="p"·data-group-id="5958563253-1">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Val</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="5958563253-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1079 ····</span><span·class="nf">update</span><span·class="p"·data-group-id="2466237248-2">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="2466237248-3">(</span><span·class="n">Old</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·673,·SHA:·cac2e034aada4e392f8409321a38bf55730c2363707130b2da7153f100223fd9·...·]-2">)</span><span·class="p">.</span></code></pre>1079 ····</span><span·class="nf">update</span><span·class="p"·data-group-id="5958563253-2">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5958563253-3">(</span><span·class="n">Old</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·673,·SHA:·e1f3079bbfe4cee9c83eab4e04e90391b28c675c87749c852c4f758cae939d75·...·]-2">)</span><span·class="p">.</span></code></pre>
1080 ··</section>1080 ··</section>
1081 </section>1081 </section>
1082 <section·class="detail"·id="update_counter/3">1082 <section·class="detail"·id="update_counter/3">
  
1083 ··<div·class="detail-header">1083 ··<div·class="detail-header">
1084 ····<a·href="#update_counter/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1084 ····<a·href="#update_counter/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1085 ······<i·class="ri-link-m"·aria-hidden="true"></i>1085 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1103, 16 lines modifiedOffset 1103, 16 lines modified
1103 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_counter(Key,·Increment,·Dict1)·->·Dict21103 ··········<pre·translate="no"><span·class="attribute">-spec</span>·update_counter(Key,·Increment,·Dict1)·->·Dict2
1104 ························when·Dict1·::·<a·href="#t:dict/2">dict</a>(Key,·Value),·Dict2·::·<a·href="#t:dict/2">dict</a>(Key,·Value),·Increment·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:number/0">number</a>().</pre>1104 ························when·Dict1·::·<a·href="#t:dict/2">dict</a>(Key,·Value),·Dict2·::·<a·href="#t:dict/2">dict</a>(Key,·Value),·Increment·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:number/0">number</a>().</pre>
  
1105 ······</div>1105 ······</div>
  
1106 <p>Adds·<code·class="inline">Increment</code>·to·the·value·associated·with·<code·class="inline">Key</code>·and·stores·this·value.·If1106 <p>Adds·<code·class="inline">Increment</code>·to·the·value·associated·with·<code·class="inline">Key</code>·and·stores·this·value.·If
1107 <code·class="inline">Key</code>·is·not·present·in·the·dictionary,·<code·class="inline">Increment</code>·is·stored·as·the·first1107 <code·class="inline">Key</code>·is·not·present·in·the·dictionary,·<code·class="inline">Increment</code>·is·stored·as·the·first
1108 value.</p><p>This·can·be·defined·as·follows,·but·is·faster:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">update_counter</span><span·class="p"·data-group-id="7253665549-1">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Incr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="7253665549-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1108 value.</p><p>This·can·be·defined·as·follows,·but·is·faster:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">update_counter</span><span·class="p"·data-group-id="9047063865-1">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Incr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="9047063865-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1109 ····</span><span·class="nf">update</span><span·class="p"·data-group-id="7253665549-2">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="7253665549-3">(</span><span·class="n">Old</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·462,·SHA:·bb72dfbaf5cfdef5825e7de7a607d73d538ed4a027ed88d6d8eb655e74d93854·...·]-2">)</span><span·class="p">.</span></code></pre>1109 ····</span><span·class="nf">update</span><span·class="p"·data-group-id="9047063865-2">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="9047063865-3">(</span><span·class="n">Old</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·462,·SHA:·0d3182a96f2927788d4ababb1d9ad077991afbf23a83efbea5f24987b2e25176·...·]-2">)</span><span·class="p">.</span></code></pre>
1110 ··</section>1110 ··</section>
1111 </section>1111 </section>
  
1112 ····</div>1112 ····</div>
1113 ··</section>1113 ··</section>
  
1114 ····<footer·class="footer">1114 ····<footer·class="footer">
Offset 1133, 15 lines modifiedOffset 1133, 15 lines modified
1133 ······<p·class="built-using">1133 ······<p·class="built-using">
1134 ········Built·using1134 ········Built·using
1135 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1135 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1136 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1136 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1137 ······</p>1137 ······</p>
1138 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1138 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1139 ····</footer>1139 ····</footer>
1140 ··</div>1140 ··</div>
1141 </main>1141 </main>
1142 </div>1142 </div>
1143 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1143 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1144 ··<script>1144 ··<script>
1145 ··let·initialized·=·false;1145 ··let·initialized·=·false;
658 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/digraph.html
    
Offset 1758, 15 lines modifiedOffset 1758, 15 lines modified
1758 ······<p·class="built-using">1758 ······<p·class="built-using">
1759 ········Built·using1759 ········Built·using
1760 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1760 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1761 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1761 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1762 ······</p>1762 ······</p>
1763 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1763 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1764 ····</footer>1764 ····</footer>
1765 ··</div>1765 ··</div>
1766 </main>1766 </main>
1767 </div>1767 </div>
1768 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1768 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1769 ··<script>1769 ··<script>
1770 ··let·initialized·=·false;1770 ··let·initialized·=·false;
741 B
html2text {}
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/digraph_utils.html
    
Offset 1004, 15 lines modifiedOffset 1004, 15 lines modified
1004 ······<p·class="built-using">1004 ······<p·class="built-using">
1005 ········Built·using1005 ········Built·using
1006 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1006 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1007 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1007 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1008 ······</p>1008 ······</p>
1009 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1009 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1010 ····</footer>1010 ····</footer>
1011 ··</div>1011 ··</div>
1012 </main>1012 </main>
1013 </div>1013 </div>
1014 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1014 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1015 ··<script>1015 ··<script>
1016 ··let·initialized·=·false;1016 ··let·initialized·=·false;
769 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/edlin.html
    
Offset 336, 15 lines modifiedOffset 336, 15 lines modified
336 ······<p·class="built-using">336 ······<p·class="built-using">
337 ········Built·using337 ········Built·using
338 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the338 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
339 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>339 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
340 ······</p>340 ······</p>
341 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>341 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
342 ····</footer>342 ····</footer>
343 ··</div>343 ··</div>
344 </main>344 </main>
345 </div>345 </div>
346 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>346 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
347 ··<script>347 ··<script>
348 ··let·initialized·=·false;348 ··let·initialized·=·false;
764 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/edlin_expand.html
    
Offset 328, 15 lines modifiedOffset 328, 15 lines modified
328 ······<p·class="built-using">328 ······<p·class="built-using">
329 ········Built·using329 ········Built·using
330 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the330 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
331 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>331 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
332 ······</p>332 ······</p>
333 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>333 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
334 ····</footer>334 ····</footer>
335 ··</div>335 ··</div>
336 </main>336 </main>
337 </div>337 </div>
338 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>338 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
339 ··<script>339 ··<script>
340 ··let·initialized·=·false;340 ··let·initialized·=·false;
683 B
html2text {}
Max HTML report size reached
4.26 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/epp.html
    
Offset 136, 15 lines modifiedOffset 136, 15 lines modified
136 <code·class="inline">Latin-1</code>·and·<code·class="inline">UTF-8</code>,·where·the·case·of·the·characters·can·be·chosen·freely.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·coding:·utf-8</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·For·this·file·we·have·chosen·encoding·=·Latin-1</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·-*-·coding:·latin-1·-*-</span></code></pre><h2·id="module-error-information"·class="section-heading">136 <code·class="inline">Latin-1</code>·and·<code·class="inline">UTF-8</code>,·where·the·case·of·the·characters·can·be·chosen·freely.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·coding:·utf-8</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·For·this·file·we·have·chosen·encoding·=·Latin-1</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·-*-·coding:·latin-1·-*-</span></code></pre><h2·id="module-error-information"·class="section-heading">
137 ··<a·href="#module-error-information"·class="hover-link">137 ··<a·href="#module-error-information"·class="hover-link">
138 ····<i·class="ri-link-m"·aria-hidden="true"></i>138 ····<i·class="ri-link-m"·aria-hidden="true"></i>
139 ··</a>139 ··</a>
140 ··<span·class="text">Error·Information</span>140 ··<span·class="text">Error·Information</span>
141 </h2>141 </h2>
142 <p><code·class="inline">ErrorInfo</code>·is·the·standard·<code·class="inline">ErrorInfo</code>·structure·that·is·returned·from·all·I/O142 <p><code·class="inline">ErrorInfo</code>·is·the·standard·<code·class="inline">ErrorInfo</code>·structure·that·is·returned·from·all·I/O
143 modules.·The·format·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9611810201-1">{</span><span·class="n">ErrorLine</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ErrorDescriptor</span><span·class="p"·data-group-id="96118102[·...·truncated·by·diffoscope;·len:·369,·SHA:·dce8a75d85a101814d974f4830508a19e26c0a915c9e29ef9e0add0c53ab1746·...·]-1">)</span></code></pre><h2·id="module-see-also"·class="section-heading">143 modules.·The·format·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6529921189-1">{</span><span·class="n">ErrorLine</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ErrorDescriptor</span><span·class="p"·data-group-id="65299211[·...·truncated·by·diffoscope;·len:·369,·SHA:·307ecdc7c27323f5d90d7527247f26f77a643dfb59dde07a0b232f7579a5b8ac·...·]-1">)</span></code></pre><h2·id="module-see-also"·class="section-heading">
144 ··<a·href="#module-see-also"·class="hover-link">144 ··<a·href="#module-see-also"·class="hover-link">
145 ····<i·class="ri-link-m"·aria-hidden="true"></i>145 ····<i·class="ri-link-m"·aria-hidden="true"></i>
146 ··</a>146 ··</a>
147 ··<span·class="text">See·Also</span>147 ··<span·class="text">See·Also</span>
148 </h2>148 </h2>
149 <p><a·href="erl_parse.html"><code·class="inline">erl_parse</code></a></p>149 <p><a·href="erl_parse.html"><code·class="inline">erl_parse</code></a></p>
150 ····</section>150 ····</section>
Offset 1185, 15 lines modifiedOffset 1185, 15 lines modified
1185 ······<p·class="built-using">1185 ······<p·class="built-using">
1186 ········Built·using1186 ········Built·using
1187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1189 ······</p>1189 ······</p>
1190 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1190 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1191 ····</footer>1191 ····</footer>
1192 ··</div>1192 ··</div>
1193 </main>1193 </main>
1194 </div>1194 </div>
1195 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1195 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1196 ··<script>1196 ··<script>
1197 ··let·initialized·=·false;1197 ··let·initialized·=·false;
755 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_anno.html
    
Offset 1251, 15 lines modifiedOffset 1251, 15 lines modified
1251 ······<p·class="built-using">1251 ······<p·class="built-using">
1252 ········Built·using1252 ········Built·using
1253 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1253 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1254 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1254 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1255 ······</p>1255 ······</p>
1256 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1256 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1257 ····</footer>1257 ····</footer>
1258 ··</div>1258 ··</div>
1259 </main>1259 </main>
1260 </div>1260 </div>
1261 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1261 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1262 ··<script>1262 ··<script>
1263 ··let·initialized·=·false;1263 ··let·initialized·=·false;
645 B
html2text {}
Max HTML report size reached
27.0 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_error.html
    
Offset 309, 15 lines modifiedOffset 309, 15 lines modified
309 ······<div·class="specs">309 ······<div·class="specs">
  
310 ··········<pre·translate="no"><span·class="attribute">-type</span>·format_fun()·::·fun((<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·<a·href="#t:column/0">column</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iolist/0">iolist</a>()).</pre>310 ··········<pre·translate="no"><span·class="attribute">-type</span>·format_fun()·::·fun((<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·<a·href="#t:column/0">column</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iolist/0">iolist</a>()).</pre>
  
311 ······</div>311 ······</div>
  
312 <p>A·fun·used·to·format·function·arguments·for·BIF·and·function·calls.·By·default312 <p>A·fun·used·to·format·function·arguments·for·BIF·and·function·calls.·By·default
313 the·following·fun·will·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="7696286990-1">(</span><span·class="n">Term</span><span·class="p">,</span><span·class="w">·</span><span·class="n">I</span><span·class="p"·data-group-id="7696286990-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·418,·SHA:·eaedbf1f2307039fca2fe6f3b660235f4783d7988b08775fb353a89312a5e369·...·]-2">)</span><span·class="w">·</span><span·class="k">end</span></code></pre>313 the·following·fun·will·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="5898961937-1">(</span><span·class="n">Term</span><span·class="p">,</span><span·class="w">·</span><span·class="n">I</span><span·class="p"·data-group-id="5898961937-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·418,·SHA:·efe58049cfca9ac7e9db740e2b226ce71055775bf6b6e4398e4cbe2e011fa2b5·...·]-2">)</span><span·class="w">·</span><span·class="k">end</span></code></pre>
314 ··</section>314 ··</section>
315 </section>315 </section>
316 <section·class="detail"·id="t:format_options/0">316 <section·class="detail"·id="t:format_options/0">
  
317 ··<div·class="detail-header">317 ··<div·class="detail-header">
318 ····<a·href="#t:format_options/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">318 ····<a·href="#t:format_options/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·type">
319 ······<i·class="ri-link-m"·aria-hidden="true"></i>319 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 424, 31 lines modifiedOffset 424, 31 lines modified
424 <p>This·callback·is·called·when·<a·href="#format_exception/4"><code·class="inline">format_exception/4</code></a>·or·similar·functionality·wants424 <p>This·callback·is·called·when·<a·href="#format_exception/4"><code·class="inline">format_exception/4</code></a>·or·similar·functionality·wants
425 to·provide·extra·information·about·an·error.·The·<code·class="inline">Module</code>:<code·class="inline">Function</code>·called·is425 to·provide·extra·information·about·an·error.·The·<code·class="inline">Module</code>:<code·class="inline">Function</code>·called·is
426 the·one·specificed·by·the·<code·class="inline">error_info</code>·map.</p><p>The·function·should·return·a·map·with·additional·information·about·what·have426 the·one·specificed·by·the·<code·class="inline">error_info</code>·map.</p><p>The·function·should·return·a·map·with·additional·information·about·what·have
427 caused·the·exception.·The·possible·keys·of·the·map·are:</p><ul><li><p><strong><code·class="inline">ArgumentPosition·=·pos_integer()</code></strong>·-·The·position·of·the·argument·that427 caused·the·exception.·The·possible·keys·of·the·map·are:</p><ul><li><p><strong><code·class="inline">ArgumentPosition·=·pos_integer()</code></strong>·-·The·position·of·the·argument·that
428 caused·the·error·starting·at·1.</p></li><li><p><strong><code·class="inline">general</code></strong>·-·An·error·that·is·not·associated·with·any·argument·caused·the428 caused·the·error·starting·at·1.</p></li><li><p><strong><code·class="inline">general</code></strong>·-·An·error·that·is·not·associated·with·any·argument·caused·the
429 error.</p></li><li><p><strong><code·class="inline">reason</code></strong>·-·If·the·<code·class="inline">Reason</code>·should·be·printed·differently·than·the·default429 error.</p></li><li><p><strong><code·class="inline">reason</code></strong>·-·If·the·<code·class="inline">Reason</code>·should·be·printed·differently·than·the·default
430 way.</p></li></ul><p>If·the·text·returned·includes·new-lines,·<a·href="#format_exception/4"><code·class="inline">format_exception/4</code></a>·will·indent·the430 way.</p></li></ul><p>If·the·text·returned·includes·new-lines,·<a·href="#format_exception/4"><code·class="inline">format_exception/4</code></a>·will·indent·the
431 text·correctly.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6888227416-1">(</span><span·class="ss">my_error_module</span><span·class="p"·data-group-id="6888227416-1">)</span><span·class="p">.</span><span·class="w">431 text·correctly.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2712748472-1">(</span><span·class="ss">my_error_module</span><span·class="p"·data-group-id="2712748472-1">)</span><span·class="p">.</span><span·class="w">
432 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6888227416-2">(</span><span·class="p"·data-group-id="6888227416-3">[</span><span·class="ss">atom_to_string</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">format_error</span><span·clas[·...·truncated·by·diffoscope;·len:·133,·SHA:·4f457381a78f5183464806d7d74752f4d6e1d74a3c3ad4ee70d037cfa0c96527·...·]-2">)</span><span·class="p">.</span><span·class="w">432 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2712748472-2">(</span><span·class="p"·data-group-id="2712748472-3">[</span><span·class="ss">atom_to_string</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">format_error</span><span·clas[·...·truncated·by·diffoscope;·len:·133,·SHA:·19bdf385b43e0d4686cc41d9c73f1cb035774a6df17c91ec3b801fe8437c7de8·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
433 </span><span·class="nf">atom_to_string</span><span·class="p"·data-group-id="6888227416-4">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="6888227416-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_atom</span><span·class="p"·data-group-id="6888227416-5">(</s[·...·truncated·by·diffoscope;·len:·71,·SHA:·8097a483e51111bcd7856abf03807c242ee77383deb407ea83be40306601d66e·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">433 </span><span·class="nf">atom_to_string</span><span·class="p"·data-group-id="2712748472-4">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="2712748472-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_atom</span><span·class="p"·data-group-id="2712748472-5">(</s[·...·truncated·by·diffoscope;·len:·71,·SHA:·de02a4bd3b58fc1bfb906d5e2d13f3cc0fc26dd409806f19d4b9f1bfd10583ab·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
434 ··</span><span·class="nf">atom_to_list</span><span·class="p"·data-group-id="6888227416-6">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="6888227416-6">)</span><span·class="p">;</span><span·class="w">434 ··</span><span·class="nf">atom_to_list</span><span·class="p"·data-group-id="2712748472-6">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="2712748472-6">)</span><span·class="p">;</span><span·class="w">
435 </span><span·class="nf">atom_to_string</span><span·class="p"·data-group-id="6888227416-7">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="6888227416-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">435 </span><span·class="nf">atom_to_string</span><span·class="p"·data-group-id="2712748472-7">(</span><span·class="n">Arg</span><span·class="p"·data-group-id="2712748472-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
436 ··</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="6888227416-8">(</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p"·data-group-id="6888227416-9">[</span><span·class="n">Arg</span><span·class="p"·data-group-id="6888227416-9">]</span><span·class="p">,</span><span·class="w">436 ··</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">error</span><span·class="p"·data-group-id="2712748472-8">(</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p"·data-group-id="2712748472-9">[</span><span·class="n">Arg</span><span·class="p"·data-group-id="2712748472-9">]</span><span·class="p">,</span><span·class="w">
437 ···············</span><span·class="p"·data-group-id="6888227416-10">[</span><span·class="p"·data-group-id="6888227416-11">{</span><span·class="ss">error_info</span><span·class="p">,</span><span·class="p"·data-group-id="6888227416-12">#{</span><span·class="w">·</span><span·class="ss">module</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">437 ···············</span><span·class="p"·data-group-id="2712748472-10">[</span><span·class="p"·data-group-id="2712748472-11">{</span><span·class="ss">error_info</span><span·class="p">,</span><span·class="p"·data-group-id="2712748472-12">#{</span><span·class="w">·</span><span·class="ss">module</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">
438 ·······························</span><span·class="ss">cause</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6888227416-13">#{</span><span·class="w">·</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;should·be·an·atom&quot;</span><span·class="w">·</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·226,·SHA:·c5294683646ade49f02d09d0a17a66a35c195f66d4bfb3a17fe72651d550101e·...·]-8">)</span><span·class="p">.</span><span·class="w">438 ·······························</span><span·class="ss">cause</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2712748472-13">#{</span><span·class="w">·</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;should·be·an·atom&quot;</span><span·class="w">·</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·226,·SHA:·85ecdff95184884d896a57372ccaed128454680d688ca9fdf929c2248a478e29·...·]-8">)</span><span·class="p">.</span><span·class="w">
  
439 </span><span·class="nf">format_error</span><span·class="p"·data-group-id="6888227416-14">(</span><span·class="n">Reason</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6888227416-15">[</span><span·class="p"·data-group-id="6888227416-16">{</span><span·class="p">_</span><span·class="n">M</span>[·...·truncated·by·diffoscope;·len:·393,·SHA:·bad9a20485ca43fbcf1d1cb70b3216b7cb98b9f2716380e445a279de1299407a·...·]-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">439 </span><span·class="nf">format_error</span><span·class="p"·data-group-id="2712748472-14">(</span><span·class="n">Reason</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2712748472-15">[</span><span·class="p"·data-group-id="2712748472-16">{</span><span·class="p">_</span><span·class="n">M</span>[·...·truncated·by·diffoscope;·len:·393,·SHA:·c0ce622c4d1deee2ef0a781e4bec12a3a79a33608904a1be692f1579caeb04c2·...·]-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
440 ··</span><span·class="n">ErrorInfo</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="6888227416-17">(</span><span·class="ss">error_info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6888227416-18">#{</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·74,·SHA:·b53b719e8115317c1bf46bb6c73aed9b38d5856b3bc698592721eb1189db4bcf·...·]-17">)</span><span·class="p">,</span><span·class="w">440 ··</span><span·class="n">ErrorInfo</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="2712748472-17">(</span><span·class="ss">error_info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2712748472-18">#{</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·74,·SHA:·b63fb4723a7f83cd5f58e19bfa226da1191a4b91b12da9845cbf0eec26b17eec·...·]-17">)</span><span·class="p">,</span><span·class="w">
441 ··</span><span·class="n">ErrorMap</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="6888227416-19">(</span><span·class="ss">cause</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ErrorInfo</span><span·class="p"·data-group-id="6888227416-19">)</span><span·class="p">,</span><span·class="w">441 ··</span><span·class="n">ErrorMap</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">get</span><span·class="p"·data-group-id="2712748472-19">(</span><span·class="ss">cause</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ErrorInfo</span><span·class="p"·data-group-id="2712748472-19">)</span><span·class="p">,</span><span·class="w">
442 ··</span><span·class="n">ErrorMap</span><span·class="p"·data-group-id="6888227416-20">#{</span><span·class="w">·</span><span·class="ss">general</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;optional·general·information&quot;</span><span·class="p">,</span><span·class="w">442 ··</span><span·class="n">ErrorMap</span><span·class="p"·data-group-id="2712748472-20">#{</span><span·class="w">·</span><span·class="ss">general</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;optional·general·information&quot;</span><span·class="p">,</span><span·class="w">
443 ·············</span><span·class="ss">reason</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6888227416-21">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">:·</span><span·class="si">~p</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="6888227416-22">[</span><span·class="o">?</s[·...·truncated·by·diffoscope;·len:·582,·SHA:·2bf96f7d3fba6dd0c7ef723577b8fbe3fbc71e4dde3f55ea623ff4f09b236e5a·...·]-1">)</span><span·class="p">.</span><span·class="w">443 ·············</span><span·class="ss">reason</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2712748472-21">(</span><span·class="s">&quot;</span><span·class="si">~p</span><span·class="s">:·</span><span·class="si">~p</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="2712748472-22">[</span><span·class="o">?</s[·...·truncated·by·diffoscope;·len:·582,·SHA:·0392049fa14c9ead9a438e8074399ac2113586bcf3838825da25548050921b26·...·]-1">)</span><span·class="p">.</span><span·class="w">
444 </span><span·class="p"·data-group-id="7843487321-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">my_error_module</span><span·class="p"·data-group-id="7843487321-2">}</span><span·class="gp·unselectable">444 </span><span·class="p"·data-group-id="1843645565-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">my_error_module</span><span·class="p"·data-group-id="1843645565-2">}</span><span·class="gp·unselectable">
445 2&gt;·</span><span·class="nc">my_error_module</span><span·class="p">:</span><span·class="nf">atom_to_string</span><span·class="p"·data-group-id="7843487321-3">(</span><span·class="mi">1</span><span·class="p"·data-group-id="7843487321-3">)</span><span·class="p">.</span><span·class="w">445 2&gt;·</span><span·class="nc">my_error_module</span><span·class="p">:</span><span·class="nf">atom_to_string</span><span·class="p"·data-group-id="1843645565-3">(</span><span·class="mi">1</span><span·class="p"·data-group-id="1843645565-3">)</span><span·class="p">.</span><span·class="w">
446 </span><span·class="gt">**·exception·error:·my_error_module:·badarg446 </span><span·class="gt">**·exception·error:·my_error_module:·badarg
447 ·····in·function··my_error_module:atom_to_string/1447 ·····in·function··my_error_module:atom_to_string/1
448 ········called·as·my_error_module:atom_to_string(1)448 ········called·as·my_error_module:atom_to_string(1)
449 ········***·argument·1:·should·be·an·atom449 ········***·argument·1:·should·be·an·atom
450 ········***·optional·general·information</span></code></pre>450 ········***·optional·general·information</span></code></pre>
451 ··</section>451 ··</section>
452 </section>452 </section>
Offset 524, 26 lines modifiedOffset 524, 26 lines modified
524 ······························StackTrace·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:stacktrace/0">erlang:stacktrace</a>(),524 ······························StackTrace·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:stacktrace/0">erlang:stacktrace</a>(),
525 ······························Options·::·<a·href="#t:format_options/0">format_options</a>().</pre>525 ······························Options·::·<a·href="#t:format_options/0">format_options</a>().</pre>
  
526 ······</div>526 ······</div>
  
527 <p>Format·the·error·reason·and·stack·back-trace·caught·using·<code·class="inline">try</code>·...·<code·class="inline">catch</code>·in527 <p>Format·the·error·reason·and·stack·back-trace·caught·using·<code·class="inline">try</code>·...·<code·class="inline">catch</code>·in
528 the·same·style·as·the·shell·formats·them.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">try</span><span·class="w">528 the·same·style·as·the·shell·formats·them.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">try</span><span·class="w">
529 ····</span><span·class="nf">do_something</span><span·class="p"·data-group-id="0266360957-1">(</span><span·class="p"·data-group-id="0266360957-1">)</span><span·class="w">529 ····</span><span·class="nf">do_something</span><span·class="p"·data-group-id="7965056373-1">(</span><span·class="p"·data-group-id="7965056373-1">)</span><span·class="w">
530 </span><span·class="k">catch</span><span·class="w">530 </span><span·class="k">catch</span><span·class="w">
531 ····</span><span·class="n">C</span><span·class="p">:</span><span·class="n">R</span><span·class="p">:</span><span·class="n">Stk</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">531 ····</span><span·class="n">C</span><span·class="p">:</span><span·class="n">R</span><span·class="p">:</span><span·class="n">Stk</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
532 ········</span><span·class="n">Message</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erl_error</span><span·class="p">:</span><span·class="nf">format_exception</span><span·class="p"·data-group-id="0266360957-2">(</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="n">R</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Stk</span><span·class="p"·data-group-id="0266360957-2">)</span><span·class="p">,</span><span·class="w">532 ········</span><span·class="n">Message</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erl_error</span><span·class="p">:</span><span·class="nf">format_exception</span><span·class="p"·data-group-id="7965056373-2">(</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="n">R</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Stk</span><span·class="p"·data-group-id="7965056373-2">)</span><span·class="p">,</span><span·class="w">
533 ········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0266360957-3">(</span><span·class="n">LogFile</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;~ts\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0266360957-4">[</span><span·class="n"[·...·truncated·by·diffoscope;·len:·109,·SHA:·4998454a66448f64498344013b6e669874c0227c35b21d2e1dde90eebbc746c8·...·]-3">)</span><span·class="w">533 ········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="7965056373-3">(</span><span·class="n">LogFile</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;~ts\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7965056373-4">[</span><span·class="n"[·...·truncated·by·diffoscope;·len:·109,·SHA:·f8bfae74166d0abcb42636a554d5c74f58032ed78adf050c601e69d501b3ec9a·...·]-3">)</span><span·class="w">
534 </span><span·class="k">end</span></code></pre><p>If·<code·class="inline">error_info</code>·is·provided·with·the·exception,·<code·class="inline">format_exception</code>·will·use·that534 </span><span·class="k">end</span></code></pre><p>If·<code·class="inline">error_info</code>·is·provided·with·the·exception,·<code·class="inline">format_exception</code>·will·use·that
535 information·to·provide·additional·information·about·the·exception.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">try</span><span·class="w">535 information·to·provide·additional·information·about·the·exception.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">try</span><span·class="w">
536 ··</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">raise</span><span·class="p"·data-group-id="3805005820-1">(</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p"·data-group-id="3805005820-2">[</span><span·class="p"·data-group-id="3805005820-2">]</span><span·class="p">,</span><span·class="p"·data-group-id="3805005820-3">[</sp[·...·truncated·by·diffoscope;·len:·368,·SHA:·eb9ab211479114473adfda7f149dfab4d43cfd0b37341cde4f1a48f7117663f3·...·]-1">)</span><span·class="w">536 ··</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">raise</span><span·class="p"·data-group-id="8675939739-1">(</span><span·class="ss">badarg</span><span·class="p">,</span><span·class="p"·data-group-id="8675939739-2">[</span><span·class="p"·data-group-id="8675939739-2">]</span><span·class="p">,</span><span·class="p"·data-group-id="8675939739-3">[</sp[·...·truncated·by·diffoscope;·len:·368,·SHA:·0edefb4fdf911e482a6a0296f2fb11092ecf2c0f057a6ec8de9730ee71ef5d44·...·]-1">)</span><span·class="w">
537 </span><span·class="k">catch</span><span·class="w">537 </span><span·class="k">catch</span><span·class="w">
538 ····</span><span·class="n">C</span><span·class="p">:</span><span·class="n">R</span><span·class="p">:</span><span·class="n">Stk</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">538 ····</span><span·class="n">C</span><span·class="p">:</span><span·class="n">R</span><span·class="p">:</span><span·class="n">Stk</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
539 ········</span><span·class="n">Message</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erl_error</span><span·class="p">:</span><span·class="nf">format_exception</span><span·class="p"·data-group-id="3805005820-6">(</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="n">R</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Stk</span><span·class="p"·data-group-id="3805005820-6">)</span><span·class="p">,</span><span·class="w">539 ········</span><span·class="n">Message</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erl_error</span><span·class="p">:</span><span·class="nf">format_exception</span><span·class="p"·data-group-id="8675939739-6">(</span><span·class="n">C</span><span·class="p">,</span><span·class="w">·</span><span·class="n">R</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Stk</span><span·class="p"·data-group-id="8675939739-6">)</span><span·class="p">,</span><span·class="w">
540 ········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3805005820-7">(</span><span·class="n">LogFile</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;~ts\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3805005820-8">[</span><span·class="n"[·...·truncated·by·diffoscope;·len:·109,·SHA:·e9ea53aa27d231f634022a53074db5cf202903b94fb1249b1fb44452516ac248·...·]-7">)</span><span·class="w">540 ········</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8675939739-7">(</span><span·class="n">LogFile</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;~ts\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8675939739-8">[</span><span·class="n"[·...·truncated·by·diffoscope;·len:·109,·SHA:·46203d2c818f868c623502aeb8d271fa5b397c5ea4b09b1e25d0447e67f64d9f·...·]-7">)</span><span·class="w">
541 </span><span·class="k">end</span></code></pre><p>See·<a·href="../../../../erts-16.0/doc/html/erlang.html#error/3"><code·class="inline">erlang:error/3</code></a>·for·details·on·how·to·raise·an·exception·with·<code·class="inline">error_info</code>541 </span><span·class="k">end</span></code></pre><p>See·<a·href="../../../../erts-16.0/doc/html/erlang.html#error/3"><code·class="inline">erlang:error/3</code></a>·for·details·on·how·to·raise·an·exception·with·<code·class="inline">error_info</code>
542 included.</p>542 included.</p>
543 ··</section>543 ··</section>
544 </section>544 </section>
  
545 ····</div>545 ····</div>
546 ··</section>546 ··</section>
Offset 566, 15 lines modifiedOffset 566, 15 lines modified
566 ······<p·class="built-using">566 ······<p·class="built-using">
567 ········Built·using567 ········Built·using
568 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the568 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
569 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>569 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
570 ······</p>570 ······</p>
571 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>571 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
572 ····</footer>572 ····</footer>
573 ··</div>573 ··</div>
574 </main>574 </main>
575 </div>575 </div>
576 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>576 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
577 ··<script>577 ··<script>
578 ··let·initialized·=·false;578 ··let·initialized·=·false;
594 B
html2text {}
Max HTML report size reached
9.77 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_eval.html
    
Offset 137, 35 lines modifiedOffset 137, 35 lines modified
137 ··<span·class="text">Local·Function·Handler</span>137 ··<span·class="text">Local·Function·Handler</span>
138 </h2>138 </h2>
139 <p>During·evaluation·of·a·function,·no·calls·can·be·made·to·local·functions.·An139 <p>During·evaluation·of·a·function,·no·calls·can·be·made·to·local·functions.·An
140 undefined·function·error·would·be·generated.·However,·the·optional·argument140 undefined·function·error·would·be·generated.·However,·the·optional·argument
141 <code·class="inline">LocalFunctionHandler</code>·can·be·used·to·define·a·function·that·is·called·when141 <code·class="inline">LocalFunctionHandler</code>·can·be·used·to·define·a·function·that·is·called·when
142 there·is·a·call·to·a·local·function.·The·argument·can·have·the·following142 there·is·a·call·to·a·local·function.·The·argument·can·have·the·following
143 formats:</p><ul><li><p><strong><code·class="inline">{value,Func}</code></strong>·-·This·defines·a·local·function·handler·that·is·called143 formats:</p><ul><li><p><strong><code·class="inline">{value,Func}</code></strong>·-·This·defines·a·local·function·handler·that·is·called
144 with:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Func</span><span·class="p"·data-group-id="8886058467-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Arguments</span><span·class="p"·data-group-id="8886058467-1">)</span></code></pre><p><code·class="inline">Name</code>·is·the·name·of·the·local·function·(an·atom)·and·<code·class="inline">Arguments</code>·is·a·list144 with:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Func</span><span·class="p"·data-group-id="4285634464-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Arguments</span><span·class="p"·data-group-id="4285634464-1">)</span></code></pre><p><code·class="inline">Name</code>·is·the·name·of·the·local·function·(an·atom)·and·<code·class="inline">Arguments</code>·is·a·list
145 of·the·<em>evaluated</em>·arguments.·The·function·handler·returns·the·value·of·the145 of·the·<em>evaluated</em>·arguments.·The·function·handler·returns·the·value·of·the
146 local·function.·In·this·case,·the·current·bindings·cannot·be·accessed.·To146 local·function.·In·this·case,·the·current·bindings·cannot·be·accessed.·To
147 signal·an·error,·the·function·handler·calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a>·with·a147 signal·an·error,·the·function·handler·calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a>·with·a
148 suitable·exit·value.</p></li><li><p><strong><code·class="inline">{eval,Func}</code></strong>·-·This·defines·a·local·function·handler·that·is·called·with:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Func</span><span·class="p"·data-group-id="0445628060-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Arguments</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bindings</span><span·class="p"·data-group-id="0445628060-1">)</span></code></pre><p><code·class="inline">Name</code>·is·the·name·of·the·local·function·(an·atom),·<code·class="inline">Arguments</code>·is·a·list·of148 suitable·exit·value.</p></li><li><p><strong><code·class="inline">{eval,Func}</code></strong>·-·This·defines·a·local·function·handler·that·is·called·with:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Func</span><span·class="p"·data-group-id="6487986686-1">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Arguments</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bindings</span><span·class="p"·data-group-id="6487986686-1">)</span></code></pre><p><code·class="inline">Name</code>·is·the·name·of·the·local·function·(an·atom),·<code·class="inline">Arguments</code>·is·a·list·of
149 the·<em>unevaluated</em>·arguments,·and·<code·class="inline">Bindings</code>·are·the·current·variable·bindings.149 the·<em>unevaluated</em>·arguments,·and·<code·class="inline">Bindings</code>·are·the·current·variable·bindings.
150 The·function·handler·returns:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4189860630-1">{</span><span·class="ss">value</span><span·class="p">,</span><span·class="n">Value</span><span·class="p">,</span><span·class="n">NewBindings</span><span·class="p"·data-group-id="4189860630-1">}</span></code></pre><p><code·class="inline">Value</code>·is·the·value·of·the·local·function·and·<code·class="inline">NewBindings</code>·are·the·updated150 The·function·handler·returns:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0229850412-1">{</span><span·class="ss">value</span><span·class="p">,</span><span·class="n">Value</span><span·class="p">,</span><span·class="n">NewBindings</span><span·class="p"·data-group-id="0229850412-1">}</span></code></pre><p><code·class="inline">Value</code>·is·the·value·of·the·local·function·and·<code·class="inline">NewBindings</code>·are·the·updated
151 variable·bindings.·In·this·case,·the·function·handler·must·itself·evaluate·all151 variable·bindings.·In·this·case,·the·function·handler·must·itself·evaluate·all
152 the·function·arguments·and·manage·the·bindings.·To·signal·an·error,·the152 the·function·arguments·and·manage·the·bindings.·To·signal·an·error,·the
153 function·handler·calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a>·with·a·suitable·exit·value.</p></li><li><p><strong><code·class="inline">none</code></strong>·-·There·is·no·local·function·handler.</p></li></ul><h2·id="module-non-local-function-handler"·class="section-heading">153 function·handler·calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a>·with·a·suitable·exit·value.</p></li><li><p><strong><code·class="inline">none</code></strong>·-·There·is·no·local·function·handler.</p></li></ul><h2·id="module-non-local-function-handler"·class="section-heading">
154 ··<a·href="#module-non-local-function-handler"·class="hover-link">154 ··<a·href="#module-non-local-function-handler"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">Non-Local·Function·Handler</span>157 ··<span·class="text">Non-Local·Function·Handler</span>
158 </h2>158 </h2>
159 <p>The·optional·argument·<code·class="inline">NonLocalFunctionHandler</code>·can·be·used·to·define·a·function159 <p>The·optional·argument·<code·class="inline">NonLocalFunctionHandler</code>·can·be·used·to·define·a·function
160 that·is·called·in·the·following·cases:</p><ul><li>A·functional·object·(fun)·is·called.</li><li>A·built-in·function·is·called.</li><li>A·function·is·called·using·the·<code·class="inline">M:F</code>·syntax,·where·<code·class="inline">M</code>·and·<code·class="inline">F</code>·are·atoms·or160 that·is·called·in·the·following·cases:</p><ul><li>A·functional·object·(fun)·is·called.</li><li>A·built-in·function·is·called.</li><li>A·function·is·called·using·the·<code·class="inline">M:F</code>·syntax,·where·<code·class="inline">M</code>·and·<code·class="inline">F</code>·are·atoms·or
161 expressions.</li><li>An·operator·<code·class="inline">Op/A</code>·is·called·(this·is·handled·as·a·call·to·function161 expressions.</li><li>An·operator·<code·class="inline">Op/A</code>·is·called·(this·is·handled·as·a·call·to·function
162 <code·class="inline">erlang:Op/A</code>).</li></ul><p>Exceptions·are·calls·to·<code·class="inline">erlang:apply/2,3</code>;·neither·of·the·function·handlers·are162 <code·class="inline">erlang:Op/A</code>).</li></ul><p>Exceptions·are·calls·to·<code·class="inline">erlang:apply/2,3</code>;·neither·of·the·function·handlers·are
163 called·for·such·calls.·The·argument·can·have·the·following·formats:</p><ul><li><p><strong><code·class="inline">{value,Func}</code></strong>·-·This·defines·a·non-local·function·handler.·The·function163 called·for·such·calls.·The·argument·can·have·the·following·formats:</p><ul><li><p><strong><code·class="inline">{value,Func}</code></strong>·-·This·defines·a·non-local·function·handler.·The·function
164 may·be·called·with·two·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Func</span><span·class="p"·data-group-id="6960344697-1">(</span><span·class="n">FuncSpec</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Arguments</span><span·class="p"·data-group-id="6960344697-1">)</span></code></pre><p>or·three·arguments:</p><pre><code·class="makeup·erlang[·...·truncated·by·diffoscope;·len:·324,·SHA:·be2183e609d46308ae76f77d5b5ff6e748f02c93d2c3b69257dbc1905b1089bf·...·]-1">)</span></code></pre><p><code·class="inline">Anno</code>·is·the·<a·href="erl_anno.html#t:anno/0"><code·class="inline">erl_anno:anno()</code></a>·of·the·node,·<code·class="inline">FuncSpec</code>164 may·be·called·with·two·arguments:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Func</span><span·class="p"·data-group-id="8782841784-1">(</span><span·class="n">FuncSpec</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Arguments</span><span·class="p"·data-group-id="8782841784-1">)</span></code></pre><p>or·three·arguments:</p><pre><code·class="makeup·erlang[·...·truncated·by·diffoscope;·len:·324,·SHA:·0ea75767dc0cde106ef284a0571bec8fa50a42914771aa50d5f9f3fc82a445bd·...·]-1">)</span></code></pre><p><code·class="inline">Anno</code>·is·the·<a·href="erl_anno.html#t:anno/0"><code·class="inline">erl_anno:anno()</code></a>·of·the·node,·<code·class="inline">FuncSpec</code>
165 is·the·name·of·the·function·of·the·form·<code·class="inline">{Module,Function}</code>·or·a·fun,·and165 is·the·name·of·the·function·of·the·form·<code·class="inline">{Module,Function}</code>·or·a·fun,·and
166 <code·class="inline">Arguments</code>·is·a·list·of·the·<em>evaluated</em>·arguments.·The·function·handler166 <code·class="inline">Arguments</code>·is·a·list·of·the·<em>evaluated</em>·arguments.·The·function·handler
167 returns·the·value·of·the·function.·To·signal·an·error,·the·function·handler167 returns·the·value·of·the·function.·To·signal·an·error,·the·function·handler
168 calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a>·with·a·suitable·exit·value.</p></li><li><p><strong><code·class="inline">none</code></strong>·-·There·is·no·non-local·function·handler.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>For·calls·such·as·<code·class="inline">erlang:apply(Fun,·Args)</code>·or168 calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#exit/1"><code·class="inline">exit/1</code></a>·with·a·suitable·exit·value.</p></li><li><p><strong><code·class="inline">none</code></strong>·-·There·is·no·non-local·function·handler.</p></li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>For·calls·such·as·<code·class="inline">erlang:apply(Fun,·Args)</code>·or
169 <code·class="inline">erlang:apply(Module,·Function,·Args)</code>,·the·call·of·the·non-local·function169 <code·class="inline">erlang:apply(Module,·Function,·Args)</code>,·the·call·of·the·non-local·function
170 handler·corresponding·to·the·call·to·<code·class="inline">erlang:apply/2,3</code>·itself170 handler·corresponding·to·the·call·to·<code·class="inline">erlang:apply/2,3</code>·itself
171 (<code·class="inline">Func({erlang,·apply},·[Fun,·Args])</code>·or171 (<code·class="inline">Func({erlang,·apply},·[Fun,·Args])</code>·or
Offset 1365, 15 lines modifiedOffset 1365, 15 lines modified
1365 ······<p·class="built-using">1365 ······<p·class="built-using">
1366 ········Built·using1366 ········Built·using
1367 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1367 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1368 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1368 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1369 ······</p>1369 ······</p>
1370 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1370 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1371 ····</footer>1371 ····</footer>
1372 ··</div>1372 ··</div>
1373 </main>1373 </main>
1374 </div>1374 </div>
1375 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1375 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1376 ··<script>1376 ··<script>
1377 ··let·initialized·=·false;1377 ··let·initialized·=·false;
660 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_expand_records.html
    
Offset 230, 15 lines modifiedOffset 230, 15 lines modified
230 ······<p·class="built-using">230 ······<p·class="built-using">
231 ········Built·using231 ········Built·using
232 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the232 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
233 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>233 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
234 ······</p>234 ······</p>
235 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>235 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
236 ····</footer>236 ····</footer>
237 ··</div>237 ··</div>
238 </main>238 </main>
239 </div>239 </div>
240 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>240 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
241 ··<script>241 ··<script>
242 ··let·initialized·=·false;242 ··let·initialized·=·false;
772 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_features.html
    
Offset 570, 15 lines modifiedOffset 570, 15 lines modified
570 ······<p·class="built-using">570 ······<p·class="built-using">
571 ········Built·using571 ········Built·using
572 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the572 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
573 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>573 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
574 ······</p>574 ······</p>
575 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>575 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
576 ····</footer>576 ····</footer>
577 ··</div>577 ··</div>
578 </main>578 </main>
579 </div>579 </div>
580 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>580 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
581 ··<script>581 ··<script>
582 ··let·initialized·=·false;582 ··let·initialized·=·false;
716 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_id_trans.html
    
Offset 283, 15 lines modifiedOffset 283, 15 lines modified
283 ······<p·class="built-using">283 ······<p·class="built-using">
284 ········Built·using284 ········Built·using
285 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the285 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
286 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>286 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
287 ······</p>287 ······</p>
288 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>288 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
289 ····</footer>289 ····</footer>
290 ··</div>290 ··</div>
291 </main>291 </main>
292 </div>292 </div>
293 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>293 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
294 ··<script>294 ··<script>
295 ··let·initialized·=·false;295 ··let·initialized·=·false;
682 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_internal.html
    
Offset 556, 15 lines modifiedOffset 556, 15 lines modified
556 ······<p·class="built-using">556 ······<p·class="built-using">
557 ········Built·using557 ········Built·using
558 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the558 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
559 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>559 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
560 ······</p>560 ······</p>
561 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>561 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
562 ····</footer>562 ····</footer>
563 ··</div>563 ··</div>
564 </main>564 </main>
565 </div>565 </div>
566 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>566 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
567 ··<script>567 ··<script>
568 ··let·initialized·=·false;568 ··let·initialized·=·false;
726 B
html2text {}
Max HTML report size reached
3.78 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_lint.html
    
Offset 135, 15 lines modifiedOffset 135, 15 lines modified
135 your·own·Erlang·compiler.</p><h2·id="module-error-information"·class="section-heading">135 your·own·Erlang·compiler.</p><h2·id="module-error-information"·class="section-heading">
136 ··<a·href="#module-error-information"·class="hover-link">136 ··<a·href="#module-error-information"·class="hover-link">
137 ····<i·class="ri-link-m"·aria-hidden="true"></i>137 ····<i·class="ri-link-m"·aria-hidden="true"></i>
138 ··</a>138 ··</a>
139 ··<span·class="text">Error·Information</span>139 ··<span·class="text">Error·Information</span>
140 </h2>140 </h2>
141 <p><code·class="inline">ErrorInfo</code>·is·the·standard·<code·class="inline">ErrorInfo</code>·structure·that·is·returned·from·all·I/O141 <p><code·class="inline">ErrorInfo</code>·is·the·standard·<code·class="inline">ErrorInfo</code>·structure·that·is·returned·from·all·I/O
142 modules.·The·format·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8326791578-1">{</span><span·class="n">ErrorLine</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ErrorDescriptor</span><span·class="p"·data-group-id="83267915[·...·truncated·by·diffoscope;·len:·369,·SHA:·5a1d6d2b9f086cd6f4d9c60bbeb8d955fbe7c5ce85e1d4dd9818153f271c370d·...·]-1">)</span></code></pre><h2·id="module-see-also"·class="section-heading">142 modules.·The·format·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5208657555-1">{</span><span·class="n">ErrorLine</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ErrorDescriptor</span><span·class="p"·data-group-id="52086575[·...·truncated·by·diffoscope;·len:·369,·SHA:·f880140a0ceefe454236698f2b1866883583652bfb342dc17d8a15e68edd0581·...·]-1">)</span></code></pre><h2·id="module-see-also"·class="section-heading">
143 ··<a·href="#module-see-also"·class="hover-link">143 ··<a·href="#module-see-also"·class="hover-link">
144 ····<i·class="ri-link-m"·aria-hidden="true"></i>144 ····<i·class="ri-link-m"·aria-hidden="true"></i>
145 ··</a>145 ··</a>
146 ··<span·class="text">See·Also</span>146 ··<span·class="text">See·Also</span>
147 </h2>147 </h2>
148 <p><a·href="epp.html"><code·class="inline">epp</code></a>,·<a·href="erl_parse.html"><code·class="inline">erl_parse</code></a></p>148 <p><a·href="epp.html"><code·class="inline">epp</code></a>,·<a·href="erl_parse.html"><code·class="inline">erl_parse</code></a></p>
149 ····</section>149 ····</section>
Offset 573, 15 lines modifiedOffset 573, 15 lines modified
573 ······<p·class="built-using">573 ······<p·class="built-using">
574 ········Built·using574 ········Built·using
575 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the575 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
576 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>576 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
577 ······</p>577 ······</p>
578 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>578 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
579 ····</footer>579 ····</footer>
580 ··</div>580 ··</div>
581 </main>581 </main>
582 </div>582 </div>
583 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>583 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
584 ··<script>584 ··<script>
585 ··let·initialized·=·false;585 ··let·initialized·=·false;
682 B
html2text {}
Max HTML report size reached
3.93 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_parse.html
    
Offset 134, 15 lines modifiedOffset 134, 15 lines modified
134 (see·the·<a·href="erl_scan.html"><code·class="inline">erl_scan</code></a>)·module.</p><h2·id="module-error-information"·class="section-heading">134 (see·the·<a·href="erl_scan.html"><code·class="inline">erl_scan</code></a>)·module.</p><h2·id="module-error-information"·class="section-heading">
135 ··<a·href="#module-error-information"·class="hover-link">135 ··<a·href="#module-error-information"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Error·Information</span>138 ··<span·class="text">Error·Information</span>
139 </h2>139 </h2>
140 <p>ErrorInfo·is·the·standard·ErrorInfo·structure·that·is·returned·from·all·I/O·modules.140 <p>ErrorInfo·is·the·standard·ErrorInfo·structure·that·is·returned·from·all·I/O·modules.
141 The·format·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2373338011-1">{</span><span·class="n">ErrorLine</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ErrorDescriptor</span><span·class="p"·data-group-id="23733380[·...·truncated·by·diffoscope;·len:·369,·SHA:·91f3f8581a7e959c6a270a50275de242808f907c34a7b29f14f6350f28773662·...·]-1">)</span></code></pre><h2·id="module-see-also"·class="section-heading">141 The·format·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1768966774-1">{</span><span·class="n">ErrorLine</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ErrorDescriptor</span><span·class="p"·data-group-id="17689667[·...·truncated·by·diffoscope;·len:·369,·SHA:·1c215ed3ae3baa64b70714757a2f2dd6a97ae30f05c4eab93d2e8ffb8b195493·...·]-1">)</span></code></pre><h2·id="module-see-also"·class="section-heading">
142 ··<a·href="#module-see-also"·class="hover-link">142 ··<a·href="#module-see-also"·class="hover-link">
143 ····<i·class="ri-link-m"·aria-hidden="true"></i>143 ····<i·class="ri-link-m"·aria-hidden="true"></i>
144 ··</a>144 ··</a>
145 ··<span·class="text">See·Also</span>145 ··<span·class="text">See·Also</span>
146 </h2>146 </h2>
147 <p><a·href="erl_anno.html"><code·class="inline">erl_anno</code></a>,·<a·href="erl_scan.html"><code·class="inline">erl_scan</code></a>,·<a·href="io.html"><code·class="inline">io</code></a>,·section·<a·href="../../../../erts-16.0/doc/html/absform.html">The·Abstract·Format</a>147 <p><a·href="erl_anno.html"><code·class="inline">erl_anno</code></a>,·<a·href="erl_scan.html"><code·class="inline">erl_scan</code></a>,·<a·href="io.html"><code·class="inline">io</code></a>,·section·<a·href="../../../../erts-16.0/doc/html/absform.html">The·Abstract·Format</a>
148 in·the·ERTS·User's·Guide.</p>148 in·the·ERTS·User's·Guide.</p>
Offset 5666, 15 lines modifiedOffset 5666, 15 lines modified
5666 ······<p·class="built-using">5666 ······<p·class="built-using">
5667 ········Built·using5667 ········Built·using
5668 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the5668 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
5669 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>5669 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
5670 ······</p>5670 ······</p>
5671 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>5671 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
5672 ····</footer>5672 ····</footer>
5673 ··</div>5673 ··</div>
5674 </main>5674 </main>
5675 </div>5675 </div>
5676 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>5676 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
5677 ··<script>5677 ··<script>
5678 ··let·initialized·=·false;5678 ··let·initialized·=·false;
677 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_pp.html
    
Offset 963, 15 lines modifiedOffset 963, 15 lines modified
963 ······<p·class="built-using">963 ······<p·class="built-using">
964 ········Built·using964 ········Built·using
965 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the965 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
966 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>966 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
967 ······</p>967 ······</p>
968 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>968 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
969 ····</footer>969 ····</footer>
970 ··</div>970 ··</div>
971 </main>971 </main>
972 </div>972 </div>
973 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>973 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
974 ··<script>974 ··<script>
975 ··let·initialized·=·false;975 ··let·initialized·=·false;
759 B
html2text {}
Max HTML report size reached
3.74 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_scan.html
    
Offset 132, 15 lines modifiedOffset 132, 15 lines modified
132 tokens.</p><h2·id="module-error-information"·class="section-heading">132 tokens.</p><h2·id="module-error-information"·class="section-heading">
133 ··<a·href="#module-error-information"·class="hover-link">133 ··<a·href="#module-error-information"·class="hover-link">
134 ····<i·class="ri-link-m"·aria-hidden="true"></i>134 ····<i·class="ri-link-m"·aria-hidden="true"></i>
135 ··</a>135 ··</a>
136 ··<span·class="text">Error·Information</span>136 ··<span·class="text">Error·Information</span>
137 </h2>137 </h2>
138 <p><code·class="inline">ErrorInfo</code>·is·the·standard·<code·class="inline">ErrorInfo</code>·structure·that·is·returned·from·all·I/O138 <p><code·class="inline">ErrorInfo</code>·is·the·standard·<code·class="inline">ErrorInfo</code>·structure·that·is·returned·from·all·I/O
139 modules.·The·format·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7081568359-1">{</span><span·class="n">ErrorLocation</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ErrorDescriptor</span><span·class="p"·data-group-id="70815[·...·truncated·by·diffoscope;·len:·371,·SHA:·111bdba342f1a197a795514c920083bc0c224e1732e82ea2dde93b645bb486a6·...·]5-1">)</span></code></pre><h2·id="module-notes"·class="section-heading">139 modules.·The·format·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7923653528-1">{</span><span·class="n">ErrorLocation</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ErrorDescriptor</span><span·class="p"·data-group-id="79236[·...·truncated·by·diffoscope;·len:·371,·SHA:·df8307496309e056d34dc7ca49e3c0a99dcd99979294b8a98191968d58608b7f·...·]5-1">)</span></code></pre><h2·id="module-notes"·class="section-heading">
140 ··<a·href="#module-notes"·class="hover-link">140 ··<a·href="#module-notes"·class="hover-link">
141 ····<i·class="ri-link-m"·aria-hidden="true"></i>141 ····<i·class="ri-link-m"·aria-hidden="true"></i>
142 ··</a>142 ··</a>
143 ··<span·class="text">Notes</span>143 ··<span·class="text">Notes</span>
144 </h2>144 </h2>
145 <p>The·continuation·of·the·first·call·to·the·re-entrant·input·functions·must·be145 <p>The·continuation·of·the·first·call·to·the·re-entrant·input·functions·must·be
146 <code·class="inline">[]</code>.·For·a·complete·description·of·how·the·re-entrant·input·scheme·works,·see146 <code·class="inline">[]</code>.·For·a·complete·description·of·how·the·re-entrant·input·scheme·works,·see
Offset 1287, 15 lines modifiedOffset 1287, 15 lines modified
1287 ······<p·class="built-using">1287 ······<p·class="built-using">
1288 ········Built·using1288 ········Built·using
1289 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1289 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1290 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1290 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1291 ······</p>1291 ······</p>
1292 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1292 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1293 ····</footer>1293 ····</footer>
1294 ··</div>1294 ··</div>
1295 </main>1295 </main>
1296 </div>1296 </div>
1297 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1297 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1298 ··<script>1298 ··<script>
1299 ··let·initialized·=·false;1299 ··let·initialized·=·false;
620 B
html2text {}
Max HTML report size reached
14.6 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/erl_tar.html
    
Offset 1239, 22 lines modifiedOffset 1239, 22 lines modified
1239 storage·handling·function.</p><p>Parameter·<code·class="inline">UserData</code>·is·typically·the·result·of·opening·a·low-level·structure1239 storage·handling·function.</p><p>Parameter·<code·class="inline">UserData</code>·is·typically·the·result·of·opening·a·low-level·structure
1240 like·a·file·descriptor·or·an·SFTP·channel·id.·The·different·<code·class="inline">Fun</code>·clauses1240 like·a·file·descriptor·or·an·SFTP·channel·id.·The·different·<code·class="inline">Fun</code>·clauses
1241 operate·on·that·very·term.</p><p>The·following·are·the·fun·clauses·parameter·lists:</p><ul><li><p><strong><code·class="inline">(write,·{UserData,DataToWrite})</code></strong>·-·Writes·term·<code·class="inline">DataToWrite</code>·using1241 operate·on·that·very·term.</p><p>The·following·are·the·fun·clauses·parameter·lists:</p><ul><li><p><strong><code·class="inline">(write,·{UserData,DataToWrite})</code></strong>·-·Writes·term·<code·class="inline">DataToWrite</code>·using
1242 <code·class="inline">UserData</code>.</p></li><li><p><strong><code·class="inline">(close,·UserData)</code></strong>·-·Closes·the·access.</p></li><li><p><strong><code·class="inline">(read2,·{UserData,Size})</code></strong>·-·Reads·using·<code·class="inline">UserData</code>·but·only·<code·class="inline">Size</code>·bytes.1242 <code·class="inline">UserData</code>.</p></li><li><p><strong><code·class="inline">(close,·UserData)</code></strong>·-·Closes·the·access.</p></li><li><p><strong><code·class="inline">(read2,·{UserData,Size})</code></strong>·-·Reads·using·<code·class="inline">UserData</code>·but·only·<code·class="inline">Size</code>·bytes.
1243 Notice·that·there·is·only·an·arity-2·read·function,·not·an·arity-1·function.</p></li><li><p><strong><code·class="inline">(position,{UserData,Position})</code></strong>·-·Sets·the·position·of·<code·class="inline">UserData</code>·as1243 Notice·that·there·is·only·an·arity-2·read·function,·not·an·arity-1·function.</p></li><li><p><strong><code·class="inline">(position,{UserData,Position})</code></strong>·-·Sets·the·position·of·<code·class="inline">UserData</code>·as
1244 defined·for·files·in·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#position/2"><code·class="inline">file:position/2</code></a></p></li></ul><p><em>Example:</em></p><p>The·following·is·a·complete·<code·class="inline">Fun</code>·parameter·for·reading·and·writing·on·files1244 defined·for·files·in·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#position/2"><code·class="inline">file:position/2</code></a></p></li></ul><p><em>Example:</em></p><p>The·following·is·a·complete·<code·class="inline">Fun</code>·parameter·for·reading·and·writing·on·files
1245 using·the·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ExampleFun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">1245 using·the·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ExampleFun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
1246 ···</span><span·class="nf">fun</span><span·class="p"·data-group-id="1232583013-1">(</span><span·class="ss">write</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1232583013-2">{</span><span·class="n">Fd</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·430,·SHA:·c72fc58834242b4c441200689c2d3d4e310a8ab5bdd48f787f87c6c2d02f9569·...·]-3">)</span><span·class="p">;</span><span·class="w">1246 ···</span><span·class="nf">fun</span><span·class="p"·data-group-id="3574561194-1">(</span><span·class="ss">write</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3574561194-2">{</span><span·class="n">Fd</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·430,·SHA:·e8a322c5fae06ad16bb27bd860c38d9909f3bf4446c929fef6438fccc00dc53c·...·]-3">)</span><span·class="p">;</span><span·class="w">
1247 ······</span><span·class="p"·data-group-id="1232583013-4">(</span><span·class="ss">position</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1232583013-5">{</span><span·class="n">Fd</span><span·class="p">,</span><span·class="n">Pos</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·433,·SHA:·9fe85ca87b9942c55fca6f6900b49e11922c7b84b8d65657310928044f45d046·...·]-6">)</span><span·class="p">;</span><span·class="w">1247 ······</span><span·class="p"·data-group-id="3574561194-4">(</span><span·class="ss">position</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3574561194-5">{</span><span·class="n">Fd</span><span·class="p">,</span><span·class="n">Pos</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·433,·SHA:·7a66ae14f75f2f1e247abbfe4648e474970faf3169791ff2158fc45141b67552·...·]-6">)</span><span·class="p">;</span><span·class="w">
1248 ······</span><span·class="p"·data-group-id="1232583013-7">(</span><span·class="ss">read2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1232583013-8">{</span><span·class="n">Fd</span><span·class="p">,</span><span·class="n">Size</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·428,·SHA:·d0013f8f4bfbf4db7e10c14e024125610b5229078183f2fac0bd4355180e8983·...·]-9">)</span><span·class="p">;</span><span·class="w">1248 ······</span><span·class="p"·data-group-id="3574561194-7">(</span><span·class="ss">read2</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3574561194-8">{</span><span·class="n">Fd</span><span·class="p">,</span><span·class="n">Size</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·428,·SHA:·36b50c5f6841e0bde1d3e32ce28b69466756e01eb70c3640edd2b7a89fbf3287·...·]-9">)</span><span·class="p">;</span><span·class="w">
1249 ······</span><span·class="p"·data-group-id="1232583013-10">(</span><span·class="ss">close</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="1232583013-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·200,·SHA:·430c30b69a0f491a49a16dfe54fd1a0bfe6aa4d7eb093a7a95bf3239fda3adf3·...·]-11">)</span><span·class="w">1249 ······</span><span·class="p"·data-group-id="3574561194-10">(</span><span·class="ss">close</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Fd</span><span·class="p"·data-group-id="3574561194-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·200,·SHA:·1ecba478d6d2edb4fea2c51cc522792e9348b70788dc477208190ab38650b6ed·...·]-11">)</span><span·class="w">
1250 ···</span><span·class="k">end</span></code></pre><p>Here·<code·class="inline">Fd</code>·was·specified·to·function·<a·href="#init/3"><code·class="inline">init/3</code></a>·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1300199110-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Fd</span><span·class="p"·data-group-id="1300199110-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·[·...·truncated·by·diffoscope;·len:·287,·SHA:·9327220a2a30d4feebc03b178fd765fcc794c02ea2abc72306fa69714ebe868d·...·]-2">)</span><span·class="p">.</span><span·class="w">1250 ···</span><span·class="k">end</span></code></pre><p>Here·<code·class="inline">Fd</code>·was·specified·to·function·<a·href="#init/3"><code·class="inline">init/3</code></a>·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2458991868-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">Fd</span><span·class="p"·data-group-id="2458991868-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·[·...·truncated·by·diffoscope;·len:·287,·SHA:·d96f0643b045f81b23e1ca61c4b5b8cadae808b1dbc85aad3b058b13f4544c54·...·]-2">)</span><span·class="p">.</span><span·class="w">
1251 </span><span·class="p"·data-group-id="1300199110-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TarDesc</span><span·class="p"·data-group-id="1300199110-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erl_tar</spa[·...·truncated·by·diffoscope;·len:·974,·SHA:·1eb15b35fc80ed9ee6dcf75558a0157e2c203087bbc81d63743ade196439e1b5·...·]-1">)</span><span·class="p">,</span><span·class="w">1251 </span><span·class="p"·data-group-id="2458991868-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TarDesc</span><span·class="p"·data-group-id="2458991868-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erl_tar</spa[·...·truncated·by·diffoscope;·len:·974,·SHA:·cd6ed081bc5f4fa62d645fd29f4cc9e85ccb076931d359d1b75bff34b338ece7·...·]-1">)</span><span·class="p">,</span><span·class="w">
1252 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="w">1252 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">,</span><span·class="w">
1253 </span><span·class="nc">erl_tar</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="4520224557-2">(</span><span·class="n">TarDesc</span><span·class="p"·data-group-id="4520224557-2">)</span></code></pre><p>When·the·<code·class="inline">erl_tar</code>·core·wants·to,·for·example,·write·a·piece·of·<code·class="inline">Data</code>,·it·would1253 </span><span·class="nc">erl_tar</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="1677977299-2">(</span><span·class="n">TarDesc</span><span·class="p"·data-group-id="1677977299-2">)</span></code></pre><p>When·the·<code·class="inline">erl_tar</code>·core·wants·to,·for·example,·write·a·piece·of·<code·class="inline">Data</code>,·it·would
1254 call·<code·class="inline">ExampleFun(write,·{UserData,Data})</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·example·with·the·<code·class="inline">file</code>·module·operations·is·not·necessary·to·use1254 call·<code·class="inline">ExampleFun(write,·{UserData,Data})</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·example·with·the·<code·class="inline">file</code>·module·operations·is·not·necessary·to·use
1255 directly,·as·that·is·what·function·<a·href="#open/2"><code·class="inline">open/2</code></a>·in·principle·does.</p></section><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>The·<code·class="inline">TarDescriptor</code>·term·is·not·a·file·descriptor.·You·are·advised·not·to·rely1255 directly,·as·that·is·what·function·<a·href="#open/2"><code·class="inline">open/2</code></a>·in·principle·does.</p></section><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>The·<code·class="inline">TarDescriptor</code>·term·is·not·a·file·descriptor.·You·are·advised·not·to·rely
1256 on·the·specific·contents·of·this·term,·as·it·can·change·in·future·Erlang/OTP1256 on·the·specific·contents·of·this·term,·as·it·can·change·in·future·Erlang/OTP
1257 releases·when·more·features·are·added·to·this·module.</p></section>1257 releases·when·more·features·are·added·to·this·module.</p></section>
1258 ··</section>1258 ··</section>
1259 </section>1259 </section>
1260 <section·class="detail"·id="open/2">1260 <section·class="detail"·id="open/2">
Offset 1425, 15 lines modifiedOffset 1425, 15 lines modified
1425 ······<p·class="built-using">1425 ······<p·class="built-using">
1426 ········Built·using1426 ········Built·using
1427 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1427 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1428 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1428 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1429 ······</p>1429 ······</p>
1430 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1430 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1431 ····</footer>1431 ····</footer>
1432 ··</div>1432 ··</div>
1433 </main>1433 </main>
1434 </div>1434 </div>
1435 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1435 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1436 ··<script>1436 ··<script>
1437 ··let·initialized·=·false;1437 ··let·initialized·=·false;
672 B
html2text {}
Max HTML report size reached
75.4 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/escript.html
    
Offset 502, 75 lines modifiedOffset 502, 75 lines modified
502 <code·class="inline">shebang</code>·defaults·to·<code·class="inline">&quot;/usr/bin/env·escript&quot;</code>.·The·<code·class="inline">comment</code>·defaults·to502 <code·class="inline">shebang</code>·defaults·to·<code·class="inline">&quot;/usr/bin/env·escript&quot;</code>.·The·<code·class="inline">comment</code>·defaults·to
503 <code·class="inline">&quot;This·is·an·-*-·erlang·-*-·file&quot;</code>.·The·created·escript·can·either·be·returned503 <code·class="inline">&quot;This·is·an·-*-·erlang·-*-·file&quot;</code>.·The·created·escript·can·either·be·returned
504 as·a·binary·or·written·to·file.</p><p>As·an·example·of·how·the·function·can·be·used,·we·create·an·interpreted·escript504 as·a·binary·or·written·to·file.</p><p>As·an·example·of·how·the·function·can·be·used,·we·create·an·interpreted·escript
505 that·uses·<code·class="inline">emu_args</code>·to·set·some·emulator·flag.·In·this·case,·it·happens·to·set505 that·uses·<code·class="inline">emu_args</code>·to·set·some·emulator·flag.·In·this·case,·it·happens·to·set
506 number·of·schedulers·with·<code·class="inline">+S3</code>.·We·also·extract·the·different·sections·from·the506 number·of·schedulers·with·<code·class="inline">+S3</code>.·We·also·extract·the·different·sections·from·the
507 newly·created·script:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">Source</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;%%·Demo\nmain(_Args)·-&gt;\n····io:format(\&quot;</span><span·class="si">~p</span><span·class="s">\&quot;,[erlang:system_info(schedulers)]).\n&quot;</span><span·class="p">.</span><span·class="w">507 newly·created·script:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">Source</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;%%·Demo\nmain(_Args)·-&gt;\n····io:format(\&quot;</span><span·class="si">~p</span><span·class="s">\&quot;,[erlang:system_info(schedulers)]).\n&quot;</span><span·class="p">.</span><span·class="w">
508 </span><span·class="s">&quot;%%·Demo\nmain(_Args)·-&gt;\n····io:format(erlang:system_info(schedulers)).\n&quot;</span><span·class="gp·unselectable">508 </span><span·class="s">&quot;%%·Demo\nmain(_Args)·-&gt;\n····io:format(erlang:system_info(schedulers)).\n&quot;</span><span·class="gp·unselectable">
509 &gt;·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2694153344-1">(</span><span·class="s">&quot;</span><span·class="si">~s</span><span·class="s">\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2694153344-2">[</span><span·class="n">Source</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·75,·SHA:·ddc08c2f2474f85f63ac1ded17a7783ef012f253d97acd0bdc2be568d20f1b3f·...·]4-1">)</span><span·class="p">.</span><span·class="w">509 &gt;·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1707153294-1">(</span><span·class="s">&quot;</span><span·class="si">~s</span><span·class="s">\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1707153294-2">[</span><span·class="n">Source</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·75,·SHA:·3261a406c9b38f38304edcc0900391e3d7e8710192249dbe4dbe7dd2bc6b24ee·...·]4-1">)</span><span·class="p">.</span><span·class="w">
510 </span><span·class="c1">%%·Demo</span><span·class="w">510 </span><span·class="c1">%%·Demo</span><span·class="w">
511 </span><span·class="nf">main</span><span·class="p"·data-group-id="2694153344-3">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="2694153344-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">511 </span><span·class="nf">main</span><span·class="p"·data-group-id="1707153294-3">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="1707153294-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
512 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2694153344-4">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="2694153344-5">(</span><span·class="ss">schedulers</span><span·class="p"·data-group-id="2694153344-5">)</span><span[·...·truncated·by·diffoscope;·len:·35,·SHA:·47fcd87fc25b561fd88e380cc25c7933deeea381207d8493fb4e7dd31e0901ef·...·]4-4">)</span><span·class="p">.</span><span·class="w">512 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1707153294-4">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="1707153294-5">(</span><span·class="ss">schedulers</span><span·class="p"·data-group-id="1707153294-5">)</span><span[·...·truncated·by·diffoscope;·len:·35,·SHA:·7c02c9f0b1760260583e2905be95b3de98bfb02aae11de1ac2f3572f8d37ceab·...·]4-4">)</span><span·class="p">.</span><span·class="w">
  
513 </span><span·class="ss">ok</span><span·class="gp·unselectable">513 </span><span·class="ss">ok</span><span·class="gp·unselectable">
514 &gt;·</span><span·class="p"·data-group-id="2694153344-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span·class="p"·data-group-id="2694153344-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">escript</span><span·class="p">:</span><span·class="nf">create</span><span·class="p"·data-group-id="2694153344-7">(</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2694153344-8">[</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">comment</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2694153344-9">{</span><span·class="ss">emu_args</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;+S3&quot;</span><span·class="p"·data-group-id="2694153344-9">}</span><span·class="p">,</span><span·class="w"> 
515 ······································</span><span·class="p"·data-group-id="2694153344-10">{</span><span·class="ss">source</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="2694153344-11">(</span><span·class="n">Source</span><span·class="p"·data-group-id="2694153344-11">)</span><span·class="p"·data-group-id="2694153344-10">}</span><span·class="p"·data-group-id="2694153344-8">]</span><span·class="p"·data-group-id="2694153344-7">)</span><span·class="p">.</span><span·class="w"> 
516 </span><span·class="p"·data-group-id="2694153344-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2694153344-13">&lt;&lt;</span><span·class="s">&quot;#!/usr/bin/env·escript\n%%·This·is·an·-*-·erlang·-*-·file\n%%![·...·truncated·by·diffoscope;·len:·231,·SHA:·dbb4e16938800157ec9abd393876493839396b4a97fad280c16e249009b57a75·...·]">514 &gt;·</span><span·class="p"·data-group-id="1707153294-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span·class="p"·data-group-id="1707153294-6">}</span><span·class="w">·</span><span·class="o[·...·truncated·by·diffoscope;·len:·723,·SHA:·845f74434e668885671d0875f863a1ca66540b317043c646b4cd03471483433e·...·]">
 515 ······································</span><span·class="p"·data-group-id="1707153294-10">{</span><span·class="ss">source</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="1707153294-11">(</span><span·class="n">Source</span><span·class="p"·data-group-id="1707153294-11">)</span><span·class="p"·data-group-id="1707153294-10">}</span><span·class="p"·data-group-id="1707153294-8">]</span><span·class="p"·data-group-id="1707153294-7">)</span><span·class="p">.</span><span·class="w">
 516 </span><span·class="p"·data-group-id="1707153294-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1707153294-13">&lt;&lt;</span><span·class="s">&quot;#!/usr/bin/env·escript\n%%·This·is·an·-*-·erlang·-*-·file\n%%!+S3&quot;</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1707153294-13">&gt;&gt;</span><span·class="p"·data-group-id="1707153294-12">}</span><span·class="gp·unselectable">
517 &gt;·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write_file</span><span·class="p"·data-group-id="2694153344-14">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span·class="p"·data-group-id="2694153344-14">)</span><span·class="p">.</span><span·class="w">517 &gt;·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write_file</span><span·class="p"·data-group-id="1707153294-14">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span·class="p"·data-group-id="1707153294-14">)</span><span·class="p">.</span><span·class="w">
518 </span><span·class="ss">ok</span><span·class="gp·unselectable">518 </span><span·class="ss">ok</span><span·class="gp·unselectable">
519 &gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="2694153344-15">(</span><span·class="s">&quot;escript·demo.escript&quot;</span><span·class="p"·data-group-id="2694153344-15">)</span><span·class="p">.</span><span·class="w">519 &gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="1707153294-15">(</span><span·class="s">&quot;escript·demo.escript&quot;</span><span·class="p"·data-group-id="1707153294-15">)</span><span·class="p">.</span><span·class="w">
520 </span><span·class="s">&quot;3&quot;</span><span·class="gp·unselectable">520 </span><span·class="s">&quot;3&quot;</span><span·class="gp·unselectable">
521 &gt;·</span><span·class="nc">escript</span><span·class="p">:</span><span·class="nf">extract</span><span·class="p"·data-group-id="2694153344-16">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2694153344-17">[</span><span·class="p"·data-group-id="2694153344-17">]</span><span·class="p"·data-group-id="2694153344-16">)</span><span·class="p">.</span><span·class="w"> 
522 </span><span·class="p"·data-group-id="2694153344-18">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2694153344-19">[</span><span·class="p"·data-group-id="2694153344-20">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">default</span><span·class="p"·data-group-id="2694153344-20">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2694153344-21">{</span><span·class="ss">comment</span><span·class="p">,</span><span·class="ss">default</span><span·class="p"·data-group-id="2694153344-21">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2694153344-22">{</span><span·class="ss">emu_args</span><span·class="p">,</span><span·class="s">&quot;+S3&quot;</span><span·class="p"·data-group-id="2694153344-22">}</span><span·class="p">,</span><span·class="w"> 
523 ·····</span><span·class="p"·data-group-id="2694153344-23">{</span><span·class="ss">source</span><span·class="p">,</span><span·class="p"·data-group-id="2694153344-24">&lt;&lt;</span><span·class="s">&quot;%%·Demo\nmain(_Args)·-&gt;\n····io:format(erlang:syst[·...·truncated·by·diffoscope;·len:·683,·SHA:·2757516aa31b797d7f7d14ab44d747f10fd836773a4b665521ffb4d19b1cdbb1·...·]</span><span·class="w">521 &gt;·</span><span·class="nc">escript</span><span·class="p">:</span><span·class="nf">extract</span><span·class="p"·data-group-id="1707153294-16">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·170,·SHA:·e9eab14685fe33c54dfe2b800b0fd757a85b9781d0d0a3d05a68964e03735501·...·]</span><span·class="w">
 522 </span><span·class="p"·data-group-id="1707153294-18">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1707153294-19">[</span><span·class="p"·data-group-id="1707153294-20">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">default</span><span·class="p"·data-group-id="1707153294-20">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1707153294-21">{</span><span·class="ss">comment</span><span·class="p">,</span><span·class="ss">default</span><span·class="p"·data-group-id="1707153294-21">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1707153294-22">{</span><span·class="ss">emu_args</span><span·class="p">,</span><span·class="s">&quot;+S3&quot;</span><span·class="p"·data-group-id="1707153294-22">}</span><span·class="p">,</span><span·class="w">
 523 ·····</span><span·class="p"·data-group-id="1707153294-23">{</span><span·class="ss">source</span><span·class="p">,</span><span·class="p"·data-group-id="1707153294-24">&lt;&lt;</span><span·class="s">&quot;%%·Demo\nmain(_Args)·-&gt;\n····io:format(erlang:system_info(schedu&quot;</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1707153294-24">&gt;&gt;</span><span·class="p"·data-group-id="1707153294-23">}</span><span·class="p"·data-group-id="1707153294-19">]</span><span·class="p"·data-group-id="1707153294-18">}</span></code></pre><p>An·escript·without·header·can·be·created·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write_file</span><span·class="p"·data-group-id="6982097772-1">(</span><span·class="s">&quot;demo.erl&quot;</span><span·class="p">,</span><span·class="w">
524 ··················</span><span·class="p"·data-group-id="2294941009-2">[</span><span·class="s">&quot;%%·demo.erl\n-module(demo).\n-export([main/1]).\n\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Source</span><span·class="p"·data-group-id="2294941009-2">]</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·2868185824a3fbc181a3bcb9d5f06495559d6f7a55d5b5365002fae113efa949·...·]-1">)</span><span·class="p">.</span><span·class="w">524 ··················</span><span·class="p"·data-group-id="6982097772-2">[</span><span·class="s">&quot;%%·demo.erl\n-module(demo).\n-export([main/1]).\n\n&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Source</span><span·class="p"·data-group-id="6982097772-2">]</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·23,·SHA:·d066aec371199bce406be3fdb996eec3e9d4c2b3115e45ad30c94399132336ba·...·]-1">)</span><span·class="p">.</span><span·class="w">
525 </span><span·class="ss">ok</span><span·class="gp·unselectable">525 </span><span·class="ss">ok</span><span·class="gp·unselectable">
526 &gt;·</span><span·class="p"·data-group-id="2294941009-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BeamCode</span><span·class="p"·data-group-id="2294941009-3">}</span><spa[·...·truncated·by·diffoscope;·len:·554,·SHA:·765481a859f4dc9209548c5f1a81e935f68444139523d27744e3fc95d0cfa9d8·...·]-4">)</span><span·class="p">.</span><span·class="w">526 &gt;·</span><span·class="p"·data-group-id="6982097772-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BeamCode</span><span·class="p"·data-group-id="6982097772-3">}</span><spa[·...·truncated·by·diffoscope;·len:·554,·SHA:·7d457e23a2073345e27ceb3c3545ae32004a4f02a55260a39ab220524dc875b8·...·]-4">)</span><span·class="p">.</span><span·class="w">
527 </span><span·class="p"·data-group-id="2294941009-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">demo</span><span·class="p">,</span><span·class="w">527 </span><span·class="p"·data-group-id="6982097772-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">demo</span><span·class="p">,</span><span·class="w">
528 ····</span><span·class="p"·data-group-id="2294941009-7">&lt;&lt;</span><span·class="mi">70</span><span·class="p">,</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">49</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">66</span><span·class="p">,</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">77</span><span·class="p">,</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">116</span><span·class="p">,</span><span·class="mi">111</span><span·class="p">,</span><span·class="mi">109</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">528 ····</span><span·class="p"·data-group-id="6982097772-7">&lt;&lt;</span><span·class="mi">70</span><span·class="p">,</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">49</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">66</span><span·class="p">,</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">77</span><span·class="p">,</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">116</span><span·class="p">,</span><span·class="mi">111</span><span·class="p">,</span><span·class="mi">109</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
529 ······</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">9</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">100</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="2294941009-7">&gt;&gt;</span><span·class="p"·data-group-id="2294941009-6">}</span><span·class="gp·unselectable">529 ······</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">9</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">100</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="6982097772-7">&gt;&gt;</span><span·class="p"·data-group-id="6982097772-6">}</span><span·class="gp·unselectable">
530 &gt;·</span><span·class="nc">escript</span><span·class="p">:</span><span·class="nf">create</span><span·class="p"·data-group-id="2294941009-8">(</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2294941009-9">[</span><span·class="p"·data-group-id="2294941009-10">{</span><span·class="ss">beam</span><span·c[·...·truncated·by·diffoscope;·len:·220,·SHA:·165b80c79148c1188b1f3b2558665b9e240a276b83bb8b12daccc097a59a900c·...·]-8">)</span><span·class="p">.</span><span·class="w">530 &gt;·</span><span·class="nc">escript</span><span·class="p">:</span><span·class="nf">create</span><span·class="p"·data-group-id="6982097772-8">(</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6982097772-9">[</span><span·class="p"·data-group-id="6982097772-10">{</span><span·class="ss">beam</span><span·c[·...·truncated·by·diffoscope;·len:·220,·SHA:·813760e3a2e1c8d4caa769502ae64fa87245f5a4aaf3dcbbe7fd0a5b17c014a6·...·]-8">)</span><span·class="p">.</span><span·class="w">
531 </span><span·class="ss">ok</span><span·class="gp·unselectable">531 </span><span·class="ss">ok</span><span·class="gp·unselectable">
532 &gt;·</span><span·class="nc">escript</span><span·class="p">:</span><span·class="nf">extract</span><span·class="p"·data-group-id="2294941009-11">(</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2294941009-12">[</span><span·class="p"·data-group-id="2294941009-12">]</span><span·class="p"·data-group-id="22[·...·truncated·by·diffoscope;·len:·8,·SHA:·96d5198e9bfbd6f7691f0c378b7efef2d635736cd5973793863eea2b73e9cc6f·...·]-11">)</span><span·class="p">.</span><span·class="w">532 &gt;·</span><span·class="nc">escript</span><span·class="p">:</span><span·class="nf">extract</span><span·class="p"·data-group-id="6982097772-11">(</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6982097772-12">[</span><span·class="p"·data-group-id="6982097772-12">]</span><span·class="p"·data-group-id="69[·...·truncated·by·diffoscope;·len:·8,·SHA:·a48c7adc3b32472fe2519487bc43c1a863bbb4c4e0aff5395141dcc2745ee26c·...·]-11">)</span><span·class="p">.</span><span·class="w">
533 </span><span·class="p"·data-group-id="2294941009-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2294941009-14">[</span><span·class="p"·data-group-id="2294941009-15">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">und[·...·truncated·by·diffoscope;·len:·543,·SHA:·95cc028d0eca1e1674babc898686e24e653d168ec0e0e41fcd0989779fa3b1f3·...·]-17">}</span><span·class="p">,</span><span·class="w">533 </span><span·class="p"·data-group-id="6982097772-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6982097772-14">[</span><span·class="p"·data-group-id="6982097772-15">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">und[·...·truncated·by·diffoscope;·len:·543,·SHA:·a36af1f85222156c1c300bd5b1b162726dee074a087cb1a884db047c3f7871d3·...·]-17">}</span><span·class="p">,</span><span·class="w">
534 ·····</span><span·class="p"·data-group-id="2294941009-18">{</span><span·class="ss">beam</span><span·class="p">,</span><span·class="p"·data-group-id="2294941009-19">&lt;&lt;</span><span·class="mi">70</span><span·class="p">,</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">49</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">68</span><span·class="p">,</span><span·class="mi">66</span><span·class="p">,</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">77</span><span·class="p">,</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">116</span><span·class="p">,</span><span·class="w">534 ·····</span><span·class="p"·data-group-id="6982097772-18">{</span><span·class="ss">beam</span><span·class="p">,</span><span·class="p"·data-group-id="6982097772-19">&lt;&lt;</span><span·class="mi">70</span><span·class="p">,</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">49</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">68</span><span·class="p">,</span><span·class="mi">66</span><span·class="p">,</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">77</span><span·class="p">,</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">116</span><span·class="p">,</span><span·class="w">
535 ·············</span><span·class="mi">111</span><span·class="p">,</span><span·class="mi">109</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">83</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">9</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="2294941009-19">&gt;&gt;</span><span·class="p"·data-group-id="2294941009-18">}</span><span·class="p"·data-group-id="2294941009-14">]</span><span·class="p"·data-group-id="2294941009-13">}</span><span·class="gp·unselectable">535 ·············</span><span·class="mi">111</span><span·class="p">,</span><span·class="mi">109</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">83</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">9</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="6982097772-19">&gt;&gt;</span><span·class="p"·data-group-id="6982097772-18">}</span><span·class="p"·data-group-id="6982097772-14">]</span><span·class="p"·data-group-id="6982097772-13">}</span><span·class="gp·unselectable">
536 &gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="2294941009-20">(</span><span·class="s">&quot;escript·demo.beam&quot;</span><span·class="p"·data-group-id="2294941009-20">)</span><span·class="p">.</span><span·class="w">536 &gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">cmd</span><span·class="p"·data-group-id="6982097772-20">(</span><span·class="s">&quot;escript·demo.beam&quot;</span><span·class="p"·data-group-id="6982097772-20">)</span><span·class="p">.</span><span·class="w">
537 </span><span·class="s">&quot;true&quot;</span></code></pre><p>Here·we·create·an·archive·script·containing·both·Erlang·code·and·Beam·code,·then537 </span><span·class="s">&quot;true&quot;</span></code></pre><p>Here·we·create·an·archive·script·containing·both·Erlang·code·and·Beam·code,·then
538 we·iterate·over·all·files·in·the·archive·and·collect·their·contents·and·some538 we·iterate·over·all·files·in·the·archive·and·collect·their·contents·and·some
539 information·about·them:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="4872741739-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SourceCode</span><span·class="p"·data-group-id="4872741739-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">read_file</span><span·class="p"·data-group-id="4872741739-2">(</span><span·class="s">&quot;demo.erl&quot;</span><span·class="p"·data-group-id="4872741739-2">)</span><span·class="p">.</span><span·class="w"> 
540 </span><span·class="p"·data-group-id="4872741739-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4872741739-4">&lt;&lt;</span><span·class="s">&quot;%%·demo.erl\n-module(demo).\n-export([main/1]).\n\n%%·Demo\nmain[·...·truncated·by·diffoscope;·len:·231,·SHA:·b7989169b20e307e97dc2a32b02106272f2fc50e4906718fa679cbba9b472b4b·...·]">539 information·about·them:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="3602158777-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class=[·...·truncated·by·diffoscope;·len:·418,·SHA:·8228e2ed2e9116507038830ec8ee170672d2db88b8b05d63cb09c92386e7c351·...·]">
 540 </span><span·class="p"·data-group-id="3602158777-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3602158777-4">&lt;&lt;</span><span·class="s">&quot;%%·demo.erl\n-module(demo).\n-export([main/1]).\n\n%%·Demo\nmain(_Arg&quot;</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="3602158777-4">&gt;&gt;</span><span·class="p"·data-group-id="3602158777-3">}</span><span·class="gp·unselectable">
541 &gt;·</span><span·class="nc">escript</span><span·class="p">:</span><span·class="nf">create</span><span·class="p"·data-group-id="4872741739-5">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">541 &gt;·</span><span·class="nc">escript</span><span·class="p">:</span><span·class="nf">create</span><span·class="p"·data-group-id="3602158777-5">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">
542 ·················</span><span·class="p"·data-group-id="4872741739-6">[</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="w">542 ·················</span><span·class="p"·data-group-id="3602158777-6">[</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="w">
543 ··················</span><span·class="p"·data-group-id="4872741739-7">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4872741739-8">[</span><span·class="p"·data-group-id="4872741739-9">{</span><span·class="s">&quot;demo.erl&quot;</span><span·[·...·truncated·by·diffoscope;·len:·116,·SHA:·baa09b90f086eabf3f0b5b699db533211414411c05e874953eec205dc850e39b·...·]-9">}</span><span·class="p">,</span><span·class="w">543 ··················</span><span·class="p"·data-group-id="3602158777-7">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3602158777-8">[</span><span·class="p"·data-group-id="3602158777-9">{</span><span·class="s">&quot;demo.erl&quot;</span><span·[·...·truncated·by·diffoscope;·len:·116,·SHA:·91fd7d628d5ef7d5e0c6081949bbc415d7ed064429b8849fed1cb2c4e5d8aaf4·...·]-9">}</span><span·class="p">,</span><span·class="w">
544 ·····························</span><span·class="p"·data-group-id="4872741739-10">{</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BeamCode</span><span·class="p"·data-group-id="4872741739-10">}</span><span·class="p"·data-group-id="4872741739-8">]</span><sp[·...·truncated·by·diffoscope;·len:·300,·SHA:·1700bf47d7a8129c851b5a03915e71936169740763ff80e57303ef934ce02293·...·]-5">)</span><span·class="p">.</span><span·class="w">544 ·····························</span><span·class="p"·data-group-id="3602158777-10">{</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BeamCode</span><span·class="p"·data-group-id="3602158777-10">}</span><span·class="p"·data-group-id="3602158777-8">]</span><sp[·...·truncated·by·diffoscope;·len:·300,·SHA:·e26999afd03a0796fb350861acc97530aba01495d82aa51927d398b5597ca43b·...·]-5">)</span><span·class="p">.</span><span·class="w">
545 </span><span·class="ss">ok</span><span·class="gp·unselectable">545 </span><span·class="ss">ok</span><span·class="gp·unselectable">
546 &gt;·</span><span·class="p"·data-group-id="4872741739-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4872741739-13">[</span><span·class="p"·data-group-id="4872741739-14">{</span><span·class="ss">shebang</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·565,·SHA:·0cbc0b25fa75cb75dd748c001ec91ce9beaa5f9a96b25a0b915d8d34f760e31f·...·]-16">}</span><span·class="p">,</span><span·class="w">546 &gt;·</span><span·class="p"·data-group-id="3602158777-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3602158777-13">[</span><span·class="p"·data-group-id="3602158777-14">{</span><span·class="ss">shebang</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·565,·SHA:·ac3110c45cb3403a35205c0381f7ce9d5d211b8bdc2640f9bdfade5f7056b76b·...·]-16">}</span><span·class="p">,</span><span·class="w">
547 ·····</span><span·class="p"·data-group-id="4872741739-17">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArchiveBin</span><span·class="p"·data-group-id="4872741739-17">}</span><span·class="p"·data-group-id="4872741739-13">]</span><span·class="[·...·truncated·by·diffoscope;·len:·497,·SHA:·2b668859750f5c948702eb74d7865db23d13b34e92b6d86d176438e766c6aa4b·...·]-18">)</span><span·class="p">.</span><span·class="w">547 ·····</span><span·class="p"·data-group-id="3602158777-17">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArchiveBin</span><span·class="p"·data-group-id="3602158777-17">}</span><span·class="p"·data-group-id="3602158777-13">]</span><span·class="[·...·truncated·by·diffoscope;·len:·497,·SHA:·ec4a887555242fb44696d261e0227c3b43b79085d5cd5ec4011ee49302fd6ea5·...·]-18">)</span><span·class="p">.</span><span·class="w">
548 </span><span·class="p"·data-group-id="4872741739-20">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4872741739-21">[</span><span·class="p"·data-group-id="4872741739-22">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">def[·...·truncated·by·diffoscope;·len:·541,·SHA:·d33ac9f9e54b3515e923042227d6d0624a20129089522c687defdb3e70b6073f·...·]-24">}</span><span·class="p">,</span><span·class="w">548 </span><span·class="p"·data-group-id="3602158777-20">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3602158777-21">[</span><span·class="p"·data-group-id="3602158777-22">{</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="ss">def[·...·truncated·by·diffoscope;·len:·541,·SHA:·8f8c9361a3eab2d649f36052dbe53a36b61837ee7d68cabcb3ee5b8b223771af·...·]-24">}</span><span·class="p">,</span><span·class="w">
549 ·····</span><span·class="p"·data-group-id="4872741739-25">{</span><span·class="p"·data-group-id="4872741739-26">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="p"·data-group-id="4872741739-27">&lt;&lt;</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">75</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">20</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">118</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">98</span><span·class="p">,</span><span·class="mi">60</span><span·class="p">,</span><span·class="mi">105</span><span·class="p">,</span><span·class="w">549 ·····</span><span·class="p"·data-group-id="3602158777-25">{</span><span·class="p"·data-group-id="3602158777-26">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="p"·data-group-id="3602158777-27">&lt;&lt;</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">75</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">20</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">118</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">98</span><span·class="p">,</span><span·class="mi">60</span><span·class="p">,</span><span·class="mi">105</span><span·class="p">,</span><span·class="w">
550 ················</span><span·class="mi">152</span><span·class="p">,</span><span·class="mi">61</span><span·class="p">,</span><span·class="mi">93</span><span·class="p">,</span><span·class="mi">107</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">118</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="4872741739-27">&gt;&gt;</span><span·class="p"·data-group-id="4872741739-26">}</span><span·class="p">]</span><span·class="p"·data-group-id="4872741739-25">}</span><span·class="gp·unselectable">550 ················</span><span·class="mi">152</span><span·class="p">,</span><span·class="mi">61</span><span·class="p">,</span><span·class="mi">93</span><span·class="p">,</span><span·class="mi">107</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">118</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="3602158777-27">&gt;&gt;</span><span·class="p"·data-group-id="3602158777-26">}</span><span·class="p">]</span><span·class="p"·data-group-id="3602158777-25">}</span><span·class="gp·unselectable">
551 &gt;·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write_file</span><span·class="p"·data-group-id="4872741739-28">(</span><span·class="s">&quot;demo.zip&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArchiveBin</span><span·class="p"·data-group-id="4872741739-28">)</span><span·class="p">.</span><span·class="w">551 &gt;·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write_file</span><span·class="p"·data-group-id="3602158777-28">(</span><span·class="s">&quot;demo.zip&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArchiveBin</span><span·class="p"·data-group-id="3602158777-28">)</span><span·class="p">.</span><span·class="w">
552 </span><span·class="ss">ok</span><span·class="gp·unselectable">552 </span><span·class="ss">ok</span><span·class="gp·unselectable">
553 &gt;·</span><span·class="nc">zip</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="4872741739-29">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4872741739-30">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">I</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·1252,·SHA:·5fcf068b3037380e2893d776a9eca1e848dfbff09df3dd2eb02cbc33310fc1d6·...·]-29">)</span><span·class="p">.</span><span·class="w">553 &gt;·</span><span·class="nc">zip</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="3602158777-29">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3602158777-30">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">I</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·1252,·SHA:·b360f47721a564304eda529e1a87ff16c374c3899c95bcbf06d1c9d420a9649a·...·]-29">)</span><span·class="p">.</span><span·class="w">
554 </span><span·class="p"·data-group-id="4872741739-36">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4872741739-37">[</span><span·class="p"·data-group-id="4872741739-38">{</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">554 </span><span·class="p"·data-group-id="3602158777-36">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3602158777-37">[</span><span·class="p"·data-group-id="3602158777-38">{</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">
555 ······</span><span·class="p"·data-group-id="4872741739-39">{</span><span·class="ss">file_info</span><span·class="p">,</span><span·class="mi">748</span><span·class="p">,</span><span·class="ss">regular</span><span·class="p">,</span><span·class="ss">read_write</span><span·class="p">,</span><span·class="w">555 ······</span><span·class="p"·data-group-id="3602158777-39">{</span><span·class="ss">file_info</span><span·class="p">,</span><span·class="mi">748</span><span·class="p">,</span><span·class="ss">regular</span><span·class="p">,</span><span·class="ss">read_write</span><span·class="p">,</span><span·class="w">
556 ·················</span><span·class="p"·data-group-id="4872741739-40">{</span><span·class="p"·data-group-id="4872741739-41">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="4872741739-41">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·415e3aa6ad0a53d4d85a9273735dc80c1c7ed44ee6e2f0c74828e54ed61e1fc8·...·]-40">}</span><span·class="p">,</span><span·class="w">556 ·················</span><span·class="p"·data-group-id="3602158777-40">{</span><span·class="p"·data-group-id="3602158777-41">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3602158777-41">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·97bab370bd785848d8e8c6750b7127afe5dfe2f857ede8ed3957579a85bc9bf8·...·]-40">}</span><span·class="p">,</span><span·class="w">
557 ·················</span><span·class="p"·data-group-id="4872741739-43">{</span><span·class="p"·data-group-id="4872741739-44">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="4872741739-44">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·0d10daa4a6d34beacf72e9f8390d6a3996469dea3435a1be816b53fdfe91c419·...·]-43">}</span><span·class="p">,</span><span·class="w">557 ·················</span><span·class="p"·data-group-id="3602158777-43">{</span><span·class="p"·data-group-id="3602158777-44">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3602158777-44">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·f5e3413f76cc2f0883eb497cb3d887c65f5f1965f3342a19f187318ec539e67a·...·]-43">}</span><span·class="p">,</span><span·class="w">
558 ·················</span><span·class="p"·data-group-id="4872741739-46">{</span><span·class="p"·data-group-id="4872741739-47">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="4872741739-47">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·e61156e773c8a5900da358adbedf7def01b335aee6ac056ca7c5c6471f56657b·...·]-46">}</span><span·class="p">,</span><span·class="w">558 ·················</span><span·class="p"·data-group-id="3602158777-46">{</span><span·class="p"·data-group-id="3602158777-47">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3602158777-47">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·bdd296114a7b38770e5e4a0820e8d836091eda6ea28a256ca40db3f167230945·...·]-46">}</span><span·class="p">,</span><span·class="w">
559 ·················</span><span·class="mi">54</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="4872741739-39">}</span><span·class="p">,</span><span·class="w">559 ·················</span><span·class="mi">54</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="3602158777-39">}</span><span·class="p">,</span><span·class="w">
560 ······</span><span·class="p"·data-group-id="4872741739-49">&lt;&lt;</span><span·class="mi">70</span><span·class="p">,</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">49</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">228</span><span·class="p">,</span><span·class="mi">66</span><span·class="p">,</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">77</span><span·class="p">,</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">116</span><span·class="p">,</span><span·class="mi">111</span><span·class="p">,</span><span·class="mi">109</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">560 ······</span><span·class="p"·data-group-id="3602158777-49">&lt;&lt;</span><span·class="mi">70</span><span·class="p">,</span><span·class="mi">79</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">49</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">228</span><span·class="p">,</span><span·class="mi">66</span><span·class="p">,</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">77</span><span·class="p">,</span><span·class="mi">65</span><span·class="p">,</span><span·class="mi">116</span><span·class="p">,</span><span·class="mi">111</span><span·class="p">,</span><span·class="mi">109</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
561 ········</span><span·class="mi">83</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="4872741739-49">&gt;&gt;</span><span·class="p"·data-group-id="4872741739-38">}</span><span·class="p">,</span><span·class="w">561 ········</span><span·class="mi">83</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="3602158777-49">&gt;&gt;</span><span·class="p"·data-group-id="3602158777-38">}</span><span·class="p">,</span><span·class="w">
562 ·····</span><span·class="p"·data-group-id="4872741739-50">{</span><span·class="s">&quot;demo.erl&quot;</span><span·class="p">,</span><span·class="w">562 ·····</span><span·class="p"·data-group-id="3602158777-50">{</span><span·class="s">&quot;demo.erl&quot;</span><span·class="p">,</span><span·class="w">
563 ······</span><span·class="p"·data-group-id="4872741739-51">{</span><span·class="ss">file_info</span><span·class="p">,</span><span·class="mi">118</span><span·class="p">,</span><span·class="ss">regular</span><span·class="p">,</span><span·class="ss">read_write</span><span·class="p">,</span><span·class="w">563 ······</span><span·class="p"·data-group-id="3602158777-51">{</span><span·class="ss">file_info</span><span·class="p">,</span><span·class="mi">118</span><span·class="p">,</span><span·class="ss">regular</span><span·class="p">,</span><span·class="ss">read_write</span><span·class="p">,</span><span·class="w">
564 ·················</span><span·class="p"·data-group-id="4872741739-52">{</span><span·class="p"·data-group-id="4872741739-53">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="4872741739-53">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·8eaf4953ffff0d8caf3d3d768a8a997bf0f51c00247ea27ca4503d102e2e09d4·...·]-52">}</span><span·class="p">,</span><span·class="w">564 ·················</span><span·class="p"·data-group-id="3602158777-52">{</span><span·class="p"·data-group-id="3602158777-53">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3602158777-53">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·9c86d789bd6dda3e01197de500c07dd49c267bd57e007d2bbe21d5de5b56a576·...·]-52">}</span><span·class="p">,</span><span·class="w">
565 ·················</span><span·class="p"·data-group-id="4872741739-55">{</span><span·class="p"·data-group-id="4872741739-56">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="4872741739-56">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·b4092e900c00f002444485c3a8983465abf657b048b8c61c7de143234b175972·...·]-55">}</span><span·class="p">,</span><span·class="w">565 ·················</span><span·class="p"·data-group-id="3602158777-55">{</span><span·class="p"·data-group-id="3602158777-56">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3602158777-56">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·7c4d2feffb87e35ad9a604ba941f270460a7c668aba854e1e61b3968382ddeef·...·]-55">}</span><span·class="p">,</span><span·class="w">
566 ·················</span><span·class="p"·data-group-id="4872741739-58">{</span><span·class="p"·data-group-id="4872741739-59">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="4872741739-59">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·47f3000e3f8ce7212f6b035827d8ac5e3b8780c10ae51663d67b77937a4975e0·...·]-58">}</span><span·class="p">,</span><span·class="w">566 ·················</span><span·class="p"·data-group-id="3602158777-58">{</span><span·class="p"·data-group-id="3602158777-59">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3602158777-59">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·5bf33e59edc21cbf9222ba33c531f7090ebd85183284be478c7c8ad4cf93c5bd·...·]-58">}</span><span·class="p">,</span><span·class="w">
567 ·················</span><span·class="mi">54</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="4872741739-51">}</span><span·class="p">,</span><span·class="w">567 ·················</span><span·class="mi">54</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="3602158777-51">}</span><span·class="p">,</span><span·class="w">
568 ······</span><span·class="p"·data-group-id="4872741739-61">&lt;&lt;</span><span·class="s">&quot;%%·demo.erl\n-module(demo).\n-export([main/1]).\n\n%%·Demo\nmain(_Arg&quot;</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="4872741739-61">&gt;[·...·truncated·by·diffoscope;·len:·160,·SHA:·f2c6f07121b714a30203d4e48440498c54a02a44259d2b3ce01d9a4045f1d4fc·...·]-36">}</span></code></pre>568 ······</span><span·class="p"·data-group-id="3602158777-61">&lt;&lt;</span><span·class="s">&quot;%%·demo.erl\n-module(demo).\n-export([main/1]).\n\n%%·Demo\nmain(_Arg&quot;</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="3602158777-61">&gt;[·...·truncated·by·diffoscope;·len:·160,·SHA:·509bec06c96deb21876bc3f9148c40cadac1cb3b518a1fb7b26951ec0c304e93·...·]-36">}</span></code></pre>
569 ··</section>569 ··</section>
570 </section>570 </section>
571 <section·class="detail"·id="extract/2">571 <section·class="detail"·id="extract/2">
  
572 ··<div·class="detail-header">572 ··<div·class="detail-header">
573 ····<a·href="#extract/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">573 ····<a·href="#extract/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
574 ······<i·class="ri-link-m"·aria-hidden="true"></i>574 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 593, 24 lines modifiedOffset 593, 24 lines modified
593 ······</div>593 ······</div>
  
594 <p>Parses·an·escript·and·extracts·its·sections.·This·is·the·reverse·of·<a·href="#create/2"><code·class="inline">create/2</code></a>.</p><p>All·sections·are·returned·even·if·they·do·not·exist·in·the·escript.·If·a594 <p>Parses·an·escript·and·extracts·its·sections.·This·is·the·reverse·of·<a·href="#create/2"><code·class="inline">create/2</code></a>.</p><p>All·sections·are·returned·even·if·they·do·not·exist·in·the·escript.·If·a
595 particular·section·happens·to·have·the·same·value·as·the·default·value,·the595 particular·section·happens·to·have·the·same·value·as·the·default·value,·the
596 extracted·value·is·set·to·the·atom·<code·class="inline">default</code>.·If·a·section·is·missing,·the596 extracted·value·is·set·to·the·atom·<code·class="inline">default</code>.·If·a·section·is·missing,·the
597 extracted·value·is·set·to·the·atom·<code·class="inline">undefined</code>.</p><p>Option·<code·class="inline">compile_source</code>·only·affects·the·result·if·the·escript·contains·<code·class="inline">source</code>597 extracted·value·is·set·to·the·atom·<code·class="inline">undefined</code>.</p><p>Option·<code·class="inline">compile_source</code>·only·affects·the·result·if·the·escript·contains·<code·class="inline">source</code>
598 code.·In·this·case·the·Erlang·code·is·automatically·compiled·and598 code.·In·this·case·the·Erlang·code·is·automatically·compiled·and
599 <code·class="inline">{source,·BeamCode}</code>·is·returned·instead·of·<code·class="inline">{source,·SourceCode}</code>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">escript</span><span·class="p">:</span><span·class="nf">create</span><span·class="p"·data-group-id="7056154999-1">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">599 <code·class="inline">{source,·BeamCode}</code>·is·returned·instead·of·<code·class="inline">{source,·SourceCode}</code>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">escript</span><span·class="p">:</span><span·class="nf">create</span><span·class="p"·data-group-id="1294306294-1">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">
600 ·················</span><span·class="p"·data-group-id="7056154999-2">[</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7056154999-3">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·248,·SHA:·c68e0bcd1304a64dff3b888ca4072017b244dc64edc5f461815722376e780bad·...·]-5">}</span><span·class="p">,</span><span·class="w">600 ·················</span><span·class="p"·data-group-id="1294306294-2">[</span><span·class="ss">shebang</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1294306294-3">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·248,·SHA:·cbc0290cc7b0d97db6cc366e32c98a0b2d87b99373bad3ea84b348e98393076b·...·]-5">}</span><span·class="p">,</span><span·class="w">
601 ······································</span><span·class="p"·data-group-id="7056154999-6">{</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BeamCode</span><span·class="p"·data-group-id="7056154999-6">}</span><span·class="p"·data-group-id="7056154999-4">]</span><span[·...·truncated·by·diffoscope;·len:·296,·SHA:·832f8eee04a2f3fdf3ba7a3a87735f0ba4af61d40119e928bbb3adb93f1be0a8·...·]-1">)</span><span·class="p">.</span><span·class="w">601 ······································</span><span·class="p"·data-group-id="1294306294-6">{</span><span·class="s">&quot;demo.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">BeamCode</span><span·class="p"·data-group-id="1294306294-6">}</span><span·class="p"·data-group-id="1294306294-4">]</span><span[·...·truncated·by·diffoscope;·len:·296,·SHA:·006b9e1a8cfaf0562f4732f5cf84568757a50f56415326e56de8ecd233ee9b8b·...·]-1">)</span><span·class="p">.</span><span·class="w">
602 </span><span·class="ss">ok</span><span·class="gp·unselectable">602 </span><span·class="ss">ok</span><span·class="gp·unselectable">
603 &gt;·</span><span·class="p"·data-group-id="7056154999-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7056154999-9">[</span><span·class="p"·data-group-id="7056154999-10">{</span><span·class="ss">shebang</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·563,·SHA:·814192939634a1c03f4fc7c694e5e35214123900dd421f11b0eddd3e1b0fbc9a·...·]-12">}</span><span·class="p">,</span><span·class="w">603 &gt;·</span><span·class="p"·data-group-id="1294306294-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1294306294-9">[</span><span·class="p"·data-group-id="1294306294-10">{</span><span·class="ss">shebang</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·563,·SHA:·55e982b115f15a370be011bb558a107f0cefee5fbcafc6e3e79d83dd00ab7666·...·]-12">}</span><span·class="p">,</span><span·class="w">
604 ·····</span><span·class="p"·data-group-id="7056154999-13">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArchiveBin</span><span·class="p"·data-group-id="7056154999-13">}</span><span·class="p"·data-group-id="7056154999-9">]</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·593d5aced2858545ad73fb886d3bdf0bd644e024bce7188f3d7a8c0b16415bd9·...·]-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">604 ·····</span><span·class="p"·data-group-id="1294306294-13">{</span><span·class="ss">archive</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ArchiveBin</span><span·class="p"·data-group-id="1294306294-13">}</span><span·class="p"·data-group-id="1294306294-9">]</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·bfd21a7001a30514c29cfe7b39f5b3fd553c8cbb4f9354c59b0e8c8a2fc687aa·...·]-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
605 ··············</span><span·class="nc">escript</span><span·class="p">:</span><span·class="nf">extract</span><span·class="p"·data-group-id="7056154999-14">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7056154999-15">[</span><span·class="p"·data-group-id="7056154999-15">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·9afb7a65656608498717e88f05991113dc80b42de6bfb4c9f219cccfafa7eaf4·...·]-14">)</span><span·class="p">.</span><span·class="w">605 ··············</span><span·class="nc">escript</span><span·class="p">:</span><span·class="nf">extract</span><span·class="p"·data-group-id="1294306294-14">(</span><span·class="s">&quot;demo.escript&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1294306294-15">[</span><span·class="p"·data-group-id="1294306294-15">]</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·3862d5e9ec67f3287cd3d8b52844de9c044538df2c617f7ad30d29faef63f87f·...·]-14">)</span><span·class="p">.</span><span·class="w">
606 </span><span·class="p"·data-group-id="7056154999-16">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7056154999-17">[</span><span·class="p"·data-group-id="7056154999-18">{</span><span·class="p"·data-group-id="7056154999-19">{</span><span·class="ss">arch[·...·truncated·by·diffoscope;·len:·75,·SHA:·0bd912b8fe62082614770feba1ef707734de963803eb355e21ca3cff7a92ed9f·...·]-20">&lt;&lt;</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">75</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">20</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">118</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">98</span><span·class="p">,</span><span·class="mi">60</span><span·class="p">,</span><span·class="mi">105</span><span·class="p">,</span><span·class="w">606 </span><span·class="p"·data-group-id="1294306294-16">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1294306294-17">[</span><span·class="p"·data-group-id="1294306294-18">{</span><span·class="p"·data-group-id="1294306294-19">{</span><span·class="ss">arch[·...·truncated·by·diffoscope;·len:·75,·SHA:·931ae62051d3e4da59dc519ec1a2009454ad3a6d9b82b8183873cfe46fe7ca64·...·]-20">&lt;&lt;</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">75</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">20</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">118</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">98</span><span·class="p">,</span><span·class="mi">60</span><span·class="p">,</span><span·class="mi">105</span><span·class="p">,</span><span·class="w">
607 ················</span><span·class="mi">152</span><span·class="p">,</span><span·class="mi">61</span><span·class="p">,</span><span·class="mi">93</span><span·class="p">,</span><span·class="mi">107</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">118</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="7056154999-20">&gt;&gt;</span><span·class="p"·data-group-id="7056154999-19">}</span><span·class="w">607 ················</span><span·class="mi">152</span><span·class="p">,</span><span·class="mi">61</span><span·class="p">,</span><span·class="mi">93</span><span·class="p">,</span><span·class="mi">107</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">118</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1294306294-20">&gt;&gt;</span><span·class="p"·data-group-id="1294306294-19">}</span><span·class="w">
608 ·····</span><span·class="p"·data-group-id="7056154999-21">{</span><span·class="ss">emu_args</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p"·data-group-id="7056154999-21">}</span><span·class="p">]</span><span·class="p"·data-group-id="7056154999-18">}</span></code></pre>608 ·····</span><span·class="p"·data-group-id="1294306294-21">{</span><span·class="ss">emu_args</span><span·class="p">,</span><span·class="ss">undefined</span><span·class="p"·data-group-id="1294306294-21">}</span><span·class="p">]</span><span·class="p"·data-group-id="1294306294-18">}</span></code></pre>
609 ··</section>609 ··</section>
610 </section>610 </section>
611 <section·class="detail"·id="script_name/0">611 <section·class="detail"·id="script_name/0">
  
612 ··<div·class="detail-header">612 ··<div·class="detail-header">
613 ····<a·href="#script_name/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">613 ····<a·href="#script_name/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
614 ······<i·class="ri-link-m"·aria-hidden="true"></i>614 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 658, 15 lines modifiedOffset 658, 15 lines modified
658 ······<p·class="built-using">658 ······<p·class="built-using">
659 ········Built·using659 ········Built·using
660 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the660 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
661 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>661 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
662 ······</p>662 ······</p>
663 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>663 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
664 ····</footer>664 ····</footer>
665 ··</div>665 ··</div>
666 </main>666 </main>
667 </div>667 </div>
668 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>668 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
669 ··<script>669 ··<script>
670 ··let·initialized·=·false;670 ··let·initialized·=·false;
634 B
html2text {}
Max HTML report size reached
139 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/ets.html
    
Offset 216, 35 lines modifiedOffset 216, 35 lines modified
216 disallow·concurrent·updates·during·the·entire·traversal.</p><p>Moreover,·traversals·not·done·in·a·<em>safe</em>·way,·on·tables·where·keys·are·inserted216 disallow·concurrent·updates·during·the·entire·traversal.</p><p>Moreover,·traversals·not·done·in·a·<em>safe</em>·way,·on·tables·where·keys·are·inserted
217 or·deleted·during·the·traversal,·may·yield·the·following·undesired·effects:</p><ul><li>Any·key·may·be·missed.</li><li>Any·key·may·be·found·more·than·once.</li><li>The·traversal·may·fail·with·<code·class="inline">badarg</code>·exception·if·keys·are·deleted.</li></ul><p>A·table·traversal·is·<em>safe</em>·if·either</p><ul><li>the·table·is·of·type·<code·class="inline">ordered_set</code>.</li><li>the·entire·table·traversal·is·done·within·one·ETS·function·call.</li><li>function·<a·href="#safe_fixtable/2"><code·class="inline">safe_fixtable/2</code></a>·is·used·to·keep·the·table·fixated·during·the·entire217 or·deleted·during·the·traversal,·may·yield·the·following·undesired·effects:</p><ul><li>Any·key·may·be·missed.</li><li>Any·key·may·be·found·more·than·once.</li><li>The·traversal·may·fail·with·<code·class="inline">badarg</code>·exception·if·keys·are·deleted.</li></ul><p>A·table·traversal·is·<em>safe</em>·if·either</p><ul><li>the·table·is·of·type·<code·class="inline">ordered_set</code>.</li><li>the·entire·table·traversal·is·done·within·one·ETS·function·call.</li><li>function·<a·href="#safe_fixtable/2"><code·class="inline">safe_fixtable/2</code></a>·is·used·to·keep·the·table·fixated·during·the·entire
218 traversal.</li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Even·though·the·access·of·a·single·object·is·always·guaranteed·to·be218 traversal.</li></ul><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Even·though·the·access·of·a·single·object·is·always·guaranteed·to·be
219 <a·href="ets.html#module-concurrency">atomic·and·isolated</a>,·each·traversal·through·a·table·to219 <a·href="ets.html#module-concurrency">atomic·and·isolated</a>,·each·traversal·through·a·table·to
220 find·the·next·key·is·not·done·with·such·guarantees.·This·is·often·not·a220 find·the·next·key·is·not·done·with·such·guarantees.·This·is·often·not·a
221 problem,·but·may·cause·rare·subtle·&quot;unexpected&quot;·effects·if·a·concurrent221 problem,·but·may·cause·rare·subtle·&quot;unexpected&quot;·effects·if·a·concurrent
222 process·inserts·objects·during·a·traversal.·For·example,·consider·one·process222 process·inserts·objects·during·a·traversal.·For·example,·consider·one·process
223 doing</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="5238732915-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5238732915-2">[</span><span·class="ss">ordered_set</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">named_ta[·...·truncated·by·diffoscope;·len:·104,·SHA:·453202776099f29a7f1639870ff217c092893f446b620099ed8199406e2359fd·...·]-1">)</span><span·class="p">,</span><span·class="w">223 doing</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="0362136311-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0362136311-2">[</span><span·class="ss">ordered_set</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">named_ta[·...·truncated·by·diffoscope;·len:·104,·SHA:·495a14dc9b8ebbeb78505fa2888c46d1c88286653b4fd9a79a7f8a42466e528a·...·]-1">)</span><span·class="p">,</span><span·class="w">
224 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="5238732915-3">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5238732915-4">{</span><span·class="mi">1</span><span·class="p"·data-group-id="5238732915-4">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·73c761ad1c7cf37f487e747cb8cef81c062e79f8b0c26d3c8497da779015f404·...·]-3">)</span><span·class="p">,</span><span·class="w">224 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="0362136311-3">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0362136311-4">{</span><span·class="mi">1</span><span·class="p"·data-group-id="0362136311-4">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·2bb6161e26433e9db78b23ec3055d6c178ca813031965e9c4e65fcf04d26f701·...·]-3">)</span><span·class="p">,</span><span·class="w">
225 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="5238732915-5">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5238732915-6">{</span><span·class="mi">2</span><span·class="p"·data-group-id="5238732915-6">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·73c761ad1c7cf37f487e747cb8cef81c062e79f8b0c26d3c8497da779015f404·...·]-5">)</span><span·class="p">,</span><span·class="w">225 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="0362136311-5">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0362136311-6">{</span><span·class="mi">2</span><span·class="p"·data-group-id="0362136311-6">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·2bb6161e26433e9db78b23ec3055d6c178ca813031965e9c4e65fcf04d26f701·...·]-5">)</span><span·class="p">,</span><span·class="w">
226 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="5238732915-7">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5238732915-8">{</span><span·class="mi">3</span><span·class="p"·data-group-id="5238732915-8">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·73c761ad1c7cf37f487e747cb8cef81c062e79f8b0c26d3c8497da779015f404·...·]-7">)</span><span·class="p">,</span></code></pre><p>A·concurrent·call·to·<code·class="inline">ets:first(t)</code>,·done·by·another·process,·may·then·in·rare226 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">insert</span><span·class="p"·data-group-id="0362136311-7">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0362136311-8">{</span><span·class="mi">3</span><span·class="p"·data-group-id="0362136311-8">}</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·2bb6161e26433e9db78b23ec3055d6c178ca813031965e9c4e65fcf04d26f701·...·]-7">)</span><span·class="p">,</span></code></pre><p>A·concurrent·call·to·<code·class="inline">ets:first(t)</code>,·done·by·another·process,·may·then·in·rare
227 cases·return·<code·class="inline">2</code>·even·though·<code·class="inline">2</code>·has·never·existed·in·the·table·ordered·as·the227 cases·return·<code·class="inline">2</code>·even·though·<code·class="inline">2</code>·has·never·existed·in·the·table·ordered·as·the
228 first·key.·In·the·same·way,·a·concurrent·call·to·<code·class="inline">ets:next(t,·1)</code>·may·return228 first·key.·In·the·same·way,·a·concurrent·call·to·<code·class="inline">ets:next(t,·1)</code>·may·return
229 <code·class="inline">3</code>·even·though·<code·class="inline">3</code>·never·existed·in·the·table·ordered·directly·after·<code·class="inline">1</code>.</p><p>Effects·like·this·are·improbable·but·possible.·The·probability·will·further·be229 <code·class="inline">3</code>·even·though·<code·class="inline">3</code>·never·existed·in·the·table·ordered·directly·after·<code·class="inline">1</code>.</p><p>Effects·like·this·are·improbable·but·possible.·The·probability·will·further·be
230 reduced·(if·not·vanish)·if·table·option230 reduced·(if·not·vanish)·if·table·option
231 <a·href="ets.html#new_2_write_concurrency"><code·class="inline">write_concurrency</code></a>·is·not·enabled.·This231 <a·href="ets.html#new_2_write_concurrency"><code·class="inline">write_concurrency</code></a>·is·not·enabled.·This
232 can·also·only·be·a·potential·concern·for·<code·class="inline">ordered_set</code>·where·the·traversal232 can·also·only·be·a·potential·concern·for·<code·class="inline">ordered_set</code>·where·the·traversal
233 order·is·defined.</p></section><p>Traversals·using·<code·class="inline">match</code>·and·<code·class="inline">select</code>·functions·may·not·need·to·scan·the·entire233 order·is·defined.</p></section><p>Traversals·using·<code·class="inline">match</code>·and·<code·class="inline">select</code>·functions·may·not·need·to·scan·the·entire
234 table·depending·on·how·the·key·is·specified.·A·match·pattern·with·a·<em>fully·bound234 table·depending·on·how·the·key·is·specified.·A·match·pattern·with·a·<em>fully·bound
235 key</em>·(without·any·match·variables)·will·optimize·the·operation·to·a·single·key235 key</em>·(without·any·match·variables)·will·optimize·the·operation·to·a·single·key
236 lookup·without·any·table·traversal·at·all.·For·<code·class="inline">ordered_set</code>·a·<em>partially·bound236 lookup·without·any·table·traversal·at·all.·For·<code·class="inline">ordered_set</code>·a·<em>partially·bound
237 key</em>·will·limit·the·traversal·to·only·scan·a·subset·of·the·table·based·on·term237 key</em>·will·limit·the·traversal·to·only·scan·a·subset·of·the·table·based·on·term
238 order.·A·partially·bound·key·is·either·a·list·or·a·tuple·with·a·prefix·that·is238 order.·A·partially·bound·key·is·either·a·list·or·a·tuple·with·a·prefix·that·is
239 fully·bound.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">T</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="1456123112-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="p"·data-group-id="1456123112-2">[</span><span·class="ss">ordered_set</span><span·class="p"·data-group-id="1456123112-2">]</span><span·class="p"·data-group-id="1456123112-1"[·...·truncated·by·diffoscope;·len:·546,·SHA:·8a6c2212d1782f56266ea0f1f0541d8f33a52b3b119cca43c395edb595eb34fd·...·]-3">)</span><span·class="p">.</span><span·class="w">239 fully·bound.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">T</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="5778019486-1">(</span><span·class="ss">t</span><span·class="p">,</span><span·class="p"·data-group-id="5778019486-2">[</span><span·class="ss">ordered_set</span><span·class="p"·data-group-id="5778019486-2">]</span><span·class="p"·data-group-id="5778019486-1"[·...·truncated·by·diffoscope;·len:·546,·SHA:·cf51689c78dced165d96a283321439bdbde608c7a1b68b9150f9d254e3a099d1·...·]-3">)</span><span·class="p">.</span><span·class="w">
240 </span><span·class="ss">true</span><span·class="gp·unselectable">240 </span><span·class="ss">true</span><span·class="gp·unselectable">
241 2&gt;·</span><span·class="c1">%%·Efficient·search·of·all·with·area·code·555</span><span·class="gp·unselectable">241 2&gt;·</span><span·class="c1">%%·Efficient·search·of·all·with·area·code·555</span><span·class="gp·unselectable">
242 2&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="1456123112-5">(</span><span·class="n">T</span><span·class="p">,</span><span·class="p"·data-group-id="1456123112-6">{</span><span·class="p"·data-group-id="1456123112-7">[</span><span·class="sc">$5</span><span·class="p">,</span><span·class="sc">$5</span><spa[·...·truncated·by·diffoscope;·len:·387,·SHA:·b037e5586ac5071ead25fd265c714e9edc058bd404f9bae61530d7a805457896·...·]-5">)</span><span·class="p">.</span><span·class="w">242 2&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="5778019486-5">(</span><span·class="n">T</span><span·class="p">,</span><span·class="p"·data-group-id="5778019486-6">{</span><span·class="p"·data-group-id="5778019486-7">[</span><span·class="sc">$5</span><span·class="p">,</span><span·class="sc">$5</span><spa[·...·truncated·by·diffoscope;·len:·387,·SHA:·949dcd9080b2628386aadc3378120adaf3e5ad9a67192d35a68cbdf25506897f·...·]-5">)</span><span·class="p">.</span><span·class="w">
243 </span><span·class="p"·data-group-id="1456123112-8">[</span><span·class="p"·data-group-id="1456123112-9">[</span><span·class="s">&quot;1234&quot;</span><span·class="p">,</span><span·class="s">&quot;John·Smith&quot;</span><span·class="p"·data-group-id="1456123112-9">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·441c9e3e13d4b23d48d47e5a46953a80a8a9e10726ca4ceb512b4d59178bffad·...·]-8">]</span></code></pre><p><a·href=""·id="match_spec"></a></p><h2·id="module-match-specifications"·class="section-heading">243 </span><span·class="p"·data-group-id="5778019486-8">[</span><span·class="p"·data-group-id="5778019486-9">[</span><span·class="s">&quot;1234&quot;</span><span·class="p">,</span><span·class="s">&quot;John·Smith&quot;</span><span·class="p"·data-group-id="5778019486-9">]</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·1f76f61a853c2727bf3c897b30f429a567832c7c2c757e58509198f6354ed215·...·]-8">]</span></code></pre><p><a·href=""·id="match_spec"></a></p><h2·id="module-match-specifications"·class="section-heading">
244 ··<a·href="#module-match-specifications"·class="hover-link">244 ··<a·href="#module-match-specifications"·class="hover-link">
245 ····<i·class="ri-link-m"·aria-hidden="true"></i>245 ····<i·class="ri-link-m"·aria-hidden="true"></i>
246 ··</a>246 ··</a>
247 ··<span·class="text">Match·Specifications</span>247 ··<span·class="text">Match·Specifications</span>
248 </h2>248 </h2>
249 <p>Some·of·the·functions·use·a·<em>match·specification</em>,·<code·class="inline">match_spec</code>.·For·a·brief249 <p>Some·of·the·functions·use·a·<em>match·specification</em>,·<code·class="inline">match_spec</code>.·For·a·brief
250 explanation,·see·<a·href="#select/2"><code·class="inline">select/2</code></a>.·For·a·detailed·description,·see·section250 explanation,·see·<a·href="#select/2"><code·class="inline">select/2</code></a>.·For·a·detailed·description,·see·section
Offset 1886, 27 lines modifiedOffset 1886, 27 lines modified
1886 function.</p><p>The·parse·transform·is·provided·in·the·<code·class="inline">ms_transform</code>·module·and·the·source1886 function.</p><p>The·parse·transform·is·provided·in·the·<code·class="inline">ms_transform</code>·module·and·the·source
1887 <em>must</em>·include·file·<code·class="inline">ms_transform.hrl</code>·in·STDLIB·for·this·pseudo·function·to1887 <em>must</em>·include·file·<code·class="inline">ms_transform.hrl</code>·in·STDLIB·for·this·pseudo·function·to
1888 work.·Failing·to·include·the·hrl·file·in·the·source·results·in·a·runtime·error,1888 work.·Failing·to·include·the·hrl·file·in·the·source·results·in·a·runtime·error,
1889 not·a·compile·time·error.·The·include·file·is·easiest·included·by·adding·line1889 not·a·compile·time·error.·The·include·file·is·easiest·included·by·adding·line
1890 <code·class="inline">-include_lib(&quot;stdlib/include/ms_transform.hrl&quot;).</code>·to·the·source·file.</p><p>The·fun·is·very·restricted,·it·can·take·only·a·single·parameter·(the·object·to1890 <code·class="inline">-include_lib(&quot;stdlib/include/ms_transform.hrl&quot;).</code>·to·the·source·file.</p><p>The·fun·is·very·restricted,·it·can·take·only·a·single·parameter·(the·object·to
1891 match):·a·sole·variable·or·a·tuple.·It·must·use·the·<code·class="inline">is_</code>·guard·tests.·Language1891 match):·a·sole·variable·or·a·tuple.·It·must·use·the·<code·class="inline">is_</code>·guard·tests.·Language
1892 constructs·that·have·no·representation·in·a·match·specification·(<code·class="inline">if</code>,·<code·class="inline">case</code>,1892 constructs·that·have·no·representation·in·a·match·specification·(<code·class="inline">if</code>,·<code·class="inline">case</code>,
1893 <code·class="inline">receive</code>,·and·so·on)·are·not·allowed.</p><p>The·return·value·is·the·resulting·match·specification.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="0779811163-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="0779811163-2">(</span><span·class="p"·data-group-id="0779811163-3">{</span><span·class="n">M</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·466,·SHA:·1fd553e772cb85cbf9a1996b0ded66aa57409c1cb8e9007de89ae8f9c7e02b3b·...·]3-1">)</span><span·class="p">.</span><span·class="w">1893 <code·class="inline">receive</code>,·and·so·on)·are·not·allowed.</p><p>The·return·value·is·the·resulting·match·specification.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="9706528483-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9706528483-2">(</span><span·class="p"·data-group-id="9706528483-3">{</span><span·class="n">M</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·466,·SHA:·07a45b0268ba46ba71abc1e9423bfc5d5f74c45a2b23640e0711b95a041b39af·...·]3-1">)</span><span·class="p">.</span><span·class="w">
1894 </span><span·class="p"·data-group-id="0779811163-4">[</span><span·class="p"·data-group-id="0779811163-5">{</span><span·class="p"·data-group-id="0779811163-6">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="0[·...·truncated·by·diffoscope;·len:·663,·SHA:·033fa527130c1d3f40852a57764f21e37d43b32787884d929cb1ec2e513abd0a·...·]3-4">]</span></code></pre><p>Variables·from·the·environment·can·be·imported,·so·that·the·following·works:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="n">X</span><span·class="o">=</span><span·class="mi">3</span><span·class="p">.</span><span·class="w">1894 </span><span·class="p"·data-group-id="9706528483-4">[</span><span·class="p"·data-group-id="9706528483-5">{</span><span·class="p"·data-group-id="9706528483-6">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="9[·...·truncated·by·diffoscope;·len:·663,·SHA:·1b4a7f728536595e6d38567623f31969081c1acfb6c79910fa1be427371d7492·...·]3-4">]</span></code></pre><p>Variables·from·the·environment·can·be·imported,·so·that·the·following·works:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="n">X</span><span·class="o">=</span><span·class="mi">3</span><span·class="p">.</span><span·class="w">
1895 </span><span·class="mi">3</span><span·class="gp·unselectable">1895 </span><span·class="mi">3</span><span·class="gp·unselectable">
1896 3&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="4956334660-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4956334660-2">(</span><span·class="p"·data-group-id="4956334660-3">{</span><span·class="n">M</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·466,·SHA:·8bc36bd118bf997839e0a3891ea31b2e50e34efc65432f007fab215afe1ff41a·...·]-1">)</span><span·class="p">.</span><span·class="w">1896 3&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="7974056065-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7974056065-2">(</span><span·class="p"·data-group-id="7974056065-3">{</span><span·class="n">M</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·466,·SHA:·f6439949400f27244ce8ad1a83915dee261ef15a16924f77cf812984597f1d5b·...·]-1">)</span><span·class="p">.</span><span·class="w">
1897 </span><span·class="p"·data-group-id="4956334660-4">[</span><span·class="p"·data-group-id="4956334660-5">{</span><span·class="p"·data-group-id="4956334660-6">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="4[·...·truncated·by·diffoscope;·len:·825,·SHA:·0545fda576e727e47c8de1bdda736353cefabf236759ccd54fb27a6993aa417d·...·]-4">]</span></code></pre><p>The·imported·variables·are·replaced·by·match·specification·<code·class="inline">const</code>·expressions,1897 </span><span·class="p"·data-group-id="7974056065-4">[</span><span·class="p"·data-group-id="7974056065-5">{</span><span·class="p"·data-group-id="7974056065-6">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·825,·SHA:·c9a7f040498815788a317404240279ff114d31c09ca84659af5074729461bd3f·...·]-4">]</span></code></pre><p>The·imported·variables·are·replaced·by·match·specification·<code·class="inline">const</code>·expressions,
1898 which·is·consistent·with·the·static·scoping·for·Erlang·funs.·However,·local·or1898 which·is·consistent·with·the·static·scoping·for·Erlang·funs.·However,·local·or
1899 global·function·calls·cannot·be·in·the·guard·or·body·of·the·fun.·Calls·to1899 global·function·calls·cannot·be·in·the·guard·or·body·of·the·fun.·Calls·to
1900 built-in·match·specification·functions·is·of·course·allowed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="6745329238-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6745329238-2">(</span><span·class="p"·data-group-id="6745329238-3">{</span><span·class="n">M</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·674,·SHA:·76db0ab310a91645ad803df8f3632488d7deab3a753d7902973120586c4b6cbe·...·]-1">)</span><span·class="p">.</span><span·class="w">1900 built-in·match·specification·functions·is·of·course·allowed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="7950511679-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7950511679-2">(</span><span·class="p"·data-group-id="7950511679-3">{</span><span·class="n">M</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·674,·SHA:·187c33a8d4fb90658cd20be55e43b6ce9ef6e42bf60ffdf277ae144cffa05b98·...·]-1">)</span><span·class="p">.</span><span·class="w">
1901 </span><span·class="n">Error</span><span·class="p">:</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">containing</span><span·class="w">·</span><span·class="ss">local</span><span·class="w">·</span><span·class="n">Erlang</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="nf">calls</span><span·class="w">1901 </span><span·class="n">Error</span><span·class="p">:</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">containing</span><span·class="w">·</span><span·class="ss">local</span><span·class="w">·</span><span·class="n">Erlang</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="nf">calls</span><span·class="w">
1902 </span><span·class="p"·data-group-id="6745329238-5">(</span><span·class="ss">&#39;my_fun&#39;</span><span·class="w">·</span><span·class="ss">called</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">guard</span><span·class="p"·data-group-id="674532[·...·truncated·by·diffoscope;·len:·4,·SHA:·b1d705bf58a21fff38bfff26ec5e7d368a15694cf506d0c5a852a3629169fdd0·...·]-5">)</span><span·class="w">·</span><span·class="ss">cannot</span><span·class="w">·</span><span·class="ss">be</span><span·class="w">·</span><span·class="ss">translated</span><span·class="w">·</span><span·class="ss">into</span><span·class="w">·</span><span·class="ss">match_spec</span><span·class="w">1902 </span><span·class="p"·data-group-id="7950511679-5">(</span><span·class="ss">&#39;my_fun&#39;</span><span·class="w">·</span><span·class="ss">called</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">guard</span><span·class="p"·data-group-id="795051[·...·truncated·by·diffoscope;·len:·4,·SHA:·b93e56aec7724213a91e5c44256af055313fc7e8d80554fb7ed23b866470695b·...·]-5">)</span><span·class="w">·</span><span·class="ss">cannot</span><span·class="w">·</span><span·class="ss">be</span><span·class="w">·</span><span·class="ss">translated</span><span·class="w">·</span><span·class="ss">into</span><span·class="w">·</span><span·class="ss">match_spec</span><span·class="w">
1903 </span><span·class="p"·data-group-id="6745329238-6">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">transform_error</span><span·class="p"·data-group-id="6745329238-6">}</span><span·class="gp·unselectable">1903 </span><span·class="p"·data-group-id="7950511679-6">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">transform_error</span><span·class="p"·data-group-id="7950511679-6">}</span><span·class="gp·unselectable">
1904 5&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="6745329238-7">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6745329238-8">(</span><span·class="p"·data-group-id="6745329238-9">{</span><span·class="n">M</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·677,·SHA:·d521db2928987851fd2d2199980c1cc544f045147ce3b6f1acb4c10b046122d3·...·]-7">)</span><span·class="p">.</span><span·class="w">1904 5&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="7950511679-7">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7950511679-8">(</span><span·class="p"·data-group-id="7950511679-9">{</span><span·class="n">M</span><span·class="p">,</span><span·class="n">N</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·677,·SHA:·3837da5822ee4f9be31820e60fc0f2dc2b50e788ebc28adeb3c1e38a4fc69d76·...·]-7">)</span><span·class="p">.</span><span·class="w">
1905 </span><span·class="p"·data-group-id="6745329238-11">[</span><span·class="p"·data-group-id="6745329238-12">{</span><span·class="p"·data-group-id="6745329238-13">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·1059,·SHA:·b920a8eee52b6be513cb4942bc62c0601d386edfbbe0777f6fc8129a72487f0a·...·]-11">]</span></code></pre><p>As·shown·by·the·example,·the·function·can·be·called·from·the·shell·also.·The·fun1905 </span><span·class="p"·data-group-id="7950511679-11">[</span><span·class="p"·data-group-id="7950511679-12">{</span><span·class="p"·data-group-id="7950511679-13">{</span><span·class="ss">&#39;$1&#39;</span><span·class="p">,</span><span·class="ss">&#39;$2&#39;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·1059,·SHA:·f205cd5310dc382ada9ab5429f15bc2933a81b142c433e8cf2fc35db9da1ee9f·...·]-11">]</span></code></pre><p>As·shown·by·the·example,·the·function·can·be·called·from·the·shell·also.·The·fun
1906 must·be·literally·in·the·call·when·used·from·the·shell·as·well.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>If·the·<code·class="inline">parse_transform</code>·is·not·applied·to·a·module·that·calls·this·pseudo1906 must·be·literally·in·the·call·when·used·from·the·shell·as·well.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>If·the·<code·class="inline">parse_transform</code>·is·not·applied·to·a·module·that·calls·this·pseudo
1907 function,·the·call·fails·in·runtime·(with·a·<code·class="inline">badarg</code>).·The·<code·class="inline">ets</code>·module1907 function,·the·call·fails·in·runtime·(with·a·<code·class="inline">badarg</code>).·The·<code·class="inline">ets</code>·module
1908 exports·a·function·with·this·name,·but·it·is·never·to·be·called·except·when1908 exports·a·function·with·this·name,·but·it·is·never·to·be·called·except·when
1909 using·the·function·in·the·shell.·If·the·<code·class="inline">parse_transform</code>·is·properly·applied1909 using·the·function·in·the·shell.·If·the·<code·class="inline">parse_transform</code>·is·properly·applied
1910 by·including·header·file·<code·class="inline">ms_transform.hrl</code>,·compiled·code·never·calls·the1910 by·including·header·file·<code·class="inline">ms_transform.hrl</code>,·compiled·code·never·calls·the
1911 function,·but·the·function·call·is·replaced·by·a·literal·match·specification.</p></section><p>For·more·information,·see·<a·href="ms_transform.html"><code·class="inline">ms_transform</code></a>.</p>1911 function,·but·the·function·call·is·replaced·by·a·literal·match·specification.</p></section><p>For·more·information,·see·<a·href="ms_transform.html"><code·class="inline">ms_transform</code></a>.</p>
1912 ··</section>1912 ··</section>
Offset 2491, 20 lines modifiedOffset 2491, 20 lines modified
  
2491 ··········<pre·translate="no"><span·class="attribute">-spec</span>·match(Table,·Pattern)·->·[Match]2491 ··········<pre·translate="no"><span·class="attribute">-spec</span>·match(Table,·Pattern)·->·[Match]
2492 ···············when·Table·::·<a·href="#t:table/0">table</a>(),·Pattern·::·<a·href="#t:match_pattern/0">match_pattern</a>(),·Match·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>2492 ···············when·Table·::·<a·href="#t:table/0">table</a>(),·Pattern·::·<a·href="#t:match_pattern/0">match_pattern</a>(),·Match·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>
  
2493 ······</div>2493 ······</div>
  
2494 <p>Matches·the·objects·in·table·<code·class="inline">Table</code>·against·pattern·<code·class="inline">Pattern</code>.</p><p>A·pattern·is·a·term·that·can·contain:</p><ul><li>Bound·parts·(Erlang·terms)</li><li><code·class="inline">'_'</code>·that·matches·any·Erlang·term</li><li>Pattern·variables·<code·class="inline">'$N'</code>,·where·<code·class="inline">N</code>=0,1,...</li></ul><p>The·function·returns·a·list·with·one·element·for·each·matching·object,·where2494 <p>Matches·the·objects·in·table·<code·class="inline">Table</code>·against·pattern·<code·class="inline">Pattern</code>.</p><p>A·pattern·is·a·term·that·can·contain:</p><ul><li>Bound·parts·(Erlang·terms)</li><li><code·class="inline">'_'</code>·that·matches·any·Erlang·term</li><li>Pattern·variables·<code·class="inline">'$N'</code>,·where·<code·class="inline">N</code>=0,1,...</li></ul><p>The·function·returns·a·list·with·one·element·for·each·matching·object,·where
2495 each·element·is·an·ordered·list·of·pattern·variable·bindings,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="8356054725-1">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="8356054725-1">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·Matches·every·object·in·table</span><span·class="w">2495 each·element·is·an·ordered·list·of·pattern·variable·bindings,·for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="1244561652-1">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="1244561652-1">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·Matches·every·object·in·table</span><span·class="w">
2496 </span><span·class="p"·data-group-id="8356054725-2">[</span><span·class="p"·data-group-id="8356054725-3">[</span><span·class="p"·data-group-id="8356054725-4">{</span><span·class="ss">rufsen</span><span·class="p">,</span><span·class="ss">dog</span><span·class="p">,</span><span·class="mi">7</spa[·...·truncated·by·diffoscope;·len:·882,·SHA:·dabb322e461c978f15b16295afa2f52641fdb2e29dec6ba249a729475fa224e0·...·]-2">]</span><span·class="gp·unselectable">2496 </span><span·class="p"·data-group-id="1244561652-2">[</span><span·class="p"·data-group-id="1244561652-3">[</span><span·class="p"·data-group-id="1244561652-4">{</span><span·class="ss">rufsen</span><span·class="p">,</span><span·class="ss">dog</span><span·class="p">,</span><span·class="mi">7</spa[·...·truncated·by·diffoscope;·len:·882,·SHA:·137b24873b2c3136f19f6698c8d326628d9cfa95b471123b65b8ea3ac8a01392·...·]-2">]</span><span·class="gp·unselectable">
2497 7&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="8356054725-9">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8356054725-10">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="ss">dog</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·133,·SHA:·b50678732feb4d3dce8775b5a423fdca9c9a841d1606f8b04a2635339dda7788·...·]-9">)</span><span·class="p">.</span><span·class="w">2497 7&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="1244561652-9">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1244561652-10">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="ss">dog</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·133,·SHA:·bc74e3ecd011767e72757fbdc9a7db7676c7daef3f828e3238303e9c6b871ffb·...·]-9">)</span><span·class="p">.</span><span·class="w">
2498 </span><span·class="p"·data-group-id="8356054725-11">[</span><span·class="p"·data-group-id="8356054725-12">[</span><span·class="mi">7</span><span·class="p"·data-group-id="8356054725-12">]</span><span·class="p">,</span><span·class="p"·data-group-id="8356054725-13">[</span><span·class="mi">5</sp[·...·truncated·by·diffoscope;·len:·98,·SHA:·9030feb388b2d0626f3d298c3a0783f1fec5504b495dc791e336834ef36ddf26·...·]-11">]</span><span·class="gp·unselectable">2498 </span><span·class="p"·data-group-id="1244561652-11">[</span><span·class="p"·data-group-id="1244561652-12">[</span><span·class="mi">7</span><span·class="p"·data-group-id="1244561652-12">]</span><span·class="p">,</span><span·class="p"·data-group-id="1244561652-13">[</span><span·class="mi">5</sp[·...·truncated·by·diffoscope;·len:·98,·SHA:·8a97c8ef469a168dc9c7c6be333a4e320072ec7994993bbde6e76ff78832da88·...·]-11">]</span><span·class="gp·unselectable">
2499 8&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="8356054725-14">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8356054725-15">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="ss">cow</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·134,·SHA:·f448be369dbbd38e49cc61d50111cd0505c9f6358fab2ca50d6ca5b9c628b3ce·...·]-14">)</span><span·class="p">.</span><span·class="w">2499 8&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="1244561652-14">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1244561652-15">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="ss">cow</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·134,·SHA:·0bf9d3cd40aa11950624d757c1fbd40618e4d66cfe543d8a044ef011582c6f3b·...·]-14">)</span><span·class="p">.</span><span·class="w">
2500 </span><span·class="p"·data-group-id="8356054725-16">[</span><span·class="p"·data-group-id="8356054725-16">]</span></code></pre><p>If·the·key·is·specified·in·the·pattern,·the·match·is·very·efficient.·If·the·key2500 </span><span·class="p"·data-group-id="1244561652-16">[</span><span·class="p"·data-group-id="1244561652-16">]</span></code></pre><p>If·the·key·is·specified·in·the·pattern,·the·match·is·very·efficient.·If·the·key
2501 is·not·specified,·that·is,·if·it·is·a·variable·or·an·underscore,·the·entire2501 is·not·specified,·that·is,·if·it·is·a·variable·or·an·underscore,·the·entire
2502 table·must·be·searched.·The·search·time·can·be·substantial·if·the·table·is·very2502 table·must·be·searched.·The·search·time·can·be·substantial·if·the·table·is·very
2503 large.</p><p>For·tables·of·type·<code·class="inline">ordered_set</code>,·the·result·is·in·the·same·order·as·in·a2503 large.</p><p>For·tables·of·type·<code·class="inline">ordered_set</code>,·the·result·is·in·the·same·order·as·in·a
2504 <code·class="inline">first</code>/<code·class="inline">next</code>·traversal.</p>2504 <code·class="inline">first</code>/<code·class="inline">next</code>·traversal.</p>
2505 ··</section>2505 ··</section>
2506 </section>2506 </section>
2507 <section·class="detail"·id="match/3">2507 <section·class="detail"·id="match/3">
Offset 2734, 18 lines modifiedOffset 2734, 18 lines modified
2734 use.</p><p>The·matching·is·executed·on·each·element·in·<code·class="inline">List</code>·and·the·function·returns·a2734 use.</p><p>The·matching·is·executed·on·each·element·in·<code·class="inline">List</code>·and·the·function·returns·a
2735 list·containing·all·results.·If·an·element·in·<code·class="inline">List</code>·does·not·match,·nothing·is2735 list·containing·all·results.·If·an·element·in·<code·class="inline">List</code>·does·not·match,·nothing·is
2736 returned·for·that·element.·The·length·of·the·result·list·is·therefore·equal·or2736 returned·for·that·element.·The·length·of·the·result·list·is·therefore·equal·or
2737 less·than·the·length·of·parameter·<code·class="inline">List</code>.</p><p><em>Example:</em></p><p>The·following·two·calls·give·the·same·result·(but·certainly·not·the·same2737 less·than·the·length·of·parameter·<code·class="inline">List</code>.</p><p><em>Example:</em></p><p>The·following·two·calls·give·the·same·result·(but·certainly·not·the·same
2738 execution·time):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Table</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="ss">new</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">2738 execution·time):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Table</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="ss">new</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
2739 </span><span·class="n">MatchSpec</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">2739 </span><span·class="n">MatchSpec</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
2740 </span><span·class="c1">%·The·following·call...</span><span·class="w">2740 </span><span·class="c1">%·The·following·call...</span><span·class="w">
2741 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match_spec_run</span><span·class="p"·data-group-id="6188425301-1">(</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">tab2list</span><span·class="p"·data-group-id="6188425301-2">(</span><span·class="n">Table</span><span·class="p"·data-group-id="6188425301-2">)</span><span·class="p">,</span><span·class="w">2741 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match_spec_run</span><span·class="p"·data-group-id="7324413281-1">(</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">tab2list</span><span·class="p"·data-group-id="7324413281-2">(</span><span·class="n">Table</span><span·class="p"·data-group-id="7324413281-2">)</span><span·class="p">,</span><span·class="w">
2742 ···················</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match_spec_compile</span><span·class="p"·data-group-id="6188425301-3">(</span><span·class="n">MatchSpec</span><span·class="p"·data-group-id="6188425301-3">)</span><span·class="p"·data-group-id="6188425301-1">)</span><span·class="p">,</span><span·class="w">2742 ···················</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match_spec_compile</span><span·class="p"·data-group-id="7324413281-3">(</span><span·class="n">MatchSpec</span><span·class="p"·data-group-id="7324413281-3">)</span><span·class="p"·data-group-id="7324413281-1">)</span><span·class="p">,</span><span·class="w">
2743 </span><span·class="c1">%·...gives·the·same·result·as·the·more·common·(and·more·efficient)</span><span·class="w">2743 </span><span·class="c1">%·...gives·the·same·result·as·the·more·common·(and·more·efficient)</span><span·class="w">
2744 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="6188425301-4">(</span><span·class="n">Table</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MatchSpec</span><span·class="p"·data-group-id="6188425301-4">)</span><span·class="p">,</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·function·has·limited·use·in·normal·code.·It·is·used·by·the·<a·href="dets.html"><code·class="inline">dets</code></a>2744 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="7324413281-4">(</span><span·class="n">Table</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MatchSpec</span><span·class="p"·data-group-id="7324413281-4">)</span><span·class="p">,</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·function·has·limited·use·in·normal·code.·It·is·used·by·the·<a·href="dets.html"><code·class="inline">dets</code></a>
2745 module·to·perform·the·<a·href="dets.html#select/1"><code·class="inline">dets:select/1</code></a>·operations·and·by·Mnesia·during2745 module·to·perform·the·<a·href="dets.html#select/1"><code·class="inline">dets:select/1</code></a>·operations·and·by·Mnesia·during
2746 transactions.</p></section>2746 transactions.</p></section>
2747 ··</section>2747 ··</section>
2748 </section>2748 </section>
2749 <section·class="detail"·id="member/2">2749 <section·class="detail"·id="member/2">
  
2750 ··<div·class="detail-header">2750 ··<div·class="detail-header">
Offset 3089, 27 lines modifiedOffset 3089, 27 lines modified
3089 <p>Restores·an·opaque·continuation·returned·by·<a·href="#select/3"><code·class="inline">select/3</code></a>·or·<a·href="#select/1"><code·class="inline">select/1</code></a>·if·the3089 <p>Restores·an·opaque·continuation·returned·by·<a·href="#select/3"><code·class="inline">select/3</code></a>·or·<a·href="#select/1"><code·class="inline">select/1</code></a>·if·the
3090 continuation·has·passed·through·external·term·format·(been·sent·between·nodes·or3090 continuation·has·passed·through·external·term·format·(been·sent·between·nodes·or
3091 stored·on·disk).</p><p>The·reason·for·this·function·is·that·continuation·terms·contain·compiled·match3091 stored·on·disk).</p><p>The·reason·for·this·function·is·that·continuation·terms·contain·compiled·match
3092 specifications·and·may·therefore·be·invalidated·if·converted·to·external·term3092 specifications·and·may·therefore·be·invalidated·if·converted·to·external·term
3093 format.·Given·that·the·original·match·specification·is·kept·intact,·the3093 format.·Given·that·the·original·match·specification·is·kept·intact,·the
3094 continuation·can·be·restored,·meaning·it·can·once·again·be·used·in·subsequent3094 continuation·can·be·restored,·meaning·it·can·once·again·be·used·in·subsequent
3095 <a·href="#select/1"><code·class="inline">select/1</code></a>·calls·even·though·it·has·been·stored·on·disk·or·on3095 <a·href="#select/1"><code·class="inline">select/1</code></a>·calls·even·though·it·has·been·stored·on·disk·or·on
3096 another·node.</p><p><em>Examples:</em></p><p>The·following·sequence·of·calls·may·fail:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">T</span><span·class="o">=</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="8156843616-1">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="8156843616-2">[</span><span·class="p"·data-group-id="8156843616-2">]</span><span·class="p"·data-group-id="8156843616-1">)</span><span·class="p">,</span><span·class="w">3096 another·node.</p><p><em>Examples:</em></p><p>The·following·sequence·of·calls·may·fail:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">T</span><span·class="o">=</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="9437037580-1">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="9437037580-2">[</span><span·class="p"·data-group-id="9437037580-2">]</span><span·class="p"·data-group-id="9437037580-1">)</span><span·class="p">,</span><span·class="w">
3097 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">3097 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
3098 </span><span·class="n">MS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="8156843616-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="8156843616-4">(</span><span·class="p"·data-group-id="8156843616-5">{</span><span·class="n">N</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·722,·SHA:·067f2c62ee62127b72aa52cca440018d41ca8670b404cf9d41565586340c0430·...·]-3">)</span><span·class="p">,</span><span·class="w">3098 </span><span·class="n">MS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="9437037580-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="9437037580-4">(</span><span·class="p"·data-group-id="9437037580-5">{</span><span·class="n">N</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·722,·SHA:·cc8f894eff6c9be3bef27773e32a04acfbef2dd47c56f201f35d1e30bf3a09ec·...·]-3">)</span><span·class="p">,</span><span·class="w">
3099 </span><span·class="p"·data-group-id="8156843616-7">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="8156843616-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·clas[·...·truncated·by·diffoscope;·len:·309,·SHA:·5f172714f444c0a0786c1d1395e81cb1a86710e31ac80ce31dd1c52b048ad07d·...·]-8">)</span><span·class="p">,</span><span·class="w">3099 </span><span·class="p"·data-group-id="9437037580-7">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="9437037580-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·clas[·...·truncated·by·diffoscope;·len:·309,·SHA:·48641848ff3b79af30746e2a97178cdd226f20f3517b3c23dc7e323f22cb816a·...·]-8">)</span><span·class="p">,</span><span·class="w">
3100 </span><span·class="n">MaybeBroken</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="8156843616-9">(</span><span·class="nf">term_to_binary</span><span·class="p"·data-group-id="8156843616-10">(</span><span·class="n">C</span><span·class="p"·data-group-id="8156843616-10">)</span><span·class="p"·data-group-id="8156843616-9">)</span><span·class="p">,</span><span·class="w">3100 </span><span·class="n">MaybeBroken</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="9437037580-9">(</span><span·class="nf">term_to_binary</span><span·class="p"·data-group-id="9437037580-10">(</span><span·class="n">C</span><span·class="p"·data-group-id="9437037580-10">)</span><span·class="p"·data-group-id="9437037580-9">)</span><span·class="p">,</span><span·class="w">
3101 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="8156843616-11">(</span><span·class="n">MaybeBroken</span><span·class="p"·data-group-id="8156843616-11">)</span><span·class="p">.</span></code></pre><p>The·following·sequence·works,·as·the·call·to3101 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="9437037580-11">(</span><span·class="n">MaybeBroken</span><span·class="p"·data-group-id="9437037580-11">)</span><span·class="p">.</span></code></pre><p>The·following·sequence·works,·as·the·call·to
3102 <a·href="#repair_continuation/2"><code·class="inline">repair_continuation/2</code></a>·reestablishes·the3102 <a·href="#repair_continuation/2"><code·class="inline">repair_continuation/2</code></a>·reestablishes·the
3103 <code·class="inline">MaybeBroken</code>·continuation.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">T</span><span·class="o">=</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="7143988451-1">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="7143988451-2">[</span><span·class="p"·data-group-id="7143988451-2">]</span><span·class="p"·data-group-id="7143988451-1">)</span><span·class="p">,</span><span·class="w">3103 <code·class="inline">MaybeBroken</code>·continuation.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">T</span><span·class="o">=</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="6646805207-1">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="6646805207-2">[</span><span·class="p"·data-group-id="6646805207-2">]</span><span·class="p"·data-group-id="6646805207-1">)</span><span·class="p">,</span><span·class="w">
3104 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">3104 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
3105 </span><span·class="n">MS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="7143988451-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="7143988451-4">(</span><span·class="p"·data-group-id="7143988451-5">{</span><span·class="n">N</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·722,·SHA:·1c455cd91d673220e98fe1cd3acd35d86a4e2baec11ac2468078323f289ff546·...·]-3">)</span><span·class="p">,</span><span·class="w">3105 </span><span·class="n">MS</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="6646805207-3">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6646805207-4">(</span><span·class="p"·data-group-id="6646805207-5">{</span><span·class="n">N</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·722,·SHA:·707979a963fa89bf538bd241f51a483e7dc6389a7dddc63abbc45a085d4fcce2·...·]-3">)</span><span·class="p">,</span><span·class="w">
3106 </span><span·class="p"·data-group-id="7143988451-7">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="7143988451-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·clas[·...·truncated·by·diffoscope;·len:·261,·SHA:·65b5b27b6f248d3f99ebb5f7378cf334d11ba3ec88b571c2a29747b74d7feef5·...·]-8">)</span><span·class="p">,</span><span·class="w">3106 </span><span·class="p"·data-group-id="6646805207-7">{</span><span·class="p">_</span><span·class="p">,</span><span·class="n">C</span><span·class="p"·data-group-id="6646805207-7">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ets</span><span·clas[·...·truncated·by·diffoscope;·len:·261,·SHA:·d7c9d7692d9552e0ae88faa9db2cb4465d9c6485b230bb4f08b7147f89fc9f8e·...·]-8">)</span><span·class="p">,</span><span·class="w">
3107 </span><span·class="n">MaybeBroken</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="7143988451-9">(</span><span·class="nf">term_to_binary</span><span·class="p"·data-group-id="7143988451-10">(</span><span·class="n">C</span><span·class="p"·data-group-id="7143988451-10">)</span><span·class="p"·data-group-id="7143988451-9">)</span><span·class="p">,</span><span·class="w">3107 </span><span·class="n">MaybeBroken</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary_to_term</span><span·class="p"·data-group-id="6646805207-9">(</span><span·class="nf">term_to_binary</span><span·class="p"·data-group-id="6646805207-10">(</span><span·class="n">C</span><span·class="p"·data-group-id="6646805207-10">)</span><span·class="p"·data-group-id="6646805207-9">)</span><span·class="p">,</span><span·class="w">
3108 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="7143988451-11">(</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">repair_continuation</span><span·class="p"·data-group-id="7143988451-12">(</span><span·class="n">MaybeBroken</span><span·class="p">,</span><span·class="n">MS</span><s[·...·truncated·by·diffoscope;·len:·93,·SHA:·4de4c8f285628aea66e8a8a5e0ea2550107696f0fd9cffe546003c8042d569f2·...·]-11">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·function·is·rarely·needed·in·application·code.·It·is·used·by·Mnesia·to3108 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="6646805207-11">(</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">repair_continuation</span><span·class="p"·data-group-id="6646805207-12">(</span><span·class="n">MaybeBroken</span><span·class="p">,</span><span·class="n">MS</span><s[·...·truncated·by·diffoscope;·len:·93,·SHA:·ff2e6b8cf39b995f8f018bb292ea7a177260a07171f758f3f2b56c3c00347317·...·]-11">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·function·is·rarely·needed·in·application·code.·It·is·used·by·Mnesia·to
3109 provide·distributed·<a·href="#select/3"><code·class="inline">select/3</code></a>·and·<a·href="#select/1"><code·class="inline">select/1</code></a>3109 provide·distributed·<a·href="#select/3"><code·class="inline">select/3</code></a>·and·<a·href="#select/1"><code·class="inline">select/1</code></a>
3110 sequences.·A·normal·application·would·either·use·Mnesia·or·keep·the3110 sequences.·A·normal·application·would·either·use·Mnesia·or·keep·the
3111 continuation·from·being·converted·to·external·format.</p><p>The·actual·behavior·of·compiled·match·specifications·when·recreated·from3111 continuation·from·being·converted·to·external·format.</p><p>The·actual·behavior·of·compiled·match·specifications·when·recreated·from
Max diff block lines reached; 81479/141987 bytes (57.38%) of diff not shown.
690 B
html2text {}
Max HTML report size reached
20.1 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/file_sorter.html
    
Offset 191, 43 lines modifiedOffset 191, 43 lines modified
191 function·has·been·applied·to·all·of·the·results·or·an·error·occurs,·the·last191 function·has·been·applied·to·all·of·the·results·or·an·error·occurs,·the·last
192 function·is·called·with·argument·<code·class="inline">close</code>,·and·the·reply·is·returned·as·value·of192 function·is·called·with·argument·<code·class="inline">close</code>,·and·the·reply·is·returned·as·value·of
193 the·current·call·to·the·sort·or·merge·function.</p><p>If·a·function·is·specified·as·input·and·the·last·input·function·returns193 the·current·call·to·the·sort·or·merge·function.</p><p>If·a·function·is·specified·as·input·and·the·last·input·function·returns
194 <code·class="inline">{end_of_input,·Value}</code>,·the·function·specified·as·output·is·called·with194 <code·class="inline">{end_of_input,·Value}</code>,·the·function·specified·as·output·is·called·with
195 argument·<code·class="inline">{value,·Value}</code>.·This·makes·it·easy·to·initiate·the·sequence·of·output195 argument·<code·class="inline">{value,·Value}</code>.·This·makes·it·easy·to·initiate·the·sequence·of·output
196 functions·with·a·value·calculated·by·the·input·functions.</p><p>As·an·example,·consider·sorting·the·terms·on·a·disk·log·file.·A·function·that196 functions·with·a·value·calculated·by·the·input·functions.</p><p>As·an·example,·consider·sorting·the·terms·on·a·disk·log·file.·A·function·that
197 reads·chunks·from·the·disk·log·and·returns·a·list·of·binaries·is·used·as·input.197 reads·chunks·from·the·disk·log·and·returns·a·list·of·binaries·is·used·as·input.
198 The·results·are·collected·in·a·list·of·terms.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sort</span><span·class="p"·data-group-id="6409785571-1">(</span><span·class="n">Log</span><span·class="p"·data-group-id="6409785571-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">198 The·results·are·collected·in·a·list·of·terms.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sort</span><span·class="p"·data-group-id="0513463633-1">(</span><span·class="n">Log</span><span·class="p"·data-group-id="0513463633-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
199 ····</span><span·class="p"·data-group-id="6409785571-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="6409785571-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·696,·SHA:·a7ac0f4e14a15db6ada3f7449f40187b9e6fa5a6d59c6d3e2ef5df836fac8853·...·]-3">)</span><span·class="p">,</span><span·class="w">199 ····</span><span·class="p"·data-group-id="0513463633-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="0513463633-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·696,·SHA:·3ff4234eb7ed80fe1bf5f634d0810214cb8149c3299a98af60701d0414322427·...·]-3">)</span><span·class="p">,</span><span·class="w">
200 ····</span><span·class="n">Input</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">input</span><span·class="p"·data-group-id="6409785571-7">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start</span><span·class="p"·data-group-id="6409785571-7">)</span><span·class="p">,</span><span·class="w">200 ····</span><span·class="n">Input</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">input</span><span·class="p"·data-group-id="0513463633-7">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">start</span><span·class="p"·data-group-id="0513463633-7">)</span><span·class="p">,</span><span·class="w">
201 ····</span><span·class="n">Output</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">output</span><span·class="p"·data-group-id="6409785571-8">(</span><span·class="p"·data-group-id="6409785571-9">[</span><span·class="p"·data-group-id="6409785571-9">]</span><span·class="p"·data-group-id="6409785571-8">)</span><span·class="p">,</span><span·class="w">201 ····</span><span·class="n">Output</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">output</span><span·class="p"·data-group-id="0513463633-8">(</span><span·class="p"·data-group-id="0513463633-9">[</span><span·class="p"·data-group-id="0513463633-9">]</span><span·class="p"·data-group-id="0513463633-8">)</span><span·class="p">,</span><span·class="w">
202 ····</span><span·class="n">Reply</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file_sorter</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="6409785571-10">(</span><span·class="n">Input</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Output</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6409785571-11">{</span><span·class="ss">format</s[·...·truncated·by·diffoscope;·len:·151,·SHA:·903375d22a2bda2cdeba68b617e8f9390d3f3920842329c9f2e7fdbb49fbb88b·...·]-10">)</span><span·class="p">,</span><span·class="w">202 ····</span><span·class="n">Reply</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file_sorter</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="0513463633-10">(</span><span·class="n">Input</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Output</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0513463633-11">{</span><span·class="ss">format</s[·...·truncated·by·diffoscope;·len:·151,·SHA:·ea2f7bb1945a35b1ad099428d0a638fa3599e1bde1065b5856b7cffb80b1e68e·...·]-10">)</span><span·class="p">,</span><span·class="w">
203 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="6409785571-12">(</span><span·class="n">Log</span><span·class="p"·data-group-id="6409785571-12">)</span><span·class="p">,</span><span·class="w">203 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="0513463633-12">(</span><span·class="n">Log</span><span·class="p"·data-group-id="0513463633-12">)</span><span·class="p">,</span><span·class="w">
204 ····</span><span·class="n">Reply</span><span·class="p">.</span><span·class="w">204 ····</span><span·class="n">Reply</span><span·class="p">.</span><span·class="w">
  
205 </span><span·class="nf">input</span><span·class="p"·data-group-id="6409785571-13">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cont</span><span·class="p"·data-group-id="6409785571-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">205 </span><span·class="nf">input</span><span·class="p"·data-group-id="0513463633-13">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cont</span><span·class="p"·data-group-id="0513463633-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="6409785571-14">(</span><span·class="ss">close</span><span·class="p"·data-group-id="6409785571-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">206 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="0513463633-14">(</span><span·class="ss">close</span><span·class="p"·data-group-id="0513463633-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
207 ············</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">207 ············</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
208 ·······</span><span·class="p"·data-group-id="6409785571-15">(</span><span·class="ss">read</span><span·class="p"·data-group-id="6409785571-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 ·······</span><span·class="p"·data-group-id="0513463633-15">(</span><span·class="ss">read</span><span·class="p"·data-group-id="0513463633-15">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 ············</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">chunk</span><span·class="p"·data-group-id="6409785571-16">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cont</span><span·class="p"·data-group-id="6409785571-16">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">209 ············</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">disk_log</span><span·class="p">:</span><span·class="nf">chunk</span><span·class="p"·data-group-id="0513463633-16">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cont</span><span·class="p"·data-group-id="0513463633-16">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
210 ················</span><span·class="p"·data-group-id="6409785571-17">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="6409785571-17">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">210 ················</span><span·class="p"·data-group-id="0513463633-17">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="0513463633-17">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
211 ····················</span><span·class="p"·data-group-id="6409785571-18">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="6409785571-18">}</span><span·class="p">;</span><span·class="w">211 ····················</span><span·class="p"·data-group-id="0513463633-18">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="0513463633-18">}</span><span·class="p">;</span><span·class="w">
212 ················</span><span·class="p"·data-group-id="6409785571-19">{</span><span·class="n">Cont2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Terms</span><span·class="p"·data-group-id="6409785571-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">212 ················</span><span·class="p"·data-group-id="0513463633-19">{</span><span·class="n">Cont2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Terms</span><span·class="p"·data-group-id="0513463633-19">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
213 ····················</span><span·class="p"·data-group-id="6409785571-20">{</span><span·class="n">Terms</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">input</span><span·class="p"·data-group-id="6409785571-21">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·123,·SHA:·22dd11bb3a1aa238cce1de0b190924be144032009061fab828a9d3e2bb93f43e·...·]-20">}</span><span·class="p">;</span><span·class="w">213 ····················</span><span·class="p"·data-group-id="0513463633-20">{</span><span·class="n">Terms</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">input</span><span·class="p"·data-group-id="0513463633-21">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·123,·SHA:·3aa41e431c9141db023a1aa5a1e104e05f851988bb37249c68aa3c574bf03ec3·...·]-20">}</span><span·class="p">;</span><span·class="w">
214 ················</span><span·class="p"·data-group-id="6409785571-22">{</span><span·class="n">Cont2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Terms</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Badbytes</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·7ba6edd1324dc71dfebc5acec8a80dc670633dfa83f1765dac0a8727d89c032d·...·]-22">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 ················</span><span·class="p"·data-group-id="0513463633-22">{</span><span·class="n">Cont2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Terms</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Badbytes</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·da1d73f7a5c252093881bb9e4648906220667f48385d9633214d77f6a8bbb466·...·]-22">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
215 ····················</span><span·class="p"·data-group-id="6409785571-23">{</span><span·class="n">Terms</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">input</span><span·class="p"·data-group-id="6409785571-24">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·123,·SHA:·5967d54c39632eef491d2ed1699ef499ce285c1aeb53fe84abd94187a01c318f·...·]-23">}</span><span·class="p">;</span><span·class="w">215 ····················</span><span·class="p"·data-group-id="0513463633-23">{</span><span·class="n">Terms</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">input</span><span·class="p"·data-group-id="0513463633-24">(</span><span·class="n">Log</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·123,·SHA:·2583262f1f59084ba366f0758e02c392d127a0723d87d2b6df123c2e4f2f3a0b·...·]-23">}</span><span·class="p">;</span><span·class="w">
216 ················</span><span·class="ss">eof</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">216 ················</span><span·class="ss">eof</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
217 ····················</span><span·class="ss">end_of_input</span><span·class="w">217 ····················</span><span·class="ss">end_of_input</span><span·class="w">
218 ············</span><span·class="k">end</span><span·class="w">218 ············</span><span·class="k">end</span><span·class="w">
219 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">219 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
220 </span><span·class="nf">output</span><span·class="p"·data-group-id="6409785571-25">(</span><span·class="n">L</span><span·class="p"·data-group-id="6409785571-25">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">220 </span><span·class="nf">output</span><span·class="p"·data-group-id="0513463633-25">(</span><span·class="n">L</span><span·class="p"·data-group-id="0513463633-25">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
221 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="6409785571-26">(</span><span·class="ss">close</span><span·class="p"·data-group-id="6409785571-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">221 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="0513463633-26">(</span><span·class="ss">close</span><span·class="p"·data-group-id="0513463633-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
222 ············</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="6409785571-27">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="6409785571-28">(</span><span·class="n">L</span><span·class="p"·data-group-id="6409785571-28">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·b0b78fc4ec9a0f547028da1a5a98199ebdde8c7585858cbce77e30db812bcd7b·...·]-27">)</span><span·class="p">;</span><span·class="w">222 ············</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="0513463633-27">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="0513463633-28">(</span><span·class="n">L</span><span·class="p"·data-group-id="0513463633-28">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·07675cdf620edde66d69d48d71ef7cace58c7ad467586d3ca14429bda2445efa·...·]-27">)</span><span·class="p">;</span><span·class="w">
223 ·······</span><span·class="p"·data-group-id="6409785571-29">(</span><span·class="n">Terms</span><span·class="p"·data-group-id="6409785571-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">223 ·······</span><span·class="p"·data-group-id="0513463633-29">(</span><span·class="n">Terms</span><span·class="p"·data-group-id="0513463633-29">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
224 ············</span><span·class="nf">output</span><span·class="p"·data-group-id="6409785571-30">(</span><span·class="p"·data-group-id="6409785571-31">[</span><span·class="n">Terms</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">L</span><span·class="p"·data-group-id="6409785571-31">]</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·b1fdbb671f388ab82e9201e6ebd5230902d5f85982c501116e9c139bfffe99de·...·]-30">)</span><span·class="w">224 ············</span><span·class="nf">output</span><span·class="p"·data-group-id="0513463633-30">(</span><span·class="p"·data-group-id="0513463633-31">[</span><span·class="n">Terms</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">L</span><span·class="p"·data-group-id="0513463633-31">]</span><[·...·truncated·by·diffoscope;·len:·40,·SHA:·156b59876b858d06fbdb7eda12ee865f8b508f7c34953667b085b44d18730ca6·...·]-30">)</span><span·class="w">
225 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>For·more·examples·of·functions·as·input·and·output,·see·the·end·of·the225 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>For·more·examples·of·functions·as·input·and·output,·see·the·end·of·the
226 <code·class="inline">file_sorter</code>·module;·the·<code·class="inline">term</code>·format·is·implemented·with·functions.</p><p>The·possible·values·of·<code·class="inline">Reason</code>·returned·when·an·error·occurs·are:</p><ul><li><code·class="inline">bad_object</code>,·<code·class="inline">{bad_object,·FileName}</code>·-·Applying·the·format·function·failed226 <code·class="inline">file_sorter</code>·module;·the·<code·class="inline">term</code>·format·is·implemented·with·functions.</p><p>The·possible·values·of·<code·class="inline">Reason</code>·returned·when·an·error·occurs·are:</p><ul><li><code·class="inline">bad_object</code>,·<code·class="inline">{bad_object,·FileName}</code>·-·Applying·the·format·function·failed
227 for·some·binary,·or·the·key(s)·could·not·be·extracted·from·some·term.</li><li><code·class="inline">{bad_term,·FileName}</code>·-·<a·href="io.html#read/2"><code·class="inline">io:read/2</code></a>·failed·to·read·some·term.</li><li><code·class="inline">{file_error,·FileName,·file:posix()}</code>·-·For·an·explanation·of227 for·some·binary,·or·the·key(s)·could·not·be·extracted·from·some·term.</li><li><code·class="inline">{bad_term,·FileName}</code>·-·<a·href="io.html#read/2"><code·class="inline">io:read/2</code></a>·failed·to·read·some·term.</li><li><code·class="inline">{file_error,·FileName,·file:posix()}</code>·-·For·an·explanation·of
228 <a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:posix/0"><code·class="inline">file:posix()</code></a>,·see·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>.</li><li><code·class="inline">{premature_eof,·FileName}</code>·-·End-of-file·was·encountered·inside·some·binary228 <a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:posix/0"><code·class="inline">file:posix()</code></a>,·see·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>.</li><li><code·class="inline">{premature_eof,·FileName}</code>·-·End-of-file·was·encountered·inside·some·binary
229 term.</li></ul>229 term.</li></ul>
230 ····</section>230 ····</section>
  
Offset 1830, 15 lines modifiedOffset 1830, 15 lines modified
1830 ······<p·class="built-using">1830 ······<p·class="built-using">
1831 ········Built·using1831 ········Built·using
1832 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1832 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1833 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1833 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1834 ······</p>1834 ······</p>
1835 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1835 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1836 ····</footer>1836 ····</footer>
1837 ··</div>1837 ··</div>
1838 </main>1838 </main>
1839 </div>1839 </div>
1840 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1840 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1841 ··<script>1841 ··<script>
1842 ··let·initialized·=·false;1842 ··let·initialized·=·false;
640 B
html2text {}
Max HTML report size reached
7.57 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/filelib.html
    
Offset 986, 23 lines modifiedOffset 986, 23 lines modified
986 ································Cwd·::·<a·href="#t:filename_all/0">filename_all</a>(),986 ································Cwd·::·<a·href="#t:filename_all/0">filename_all</a>(),
987 ································SafeFilename·::·<a·href="#t:filename_all/0">filename_all</a>().</pre>987 ································SafeFilename·::·<a·href="#t:filename_all/0">filename_all</a>().</pre>
  
988 ······</div>988 ······</div>
  
989 <p>Sanitizes·the·relative·path·by·eliminating·&quot;..&quot;·and·&quot;.&quot;·components·to·protect989 <p>Sanitizes·the·relative·path·by·eliminating·&quot;..&quot;·and·&quot;.&quot;·components·to·protect
990 against·directory·traversal·attacks.</p><p>Either·returns·the·sanitized·path·name,·or·the·atom·<code·class="inline">unsafe</code>·if·the·path·is·unsafe.990 against·directory·traversal·attacks.</p><p>Either·returns·the·sanitized·path·name,·or·the·atom·<code·class="inline">unsafe</code>·if·the·path·is·unsafe.
991 The·path·is·considered·unsafe·in·the·following·circumstances:</p><ul><li>The·path·is·not·relative.</li><li>A·&quot;..&quot;·component·would·climb·up·above·the·root·of·the·relative·path.</li><li>A·symbolic·link·in·the·path·points·above·the·root·of·the·relative·path.</li></ul><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="3876917556-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cwd</span><span·class="p"·data-group-id="3876917556-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·168,·SHA:·8d4c91965dbae8ab35cdf7207d9048083329b1f271b7b068e2ba7143b9b085f0·...·]-2">)</span><span·class="p">.</span><span·class="w">991 The·path·is·considered·unsafe·in·the·following·circumstances:</p><ul><li>The·path·is·not·relative.</li><li>A·&quot;..&quot;·component·would·climb·up·above·the·root·of·the·relative·path.</li><li>A·symbolic·link·in·the·path·points·above·the·root·of·the·relative·path.</li></ul><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="9102371419-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cwd</span><span·class="p"·data-group-id="9102371419-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·168,·SHA:·cc906536913695cac14be0fdf4968138bbbf827c64666ac1303f9a85586d363f·...·]-2">)</span><span·class="p">.</span><span·class="w">
992 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">992 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="gp·unselectable">
993 2&gt;·</span><span·class="nc">filelib</span><span·class="p">:</span><span·class="nf">safe_relative_path</span><span·class="p"·data-group-id="3876917556-3">(</span><span·class="s">&quot;dir/sub_dir/..&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cwd</span><span·class="p"·data-group-id="3876917556-3">)</span><span·class="p">.</span><span·class="w">993 2&gt;·</span><span·class="nc">filelib</span><span·class="p">:</span><span·class="nf">safe_relative_path</span><span·class="p"·data-group-id="9102371419-3">(</span><span·class="s">&quot;dir/sub_dir/..&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cwd</span><span·class="p"·data-group-id="9102371419-3">)</span><span·class="p">.</span><span·class="w">
994 </span><span·class="s">&quot;dir&quot;</span><span·class="gp·unselectable">994 </span><span·class="s">&quot;dir&quot;</span><span·class="gp·unselectable">
995 3&gt;·</span><span·class="nc">filelib</span><span·class="p">:</span><span·class="nf">safe_relative_path</span><span·class="p"·data-group-id="3876917556-4">(</span><span·class="s">&quot;dir/..&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cwd</span><span·class="p"·data-group-id="3876917556-4">)</span><span·class="p">.</span><span·class="w">995 3&gt;·</span><span·class="nc">filelib</span><span·class="p">:</span><span·class="nf">safe_relative_path</span><span·class="p"·data-group-id="9102371419-4">(</span><span·class="s">&quot;dir/..&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cwd</span><span·class="p"·data-group-id="9102371419-4">)</span><span·class="p">.</span><span·class="w">
996 </span><span·class="p"·data-group-id="3876917556-5">[</span><span·class="p"·data-group-id="3876917556-5">]</span><span·class="gp·unselectable">996 </span><span·class="p"·data-group-id="9102371419-5">[</span><span·class="p"·data-group-id="9102371419-5">]</span><span·class="gp·unselectable">
997 4&gt;·</span><span·class="nc">filelib</span><span·class="p">:</span><span·class="nf">safe_relative_path</span><span·class="p"·data-group-id="3876917556-6">(</span><span·class="s">&quot;dir/../..&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cwd</span><span·class="p"·data-group-id="3876917556-6">)</span><span·class="p">.</span><span·class="w">997 4&gt;·</span><span·class="nc">filelib</span><span·class="p">:</span><span·class="nf">safe_relative_path</span><span·class="p"·data-group-id="9102371419-6">(</span><span·class="s">&quot;dir/../..&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cwd</span><span·class="p"·data-group-id="9102371419-6">)</span><span·class="p">.</span><span·class="w">
998 </span><span·class="ss">unsafe</span><span·class="gp·unselectable">998 </span><span·class="ss">unsafe</span><span·class="gp·unselectable">
999 5&gt;·</span><span·class="nc">filelib</span><span·class="p">:</span><span·class="nf">safe_relative_path</span><span·class="p"·data-group-id="3876917556-7">(</span><span·class="s">&quot;/abs/path&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cwd</span><span·class="p"·data-group-id="3876917556-7">)</span><span·class="p">.</span><span·class="w">999 5&gt;·</span><span·class="nc">filelib</span><span·class="p">:</span><span·class="nf">safe_relative_path</span><span·class="p"·data-group-id="9102371419-7">(</span><span·class="s">&quot;/abs/path&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Cwd</span><span·class="p"·data-group-id="9102371419-7">)</span><span·class="p">.</span><span·class="w">
1000 </span><span·class="ss">unsafe</span></code></pre>1000 </span><span·class="ss">unsafe</span></code></pre>
1001 ··</section>1001 ··</section>
1002 </section>1002 </section>
1003 <section·class="detail"·id="wildcard/1">1003 <section·class="detail"·id="wildcard/1">
  
1004 ··<div·class="detail-header">1004 ··<div·class="detail-header">
1005 ····<a·href="#wildcard/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1005 ····<a·href="#wildcard/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1090, 15 lines modifiedOffset 1090, 15 lines modified
1090 ······<p·class="built-using">1090 ······<p·class="built-using">
1091 ········Built·using1091 ········Built·using
1092 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1092 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1093 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1093 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1094 ······</p>1094 ······</p>
1095 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1095 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1096 ····</footer>1096 ····</footer>
1097 ··</div>1097 ··</div>
1098 </main>1098 </main>
1099 </div>1099 </div>
1100 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1100 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1101 ··<script>1101 ··<script>
1102 ··let·initialized·=·false;1102 ··let·initialized·=·false;
813 B
html2text {}
Max HTML report size reached
84.7 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/filename.html
    
Offset 514, 28 lines modifiedOffset 514, 28 lines modified
  
514 ··········<pre·translate="no"><span·class="attribute">-spec</span>·absname(Filename)·->·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename_all/0">file:filename_all</a>()·when·Filename·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>514 ··········<pre·translate="no"><span·class="attribute">-spec</span>·absname(Filename)·->·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename_all/0">file:filename_all</a>()·when·Filename·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>
  
515 ······</div>515 ······</div>
  
516 <p>Converts·a·relative·<code·class="inline">Filename</code>·and·returns·an·absolute·name.·No·attempt·is·made516 <p>Converts·a·relative·<code·class="inline">Filename</code>·and·returns·an·absolute·name.·No·attempt·is·made
517 to·create·the·shortest·absolute·name,·as·this·can·give·incorrect·results·on·file517 to·create·the·shortest·absolute·name,·as·this·can·give·incorrect·results·on·file
518 systems·that·allow·links.</p><p><em>Unix·examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">pwd</span><span·class="p"·data-group-id="5159433846-1">(</span><span·class="p"·data-group-id="5159433846-1">)</span><span·class="p">.</span><span·class="w">518 systems·that·allow·links.</p><p><em>Unix·examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">pwd</span><span·class="p"·data-group-id="0982834084-1">(</span><span·class="p"·data-group-id="0982834084-1">)</span><span·class="p">.</span><span·class="w">
519 </span><span·class="s">&quot;/usr/local&quot;</span><span·class="gp·unselectable">519 </span><span·class="s">&quot;/usr/local&quot;</span><span·class="gp·unselectable">
520 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">absname</span><span·class="p"·data-group-id="5159433846-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="5159433846-2">)</span><span·class="p">.</span><span·class="w">520 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">absname</span><span·class="p"·data-group-id="0982834084-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="0982834084-2">)</span><span·class="p">.</span><span·class="w">
521 </span><span·class="s">&quot;/usr/local/foo&quot;</span><span·class="gp·unselectable">521 </span><span·class="s">&quot;/usr/local/foo&quot;</span><span·class="gp·unselectable">
522 3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">absname</span><span·class="p"·data-group-id="5159433846-3">(</span><span·class="s">&quot;../x&quot;</span><span·class="p"·data-group-id="5159433846-3">)</span><span·class="p">.</span><span·class="w">522 3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">absname</span><span·class="p"·data-group-id="0982834084-3">(</span><span·class="s">&quot;../x&quot;</span><span·class="p"·data-group-id="0982834084-3">)</span><span·class="p">.</span><span·class="w">
523 </span><span·class="s">&quot;/usr/local/../x&quot;</span><span·class="gp·unselectable">523 </span><span·class="s">&quot;/usr/local/../x&quot;</span><span·class="gp·unselectable">
524 4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">absname</span><span·class="p"·data-group-id="5159433846-4">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="5159433846-4">)</span><span·class="p">.</span><span·class="w">524 4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">absname</span><span·class="p"·data-group-id="0982834084-4">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="0982834084-4">)</span><span·class="p">.</span><span·class="w">
525 </span><span·class="s">&quot;/&quot;</span></code></pre><p><em>Windows·examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">pwd</span><span·class="p"·data-group-id="7845051460-1">(</span><span·class="p"·data-group-id="7845051460-1">)</span><span·class="p">.</span><span·class="w">525 </span><span·class="s">&quot;/&quot;</span></code></pre><p><em>Windows·examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">pwd</span><span·class="p"·data-group-id="6859471965-1">(</span><span·class="p"·data-group-id="6859471965-1">)</span><span·class="p">.</span><span·class="w">
526 </span><span·class="s">&quot;D:/usr/local&quot;</span><span·class="gp·unselectable">526 </span><span·class="s">&quot;D:/usr/local&quot;</span><span·class="gp·unselectable">
527 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">absname</span><span·class="p"·data-group-id="7845051460-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="7845051460-2">)</span><span·class="p">.</span><span·class="w">527 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">absname</span><span·class="p"·data-group-id="6859471965-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="6859471965-2">)</span><span·class="p">.</span><span·class="w">
528 </span><span·class="s">&quot;D:/usr/local/foo&quot;</span><span·class="gp·unselectable">528 </span><span·class="s">&quot;D:/usr/local/foo&quot;</span><span·class="gp·unselectable">
529 3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">absname</span><span·class="p"·data-group-id="7845051460-3">(</span><span·class="s">&quot;../x&quot;</span><span·class="p"·data-group-id="7845051460-3">)</span><span·class="p">.</span><span·class="w">529 3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">absname</span><span·class="p"·data-group-id="6859471965-3">(</span><span·class="s">&quot;../x&quot;</span><span·class="p"·data-group-id="6859471965-3">)</span><span·class="p">.</span><span·class="w">
530 </span><span·class="s">&quot;D:/usr/local/../x&quot;</span><span·class="gp·unselectable">530 </span><span·class="s">&quot;D:/usr/local/../x&quot;</span><span·class="gp·unselectable">
531 4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">absname</span><span·class="p"·data-group-id="7845051460-4">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="7845051460-4">)</span><span·class="p">.</span><span·class="w">531 4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">absname</span><span·class="p"·data-group-id="6859471965-4">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="6859471965-4">)</span><span·class="p">.</span><span·class="w">
532 </span><span·class="s">&quot;D:/&quot;</span></code></pre>532 </span><span·class="s">&quot;D:/&quot;</span></code></pre>
533 ··</section>533 ··</section>
534 </section>534 </section>
535 <section·class="detail"·id="absname/2">535 <section·class="detail"·id="absname/2">
  
536 ··<div·class="detail-header">536 ··<div·class="detail-header">
537 ····<a·href="#absname/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">537 ····<a·href="#absname/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 658, 66 lines modifiedOffset 658, 66 lines modified
658 ·····················Opts·::·<a·href="#t:basedir_opts/0">basedir_opts</a>().</pre>658 ·····················Opts·::·<a·href="#t:basedir_opts/0">basedir_opts</a>().</pre>
  
659 ······</div>659 ······</div>
  
660 <p>Returns·a·suitable·path,·or·paths,·for·a·given·type.</p><p>If·<code·class="inline">os</code>·is·not·set·in·<code·class="inline">Opts</code>·the·function·will·default·to·the·native·option,·that660 <p>Returns·a·suitable·path,·or·paths,·for·a·given·type.</p><p>If·<code·class="inline">os</code>·is·not·set·in·<code·class="inline">Opts</code>·the·function·will·default·to·the·native·option,·that
661 is·<code·class="inline">'linux'</code>,·<code·class="inline">'darwin'</code>·or·<code·class="inline">'windows'</code>,·as·understood·by·<a·href="../../../../lib/kernel-10.3/doc/html/os.html#type/0"><code·class="inline">os:type/0</code></a>.661 is·<code·class="inline">'linux'</code>,·<code·class="inline">'darwin'</code>·or·<code·class="inline">'windows'</code>,·as·understood·by·<a·href="../../../../lib/kernel-10.3/doc/html/os.html#type/0"><code·class="inline">os:type/0</code></a>.
662 Anything·not·recognized·as·<code·class="inline">'darwin'</code>·or·<code·class="inline">'windows'</code>·is·interpreted·as·<code·class="inline">'linux'</code>.</p><p>The·options·<code·class="inline">'author'</code>·and·<code·class="inline">'version'</code>·are·only·used·with·<code·class="inline">'windows'</code>·option662 Anything·not·recognized·as·<code·class="inline">'darwin'</code>·or·<code·class="inline">'windows'</code>·is·interpreted·as·<code·class="inline">'linux'</code>.</p><p>The·options·<code·class="inline">'author'</code>·and·<code·class="inline">'version'</code>·are·only·used·with·<code·class="inline">'windows'</code>·option
663 mode.</p><ul><li><p><code·class="inline"·id="user_cache">user_cache</code></p><p>The·path·location·is·intended·for·transient·data·files·on·a·local·machine.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CACHE_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="3177262269-1">(</span><span·class="ss">user_cache</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3177262269-2">#{</span><[·...·truncated·by·diffoscope;·len:·176,·SHA:·b9544da5a2dffe594a838731560af3ae5d1f3c84408e59fd0ecfcbec5cd7c7ef·...·]-1">)</span><span·class="p">.</span><span·class="w">663 mode.</p><ul><li><p><code·class="inline"·id="user_cache">user_cache</code></p><p>The·path·location·is·intended·for·transient·data·files·on·a·local·machine.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CACHE_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4975264554-1">(</span><span·class="ss">user_cache</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4975264554-2">#{</span><[·...·truncated·by·diffoscope;·len:·176,·SHA:·e09ee7db9604dcba85db87f8f2aeeb16eb7545d9f3fc137f99c0bdcea80281f3·...·]-1">)</span><span·class="p">.</span><span·class="w">
664 </span><span·class="s">&quot;/home/otptest/.cache/my_application&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="8066363515-1">(</span><span·class="ss">user_cache</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8066363515-2">#{</span><[·...·truncated·by·diffoscope;·len:·177,·SHA:·1ea0fdd9442208ed34ec06edfae26d84e2f5e1787aa393470a0f1fc61b995fca·...·]-1">)</span><span·class="p">.</span><span·class="w">664 </span><span·class="s">&quot;/home/otptest/.cache/my_application&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="0127715676-1">(</span><span·class="ss">user_cache</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0127715676-2">#{</span><[·...·truncated·by·diffoscope;·len:·177,·SHA:·06ae8bdb489df76ecba1a88d3a0761ddf235c42736ad24792406a3fe958a447d·...·]-1">)</span><span·class="p">.</span><span·class="w">
665 </span><span·class="s">&quot;/home/otptest/Library/Caches/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="6072045612-1">(</span><span·class="ss">user_cache</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p"·data-group-id="6072045612-1">)</span><span·class="p">.</span><span·class="w">665 </span><span·class="s">&quot;/home/otptest/Library/Caches/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="0859760564-1">(</span><span·class="ss">user_cache</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p"·data-group-id="0859760564-1">)</span><span·class="p">.</span><span·class="w">
666 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Cache&quot;</span><span·class="gp·unselectable">666 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Cache&quot;</span><span·class="gp·unselectable">
667 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="6072045612-2">(</span><span·class="ss">user_cache</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p"·data-group-id="6072045612-2">)</span><span·class="p">.</span><span·class="w">667 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="0859760564-2">(</span><span·class="ss">user_cache</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p"·data-group-id="0859760564-2">)</span><span·class="p">.</span><span·class="w">
668 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Cache&quot;</span><span·class="gp·unselectable">668 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Cache&quot;</span><span·class="gp·unselectable">
669 3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="6072045612-3">(</span><span·class="ss">user_cache</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6072045612-4">#{</span><span·cla[·...·truncated·by·diffoscope;·len:·184,·SHA:·e1730282f335c8a215d2c099f38b728de2b7cb6a5f97a00c4b999526e3d4d78e·...·]-3">)</span><span·class="p">.</span><span·class="w">669 3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="0859760564-3">(</span><span·class="ss">user_cache</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0859760564-4">#{</span><span·cla[·...·truncated·by·diffoscope;·len:·184,·SHA:·e28ad1f23560a462e807e253ac8d856b2d6da53ec27b42783f26cd5cc438bee1·...·]-3">)</span><span·class="p">.</span><span·class="w">
670 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/Cache&quot;</span><span·class="gp·unselectable">670 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/Cache&quot;</span><span·class="gp·unselectable">
671 4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="6072045612-5">(</span><span·class="ss">user_cache</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6072045612-6">#{</span><span·cla[·...·truncated·by·diffoscope;·len:·182,·SHA:·ce17b9e53dd359666918dfe2bac4d9f12b95b053f16ece3fb757ba430ba642e4·...·]-5">)</span><span·class="p">.</span><span·class="w">671 4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="0859760564-5">(</span><span·class="ss">user_cache</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0859760564-6">#{</span><span·cla[·...·truncated·by·diffoscope;·len:·182,·SHA:·2fd3ea7c4f96d4231eb1c739cbc61d542e6ae911ed99cc27f1a97c051f3f0610·...·]-5">)</span><span·class="p">.</span><span·class="w">
672 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/1.2/Cache&quot;</span><span·class="gp·unselectable">672 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/1.2/Cache&quot;</span><span·class="gp·unselectable">
673 5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="6072045612-7">(</span><span·class="ss">user_cache</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6072045612-8">#{</span><span·cla[·...·truncated·by·diffoscope;·len:·305,·SHA:·2838c943188614dee269b2de289e8df378c7c13bc4c2b6478f3231613119ba17·...·]-7">)</span><span·class="p">.</span><span·class="w">673 5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="0859760564-7">(</span><span·class="ss">user_cache</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0859760564-8">#{</span><span·cla[·...·truncated·by·diffoscope;·len:·305,·SHA:·d6eefdec3772f2875e600f2ec241781f4701edc2bdc810f8b55ddfa94a25c168·...·]-7">)</span><span·class="p">.</span><span·class="w">
674 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/1.2/Cache&quot;</span></code></pre></li><li><p><code·class="inline"·id="user_config">user_config</code></p><p>The·path·location·is·intended·for·persistent·configuration·files.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CONFIG_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="5851771493-1">(</span><span·class="ss">user_config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5851771493-2">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·4dd3c80b3e9f846d527d6fa9d919ad21c13fc23f105f303d23091d57c380f29e·...·]-1">)</span><span·class="p">.</span><span·class="w">674 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/1.2/Cache&quot;</span></code></pre></li><li><p><code·class="inline"·id="user_config">user_config</code></p><p>The·path·location·is·intended·for·persistent·configuration·files.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CONFIG_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="1713057134-1">(</span><span·class="ss">user_config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1713057134-2">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·200c947dc833a1a06b38434b8ccdaa5fce33280ccce0a4e414a76f053241bd92·...·]-1">)</span><span·class="p">.</span><span·class="w">
675 </span><span·class="s">&quot;/home/otptest/.config/my_application&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="0953156222-1">(</span><span·class="ss">user_config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0953156222-2">#{</span>[·...·truncated·by·diffoscope;·len:·178,·SHA:·803beb1eafe1248f2b13ac488e7c726144346f0b50dc8ce8bd23ca840be5df3f·...·]-1">)</span><span·class="p">.</span><span·class="w">675 </span><span·class="s">&quot;/home/otptest/.config/my_application&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9007548344-1">(</span><span·class="ss">user_config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9007548344-2">#{</span>[·...·truncated·by·diffoscope;·len:·178,·SHA:·1cd95c3274ef0019f651773ea3563511fbe665bdc212a28307abac2b48ee59d5·...·]-1">)</span><span·class="p">.</span><span·class="w">
676 </span><span·class="s">&quot;/home/otptest/Library/Application·Support/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="8563716236-1">(</span><span·class="ss">user_config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p"·data-group-id="8563716236-1">)</span><span·class="p">.</span><span·class="w">676 </span><span·class="s">&quot;/home/otptest/Library/Application·Support/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4392979879-1">(</span><span·class="ss">user_config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p"·data-group-id="4392979879-1">)</span><span·class="p">.</span><span·class="w">
677 </span><span·class="s">&quot;c:/Users/otptest/AppData/Roaming/My·App&quot;</span><span·class="gp·unselectable">677 </span><span·class="s">&quot;c:/Users/otptest/AppData/Roaming/My·App&quot;</span><span·class="gp·unselectable">
678 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="8563716236-2">(</span><span·class="ss">user_config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8563716236-3">#{</span><span·cl[·...·truncated·by·diffoscope;·len:·330,·SHA:·0c5e4135030d75cb5076747cb3839aa4a779da7eb39ca2d8a30563841b7c5f6f·...·]-2">)</span><span·class="p">.</span><span·class="w">678 2&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="4392979879-2">(</span><span·class="ss">user_config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4392979879-3">#{</span><span·cl[·...·truncated·by·diffoscope;·len:·330,·SHA:·adc99caa02271aca2a4df23ea0175ee2a1b0c3bd0feb8e86e9f5865fb72c9fc7·...·]-2">)</span><span·class="p">.</span><span·class="w">
679 </span><span·class="s">&quot;c:/Users/otptest/AppData/Roaming/Erlang/My·App/1.2&quot;</span></code></pre></li><li><p><code·class="inline"·id="user_data">user_data</code></p><p>The·path·location·is·intended·for·persistent·data·files.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_DATA_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9217263691-1">(</span><span·class="ss">user_data</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9217263691-2">#{</span><s[·...·truncated·by·diffoscope;·len:·174,·SHA:·4a6faa1066d17f9214a968175a190d592f9469002a218e083aba2b990eacc53c·...·]1-1">)</span><span·class="p">.</span><span·class="w">679 </span><span·class="s">&quot;c:/Users/otptest/AppData/Roaming/Erlang/My·App/1.2&quot;</span></code></pre></li><li><p><code·class="inline"·id="user_data">user_data</code></p><p>The·path·location·is·intended·for·persistent·data·files.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_DATA_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="5005793431-1">(</span><span·class="ss">user_data</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5005793431-2">#{</span><s[·...·truncated·by·diffoscope;·len:·174,·SHA:·bc980a3e538924b84c26e3863a50df19f3e80627d03391500050db6141729dfc·...·]1-1">)</span><span·class="p">.</span><span·class="w">
680 </span><span·class="s">&quot;/home/otptest/.local/my_application&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="2832801099-1">(</span><span·class="ss">user_data</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2832801099-2">#{</span><s[·...·truncated·by·diffoscope;·len:·176,·SHA:·9b48bdba2df9292235a7942741656f11e9e7396a798631bcb55e0521cb638315·...·]-1">)</span><span·class="p">.</span><span·class="w">680 </span><span·class="s">&quot;/home/otptest/.local/my_application&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="6279595322-1">(</span><span·class="ss">user_data</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6279595322-2">#{</span><s[·...·truncated·by·diffoscope;·len:·176,·SHA:·63c8c6a01a28cde371dc61f66bd12c45bf530cd4b791fa608a1db7be73293948·...·]-1">)</span><span·class="p">.</span><span·class="w">
681 </span><span·class="s">&quot;/home/otptest/Library/Application·Support/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">8&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="7770301470-1">(</span><span·class="ss">user_data</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p"·data-group-id="7770301470-1">)</span><span·class="p">.</span><span·class="w">681 </span><span·class="s">&quot;/home/otptest/Library/Application·Support/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">8&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9266345510-1">(</span><span·class="ss">user_data</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p"·data-group-id="9266345510-1">)</span><span·class="p">.</span><span·class="w">
682 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App&quot;</span><span·class="gp·unselectable">682 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App&quot;</span><span·class="gp·unselectable">
683 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="7770301470-2">(</span><span·class="ss">user_data</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="7770301470-3">#{</span><span·class="ss">author</span><spa[·...·truncated·by·diffoscope;·len:·279,·SHA:·4843c109278fa7890ab97e0bae8399490357726d86c63a39dbfdc79806ea2356·...·]0-2">)</span><span·class="p">.</span><span·class="w">683 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="9266345510-2">(</span><span·class="ss">user_data</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="9266345510-3">#{</span><span·class="ss">author</span><spa[·...·truncated·by·diffoscope;·len:·279,·SHA:·6e06fb90db797a1a8c57b4410c63052b30544fc33902eaf89b2c5ce2671bb6b6·...·]0-2">)</span><span·class="p">.</span><span·class="w">
684 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/1.2&quot;</span></code></pre></li><li><p><code·class="inline"·id="user_log">user_log</code></p><p>The·path·location·is·intended·for·transient·log·files·on·a·local·machine.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CACHE_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="3940415158-1">(</span><span·class="ss">user_log</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3940415158-2">#{</span><sp[·...·truncated·by·diffoscope;·len:·174,·SHA:·40002fb70f775bbcb043a4ea2f52fed13bd33c6c2a9d2502f91adbd21567b0a9·...·]-1">)</span><span·class="p">.</span><span·class="w">684 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/1.2&quot;</span></code></pre></li><li><p><code·class="inline"·id="user_log">user_log</code></p><p>The·path·location·is·intended·for·transient·log·files·on·a·local·machine.</p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CACHE_HOME</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="1419146689-1">(</span><span·class="ss">user_log</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1419146689-2">#{</span><sp[·...·truncated·by·diffoscope;·len:·174,·SHA:·cf9caacf5aa6de27a97f9e1d323d918898bb9287582c42171aa1fdb2a9615db5·...·]-1">)</span><span·class="p">.</span><span·class="w">
685 </span><span·class="s">&quot;/home/otptest/.cache/my_application/log&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="0028304017-1">(</span><span·class="ss">user_log</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0028304017-2">#{</span><sp[·...·truncated·by·diffoscope;·len:·175,·SHA:·1a9388c466df81b9fadf08212191e7b8be3401906ffe64b7351d2c4ddb3897f4·...·]-1">)</span><span·class="p">.</span><span·class="w">685 </span><span·class="s">&quot;/home/otptest/.cache/my_application/log&quot;</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="8737216726-1">(</span><span·class="ss">user_log</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8737216726-2">#{</span><sp[·...·truncated·by·diffoscope;·len:·175,·SHA:·2af9df0c5b1508c84cf535f0031e492d52f177e1eca8b1e40f2275ce86d08236·...·]-1">)</span><span·class="p">.</span><span·class="w">
686 </span><span·class="s">&quot;/home/otptest/Library/Logs/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">12&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="1760276102-1">(</span><span·class="ss">user_log</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p"·data-group-id="1760276102-1">)</span><span·class="p">.</span><span·class="w">686 </span><span·class="s">&quot;/home/otptest/Library/Logs/my_application&quot;</span></code></pre><p>On·Windows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">12&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="1134573166-1">(</span><span·class="ss">user_log</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p"·data-group-id="1134573166-1">)</span><span·class="p">.</span><span·class="w">
687 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Logs&quot;</span><span·class="gp·unselectable">687 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/My·App/Logs&quot;</span><span·class="gp·unselectable">
688 13&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="1760276102-2">(</span><span·class="ss">user_log</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="1760276102-3">#{</span><span·class="ss">author</span><span·[·...·truncated·by·diffoscope;·len:·278,·SHA:·50abb101a998019571ee3fe4500bd1be0788f8f92999b6d125d68720909bd945·...·]-2">)</span><span·class="p">.</span><span·class="w">688 13&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="1134573166-2">(</span><span·class="ss">user_log</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;My·App&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="1134573166-3">#{</span><span·class="ss">author</span><span·[·...·truncated·by·diffoscope;·len:·278,·SHA:·4bfc909ff78d4937503ebd1fac584f84cc45ed5f433337a3dfdb1578348bc0f3·...·]-2">)</span><span·class="p">.</span><span·class="w">
689 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/1.2/Logs&quot;</span></code></pre></li><li><p><code·class="inline"·id="site_config">site_config</code></p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CONFIG_DIRS</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="2203071001-1">(</span><span·class="ss">site_config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2203071001-2">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·76dc2f62df9ac68121cc66d8a06e346acde322140923b25b2eadba23a5a212d2·...·]-1">)</span><span·class="p">.</span><span·class="w">689 </span><span·class="s">&quot;c:/Users/otptest/AppData/Local/Erlang/My·App/1.2/Logs&quot;</span></code></pre></li><li><p><code·class="inline"·id="site_config">site_config</code></p><p>On·Linux:·Respects·the·os·environment·variable·<code·class="inline">XDG_CONFIG_DIRS</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="0983954167-1">(</span><span·class="ss">site_config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0983954167-2">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·f31d0e02ceb1f5eeda51ef2a59fb3a688fb0cef57e239b0f6abb21de0908db73·...·]-1">)</span><span·class="p">.</span><span·class="w">
690 </span><span·class="p"·data-group-id="2203071001-3">[</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">690 </span><span·class="p"·data-group-id="0983954167-3">[</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">
691 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="2203071001-3">]</span><span·class="gp·unselectable">691 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="0983954167-3">]</span><span·class="gp·unselectable">
692 6&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">getenv</span><span·class="p"·data-group-id="2203071001-4">(</span><span·class="s">&quot;XDG_CONFIG_DIRS&quot;</span><span·class="p"·data-group-id="2203071001-4">)</span><span·class="p">.</span><span·class="w">692 6&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">getenv</span><span·class="p"·data-group-id="0983954167-4">(</span><span·class="s">&quot;XDG_CONFIG_DIRS&quot;</span><span·class="p"·data-group-id="0983954167-4">)</span><span·class="p">.</span><span·class="w">
693 </span><span·class="s">&quot;/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg&quot;</span><span·class="gp·unselectable">693 </span><span·class="s">&quot;/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg&quot;</span><span·class="gp·unselectable">
694 7&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="2203071001-5">(</span><span·class="ss">site_config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2203071001-6">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·95faab1ccf44bd095b9aedc11df584bef62dc749bc5bd79c489af71ea69afd58·...·]-5">)</span><span·class="p">.</span><span·class="w">694 7&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="0983954167-5">(</span><span·class="ss">site_config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0983954167-6">#{</span>[·...·truncated·by·diffoscope;·len:·177,·SHA:·89cb7cd7df8b37d32738f8f442597b475d9789f7817a8a79a065d4293f29d36f·...·]-5">)</span><span·class="p">.</span><span·class="w">
695 </span><span·class="p"·data-group-id="2203071001-7">[</span><span·class="s">&quot;/etc/xdg/xdg-ubuntu/my_application&quot;</span><span·class="p">,</span><span·class="w">695 </span><span·class="p"·data-group-id="0983954167-7">[</span><span·class="s">&quot;/etc/xdg/xdg-ubuntu/my_application&quot;</span><span·class="p">,</span><span·class="w">
696 ·</span><span·class="s">&quot;/usr/share/upstart/xdg/my_application&quot;</span><span·class="p">,</span><span·class="w">696 ·</span><span·class="s">&quot;/usr/share/upstart/xdg/my_application&quot;</span><span·class="p">,</span><span·class="w">
697 ·</span><span·class="s">&quot;/etc/xdg/my_application&quot;</span><span·class="p"·data-group-id="2203071001-7">]</span><span·class="gp·unselectable">697 ·</span><span·class="s">&quot;/etc/xdg/my_application&quot;</span><span·class="p"·data-group-id="0983954167-7">]</span><span·class="gp·unselectable">
698 8&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">unsetenv</span><span·class="p"·data-group-id="2203071001-8">(</span><span·class="s">&quot;XDG_CONFIG_DIRS&quot;</span><span·class="p"·data-group-id="2203071001-8">)</span><span·class="p">.</span><span·class="w">698 8&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">unsetenv</span><span·class="p"·data-group-id="0983954167-8">(</span><span·class="s">&quot;XDG_CONFIG_DIRS&quot;</span><span·class="p"·data-group-id="0983954167-8">)</span><span·class="p">.</span><span·class="w">
699 </span><span·class="ss">true</span><span·class="gp·unselectable">699 </span><span·class="ss">true</span><span·class="gp·unselectable">
700 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="2203071001-9">(</span><span·class="ss">site_config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2203071001-10">#{</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·73a826faca589353418befdd8faf732335ca8cde2428bb33467172e69d4b8611·...·]-9">)</span><span·class="p">.</span><span·class="w">700 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="0983954167-9">(</span><span·class="ss">site_config</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0983954167-10">#{</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·6b12578c5f6b38c2718521ad0100b49bd8beaa7af9f38e0034f04bd31a74ceac·...·]-9">)</span><span·class="p">.</span><span·class="w">
701 </span><span·class="p"·data-group-id="2203071001-11">[</span><span·class="s">&quot;/etc/xdg/my_application&quot;</span><span·class="p"·data-group-id="2203071001-11">]</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span>[·...·truncated·by·diffoscope;·len:·552,·SHA:·15e21c3bc5fb6115afda1d68892f19a91d46686e64107b5e452878456132c0b3·...·]-1">)</span><span·class="p">.</span><span·class="w">701 </span><span·class="p"·data-group-id="0983954167-11">[</span><span·class="s">&quot;/etc/xdg/my_application&quot;</span><span·class="p"·data-group-id="0983954167-11">]</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span>[·...·truncated·by·diffoscope;·len:·552,·SHA:·4920cd324b4ec135bd54c995dda5957bf4f23f3a2127758aa3e41e08ec916a49·...·]-1">)</span><span·class="p">.</span><span·class="w">
702 </span><span·class="p"·data-group-id="2508401704-3">[</span><span·class="s">&quot;/Library/Application·Support/my_application&quot;</span><span·class="p"·data-group-id="2508401704-3">]</span></code></pre></li><li><p><code·class="inline"·id="site_data">site_data</code></p><p>On·Linux:·Respects·[·...·truncated·by·diffoscope;·len:·387,·SHA:·7db4a447ddd59bf36be3532d6d9b7cee24b800ddedb70fed2642e08d2229c820·...·]7-1">)</span><span·class="p">.</span><span·class="w">702 </span><span·class="p"·data-group-id="3334353270-3">[</span><span·class="s">&quot;/Library/Application·Support/my_application&quot;</span><span·class="p"·data-group-id="3334353270-3">]</span></code></pre></li><li><p><code·class="inline"·id="site_data">site_data</code></p><p>On·Linux:·Respects·[·...·truncated·by·diffoscope;·len:·387,·SHA:·42d223d0653fe8c182318fb41c504b967cb8939678cdcfa7ee21fc0a52e08f9d·...·]7-1">)</span><span·class="p">.</span><span·class="w">
703 </span><span·class="s">&quot;/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/&quot;</span><span·class="gp·unselectable">703 </span><span·class="s">&quot;/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/&quot;</span><span·class="gp·unselectable">
704 11&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="3652831147-2">(</span><span·class="ss">site_data</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3652831147-3">#{</span><s[·...·truncated·by·diffoscope;·len:·174,·SHA:·ca12a954594de2fa0a6a2266c78e8352beb373b84217e4e0adb06321c9ae3001·...·]7-2">)</span><span·class="p">.</span><span·class="w">704 11&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="6597135627-2">(</span><span·class="ss">site_data</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6597135627-3">#{</span><s[·...·truncated·by·diffoscope;·len:·174,·SHA:·737a4b67081698ce9cdb66883341087c9915c3e62388675988929dd533e9a27a·...·]7-2">)</span><span·class="p">.</span><span·class="w">
705 </span><span·class="p"·data-group-id="3652831147-4">[</span><span·class="s">&quot;/usr/share/ubuntu/my_application&quot;</span><span·class="p">,</span><span·class="w">705 </span><span·class="p"·data-group-id="6597135627-4">[</span><span·class="s">&quot;/usr/share/ubuntu/my_application&quot;</span><span·class="p">,</span><span·class="w">
706 ·</span><span·class="s">&quot;/usr/share/gnome/my_application&quot;</span><span·class="p">,</span><span·class="w">706 ·</span><span·class="s">&quot;/usr/share/gnome/my_application&quot;</span><span·class="p">,</span><span·class="w">
707 ·</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">707 ·</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">
708 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="3652831147-4">]</span><span·class="gp·unselectable">708 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="6597135627-4">]</span><span·class="gp·unselectable">
709 12&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">unsetenv</span><span·class="p"·data-group-id="3652831147-5">(</span><span·class="s">&quot;XDG_DATA_DIRS&quot;</span><span·class="p"·data-group-id="3652831147-5">)</span><span·class="p">.</span><span·class="w">709 12&gt;·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">unsetenv</span><span·class="p"·data-group-id="6597135627-5">(</span><span·class="s">&quot;XDG_DATA_DIRS&quot;</span><span·class="p"·data-group-id="6597135627-5">)</span><span·class="p">.</span><span·class="w">
710 </span><span·class="ss">true</span><span·class="gp·unselectable">710 </span><span·class="ss">true</span><span·class="gp·unselectable">
711 13&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="3652831147-6">(</span><span·class="ss">site_data</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3652831147-7">#{</span><s[·...·truncated·by·diffoscope;·len:·174,·SHA:·d26a7054d8ecb1dfe40443d2fa3e66cd178b79451d2a747cc8eceec99371f45e·...·]7-6">)</span><span·class="p">.</span><span·class="w">711 13&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group-id="6597135627-6">(</span><span·class="ss">site_data</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;my_application&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6597135627-7">#{</span><s[·...·truncated·by·diffoscope;·len:·174,·SHA:·30d6421a377f97344a36f896c26b64e58e6ed56424a6cdfff07871538eb199e1·...·]7-6">)</span><span·class="p">.</span><span·class="w">
712 </span><span·class="p"·data-group-id="3652831147-8">[</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">712 </span><span·class="p"·data-group-id="6597135627-8">[</span><span·class="s">&quot;/usr/local/share/my_application&quot;</span><span·class="p">,</span><span·class="w">
713 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="3652831147-8">]</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·437,·SHA:·e0814b1880dfa1fb6d1308ac90a4d6bad80bf6df04860495ed862a3c388ff348·...·]-1">)</span><span·class="p">.</span><span·class="w">713 ·</span><span·class="s">&quot;/usr/share/my_application&quot;</span><span·class="p"·data-group-id="6597135627-8">]</span></code></pre><p>On·Darwin:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basedir</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·437,·SHA:·118892136a0bfa3e5e2ff82eac24e0d833877a66ae3ea5d90692b56113091e35·...·]-1">)</span><span·class="p">.</span><span·class="w">
714 </span><span·class="p"·data-group-id="4446056848-3">[</span><span·class="s">&quot;/Library/Application·Support/my_application&quot;</span><span·class="p"·data-group-id="4446056848-3">]</span></code></pre></li></ul>714 </span><span·class="p"·data-group-id="3223272611-3">[</span><span·class="s">&quot;/Library/Application·Support/my_application&quot;</span><span·class="p"·data-group-id="3223272611-3">]</span></code></pre></li></ul>
715 ··</section>715 ··</section>
716 </section>716 </section>
717 <section·class="detail"·id="basename/1">717 <section·class="detail"·id="basename/1">
  
718 ··<div·class="detail-header">718 ··<div·class="detail-header">
719 ····<a·href="#basename/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">719 ····<a·href="#basename/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
720 ······<i·class="ri-link-m"·aria-hidden="true"></i>720 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 736, 20 lines modifiedOffset 736, 20 lines modified
736 ······<div·class="specs">736 ······<div·class="specs">
  
737 ··········<pre·translate="no"><span·class="attribute">-spec</span>·basename(Filename)·->·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename_all/0">file:filename_all</a>()·when·Filename·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>737 ··········<pre·translate="no"><span·class="attribute">-spec</span>·basename(Filename)·->·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename_all/0">file:filename_all</a>()·when·Filename·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>
  
738 ······</div>738 ······</div>
  
739 <p>Returns·the·last·component·of·<code·class="inline">Filename</code>,·or·<code·class="inline">Filename</code>·itself·if·it·does·not739 <p>Returns·the·last·component·of·<code·class="inline">Filename</code>,·or·<code·class="inline">Filename</code>·itself·if·it·does·not
740 contain·any·directory·separators.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="9388347632-1">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="9388347632-1">)</span><span·class="p">.</span><span·class="w">740 contain·any·directory·separators.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="8538227424-1">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="8538227424-1">)</span><span·class="p">.</span><span·class="w">
741 </span><span·class="s">&quot;foo&quot;</span><span·class="gp·unselectable">741 </span><span·class="s">&quot;foo&quot;</span><span·class="gp·unselectable">
742 6&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="9388347632-2">(</span><span·class="s">&quot;/usr/foo&quot;</span><span·class="p"·data-group-id="9388347632-2">)</span><span·class="p">.</span><span·class="w">742 6&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="8538227424-2">(</span><span·class="s">&quot;/usr/foo&quot;</span><span·class="p"·data-group-id="8538227424-2">)</span><span·class="p">.</span><span·class="w">
743 </span><span·class="s">&quot;foo&quot;</span><span·class="gp·unselectable">743 </span><span·class="s">&quot;foo&quot;</span><span·class="gp·unselectable">
744 7&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="9388347632-3">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="9388347632-3">)</span><span·class="p">.</span><span·class="w">744 7&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="8538227424-3">(</span><span·class="s">&quot;/&quot;</span><span·class="p"·data-group-id="8538227424-3">)</span><span·class="p">.</span><span·class="w">
745 </span><span·class="p"·data-group-id="9388347632-4">[</span><span·class="p"·data-group-id="9388347632-4">]</span></code></pre>745 </span><span·class="p"·data-group-id="8538227424-4">[</span><span·class="p"·data-group-id="8538227424-4">]</span></code></pre>
746 ··</section>746 ··</section>
747 </section>747 </section>
748 <section·class="detail"·id="basename/2">748 <section·class="detail"·id="basename/2">
  
749 ··<div·class="detail-header">749 ··<div·class="detail-header">
750 ····<a·href="#basename/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">750 ····<a·href="#basename/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
751 ······<i·class="ri-link-m"·aria-hidden="true"></i>751 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 770, 23 lines modifiedOffset 770, 23 lines modified
770 ··········<pre·translate="no"><span·class="attribute">-spec</span>·basename(Filename,·Ext)·->·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename_all/0">file:filename_all</a>()770 ··········<pre·translate="no"><span·class="attribute">-spec</span>·basename(Filename,·Ext)·->·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:filename_all/0">file:filename_all</a>()
771 ··················when·Filename·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>(),·Ext·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>771 ··················when·Filename·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>(),·Ext·::·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:name_all/0">file:name_all</a>().</pre>
  
772 ······</div>772 ······</div>
  
773 <p>Returns·the·last·component·of·<code·class="inline">Filename</code>·with·extension·<code·class="inline">Ext</code>·stripped.</p><p>This·function·is·to·be·used·to·remove·a·(possible)·specific·extension.773 <p>Returns·the·last·component·of·<code·class="inline">Filename</code>·with·extension·<code·class="inline">Ext</code>·stripped.</p><p>This·function·is·to·be·used·to·remove·a·(possible)·specific·extension.
774 To·remove·an·existing·extension·when·you·are·unsure·which·one·it·is,·use774 To·remove·an·existing·extension·when·you·are·unsure·which·one·it·is,·use
775 <a·href="#rootname/1"><code·class="inline">rootname(basename(Filename))</code></a>.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">8&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="8253260496-1">(</span><span·class="s">&quot;~/src/kalle.erl&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;.erl&quot;</span><span·class="p"·data-group-id="8253260496-1">)</span><span·class="p">.</span><span·class="w">775 <a·href="#rootname/1"><code·class="inline">rootname(basename(Filename))</code></a>.</p><p><em>Examples:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">8&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="6260926785-1">(</span><span·class="s">&quot;~/src/kalle.erl&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;.erl&quot;</span><span·class="p"·data-group-id="6260926785-1">)</span><span·class="p">.</span><span·class="w">
776 </span><span·class="s">&quot;kalle&quot;</span><span·class="gp·unselectable">776 </span><span·class="s">&quot;kalle&quot;</span><span·class="gp·unselectable">
777 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="8253260496-2">(</span><span·class="s">&quot;~/src/kalle.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;.erl&quot;</span><span·class="p"·data-group-id="8253260496-2">)</span><span·class="p">.</span><span·class="w">777 9&gt;·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">basename</span><span·class="p"·data-group-id="6260926785-2">(</span><span·class="s">&quot;~/src/kalle.beam&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;.erl&quot;</span><span·class="p"·data-group-id="6260926785-2">)</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 26704/86111 bytes (31.01%) of diff not shown.
511 B
html2text {}
Max HTML report size reached
171 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/gb_sets.html
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/gb_trees.html
    
Offset 1537, 15 lines modifiedOffset 1537, 15 lines modified
1537 ······<p·class="built-using">1537 ······<p·class="built-using">
1538 ········Built·using1538 ········Built·using
1539 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1539 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1540 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1540 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1541 ······</p>1541 ······</p>
1542 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1542 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1543 ····</footer>1543 ····</footer>
1544 ··</div>1544 ··</div>
1545 </main>1545 </main>
1546 </div>1546 </div>
1547 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1547 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1548 ··<script>1548 ··<script>
1549 ··let·initialized·=·false;1549 ··let·initialized·=·false;
673 B
html2text {}
Max HTML report size reached
8.1 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/gen_event.html
    
Offset 1267, 23 lines modifiedOffset 1267, 23 lines modified
1267 format/limit·the·server·state·for·debugging·and·logging·purposes.</p><p>It·is·called·in·the·following·situations:</p><ul><li><p>One·of·<a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·is·invoked1267 format/limit·the·server·state·for·debugging·and·logging·purposes.</p><p>It·is·called·in·the·following·situations:</p><ul><li><p>One·of·<a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·is·invoked
1268 to·get·the·<code·class="inline">gen_event</code>·status.</p></li><li><p>The·event·handler·terminates·abnormally·and·<code·class="inline">gen_event</code>·logs·an·error.</p></li></ul><p>This·callback·is·used·to·limit·the·status·of·the·event·handler·returned·by1268 to·get·the·<code·class="inline">gen_event</code>·status.</p></li><li><p>The·event·handler·terminates·abnormally·and·<code·class="inline">gen_event</code>·logs·an·error.</p></li></ul><p>This·callback·is·used·to·limit·the·status·of·the·event·handler·returned·by
1269 <a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·or·sent·to·<a·href="../../../../lib/kernel-10.3/doc/html/logger.html"><code·class="inline">logger</code></a>.</p><p>The·callback·gets·a·map·<code·class="inline">Status</code>·describing·the·current·status1269 <a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·or·sent·to·<a·href="../../../../lib/kernel-10.3/doc/html/logger.html"><code·class="inline">logger</code></a>.</p><p>The·callback·gets·a·map·<code·class="inline">Status</code>·describing·the·current·status
1270 and·shall·return·a·map·<code·class="inline">NewStatus</code>·with·the·same·keys,1270 and·shall·return·a·map·<code·class="inline">NewStatus</code>·with·the·same·keys,
1271 but·it·may·transform·some·values.</p><p>Two·possible·use·cases·for·this·callback·is·to·remove1271 but·it·may·transform·some·values.</p><p>Two·possible·use·cases·for·this·callback·is·to·remove
1272 sensitive·information·from·the·state·to·prevent·it·from·being·printed1272 sensitive·information·from·the·state·to·prevent·it·from·being·printed
1273 in·log·files,·or·to·compact·large·irrelevant·status·items1273 in·log·files,·or·to·compact·large·irrelevant·status·items
1274 that·would·only·clutter·the·logs.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">format_status</span><span·class="p"·data-group-id="9041646487-1">(</span><span·class="n">Status</span><span·class="p"·data-group-id="9041646487-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1274 that·would·only·clutter·the·logs.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">format_status</span><span·class="p"·data-group-id="5653075577-1">(</span><span·class="n">Status</span><span·class="p"·data-group-id="5653075577-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1275 ··</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="9041646487-2">(</span><span·class="w">1275 ··</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="5653075577-2">(</span><span·class="w">
1276 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="9041646487-3">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-group-id="9041646487-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1276 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="5653075577-3">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-group-id="5653075577-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1277 ············</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">remove</span><span·class="p"·data-group-id="9041646487-4">(</span><span·class="ss">private_key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="9041646487-4">)</span><span·class="p">;</span><span·class="w">1277 ············</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">remove</span><span·class="p"·data-group-id="5653075577-4">(</span><span·class="ss">private_key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="5653075577-4">)</span><span·class="p">;</span><span·class="w">
1278 ·······</span><span·class="p"·data-group-id="9041646487-5">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="9041646487-6">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Pass</[·...·truncated·by·diffoscope;·len:·98,·SHA:·5cd062deb3a0e5ed3d7f0e67b683fae219ca9cbe01f2bbd2b64c998ab5147ca2·...·]7-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1278 ·······</span><span·class="p"·data-group-id="5653075577-5">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="5653075577-6">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Pass</[·...·truncated·by·diffoscope;·len:·98,·SHA:·ce1dc7c3020137770fd755ae0567cb2d1dd6eefef815166bdbf73edccfbac196·...·]7-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1279 ············</span><span·class="p"·data-group-id="9041646487-7">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">removed</span><span·class="p"·data-group-id="9041646487-7">}</span><span·class="p">;</span><span·class="w">1279 ············</span><span·class="p"·data-group-id="5653075577-7">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">removed</span><span·class="p"·data-group-id="5653075577-7">}</span><span·class="p">;</span><span·class="w">
1280 ·······</span><span·class="p"·data-group-id="9041646487-8">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="9041646487-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1280 ·······</span><span·class="p"·data-group-id="5653075577-8">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="5653075577-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1281 ············</span><span·class="n">Value</span><span·class="w">1281 ············</span><span·class="n">Value</span><span·class="w">
1282 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Status</span><span·class="p"·data-group-id="9041646487-2">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·callback·is·optional,·so·event·handler·modules·need·not·export·it.1282 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Status</span><span·class="p"·data-group-id="5653075577-2">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·callback·is·optional,·so·event·handler·modules·need·not·export·it.
1283 If·a·handler·does·not·export·this·function,·the·<code·class="inline">gen_event</code>·module1283 If·a·handler·does·not·export·this·function,·the·<code·class="inline">gen_event</code>·module
1284 uses·the·handler·state·directly·for·the·purposes·described·below.</p><p>If·this·callback·is·exported·but·fails,·to·hide·possibly·sensitive·data,1284 uses·the·handler·state·directly·for·the·purposes·described·below.</p><p>If·this·callback·is·exported·but·fails,·to·hide·possibly·sensitive·data,
1285 the·default·function·will·instead·return·the·fact·that1285 the·default·function·will·instead·return·the·fact·that
1286 <a·href="#c:format_status/1"><code·class="inline">format_status/1</code></a>·has·crashed.</p></section>1286 <a·href="#c:format_status/1"><code·class="inline">format_status/1</code></a>·has·crashed.</p></section>
1287 ··</section>1287 ··</section>
1288 </section>1288 </section>
1289 <section·class="detail"·id="c:format_status/2">1289 <section·class="detail"·id="c:format_status/2">
Offset 2878, 15 lines modifiedOffset 2878, 15 lines modified
2878 ······<p·class="built-using">2878 ······<p·class="built-using">
2879 ········Built·using2879 ········Built·using
2880 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2880 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2881 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2881 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2882 ······</p>2882 ······</p>
2883 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2883 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2884 ····</footer>2884 ····</footer>
2885 ··</div>2885 ··</div>
2886 </main>2886 </main>
2887 </div>2887 </div>
2888 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2888 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2889 ··<script>2889 ··<script>
2890 ··let·initialized·=·false;2890 ··let·initialized·=·false;
681 B
html2text {}
Max HTML report size reached
79.5 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/gen_fsm.html
    
Offset 131, 171 lines modifiedOffset 131, 171 lines modified
131 <p>Deprecated·and·replaced·by·<a·href="gen_statem.html"><code·class="inline">gen_statem</code></a>·in·OTP·20.</p><h2·id="module-migration-to-gen_statem"·class="section-heading">131 <p>Deprecated·and·replaced·by·<a·href="gen_statem.html"><code·class="inline">gen_statem</code></a>·in·OTP·20.</p><h2·id="module-migration-to-gen_statem"·class="section-heading">
132 ··<a·href="#module-migration-to-gen_statem"·class="hover-link">132 ··<a·href="#module-migration-to-gen_statem"·class="hover-link">
133 ····<i·class="ri-link-m"·aria-hidden="true"></i>133 ····<i·class="ri-link-m"·aria-hidden="true"></i>
134 ··</a>134 ··</a>
135 ··<span·class="text">Migration·to·gen_statem</span>135 ··<span·class="text">Migration·to·gen_statem</span>
136 </h2>136 </h2>
137 <p>Here·follows·a·simple·example·of·turning·a·gen_fsm·into·a·<a·href="gen_statem.html"><code·class="inline">gen_statem</code></a>.137 <p>Here·follows·a·simple·example·of·turning·a·gen_fsm·into·a·<a·href="gen_statem.html"><code·class="inline">gen_statem</code></a>.
138 The·example·comes·from·the·previous·User's·Guide·for·<code·class="inline">gen_fsm</code></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2893690922-1">(</span><span·class="ss">code_lock</span><span·class="p"·data-group-id="2893690922-1">)</span><span·class="p">.</span><span·class="w">138 The·example·comes·from·the·previous·User's·Guide·for·<code·class="inline">gen_fsm</code></p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="6459352893-1">(</span><span·class="ss">code_lock</span><span·class="p"·data-group-id="6459352893-1">)</span><span·class="p">.</span><span·class="w">
139 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="2893690922-2">(</span><span·class="n">NAME</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">code_lock</span><span·class="p"·data-group-id="2893690922-2">)</span><span·class="p">.</span><span·class="w">139 </span><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="6459352893-2">(</span><span·class="n">NAME</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">code_lock</span><span·class="p"·data-group-id="6459352893-2">)</span><span·class="p">.</span><span·class="w">
140 </span><span·class="c1">%-define(BEFORE_REWRITE,·true).</span><span·class="w">140 </span><span·class="c1">%-define(BEFORE_REWRITE,·true).</span><span·class="w">
141 </span><span·class="w">141 </span><span·class="w">
142 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="2893690922-3">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="2893690922-3">)</span><span·class="p">.</span><span·class="w">142 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="6459352893-3">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6459352893-3">)</span><span·class="p">.</span><span·class="w">
143 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="2893690922-4">(</span><span·class="ss">gen_fsm</span><span·class="p"·data-group-id="2893690922-4">)</span><span·class="p">.</span><span·class="w">143 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="6459352893-4">(</span><span·class="ss">gen_fsm</span><span·class="p"·data-group-id="6459352893-4">)</span><span·class="p">.</span><span·class="w">
144 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">144 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">
145 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="2893690922-5">(</span><span·class="ss">gen_statem</span><span·class="p"·data-group-id="2893690922-5">)</span><span·class="p">.</span><span·class="w">145 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="6459352893-5">(</span><span·class="ss">gen_statem</span><span·class="p"·data-group-id="6459352893-5">)</span><span·class="p">.</span><span·class="w">
146 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">146 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">
147 </span><span·class="w">147 </span><span·class="w">
148 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2893690922-6">(</span><span·class="p"·data-group-id="2893690922-7">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">button</span><span·class="p">/</s[·...·truncated·by·diffoscope;·len:·248,·SHA:·b29566f3603a180384b3be5ecf68ecc308f27a664eb38f02adb3dfc3890fbc74·...·]-6">)</span><span·class="p">.</span><span·class="w">148 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6459352893-6">(</span><span·class="p"·data-group-id="6459352893-7">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">button</span><span·class="p">/</s[·...·truncated·by·diffoscope;·len:·248,·SHA:·b5e79a93b73a3f15d0ec9384af808eb218f345af2223b351b308cf1ce7f6d28a·...·]-6">)</span><span·class="p">.</span><span·class="w">
149 </span><span·class="w">149 </span><span·class="w">
150 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="2893690922-8">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="2893690922-8">)</span><span·class="p">.</span><span·class="w">150 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="6459352893-8">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6459352893-8">)</span><span·class="p">.</span><span·class="w">
151 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2893690922-9">(</span><span·class="p"·data-group-id="2893690922-10">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">locked</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">open</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_sync_event</span><span·class="p">/</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_event</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">151 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6459352893-9">(</span><span·class="p"·data-group-id="6459352893-10">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">locked</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">open</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_sync_event</span><span·class="p">/</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_event</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">
152 ·····</span><span·class="ss">handle_info</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">terminate</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="2893690922-10">]</span><span·class="p"·data-group-id="2893690922-9">)</span><span·class="p">.</span><span·class="w">152 ·····</span><span·class="ss">handle_info</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">terminate</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="6459352893-10">]</span><span·class="p"·data-group-id="6459352893-9">)</span><span·class="p">.</span><span·class="w">
153 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">153 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">
154 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2893690922-11">(</span><span·class="p"·data-group-id="2893690922-12">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">callback_mode</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">locked</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">open</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">154 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="6459352893-11">(</span><span·class="p"·data-group-id="6459352893-12">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">callback_mode</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">locked</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">open</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">
155 ·····</span><span·class="ss">terminate</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="2893690922-12">]</span><span·class="p"·data-group-id="2893690922-11">)</span><span·class="p">.</span><span·class="w">155 ·····</span><span·class="ss">terminate</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi">4</span><span·class="p"·data-group-id="6459352893-12">]</span><span·class="p"·data-group-id="6459352893-11">)</span><span·class="p">.</span><span·class="w">
156 </span><span·class="c1">%%·Add·callback__mode/0</span><span·class="w">156 </span><span·class="c1">%%·Add·callback__mode/0</span><span·class="w">
157 </span><span·class="c1">%%·Change·arity·of·the·state·functions</span><span·class="w">157 </span><span·class="c1">%%·Change·arity·of·the·state·functions</span><span·class="w">
158 </span><span·class="c1">%%·Remove·handle_info/3</span><span·class="w">158 </span><span·class="c1">%%·Remove·handle_info/3</span><span·class="w">
159 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">159 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">
160 </span><span·class="w">160 </span><span·class="w">
161 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="2893690922-13">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="2893690922-13">)</span><span·class="p">.</span><span·class="w">161 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="6459352893-13">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6459352893-13">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="2893690922-14">(</span><span·class="n">Code</span><span·class="p"·data-group-id="2893690922-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">162 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="6459352893-14">(</span><span·class="n">Code</span><span·class="p"·data-group-id="6459352893-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
163 ····</span><span·class="nc">gen_fsm</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="2893690922-15">(</span><span·class="p"·data-group-id="2893690922-16">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">NAME</span><span·class="p"·data-group-id="2893690922-16">}</sp[·...·truncated·by·diffoscope;·len:·376,·SHA:·e77978aa44a88459e780404a03ccda23323db635fd8ab84f7db9509fdd5e5f5d·...·]-15">)</span><span·class="p">.</span><span·class="w">163 ····</span><span·class="nc">gen_fsm</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="6459352893-15">(</span><span·class="p"·data-group-id="6459352893-16">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·class="n">NAME</span><span·class="p"·data-group-id="6459352893-16">}</sp[·...·truncated·by·diffoscope;·len:·376,·SHA:·850ba699fdb88713a2863754474fed2ff208e8cb1d04b4af9db83b55bb681cc4·...·]-15">)</span><span·class="p">.</span><span·class="w">
164 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">164 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">
165 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="2893690922-18">(</span><span·class="n">Code</span><span·class="p"·data-group-id="2893690922-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">165 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="6459352893-18">(</span><span·class="n">Code</span><span·class="p"·data-group-id="6459352893-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
166 ····</span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="2893690922-19">(</span><span·class="p"·data-group-id="2893690922-20">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="o">?</span><span·class="n">NAME</span><span·class="p"·data-group-id="2893690922-20">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·352,·SHA:·ce95e21bdf5ddbcf9872db0fde614d0a57ed6b99f6c171be9d03bfa4a010e292·...·]-19">)</span><span·class="p">.</span><span·class="w">166 ····</span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="6459352893-19">(</span><span·class="p"·data-group-id="6459352893-20">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="o">?</span><span·class="n">NAME</span><span·class="p"·data-group-id="6459352893-20">}</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·352,·SHA:·4e998c2c680f6fedc65921c79c3b495aea3c23c3117e4aee0a11452a97a00777·...·]-19">)</span><span·class="p">.</span><span·class="w">
167 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">167 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">
168 </span><span·class="w">168 </span><span·class="w">
169 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="2893690922-22">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="2893690922-22">)</span><span·class="p">.</span><span·class="w">169 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="6459352893-22">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6459352893-22">)</span><span·class="p">.</span><span·class="w">
170 </span><span·class="nf">button</span><span·class="p"·data-group-id="2893690922-23">(</span><span·class="n">Digit</span><span·class="p"·data-group-id="2893690922-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">170 </span><span·class="nf">button</span><span·class="p"·data-group-id="6459352893-23">(</span><span·class="n">Digit</span><span·class="p"·data-group-id="6459352893-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
171 ····</span><span·class="nc">gen_fsm</span><span·class="p">:</span><span·class="nf">send_event</span><span·class="p"·data-group-id="2893690922-24">(</span><span·class="o">?</span><span·class="n">NAME</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2893690922-25">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·121,·SHA:·4b41e76bb837dff7cf07d9c728c081e2cc079dd8aa716943820407bef2c40814·...·]-24">)</span><span·class="p">.</span><span·class="w">171 ····</span><span·class="nc">gen_fsm</span><span·class="p">:</span><span·class="nf">send_event</span><span·class="p"·data-group-id="6459352893-24">(</span><span·class="o">?</span><span·class="n">NAME</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6459352893-25">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·121,·SHA:·98f3a9cb1c1a80bf8935cf1f60564bf8a1d5e7ee170d9ffc0e01aaea47c63e02·...·]-24">)</span><span·class="p">.</span><span·class="w">
172 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">172 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">
173 </span><span·class="nf">button</span><span·class="p"·data-group-id="2893690922-26">(</span><span·class="n">Digit</span><span·class="p"·data-group-id="2893690922-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">173 </span><span·class="nf">button</span><span·class="p"·data-group-id="6459352893-26">(</span><span·class="n">Digit</span><span·class="p"·data-group-id="6459352893-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ····</span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="nf">cast</span><span·class="p"·data-group-id="2893690922-27">(</span><span·class="o">?</span><span·class="n">NAME</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2893690922-28">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="n">Digit</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·9216fb4f8abd02a13076c21c248eaa415204a4fafee25be57b41516c503cb321·...·]-27">)</span><span·class="p">.</span><span·class="w">174 ····</span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="nf">cast</span><span·class="p"·data-group-id="6459352893-27">(</span><span·class="o">?</span><span·class="n">NAME</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6459352893-28">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="n">Digit</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·0f8a55d304cf15233b8cfb2f14282d1d9837d28901ac15bfb2e35275707ef881·...·]-27">)</span><span·class="p">.</span><span·class="w">
175 ····</span><span·class="c1">%%·send_event·is·asynchronous·and·becomes·a·cast</span><span·class="w">175 ····</span><span·class="c1">%%·send_event·is·asynchronous·and·becomes·a·cast</span><span·class="w">
176 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">176 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">
177 </span><span·class="w">177 </span><span·class="w">
178 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="2893690922-29">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="2893690922-29">)</span><span·class="p">.</span><span·class="w">178 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="6459352893-29">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6459352893-29">)</span><span·class="p">.</span><span·class="w">
179 </span><span·class="nf">stop</span><span·class="p"·data-group-id="2893690922-30">(</span><span·class="p"·data-group-id="2893690922-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">179 </span><span·class="nf">stop</span><span·class="p"·data-group-id="6459352893-30">(</span><span·class="p"·data-group-id="6459352893-30">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
180 ····</span><span·class="nc">gen_fsm</span><span·class="p">:</span><span·class="nf">sync_send_all_state_event</span><span·class="p"·data-group-id="2893690922-31">(</span><span·class="o">?</span><span·class="n">NAME</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p"·data-group-id="2893690922-31">)</span><span·class="p">.</span><span·class="w">180 ····</span><span·class="nc">gen_fsm</span><span·class="p">:</span><span·class="nf">sync_send_all_state_event</span><span·class="p"·data-group-id="6459352893-31">(</span><span·class="o">?</span><span·class="n">NAME</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p"·data-group-id="6459352893-31">)</span><span·class="p">.</span><span·class="w">
181 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">181 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">
182 </span><span·class="nf">stop</span><span·class="p"·data-group-id="2893690922-32">(</span><span·class="p"·data-group-id="2893690922-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">182 </span><span·class="nf">stop</span><span·class="p"·data-group-id="6459352893-32">(</span><span·class="p"·data-group-id="6459352893-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
183 ····</span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="2893690922-33">(</span><span·class="o">?</span><span·class="n">NAME</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p"·data-group-id="2893690922-33">)</span><span·class="p">.</span><span·class="w">183 ····</span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="6459352893-33">(</span><span·class="o">?</span><span·class="n">NAME</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p"·data-group-id="6459352893-33">)</span><span·class="p">.</span><span·class="w">
184 ····</span><span·class="c1">%%·sync_send·is·synchronous·and·becomes·call</span><span·class="w">184 ····</span><span·class="c1">%%·sync_send·is·synchronous·and·becomes·call</span><span·class="w">
185 ····</span><span·class="c1">%%·all_state·is·handled·by·callback·code·in·gen_statem</span><span·class="w">185 ····</span><span·class="c1">%%·all_state·is·handled·by·callback·code·in·gen_statem</span><span·class="w">
186 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">186 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">
  
187 </span><span·class="nf">init</span><span·class="p"·data-group-id="2893690922-34">(</span><span·class="n">Code</span><span·class="p"·data-group-id="2893690922-34">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">187 </span><span·class="nf">init</span><span·class="p"·data-group-id="6459352893-34">(</span><span·class="n">Code</span><span·class="p"·data-group-id="6459352893-34">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
188 ····</span><span·class="nf">do_lock</span><span·class="p"·data-group-id="2893690922-35">(</span><span·class="p"·data-group-id="2893690922-35">)</span><span·class="p">,</span><span·class="w">188 ····</span><span·class="nf">do_lock</span><span·class="p"·data-group-id="6459352893-35">(</span><span·class="p"·data-group-id="6459352893-35">)</span><span·class="p">,</span><span·class="w">
189 ····</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2893690922-36">#{</span><span·class="ss">code</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Code</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">remaining</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·124,·SHA:·41c50e9f547ff17ed926f1a0046fa1b2c65e3c22ca7f25077d6f0aa62ebc3fea·...·]-36">}</span><span·class="p">,</span><span·class="w">189 ····</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6459352893-36">#{</span><span·class="ss">code</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Code</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">remaining</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·124,·SHA:·cf57d066ae4664fa1e9161da565942c82bc35d1c4b27cdb3544b787ed518f45f·...·]-36">}</span><span·class="p">,</span><span·class="w">
190 ····</span><span·class="p"·data-group-id="2893690922-37">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">locked</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-37">}</span><span·class="p">.</span><span·class="w">190 ····</span><span·class="p"·data-group-id="6459352893-37">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">locked</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-37">}</span><span·class="p">.</span><span·class="w">
191 </span><span·class="w">191 </span><span·class="w">
192 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="2893690922-38">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="2893690922-38">)</span><span·class="p">.</span><span·class="w">192 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="6459352893-38">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6459352893-38">)</span><span·class="p">.</span><span·class="w">
193 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">193 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">
194 </span><span·class="nf">callback_mode</span><span·class="p"·data-group-id="2893690922-39">(</span><span·class="p"·data-group-id="2893690922-39">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">194 </span><span·class="nf">callback_mode</span><span·class="p"·data-group-id="6459352893-39">(</span><span·class="p"·data-group-id="6459352893-39">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
195 ····</span><span·class="ss">state_functions</span><span·class="p">.</span><span·class="w">195 ····</span><span·class="ss">state_functions</span><span·class="p">.</span><span·class="w">
196 </span><span·class="c1">%%·state_functions·mode·is·the·mode·most·similar·to</span><span·class="w">196 </span><span·class="c1">%%·state_functions·mode·is·the·mode·most·similar·to</span><span·class="w">
197 </span><span·class="c1">%%·gen_fsm.·There·is·also·handle_event·mode·which·is</span><span·class="w">197 </span><span·class="c1">%%·gen_fsm.·There·is·also·handle_event·mode·which·is</span><span·class="w">
198 </span><span·class="c1">%%·a·fairly·different·concept.</span><span·class="w">198 </span><span·class="c1">%%·a·fairly·different·concept.</span><span·class="w">
199 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">199 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">
200 </span><span·class="w">200 </span><span·class="w">
201 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="2893690922-40">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="2893690922-40">)</span><span·class="p">.</span><span·class="w">201 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="6459352893-40">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6459352893-40">)</span><span·class="p">.</span><span·class="w">
202 </span><span·class="nf">locked</span><span·class="p"·data-group-id="2893690922-41">(</span><span·class="p"·data-group-id="2893690922-42">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Digit</span><span·class="p"·data-group-id="2893690922-42">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·98,·SHA:·d1d359407426f961a0a675797fbddc7818df55d30a39b13d1ddb32adf3538400·...·]-41">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">202 </span><span·class="nf">locked</span><span·class="p"·data-group-id="6459352893-41">(</span><span·class="p"·data-group-id="6459352893-42">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Digit</span><span·class="p"·data-group-id="6459352893-42">}</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·98,·SHA:·1e30ea4136902f915bb63f257982907c654d069019081b927014d7392ee3c9d9·...·]-41">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
203 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">analyze_lock</span><span·class="p"·data-group-id="2893690922-43">(</span><span·class="n">Digit</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data0</span><span·class="p"·data-group-id="2893690922-43">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">203 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">analyze_lock</span><span·class="p"·data-group-id="6459352893-43">(</span><span·class="n">Digit</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data0</span><span·class="p"·data-group-id="6459352893-43">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
204 ····</span><span·class="p"·data-group-id="2893690922-44">{</span><span·class="ss">open</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·2fd7c7b05cfa4d3992b452ba89f3a9377c3de875e34afd1424e4726ce8a8e595·...·]-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">204 ····</span><span·class="p"·data-group-id="6459352893-44">{</span><span·class="ss">open</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·9efe8af78a9f4f7f4a63199e4205560d6d01be5ada10719d30c9eb6b079b39d3·...·]-44">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
205 ········</span><span·class="p"·data-group-id="2893690922-45">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·74,·SHA:·98ecbbeef911784fe13d80ec1c93fd4f06d659c5a27e6c3c014de1e259cc0c31·...·]-45">}</span><span·class="p">;</span><span·class="w">205 ········</span><span·class="p"·data-group-id="6459352893-45">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·74,·SHA:·523675498203cd682759b149dfbb01ec02da9b5afef802e1367a0788dc6849fd·...·]-45">}</span><span·class="p">;</span><span·class="w">
206 ····</span><span·class="p"·data-group-id="2893690922-46">{</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">206 ····</span><span·class="p"·data-group-id="6459352893-46">{</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-46">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
207 ········</span><span·class="p"·data-group-id="2893690922-47">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-47">}</span><span·class="w">207 ········</span><span·class="p"·data-group-id="6459352893-47">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-47">}</span><span·class="w">
208 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">208 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
209 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">209 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">
210 </span><span·class="nf">locked</span><span·class="p"·data-group-id="2893690922-48">(</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2893690922-49">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="n">Digit</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·150,·SHA:·cb55ffa0dc87ae8777c9c30871ac29bc6b5ff66e2379f9c8d7019ad91dcd3fcc·...·]-48">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">210 </span><span·class="nf">locked</span><span·class="p"·data-group-id="6459352893-48">(</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6459352893-49">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="n">Digit</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·150,·SHA:·1dd0543ce5c126250efc12bedb2778f08979c21eeefe49079afc8d806e61fdcc·...·]-48">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
211 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">analyze_lock</span><span·class="p"·data-group-id="2893690922-50">(</span><span·class="n">Digit</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data0</span><span·class="p"·data-group-id="2893690922-50">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">211 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">analyze_lock</span><span·class="p"·data-group-id="6459352893-50">(</span><span·class="n">Digit</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data0</span><span·class="p"·data-group-id="6459352893-50">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
212 ····</span><span·class="p"·data-group-id="2893690922-51">{</span><span·class="ss">open</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·2fd7c7b05cfa4d3992b452ba89f3a9377c3de875e34afd1424e4726ce8a8e595·...·]-51">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">212 ····</span><span·class="p"·data-group-id="6459352893-51">{</span><span·class="ss">open</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·9efe8af78a9f4f7f4a63199e4205560d6d01be5ada10719d30c9eb6b079b39d3·...·]-51">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
213 ········</span><span·class="p"·data-group-id="2893690922-52">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·74,·SHA:·98ecbbeef911784fe13d80ec1c93fd4f06d659c5a27e6c3c014de1e259cc0c31·...·]-52">}</span><span·class="p">;</span><span·class="w">213 ········</span><span·class="p"·data-group-id="6459352893-52">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·74,·SHA:·523675498203cd682759b149dfbb01ec02da9b5afef802e1367a0788dc6849fd·...·]-52">}</span><span·class="p">;</span><span·class="w">
214 ····</span><span·class="p"·data-group-id="2893690922-53">{</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-53">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 ····</span><span·class="p"·data-group-id="6459352893-53">{</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-53">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
215 ········</span><span·class="p"·data-group-id="2893690922-54">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-54">}</span><span·class="w">215 ········</span><span·class="p"·data-group-id="6459352893-54">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-54">}</span><span·class="w">
216 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">216 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
217 </span><span·class="nf">locked</span><span·class="p"·data-group-id="2893690922-55">(</span><span·class="p"·data-group-id="2893690922-56">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">From</span><span·class="p"·data-group-id="2893690922-56">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·168,·SHA:·bf9a199258184249fa8105f55b53a2a9cb689b488088b08636e1304ca3f0f143·...·]-55">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">217 </span><span·class="nf">locked</span><span·class="p"·data-group-id="6459352893-55">(</span><span·class="p"·data-group-id="6459352893-56">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">From</span><span·class="p"·data-group-id="6459352893-56">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·168,·SHA:·26123afee2db35e907922738abc9c811dbfd38f3e0c8335370ebfaef91cabed9·...·]-55">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
218 ····</span><span·class="nf">handle_call</span><span·class="p"·data-group-id="2893690922-57">(</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-57">)</span><span·class="p">;</span><span·class="w">218 ····</span><span·class="nf">handle_call</span><span·class="p"·data-group-id="6459352893-57">(</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-57">)</span><span·class="p">;</span><span·class="w">
219 </span><span·class="nf">locked</span><span·class="p"·data-group-id="2893690922-58">(</span><span·class="p"·data-group-id="2893690922-59">{</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="2893690922-59">}</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·173,·SHA:·270398037f572404ccceda5cd817d8be88389ef409cb907a1d0191d1507e43ce·...·]-58">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">219 </span><span·class="nf">locked</span><span·class="p"·data-group-id="6459352893-58">(</span><span·class="p"·data-group-id="6459352893-59">{</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="6459352893-59">}</span><span·class="p">,</span[·...·truncated·by·diffoscope;·len:·173,·SHA:·a6c4692c2dabc5183c3d51c6054a9460916f20e4575fe6c9e5741fa584e824af·...·]-58">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
220 ····</span><span·class="nf">handle_info</span><span·class="p"·data-group-id="2893690922-60">(</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-60">)</span><span·class="p">.</span><span·class="w">220 ····</span><span·class="nf">handle_info</span><span·class="p"·data-group-id="6459352893-60">(</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-60">)</span><span·class="p">.</span><span·class="w">
221 </span><span·class="c1">%%·Arity·differs</span><span·class="w">221 </span><span·class="c1">%%·Arity·differs</span><span·class="w">
222 </span><span·class="c1">%%·All·state·events·are·dispatched·to·handle_call·and·handle_info·help</span><span·class="w">222 </span><span·class="c1">%%·All·state·events·are·dispatched·to·handle_call·and·handle_info·help</span><span·class="w">
223 </span><span·class="c1">%%·functions.·If·you·want·to·handle·a·call·or·cast·event·specifically</span><span·class="w">223 </span><span·class="c1">%%·functions.·If·you·want·to·handle·a·call·or·cast·event·specifically</span><span·class="w">
224 </span><span·class="c1">%%·for·this·state·you·would·add·a·special·clause·for·it·above.</span><span·class="w">224 </span><span·class="c1">%%·for·this·state·you·would·add·a·special·clause·for·it·above.</span><span·class="w">
225 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">225 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">
226 </span><span·class="w">226 </span><span·class="w">
227 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="2893690922-61">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="2893690922-61">)</span><span·class="p">.</span><span·class="w">227 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="6459352893-61">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6459352893-61">)</span><span·class="p">.</span><span·class="w">
228 </span><span·class="nf">open</span><span·class="p"·data-group-id="2893690922-62">(</span><span·class="ss">timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="2893690922-62">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">228 </span><span·class="nf">open</span><span·class="p"·data-group-id="6459352893-62">(</span><span·class="ss">timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="6459352893-62">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
229 ·····</span><span·class="nf">do_lock</span><span·class="p"·data-group-id="2893690922-63">(</span><span·class="p"·data-group-id="2893690922-63">)</span><span·class="p">,</span><span·class="w">229 ·····</span><span·class="nf">do_lock</span><span·class="p"·data-group-id="6459352893-63">(</span><span·class="p"·data-group-id="6459352893-63">)</span><span·class="p">,</span><span·class="w">
230 ····</span><span·class="p"·data-group-id="2893690922-64">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">locked</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="2893690922-64">}</span><span·class="p">;</span><span·class="w">230 ····</span><span·class="p"·data-group-id="6459352893-64">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">locked</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="6459352893-64">}</span><span·class="p">;</span><span·class="w">
231 </span><span·class="nf">open</span><span·class="p"·data-group-id="2893690922-65">(</span><span·class="p"·data-group-id="2893690922-66">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="2893690922-66">}</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·69,·SHA:·f5ec5cede533682cb3899e476511a3db06246ffbd999754bd7b661118790486c·...·]-65">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">231 </span><span·class="nf">open</span><span·class="p"·data-group-id="6459352893-65">(</span><span·class="p"·data-group-id="6459352893-66">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="6459352893-66">}</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·69,·SHA:·51d05589590d3b7d18e208d202e8da9e9d65c5884d7bc36741a9b3249e69d2d9·...·]-65">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ····</span><span·class="p"·data-group-id="2893690922-67">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">locked</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-67">}</span><span·class="p">.</span><span·class="w">232 ····</span><span·class="p"·data-group-id="6459352893-67">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">locked</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-67">}</span><span·class="p">.</span><span·class="w">
233 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">233 </span><span·class="p">-</span><span·class="na">else</span><span·class="p">.</span><span·class="w">
234 </span><span·class="nf">open</span><span·class="p"·data-group-id="2893690922-68">(</span><span·class="ss">timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-68">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">234 </span><span·class="nf">open</span><span·class="p"·data-group-id="6459352893-68">(</span><span·class="ss">timeout</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-68">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
235 ····</span><span·class="nf">do_lock</span><span·class="p"·data-group-id="2893690922-69">(</span><span·class="p"·data-group-id="2893690922-69">)</span><span·class="p">,</span><span·class="w">235 ····</span><span·class="nf">do_lock</span><span·class="p"·data-group-id="6459352893-69">(</span><span·class="p"·data-group-id="6459352893-69">)</span><span·class="p">,</span><span·class="w">
236 ····</span><span·class="p"·data-group-id="2893690922-70">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">locked</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-70">}</span><span·class="p">;</span><span·class="w">236 ····</span><span·class="p"·data-group-id="6459352893-70">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">locked</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-70">}</span><span·class="p">;</span><span·class="w">
237 </span><span·class="nf">open</span><span·class="p"·data-group-id="2893690922-71">(</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2893690922-72">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·145,·SHA:·6571bc6fdec4ab1ba6541ed71bdca78f6c62b9d8d7f7ea60ee474c804af48f20·...·]-71">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">237 </span><span·class="nf">open</span><span·class="p"·data-group-id="6459352893-71">(</span><span·class="ss">cast</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6459352893-72">{</span><span·class="ss">button</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·145,·SHA:·7b1f6048cff7074cbcf63ef08ac423353b362248694d923d6c474d892e06d12a·...·]-71">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
238 ····</span><span·class="p"·data-group-id="2893690922-73">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">locked</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-73">}</span><span·class="p">;</span><span·class="w">238 ····</span><span·class="p"·data-group-id="6459352893-73">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">locked</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-73">}</span><span·class="p">;</span><span·class="w">
239 </span><span·class="nf">open</span><span·class="p"·data-group-id="2893690922-74">(</span><span·class="p"·data-group-id="2893690922-75">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">From</span><span·class="p"·data-group-id="2893690922-75">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·168,·SHA:·bf9a199258184249fa8105f55b53a2a9cb689b488088b08636e1304ca3f0f143·...·]-74">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">239 </span><span·class="nf">open</span><span·class="p"·data-group-id="6459352893-74">(</span><span·class="p"·data-group-id="6459352893-75">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="w">·</span><span·class="n">From</span><span·class="p"·data-group-id="6459352893-75">}</span><span·class="p">,</spa[·...·truncated·by·diffoscope;·len:·168,·SHA:·26123afee2db35e907922738abc9c811dbfd38f3e0c8335370ebfaef91cabed9·...·]-74">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
240 ····</span><span·class="nf">handle_call</span><span·class="p"·data-group-id="2893690922-76">(</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-76">)</span><span·class="p">;</span><span·class="w">240 ····</span><span·class="nf">handle_call</span><span·class="p"·data-group-id="6459352893-76">(</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-76">)</span><span·class="p">;</span><span·class="w">
241 </span><span·class="nf">open</span><span·class="p"·data-group-id="2893690922-77">(</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-77">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">241 </span><span·class="nf">open</span><span·class="p"·data-group-id="6459352893-77">(</span><span·class="ss">info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-77">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
242 ····</span><span·class="nf">handle_info</span><span·class="p"·data-group-id="2893690922-78">(</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">open</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-78">)</span><span·class="p">.</span><span·class="w">242 ····</span><span·class="nf">handle_info</span><span·class="p"·data-group-id="6459352893-78">(</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">open</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-78">)</span><span·class="p">.</span><span·class="w">
243 </span><span·class="c1">%%·Arity·differs</span><span·class="w">243 </span><span·class="c1">%%·Arity·differs</span><span·class="w">
244 </span><span·class="c1">%%·All·state·events·are·dispatched·to·handle_call·and·handle_info·help</span><span·class="w">244 </span><span·class="c1">%%·All·state·events·are·dispatched·to·handle_call·and·handle_info·help</span><span·class="w">
245 </span><span·class="c1">%%·functions.·If·you·want·to·handle·a·call·or·cast·event·specifically</span><span·class="w">245 </span><span·class="c1">%%·functions.·If·you·want·to·handle·a·call·or·cast·event·specifically</span><span·class="w">
246 </span><span·class="c1">%%·for·this·state·you·would·add·a·special·clause·for·it·above.</span><span·class="w">246 </span><span·class="c1">%%·for·this·state·you·would·add·a·special·clause·for·it·above.</span><span·class="w">
247 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">247 </span><span·class="p">-</span><span·class="na">endif</span><span·class="p">.</span><span·class="w">
248 </span><span·class="w">248 </span><span·class="w">
249 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="2893690922-79">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="2893690922-79">)</span><span·class="p">.</span><span·class="w">249 </span><span·class="p">-</span><span·class="na">ifdef</span><span·class="p"·data-group-id="6459352893-79">(</span><span·class="n">BEFORE_REWRITE</span><span·class="p"·data-group-id="6459352893-79">)</span><span·class="p">.</span><span·class="w">
250 </span><span·class="nf">handle_sync_event</span><span·class="p"·data-group-id="2893690922-80">(</span><span·class="ss">stop</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">StateName</span><s[·...·truncated·by·diffoscope;·len:·114,·SHA:·f5429cf4fa5a171e996dff151613d445ab1007b7d1d2c9fa0646b2f73c15601f·...·]-80">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">250 </span><span·class="nf">handle_sync_event</span><span·class="p"·data-group-id="6459352893-80">(</span><span·class="ss">stop</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">StateName</span><s[·...·truncated·by·diffoscope;·len:·114,·SHA:·abadfabb8bd9e256f077167585f3bbee249799713367c88da4d682abf773ac64·...·]-80">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
251 ····</span><span·class="p"·data-group-id="2893690922-81">{</span><span·class="ss">stop</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·63,·SHA:·7d699e52033a55bf3d988c8daef873b968aa4d3592bbba0aea91458628d2a4f3·...·]-81">}</span><span·class="p">.</span><span·class="w">251 ····</span><span·class="p"·data-group-id="6459352893-81">{</span><span·class="ss">stop</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">normal</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·63,·SHA:·7fbff0f4c9bcd8a46b42b9d15c8e04614c93b9fc5f7f2e8b4e4397151b00b593·...·]-81">}</span><span·class="p">.</span><span·class="w">
  
252 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="2893690922-82">(</span><span·class="n">Event</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-82">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">252 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="6459352893-82">(</span><span·class="n">Event</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-82">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
253 ····</span><span·class="p"·data-group-id="2893690922-83">{</span><span·class="ss">stop</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2893690922-84">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·445,·SHA:·59c5b436125d5f209ad2d932e8b37032f21c497d6c8e78a4ddd43846cad3fcaa·...·]-83">}</span><span·class="p">.</span><span·class="w">253 ····</span><span·class="p"·data-group-id="6459352893-83">{</span><span·class="ss">stop</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6459352893-84">{</span><span·class="ss">shutdown</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·445,·SHA:·c023c0861693fbfe92164e294e1332a3b9bb34f7c837c10a4a337a79ed367ab1·...·]-83">}</span><span·class="p">.</span><span·class="w">
  
254 </span><span·class="nf">handle_info</span><span·class="p"·data-group-id="2893690922-86">(</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="2893690922-86">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">254 </span><span·class="nf">handle_info</span><span·class="p"·data-group-id="6459352893-86">(</span><span·class="n">Info</span><span·class="p">,</span><span·class="w">·</span><span·class="n">StateName</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="6459352893-86">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 19856/80621 bytes (24.63%) of diff not shown.
679 B
html2text {}
Max HTML report size reached
8.03 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/gen_server.html
    
Offset 1365, 23 lines modifiedOffset 1365, 23 lines modified
1365 format/limit·the·server·state·for·debugging·and·logging·purposes.</p><p>It·is·called·in·the·following·situations:</p><ul><li><a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·is·invoked1365 format/limit·the·server·state·for·debugging·and·logging·purposes.</p><p>It·is·called·in·the·following·situations:</p><ul><li><a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·is·invoked
1366 to·get·the·<code·class="inline">gen_server</code>·status.</li><li>The·<code·class="inline">gen_server</code>·process·terminates·abnormally·and·logs·an·error.</li></ul><p>This·callback·is·used·to·limit·the·status·of·the·process·returned·by1366 to·get·the·<code·class="inline">gen_server</code>·status.</li><li>The·<code·class="inline">gen_server</code>·process·terminates·abnormally·and·logs·an·error.</li></ul><p>This·callback·is·used·to·limit·the·status·of·the·process·returned·by
1367 <a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·or·sent·to·<a·href="../../../../lib/kernel-10.3/doc/html/logger.html"><code·class="inline">logger</code></a>.</p><p>The·callback·gets·a·map·<code·class="inline">Status</code>·describing·the·current·status1367 <a·href="sys.html#get_status/1"><code·class="inline">sys:get_status/1,2</code></a>·or·sent·to·<a·href="../../../../lib/kernel-10.3/doc/html/logger.html"><code·class="inline">logger</code></a>.</p><p>The·callback·gets·a·map·<code·class="inline">Status</code>·describing·the·current·status
1368 and·shall·return·a·map·<code·class="inline">NewStatus</code>·with·the·same·keys,1368 and·shall·return·a·map·<code·class="inline">NewStatus</code>·with·the·same·keys,
1369 but·it·may·transform·some·values.</p><p>Two·possible·use·cases·for·this·callback·is·to·remove1369 but·it·may·transform·some·values.</p><p>Two·possible·use·cases·for·this·callback·is·to·remove
1370 sensitive·information·from·the·state·to·prevent·it·from·being·printed1370 sensitive·information·from·the·state·to·prevent·it·from·being·printed
1371 in·log·files,·or·to·compact·large·irrelevant·status·items1371 in·log·files,·or·to·compact·large·irrelevant·status·items
1372 that·would·only·clutter·the·logs.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">format_status</span><span·class="p"·data-group-id="1057734367-1">(</span><span·class="n">Status</span><span·class="p"·data-group-id="1057734367-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1372 that·would·only·clutter·the·logs.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">format_status</span><span·class="p"·data-group-id="2611637866-1">(</span><span·class="n">Status</span><span·class="p"·data-group-id="2611637866-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1373 ··</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="1057734367-2">(</span><span·class="w">1373 ··</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="2611637866-2">(</span><span·class="w">
1374 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="1057734367-3">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-group-id="1057734367-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1374 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="2611637866-3">(</span><span·class="ss">state</span><span·class="p">,</span><span·class="n">State</span><span·class="p"·data-group-id="2611637866-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1375 ············</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">remove</span><span·class="p"·data-group-id="1057734367-4">(</span><span·class="ss">private_key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="1057734367-4">)</span><span·class="p">;</span><span·class="w">1375 ············</span><span·class="nc">maps</span><span·class="p">:</span><span·class="nf">remove</span><span·class="p"·data-group-id="2611637866-4">(</span><span·class="ss">private_key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="2611637866-4">)</span><span·class="p">;</span><span·class="w">
1376 ·······</span><span·class="p"·data-group-id="1057734367-5">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="1057734367-6">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Pass</[·...·truncated·by·diffoscope;·len:·99,·SHA:·fb01821ec52b6ebfc6c2a136902502a3cf8317da12e02e7d0b207fe392b4de80·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1376 ·······</span><span·class="p"·data-group-id="2611637866-5">(</span><span·class="ss">message</span><span·class="p">,</span><span·class="p"·data-group-id="2611637866-6">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Pass</[·...·truncated·by·diffoscope;·len:·99,·SHA:·ecf33d6b82abfbc19aed6d32ac7760bb0b5c93d2c22bc6374926fc3565d01dea·...·]-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1377 ············</span><span·class="p"·data-group-id="1057734367-7">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">removed</span><span·class="p"·data-group-id="1057734367-7">}</span><span·class="p">;</span><span·class="w">1377 ············</span><span·class="p"·data-group-id="2611637866-7">{</span><span·class="ss">password</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">removed</span><span·class="p"·data-group-id="2611637866-7">}</span><span·class="p">;</span><span·class="w">
1378 ·······</span><span·class="p"·data-group-id="1057734367-8">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="1057734367-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1378 ·······</span><span·class="p"·data-group-id="2611637866-8">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Value</span><span·class="p"·data-group-id="2611637866-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1379 ············</span><span·class="n">Value</span><span·class="w">1379 ············</span><span·class="n">Value</span><span·class="w">
1380 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Status</span><span·class="p"·data-group-id="1057734367-2">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·callback·is·optional,·so·callback·modules·need·not·export·it.·The1380 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Status</span><span·class="p"·data-group-id="2611637866-2">)</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>This·callback·is·optional,·so·callback·modules·need·not·export·it.·The
1381 <code·class="inline">gen_server</code>·module·provides·a·default·implementation1381 <code·class="inline">gen_server</code>·module·provides·a·default·implementation
1382 of·this·function·that·returns·the·callback·module·state.</p><p>If·this·callback·is·exported·but·fails,1382 of·this·function·that·returns·the·callback·module·state.</p><p>If·this·callback·is·exported·but·fails,
1383 to·hide·possibly·sensitive·data,1383 to·hide·possibly·sensitive·data,
1384 the·default·function·will·instead·return·the·fact·that1384 the·default·function·will·instead·return·the·fact·that
1385 <a·href="#c:format_status/1"><code·class="inline">Module:format_status/1</code></a>·has·crashed.</p></section>1385 <a·href="#c:format_status/1"><code·class="inline">Module:format_status/1</code></a>·has·crashed.</p></section>
1386 ··</section>1386 ··</section>
1387 </section>1387 </section>
Offset 2986, 15 lines modifiedOffset 2986, 15 lines modified
2986 ······<p·class="built-using">2986 ······<p·class="built-using">
2987 ········Built·using2987 ········Built·using
2988 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2988 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2989 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2989 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2990 ······</p>2990 ······</p>
2991 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2991 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2992 ····</footer>2992 ····</footer>
2993 ··</div>2993 ··</div>
2994 </main>2994 </main>
2995 </div>2995 </div>
2996 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2996 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2997 ··<script>2997 ··<script>
2998 ··let·initialized·=·false;2998 ··let·initialized·=·false;
727 B
html2text {}
Max HTML report size reached
60.7 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/gen_statem.html
    
Offset 172, 15 lines modifiedOffset 172, 15 lines modified
172 </span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="ss">send_request</span><span·class="w">172 </span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="ss">send_request</span><span·class="w">
173 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">send</span><span·class="w">173 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nb">send</span><span·class="w">
174 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="ss">&#39;!&#39;</span><span·class="w">············</span><span·class="o">--</span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">:</span><span·class="n">StateName</span><span·class="o">/</span><span·class="mi">3</span><span·class="w">174 </span><span·class="nc">erlang</span><span·class="p">:</span><span·class="ss">&#39;!&#39;</span><span·class="w">············</span><span·class="o">--</span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">:</span><span·class="n">StateName</span><span·class="o">/</span><span·class="mi">3</span><span·class="w">
175 ···················</span><span·class="ow">or</span><span·class="w">·</span><span·class="o">--</span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">:</span><span·class="ss">handle_event</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">175 ···················</span><span·class="ow">or</span><span·class="w">·</span><span·class="o">--</span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">:</span><span·class="ss">handle_event</span><span·class="p">/</span><span·class="mi">4</span><span·class="w">
176 ···················</span><span·class="ss">depending</span><span·class="w">·</span><span·class="ss">on</span><span·class="w">·</span><span·class="ss">callback</span><span·class="w">·</span><span·class="ss">mode</span><span·class="w">176 ···················</span><span·class="ss">depending</span><span·class="w">·</span><span·class="ss">on</span><span·class="w">·</span><span·class="ss">callback</span><span·class="w">·</span><span·class="ss">mode</span><span·class="w">
  
177 </span><span·class="n">Release</span><span·class="w">·</span><span·class="ss">upgrade</span><span·class="o">/</span><span·class="nf">downgrade</span><span·class="w">177 </span><span·class="n">Release</span><span·class="w">·</span><span·class="ss">upgrade</span><span·class="o">/</span><span·class="nf">downgrade</span><span·class="w">
178 </span><span·class="p"·data-group-id="5193496980-1">(</span><span·class="ss">code</span><span·class="w">·</span><span·class="ss">change</span><span·class="p"·data-group-id="5193496980-1">)</span><span·class="w">178 </span><span·class="p"·data-group-id="3007440873-1">(</span><span·class="ss">code</span><span·class="w">·</span><span·class="ss">change</span><span·class="p"·data-group-id="3007440873-1">)</span><span·class="w">
179 ······················</span><span·class="o">--</span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">:</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi">4</span></code></pre><h4·id="state-callback">State·callback</h4><p>The·<em>state·callback</em>·for·a·specific·<a·href="#t:state/0">state</a>·in·a·<code·class="inline">gen_statem</code>179 ······················</span><span·class="o">--</span><span·class="o">--</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Module</span><span·class="p">:</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi">4</span></code></pre><h4·id="state-callback">State·callback</h4><p>The·<em>state·callback</em>·for·a·specific·<a·href="#t:state/0">state</a>·in·a·<code·class="inline">gen_statem</code>
180 is·the·callback·function·that·is·called·for·all·events·in·this·state.180 is·the·callback·function·that·is·called·for·all·events·in·this·state.
181 It·is·selected·depending·on·which·<a·href="#t:callback_mode/0"><em>callback·mode</em></a>181 It·is·selected·depending·on·which·<a·href="#t:callback_mode/0"><em>callback·mode</em></a>
182 that·the·callback·module·defines·with·the·callback·function182 that·the·callback·module·defines·with·the·callback·function
183 <a·href="#c:callback_mode/0"><code·class="inline">Module:callback_mode/0</code></a>.</p><p><a·href=""·id="state_functions"></a>183 <a·href="#c:callback_mode/0"><code·class="inline">Module:callback_mode/0</code></a>.</p><p><a·href=""·id="state_functions"></a>
184 When·the·<a·href="#t:callback_mode/0"><em>callback·mode</em></a>·is·<code·class="inline">state_functions</code>,184 When·the·<a·href="#t:callback_mode/0"><em>callback·mode</em></a>·is·<code·class="inline">state_functions</code>,
185 the·state·must·be·an·atom·and·is·used·as·the·<em>state·callback</em>·name;185 the·state·must·be·an·atom·and·is·used·as·the·<em>state·callback</em>·name;
Offset 298, 105 lines modifiedOffset 298, 105 lines modified
298 the·current·count·value.</li><li>Unknown·events·are·ignored·and·discarded.</li><li>There·is·boilerplate·code·for·start,·stop,·terminate,·code·change,298 the·current·count·value.</li><li>Unknown·events·are·ignored·and·discarded.</li><li>There·is·boilerplate·code·for·start,·stop,·terminate,·code·change,
299 init,·to·set·the·callback·mode·to·<code·class="inline">state_functions</code>,·etc...</li></ul><h3·id="module-pushbutton-code"·class="section-heading">299 init,·to·set·the·callback·mode·to·<code·class="inline">state_functions</code>,·etc...</li></ul><h3·id="module-pushbutton-code"·class="section-heading">
300 ··<a·href="#module-pushbutton-code"·class="hover-link">300 ··<a·href="#module-pushbutton-code"·class="hover-link">
301 ····<i·class="ri-link-m"·aria-hidden="true"></i>301 ····<i·class="ri-link-m"·aria-hidden="true"></i>
302 ··</a>302 ··</a>
303 ··<span·class="text">Pushbutton·Code</span>303 ··<span·class="text">Pushbutton·Code</span>
304 </h3>304 </h3>
305 <p>The·following·is·the·complete·callback·module·file·<code·class="inline">pushbutton.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1996322263-1">(</span><span·class="ss">pushbutton</span><span·class="p"·data-group-id="1996322263-1">)</span><span·class="p">.</span><span·class="w">305 <p>The·following·is·the·complete·callback·module·file·<code·class="inline">pushbutton.erl</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7084333821-1">(</span><span·class="ss">pushbutton</span><span·class="p"·data-group-id="7084333821-1">)</span><span·class="p">.</span><span·class="w">
306 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="1996322263-2">(</span><span·class="ss">gen_statem</span><span·class="p"·data-group-id="1996322263-2">)</span><span·class="p">.</span><span·class="w">306 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="7084333821-2">(</span><span·class="ss">gen_statem</span><span·class="p"·data-group-id="7084333821-2">)</span><span·class="p">.</span><span·class="w">
307 </span><span·class="w">307 </span><span·class="w">
308 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1996322263-3">(</span><span·class="p"·data-group-id="1996322263-4">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="ss">push</span><span·class="p">/</span><span·class="mi">0</span><s[·...·truncated·by·diffoscope;·len:·299,·SHA:·39318a4d32ab9106d19ef6b1f8908be58c28f11fcb52082e879b838650903df2·...·]-3">)</span><span·class="p">.</span><span·class="w">308 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7084333821-3">(</span><span·class="p"·data-group-id="7084333821-4">[</span><span·class="ss">start</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="ss">push</span><span·class="p">/</span><span·class="mi">0</span><s[·...·truncated·by·diffoscope;·len:·299,·SHA:·d89d90a269770975a51760e05d7cc735b03acb3723a17c96fc110a413cbab44c·...·]-3">)</span><span·class="p">.</span><span·class="w">
309 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1996322263-5">(</span><span·class="p"·data-group-id="1996322263-6">[</span><span·class="ss">terminate</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·314,·SHA:·0db014c12fa6bbb4519e808578a3935386c9f53e66b17bcaac633547d05ef22f·...·]-5">)</span><span·class="p">.</span><span·class="w">309 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7084333821-5">(</span><span·class="p"·data-group-id="7084333821-6">[</span><span·class="ss">terminate</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·314,·SHA:·e002da134db6b847856778240cef687676ea8ecdf49723e157cd7e27ea5e888a·...·]-5">)</span><span·class="p">.</span><span·class="w">
310 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1996322263-7">(</span><span·class="p"·data-group-id="1996322263-8">[</span><span·class="ss">on</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="ss">off</span><span·class="p">/</span><span·class="mi">3</span><span·[·...·truncated·by·diffoscope;·len:·88,·SHA:·a50e421a2e0d23323fcfe1139d49289f729bcf86731f7c499ea17ae2372684e7·...·]-7">)</span><span·class="p">.</span><span·class="w">310 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7084333821-7">(</span><span·class="p"·data-group-id="7084333821-8">[</span><span·class="ss">on</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="ss">off</span><span·class="p">/</span><span·class="mi">3</span><span·[·...·truncated·by·diffoscope;·len:·88,·SHA:·58852e175a85b16e42b920f0507ca670c6ba8540e9ec4c99fe094b7617d9a70b·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
311 </span><span·class="nf">name</span><span·class="p"·data-group-id="1996322263-9">(</span><span·class="p"·data-group-id="1996322263-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">pushbutton_statem</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·The·registered·server·name</span><span·class="w">311 </span><span·class="nf">name</span><span·class="p"·data-group-id="7084333821-9">(</span><span·class="p"·data-group-id="7084333821-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">pushbutton_statem</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·The·registered·server·name</span><span·class="w">
  
312 </span><span·class="c1">%%·API.··This·example·uses·a·registered·name·name()</span><span·class="w">312 </span><span·class="c1">%%·API.··This·example·uses·a·registered·name·name()</span><span·class="w">
313 </span><span·class="c1">%%·and·does·not·link·to·the·caller.</span><span·class="w">313 </span><span·class="c1">%%·and·does·not·link·to·the·caller.</span><span·class="w">
314 </span><span·class="nf">start</span><span·class="p"·data-group-id="1996322263-10">(</span><span·class="p"·data-group-id="1996322263-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">314 </span><span·class="nf">start</span><span·class="p"·data-group-id="7084333821-10">(</span><span·class="p"·data-group-id="7084333821-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
315 ····</span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="1996322263-11">(</span><span·class="p"·data-group-id="1996322263-12">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="nf">name</span><span·class="p"·data-group-id="1996322263-13">(</span><span·class="p"·data-group-id="1996322263-13[·...·truncated·by·diffoscope;·len:·518,·SHA:·3a4fd3b2ccc2152460188ac43fe24b14034f5cee9b1faf05a97a45777723de79·...·]-11">)</span><span·class="p">.</span><span·class="w">315 ····</span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="7084333821-11">(</span><span·class="p"·data-group-id="7084333821-12">{</span><span·class="ss">local</span><span·class="p">,</span><span·class="nf">name</span><span·class="p"·data-group-id="7084333821-13">(</span><span·class="p"·data-group-id="7084333821-13[·...·truncated·by·diffoscope;·len:·518,·SHA:·81ff92c70288fb15f10678093d7e6728ff9369ea054d99e2855a56f175b08cbc·...·]-11">)</span><span·class="p">.</span><span·class="w">
316 </span><span·class="nf">push</span><span·class="p"·data-group-id="1996322263-16">(</span><span·class="p"·data-group-id="1996322263-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">316 </span><span·class="nf">push</span><span·class="p"·data-group-id="7084333821-16">(</span><span·class="p"·data-group-id="7084333821-16">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
317 ····</span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="1996322263-17">(</span><span·class="nf">name</span><span·class="p"·data-group-id="1996322263-18">(</span><span·class="p"·data-group-id="1996322263-18">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">push</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·f5c472d550f20e236e66def5150c555a6d27d6118325a08e8df18cea0889c49f·...·]-17">)</span><span·class="p">.</span><span·class="w">317 ····</span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="7084333821-17">(</span><span·class="nf">name</span><span·class="p"·data-group-id="7084333821-18">(</span><span·class="p"·data-group-id="7084333821-18">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">push</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·b432e9894e734d0501912183c0c7e3aa36724fce436b7b80d733ec411bd96406·...·]-17">)</span><span·class="p">.</span><span·class="w">
318 </span><span·class="nf">get_count</span><span·class="p"·data-group-id="1996322263-19">(</span><span·class="p"·data-group-id="1996322263-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">318 </span><span·class="nf">get_count</span><span·class="p"·data-group-id="7084333821-19">(</span><span·class="p"·data-group-id="7084333821-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
319 ····</span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="1996322263-20">(</span><span·class="nf">name</span><span·class="p"·data-group-id="1996322263-21">(</span><span·class="p"·data-group-id="1996322263-21">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">get_count</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·4454e336ab822e5be91b14bcf2a5251055beb0948e43754336ee162f89a7e5d8·...·]-20">)</span><span·class="p">.</span><span·class="w">319 ····</span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="7084333821-20">(</span><span·class="nf">name</span><span·class="p"·data-group-id="7084333821-21">(</span><span·class="p"·data-group-id="7084333821-21">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">get_count</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·25,·SHA:·c4656cffb050721cb11c6fe53e953a5ea2df2c95b3c468d3e9251f2efb76bb46·...·]-20">)</span><span·class="p">.</span><span·class="w">
320 </span><span·class="nf">stop</span><span·class="p"·data-group-id="1996322263-22">(</span><span·class="p"·data-group-id="1996322263-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">320 </span><span·class="nf">stop</span><span·class="p"·data-group-id="7084333821-22">(</span><span·class="p"·data-group-id="7084333821-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
321 ····</span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="1996322263-23">(</span><span·class="nf">name</span><span·class="p"·data-group-id="1996322263-24">(</span><span·class="p"·data-group-id="1996322263-24">)</span><span·class="p"·data-group-id="1996322263-23">)</span><span·class="p">.</span><span·class="w">321 ····</span><span·class="nc">gen_statem</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="7084333821-23">(</span><span·class="nf">name</span><span·class="p"·data-group-id="7084333821-24">(</span><span·class="p"·data-group-id="7084333821-24">)</span><span·class="p"·data-group-id="7084333821-23">)</span><span·class="p">.</span><span·class="w">
  
322 </span><span·class="c1">%%·Mandatory·callback·functions</span><span·class="w">322 </span><span·class="c1">%%·Mandatory·callback·functions</span><span·class="w">
323 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="1996322263-25">(</span><span·class="p">_</span><span·class="n">Reason</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·cl[·...·truncated·by·diffoscope;·len:·60,·SHA:·b226d85866ae2ade5e2390ecf254976fc2bdc82d39caed916b8fbddf61e8261a·...·]-25">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">323 </span><span·class="nf">terminate</span><span·class="p"·data-group-id="7084333821-25">(</span><span·class="p">_</span><span·class="n">Reason</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·cl[·...·truncated·by·diffoscope;·len:·60,·SHA:·4c3cf90fce19e8bf08af856e33c2eb4bc37abdf38cdca8ebc9e0fd4e93a8fb06·...·]-25">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
324 ····</span><span·class="ss">void</span><span·class="p">.</span><span·class="w">324 ····</span><span·class="ss">void</span><span·class="p">.</span><span·class="w">
325 </span><span·class="nf">code_change</span><span·class="p"·data-group-id="1996322263-26">(</span><span·class="p">_</span><span·class="n">Vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·109,·SHA:·fb77ee2434df0e3a8e734559a83c83ae05edf4de113ff6529ba07f55a2e83913·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">325 </span><span·class="nf">code_change</span><span·class="p"·data-group-id="7084333821-26">(</span><span·class="p">_</span><span·class="n">Vsn</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·109,·SHA:·88e2076d82912bc22ec8928e4fd7eef6c9f45df704a42ce24ba80464c6cdbed8·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
326 ····</span><span·class="p"·data-group-id="1996322263-27">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">State</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="1996322263-27">}</span><span·class="p">.</span><span·class="w">326 ····</span><span·class="p"·data-group-id="7084333821-27">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">State</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="7084333821-27">}</span><span·class="p">.</span><span·class="w">
327 </span><span·class="nf">init</span><span·class="p"·data-group-id="1996322263-28">(</span><span·class="p"·data-group-id="1996322263-29">[</span><span·class="p"·data-group-id="1996322263-29">]</span><span·class="p"·data-group-id="1996322263-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">327 </span><span·class="nf">init</span><span·class="p"·data-group-id="7084333821-28">(</span><span·class="p"·data-group-id="7084333821-29">[</span><span·class="p"·data-group-id="7084333821-29">]</span><span·class="p"·data-group-id="7084333821-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
328 ····</span><span·class="c1">%%·Set·the·initial·state·+·data.··Data·is·used·only·as·a·counter.</span><span·class="w">328 ····</span><span·class="c1">%%·Set·the·initial·state·+·data.··Data·is·used·only·as·a·counter.</span><span·class="w">
329 ····</span><span·class="n">State</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">off</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">329 ····</span><span·class="n">State</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">off</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
330 ····</span><span·class="p"·data-group-id="1996322263-30">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">State</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="1996322263-30">}</span><span·class="p">.</span><span·class="w">330 ····</span><span·class="p"·data-group-id="7084333821-30">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">State</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="7084333821-30">}</span><span·class="p">.</span><span·class="w">
331 </span><span·class="nf">callback_mode</span><span·class="p"·data-group-id="1996322263-31">(</span><span·class="p"·data-group-id="1996322263-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">state_functions</span><span·class="p">.</span><span·class="w">331 </span><span·class="nf">callback_mode</span><span·class="p"·data-group-id="7084333821-31">(</span><span·class="p"·data-group-id="7084333821-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">state_functions</span><span·class="p">.</span><span·class="w">
  
332 </span><span·class="c1">%%%·state·callback(s)</span><span·class="w">332 </span><span·class="c1">%%%·state·callback(s)</span><span·class="w">
  
333 </span><span·class="nf">off</span><span·class="p"·data-group-id="1996322263-32">(</span><span·class="p"·data-group-id="1996322263-33">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="1996322263-33">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·146,·SHA:·8613bfd8fc3e4f90d82bf64c946d5b952639d6b80a4c90a9f5cf2a4104dda5ba·...·]-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">333 </span><span·class="nf">off</span><span·class="p"·data-group-id="7084333821-32">(</span><span·class="p"·data-group-id="7084333821-33">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="7084333821-33">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·146,·SHA:·e1746746d3762de646c8f6e58fa039d7fbca6ba3cf875f2c40da0e2cc5ebb04a·...·]-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
334 ····</span><span·class="c1">%%·Go·to·&#39;on&#39;,·increment·count·and·reply</span><span·class="w">334 ····</span><span·class="c1">%%·Go·to·&#39;on&#39;,·increment·count·and·reply</span><span·class="w">
335 ····</span><span·class="c1">%%·that·the·resulting·status·is·&#39;on&#39;</span><span·class="w">335 ····</span><span·class="c1">%%·that·the·resulting·status·is·&#39;on&#39;</span><span·class="w">
336 ····</span><span·class="p"·data-group-id="1996322263-34">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="ss">on</span><span·class="p">,</span><span·class="n">Data</span><span·class="o">+</span><span·class="mi">1</span><span·class="p">,</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·362,·SHA:·8016845b1f094de0ed1c915354b8753af9fcd0b782535be18ddcc729eacb111a·...·]-34">}</span><span·class="p">;</span><span·class="w">336 ····</span><span·class="p"·data-group-id="7084333821-34">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="ss">on</span><span·class="p">,</span><span·class="n">Data</span><span·class="o">+</span><span·class="mi">1</span><span·class="p">,</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·362,·SHA:·36c6c11dc42e987fdfb6eb8b5b6c9c488a989d53237943f5f9e55c3ed9ac754f·...·]-34">}</span><span·class="p">;</span><span·class="w">
337 </span><span·class="nf">off</span><span·class="p"·data-group-id="1996322263-37">(</span><span·class="n">EventType</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EventContent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="1996322263-37">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">337 </span><span·class="nf">off</span><span·class="p"·data-group-id="7084333821-37">(</span><span·class="n">EventType</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EventContent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="7084333821-37">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
338 ····</span><span·class="nf">handle_event</span><span·class="p"·data-group-id="1996322263-38">(</span><span·class="n">EventType</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EventContent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="1996322263-38">)</span><span·class="p">.</span><span·class="w">338 ····</span><span·class="nf">handle_event</span><span·class="p"·data-group-id="7084333821-38">(</span><span·class="n">EventType</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EventContent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="7084333821-38">)</span><span·class="p">.</span><span·class="w">
  
339 </span><span·class="nf">on</span><span·class="p"·data-group-id="1996322263-39">(</span><span·class="p"·data-group-id="1996322263-40">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="1996322263-40">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·146,·SHA:·8613bfd8fc3e4f90d82bf64c946d5b952639d6b80a4c90a9f5cf2a4104dda5ba·...·]-39">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">339 </span><span·class="nf">on</span><span·class="p"·data-group-id="7084333821-39">(</span><span·class="p"·data-group-id="7084333821-40">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="7084333821-40">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·146,·SHA:·e1746746d3762de646c8f6e58fa039d7fbca6ba3cf875f2c40da0e2cc5ebb04a·...·]-39">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
340 ····</span><span·class="c1">%%·Go·to·&#39;off&#39;·and·reply·that·the·resulting·status·is·&#39;off&#39;</span><span·class="w">340 ····</span><span·class="c1">%%·Go·to·&#39;off&#39;·and·reply·that·the·resulting·status·is·&#39;off&#39;</span><span·class="w">
341 ····</span><span·class="p"·data-group-id="1996322263-41">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="ss">off</span><span·class="p">,</span><span·class="n">Data</span><span·class="p">,</span><span·class="p"·data-group-id="1996322263-42">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·315,·SHA:·a6eababbd334b52e7ada151cf6abe33e2681df371d0a5901f2ebea63a8fd85fd·...·]-41">}</span><span·class="p">;</span><span·class="w">341 ····</span><span·class="p"·data-group-id="7084333821-41">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="ss">off</span><span·class="p">,</span><span·class="n">Data</span><span·class="p">,</span><span·class="p"·data-group-id="7084333821-42">[</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·315,·SHA:·8bc31a8b7f143c50dec5e8d5aea265417954ef7efc637d96d6ca6e8c6ebd0ce1·...·]-41">}</span><span·class="p">;</span><span·class="w">
342 </span><span·class="nf">on</span><span·class="p"·data-group-id="1996322263-44">(</span><span·class="n">EventType</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EventContent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="1996322263-44">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">342 </span><span·class="nf">on</span><span·class="p"·data-group-id="7084333821-44">(</span><span·class="n">EventType</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EventContent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="7084333821-44">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
343 ····</span><span·class="nf">handle_event</span><span·class="p"·data-group-id="1996322263-45">(</span><span·class="n">EventType</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EventContent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="1996322263-45">)</span><span·class="p">.</span><span·class="w">343 ····</span><span·class="nf">handle_event</span><span·class="p"·data-group-id="7084333821-45">(</span><span·class="n">EventType</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EventContent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="7084333821-45">)</span><span·class="p">.</span><span·class="w">
  
344 </span><span·class="c1">%%·Handle·events·common·to·all·states</span><span·class="w">344 </span><span·class="c1">%%·Handle·events·common·to·all·states</span><span·class="w">
345 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="1996322263-46">(</span><span·class="p"·data-group-id="1996322263-47">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="1996322263-47">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·151,·SHA:·eeea579f46912053eab725b980b710d338e0d0530149ebad84a03d742fac94ad·...·]-46">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">345 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="7084333821-46">(</span><span·class="p"·data-group-id="7084333821-47">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="7084333821-47">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·151,·SHA:·920dc331f1fa830baa5ead00cfd8dd7c16872dd3c6c6928044af6c4151acbdb5·...·]-46">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
346 ····</span><span·class="c1">%%·Reply·with·the·current·count</span><span·class="w">346 ····</span><span·class="c1">%%·Reply·with·the·current·count</span><span·class="w">
347 ····</span><span·class="p"·data-group-id="1996322263-48">{</span><span·class="ss">keep_state</span><span·class="p">,</span><span·class="n">Data</span><span·class="p">,</span><span·class="p"·data-group-id="1996322263-49">[</span><span·class="p"·data-group-id="1996322263-50">{</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·264,·SHA:·1e130cb6ce6d73c6bc71c55ac6e3571bd912d475ec016a67abdd42d5ef0a3fb9·...·]-48">}</span><span·class="p">;</span><span·class="w">347 ····</span><span·class="p"·data-group-id="7084333821-48">{</span><span·class="ss">keep_state</span><span·class="p">,</span><span·class="n">Data</span><span·class="p">,</span><span·class="p"·data-group-id="7084333821-49">[</span><span·class="p"·data-group-id="7084333821-50">{</span><span·class="ss"[·...·truncated·by·diffoscope;·len:·264,·SHA:·ba96ee62ec033b6dd8be0ede60262cf3d8da671eb307db8593321e280044f4c9·...·]-48">}</span><span·class="p">;</span><span·class="w">
348 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="1996322263-51">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="1996322263-51">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">348 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="7084333821-51">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="7084333821-51">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
349 ····</span><span·class="c1">%%·Ignore·all·other·events</span><span·class="w">349 ····</span><span·class="c1">%%·Ignore·all·other·events</span><span·class="w">
350 ····</span><span·class="p"·data-group-id="1996322263-52">{</span><span·class="ss">keep_state</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="1996322263-52">}</span><span·class="p">.</span></code></pre><p>The·following·is·a·shell·session·when·running·it:</p><[·...·truncated·by·diffoscope;·len:·271,·SHA:·c905551914bfc0961886ac92de13e13507bd69a9fb31c48ac12109a3bb977351·...·]-1">)</span><span·class="p">.</span><span·class="w">350 ····</span><span·class="p"·data-group-id="7084333821-52">{</span><span·class="ss">keep_state</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="7084333821-52">}</span><span·class="p">.</span></code></pre><p>The·following·is·a·shell·session·when·running·it:</p><[·...·truncated·by·diffoscope;·len:·271,·SHA:·0ccfb38bdb568a108e3d1a25cf6332cbeac11e33dca406c81763a1aa020c7ce3·...·]-1">)</span><span·class="p">.</span><span·class="w">
351 </span><span·class="p"·data-group-id="3862509649-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.36</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="3862509649-2">}</span><span·class="gp·unselectable">351 </span><span·class="p"·data-group-id="6585802150-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.36</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="6585802150-2">}</span><span·class="gp·unselectable">
352 2&gt;·</span><span·class="nc">pushbutton</span><span·class="p">:</span><span·class="nf">get_count</span><span·class="p"·data-group-id="3862509649-3">(</span><span·class="p"·data-group-id="3862509649-3">)</span><span·class="p">.</span><span·class="w">352 2&gt;·</span><span·class="nc">pushbutton</span><span·class="p">:</span><span·class="nf">get_count</span><span·class="p"·data-group-id="6585802150-3">(</span><span·class="p"·data-group-id="6585802150-3">)</span><span·class="p">.</span><span·class="w">
353 </span><span·class="mi">0</span><span·class="gp·unselectable">353 </span><span·class="mi">0</span><span·class="gp·unselectable">
354 3&gt;·</span><span·class="nc">pushbutton</span><span·class="p">:</span><span·class="nf">push</span><span·class="p"·data-group-id="3862509649-4">(</span><span·class="p"·data-group-id="3862509649-4">)</span><span·class="p">.</span><span·class="w">354 3&gt;·</span><span·class="nc">pushbutton</span><span·class="p">:</span><span·class="nf">push</span><span·class="p"·data-group-id="6585802150-4">(</span><span·class="p"·data-group-id="6585802150-4">)</span><span·class="p">.</span><span·class="w">
355 </span><span·class="ss">on</span><span·class="gp·unselectable">355 </span><span·class="ss">on</span><span·class="gp·unselectable">
356 4&gt;·</span><span·class="nc">pushbutton</span><span·class="p">:</span><span·class="nf">get_count</span><span·class="p"·data-group-id="3862509649-5">(</span><span·class="p"·data-group-id="3862509649-5">)</span><span·class="p">.</span><span·class="w">356 4&gt;·</span><span·class="nc">pushbutton</span><span·class="p">:</span><span·class="nf">get_count</span><span·class="p"·data-group-id="6585802150-5">(</span><span·class="p"·data-group-id="6585802150-5">)</span><span·class="p">.</span><span·class="w">
357 </span><span·class="mi">1</span><span·class="gp·unselectable">357 </span><span·class="mi">1</span><span·class="gp·unselectable">
358 5&gt;·</span><span·class="nc">pushbutton</span><span·class="p">:</span><span·class="nf">push</span><span·class="p"·data-group-id="3862509649-6">(</span><span·class="p"·data-group-id="3862509649-6">)</span><span·class="p">.</span><span·class="w">358 5&gt;·</span><span·class="nc">pushbutton</span><span·class="p">:</span><span·class="nf">push</span><span·class="p"·data-group-id="6585802150-6">(</span><span·class="p"·data-group-id="6585802150-6">)</span><span·class="p">.</span><span·class="w">
359 </span><span·class="ss">off</span><span·class="gp·unselectable">359 </span><span·class="ss">off</span><span·class="gp·unselectable">
360 6&gt;·</span><span·class="nc">pushbutton</span><span·class="p">:</span><span·class="nf">get_count</span><span·class="p"·data-group-id="3862509649-7">(</span><span·class="p"·data-group-id="3862509649-7">)</span><span·class="p">.</span><span·class="w">360 6&gt;·</span><span·class="nc">pushbutton</span><span·class="p">:</span><span·class="nf">get_count</span><span·class="p"·data-group-id="6585802150-7">(</span><span·class="p"·data-group-id="6585802150-7">)</span><span·class="p">.</span><span·class="w">
361 </span><span·class="mi">1</span><span·class="gp·unselectable">361 </span><span·class="mi">1</span><span·class="gp·unselectable">
362 7&gt;·</span><span·class="nc">pushbutton</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="3862509649-8">(</span><span·class="p"·data-group-id="3862509649-8">)</span><span·class="p">.</span><span·class="w">362 7&gt;·</span><span·class="nc">pushbutton</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="6585802150-8">(</span><span·class="p"·data-group-id="6585802150-8">)</span><span·class="p">.</span><span·class="w">
363 </span><span·class="ss">ok</span><span·class="gp·unselectable">363 </span><span·class="ss">ok</span><span·class="gp·unselectable">
364 8&gt;·</span><span·class="nc">pushbutton</span><span·class="p">:</span><span·class="nf">push</span><span·class="p"·data-group-id="3862509649-9">(</span><span·class="p"·data-group-id="3862509649-9">)</span><span·class="p">.</span><span·class="w">364 8&gt;·</span><span·class="nc">pushbutton</span><span·class="p">:</span><span·class="nf">push</span><span·class="p"·data-group-id="6585802150-9">(</span><span·class="p"·data-group-id="6585802150-9">)</span><span·class="p">.</span><span·class="w">
365 </span><span·class="gt">**·exception·exit:·{noproc,{gen_statem,call,[pushbutton_statem,push,infinity]}}365 </span><span·class="gt">**·exception·exit:·{noproc,{gen_statem,call,[pushbutton_statem,push,infinity]}}
366 ·····in·function··gen:do_for_proc/2·(gen.erl,·line·261)366 ·····in·function··gen:do_for_proc/2·(gen.erl,·line·261)
367 ·····in·call·from·gen_statem:call/3·(gen_statem.erl,·line·386)</span></code></pre><p>To·compare·styles,·here·follows·the·same·example·using367 ·····in·call·from·gen_statem:call/3·(gen_statem.erl,·line·386)</span></code></pre><p>To·compare·styles,·here·follows·the·same·example·using
368 <a·href="#t:callback_mode/0"><em>callback·mode</em></a>·<code·class="inline">handle_event_function</code>,368 <a·href="#t:callback_mode/0"><em>callback·mode</em></a>·<code·class="inline">handle_event_function</code>,
369 or·rather,·the·code·to·replace·after·function·<a·href="#c:init/1"><code·class="inline">init/1</code></a>369 or·rather,·the·code·to·replace·after·function·<a·href="#c:init/1"><code·class="inline">init/1</code></a>
370 of·the·<code·class="inline">pushbutton.erl</code>·example·file·above:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">callback_mode</span><span·class="p"·data-group-id="6019040222-1">(</span><span·class="p"·data-group-id="6019040222-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">handle_event_function</span><span·class="p">.</span><span·class="w">370 of·the·<code·class="inline">pushbutton.erl</code>·example·file·above:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">callback_mode</span><span·class="p"·data-group-id="4952385976-1">(</span><span·class="p"·data-group-id="4952385976-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">handle_event_function</span><span·class="p">.</span><span·class="w">
  
371 </span><span·class="c1">%%%·state·callback(s)</span><span·class="w">371 </span><span·class="c1">%%%·state·callback(s)</span><span·class="w">
  
372 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="6019040222-2">(</span><span·class="p"·data-group-id="6019040222-3">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="6019040222-3">}</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·218,·SHA:·8929464673bd08c5c9b123b6bf5cd0fc7d514eff58a77175fc7ca16ccd421a2d·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">372 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="4952385976-2">(</span><span·class="p"·data-group-id="4952385976-3">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="4952385976-3">}</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·218,·SHA:·39b84f8c201844cb5ca89ad154808d560232d95e21c0ebacb84640f0ed22b1fa·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
373 ····</span><span·class="c1">%%·Go·to·&#39;on&#39;,·increment·count·and·reply</span><span·class="w">373 ····</span><span·class="c1">%%·Go·to·&#39;on&#39;,·increment·count·and·reply</span><span·class="w">
374 ····</span><span·class="c1">%%·that·the·resulting·status·is·&#39;on&#39;</span><span·class="w">374 ····</span><span·class="c1">%%·that·the·resulting·status·is·&#39;on&#39;</span><span·class="w">
375 ····</span><span·class="p"·data-group-id="6019040222-4">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="ss">on</span><span·class="p">,</span><span·class="n">Data</span><span·class="o">+</span><span·class="mi">1</span><span·class="p">,</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·357,·SHA:·11652d188fc949151de323731d51c92670b523501ea14d6880800671926627ec·...·]-4">}</span><span·class="p">;</span><span·class="w">375 ····</span><span·class="p"·data-group-id="4952385976-4">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="ss">on</span><span·class="p">,</span><span·class="n">Data</span><span·class="o">+</span><span·class="mi">1</span><span·class="p">,</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·357,·SHA:·d92113867457a4d4e05e44c2e490bcf4b9cf77673f1d392e018ac429982decf3·...·]-4">}</span><span·class="p">;</span><span·class="w">
376 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="6019040222-7">(</span><span·class="p"·data-group-id="6019040222-8">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="6019040222-8">}</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·217,·SHA:·4e8a77b7f53d53b6d2c3bd8fb78c6a9e8ad12cec0a42e63bfcba3bf52468b579·...·]-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">376 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="4952385976-7">(</span><span·class="p"·data-group-id="4952385976-8">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="4952385976-8">}</span><span·class="p">,</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·217,·SHA:·cd76d46a04cde8e604ac9db95c4a13912c169bdbf738fbe722938c73b5ec4ed5·...·]-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
377 ····</span><span·class="c1">%%·Go·to·&#39;off&#39;·and·reply·that·the·resulting·status·is·&#39;off&#39;</span><span·class="w">377 ····</span><span·class="c1">%%·Go·to·&#39;off&#39;·and·reply·that·the·resulting·status·is·&#39;off&#39;</span><span·class="w">
378 ····</span><span·class="p"·data-group-id="6019040222-9">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="ss">off</span><span·class="p">,</span><span·class="n">Data</span><span·class="p">,</span><span·class="p"·data-group-id="6019040222-10">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·314,·SHA:·7e3fa101cda43cf507d22b16ce724c8c1dd9eb4ac9768fc10ca93098b77a30ab·...·]-9">}</span><span·class="p">;</span><span·class="w">378 ····</span><span·class="p"·data-group-id="4952385976-9">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="ss">off</span><span·class="p">,</span><span·class="n">Data</span><span·class="p">,</span><span·class="p"·data-group-id="4952385976-10">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·314,·SHA:·e8957076bb130bc4a56b045dbec575e3d3303fc91b4b0211770b815d11e98b7d·...·]-9">}</span><span·class="p">;</span><span·class="w">
379 </span><span·class="c1">%%</span><span·class="w">379 </span><span·class="c1">%%</span><span·class="w">
380 </span><span·class="c1">%%·Event·handling·common·to·all·states</span><span·class="w">380 </span><span·class="c1">%%·Event·handling·common·to·all·states</span><span·class="w">
381 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="6019040222-12">(</span><span·class="p"·data-group-id="6019040222-13">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="6019040222-13">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·227,·SHA:·0a5be3c96853492df7761b2d10e5ac1257ad712ecb1ae88bc71dadbf4f74ef8b·...·]-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">381 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="4952385976-12">(</span><span·class="p"·data-group-id="4952385976-13">{</span><span·class="ss">call</span><span·class="p">,</span><span·class="n">From</span><span·class="p"·data-group-id="4952385976-13">}</span><span·class="p">,</span><span·class="w">·</spa[·...·truncated·by·diffoscope;·len:·227,·SHA:·f99466076d1097d42910fcdef49c67a963ce1207aa736d9038d272d1e5495831·...·]-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
382 ····</span><span·class="c1">%%·Reply·with·the·current·count</span><span·class="w">382 ····</span><span·class="c1">%%·Reply·with·the·current·count</span><span·class="w">
383 ····</span><span·class="p"·data-group-id="6019040222-14">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="n">State</span><span·class="p">,</span><span·class="n">Data</span><span·class="p">,</span><span·class="p"·data-group-id="6019040222-15">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·316,·SHA:·b05c1ee90c4a19c60539c54c05b24478fe109efeac58b7857f87962ca8c2d2ae·...·]-14">}</span><span·class="p">;</span><span·class="w">383 ····</span><span·class="p"·data-group-id="4952385976-14">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="n">State</span><span·class="p">,</span><span·class="n">Data</span><span·class="p">,</span><span·class="p"·data-group-id="4952385976-15">[</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·316,·SHA:·65fcc82bea20f0b3978dd5d29a8ea4a748dd38360edbddef342d7c870600e989·...·]-14">}</span><span·class="p">;</span><span·class="w">
384 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="6019040222-17">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·55,·SHA:·311642e9a8404e693599726453dd1287b06f8faca16e59bae22e2bf45b65eb62·...·]-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">384 </span><span·class="nf">handle_event</span><span·class="p"·data-group-id="4952385976-17">(</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·55,·SHA:·a610b8c68ddebb3c4e45b64dccdd6ae5ef1edca094b587c785cd2755ba87f2ec·...·]-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
385 ····</span><span·class="c1">%%·Ignore·all·other·events</span><span·class="w">385 ····</span><span·class="c1">%%·Ignore·all·other·events</span><span·class="w">
386 ····</span><span·class="p"·data-group-id="6019040222-18">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="n">State</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="6019040222-18">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><h2·id="module-api-changes"·class="section-heading">386 ····</span><span·class="p"·data-group-id="4952385976-18">{</span><span·class="ss">next_state</span><span·class="p">,</span><span·class="n">State</span><span·class="p">,</span><span·class="n">Data</span><span·class="p"·data-group-id="4952385976-18">}</span><span·class="p">.</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><h2·id="module-api-changes"·class="section-heading">
387 ··<a·href="#module-api-changes"·class="hover-link">387 ··<a·href="#module-api-changes"·class="hover-link">
388 ····<i·class="ri-link-m"·aria-hidden="true"></i>388 ····<i·class="ri-link-m"·aria-hidden="true"></i>
389 ··</a>389 ··</a>
390 ··<span·class="text">API·changes</span>390 ··<span·class="text">API·changes</span>
391 </h2>391 </h2>
392 <ul><li>This·behavior·appeared·in·Erlang/OTP·19.0·as·experimental.</li><li>In·OTP·19.1·a·backwards·incompatible·change·of·the·return·tuple·from392 <ul><li>This·behavior·appeared·in·Erlang/OTP·19.0·as·experimental.</li><li>In·OTP·19.1·a·backwards·incompatible·change·of·the·return·tuple·from
393 <a·href="#c:init/1"><code·class="inline">Module:init/1</code></a>·was·made,393 <a·href="#c:init/1"><code·class="inline">Module:init/1</code></a>·was·made,
Offset 3083, 23 lines modifiedOffset 3083, 23 lines modified
3083 return·value·and·how·its·status·appears·in·termination·error·logs,3083 return·value·and·how·its·status·appears·in·termination·error·logs,
3084 exports·an·instance·of·<a·href="#c:format_status/1"><code·class="inline">Module:format_status/1</code></a>,3084 exports·an·instance·of·<a·href="#c:format_status/1"><code·class="inline">Module:format_status/1</code></a>,
3085 which·will·get·a·map·<code·class="inline">Status</code>·that·describes·the·current·state3085 which·will·get·a·map·<code·class="inline">Status</code>·that·describes·the·current·state
3086 of·the·<code·class="inline">gen_statem</code>,·and·shall·return·a·map·<code·class="inline">NewStatus</code>3086 of·the·<code·class="inline">gen_statem</code>,·and·shall·return·a·map·<code·class="inline">NewStatus</code>
3087 containing·the·same·keys·as·the·input·map,3087 containing·the·same·keys·as·the·input·map,
Max diff block lines reached; 10321/61312 bytes (16.83%) of diff not shown.
727 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/introduction.html
    
Offset 185, 15 lines modifiedOffset 185, 15 lines modified
185 ······<p·class="built-using">185 ······<p·class="built-using">
186 ········Built·using186 ········Built·using
187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
189 ······</p>189 ······</p>
190 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>190 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
191 ····</footer>191 ····</footer>
192 ··</div>192 ··</div>
193 </main>193 </main>
194 </div>194 </div>
195 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>195 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
196 ··<script>196 ··<script>
197 ··let·initialized·=·false;197 ··let·initialized·=·false;
727 B
html2text {}
Max HTML report size reached
195 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/io.html
Max HTML report size reached
14.6 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/io_lib.html
    
Offset 1252, 16 lines modifiedOffset 1252, 16 lines modified
1252 <p>Tries·to·read·<code·class="inline">String</code>·in·accordance·with·the·control·sequences·in·<code·class="inline">Format</code>.</p><p>For·a·detailed·description·of·the·available·formatting·options,·see·<a·href="io.html#fread/3"><code·class="inline">io:fread/3</code></a>.1252 <p>Tries·to·read·<code·class="inline">String</code>·in·accordance·with·the·control·sequences·in·<code·class="inline">Format</code>.</p><p>For·a·detailed·description·of·the·available·formatting·options,·see·<a·href="io.html#fread/3"><code·class="inline">io:fread/3</code></a>.
1253 It·is·assumed·that·<code·class="inline">String</code>·contains·whole·lines.</p><p>The·function·returns:</p><ul><li><p><strong><code·class="inline">{ok,·InputList,·LeftOverChars}</code></strong>·-·The·string·was·read.·<code·class="inline">InputList</code>·is·the1253 It·is·assumed·that·<code·class="inline">String</code>·contains·whole·lines.</p><p>The·function·returns:</p><ul><li><p><strong><code·class="inline">{ok,·InputList,·LeftOverChars}</code></strong>·-·The·string·was·read.·<code·class="inline">InputList</code>·is·the
1254 list·of·successfully·matched·and·read·items,·and·<code·class="inline">LeftOverChars</code>·are·the·input1254 list·of·successfully·matched·and·read·items,·and·<code·class="inline">LeftOverChars</code>·are·the·input
1255 characters·not·used.</p></li><li><p><strong><code·class="inline">{more,·RestFormat,·Nchars,·InputStack}</code></strong>·-·The·string·was·read,·but·more1255 characters·not·used.</p></li><li><p><strong><code·class="inline">{more,·RestFormat,·Nchars,·InputStack}</code></strong>·-·The·string·was·read,·but·more
1256 input·is·needed·to·complete·the·original·format·string.·<code·class="inline">RestFormat</code>·is·the1256 input·is·needed·to·complete·the·original·format·string.·<code·class="inline">RestFormat</code>·is·the
1257 remaining·format·string,·<code·class="inline">Nchars</code>·is·the·number·of·characters·scanned,·and1257 remaining·format·string,·<code·class="inline">Nchars</code>·is·the·number·of·characters·scanned,·and
1258 <code·class="inline">InputStack</code>·is·the·reversed·list·of·inputs·matched·up·to·that·point.</p></li><li><p><strong><code·class="inline">{error,·What}</code></strong>·-·The·read·operation·failed·and·parameter·<code·class="inline">What</code>·gives·a1258 <code·class="inline">InputStack</code>·is·the·reversed·list·of·inputs·matched·up·to·that·point.</p></li><li><p><strong><code·class="inline">{error,·What}</code></strong>·-·The·read·operation·failed·and·parameter·<code·class="inline">What</code>·gives·a
1259 hint·about·the·error.</p></li></ul><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">fread</span><span·class="p"·data-group-id="4385311157-1">(</span><span·class="s">&quot;~f~f~f&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;15.6·17.3e-6·24.5&quot;</span><span·class="p"·data-group-id="4385311157-1">)</span><span·class="p">.</span><span·class="w">1259 hint·about·the·error.</p></li></ul><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">fread</span><span·class="p"·data-group-id="4248471368-1">(</span><span·class="s">&quot;~f~f~f&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;15.6·17.3e-6·24.5&quot;</span><span·class="p"·data-group-id="4248471368-1">)</span><span·class="p">.</span><span·class="w">
1260 </span><span·class="p"·data-group-id="4385311157-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4385311157-3">[</span><span·class="mf">15.6</span><span·class="p">,</span><span·class="mf">1.73e-5</span><span·class="p">,</span><span·class="mf">24.5</sp[·...·truncated·by·diffoscope;·len:·227,·SHA:·269dd411f511a401e85681230a464d78973b62b9bc6efd23dd99173643396d35·...·]-2">}</span></code></pre>1260 </span><span·class="p"·data-group-id="4248471368-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="4248471368-3">[</span><span·class="mf">15.6</span><span·class="p">,</span><span·class="mf">1.73e-5</span><span·class="p">,</span><span·class="mf">24.5</sp[·...·truncated·by·diffoscope;·len:·227,·SHA:·6be528560b5c2fc4bb372b191c95fd1c29920d1bfa102a0a110ce2a6fcb394e5·...·]-2">}</span></code></pre>
1261 ··</section>1261 ··</section>
1262 </section>1262 </section>
1263 <section·class="detail"·id="fread/3">1263 <section·class="detail"·id="fread/3">
  
1264 ··<div·class="detail-header">1264 ··<div·class="detail-header">
1265 ····<a·href="#fread/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1265 ····<a·href="#fread/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1266 ······<i·class="ri-link-m"·aria-hidden="true"></i>1266 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1731, 19 lines modifiedOffset 1731, 19 lines modified
1731 ······</div>1731 ······</div>
  
1732 <p>Returns·a·character·list·that·represents·<code·class="inline">Term</code>.·Option·<code·class="inline">Depth</code>·controls·the1732 <p>Returns·a·character·list·that·represents·<code·class="inline">Term</code>.·Option·<code·class="inline">Depth</code>·controls·the
1733 depth·of·the·structures·written.</p><p>When·the·specified·depth·is·reached,·everything·below·this·level·is·replaced·by1733 depth·of·the·structures·written.</p><p>When·the·specified·depth·is·reached,·everything·below·this·level·is·replaced·by
1734 &quot;<code·class="inline">...</code>&quot;.</p><p><code·class="inline">Depth</code>·defaults·to·-1,·which·means·no·limitation.·Option·<code·class="inline">CharsLimit</code>·puts·a1734 &quot;<code·class="inline">...</code>&quot;.</p><p><code·class="inline">Depth</code>·defaults·to·-1,·which·means·no·limitation.·Option·<code·class="inline">CharsLimit</code>·puts·a
1735 soft·limit·on·the·number·of·characters·returned.·When·the·number·of·characters·is1735 soft·limit·on·the·number·of·characters·returned.·When·the·number·of·characters·is
1736 reached,·remaining·structures·are·replaced·by·&quot;<code·class="inline">...</code>&quot;.·<code·class="inline">CharsLimit</code>·defaults·to·-1,1736 reached,·remaining·structures·are·replaced·by·&quot;<code·class="inline">...</code>&quot;.·<code·class="inline">CharsLimit</code>·defaults·to·-1,
1737 which·means·no·limit·on·the·number·of·characters·returned.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="7045682961-1">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="7045682961-2">(</span><span·class="p"·data-group-id="7045682961-3">{</span><span·class="mi">1</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·836,·SHA:·d75617e7d53d67391e7d676acc70c56c4b1141e8947416fc0dd8b7224f57b86e·...·]1-1">)</span><span·class="p">.</span><span·class="w">1737 which·means·no·limit·on·the·number·of·characters·returned.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="3031368791-1">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="3031368791-2">(</span><span·class="p"·data-group-id="3031368791-3">{</span><span·class="mi">1</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·836,·SHA:·854568a027f6641d2e314fd506f17bf2cc1b751049e2751ee3dd64d426f71105·...·]1-1">)</span><span·class="p">.</span><span·class="w">
1738 </span><span·class="s">&quot;{1,[2],[3],[4,5],6,7,8,9}&quot;</span><span·class="gp·unselectable">1738 </span><span·class="s">&quot;{1,[2],[3],[4,5],6,7,8,9}&quot;</span><span·class="gp·unselectable">
1739 2&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="7045682961-7">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="7045682961-8">(</span><span·class="p"·data-group-id="7045682961-9">{</span><span·class="mi">1</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·915,·SHA:·04c20ba2482da13444dbe0ab9288301788ffa3491e79afab3062df5f2918083f·...·]1-7">)</span><span·class="p">.</span><span·class="w">1739 2&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="3031368791-7">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="3031368791-8">(</span><span·class="p"·data-group-id="3031368791-9">{</span><span·class="mi">1</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·915,·SHA:·94cd4f0fe4e48cf82023667f885f1dc5204fc799af3ed52bd512fd070576f361·...·]1-7">)</span><span·class="p">.</span><span·class="w">
1740 </span><span·class="s">&quot;{1,[2],[3],[...],...}&quot;</span><span·class="gp·unselectable">1740 </span><span·class="s">&quot;{1,[2],[3],[...],...}&quot;</span><span·class="gp·unselectable">
1741 3&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="7045682961-13">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="7045682961-14">(</span><span·class="p"·data-group-id="7045682961-15">{</span><span·class="p"·data-group-id="7045682961-[·...·truncated·by·diffoscope;·len:·1088,·SHA:·334874ef0a6dbf926308020f64e0c6fbf37beb58dc07f6e0da3a16737ffb34e5·...·]1-13">)</span><span·class="p">.</span><span·class="w">1741 3&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">flatten</span><span·class="p"·data-group-id="3031368791-13">(</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="3031368791-14">(</span><span·class="p"·data-group-id="3031368791-15">{</span><span·class="p"·data-group-id="3031368791-[·...·truncated·by·diffoscope;·len:·1088,·SHA:·725e94b4a99e951781493fb5e51e834e61c4b7c855260d2fe9924cafce80b644·...·]1-13">)</span><span·class="p">.</span><span·class="w">
1742 </span><span·class="s">&quot;{[1,2|...],[4|...],...}&quot;</span></code></pre>1742 </span><span·class="s">&quot;{[1,2|...],[4|...],...}&quot;</span></code></pre>
1743 ··</section>1743 ··</section>
1744 </section>1744 </section>
1745 <section·class="detail"·id="write_atom/1">1745 <section·class="detail"·id="write_atom/1">
  
1746 ··<div·class="detail-header">1746 ··<div·class="detail-header">
1747 ····<a·href="#write_atom/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1747 ····<a·href="#write_atom/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1988, 15 lines modifiedOffset 1988, 15 lines modified
1988 ······<p·class="built-using">1988 ······<p·class="built-using">
1989 ········Built·using1989 ········Built·using
1990 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1990 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1991 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1991 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1992 ······</p>1992 ······</p>
1993 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1993 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1994 ····</footer>1994 ····</footer>
1995 ··</div>1995 ··</div>
1996 </main>1996 </main>
1997 </div>1997 </div>
1998 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1998 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1999 ··<script>1999 ··<script>
2000 ··let·initialized·=·false;2000 ··let·initialized·=·false;
613 B
html2text {}
Max HTML report size reached
198 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/io_protocol.html
Max HTML report size reached
49.2 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/json.html
    
Offset 977, 16 lines modifiedOffset 977, 16 lines modified
977 </h2>977 </h2>
978 <ul><li><code·class="inline">error(unexpected_end)</code>·if·<code·class="inline">Binary</code>·contains·incomplete·JSON·value</li><li><code·class="inline">error({invalid_byte,·Byte})</code>·if·<code·class="inline">Binary</code>·contains·unexpected·byte·or·invalid·UTF-8·byte</li><li><code·class="inline">error({unexpected_sequence,·Bytes})</code>·if·<code·class="inline">Binary</code>·contains·invalid·UTF-8·escape</li></ul><h2·id="decode/1-example"·class="section-heading">978 <ul><li><code·class="inline">error(unexpected_end)</code>·if·<code·class="inline">Binary</code>·contains·incomplete·JSON·value</li><li><code·class="inline">error({invalid_byte,·Byte})</code>·if·<code·class="inline">Binary</code>·contains·unexpected·byte·or·invalid·UTF-8·byte</li><li><code·class="inline">error({unexpected_sequence,·Bytes})</code>·if·<code·class="inline">Binary</code>·contains·invalid·UTF-8·escape</li></ul><h2·id="decode/1-example"·class="section-heading">
979 ··<a·href="#decode/1-example"·class="hover-link">979 ··<a·href="#decode/1-example"·class="hover-link">
980 ····<i·class="ri-link-m"·aria-hidden="true"></i>980 ····<i·class="ri-link-m"·aria-hidden="true"></i>
981 ··</a>981 ··</a>
982 ··<span·class="text">Example</span>982 ··<span·class="text">Example</span>
983 </h2>983 </h2>
984 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="9386436424-1">(</span><span·class="p"·data-group-id="9386436424-2">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:·1}&quot;</span><span·class="p"·data-group-id="9386436424-2">&gt;&gt;</span><span·class="p"·data-group-id="9386436424-1">)</span><span·class="p">.</span><span·class="w"> 
985 </span><span·class="p"·data-group-id="9386436424-3">#{</span><span·class="p"·data-group-id="9386436424-4">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="9386436424-4">&gt;&gt;</span><span·class="w">·</span><span·class="p[·...·truncated·by·diffoscope;·len:·128,·SHA:·644905f49ec1d4efe28158521b8be16e8d0057eee4a260048c4add384ff64b1b·...·]>984 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="8752322764-1">(</span><span·class="p"·data-group-id="8[·...·truncated·by·diffoscope;·len:·237,·SHA:·f993953d109f552eef4ac702b5eb36d717ca274f565da9917096a3349492afbf·...·]>
 985 </span><span·class="p"·data-group-id="8752322764-3">#{</span><span·class="p"·data-group-id="8752322764-4">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="8752322764-4">&gt;&gt;</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="8752322764-3">}</span></code></pre>
986 ··</section>986 ··</section>
987 </section>987 </section>
988 <section·class="detail"·id="decode/3">988 <section·class="detail"·id="decode/3">
  
989 ··<div·class="detail-header">989 ··<div·class="detail-header">
990 ····<a·href="#decode/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">990 ····<a·href="#decode/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
991 ······<i·class="ri-link-m"·aria-hidden="true"></i>991 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1028, 17 lines modifiedOffset 1028, 17 lines modified
1028 </h2>1028 </h2>
1029 <ul><li><code·class="inline">error({invalid_byte,·Byte})</code>·if·<code·class="inline">Binary</code>·contains·unexpected·byte·or·invalid·UTF-8·byte</li><li><code·class="inline">error({unexpected_sequence,·Bytes})</code>·if·<code·class="inline">Binary</code>·contains·invalid·UTF-8·escape</li><li><code·class="inline">error(unexpected_end)</code>·if·<code·class="inline">Binary</code>·contains·incomplete·JSON·value</li></ul><h2·id="decode/3-example"·class="section-heading">1029 <ul><li><code·class="inline">error({invalid_byte,·Byte})</code>·if·<code·class="inline">Binary</code>·contains·unexpected·byte·or·invalid·UTF-8·byte</li><li><code·class="inline">error({unexpected_sequence,·Bytes})</code>·if·<code·class="inline">Binary</code>·contains·invalid·UTF-8·escape</li><li><code·class="inline">error(unexpected_end)</code>·if·<code·class="inline">Binary</code>·contains·incomplete·JSON·value</li></ul><h2·id="decode/3-example"·class="section-heading">
1030 ··<a·href="#decode/3-example"·class="hover-link">1030 ··<a·href="#decode/3-example"·class="hover-link">
1031 ····<i·class="ri-link-m"·aria-hidden="true"></i>1031 ····<i·class="ri-link-m"·aria-hidden="true"></i>
1032 ··</a>1032 ··</a>
1033 ··<span·class="text">Example</span>1033 ··<span·class="text">Example</span>
1034 </h2>1034 </h2>
1035 <p>Decoding·object·keys·as·atoms:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">Push</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3958257204-1">(</span><span·class="n">Key</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Value</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="3958257204-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3958257204-2">[</span><span·class="p"·data-group-id="3958257204-3">{</span><span·class="nf">binary_to_existing_atom</span><span·class="p"·data-group-id="3958257204-4">(</span><span·class="n">Key</span><span·class="p"·data-group-id="3958257204-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Value</span><span·class="p"·data-group-id="3958257204-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p"·data-group-id="3958257204-2">]</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable"> 
1036 &gt;·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="3958257204-5">(</span><span·class="p"·data-group-id="3958257204-6">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:·1}&quot[·...·truncated·by·diffoscope;·len:·526,·SHA:·fd141231d0c1e97f067778ba4c7453c726a7401856e271f6109b83ee2765979b·...·]">1035 <p>Decoding·object·keys·as·atoms:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">Push</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><sp[·...·truncated·by·diffoscope;·len:·1022,·SHA:·f3e884cd3dffc3d7388dc60f898b3c7efd7f6cdb68b602e7af8837dc0c36b962·...·]">
 1036 &gt;·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">decode</span><span·class="p"·data-group-id="3482206292-5">(</span><span·class="p"·data-group-id="3482206292-6">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:·1}&quot;</span><span·class="p"·data-group-id="3482206292-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3482206292-7">#{</span><span·class="ss">object_push</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="n">Push</span><span·class="p"·data-group-id="3482206292-7">}</span><span·class="p"·data-group-id="3482206292-5">)</span><span·class="p">.</span><span·class="w">
1037 </span><span·class="p"·data-group-id="3958257204-8">{</span><span·class="p"·data-group-id="3958257204-9">#{</span><span·class="ss">foo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="3958257204-9">}</span>[·...·truncated·by·diffoscope;·len:·237,·SHA:·ceffba1abd449921d8d4842477f2021a3436c21174c4c685eaa6d023b1a3774e·...·]-8">}</span></code></pre>1037 </span><span·class="p"·data-group-id="3482206292-8">{</span><span·class="p"·data-group-id="3482206292-9">#{</span><span·class="ss">foo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="3482206292-9">}</span>[·...·truncated·by·diffoscope;·len:·237,·SHA:·5901da19be8834e3be11b1418daec388ece96432c21e9ac2b965c3818a0567d1·...·]-8">}</span></code></pre>
1038 ··</section>1038 ··</section>
1039 </section>1039 </section>
1040 <section·class="detail"·id="decode_continue/2">1040 <section·class="detail"·id="decode_continue/2">
  
1041 ··<div·class="detail-header">1041 ··<div·class="detail-header">
1042 ····<a·href="#decode_continue/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1042 ····<a·href="#decode_continue/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1043 ······<i·class="ri-link-m"·aria-hidden="true"></i>1043 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1061, 19 lines modifiedOffset 1061, 19 lines modified
1061 ··········<pre·translate="no"><span·class="attribute">-spec</span>·decode_continue(<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()·|·end_of_input,·Opaque·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->1061 ··········<pre·translate="no"><span·class="attribute">-spec</span>·decode_continue(<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()·|·end_of_input,·Opaque·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>())·->
1062 ·························{Result·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·Acc·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}·|1062 ·························{Result·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·Acc·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()}·|
1063 ·························{continue,·<a·href="#t:continuation_state/0">continuation_state</a>()}.</pre>1063 ·························{continue,·<a·href="#t:continuation_state/0">continuation_state</a>()}.</pre>
  
1064 ······</div>1064 ······</div>
  
1065 <p>Continue·parsing·a·stream·of·bytes·of·a·JSON·value.</p><p>Similar·to·<a·href="#decode_start/3"><code·class="inline">decode_start/3</code></a>,·if·the·function·returns·<code·class="inline">{continue,·State}</code>·and1065 <p>Continue·parsing·a·stream·of·bytes·of·a·JSON·value.</p><p>Similar·to·<a·href="#decode_start/3"><code·class="inline">decode_start/3</code></a>,·if·the·function·returns·<code·class="inline">{continue,·State}</code>·and
1066 there·is·no·more·data,·use·<code·class="inline">end_of_input</code>·instead·of·a·binary.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="0068924611-1">{</span><span·class="ss">continue</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="0068924611-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">decode_start</span><span·class="p"·data-group-id="0068924611-2">(</span><span·class="p"·data-group-id="0068924611-3">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:&quot;</span><span·class="p"·data-group-id="0068924611-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0068924611-4">#{</span><span·class="p"·data-group-id="0068924611-4">}</span><span·class="p"·data-group-id="0068924611-2">)</span><span·class="p">.</span><span·class="gp·unselectable"> 
1067 &gt;·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">decode_continue</span><span·class="p"·data-group-id="0068924611-5">(</span><span·class="p"·data-group-id="0068924611-6">&lt;&lt;</span><span·class="s">&quot;1}&quot;</span><span·class="p"·data-group-id="0068924611-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="0068924611-5">)</span><span·class="p">.</span><span·class="w"> 
1068 </span><span·class="p"·data-group-id="0068924611-7">{</span><span·class="p"·data-group-id="0068924611-8">#{</span><span·class="ss">foo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p[·...·truncated·by·diffoscope;·len:·1244,·SHA:·6f2a02c302783e91d2fa052661453000fd3ca544c0f340415ffd8ccdbdf1722b·...·]-2">)</span><span·class="p">.</span><span·class="gp·unselectable">1066 there·is·no·more·data,·use·<code·class="inline">end_of_input</code>·instead·of·a·binary.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="2032919300-1">{</span><span·class="ss">cont[·...·truncated·by·diffoscope;·len:·797,·SHA:·f9a5910b160135213cbf70527292c748ab771f8feee235ed5c271f51deffc20a·...·]-2">)</span><span·class="p">.</span><span·class="gp·unselectable">
 1067 &gt;·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">decode_continue</span><span·class="p"·data-group-id="2032919300-5">(</span><span·class="p"·data-group-id="2032919300-6">&lt;&lt;</span><span·class="s">&quot;1}&quot;</span><span·class="p"·data-group-id="2032919300-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="2032919300-5">)</span><span·class="p">.</span><span·class="w">
 1068 </span><span·class="p"·data-group-id="2032919300-7">{</span><span·class="p"·data-group-id="2032919300-8">#{</span><span·class="ss">foo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="2032919300-8">}</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2032919300-9">&lt;&lt;</span><span·class="p"·data-group-id="2032919300-9">&gt;&gt;</span><span·class="p"·data-group-id="2032919300-7">}</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="p"·data-group-id="2744870655-1">{</span><span·class="ss">continue</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="2744870655-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">decode_start</span><span·class="p"·data-group-id="2744870655-2">(</span><span·class="p"·data-group-id="2744870655-3">&lt;&lt;</span><span·class="s">&quot;123&quot;</span><span·class="p"·data-group-id="2744870655-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2744870655-4">#{</span><span·class="p"·data-group-id="2744870655-4">}</span><span·class="p"·data-group-id="2744870655-2">)</span><span·class="p">.</span><span·class="gp·unselectable">
1069 &gt;·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">decode_continue</span><span·class="p"·data-group-id="2049949927-5">(</span><span·class="ss">end_of_input</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="2049949927-5">)</span><span·class="p">.</span><span·class="w">1069 &gt;·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">decode_continue</span><span·class="p"·data-group-id="2744870655-5">(</span><span·class="ss">end_of_input</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="2744870655-5">)</span><span·class="p">.</span><span·class="w">
1070 </span><span·class="p"·data-group-id="2049949927-6">{</span><span·class="mi">123</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2049949927-7">&lt;&lt;</span><span·class="p"·data-group-id="2049949927-7">&gt;&gt;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·971181a7682673cf107e263ec687ea7900cbb846069e640dd60c9b25a6af7937·...·]-6">}</span></code></pre>1070 </span><span·class="p"·data-group-id="2744870655-6">{</span><span·class="mi">123</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2744870655-7">&lt;&lt;</span><span·class="p"·data-group-id="2744870655-7">&gt;&gt;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·7b269ac01142e13c6549f18c98a4dbd0f8d9ed2811d1a757c527eb89d3ea2d17·...·]-6">}</span></code></pre>
1071 ··</section>1071 ··</section>
1072 </section>1072 </section>
1073 <section·class="detail"·id="decode_start/3">1073 <section·class="detail"·id="decode_start/3">
  
1074 ··<div·class="detail-header">1074 ··<div·class="detail-header">
1075 ····<a·href="#decode_start/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1075 ····<a·href="#decode_start/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1076 ······<i·class="ri-link-m"·aria-hidden="true"></i>1076 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1131, 16 lines modifiedOffset 1131, 16 lines modified
  
1131 <p>Generates·JSON·corresponding·to·<code·class="inline">Term</code>.</p><p>Supports·basic·data·mapping:</p><table><thead><tr><th·style="text-align:·left;"><strong>Erlang</strong></th><th·style="text-align:·left;"><strong>JSON</strong></th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">integer()·|·float()</code></td><td·style="text-align:·left;">Number</td></tr><tr><td·style="text-align:·left;"><code·class="inline">true·|·false</code></td><td·style="text-align:·left;">Boolean</td></tr><tr><td·style="text-align:·left;"><code·class="inline">null</code></td><td·style="text-align:·left;">Null</td></tr><tr><td·style="text-align:·left;"><code·class="inline">binary()</code></td><td·style="text-align:·left;">String</td></tr><tr><td·style="text-align:·left;"><code·class="inline">atom()</code></td><td·style="text-align:·left;">String</td></tr><tr><td·style="text-align:·left;"><code·class="inline">list()</code></td><td·style="text-align:·left;">Array</td></tr><tr><td·style="text-align:·left;"><code·class="inline">#{binary()·=&gt;·_}</code></td><td·style="text-align:·left;">Object</td></tr><tr><td·style="text-align:·left;"><code·class="inline">#{atom()·=&gt;·_}</code></td><td·style="text-align:·left;">Object</td></tr><tr><td·style="text-align:·left;"><code·class="inline">#{integer()·=&gt;·_}</code></td><td·style="text-align:·left;">Object</td></tr></tbody></table><p>This·is·equivalent·to·<code·class="inline">encode(Term,·fun·json:encode_value/2)</code>.</p><h2·id="encode/1-examples"·class="section-heading">1131 <p>Generates·JSON·corresponding·to·<code·class="inline">Term</code>.</p><p>Supports·basic·data·mapping:</p><table><thead><tr><th·style="text-align:·left;"><strong>Erlang</strong></th><th·style="text-align:·left;"><strong>JSON</strong></th></tr></thead><tbody><tr><td·style="text-align:·left;"><code·class="inline">integer()·|·float()</code></td><td·style="text-align:·left;">Number</td></tr><tr><td·style="text-align:·left;"><code·class="inline">true·|·false</code></td><td·style="text-align:·left;">Boolean</td></tr><tr><td·style="text-align:·left;"><code·class="inline">null</code></td><td·style="text-align:·left;">Null</td></tr><tr><td·style="text-align:·left;"><code·class="inline">binary()</code></td><td·style="text-align:·left;">String</td></tr><tr><td·style="text-align:·left;"><code·class="inline">atom()</code></td><td·style="text-align:·left;">String</td></tr><tr><td·style="text-align:·left;"><code·class="inline">list()</code></td><td·style="text-align:·left;">Array</td></tr><tr><td·style="text-align:·left;"><code·class="inline">#{binary()·=&gt;·_}</code></td><td·style="text-align:·left;">Object</td></tr><tr><td·style="text-align:·left;"><code·class="inline">#{atom()·=&gt;·_}</code></td><td·style="text-align:·left;">Object</td></tr><tr><td·style="text-align:·left;"><code·class="inline">#{integer()·=&gt;·_}</code></td><td·style="text-align:·left;">Object</td></tr></tbody></table><p>This·is·equivalent·to·<code·class="inline">encode(Term,·fun·json:encode_value/2)</code>.</p><h2·id="encode/1-examples"·class="section-heading">
1132 ··<a·href="#encode/1-examples"·class="hover-link">1132 ··<a·href="#encode/1-examples"·class="hover-link">
1133 ····<i·class="ri-link-m"·aria-hidden="true"></i>1133 ····<i·class="ri-link-m"·aria-hidden="true"></i>
1134 ··</a>1134 ··</a>
1135 ··<span·class="text">Examples</span>1135 ··<span·class="text">Examples</span>
1136 </h2>1136 </h2>
1137 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">iolist_to_binary</span><span·class="p"·data-group-id="3857710716-1">(</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">encode</span><span·class="p"·data-group-id="3857710716-2">(</span><span·class="p"·data-group-id="3857710716-3">#{</span><span·class="ss">foo</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·363,·SHA:·1b730ae52194f151f347e738f94d2f4e95bf0c0a98b7e50b6ee199a1ece58aa5·...·]-1">)</span><span·class="p">.</span><span·class="w">1137 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">iolist_to_binary</span><span·class="p"·data-group-id="5245125511-1">(</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">encode</span><span·class="p"·data-group-id="5245125511-2">(</span><span·class="p"·data-group-id="5245125511-3">#{</span><span·class="ss">foo</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·363,·SHA:·a06be340bc91762d87e1f830c56d1d44d618611f08cd9f5811d71ae89d5a2610·...·]-1">)</span><span·class="p">.</span><span·class="w">
1138 </span><span·class="p"·data-group-id="3857710716-5">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:\&quot;bar\&quot;}&quot;</span><span·class="p"·data-group-id="3857710716-5">&gt;&gt;</span></code></pre>1138 </span><span·class="p"·data-group-id="5245125511-5">&lt;&lt;</span><span·class="s">&quot;{\&quot;foo\&quot;:\&quot;bar\&quot;}&quot;</span><span·class="p"·data-group-id="5245125511-5">&gt;&gt;</span></code></pre>
1139 ··</section>1139 ··</section>
1140 </section>1140 </section>
1141 <section·class="detail"·id="encode/2">1141 <section·class="detail"·id="encode/2">
  
1142 ··<div·class="detail-header">1142 ··<div·class="detail-header">
1143 ····<a·href="#encode/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1143 ····<a·href="#encode/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1144 ······<i·class="ri-link-m"·aria-hidden="true"></i>1144 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1171, 19 lines modifiedOffset 1171, 19 lines modified
1171 to·help·in·constructing·such·callbacks.</p><h2·id="encode/2-examples"·class="section-heading">1171 to·help·in·constructing·such·callbacks.</p><h2·id="encode/2-examples"·class="section-heading">
1172 ··<a·href="#encode/2-examples"·class="hover-link">1172 ··<a·href="#encode/2-examples"·class="hover-link">
1173 ····<i·class="ri-link-m"·aria-hidden="true"></i>1173 ····<i·class="ri-link-m"·aria-hidden="true"></i>
1174 ··</a>1174 ··</a>
1175 ··<span·class="text">Examples</span>1175 ··<span·class="text">Examples</span>
1176 </h2>1176 </h2>
1177 <p>An·encoder·that·uses·a·heuristic·to·differentiate·object-like1177 <p>An·encoder·that·uses·a·heuristic·to·differentiate·object-like
1178 lists·of·key-value·pairs·from·plain·lists:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">encoder</span><span·class="p"·data-group-id="5544380157-1">(</span><span·class="p"·data-group-id="5544380157-2">[</span><span·class="p"·data-group-id="5544380157-3">{</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="5[·...·truncated·by·diffoscope;·len:·772,·SHA:·da20b6a7fc14081e727b2769442d5dc2882381f1288d67115be17e737c92cb2f·...·]-4">)</span><span·class="p">;</span><span·class="gp·unselectable">1178 lists·of·key-value·pairs·from·plain·lists:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">encoder</span><span·class="p"·data-group-id="9770211579-1">(</span><span·class="p"·data-group-id="9770211579-2">[</span><span·class="p"·data-group-id="9770211579-3">{</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="9[·...·truncated·by·diffoscope;·len:·772,·SHA:·22b8f2fb88217688e26e74a7b4ae1ecd1f2900abcaf026b5635c5f5559a0f60a·...·]-4">)</span><span·class="p">;</span><span·class="gp·unselectable">
1179 &gt;·</span><span·class="nf">encoder</span><span·class="p"·data-group-id="5544380157-5">(</span><span·class="n">Other</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Encode</span><span·class="p"·data-group-id="5544380157-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·287,·SHA:·8b57217b1379d58c136b9e5750d11ee116d454ad7a29c4cc16202debc22bb783·...·]-6">)</span><span·class="p">.</span><span·class="gp·unselectable">1179 &gt;·</span><span·class="nf">encoder</span><span·class="p"·data-group-id="9770211579-5">(</span><span·class="n">Other</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Encode</span><span·class="p"·data-group-id="9770211579-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·287,·SHA:·9dbe8d2a5546af0bde237c4c1a88e8f4b6af94338d4fd47ba8900909fa176c89·...·]-6">)</span><span·class="p">.</span><span·class="gp·unselectable">
1180 &gt;·</span><span·class="nf">custom_encode</span><span·class="p"·data-group-id="5544380157-7">(</span><span·class="n">Value</span><span·class="p"·data-group-id="5544380157-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">encode</[·...·truncated·by·diffoscope;·len:·783,·SHA:·4c6566767f8c07128ec75b5322bee86db31a4be96f8699ee51df08b90d6b5579·...·]-8">)</span><span·class="p">.</span><span·class="gp·unselectable">1180 &gt;·</span><span·class="nf">custom_encode</span><span·class="p"·data-group-id="9770211579-7">(</span><span·class="n">Value</span><span·class="p"·data-group-id="9770211579-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">encode</[·...·truncated·by·diffoscope;·len:·783,·SHA:·74e810f72e28ec1673bba7ed44ae4b9f5670e453f0af6bedc6e812edb74bbce0·...·]-8">)</span><span·class="p">.</span><span·class="gp·unselectable">
1181 &gt;·</span><span·class="nf">iolist_to_binary</span><span·class="p"·data-group-id="5544380157-11">(</span><span·class="nf">custom_encode</span><span·class="p"·data-group-id="5544380157-12">(</span><span·class="p"·data-group-id="5544380157-13">[</span><span·class="p"·data-group-id="5544380157-14">{</span><span·class="ss">a</span><span·cla[·...·truncated·by·diffoscope;·len:·604,·SHA:·60784a437d385ce4e2eed5b065e61ba917f334307d235cdba222dbe3a328f0e9·...·]-11">)</span><span·class="p">.</span><span·class="w">1181 &gt;·</span><span·class="nf">iolist_to_binary</span><span·class="p"·data-group-id="9770211579-11">(</span><span·class="nf">custom_encode</span><span·class="p"·data-group-id="9770211579-12">(</span><span·class="p"·data-group-id="9770211579-13">[</span><span·class="p"·data-group-id="9770211579-14">{</span><span·class="ss">a</span><span·cla[·...·truncated·by·diffoscope;·len:·604,·SHA:·3732cac0bc744ee9f52d67f44a1ce84938a6809ab51542422c171f5bb25e2de3·...·]-11">)</span><span·class="p">.</span><span·class="w">
1182 </span><span·class="p"·data-group-id="5544380157-17">&lt;&lt;</span><span·class="s">&quot;{\&quot;a\&quot;:[],\&quot;b\&quot;:1}&quot;</span><span·class="p"·data-group-id="5544380157-17">&gt;&gt;</span></code></pre>1182 </span><span·class="p"·data-group-id="9770211579-17">&lt;&lt;</span><span·class="s">&quot;{\&quot;a\&quot;:[],\&quot;b\&quot;:1}&quot;</span><span·class="p"·data-group-id="9770211579-17">&gt;&gt;</span></code></pre>
1183 ··</section>1183 ··</section>
1184 </section>1184 </section>
1185 <section·class="detail"·id="encode_atom/2">1185 <section·class="detail"·id="encode_atom/2">
  
1186 ··<div·class="detail-header">1186 ··<div·class="detail-header">
1187 ····<a·href="#encode_atom/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1187 ····<a·href="#encode_atom/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1188 ······<i·class="ri-link-m"·aria-hidden="true"></i>1188 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1542, 19 lines modifiedOffset 1542, 19 lines modified
  
1542 ······<div·class="specs">1542 ······<div·class="specs">
  
1543 ··········<pre·translate="no"><span·class="attribute">-spec</span>·format(Term·::·<a·href="#t:encode_value/0">encode_value</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>1543 ··········<pre·translate="no"><span·class="attribute">-spec</span>·format(Term·::·<a·href="#t:encode_value/0">encode_value</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>
  
1544 ······</div>1544 ······</div>
  
1545 <p>Generates·formatted·JSON·corresponding·to·<code·class="inline">Term</code>.</p><p>Similiar·to·<a·href="#encode/1"><code·class="inline">encode/1</code></a>·but·with·added·whitespaces·for·formatting.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="8035562171-1">(</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8035562171-2">(</span><span·class="p"·data-group-id="8035562171-3">#{</span><span·class="ss">foo</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·539,·SHA:·cdb533a2bf2564b0d7da2b74d9ab6eca2436a94a78af168e7164d4ff93fd73a3·...·]-1">)</span><span·class="p">.</span><span·class="w">1545 <p>Generates·formatted·JSON·corresponding·to·<code·class="inline">Term</code>.</p><p>Similiar·to·<a·href="#encode/1"><code·class="inline">encode/1</code></a>·but·with·added·whitespaces·for·formatting.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="8837492797-1">(</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8837492797-2">(</span><span·class="p"·data-group-id="8837492797-3">#{</span><span·class="ss">foo</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·539,·SHA:·c7d11b34b37b2fcca12878948825dbab4ff650acca0afe978f12a5b3879d1f42·...·]-1">)</span><span·class="p">.</span><span·class="w">
1546 </span><span·class="p"·data-group-id="8035562171-5">{</span><span·class="w">1546 </span><span·class="p"·data-group-id="8837492797-5">{</span><span·class="w">
1547 ··</span><span·class="s">&quot;baz&quot;</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">52</span><span·class="p">,</span><span·class="w">1547 ··</span><span·class="s">&quot;baz&quot;</span><span·class="p">:</span><span·class="w">·</span><span·class="mi">52</span><span·class="p">,</span><span·class="w">
1548 ··</span><span·class="s">&quot;foo&quot;</span><span·class="p">:</span><span·class="w">·</span><span·class="s">&quot;bar&quot;</span><span·class="w">1548 ··</span><span·class="s">&quot;foo&quot;</span><span·class="p">:</span><span·class="w">·</span><span·class="s">&quot;bar&quot;</span><span·class="w">
1549 </span><span·class="p"·data-group-id="8035562171-5">}</span><span·class="w">1549 </span><span·class="p"·data-group-id="8837492797-5">}</span><span·class="w">
1550 </span><span·class="ss">ok</span></code></pre>1550 </span><span·class="ss">ok</span></code></pre>
1551 ··</section>1551 ··</section>
1552 </section>1552 </section>
1553 <section·class="detail"·id="format/2">1553 <section·class="detail"·id="format/2">
  
1554 ··<div·class="detail-header">1554 ··<div·class="detail-header">
1555 ····<a·href="#format/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1555 ····<a·href="#format/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1607, 28 lines modifiedOffset 1607, 28 lines modified
1607 ··········<pre·translate="no"><span·class="attribute">-spec</span>·format(Term·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·Encoder·::·<a·href="#t:formatter/0">formatter</a>(),·Options·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:map/0">map</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>1607 ··········<pre·translate="no"><span·class="attribute">-spec</span>·format(Term·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:dynamic/0">dynamic</a>(),·Encoder·::·<a·href="#t:formatter/0">formatter</a>(),·Options·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:map/0">map</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>
  
1608 ······</div>1608 ······</div>
  
1609 <p>Generates·formatted·JSON·corresponding·to·<code·class="inline">Term</code>.</p><p>Similar·to·<a·href="#encode/2"><code·class="inline">encode/2</code></a>,·can·be·customised·with·the·<code·class="inline">Encoder</code>·callback·and·<code·class="inline">Options</code>.</p><p><code·class="inline">Options</code>·can·include·'indent'·to·specify·number·of·spaces·per·level·and·'max'·which·loosely·limits1609 <p>Generates·formatted·JSON·corresponding·to·<code·class="inline">Term</code>.</p><p>Similar·to·<a·href="#encode/2"><code·class="inline">encode/2</code></a>,·can·be·customised·with·the·<code·class="inline">Encoder</code>·callback·and·<code·class="inline">Options</code>.</p><p><code·class="inline">Options</code>·can·include·'indent'·to·specify·number·of·spaces·per·level·and·'max'·which·loosely·limits
1610 the·width·of·lists.</p><p>The·<code·class="inline">Encoder</code>·will·get·a·'State'·argument·which·contains·the·'Options'·maps·merged·with·other·data1610 the·width·of·lists.</p><p>The·<code·class="inline">Encoder</code>·will·get·a·'State'·argument·which·contains·the·'Options'·maps·merged·with·other·data
1611 when·recursing·through·'Term'.</p><p><a·href="#format_value/3"><code·class="inline">format_value/3</code></a>·or·various·<code·class="inline">encode_*</code>·functions·in·this·module·can·be·used1611 when·recursing·through·'Term'.</p><p><a·href="#format_value/3"><code·class="inline">format_value/3</code></a>·or·various·<code·class="inline">encode_*</code>·functions·in·this·module·can·be·used
1612 to·help·in·constructing·such·callbacks.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">formatter</span><span·class="p"·data-group-id="9429625237-1">(</span><span·class="p"·data-group-id="9429625237-2">{</span><span·class="ss">posix_time</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SysTimeSecs</span><span·class="p"·data-group-id="9429625237-2">}</span><span·class=[·...·truncated·by·diffoscope;·len:·182,·SHA:·2838d9bb04cde08ca3d72c6d9425646cc71795e640ba07930d604522a5c4fd56·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1612 to·help·in·constructing·such·callbacks.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">formatter</span><span·class="p"·data-group-id="1003849773-1">(</span><span·class="p"·data-group-id="1003849773-2">{</span><span·class="ss">posix_time</span><span·class="p">,</span><span·class="w">·</span><span·class="n">SysTimeSecs</span><span·class="p"·data-group-id="1003849773-2">}</span><span·class=[·...·truncated·by·diffoscope;·len:·182,·SHA:·2d2ce91254441415754d485d71506109d1a50cb8fb85769106ff162efb7e0fd4·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1613 ····</span><span·class="n">TimeStr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="9429625237-3">(</span><span·class="n">SysTimeSecs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9429625237-4">[</span><span·class="p"·data-group-id="9429625237-5">{</span><span·class="ss">offset</span><span·class="p">[·...·truncated·by·diffoscope;·len:·215,·SHA:·5c06879c42b3b84ad8fc915e0d154f1581e84ff3d0908377217930df52240f43·...·]-3">)</span><span·class="p">,</span><span·class="w">1613 ····</span><span·class="n">TimeStr</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">system_time_to_rfc3339</span><span·class="p"·data-group-id="1003849773-3">(</span><span·class="n">SysTimeSecs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1003849773-4">[</span><span·class="p"·data-group-id="1003849773-5">{</span><span·class="ss">offset</span><span·class="p">[·...·truncated·by·diffoscope;·len:·215,·SHA:·384b52c6a428e8db3e390f4aa9815365f838c36d21bf48a0ecacf50cd446da6a·...·]-3">)</span><span·class="p">,</span><span·class="w">
1614 ····</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">format_value</span><span·class="p"·data-group-id="9429625237-6">(</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_binary</span><span·class="p"·data-group-id="9429625237-7">(</span><span·class="n">TimeStr</span><span·class="p"·data-group-id="9429625237-7">)</span[·...·truncated·by·diffoscope;·len:·195,·SHA:·e93294205b1ac1c0ef6c27510ec2542e3caa7dfb2d575e7dbc3dc540fcca713f·...·]-6">)</span><span·class="p">;</span><span·class="gp·unselectable">1614 ····</span><span·class="nc">json</span><span·class="p">:</span><span·class="nf">format_value</span><span·class="p"·data-group-id="1003849773-6">(</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_binary</span><span·class="p"·data-group-id="1003849773-7">(</span><span·class="n">TimeStr</span><span·class="p"·data-group-id="1003849773-7">)</span[·...·truncated·by·diffoscope;·len:·195,·SHA:·da591a107b44861e094bf0e1f6d3a6ba7f24f04d0cad440d4d45b999e50aaa03·...·]-6">)</span><span·class="p">;</span><span·class="gp·unselectable">
1615 &gt;·</span><span·class="nf">formatter</span><span·class="p"·data-group-id="9429625237-8">(</span><span·class="n">Other</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Encode</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="9429625237-8">)</span>[·...·truncated·by·diffoscope;·len:·439,·SHA:·2863b47c4bdf7858de405396ed85dc18da6c40a2f11c248dbcc3faafe9b213e2·...·]-9">)</span><span·class="p">.</span><span·class="w">1615 &gt;·</span><span·class="nf">formatter</span><span·class="p"·data-group-id="1003849773-8">(</span><span·class="n">Other</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Encode</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="1003849773-8">)</span>[·...·truncated·by·diffoscope;·len:·439,·SHA:·b4e7e85a7eebdfaa0695b1b87b2134617c94c595c575426f7f859db389a258b1·...·]-9">)</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 7517/49602 bytes (15.15%) of diff not shown.
671 B
html2text {}
Max HTML report size reached
399 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/lists.html
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/log_mf_h.html
    
Offset 443, 15 lines modifiedOffset 443, 15 lines modified
443 ······<p·class="built-using">443 ······<p·class="built-using">
444 ········Built·using444 ········Built·using
445 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the445 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
446 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>446 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
447 ······</p>447 ······</p>
448 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>448 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
449 ····</footer>449 ····</footer>
450 ··</div>450 ··</div>
451 </main>451 </main>
452 </div>452 </div>
453 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>453 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
454 ··<script>454 ··<script>
455 ··let·initialized·=·false;455 ··let·initialized·=·false;
784 B
html2text {}
Max HTML report size reached
203 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/maps.html
Max HTML report size reached
42.6 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/math.html
    
Offset 445, 15 lines modifiedOffset 445, 15 lines modified
  
445 <p>Returns·the·arc·cosine·of·<code·class="inline">X</code>·in·radians.</p><h2·id="acos/1-examples"·class="section-heading">445 <p>Returns·the·arc·cosine·of·<code·class="inline">X</code>·in·radians.</p><h2·id="acos/1-examples"·class="section-heading">
446 ··<a·href="#acos/1-examples"·class="hover-link">446 ··<a·href="#acos/1-examples"·class="hover-link">
447 ····<i·class="ri-link-m"·aria-hidden="true"></i>447 ····<i·class="ri-link-m"·aria-hidden="true"></i>
448 ··</a>448 ··</a>
449 ··<span·class="text">Examples</span>449 ··<span·class="text">Examples</span>
450 </h2>450 </h2>
451 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">acos</span><span·class="p"·data-group-id="6991455704-1">(</span><span·class="mf">1.0</span><span·class="p"·data-group-id="6991455704-1">)</span><span·class="p">.</span><span·class="w">451 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">acos</span><span·class="p"·data-group-id="7826123852-1">(</span><span·class="mf">1.0</span><span·class="p"·data-group-id="7826123852-1">)</span><span·class="p">.</span><span·class="w">
452 </span><span·class="mf">0.0</span></code></pre>452 </span><span·class="mf">0.0</span></code></pre>
453 ··</section>453 ··</section>
454 </section>454 </section>
455 <section·class="detail"·id="acosh/1">455 <section·class="detail"·id="acosh/1">
  
456 ··<div·class="detail-header">456 ··<div·class="detail-header">
457 ····<a·href="#acosh/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">457 ····<a·href="#acosh/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 478, 15 lines modifiedOffset 478, 15 lines modified
  
478 <p>Returns·the·inverse·hyperbolic·cosine·of·<code·class="inline">X</code>.</p><h2·id="acosh/1-examples"·class="section-heading">478 <p>Returns·the·inverse·hyperbolic·cosine·of·<code·class="inline">X</code>.</p><h2·id="acosh/1-examples"·class="section-heading">
479 ··<a·href="#acosh/1-examples"·class="hover-link">479 ··<a·href="#acosh/1-examples"·class="hover-link">
480 ····<i·class="ri-link-m"·aria-hidden="true"></i>480 ····<i·class="ri-link-m"·aria-hidden="true"></i>
481 ··</a>481 ··</a>
482 ··<span·class="text">Examples</span>482 ··<span·class="text">Examples</span>
483 </h2>483 </h2>
484 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">acosh</span><span·class="p"·data-group-id="0236025384-1">(</span><span·class="mf">1.0</span><span·class="p"·data-group-id="0236025384-1">)</span><span·class="p">.</span><span·class="w">484 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">acosh</span><span·class="p"·data-group-id="2955731757-1">(</span><span·class="mf">1.0</span><span·class="p"·data-group-id="2955731757-1">)</span><span·class="p">.</span><span·class="w">
485 </span><span·class="mf">0.0</span></code></pre>485 </span><span·class="mf">0.0</span></code></pre>
486 ··</section>486 ··</section>
487 </section>487 </section>
488 <section·class="detail"·id="asin/1">488 <section·class="detail"·id="asin/1">
  
489 ··<div·class="detail-header">489 ··<div·class="detail-header">
490 ····<a·href="#asin/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">490 ····<a·href="#asin/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 511, 15 lines modifiedOffset 511, 15 lines modified
  
511 <p>Returns·the·arc·cosine·of·<code·class="inline">X</code>·in·radians.</p><h2·id="asin/1-examples"·class="section-heading">511 <p>Returns·the·arc·cosine·of·<code·class="inline">X</code>·in·radians.</p><h2·id="asin/1-examples"·class="section-heading">
512 ··<a·href="#asin/1-examples"·class="hover-link">512 ··<a·href="#asin/1-examples"·class="hover-link">
513 ····<i·class="ri-link-m"·aria-hidden="true"></i>513 ····<i·class="ri-link-m"·aria-hidden="true"></i>
514 ··</a>514 ··</a>
515 ··<span·class="text">Examples</span>515 ··<span·class="text">Examples</span>
516 </h2>516 </h2>
517 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">asin</span><span·class="p"·data-group-id="9188524216-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="9188524216-1">)</span><span·class="p">.</span><span·class="w">517 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">asin</span><span·class="p"·data-group-id="7327842697-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="7327842697-1">)</span><span·class="p">.</span><span·class="w">
518 </span><span·class="mf">0.0</span></code></pre>518 </span><span·class="mf">0.0</span></code></pre>
519 ··</section>519 ··</section>
520 </section>520 </section>
521 <section·class="detail"·id="asinh/1">521 <section·class="detail"·id="asinh/1">
  
522 ··<div·class="detail-header">522 ··<div·class="detail-header">
523 ····<a·href="#asinh/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">523 ····<a·href="#asinh/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 544, 15 lines modifiedOffset 544, 15 lines modified
  
544 <p>Returns·the·inverse·hyperbolic·sine·of·<code·class="inline">X</code>.</p><h2·id="asinh/1-examples"·class="section-heading">544 <p>Returns·the·inverse·hyperbolic·sine·of·<code·class="inline">X</code>.</p><h2·id="asinh/1-examples"·class="section-heading">
545 ··<a·href="#asinh/1-examples"·class="hover-link">545 ··<a·href="#asinh/1-examples"·class="hover-link">
546 ····<i·class="ri-link-m"·aria-hidden="true"></i>546 ····<i·class="ri-link-m"·aria-hidden="true"></i>
547 ··</a>547 ··</a>
548 ··<span·class="text">Examples</span>548 ··<span·class="text">Examples</span>
549 </h2>549 </h2>
550 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">asinh</span><span·class="p"·data-group-id="3286839020-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="3286839020-1">)</span><span·class="p">.</span><span·class="w">550 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">asinh</span><span·class="p"·data-group-id="0363750793-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="0363750793-1">)</span><span·class="p">.</span><span·class="w">
551 </span><span·class="mf">0.0</span></code></pre>551 </span><span·class="mf">0.0</span></code></pre>
552 ··</section>552 ··</section>
553 </section>553 </section>
554 <section·class="detail"·id="atan2/2">554 <section·class="detail"·id="atan2/2">
  
555 ··<div·class="detail-header">555 ··<div·class="detail-header">
556 ····<a·href="#atan2/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">556 ····<a·href="#atan2/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 578, 15 lines modifiedOffset 578, 15 lines modified
578 <p>Returns·the·arc·tangent·of·<code·class="inline">Y</code>/<code·class="inline">X</code>·in·radians,·using·the·signs·of·both578 <p>Returns·the·arc·tangent·of·<code·class="inline">Y</code>/<code·class="inline">X</code>·in·radians,·using·the·signs·of·both
579 arguments·to·determine·the·quadrant·of·the·return·value.</p><h2·id="atan2/2-examples"·class="section-heading">579 arguments·to·determine·the·quadrant·of·the·return·value.</p><h2·id="atan2/2-examples"·class="section-heading">
580 ··<a·href="#atan2/2-examples"·class="hover-link">580 ··<a·href="#atan2/2-examples"·class="hover-link">
581 ····<i·class="ri-link-m"·aria-hidden="true"></i>581 ····<i·class="ri-link-m"·aria-hidden="true"></i>
582 ··</a>582 ··</a>
583 ··<span·class="text">Examples</span>583 ··<span·class="text">Examples</span>
584 </h2>584 </h2>
585 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">atan2</span><span·class="p"·data-group-id="8488033518-1">(</span><span·class="mf">0.0</span><span·class="p">,</span><span·class="w">·</span><span·class="o">-</span><span·class="mf">10.0</span><span·class="p"·data-group-id="8488033518-1">)</span><span·class="p">.</span><span·class="w">585 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">atan2</span><span·class="p"·data-group-id="4722568551-1">(</span><span·class="mf">0.0</span><span·class="p">,</span><span·class="w">·</span><span·class="o">-</span><span·class="mf">10.0</span><span·class="p"·data-group-id="4722568551-1">)</span><span·class="p">.</span><span·class="w">
586 </span><span·class="mf">3.141592653589793</span></code></pre>586 </span><span·class="mf">3.141592653589793</span></code></pre>
587 ··</section>587 ··</section>
588 </section>588 </section>
589 <section·class="detail"·id="atan/1">589 <section·class="detail"·id="atan/1">
  
590 ··<div·class="detail-header">590 ··<div·class="detail-header">
591 ····<a·href="#atan/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">591 ····<a·href="#atan/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 611, 15 lines modifiedOffset 611, 15 lines modified
  
611 <p>Returns·the·arc·tangent·of·<code·class="inline">X</code>·in·radians.</p><h2·id="atan/1-examples"·class="section-heading">611 <p>Returns·the·arc·tangent·of·<code·class="inline">X</code>·in·radians.</p><h2·id="atan/1-examples"·class="section-heading">
612 ··<a·href="#atan/1-examples"·class="hover-link">612 ··<a·href="#atan/1-examples"·class="hover-link">
613 ····<i·class="ri-link-m"·aria-hidden="true"></i>613 ····<i·class="ri-link-m"·aria-hidden="true"></i>
614 ··</a>614 ··</a>
615 ··<span·class="text">Examples</span>615 ··<span·class="text">Examples</span>
616 </h2>616 </h2>
617 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">atan</span><span·class="p"·data-group-id="6650590577-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="6650590577-1">)</span><span·class="p">.</span><span·class="w">617 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">atan</span><span·class="p"·data-group-id="6735829392-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="6735829392-1">)</span><span·class="p">.</span><span·class="w">
618 </span><span·class="mf">0.0</span></code></pre>618 </span><span·class="mf">0.0</span></code></pre>
619 ··</section>619 ··</section>
620 </section>620 </section>
621 <section·class="detail"·id="atanh/1">621 <section·class="detail"·id="atanh/1">
  
622 ··<div·class="detail-header">622 ··<div·class="detail-header">
623 ····<a·href="#atanh/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">623 ····<a·href="#atanh/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 644, 15 lines modifiedOffset 644, 15 lines modified
  
644 <p>Returns·the·inverse·hyperbolic·tangent·of·<code·class="inline">X</code>.</p><h2·id="atanh/1-examples"·class="section-heading">644 <p>Returns·the·inverse·hyperbolic·tangent·of·<code·class="inline">X</code>.</p><h2·id="atanh/1-examples"·class="section-heading">
645 ··<a·href="#atanh/1-examples"·class="hover-link">645 ··<a·href="#atanh/1-examples"·class="hover-link">
646 ····<i·class="ri-link-m"·aria-hidden="true"></i>646 ····<i·class="ri-link-m"·aria-hidden="true"></i>
647 ··</a>647 ··</a>
648 ··<span·class="text">Examples</span>648 ··<span·class="text">Examples</span>
649 </h2>649 </h2>
650 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">atanh</span><span·class="p"·data-group-id="6265638871-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="6265638871-1">)</span><span·class="p">.</span><span·class="w">650 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">atanh</span><span·class="p"·data-group-id="9690238081-1">(</span><span·class="mf">0.0</span><span·class="p"·data-group-id="9690238081-1">)</span><span·class="p">.</span><span·class="w">
651 </span><span·class="mf">0.0</span></code></pre>651 </span><span·class="mf">0.0</span></code></pre>
652 ··</section>652 ··</section>
653 </section>653 </section>
654 <section·class="detail"·id="ceil/1">654 <section·class="detail"·id="ceil/1">
  
655 ··<div·class="detail-header">655 ··<div·class="detail-header">
656 ····<a·href="#ceil/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">656 ····<a·href="#ceil/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 679, 19 lines modifiedOffset 679, 19 lines modified
  
679 <p>Returns·the·ceiling·of·<code·class="inline">X</code>.</p><h2·id="ceil/1-examples"·class="section-heading">679 <p>Returns·the·ceiling·of·<code·class="inline">X</code>.</p><h2·id="ceil/1-examples"·class="section-heading">
680 ··<a·href="#ceil/1-examples"·class="hover-link">680 ··<a·href="#ceil/1-examples"·class="hover-link">
681 ····<i·class="ri-link-m"·aria-hidden="true"></i>681 ····<i·class="ri-link-m"·aria-hidden="true"></i>
682 ··</a>682 ··</a>
683 ··<span·class="text">Examples</span>683 ··<span·class="text">Examples</span>
684 </h2>684 </h2>
685 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">ceil</span><span·class="p"·data-group-id="7519561545-1">(</span><span·class="mf">7.5</span><span·class="p"·data-group-id="7519561545-1">)</span><span·class="p">.</span><span·class="w">685 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">ceil</span><span·class="p"·data-group-id="9590206898-1">(</span><span·class="mf">7.5</span><span·class="p"·data-group-id="9590206898-1">)</span><span·class="p">.</span><span·class="w">
686 </span><span·class="mf">8.0</span><span·class="gp·unselectable">686 </span><span·class="mf">8.0</span><span·class="gp·unselectable">
687 2&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">ceil</span><span·class="p"·data-group-id="7519561545-2">(</span><span·class="o">-</span><span·class="mf">5.5</span><span·class="p"·data-group-id="7519561545-2">)</span><span·class="p">.</span><span·class="w">687 2&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">ceil</span><span·class="p"·data-group-id="9590206898-2">(</span><span·class="o">-</span><span·class="mf">5.5</span><span·class="p"·data-group-id="9590206898-2">)</span><span·class="p">.</span><span·class="w">
688 </span><span·class="o">-</span><span·class="mf">5.0</span><span·class="gp·unselectable">688 </span><span·class="o">-</span><span·class="mf">5.0</span><span·class="gp·unselectable">
689 3&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">ceil</span><span·class="p"·data-group-id="7519561545-3">(</span><span·class="mf">1.0</span><span·class="p"·data-group-id="7519561545-3">)</span><span·class="p">.</span><span·class="w">689 3&gt;·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">ceil</span><span·class="p"·data-group-id="9590206898-3">(</span><span·class="mf">1.0</span><span·class="p"·data-group-id="9590206898-3">)</span><span·class="p">.</span><span·class="w">
690 </span><span·class="mf">1.0</span></code></pre>690 </span><span·class="mf">1.0</span></code></pre>
691 ··</section>691 ··</section>
692 </section>692 </section>
Max diff block lines reached; 31667/43041 bytes (73.57%) of diff not shown.
467 B
html2text {}
Max HTML report size reached
141 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/ms_transform.html
    
Offset 150, 55 lines modifiedOffset 150, 55 lines modified
150 ··</a>150 ··</a>
151 ··<span·class="text">Example·1</span>151 ··<span·class="text">Example·1</span>
152 </h2>152 </h2>
153 <p>Using·<a·href="ets.html#select/2"><code·class="inline">ets:select/2</code></a>·and·a·match·specification,·one·can·filter·out·rows·of·a153 <p>Using·<a·href="ets.html#select/2"><code·class="inline">ets:select/2</code></a>·and·a·match·specification,·one·can·filter·out·rows·of·a
154 table·and·construct·a·list·of·tuples·containing·relevant·parts·of·the·data·in154 table·and·construct·a·list·of·tuples·containing·relevant·parts·of·the·data·in
155 these·rows.·One·can·use·<a·href="ets.html#foldl/3"><code·class="inline">ets:foldl/3</code></a>·instead,·but·the·<a·href="ets.html#select/2"><code·class="inline">ets:select/2</code></a>·call·is155 these·rows.·One·can·use·<a·href="ets.html#foldl/3"><code·class="inline">ets:foldl/3</code></a>·instead,·but·the·<a·href="ets.html#select/2"><code·class="inline">ets:select/2</code></a>·call·is
156 far·more·efficient.·Without·the·translation·provided·by·<code·class="inline">ms_transform</code>,·one·must156 far·more·efficient.·Without·the·translation·provided·by·<code·class="inline">ms_transform</code>,·one·must
157 struggle·with·writing·match·specifications·terms·to·accommodate·this.</p><p>Consider·a·simple·table·of·employees:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="3450984801-1">(</span><span·class="ss">emp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3450984801-2">{</span><span·class="ss">empno</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%Employee·number·as·a·string,·the·key</span><span·class="w">157 struggle·with·writing·match·specifications·terms·to·accommodate·this.</p><p>Consider·a·simple·table·of·employees:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="4515346192-1">(</span><span·class="ss">emp</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4515346192-2">{</span><span·class="ss">empno</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%Employee·number·as·a·string,·the·key</span><span·class="w">
158 ··············</span><span·class="ss">surname</span><span·class="p">,</span><span·class="w">···</span><span·class="c1">%Surname·of·the·employee</span><span·class="w">158 ··············</span><span·class="ss">surname</span><span·class="p">,</span><span·class="w">···</span><span·class="c1">%Surname·of·the·employee</span><span·class="w">
159 ··············</span><span·class="ss">givenname</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%Given·name·of·employee</span><span·class="w">159 ··············</span><span·class="ss">givenname</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%Given·name·of·employee</span><span·class="w">
160 ··············</span><span·class="ss">dept</span><span·class="p">,</span><span·class="w">······</span><span·class="c1">%Department,·one·of·{dev,sales,prod,adm}</span><span·class="w">160 ··············</span><span·class="ss">dept</span><span·class="p">,</span><span·class="w">······</span><span·class="c1">%Department,·one·of·{dev,sales,prod,adm}</span><span·class="w">
161 ··············</span><span·class="ss">empyear</span><span·class="p"·data-group-id="3450984801-2">}</span><span·class="p"·data-group-id="3450984801-1">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%Year·the·employee·was·employed</span></code></pre><p>We·create·the·table·using:</p><pre><code·class="text">ets:new([·...·truncated·by·diffoscope;·len:·641,·SHA:·e1cacde38ee4354d726841d0f0204b30977d080ef1bb7982b2a270bddc5a964d·...·]-2">}</span><span·class="p">,</span><span·class="w">161 ··············</span><span·class="ss">empyear</span><span·class="p"·data-group-id="4515346192-2">}</span><span·class="p"·data-group-id="4515346192-1">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%Year·the·employee·was·employed</span></code></pre><p>We·create·the·table·using:</p><pre><code·class="text">ets:new([·...·truncated·by·diffoscope;·len:·641,·SHA:·37b78b4efb51fd438d65a7d17f112d3fb6d893b0a90b6aca369f1bc8f6106b56·...·]-2">}</span><span·class="p">,</span><span·class="w">
162 ·</span><span·class="p"·data-group-id="0181100003-3">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;041231&quot;</span><span·class="p">,</span><span·class="s">&quot;Doe&quot;</span><span·class="p">,</span><span·class="s">&quot;John&quot;</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·128,·SHA:·dfe446223673307794524ed793b521660aa930e6a62d61f98901caf0557a502f·...·]-3">}</span><span·class="p">,</span><span·class="w">162 ·</span><span·class="p"·data-group-id="7638093564-3">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;041231&quot;</span><span·class="p">,</span><span·class="s">&quot;Doe&quot;</span><span·class="p">,</span><span·class="s">&quot;John&quot;</span><span·class="p">,[·...·truncated·by·diffoscope;·len:·128,·SHA:·0985019410442d43051baca8ca2f41a76b0eef5c4ff0b6609d6b4787bd7ba516·...·]-3">}</span><span·class="p">,</span><span·class="w">
163 ·</span><span·class="p"·data-group-id="0181100003-4">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;052341&quot;</span><span·class="p">,</span><span·class="s">&quot;Smith&quot;</span><span·class="p">,</span><span·class="s">&quot;John&quot;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·129,·SHA:·9132daf174eeef369078e982b3aea725475a6f9cb6f68c5717a68a5e7b7ef9cd·...·]-4">}</span><span·class="p">,</span><span·class="w">163 ·</span><span·class="p"·data-group-id="7638093564-4">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;052341&quot;</span><span·class="p">,</span><span·class="s">&quot;Smith&quot;</span><span·class="p">,</span><span·class="s">&quot;John&quot;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·129,·SHA:·316503a52cc7bc8c5553e5ce72463a57b16fabe8cf006a1d53a02e910fe67f31·...·]-4">}</span><span·class="p">,</span><span·class="w">
164 ·</span><span·class="p"·data-group-id="0181100003-5">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;076324&quot;</span><span·class="p">,</span><span·class="s">&quot;Smith&quot;</span><span·class="p">,</span><span·class="s">&quot;Ella&quot;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·131,·SHA:·deed86eb2622086d8c713c7e2e28eef45f6ee4caa49030c3e97f1937ce1ff8b0·...·]-5">}</span><span·class="p">,</span><span·class="w">164 ·</span><span·class="p"·data-group-id="7638093564-5">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;076324&quot;</span><span·class="p">,</span><span·class="s">&quot;Smith&quot;</span><span·class="p">,</span><span·class="s">&quot;Ella&quot;</span><span·class="p"[·...·truncated·by·diffoscope;·len:·131,·SHA:·edea71251dc35c2c09b8827ef13344a44c8bed110d31b897dde2a848a9e15c94·...·]-5">}</span><span·class="p">,</span><span·class="w">
165 ·</span><span·class="p"·data-group-id="0181100003-6">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;122334&quot;</span><span·class="p">,</span><span·class="s">&quot;Weston&quot;</span><span·class="p">,</span><span·class="s">&quot;Anna&quot;</span><span·class="p[·...·truncated·by·diffoscope;·len:·131,·SHA:·c9b0ab75a9ea6c84fb8de5a1a8f4f8f5d5afa6ad6f45927c9791a81c591493fd·...·]-6">}</span><span·class="p">,</span><span·class="w">165 ·</span><span·class="p"·data-group-id="7638093564-6">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;122334&quot;</span><span·class="p">,</span><span·class="s">&quot;Weston&quot;</span><span·class="p">,</span><span·class="s">&quot;Anna&quot;</span><span·class="p[·...·truncated·by·diffoscope;·len:·131,·SHA:·1aa72a7d112dd4d96e4b840f6a34b5dabd1fbffbb97a1662adc55595e86e6c9c·...·]-6">}</span><span·class="p">,</span><span·class="w">
166 ·</span><span·class="p"·data-group-id="0181100003-7">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;535216&quot;</span><span·class="p">,</span><span·class="s">&quot;Chalker&quot;</span><span·class="p">,</span><span·class="s">&quot;Samuel&quot;</span><span·class[·...·truncated·by·diffoscope;·len:·133,·SHA:·09ed1f3917790753becdac35d96e8d177031ad8cd8879accafa707f47ef126d3·...·]-7">}</span><span·class="p">,</span><span·class="w">166 ·</span><span·class="p"·data-group-id="7638093564-7">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;535216&quot;</span><span·class="p">,</span><span·class="s">&quot;Chalker&quot;</span><span·class="p">,</span><span·class="s">&quot;Samuel&quot;</span><span·class[·...·truncated·by·diffoscope;·len:·133,·SHA:·c4c08198fc535508aa629f2782225ed3f85d6df1d92372e3e812f05b3e16706f·...·]-7">}</span><span·class="p">,</span><span·class="w">
167 ·</span><span·class="p"·data-group-id="0181100003-8">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;789789&quot;</span><span·class="p">,</span><span·class="s">&quot;Harrysson&quot;</span><span·class="p">,</span><span·class="s">&quot;Joe&quot;</span><span·class=[·...·truncated·by·diffoscope;·len:·132,·SHA:·ffaada1c8adcefc5f3ae31a0776a3911c90a3245d3bb37814191cfa033e9145e·...·]-8">}</span><span·class="p">,</span><span·class="w">167 ·</span><span·class="p"·data-group-id="7638093564-8">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;789789&quot;</span><span·class="p">,</span><span·class="s">&quot;Harrysson&quot;</span><span·class="p">,</span><span·class="s">&quot;Joe&quot;</span><span·class=[·...·truncated·by·diffoscope;·len:·132,·SHA:·4dcc1f6679e6dcea0d1e7ff8c45c38cba4892fe6c837aff10fd4f9614c0783c3·...·]-8">}</span><span·class="p">,</span><span·class="w">
168 ·</span><span·class="p"·data-group-id="0181100003-9">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;963721&quot;</span><span·class="p">,</span><span·class="s">&quot;Scott&quot;</span><span·class="p">,</span><span·class="s">&quot;Juliana&quot;</span><span·class=[·...·truncated·by·diffoscope;·len:·132,·SHA:·d664af2a9865f5c0e8109bdfb80465d09cb255bd2b20317d92efef0db7643ef4·...·]-9">}</span><span·class="p">,</span><span·class="w">168 ·</span><span·class="p"·data-group-id="7638093564-9">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;963721&quot;</span><span·class="p">,</span><span·class="s">&quot;Scott&quot;</span><span·class="p">,</span><span·class="s">&quot;Juliana&quot;</span><span·class=[·...·truncated·by·diffoscope;·len:·132,·SHA:·52e0812e1d5d0537765aa5da6176cb188f055d15c9c9e201020d63534ae7d825·...·]-9">}</span><span·class="p">,</span><span·class="w">
169 ·</span><span·class="p"·data-group-id="0181100003-10">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;989891&quot;</span><span·class="p">,</span><span·class="s">&quot;Brown&quot;</span><span·class="p">,</span><span·class="s">&quot;Gabriel&quot;</span><span·class[·...·truncated·by·diffoscope;·len:·188,·SHA:·27ec99feeb16e076214ef09b1f7e6802be3b2faf5f29de4ca79eb773d4ecf7d1·...·]-1">]</span></code></pre><p>Assuming·that·we·want·the·employee·numbers·of·everyone·in·the·sales·department,169 ·</span><span·class="p"·data-group-id="7638093564-10">{</span><span·class="ss">emp</span><span·class="p">,</span><span·class="s">&quot;989891&quot;</span><span·class="p">,</span><span·class="s">&quot;Brown&quot;</span><span·class="p">,</span><span·class="s">&quot;Gabriel&quot;</span><span·class[·...·truncated·by·diffoscope;·len:·188,·SHA:·605e6c1794e478ec749c684592a75297b0337db4a6933d0f52f45f84c7f09a4a·...·]-1">]</span></code></pre><p>Assuming·that·we·want·the·employee·numbers·of·everyone·in·the·sales·department,
170 there·are·several·ways.</p><p><a·href="ets.html#match/2"><code·class="inline">ets:match/2</code></a>·can·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="4676523518-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4676523518-2">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#3[·...·truncated·by·diffoscope;·len:·436,·SHA:·154574b844578c8b0c913292498c99f32e80ffcea387b567170a0b9d8a4f0384·...·]-1">)</span><span·class="p">.</span><span·class="w">170 there·are·several·ways.</p><p><a·href="ets.html#match/2"><code·class="inline">ets:match/2</code></a>·can·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">match</span><span·class="p"·data-group-id="4061709815-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4061709815-2">{</span><span·class="ss">&#39;_&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#3[·...·truncated·by·diffoscope;·len:·436,·SHA:·83396af04d4d683bd3a3290e8b298abb4891563a963c61c895f2f0a1ffc60711·...·]-1">)</span><span·class="p">.</span><span·class="w">
171 </span><span·class="p"·data-group-id="4676523518-3">[</span><span·class="p"·data-group-id="4676523518-4">[</span><span·class="s">&quot;011103&quot;</span><span·class="p"·data-group-id="4676523518-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="4676523518-5">[</span><span·class[·...·truncated·by·diffoscope;·len:·124,·SHA:·a40984a26620502c10bd353197c08020988e43c43431657a904807b23183098b·...·]-3">]</span></code></pre><p><a·href="ets.html#match/2"><code·class="inline">ets:match/2</code></a>·uses·a·simpler·type·of·match·specification,·but·it·is·still171 </span><span·class="p"·data-group-id="4061709815-3">[</span><span·class="p"·data-group-id="4061709815-4">[</span><span·class="s">&quot;011103&quot;</span><span·class="p"·data-group-id="4061709815-4">]</span><span·class="p">,</span><span·class="p"·data-group-id="4061709815-5">[</span><span·class[·...·truncated·by·diffoscope;·len:·124,·SHA:·ab99e7f050507be10eeec6532c74cf985f6c0aa2f0ad7a0e016002bea0df79c1·...·]-3">]</span></code></pre><p><a·href="ets.html#match/2"><code·class="inline">ets:match/2</code></a>·uses·a·simpler·type·of·match·specification,·but·it·is·still
172 unreadable,·and·one·has·little·control·over·the·returned·result.·It·is·always·a172 unreadable,·and·one·has·little·control·over·the·returned·result.·It·is·always·a
173 list·of·lists.</p><p><a·href="ets.html#foldl/3"><code·class="inline">ets:foldl/3</code></a>·or·<a·href="ets.html#foldr/3"><code·class="inline">ets:foldr/3</code></a>·can·be·used·to·avoid·the·nested·lists:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">foldr</span><span·class="p"·data-group-id="2988697679-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2988697679-2">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="2988697679-3">{</span><span·class="ss">empno</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·697,·SHA:·6ce2b5770f6221a160c655aef2271d6d0de18deee12e01e14caee9074438b001·...·]-4">]</span><span·class="p">;</span><span·class="w">173 list·of·lists.</p><p><a·href="ets.html#foldl/3"><code·class="inline">ets:foldl/3</code></a>·or·<a·href="ets.html#foldr/3"><code·class="inline">ets:foldr/3</code></a>·can·be·used·to·avoid·the·nested·lists:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">foldr</span><span·class="p"·data-group-id="2989983912-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="2989983912-2">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="2989983912-3">{</span><span·class="ss">empno</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·697,·SHA:·5a2f91f11da627fcee6301ecbee670dc9a901f9c21b7685d0452f892aa8fe085·...·]-4">]</span><span·class="p">;</span><span·class="w">
174 ·············</span><span·class="p"·data-group-id="2988697679-5">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Acc</span><span·class="p"·data-group-id="2988697679-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Acc</span><span·class="w">174 ·············</span><span·class="p"·data-group-id="2989983912-5">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Acc</span><span·class="p"·data-group-id="2989983912-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Acc</span><span·class="w">
175 ··········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">175 ··········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
176 ··········</span><span·class="p"·data-group-id="2988697679-6">[</span><span·class="p"·data-group-id="2988697679-6">]</span><span·class="p">,</span><span·class="w">176 ··········</span><span·class="p"·data-group-id="2989983912-6">[</span><span·class="p"·data-group-id="2989983912-6">]</span><span·class="p">,</span><span·class="w">
177 ··········</span><span·class="ss">emp_tab</span><span·class="p"·data-group-id="2988697679-1">)</span><span·class="p">.</span></code></pre><p>The·result·is·<code·class="inline">[&quot;011103&quot;,&quot;076324&quot;]</code>.·The·fun·is·straightforward,·so·the·only177 ··········</span><span·class="ss">emp_tab</span><span·class="p"·data-group-id="2989983912-1">)</span><span·class="p">.</span></code></pre><p>The·result·is·<code·class="inline">[&quot;011103&quot;,&quot;076324&quot;]</code>.·The·fun·is·straightforward,·so·the·only
178 problem·is·that·all·the·data·from·the·table·must·be·transferred·from·the·table178 problem·is·that·all·the·data·from·the·table·must·be·transferred·from·the·table
179 to·the·calling·process·for·filtering.·That·is·inefficient·compared·to·the179 to·the·calling·process·for·filtering.·That·is·inefficient·compared·to·the
180 <a·href="ets.html#match/2"><code·class="inline">ets:match/2</code></a>·call·where·the·filtering·can·be·done·&quot;inside&quot;·the·emulator·and180 <a·href="ets.html#match/2"><code·class="inline">ets:match/2</code></a>·call·where·the·filtering·can·be·done·&quot;inside&quot;·the·emulator·and
181 only·the·result·is·transferred·to·the·process.</p><p>Consider·a·&quot;pure&quot;·<a·href="ets.html#select/2"><code·class="inline">ets:select/2</code></a>·call·that·does·what·<code·class="inline">ets:foldr</code>·does:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="0906989605-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0906989605-2">[</span><span·class="p"·data-group-id="0906989605-3">{</span><span·class="o">#</span><span·class="ss">emp</spa[·...·truncated·by·diffoscope;·len:·996,·SHA:·d5c0d737470b5bdd786622a55a2934e5cb758ecc836c5de6e1eafea7f539dcbd·...·]-1">)</span><span·class="p">.</span></code></pre><p>Although·the·record·syntax·is·used,·it·is·still·hard·to·read·and·even·harder·to181 only·the·result·is·transferred·to·the·process.</p><p>Consider·a·&quot;pure&quot;·<a·href="ets.html#select/2"><code·class="inline">ets:select/2</code></a>·call·that·does·what·<code·class="inline">ets:foldr</code>·does:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="3247882392-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3247882392-2">[</span><span·class="p"·data-group-id="3247882392-3">{</span><span·class="o">#</span><span·class="ss">emp</spa[·...·truncated·by·diffoscope;·len:·996,·SHA:·f02ff7f52870f3f60a00e5e4ba7c482b30c14e6285ce22eab00aeeb2ee5a598e·...·]-1">)</span><span·class="p">.</span></code></pre><p>Although·the·record·syntax·is·used,·it·is·still·hard·to·read·and·even·harder·to
182 write.·The·first·element·of·the·tuple,182 write.·The·first·element·of·the·tuple,
183 <code·class="inline">#emp{empno·=·'$1',·dept·=·sales,·_='_'}</code>,·tells·what·to·match.·Elements·not183 <code·class="inline">#emp{empno·=·'$1',·dept·=·sales,·_='_'}</code>,·tells·what·to·match.·Elements·not
184 matching·this·are·not·returned,·as·in·the·<a·href="ets.html#match/2"><code·class="inline">ets:match/2</code></a>·example.·The·second184 matching·this·are·not·returned,·as·in·the·<a·href="ets.html#match/2"><code·class="inline">ets:match/2</code></a>·example.·The·second
185 element,·the·empty·list,·is·a·list·of·guard·expressions,·which·we·do·not·need.185 element,·the·empty·list,·is·a·list·of·guard·expressions,·which·we·do·not·need.
186 The·third·element·is·the·list·of·expressions·constructing·the·return·value·(in186 The·third·element·is·the·list·of·expressions·constructing·the·return·value·(in
187 ETS·this·is·almost·always·a·list·containing·one·single·term).·In·our·case·<code·class="inline">'$1'</code>187 ETS·this·is·almost·always·a·list·containing·one·single·term).·In·our·case·<code·class="inline">'$1'</code>
188 is·bound·to·the·employee·number·in·the·head·(first·element·of·the·tuple),·and188 is·bound·to·the·employee·number·in·the·head·(first·element·of·the·tuple),·and
189 hence·the·employee·number·is·returned.·The·result·is·<code·class="inline">[&quot;011103&quot;,&quot;076324&quot;]</code>,·as189 hence·the·employee·number·is·returned.·The·result·is·<code·class="inline">[&quot;011103&quot;,&quot;076324&quot;]</code>,·as
190 in·the·<a·href="ets.html#foldr/3"><code·class="inline">ets:foldr/3</code></a>·example,·but·the·result·is·retrieved·much·more·efficiently190 in·the·<a·href="ets.html#foldr/3"><code·class="inline">ets:foldr/3</code></a>·example,·but·the·result·is·retrieved·much·more·efficiently
191 in·terms·of·execution·speed·and·memory·consumption.</p><p>Using·<a·href="ets.html#fun2ms/1"><code·class="inline">ets:fun2ms/1</code></a>,·we·can·combine·the·ease·of·use·of·the·<a·href="ets.html#foldr/3"><code·class="inline">ets:foldr/3</code></a>·and191 in·terms·of·execution·speed·and·memory·consumption.</p><p>Using·<a·href="ets.html#fun2ms/1"><code·class="inline">ets:fun2ms/1</code></a>,·we·can·combine·the·ease·of·use·of·the·<a·href="ets.html#foldr/3"><code·class="inline">ets:foldr/3</code></a>·and
192 the·efficiency·of·the·pure·<a·href="ets.html#select/2"><code·class="inline">ets:select/2</code></a>·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="1344952778-1">(</span><span·class="s">&quot;stdlib/include/ms_transform.hrl&quot;</span><span·class="p"·data-group-id="1344952778-1">)</span><span·class="p">.</span><span·class="w">192 the·efficiency·of·the·pure·<a·href="ets.html#select/2"><code·class="inline">ets:select/2</code></a>·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="7421617905-1">(</span><span·class="s">&quot;stdlib/include/ms_transform.hrl&quot;</span><span·class="p"·data-group-id="7421617905-1">)</span><span·class="p">.</span><span·class="w">
  
193 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="1344952778-2">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="1344952778-3">(</span><span·class="w">193 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="7421617905-2">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="7421617905-3">(</span><span·class="w">
194 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="1344952778-4">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="1344952778-5">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span[·...·truncated·by·diffoscope;·len:·266,·SHA:·cc1f1b048b00d36483ef680582c68520e2f4a3c9f2acb83e0ffd9bf42033e954·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">194 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="7421617905-4">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="7421617905-5">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span[·...·truncated·by·diffoscope;·len:·266,·SHA:·324006199e68322b5e20856cb3bc0f89cbcebe9b950e9d1f84b4c37d585de3dc·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
195 ······························</span><span·class="n">E</span><span·class="w">195 ······························</span><span·class="n">E</span><span·class="w">
196 ······················</span><span·class="k">end</span><span·class="p"·data-group-id="1344952778-3">)</span><span·class="p"·data-group-id="1344952778-2">)</span><span·class="p">.</span></code></pre><p>This·example·requires·no·special·knowledge·of·match·specifications·to196 ······················</span><span·class="k">end</span><span·class="p"·data-group-id="7421617905-3">)</span><span·class="p"·data-group-id="7421617905-2">)</span><span·class="p">.</span></code></pre><p>This·example·requires·no·special·knowledge·of·match·specifications·to
197 understand.·The·head·of·the·fun·matches·what·you·want·to·filter·out·and·the·body197 understand.·The·head·of·the·fun·matches·what·you·want·to·filter·out·and·the·body
198 returns·what·you·want·returned.·As·long·as·the·fun·can·be·kept·within·the·limits198 returns·what·you·want·returned.·As·long·as·the·fun·can·be·kept·within·the·limits
199 of·the·match·specifications,·there·is·no·need·to·transfer·all·table·data·to·the199 of·the·match·specifications,·there·is·no·need·to·transfer·all·table·data·to·the
200 process·for·filtering·as·in·the·<a·href="ets.html#foldr/3"><code·class="inline">ets:foldr/3</code></a>·example.·It·is·easier·to·read·than200 process·for·filtering·as·in·the·<a·href="ets.html#foldr/3"><code·class="inline">ets:foldr/3</code></a>·example.·It·is·easier·to·read·than
201 the·<a·href="ets.html#foldr/3"><code·class="inline">ets:foldr/3</code></a>·example,·as·the·select·call·in·itself·discards·anything·that201 the·<a·href="ets.html#foldr/3"><code·class="inline">ets:foldr/3</code></a>·example,·as·the·select·call·in·itself·discards·anything·that
202 does·not·match,·while·the·fun·of·the·<a·href="ets.html#foldr/3"><code·class="inline">ets:foldr/3</code></a>·call·needs·to·handle·both·the202 does·not·match,·while·the·fun·of·the·<a·href="ets.html#foldr/3"><code·class="inline">ets:foldr/3</code></a>·call·needs·to·handle·both·the
203 elements·matching·and·the·ones·not·matching.</p><p>In·the·<a·href="ets.html#fun2ms/1"><code·class="inline">ets:fun2ms/1</code></a>·example·above,·it·is·needed·to·include·<code·class="inline">ms_transform.hrl</code>203 elements·matching·and·the·ones·not·matching.</p><p>In·the·<a·href="ets.html#fun2ms/1"><code·class="inline">ets:fun2ms/1</code></a>·example·above,·it·is·needed·to·include·<code·class="inline">ms_transform.hrl</code>
Offset 212, 90 lines modifiedOffset 212, 90 lines modified
212 ····<i·class="ri-link-m"·aria-hidden="true"></i>212 ····<i·class="ri-link-m"·aria-hidden="true"></i>
213 ··</a>213 ··</a>
214 ··<span·class="text">Example·2</span>214 ··<span·class="text">Example·2</span>
215 </h2>215 </h2>
216 <p>Assume·that·we·want·to·get·all·the·employee·numbers·of·employees·hired·before216 <p>Assume·that·we·want·to·get·all·the·employee·numbers·of·employees·hired·before
217 year·2000.·Using·<a·href="ets.html#match/2"><code·class="inline">ets:match/2</code></a>·is·not·an·alternative·here,·as·relational217 year·2000.·Using·<a·href="ets.html#match/2"><code·class="inline">ets:match/2</code></a>·is·not·an·alternative·here,·as·relational
218 operators·cannot·be·expressed·there.·Once·again,·<a·href="ets.html#foldr/3"><code·class="inline">ets:foldr/3</code></a>·can·do·it218 operators·cannot·be·expressed·there.·Once·again,·<a·href="ets.html#foldr/3"><code·class="inline">ets:foldr/3</code></a>·can·do·it
219 (slowly,·but·correct):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">foldr</span><span·class="p"·data-group-id="1232842080-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="1232842080-2">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="1232842080-3">{</span><span·class="ss">empno</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·900,·SHA:·c507bfe13c16a60c8ebc1b8929a006280658ecd9d1b0dd7b4016b5fc022dd73a·...·]-4">]</span><span·class="p">;</span><span·class="w">219 (slowly,·but·correct):</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">foldr</span><span·class="p"·data-group-id="3840641198-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3840641198-2">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="3840641198-3">{</span><span·class="ss">empno</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·900,·SHA:·adde3066de3275130427964df2578fd9fd2c3141e5678adf85a80decf940c7b3·...·]-4">]</span><span·class="p">;</span><span·class="w">
220 ··················</span><span·class="p"·data-group-id="1232842080-5">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Acc</span><span·class="p"·data-group-id="1232842080-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Acc</span><span·class="w">220 ··················</span><span·class="p"·data-group-id="3840641198-5">(</span><span·class="p">_</span><span·class="p">,</span><span·class="n">Acc</span><span·class="p"·data-group-id="3840641198-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Acc</span><span·class="w">
221 ··········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">221 ··········</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
222 ··········</span><span·class="p"·data-group-id="1232842080-6">[</span><span·class="p"·data-group-id="1232842080-6">]</span><span·class="p">,</span><span·class="w">222 ··········</span><span·class="p"·data-group-id="3840641198-6">[</span><span·class="p"·data-group-id="3840641198-6">]</span><span·class="p">,</span><span·class="w">
223 ··········</span><span·class="ss">emp_tab</span><span·class="p"·data-group-id="1232842080-1">)</span><span·class="p">.</span></code></pre><p>The·result·is·<code·class="inline">[&quot;052341&quot;,&quot;076324&quot;,&quot;535216&quot;,&quot;789789&quot;,&quot;989891&quot;]</code>,·as·expected.·The223 ··········</span><span·class="ss">emp_tab</span><span·class="p"·data-group-id="3840641198-1">)</span><span·class="p">.</span></code></pre><p>The·result·is·<code·class="inline">[&quot;052341&quot;,&quot;076324&quot;,&quot;535216&quot;,&quot;789789&quot;,&quot;989891&quot;]</code>,·as·expected.·The
224 equivalent·expression·using·a·handwritten·match·specification·would·look·like224 equivalent·expression·using·a·handwritten·match·specification·would·look·like
225 this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="8238865963-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8238865963-2">[</span><span·class="p"·data-group-id="8238865963-3">{</span><span·class="o">#</span><span·class="ss">emp</spa[·...·truncated·by·diffoscope;·len:·551,·SHA:·f9b3f19dc2009ba693c6133975b1314f2f41a45b7f7b339ebcfdc1b580b017a2·...·]-4">}</span><span·class="p">,</span><span·class="w">225 this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="9797441941-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9797441941-2">[</span><span·class="p"·data-group-id="9797441941-3">{</span><span·class="o">#</span><span·class="ss">emp</spa[·...·truncated·by·diffoscope;·len:·551,·SHA:·aeb646fdf16ba1707f4bab1e3a3ddb2966827e83b3f779483473626de57e0501·...·]-4">}</span><span·class="p">,</span><span·class="w">
226 ·····················</span><span·class="p"·data-group-id="8238865963-5">[</span><span·class="p"·data-group-id="8238865963-6">{</span><span·class="ss">&#39;&lt;&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·111,·SHA:·9687f072358781ae506e5c5adbb9b016be8610635e0b3b24b2ada5ea9f0b9e73·...·]-5">]</span><span·class="p">,</span><span·class="w">226 ·····················</span><span·class="p"·data-group-id="9797441941-5">[</span><span·class="p"·data-group-id="9797441941-6">{</span><span·class="ss">&#39;&lt;&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;$2&#39;</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·111,·SHA:·323fd42171705530d44b385f339491a3a511b8f57e5829f56200b793c0e6192a·...·]-5">]</span><span·class="p">,</span><span·class="w">
227 ·····················</span><span·class="p"·data-group-id="8238865963-7">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="8238865963-7">]</span><span·class="p"·data-group-id="8238865963-3">}</span><span·class="p"·data-group-id="8238865963-2">]</span><span·class="p"·data-group-id="82388659[·...·truncated·by·diffoscope;·len:·2,·SHA:·da4ea2a5506f2693eae190d9360a1f31793c98a1adade51d93533a6f520ace1c·...·]-1">)</span><span·class="p">.</span></code></pre><p>This·gives·the·same·result.·<code·class="inline">[{'&lt;',·'$2',·2000}]</code>·is·in·the·guard·part·and227 ·····················</span><span·class="p"·data-group-id="9797441941-7">[</span><span·class="ss">&#39;$1&#39;</span><span·class="p"·data-group-id="9797441941-7">]</span><span·class="p"·data-group-id="9797441941-3">}</span><span·class="p"·data-group-id="9797441941-2">]</span><span·class="p"·data-group-id="97974419[·...·truncated·by·diffoscope;·len:·2,·SHA:·3d914f9348c9cc0ff8a79716700b9fcd4d2f3e711608004eb8f138bcba7f14d9·...·]-1">)</span><span·class="p">.</span></code></pre><p>This·gives·the·same·result.·<code·class="inline">[{'&lt;',·'$2',·2000}]</code>·is·in·the·guard·part·and
228 therefore·discards·anything·that·does·not·have·an·<code·class="inline">empyear</code>·(bound·to·<code·class="inline">'$2'</code>·in228 therefore·discards·anything·that·does·not·have·an·<code·class="inline">empyear</code>·(bound·to·<code·class="inline">'$2'</code>·in
229 the·head)·less·than·2000,·as·the·guard·in·the·<code·class="inline">foldr/3</code>·example.</p><p>We·write·it·using·<a·href="ets.html#fun2ms/1"><code·class="inline">ets:fun2ms/1</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="8316197467-1">(</span><span·class="s">&quot;stdlib/include/ms_transform.hrl&quot;</span><span·class="p"·data-group-id="8316197467-1">)</span><span·class="p">.</span><span·class="w">229 the·head)·less·than·2000,·as·the·guard·in·the·<code·class="inline">foldr/3</code>·example.</p><p>We·write·it·using·<a·href="ets.html#fun2ms/1"><code·class="inline">ets:fun2ms/1</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="5312240835-1">(</span><span·class="s">&quot;stdlib/include/ms_transform.hrl&quot;</span><span·class="p"·data-group-id="5312240835-1">)</span><span·class="p">.</span><span·class="w">
  
230 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="8316197467-2">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="8316197467-3">(</span><span·class="w">230 </span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="5312240835-2">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="5312240835-3">(</span><span·class="w">
231 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="8316197467-4">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="8316197467-5">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span[·...·truncated·by·diffoscope;·len:·264,·SHA:·cbdfe2fe801979c147e99124cedb7139df3368bb83ee6e9bfa3914a139e4ec3c·...·]-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="mi">2000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">231 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="5312240835-4">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="5312240835-5">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span[·...·truncated·by·diffoscope;·len:·264,·SHA:·346e5ac107a88b5a825c39c8cf738eda74fd5c1c1ff97f07276b422047e6cfbe·...·]-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="mi">2000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ···························</span><span·class="n">E</span><span·class="w">232 ···························</span><span·class="n">E</span><span·class="w">
233 ······················</span><span·class="k">end</span><span·class="p"·data-group-id="8316197467-3">)</span><span·class="p"·data-group-id="8316197467-2">)</span><span·class="p">.</span></code></pre><h2·id="module-example-3"·class="section-heading">233 ······················</span><span·class="k">end</span><span·class="p"·data-group-id="5312240835-3">)</span><span·class="p"·data-group-id="5312240835-2">)</span><span·class="p">.</span></code></pre><h2·id="module-example-3"·class="section-heading">
234 ··<a·href="#module-example-3"·class="hover-link">234 ··<a·href="#module-example-3"·class="hover-link">
235 ····<i·class="ri-link-m"·aria-hidden="true"></i>235 ····<i·class="ri-link-m"·aria-hidden="true"></i>
236 ··</a>236 ··</a>
237 ··<span·class="text">Example·3</span>237 ··<span·class="text">Example·3</span>
238 </h2>238 </h2>
239 <p>Assume·that·we·want·the·whole·object·matching·instead·of·only·one·element.·One239 <p>Assume·that·we·want·the·whole·object·matching·instead·of·only·one·element.·One
240 alternative·is·to·assign·a·variable·to·every·part·of·the·record·and·build·it·up240 alternative·is·to·assign·a·variable·to·every·part·of·the·record·and·build·it·up
241 once·again·in·the·body·of·the·fun,·but·the·following·is·easier:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="7192161787-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="7192161787-2">(</span><span·class="w">241 once·again·in·the·body·of·the·fun,·but·the·following·is·easier:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="9029652956-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="9029652956-2">(</span><span·class="w">
242 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="7192161787-3">(</span><span·class="n">Obj</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="7192161787-4">{</span><span·class="ss">empno</span><sp[·...·truncated·by·diffoscope;·len:·362,·SHA:·9f35bd93e475dfa3f3b88faf550da43cb03f650b3513b171fcc11fcc64b7429d·...·]-3">)</span><span·class="w">242 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="9029652956-3">(</span><span·class="n">Obj</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="9029652956-4">{</span><span·class="ss">empno</span><sp[·...·truncated·by·diffoscope;·len:·362,·SHA:·1a185aa2f00eeef925213d949f41a1d086432cbdb2304e4fd7f7ac87ac6aef82·...·]-3">)</span><span·class="w">
243 ·························</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="mi">2000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">243 ·························</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="mi">2000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
244 ······························</span><span·class="n">Obj</span><span·class="w">244 ······························</span><span·class="n">Obj</span><span·class="w">
245 ······················</span><span·class="k">end</span><span·class="p"·data-group-id="7192161787-2">)</span><span·class="p"·data-group-id="7192161787-1">)</span><span·class="p">.</span></code></pre><p>As·in·ordinary·Erlang·matching,·you·can·bind·a·variable·to·the·whole·matched245 ······················</span><span·class="k">end</span><span·class="p"·data-group-id="9029652956-2">)</span><span·class="p"·data-group-id="9029652956-1">)</span><span·class="p">.</span></code></pre><p>As·in·ordinary·Erlang·matching,·you·can·bind·a·variable·to·the·whole·matched
246 object·using·a·&quot;match·inside·the·match&quot;,·that·is,·a·<code·class="inline">=</code>.·Unfortunately·in·funs246 object·using·a·&quot;match·inside·the·match&quot;,·that·is,·a·<code·class="inline">=</code>.·Unfortunately·in·funs
247 translated·to·match·specifications,·it·is·allowed·only·at·the·&quot;top-level&quot;,·that247 translated·to·match·specifications,·it·is·allowed·only·at·the·&quot;top-level&quot;,·that
248 is,·matching·the·<em>whole</em>·object·arriving·to·be·matched·into·a·separate·variable.248 is,·matching·the·<em>whole</em>·object·arriving·to·be·matched·into·a·separate·variable.
249 If·you·are·used·to·writing·match·specifications·by·hand,·we·mention·that249 If·you·are·used·to·writing·match·specifications·by·hand,·we·mention·that
250 variable·A·is·simply·translated·into·'$_'.·Alternatively,·pseudo·function250 variable·A·is·simply·translated·into·'$_'.·Alternatively,·pseudo·function
251 <code·class="inline">object/0</code>·also·returns·the·whole·matched·object,·see·section251 <code·class="inline">object/0</code>·also·returns·the·whole·matched·object,·see·section
252 <a·href="ms_transform.html#warnings_and_restrictions">Warnings·and·Restrictions</a>.</p><h2·id="module-example-4"·class="section-heading">252 <a·href="ms_transform.html#warnings_and_restrictions">Warnings·and·Restrictions</a>.</p><h2·id="module-example-4"·class="section-heading">
253 ··<a·href="#module-example-4"·class="hover-link">253 ··<a·href="#module-example-4"·class="hover-link">
254 ····<i·class="ri-link-m"·aria-hidden="true"></i>254 ····<i·class="ri-link-m"·aria-hidden="true"></i>
255 ··</a>255 ··</a>
256 ··<span·class="text">Example·4</span>256 ··<span·class="text">Example·4</span>
257 </h2>257 </h2>
258 <p>This·example·concerns·the·body·of·the·fun.·Assume·that·all·employee·numbers258 <p>This·example·concerns·the·body·of·the·fun.·Assume·that·all·employee·numbers
259 beginning·with·zero·(<code·class="inline">0</code>)·must·be·changed·to·begin·with·one·(<code·class="inline">1</code>)·instead,·and259 beginning·with·zero·(<code·class="inline">0</code>)·must·be·changed·to·begin·with·one·(<code·class="inline">1</code>)·instead,·and
260 that·we·want·to·create·the·list·<code·class="inline">[{&lt;Old·empno&gt;,&lt;New·empno&gt;}]</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="4256572497-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="4256572497-2">(</span><span·class="w">260 that·we·want·to·create·the·list·<code·class="inline">[{&lt;Old·empno&gt;,&lt;New·empno&gt;}]</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="7650367286-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="7650367286-2">(</span><span·class="w">
261 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="4256572497-3">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="4256572497-4">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·320,·SHA:·1dad5fafae68ce2627d91fa8b007959b51f9cff9f1116e74536ff38e4f064cd1·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">261 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="7650367286-3">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="7650367286-4">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·320,·SHA:·37df5c20e8db97849490cf44c362f210eaca7a85a00b106c9ea659aae210aeb2·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
262 ······························</span><span·class="p"·data-group-id="4256572497-6">{</span><span·class="p"·data-group-id="4256572497-7">[</span><span·class="sc">$0</span><span·class="p">|</span><span·class="n">Rest</span><span·class="p"·data-group-id="4256572497-7">]</span><span·class="p">,</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·197,·SHA:·91404995ef2186ca175d4568bc87f849b2ddbdcdd099e80986933282fd56f70b·...·]-6">}</span><span·class="w">262 ······························</span><span·class="p"·data-group-id="7650367286-6">{</span><span·class="p"·data-group-id="7650367286-7">[</span><span·class="sc">$0</span><span·class="p">|</span><span·class="n">Rest</span><span·class="p"·data-group-id="7650367286-7">]</span><span·class="p">,</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·197,·SHA:·d5bf2df39a1acaf911b89ae231d559178020755feb5eb6beab8ae2f110e22e99·...·]-6">}</span><span·class="w">
263 ······················</span><span·class="k">end</span><span·class="p"·data-group-id="4256572497-2">)</span><span·class="p"·data-group-id="4256572497-1">)</span><span·class="p">.</span></code></pre><p>This·query·hits·the·feature·of·partially·bound·keys·in·table·type·<code·class="inline">ordered_set</code>,263 ······················</span><span·class="k">end</span><span·class="p"·data-group-id="7650367286-2">)</span><span·class="p"·data-group-id="7650367286-1">)</span><span·class="p">.</span></code></pre><p>This·query·hits·the·feature·of·partially·bound·keys·in·table·type·<code·class="inline">ordered_set</code>,
264 so·that·not·the·whole·table·needs·to·be·searched,·only·the·part·containing·keys264 so·that·not·the·whole·table·needs·to·be·searched,·only·the·part·containing·keys
265 beginning·with·<code·class="inline">0</code>·is·looked·into.</p><h2·id="module-example-5"·class="section-heading">265 beginning·with·<code·class="inline">0</code>·is·looked·into.</p><h2·id="module-example-5"·class="section-heading">
266 ··<a·href="#module-example-5"·class="hover-link">266 ··<a·href="#module-example-5"·class="hover-link">
267 ····<i·class="ri-link-m"·aria-hidden="true"></i>267 ····<i·class="ri-link-m"·aria-hidden="true"></i>
268 ··</a>268 ··</a>
269 ··<span·class="text">Example·5</span>269 ··<span·class="text">Example·5</span>
270 </h2>270 </h2>
271 <p>The·fun·can·have·many·clauses.·Assume·that·we·want·to·do·the·following:</p><ul><li>If·an·employee·started·before·1997,·return·the·tuple271 <p>The·fun·can·have·many·clauses.·Assume·that·we·want·to·do·the·following:</p><ul><li>If·an·employee·started·before·1997,·return·the·tuple
272 <code·class="inline">{inventory,·&lt;employee·number&gt;}</code>.</li><li>If·an·employee·started·1997·or·later,·but·before·2001,·return272 <code·class="inline">{inventory,·&lt;employee·number&gt;}</code>.</li><li>If·an·employee·started·1997·or·later,·but·before·2001,·return
273 <code·class="inline">{rookie,·&lt;employee·number&gt;}</code>.</li><li>For·all·other·employees,·return·<code·class="inline">{newbie,·&lt;employee·number&gt;}</code>,·except·for273 <code·class="inline">{rookie,·&lt;employee·number&gt;}</code>.</li><li>For·all·other·employees,·return·<code·class="inline">{newbie,·&lt;employee·number&gt;}</code>,·except·for
274 those·named·<code·class="inline">Smith</code>·as·they·would·be·affronted·by·anything·other·than·the·tag274 those·named·<code·class="inline">Smith</code>·as·they·would·be·affronted·by·anything·other·than·the·tag
275 <code·class="inline">guru</code>·and·that·is·also·what·is·returned·for·their·numbers:275 <code·class="inline">guru</code>·and·that·is·also·what·is·returned·for·their·numbers:
276 <code·class="inline">{guru,·&lt;employee·number&gt;}</code>.</li></ul><p>This·is·accomplished·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="0419679307-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="0419679307-2">(</span><span·class="w">276 <code·class="inline">{guru,·&lt;employee·number&gt;}</code>.</li></ul><p>This·is·accomplished·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">select</span><span·class="p"·data-group-id="7507016970-1">(</span><span·class="ss">emp_tab</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ets</span><span·class="p">:</span><span·class="nf">fun2ms</span><span·class="p"·data-group-id="7507016970-2">(</span><span·class="w">
277 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="0419679307-3">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="0419679307-4">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span[·...·truncated·by·diffoscope;·len:·304,·SHA:·c02cace5caede9cac70991f96d5aa8455afce6eea09c0f46998cd9f7b1dc5398·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">277 ······················</span><span·class="nf">fun</span><span·class="p"·data-group-id="7507016970-3">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="7507016970-4">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span[·...·truncated·by·diffoscope;·len:·304,·SHA:·fc6032b0bf0f8829839d9611b4d7493585db5faa4f1794f19ff6a928c8ae0983·...·]-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
278 ······························</span><span·class="p"·data-group-id="0419679307-5">{</span><span·class="ss">guru</span><span·class="p">,</span><span·class="n">E</span><span·class="p"·data-group-id="0419679307-5">}</span><span·class="p">;</span><span·class="w">278 ······························</span><span·class="p"·data-group-id="7507016970-5">{</span><span·class="ss">guru</span><span·class="p">,</span><span·class="n">E</span><span·class="p"·data-group-id="7507016970-5">}</span><span·class="p">;</span><span·class="w">
279 ·························</span><span·class="p"·data-group-id="0419679307-6">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="0419679307-7">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span[·...·truncated·by·diffoscope;·len:·264,·SHA:·7ab697d038a57811c4c6412586eca44d1d75d62d2df07e901b2c25ee291ae024·...·]-6">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="mi">1997</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">279 ·························</span><span·class="p"·data-group-id="7507016970-6">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="7507016970-7">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><span[·...·truncated·by·diffoscope;·len:·264,·SHA:·75484213ec403481a48fc6a7a1b5d174ef4fe3d82bc108aaf4b0f807fdfc9338·...·]-6">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="mi">1997</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">
280 ······························</span><span·class="p"·data-group-id="0419679307-8">{</span><span·class="ss">inventory</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="p"·data-group-id="0419679307-8">}</span><span·class="p">;</span><span·class="w">280 ······························</span><span·class="p"·data-group-id="7507016970-8">{</span><span·class="ss">inventory</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="p"·data-group-id="7507016970-8">}</span><span·class="p">;</span><span·class="w">
281 ·························</span><span·class="p"·data-group-id="0419679307-9">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="0419679307-10">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><spa[·...·truncated·by·diffoscope;·len:·266,·SHA:·5a715339d602e30fd474e9946fd26c2a564e10951c7c9bd75a074ecc9a286f7b·...·]-9">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">2001</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">281 ·························</span><span·class="p"·data-group-id="7507016970-9">(</span><span·class="o">#</span><span·class="ss">emp</span><span·class="p"·data-group-id="7507016970-10">{</span><span·class="ss">empno</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">E</span><spa[·...·truncated·by·diffoscope;·len:·266,·SHA:·f01e60fea9e92e1d196d7b5f5eb6a7177e68b0e318481be7a187b197a1a5bced·...·]-9">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">2001</span><span·class="w">··</span><span·class="p">-&gt;</span><span·class="w">
Max diff block lines reached; 75987/143578 bytes (52.92%) of diff not shown.
691 B
html2text {}
Max HTML report size reached
116 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/notes.html
    
Offset 133, 59 lines modifiedOffset 133, 59 lines modified
133 </h2>133 </h2>
134 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">134 <h3·id="fixed-bugs-and-malfunctions"·class="section-heading">
135 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">135 ··<a·href="#fixed-bugs-and-malfunctions"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>138 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
139 </h3>139 </h3>
140 <ul><li><p>Shell·help·now·orders·the·commands·in·alphabetical·order.</p><p>Own·Id:·OTP-19161·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8573"·title="">PR-8573</a></p></li><li><p><a·href="proc_lib.html#stop/3"><code·class="inline">proc_lib:stop/1,3</code></a>·(and·in·extension·<a·href="gen_server.html#stop/3"><code·class="inline">gen_server:stop/3</code></a>,·<a·href="gen_statem.html#stop/3"><code·class="inline">gen_statem:stop/3</code></a>·and·so·on)·have·been·updated·to·not·throw·an·error·if·the·process·to·be·stopped·exits·with·the·same·reason·as·given·to·<a·href="proc_lib.html#stop/3"><code·class="inline">proc_lib:stop/3</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19233·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8772"·title="">PR-8772</a></p></li><li><p>The·size·of·an·atom·in·the·Erlang·source·code·was·limited·to·255·bytes·in·previous·releases,·meaning·that·an·atom·containing·only·emojis·could·contain·only·63·emojis.</p><p>While·atoms·are·still·only·allowed·to·contain·255·characters,·the·number·of·bytes·is·no·longer·limited.</p><p>External·tools·that·parse·the·<code·class="inline">AtU8</code>·chunk·of·a·BEAM·file·directly·need·to·be·updated.·Tools·that·use·<a·href="beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[atoms])</code></a>·to·read·the·atom·table·will·continue·to·work.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19285·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8913"·title="">PR-8913</a></p></li><li><p><a·href="argparse.html#help/1"><code·class="inline">argparse:help/1</code></a>·now·accepts·<a·href="unicode.html#t:chardata/0"><code·class="inline">unicode:chardata/0</code></a>.</p><p>Own·Id:·OTP-19303·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8932"·title="">PR-8932</a></p></li><li><p>The·literals·chunk·in·BEAM·is·no·longer·compressed,·resulting·in·slightly·smaller·BEAM·files·when·a·BEAM·file·is·stripped·using·<a·href="beam_lib.html#strip_files/1"><code·class="inline">beam_lib:strip_files/1</code></a>.</p><p>This·is·a·potential·incompatibility·for·tools·that·read·and·interpret·the·contents·of·the·literal·chunk.·One·way·to·update·such·tools·to·work·with·the·new·format·is·to·retrieve·the·chunk·using·<a·href="beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[literals])</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19323·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8967"·title="">GH-8967</a>,·<a·href="https://github.com/erlang/otp/pull/8988"·title="">PR-8988</a></p></li><li><p>The·previous·<a·href="digraph_utils.html#preorder/1"><code·class="inline">digraph_utils:preorder/1</code></a>·and·<a·href="digraph_utils.html#postorder/1"><code·class="inline">digraph_utils:postorder/1</code></a>·did·not·start·the·traversal·from·root·nodes.·This·fix·makes·both·traversals·only·start·or·restart·from·a·root·node·in·one·of·the·components,·or·an·arbitrary·node·if·no·root·node·can·be·visited.</p><p>Own·Id:·OTP-19393·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9171"·title="">PR-9171</a></p></li><li><p>Auto-completion·in·the·shell·is·now·significantly·faster·for·function·parameters·that·uses·complex·custom·types.</p><p>Own·Id:·OTP-19413·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9271"·title="">PR-9271</a></p></li><li><p>Stringfying·a·non-latin1·atom·will·now·produce·a·readable·string·instead·of·encoding·each·character·using·<code·class="inline">\x{...}</code>·escape·sequences.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="5347078097-1">(</span><span·class="n">S</span><span·class="p"·data-group-id="5347078097-2">(</span><span·class="n">T</span><span·class="p"·data-group-id="5347078097-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·cl[·...·truncated·by·diffoscope;·len:·81,·SHA:·e4225ffee1fe3e3e8a86c80f5f0063b067ac770ba2f31ed0c9cf2cc716c0e239·...·]-1">)</span><span·class="p">.</span><span·class="w">140 <ul><li><p>Shell·help·now·orders·the·commands·in·alphabetical·order.</p><p>Own·Id:·OTP-19161·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8573"·title="">PR-8573</a></p></li><li><p><a·href="proc_lib.html#stop/3"><code·class="inline">proc_lib:stop/1,3</code></a>·(and·in·extension·<a·href="gen_server.html#stop/3"><code·class="inline">gen_server:stop/3</code></a>,·<a·href="gen_statem.html#stop/3"><code·class="inline">gen_statem:stop/3</code></a>·and·so·on)·have·been·updated·to·not·throw·an·error·if·the·process·to·be·stopped·exits·with·the·same·reason·as·given·to·<a·href="proc_lib.html#stop/3"><code·class="inline">proc_lib:stop/3</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19233·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8772"·title="">PR-8772</a></p></li><li><p>The·size·of·an·atom·in·the·Erlang·source·code·was·limited·to·255·bytes·in·previous·releases,·meaning·that·an·atom·containing·only·emojis·could·contain·only·63·emojis.</p><p>While·atoms·are·still·only·allowed·to·contain·255·characters,·the·number·of·bytes·is·no·longer·limited.</p><p>External·tools·that·parse·the·<code·class="inline">AtU8</code>·chunk·of·a·BEAM·file·directly·need·to·be·updated.·Tools·that·use·<a·href="beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[atoms])</code></a>·to·read·the·atom·table·will·continue·to·work.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19285·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8913"·title="">PR-8913</a></p></li><li><p><a·href="argparse.html#help/1"><code·class="inline">argparse:help/1</code></a>·now·accepts·<a·href="unicode.html#t:chardata/0"><code·class="inline">unicode:chardata/0</code></a>.</p><p>Own·Id:·OTP-19303·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8932"·title="">PR-8932</a></p></li><li><p>The·literals·chunk·in·BEAM·is·no·longer·compressed,·resulting·in·slightly·smaller·BEAM·files·when·a·BEAM·file·is·stripped·using·<a·href="beam_lib.html#strip_files/1"><code·class="inline">beam_lib:strip_files/1</code></a>.</p><p>This·is·a·potential·incompatibility·for·tools·that·read·and·interpret·the·contents·of·the·literal·chunk.·One·way·to·update·such·tools·to·work·with·the·new·format·is·to·retrieve·the·chunk·using·<a·href="beam_lib.html#chunks/2"><code·class="inline">beam_lib:chunks(Beam,·[literals])</code></a>.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19323·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8967"·title="">GH-8967</a>,·<a·href="https://github.com/erlang/otp/pull/8988"·title="">PR-8988</a></p></li><li><p>The·previous·<a·href="digraph_utils.html#preorder/1"><code·class="inline">digraph_utils:preorder/1</code></a>·and·<a·href="digraph_utils.html#postorder/1"><code·class="inline">digraph_utils:postorder/1</code></a>·did·not·start·the·traversal·from·root·nodes.·This·fix·makes·both·traversals·only·start·or·restart·from·a·root·node·in·one·of·the·components,·or·an·arbitrary·node·if·no·root·node·can·be·visited.</p><p>Own·Id:·OTP-19393·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9171"·title="">PR-9171</a></p></li><li><p>Auto-completion·in·the·shell·is·now·significantly·faster·for·function·parameters·that·uses·complex·custom·types.</p><p>Own·Id:·OTP-19413·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9271"·title="">PR-9271</a></p></li><li><p>Stringfying·a·non-latin1·atom·will·now·produce·a·readable·string·instead·of·encoding·each·character·using·<code·class="inline">\x{...}</code>·escape·sequences.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">define</span><span·class="p"·data-group-id="7539942989-1">(</span><span·class="n">S</span><span·class="p"·data-group-id="7539942989-2">(</span><span·class="n">T</span><span·class="p"·data-group-id="7539942989-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="o">?</span><span·cl[·...·truncated·by·diffoscope;·len:·81,·SHA:·aed90b8b3d146f51c9949caaf7d24d57f50d37aa52551505544f2518ed90f840·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
141 </span><span·class="nf">atom</span><span·class="p"·data-group-id="5347078097-3">(</span><span·class="p"·data-group-id="5347078097-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">141 </span><span·class="nf">atom</span><span·class="p"·data-group-id="7539942989-3">(</span><span·class="p"·data-group-id="7539942989-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
142 ····</span><span·class="o">?</span><span·class="n">S</span><span·class="p"·data-group-id="5347078097-4">(</span><span·class="ss">&#39;атом&#39;</span><span·class="p"·data-group-id="5347078097-4">)</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">atom/0</code>·function·now·returns·<code·class="inline">&quot;'атом'&quot;</code>·instead·of·<code·class="inline">&quot;'\\x{430}\\x{442}\\x{43E}\\x{43C}'&quot;</code>.</p><p>Own·Id:·OTP-19421·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9173"·title="">GH-9173</a>,·<a·href="https://github.com/erlang/otp/pull/9276"·title="">PR-9276</a></p></li><li><p>A·few·minor·issues·were·corrected·in·<code·class="inline">m:syntax_tools</code>,·as·well·in·the·<a·href="erl_anno.html"><code·class="inline">erl_anno</code></a>·module.</p><p>Own·Id:·OTP-19422·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9253"·title="">PR-9253</a></p></li><li><p><a·href="dets.html"><code·class="inline">dets</code></a>·could·print·error·messages·to·standard·output·when·repairing·DETS·files.·This·has·been·changed·to·send·the·messages·to·<a·href="../../../../lib/kernel-10.3/doc/html/logger.html"><code·class="inline">logger</code></a>.</p><p><code·class="inline">ets:fun2ms</code>·would·print·an·error·message·to·standard·output·as·well·as·returning·an·error·tuple.·The·printing·of·the·message·has·been·removed.</p><p>Own·Id:·OTP-19427·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9232"·title="">PR-9232</a>,·<a·href="https://github.com/erlang/otp/pull/9446"·title="">PR-9446</a></p></li><li><p>The·functions·for·converting·to·and·from·the·RFC1339·date·and·time·format·would·not·properly·handle·fractional·seconds·for·negative·times.</p><p>Own·Id:·OTP-19441·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9279"·title="">GH-9279</a>,·<a·href="https://github.com/erlang/otp/pull/9280"·title="">PR-9280</a></p></li><li><p>Replaced·calls·to·deprecated·<code·class="inline">crypto:start()</code>·with·<code·class="inline">application:start(crypto)</code>.</p><p>Own·Id:·OTP-19485·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8592"·title="">PR-8592</a></p></li><li><p>Fixed·a·bug·when·calling·shell·completion·on·a·reserved·word·followed·by·a·<em>(</em>·would·crash·the·shell.</p><p>Own·Id:·OTP-19511·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9470"·title="">GH-9470</a></p></li><li><p>Corrected·the·spec·of·<a·href="ets.html#update_element/4"><code·class="inline">ets:update_element/4</code></a>.</p><p>Own·Id:·OTP-19514·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9504"·title="">PR-9504</a></p></li><li><p>Corrected·the·spec·for·<a·href="ets.html#info/1"><code·class="inline">ets:info/1</code></a>.</p><p>Own·Id:·OTP-19515·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9514"·title="">PR-9514</a></p></li><li><p>Fixed·crash·when·defining·records·with·a·string·field·in·the·shell</p><p>Own·Id:·OTP-19533·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9557"·title="">GH-9557</a></p></li><li><p>Details·in·the·hibernation·implementation·and·time-out·handling·has·been·improved·for·<code·class="inline">gen_statem</code>.··In·particular·to·avoid·selective·receive·when·cancelling·a·time-out.</p><p>Own·Id:·OTP-19540·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9579"·title="">PR-9579</a></p></li><li><p>Fixed·a·bug·when·getting·help·on·a·module·compiled·without·debug_info.</p><p>Own·Id:·OTP-19583·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9654"·title="">PR-9654</a></p></li><li><p>Fix·<a·href="zip.html"><code·class="inline">zip</code></a>·extraction·to·wrap·invalid·DOS·timestamps·to·their·correct·value·instead·of·returning·the·actual·value.·Before·this·fix·the·timestamp·returned·could·have·a·second·greater·than·59.·The·bug·has·been·present·since·Erlang/OTP·27.1.</p><p>Own·Id:·OTP-19593·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9537"·title="">PR-9537</a>,·<a·href="https://github.com/erlang/otp/issues/9536"·title="">GH-9536</a></p></li><li><p>Enhance·specs·of·timeout·for·improving·documentation·and·dialyzer·analysis.</p><p>Own·Id:·OTP-19604·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9574"·title="">PR-9574</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">142 ····</span><span·class="o">?</span><span·class="n">S</span><span·class="p"·data-group-id="7539942989-4">(</span><span·class="ss">&#39;атом&#39;</span><span·class="p"·data-group-id="7539942989-4">)</span><span·class="p">.</span></code></pre><p>The·<code·class="inline">atom/0</code>·function·now·returns·<code·class="inline">&quot;'атом'&quot;</code>·instead·of·<code·class="inline">&quot;'\\x{430}\\x{442}\\x{43E}\\x{43C}'&quot;</code>.</p><p>Own·Id:·OTP-19421·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9173"·title="">GH-9173</a>,·<a·href="https://github.com/erlang/otp/pull/9276"·title="">PR-9276</a></p></li><li><p>A·few·minor·issues·were·corrected·in·<code·class="inline">m:syntax_tools</code>,·as·well·in·the·<a·href="erl_anno.html"><code·class="inline">erl_anno</code></a>·module.</p><p>Own·Id:·OTP-19422·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9253"·title="">PR-9253</a></p></li><li><p><a·href="dets.html"><code·class="inline">dets</code></a>·could·print·error·messages·to·standard·output·when·repairing·DETS·files.·This·has·been·changed·to·send·the·messages·to·<a·href="../../../../lib/kernel-10.3/doc/html/logger.html"><code·class="inline">logger</code></a>.</p><p><code·class="inline">ets:fun2ms</code>·would·print·an·error·message·to·standard·output·as·well·as·returning·an·error·tuple.·The·printing·of·the·message·has·been·removed.</p><p>Own·Id:·OTP-19427·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9232"·title="">PR-9232</a>,·<a·href="https://github.com/erlang/otp/pull/9446"·title="">PR-9446</a></p></li><li><p>The·functions·for·converting·to·and·from·the·RFC1339·date·and·time·format·would·not·properly·handle·fractional·seconds·for·negative·times.</p><p>Own·Id:·OTP-19441·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9279"·title="">GH-9279</a>,·<a·href="https://github.com/erlang/otp/pull/9280"·title="">PR-9280</a></p></li><li><p>Replaced·calls·to·deprecated·<code·class="inline">crypto:start()</code>·with·<code·class="inline">application:start(crypto)</code>.</p><p>Own·Id:·OTP-19485·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8592"·title="">PR-8592</a></p></li><li><p>Fixed·a·bug·when·calling·shell·completion·on·a·reserved·word·followed·by·a·<em>(</em>·would·crash·the·shell.</p><p>Own·Id:·OTP-19511·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9470"·title="">GH-9470</a></p></li><li><p>Corrected·the·spec·of·<a·href="ets.html#update_element/4"><code·class="inline">ets:update_element/4</code></a>.</p><p>Own·Id:·OTP-19514·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9504"·title="">PR-9504</a></p></li><li><p>Corrected·the·spec·for·<a·href="ets.html#info/1"><code·class="inline">ets:info/1</code></a>.</p><p>Own·Id:·OTP-19515·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9514"·title="">PR-9514</a></p></li><li><p>Fixed·crash·when·defining·records·with·a·string·field·in·the·shell</p><p>Own·Id:·OTP-19533·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9557"·title="">GH-9557</a></p></li><li><p>Details·in·the·hibernation·implementation·and·time-out·handling·has·been·improved·for·<code·class="inline">gen_statem</code>.··In·particular·to·avoid·selective·receive·when·cancelling·a·time-out.</p><p>Own·Id:·OTP-19540·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9579"·title="">PR-9579</a></p></li><li><p>Fixed·a·bug·when·getting·help·on·a·module·compiled·without·debug_info.</p><p>Own·Id:·OTP-19583·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9654"·title="">PR-9654</a></p></li><li><p>Fix·<a·href="zip.html"><code·class="inline">zip</code></a>·extraction·to·wrap·invalid·DOS·timestamps·to·their·correct·value·instead·of·returning·the·actual·value.·Before·this·fix·the·timestamp·returned·could·have·a·second·greater·than·59.·The·bug·has·been·present·since·Erlang/OTP·27.1.</p><p>Own·Id:·OTP-19593·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9537"·title="">PR-9537</a>,·<a·href="https://github.com/erlang/otp/issues/9536"·title="">GH-9536</a></p></li><li><p>Enhance·specs·of·timeout·for·improving·documentation·and·dialyzer·analysis.</p><p>Own·Id:·OTP-19604·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9574"·title="">PR-9574</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
143 ··<a·href="#improvements-and-new-features"·class="hover-link">143 ··<a·href="#improvements-and-new-features"·class="hover-link">
144 ····<i·class="ri-link-m"·aria-hidden="true"></i>144 ····<i·class="ri-link-m"·aria-hidden="true"></i>
145 ··</a>145 ··</a>
146 ··<span·class="text">Improvements·and·New·Features</span>146 ··<span·class="text">Improvements·and·New·Features</span>
147 </h3>147 </h3>
148 <ul><li><p>Singleton·type·variables·in·an·union·type·do·not·make·sense·from·Dialyzer's·point·of·view.·The·following·example·is·ill-typed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">run_test</span><span·class="p"·data-group-id="0338867001-1">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="0338867001-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="0338867001-2">(</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·584c8a6e20c54ffb608019d9ff2c0bcc46124efc1ccf637256ae2bf043803eb0·...·]-2">)</span><span·class="w">148 <ul><li><p>Singleton·type·variables·in·an·union·type·do·not·make·sense·from·Dialyzer's·point·of·view.·The·following·example·is·ill-typed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">run_test</span><span·class="p"·data-group-id="3008286103-1">(</span><span·class="n">Opts</span><span·class="p"·data-group-id="3008286103-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3008286103-2">(</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·61af1088a7536bdb40633df95af72c18af7a307ca8b7815e54609527c57d43f7·...·]-2">)</span><span·class="w">
149 ······</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Opts</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="0338867001-3">{</span><span·class="ss">join_specs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bool</span><span·class="p"·data-group-id="0338867001-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·1237,·SHA:·45f27ad87f05715df2b0ccb53140b779315a248b3fbc9ceb63951d8c006ab816·...·]-1">)</span><span·class="p">.</span><span·class="w">149 ······</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Opts</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="p"·data-group-id="3008286103-3">{</span><span·class="ss">join_specs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bool</span><span·class="p"·data-group-id="3008286103-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·1237,·SHA:·8f49c9393ba7dc2b1ebb53b2c9be21fec1b79bfe8d3de97f0abb3c42838797d1·...·]-1">)</span><span·class="p">.</span><span·class="w">
150 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3802135167-2">(</span><span·class="p"·data-group-id="3802135167-3">[</span><span·class="ss">t</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="3802135167-3">]</span><span·class="p"·data-group-id="3802135167-2">)</span><span·class="p">.</span><span·class="w">150 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2359198501-2">(</span><span·class="p"·data-group-id="2359198501-3">[</span><span·class="ss">t</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2359198501-3">]</span><span·class="p"·data-group-id="2359198501-2">)</span><span·class="p">.</span><span·class="w">
151 </span><span·class="nf">bar</span><span·class="p"·data-group-id="3802135167-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="3802135167-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">151 </span><span·class="nf">bar</span><span·class="p"·data-group-id="2359198501-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="2359198501-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">
152 </span><span·class="nf">bar</span><span·class="p"·data-group-id="3802135167-5">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="3802135167-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">152 </span><span·class="nf">bar</span><span·class="p"·data-group-id="2359198501-5">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="2359198501-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">
153 </span><span·class="nf">bar</span><span·class="p"·data-group-id="3802135167-6">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="3802135167-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">153 </span><span·class="nf">bar</span><span·class="p"·data-group-id="2359198501-6">(</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p">,</span><span·class="n">A</span><span·class="p"·data-group-id="2359198501-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">
154 </span><span·class="nf">t</span><span·class="p"·data-group-id="3802135167-7">(</span><span·class="p"·data-group-id="3802135167-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">bar</span><span·class="p"·data-group-id="3802135167-8">(</span><span·class="mi">0</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·0100d0b9e688c5c1c71086f740847f7eec2b84c1eaad6f9d78d64b4618bc14a4·...·]-8">)</span><span·class="p">.</span></code></pre><p>The·compiler·will·emit·the·following·message:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typo</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">6</span><span·class="p">:</span><span·class="mi">12</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="o">?</span><span·class="w">154 </span><span·class="nf">t</span><span·class="p"·data-group-id="2359198501-7">(</span><span·class="p"·data-group-id="2359198501-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">bar</span><span·class="p"·data-group-id="2359198501-8">(</span><span·class="mi">0</span>[·...·truncated·by·diffoscope;·len:·114,·SHA:·1b2ec10d9d2a7ad02d67776ebd7ec9313d66f7f4d23fa471756d126b6455c641·...·]-8">)</span><span·class="p">.</span></code></pre><p>The·compiler·will·emit·the·following·message:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typo</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">6</span><span·class="p">:</span><span·class="mi">12</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="o">?</span><span·class="w">
155 </span><span·class="c1">%···6|·····t()·-&gt;·bar(0,·0).</span><span·class="w">155 </span><span·class="c1">%···6|·····t()·-&gt;·bar(0,·0).</span><span·class="w">
156 </span><span·class="c1">%····|············^</span></code></pre><p>For·compiler·errors·that·can·easily·be·caused·by·typos,·the·compiler·will·try·to·suggest·what·the·correct·variable·or·function·name,·could·be.·For·example,·given·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7715388934-1">(</span><span·class="ss">typos</span><span·class="p"·data-group-id="7715388934-1">)</span><span·class="p">.</span><span·class="w">156 </span><span·class="c1">%····|············^</span></code></pre><p>For·compiler·errors·that·can·easily·be·caused·by·typos,·the·compiler·will·try·to·suggest·what·the·correct·variable·or·function·name,·could·be.·For·example,·given·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7763642670-1">(</span><span·class="ss">typos</span><span·class="p"·data-group-id="7763642670-1">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7715388934-2">(</span><span·class="p"·data-group-id="7715388934-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="7715388934-3">]</span><span·class="p"·data-group-id="7715388934-2">)</span><span·class="p">.</span><span·class="w">157 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7763642670-2">(</span><span·class="p"·data-group-id="7763642670-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="7763642670-3">]</span><span·class="p"·data-group-id="7763642670-2">)</span><span·class="p">.</span><span·class="w">
  
158 </span><span·class="nf">bar</span><span·class="p"·data-group-id="7715388934-4">(</span><span·class="n">A0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B0</span><span·class="p"·data-group-id="7715388934-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">158 </span><span·class="nf">bar</span><span·class="p"·data-group-id="7763642670-4">(</span><span·class="n">A0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">B0</span><span·class="p"·data-group-id="7763642670-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
159 ····</span><span·class="n">A</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">B</span><span·class="p">.</span></code></pre><p>the·compiler·will·emit·the·following·error·messages:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;A&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;A0&#39;</span><span·class="o">?</span><span·class="w">159 ····</span><span·class="n">A</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">B</span><span·class="p">.</span></code></pre><p>the·compiler·will·emit·the·following·error·messages:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;A&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;A0&#39;</span><span·class="o">?</span><span·class="w">
160 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">160 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">
161 </span><span·class="c1">%·····|·····^</span><span·class="w">161 </span><span·class="c1">%·····|·····^</span><span·class="w">
  
162 </span><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">9</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;B&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;B0&#39;</span><span·class="o">?</span><span·class="w">162 </span><span·class="ss">typos</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">9</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">variable</span><span·class="w">·</span><span·class="ss">&#39;B&#39;</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unbound</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">did</span><span·class="w">·</span><span·class="ss">you</span><span·class="w">·</span><span·class="ss">mean</span><span·class="w">·</span><span·class="ss">&#39;B0&#39;</span><span·class="o">?</span><span·class="w">
163 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">163 </span><span·class="c1">%····5|·····A·+·B.</span><span·class="w">
164 </span><span·class="c1">%·····|·········^</span></code></pre><p>Error·types·that·now·suggest·correct·arities:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">bad_nowarn_bif_clash</code>,·<code·class="inline">undefined_function</code>.</p><p>Error·types·that·now·suggest·correct·names:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">undefined_on_load</code>,·<code·class="inline">undefined_function</code>,·<code·class="inline">undefined_record</code>,·<code·class="inline">undefined_field</code>,·<code·class="inline">unbound_var</code>.</p><p>Using·a·function·with·wrong·arity·has·higher·precedence·than·having·a·typo·in·the·function·name.·If·the·compiler·can·find·a·defined·function·with·the·same·name·but·a·different·arity,·it·will·not·suggest·a·defined·function·with·a·close-enough·name,·regardless·of·arity.</p><p>Own·Id:·OTP-19180·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8699"·title="">PR-8699</a>,·<a·href="https://github.com/erlang/otp/pull/9094"·title="">PR-9094</a></p></li><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="9405880473-1">[</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="[·...·truncated·by·diffoscope;·len:·691,·SHA:·0ee23746ca257f0cb39d650d5112d43d7be844f57024e671711948e8f9c746cc·...·]-1">]</span><span·class="p">.</span><span·class="w">164 </span><span·class="c1">%·····|·········^</span></code></pre><p>Error·types·that·now·suggest·correct·arities:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">bad_nowarn_bif_clash</code>,·<code·class="inline">undefined_function</code>.</p><p>Error·types·that·now·suggest·correct·names:·<code·class="inline">bad_inline</code>,·<code·class="inline">undefined_nif</code>,·<code·class="inline">bad_nowarn_unused_function</code>,·<code·class="inline">undefined_on_load</code>,·<code·class="inline">undefined_function</code>,·<code·class="inline">undefined_record</code>,·<code·class="inline">undefined_field</code>,·<code·class="inline">unbound_var</code>.</p><p>Using·a·function·with·wrong·arity·has·higher·precedence·than·having·a·typo·in·the·function·name.·If·the·compiler·can·find·a·defined·function·with·the·same·name·but·a·different·arity,·it·will·not·suggest·a·defined·function·with·a·close-enough·name,·regardless·of·arity.</p><p>Own·Id:·OTP-19180·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8699"·title="">PR-8699</a>,·<a·href="https://github.com/erlang/otp/pull/9094"·title="">PR-9094</a></p></li><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="8095381036-1">[</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="[·...·truncated·by·diffoscope;·len:·691,·SHA:·ff832d735a890a2e7d8dfdd261635240b192d8fef8970333784218219812b963·...·]-1">]</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p"·data-group-id="9405880473-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="9405880473-4">]</span></code></pre><p>Own·Id:·OTP-19184·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8926"·title="">PR-8926</a></p></li><li><p>Before·restarting·a·child,·a·supervisor·must·check·if·the·restart·limit·is·reached.·This·adds·a·penalty·to·the·overall·restart·time,·which·should·be·kept·low.·The·algorithm·165 </span><span·class="p"·data-group-id="8095381036-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="8095381036-4">]</span></code></pre><p>Own·Id:·OTP-19184·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8926"·title="">PR-8926</a></p></li><li><p>Before·restarting·a·child,·a·supervisor·must·check·if·the·restart·limit·is·reached.·This·adds·a·penalty·to·the·overall·restart·time,·which·should·be·kept·low.·The·algorithm·
166 has·been·optimized·from·2*O(n)·to·O(n)·behavior.</p><p>Own·Id:·OTP-19204·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8261"·title="">PR-8261</a></p></li><li><p>Added·the·possibility·to·configure·shell·docs·column·width·through·the·stdlib·parameter·<a·href="stdlib_app.html#shell_docs_columns"><code·class="inline">shell_docs_columns</code></a>.</p><p>Own·Id:·OTP-19224·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8651"·title="">PR-8651</a></p></li><li><p>The·<a·href="io.html#setopts/2"><code·class="inline">io:setopts/2</code></a>·function·now·accepts·the·<code·class="inline">line_history</code>·option·for·more·explicit·handling·of·when·to·save·shell·history.</p><p>Own·Id:·OTP-19230·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8792"·title="">PR-8792</a></p></li><li><p>The·shell·now·prints·a·help·message·explaining·how·to·interrupt·a·running·command·when·stuck·executing·a·command·for·longer·than·5·seconds.</p><p>Own·Id:·OTP-19231·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8793"·title="">PR-8793</a></p></li><li><p>Binaries·can·now·be·used·as·input·to·<a·href="calendar.html#rfc3339_to_system_time/2"><code·class="inline">calendar:rfc3339_to_system_time/2</code></a>,·and·produced·as·output·of·<a·href="calendar.html#system_time_to_rfc3339/2"><code·class="inline">calendar:system_time_to_rfc3339/2</code></a>.</p><p>Own·Id:·OTP-19250·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8812"·title="">PR-8812</a></p></li><li><p>The·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html#noshell"><code·class="inline">erl·-noshell</code></a>·mode·has·been·updated·to·have·two·sub·modes·called·<code·class="inline">raw</code>·and·<code·class="inline">cooked</code>,·where·<code·class="inline">cooked</code>·is·the·old·default·behaviour·and·<code·class="inline">raw</code>·can·be·used·to·bypass·the·line-editing·support·of·the·native·terminal.·Using·<code·class="inline">raw</code>·mode·it·is·possible·to·read·keystrokes·as·they·happen·without·the·user·having·to·press·Enter.·Also,·the·<code·class="inline">raw</code>·mode·does·not·echo·the·typed·characters·to·stdout.·An·example·of·how·to·create·a·tic-tac-toe·game·using·this·mechanism·is·included·in·<a·href="terminal_interface.html">the·documentation</a>.</p><p>Own·Id:·OTP-19314·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8037"·title="">GH-8037</a></p></li><li><p>Added·<a·href="io.html#get_password/0"><code·class="inline">io:get_password/0</code></a>·that·can·read·passwords·from·stdin·when·in·&quot;raw&quot;·<code·class="inline">-noshell</code>·mode.</p><p>Own·Id:·OTP-19315·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/pull/9006"·title="">PR-9006</a></p></li><li><p>New·strict·generators·have·been·added·for·comprehensions.</p><p>The·currently·existing·generators·are·&quot;relaxed&quot;:·they·ignore·terms·in·the166 has·been·optimized·from·2*O(n)·to·O(n)·behavior.</p><p>Own·Id:·OTP-19204·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8261"·title="">PR-8261</a></p></li><li><p>Added·the·possibility·to·configure·shell·docs·column·width·through·the·stdlib·parameter·<a·href="stdlib_app.html#shell_docs_columns"><code·class="inline">shell_docs_columns</code></a>.</p><p>Own·Id:·OTP-19224·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8651"·title="">PR-8651</a></p></li><li><p>The·<a·href="io.html#setopts/2"><code·class="inline">io:setopts/2</code></a>·function·now·accepts·the·<code·class="inline">line_history</code>·option·for·more·explicit·handling·of·when·to·save·shell·history.</p><p>Own·Id:·OTP-19230·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8792"·title="">PR-8792</a></p></li><li><p>The·shell·now·prints·a·help·message·explaining·how·to·interrupt·a·running·command·when·stuck·executing·a·command·for·longer·than·5·seconds.</p><p>Own·Id:·OTP-19231·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8793"·title="">PR-8793</a></p></li><li><p>Binaries·can·now·be·used·as·input·to·<a·href="calendar.html#rfc3339_to_system_time/2"><code·class="inline">calendar:rfc3339_to_system_time/2</code></a>,·and·produced·as·output·of·<a·href="calendar.html#system_time_to_rfc3339/2"><code·class="inline">calendar:system_time_to_rfc3339/2</code></a>.</p><p>Own·Id:·OTP-19250·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8812"·title="">PR-8812</a></p></li><li><p>The·<a·href="../../../../erts-16.0/doc/html/erl_cmd.html#noshell"><code·class="inline">erl·-noshell</code></a>·mode·has·been·updated·to·have·two·sub·modes·called·<code·class="inline">raw</code>·and·<code·class="inline">cooked</code>,·where·<code·class="inline">cooked</code>·is·the·old·default·behaviour·and·<code·class="inline">raw</code>·can·be·used·to·bypass·the·line-editing·support·of·the·native·terminal.·Using·<code·class="inline">raw</code>·mode·it·is·possible·to·read·keystrokes·as·they·happen·without·the·user·having·to·press·Enter.·Also,·the·<code·class="inline">raw</code>·mode·does·not·echo·the·typed·characters·to·stdout.·An·example·of·how·to·create·a·tic-tac-toe·game·using·this·mechanism·is·included·in·<a·href="terminal_interface.html">the·documentation</a>.</p><p>Own·Id:·OTP-19314·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/issues/8037"·title="">GH-8037</a></p></li><li><p>Added·<a·href="io.html#get_password/0"><code·class="inline">io:get_password/0</code></a>·that·can·read·passwords·from·stdin·when·in·&quot;raw&quot;·<code·class="inline">-noshell</code>·mode.</p><p>Own·Id:·OTP-19315·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8962"·title="">PR-8962</a>,·<a·href="https://github.com/erlang/otp/pull/9006"·title="">PR-9006</a></p></li><li><p>New·strict·generators·have·been·added·for·comprehensions.</p><p>The·currently·existing·generators·are·&quot;relaxed&quot;:·they·ignore·terms·in·the
167 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching167 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching
168 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="6663117612-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="6663117612-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="6663117612-2">}</span><span·class="o">=</span><span·class="n">T</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="6663117612-3">[</span><span·class="p"·data-group-id="6663117612-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6663117612-4">}</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6663117612-5">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="6663117612-5">}</span><span·class="p"·data-group-id="6663117612-3">]</span><span·class="p"·data-group-id="6663117612-1">]</span><span·class="p">.</span><span·class="w"> 
169 </span><span·class="p"·data-group-id="6663117612-6">[</span><span·class="p"·data-group-id="6663117612-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6663117612-7">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·340,·SHA:·ab96a8b165eed251d57efc02fe9016efa5da7a1d6317da1d4d7747e240e1d205·...·]168 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="7301831841-1">[</span><span·class="n">T</span><span·class[·...·truncated·by·diffoscope;·len:·1002,·SHA:·60dcaa588f42b9f4a123b890988baf52a54df863be77ee39dd125f2bf1a40a01·...·]
 169 </span><span·class="p"·data-group-id="7301831841-6">[</span><span·class="p"·data-group-id="7301831841-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="7301831841-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="7301831841-8">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7301831841-8">}</span><span·class="p"·data-group-id="7301831841-6">]</span></code></pre><p>If·the·intention·is·that·all·lists·processed·by·a·list·comprehension·must·only
170 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures170 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures
171 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="6634342148-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="6634342148-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·bedb2dbb3c5236df638129294f0511346e719369c38dcffe0274a8a33ea79342·...·]-1">]</span><span·class="p">.</span><span·class="w">171 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="2350144751-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="2350144751-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·8b311b4493a204e4ffb9f009ee83589646f1d7d97ddc7cc69162553051169b42·...·]-1">]</span><span·class="p">.</span><span·class="w">
172 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>New·options·for·suppressing·behaviour·warnings·have·been·added:</p><ul><li><code·class="inline">nowarn_conflicting_behaviours</code></li><li><code·class="inline">nowarn_undefined_behaviour_func</code></li><li><code·class="inline">nowarn_undefined_behaviour</code></li><li><code·class="inline">nowarn_undefined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_optional_callbacks</code></li></ul><p>Own·Id:·OTP-19334·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8985"·title="">GH-8985</a>,·<a·href="https://github.com/erlang/otp/pull/9020"·title="">PR-9020</a></p></li><li><p>The·<a·href="binary.html#join/2"><code·class="inline">join(Binaries,·Separator)</code></a>·function·that·joins·a·list·of·binaries·has·been·added·to·the·<a·href="binary.html"><code·class="inline">binary</code></a>·module.</p><p>Own·Id:·OTP-19337·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8099"·title="">GH-8099</a>,·<a·href="https://github.com/erlang/otp/pull/8100"·title="">PR-8100</a></p></li><li><p>The·<a·href="supervisor.html#which_child/2"><code·class="inline">supervisor:which_child/2</code></a>·function·has·been·added·to·facilitate·getting·the·pid·of·a·sibling··process;·that·is·a·process·under·same·supervisor·as·the·process·that·calls·to·call·the·new·function.</p><p>Own·Id:·OTP-19345·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8976"·title="">PR-8976</a></p></li><li><p>The·function·<a·href="erl_anno.html#set_end_location/2"><code·class="inline">erl_anno:set_end_location/2</code></a>·for·setting·the·end·location·of·a·token·has·been·added.</p><p>Own·Id:·OTP-19354·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8966"·title="">PR-8966</a></p></li><li><p>Added·a·warning·for·calling·non-exported·functions·with·the·remote·function·call·syntax·from·the·same·module,·and·likewise·for·the·remote·fun·syntax.</p><p>Own·Id:·OTP-19371·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9092"·title="">GH-9092</a>,·<a·href="https://github.com/erlang/otp/pull/9095"·title="">PR-9095</a></p></li><li><p>The·<code·class="inline">warn_deprecated_catch</code>·option·enables·warnings·for·use·of·old-style·catch·expressions·on·the·form·<code·class="inline">catch·Expr</code>·instead·of·the·modern·<code·class="inline">try·...·catch·...·end</code>.·To·prevent·new·uses·of·uses·of·old·catches·to·be·added,·this·compiler·option·can·be·enabled·on·the·project·level·and·<code·class="inline">-compile(nowarn_deprecated_catch).</code>·added·to·individual·files·that·still·contain·old·catches.</p><p>Own·Id:·OTP-19425·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9154"·title="">PR-9154</a></p></li><li><p>Module·<a·href="re.html"><code·class="inline">re</code></a>·has·been·updated·to·use·PCRE2,·which·is·mostly·backward·compatible·with·PCRE.</p><p>The·most·noticeable·incompatibilities·are</p><ul><li>The·default·character·encoding·is·pure·ASCII·and·not·Latin1.·Unicode·support172 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>New·options·for·suppressing·behaviour·warnings·have·been·added:</p><ul><li><code·class="inline">nowarn_conflicting_behaviours</code></li><li><code·class="inline">nowarn_undefined_behaviour_func</code></li><li><code·class="inline">nowarn_undefined_behaviour</code></li><li><code·class="inline">nowarn_undefined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_behaviour_callbacks</code></li><li><code·class="inline">nowarn_ill_defined_optional_callbacks</code></li></ul><p>Own·Id:·OTP-19334·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8985"·title="">GH-8985</a>,·<a·href="https://github.com/erlang/otp/pull/9020"·title="">PR-9020</a></p></li><li><p>The·<a·href="binary.html#join/2"><code·class="inline">join(Binaries,·Separator)</code></a>·function·that·joins·a·list·of·binaries·has·been·added·to·the·<a·href="binary.html"><code·class="inline">binary</code></a>·module.</p><p>Own·Id:·OTP-19337·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8099"·title="">GH-8099</a>,·<a·href="https://github.com/erlang/otp/pull/8100"·title="">PR-8100</a></p></li><li><p>The·<a·href="supervisor.html#which_child/2"><code·class="inline">supervisor:which_child/2</code></a>·function·has·been·added·to·facilitate·getting·the·pid·of·a·sibling··process;·that·is·a·process·under·same·supervisor·as·the·process·that·calls·to·call·the·new·function.</p><p>Own·Id:·OTP-19345·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8976"·title="">PR-8976</a></p></li><li><p>The·function·<a·href="erl_anno.html#set_end_location/2"><code·class="inline">erl_anno:set_end_location/2</code></a>·for·setting·the·end·location·of·a·token·has·been·added.</p><p>Own·Id:·OTP-19354·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8966"·title="">PR-8966</a></p></li><li><p>Added·a·warning·for·calling·non-exported·functions·with·the·remote·function·call·syntax·from·the·same·module,·and·likewise·for·the·remote·fun·syntax.</p><p>Own·Id:·OTP-19371·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/9092"·title="">GH-9092</a>,·<a·href="https://github.com/erlang/otp/pull/9095"·title="">PR-9095</a></p></li><li><p>The·<code·class="inline">warn_deprecated_catch</code>·option·enables·warnings·for·use·of·old-style·catch·expressions·on·the·form·<code·class="inline">catch·Expr</code>·instead·of·the·modern·<code·class="inline">try·...·catch·...·end</code>.·To·prevent·new·uses·of·uses·of·old·catches·to·be·added,·this·compiler·option·can·be·enabled·on·the·project·level·and·<code·class="inline">-compile(nowarn_deprecated_catch).</code>·added·to·individual·files·that·still·contain·old·catches.</p><p>Own·Id:·OTP-19425·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9154"·title="">PR-9154</a></p></li><li><p>Module·<a·href="re.html"><code·class="inline">re</code></a>·has·been·updated·to·use·PCRE2,·which·is·mostly·backward·compatible·with·PCRE.</p><p>The·most·noticeable·incompatibilities·are</p><ul><li>The·default·character·encoding·is·pure·ASCII·and·not·Latin1.·Unicode·support
173 is·still·available·with·options·<code·class="inline">unicode</code>·and·<code·class="inline">ucp</code>.</li><li>Options·<code·class="inline">bsr_anycrlf</code>,·<code·class="inline">bsr_unicode</code>·and·<code·class="inline">{newline,_}</code>·are·only·set·when·a173 is·still·available·with·options·<code·class="inline">unicode</code>·and·<code·class="inline">ucp</code>.</li><li>Options·<code·class="inline">bsr_anycrlf</code>,·<code·class="inline">bsr_unicode</code>·and·<code·class="inline">{newline,_}</code>·are·only·set·when·a
174 regex·is·compiled·and·cannot·be·changed·at·matching·for·precompiled·regex.</li></ul><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19431·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9299"·title="">PR-9299</a>,·<a·href="https://github.com/erlang/otp/pull/9610"·title="">PR-9610</a></p></li><li><p>Defining·a·fun·in·terms·of·an·imported·function·is·not·allowed.·Before·this·release,·the·compiler·would·not·catch·this·kind·of·error·if·the·name·of·the·imported·function·happened·to·be·a·BIF.··Consider·this·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7211375063-1">(</span><span·class="ss">fun_example</span><span·class="p"·data-group-id="7211375063-1">)</span><span·class="p">.</span><span·class="w">174 regex·is·compiled·and·cannot·be·changed·at·matching·for·precompiled·regex.</li></ul><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19431·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9299"·title="">PR-9299</a>,·<a·href="https://github.com/erlang/otp/pull/9610"·title="">PR-9610</a></p></li><li><p>Defining·a·fun·in·terms·of·an·imported·function·is·not·allowed.·Before·this·release,·the·compiler·would·not·catch·this·kind·of·error·if·the·name·of·the·imported·function·happened·to·be·a·BIF.··Consider·this·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2283985373-1">(</span><span·class="ss">fun_example</span><span·class="p"·data-group-id="2283985373-1">)</span><span·class="p">.</span><span·class="w">
175 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7211375063-2">(</span><span·class="p"·data-group-id="7211375063-3">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·112,·SHA:·c517464be0f0a2a4a6bd3e4efb8551be78a3817885a21e9398b3560a5a35cc85·...·]3-2">)</span><span·class="p">.</span><span·class="w">175 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2283985373-2">(</span><span·class="p"·data-group-id="2283985373-3">[</span><span·class="ss">foo</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">bar</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·112,·SHA:·b699202b735e3a6f5bc5c515c9019aa8d60b00885bfec0bfca82a0feeb1b24db·...·]3-2">)</span><span·class="p">.</span><span·class="w">
176 </span><span·class="p">-</span><span·class="na">import</span><span·class="p"·data-group-id="7211375063-4">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7211375063-5">[</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·191,·SHA:·c75ce3a3f7dcc901611bb6a557927e1d26727b5cee3408577d84f3c54a8e1866·...·]3-4">)</span><span·class="p">.</span><span·class="w">176 </span><span·class="p">-</span><span·class="na">import</span><span·class="p"·data-group-id="2283985373-4">(</span><span·class="ss">m</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2283985373-5">[</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·cl[·...·truncated·by·diffoscope;·len:·191,·SHA:·0b79fc47c90e86623203fe4ccf484d7e0efcbb28fcf4e0bab72affd08ed2ff17·...·]3-4">)</span><span·class="p">.</span><span·class="w">
  
177 </span><span·class="nf">foo</span><span·class="p"·data-group-id="7211375063-6">(</span><span·class="p"·data-group-id="7211375063-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">177 </span><span·class="nf">foo</span><span·class="p"·data-group-id="2283985373-6">(</span><span·class="p"·data-group-id="2283985373-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
178 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="w">178 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">max</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="w">
  
179 </span><span·class="nf">bar</span><span·class="p"·data-group-id="7211375063-7">(</span><span·class="p"·data-group-id="7211375063-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">179 </span><span·class="nf">bar</span><span·class="p"·data-group-id="2283985373-7">(</span><span·class="p"·data-group-id="2283985373-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
180 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">not_a_bif</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">.</span></code></pre><p>The·compiler·in·Erlang/OTP·27·would·generate·the·following·messages:</p><pre><code·class="text">fun_example.erl:9:5:·function·not_a_bif/0·undefined180 ····</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">not_a_bif</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">.</span></code></pre><p>The·compiler·in·Erlang/OTP·27·would·generate·the·following·messages:</p><pre><code·class="text">fun_example.erl:9:5:·function·not_a_bif/0·undefined
181 %····9|·····fun·not_a_bif/0.181 %····9|·····fun·not_a_bif/0.
182 %·····|·····^182 %·····|·····^
  
183 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--183 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--
184 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash184 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash
185 %····3|·-import(m,·[max/2,·not_a_bif/0]).185 %····3|·-import(m,·[max/2,·not_a_bif/0]).
Offset 196, 29 lines modifiedOffset 196, 29 lines modified
196 fun_example.erl:9:5:·creating·a·fun·from·imported·name·not_a_bif/0·is·not·allowed196 fun_example.erl:9:5:·creating·a·fun·from·imported·name·not_a_bif/0·is·not·allowed
197 %····9|·····fun·not_a_bif/0.197 %····9|·····fun·not_a_bif/0.
198 %·····|·····^198 %·····|·····^
  
199 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--199 fun_example.erl:3:2:·Warning:·import·directive·overrides·auto-imported·BIF·max/2·--
200 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash200 use·&quot;-compile({no_auto_import,[max/2]}).&quot;·to·resolve·name·clash
201 %····3|·-import(m,·[max/2,·not_a_bif/0]).201 %····3|·-import(m,·[max/2,·not_a_bif/0]).
202 %·····|··^</code></pre><p>Also,·attempting·to·call·a·local·function·having·the·same·name·as·auto-imported·BIF·would·result·in·an·error·if·the·BIF·was·added·to·Erlang/OTP·before·R14,·and·a·warning·for·newer·BIFs.·This·has·been·changed·to·always·emit·a·warning.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="1546016665-1">(</span><span·class="ss">bif_example</span><span·class="p"·data-group-id="1546016665-1">)</span><span·class="p">.</span><span·class="w">202 %·····|··^</code></pre><p>Also,·attempting·to·call·a·local·function·having·the·same·name·as·auto-imported·BIF·would·result·in·an·error·if·the·BIF·was·added·to·Erlang/OTP·before·R14,·and·a·warning·for·newer·BIFs.·This·has·been·changed·to·always·emit·a·warning.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8350267873-1">(</span><span·class="ss">bif_example</span><span·class="p"·data-group-id="8350267873-1">)</span><span·class="p">.</span><span·class="w">
203 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="1546016665-2">(</span><span·class="p"·data-group-id="1546016665-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="1546016665-3">]</span><span·class="p"·data-group-id="1546016665-2">)</span><span·class="p">.</span><span·class="w">203 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8350267873-2">(</span><span·class="p"·data-group-id="8350267873-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="8350267873-3">]</span><span·class="p"·data-group-id="8350267873-2">)</span><span·class="p">.</span><span·class="w">
  
204 </span><span·class="nf">bar</span><span·class="p"·data-group-id="1546016665-4">(</span><span·class="n">B</span><span·class="p"·data-group-id="1546016665-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">204 </span><span·class="nf">bar</span><span·class="p"·data-group-id="8350267873-4">(</span><span·class="n">B</span><span·class="p"·data-group-id="8350267873-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
205 ····</span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="1546016665-5">(</span><span·class="n">B</span><span·class="p"·data-group-id="1546016665-5">)</span><span·class="p">.</span><span·class="w">205 ····</span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="8350267873-5">(</span><span·class="n">B</span><span·class="p"·data-group-id="8350267873-5">)</span><span·class="p">.</span><span·class="w">
  
206 </span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="1546016665-6">(</span><span·class="n">B</span><span·class="p"·data-group-id="1546016665-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">206 </span><span·class="nf">is_boolean</span><span·class="p"·data-group-id="8350267873-6">(</span><span·class="n">B</span><span·class="p"·data-group-id="8350267873-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
207 ········</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="ow">orelse</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">.</span></code></pre><p>will·now·result·in·the·following·warning·instead·of·an·error:</p><pre><code·class="text">if_example.erl:5:5:·Warning:·ambiguous·call·of·overridden·auto-imported·BIF·is_boolean/1·--207 ········</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">true</span><span·class="w">·</span><span·class="ow">orelse</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="ss">false</span><span·class="p">.</span></code></pre><p>will·now·result·in·the·following·warning·instead·of·an·error:</p><pre><code·class="text">if_example.erl:5:5:·Warning:·ambiguous·call·of·overridden·auto-imported·BIF·is_boolean/1·--
208 use·erlang:is_boolean/1·or·&quot;-compile({no_auto_import,[is_boolean/1]}).&quot;·to·resolve·name·clash208 use·erlang:is_boolean/1·or·&quot;-compile({no_auto_import,[is_boolean/1]}).&quot;·to·resolve·name·clash
209 %····5|·····is_boolean(B).209 %····5|·····is_boolean(B).
210 %·····|·····^</code></pre><p>Own·Id:·OTP-19432·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9246"·title="">PR-9246</a></p></li><li><p>It·is·now·possible·to·use·any·base·for·floating·point·numbers·as·described·in·<a·href="https://www.erlang.org/eeps/eep-0075">EEP·75:·Based·Floating·Point·Literals</a>.</p><p>Computers·represent·floating·point·numbers·in·binary,·but·such·numbers·are·typically·printed·using·base·ten,·for·example·0.314159265e1.·To·maintain·exact·bit-level·precision·when·converting·numbers·to·and·from·text,·it·is·better·to·use·a·base·that·matches·the·internally·used·base,·such·as·16·for·a·compact·but·still·exact·representation,·or·2·for·visualizing·or·writing·down·the·exact·internal·format.·One·particular·case·where·such·exact·representations·are·useful·is·in·code·generating·tools.</p><p>Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="mi">2#0</span><span·class="p">.</span><span·class="mi">111</span><span·class="p">.</span><span·class="w">210 %·····|·····^</code></pre><p>Own·Id:·OTP-19432·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9246"·title="">PR-9246</a></p></li><li><p>It·is·now·possible·to·use·any·base·for·floating·point·numbers·as·described·in·<a·href="https://www.erlang.org/eeps/eep-0075">EEP·75:·Based·Floating·Point·Literals</a>.</p><p>Computers·represent·floating·point·numbers·in·binary,·but·such·numbers·are·typically·printed·using·base·ten,·for·example·0.314159265e1.·To·maintain·exact·bit-level·precision·when·converting·numbers·to·and·from·text,·it·is·better·to·use·a·base·that·matches·the·internally·used·base,·such·as·16·for·a·compact·but·still·exact·representation,·or·2·for·visualizing·or·writing·down·the·exact·internal·format.·One·particular·case·where·such·exact·representations·are·useful·is·in·code·generating·tools.</p><p>Examples:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="mi">2#0</span><span·class="p">.</span><span·class="mi">111</span><span·class="p">.</span><span·class="w">
211 </span><span·class="mf">0.875</span><span·class="gp·unselectable">211 </span><span·class="mf">0.875</span><span·class="gp·unselectable">
212 &gt;·</span><span·class="mi">16#fefe</span><span·class="p">.</span><span·class="ss">fefe</span><span·class="o">#</span><span·class="ss">e16</span><span·class="p">.</span><span·class="w">212 &gt;·</span><span·class="mi">16#fefe</span><span·class="p">.</span><span·class="ss">fefe</span><span·class="o">#</span><span·class="ss">e16</span><span·class="p">.</span><span·class="w">
213 </span><span·class="mf">1.2041849337671418e24</span></code></pre><p>Own·Id:·OTP-19452·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9106"·title="">PR-9106</a></p></li><li><p>The·callback·function·<code·class="inline">handle_continue/2</code>·in·<code·class="inline">gen_server</code>·callback·modules·is·now·cached·like·the·others,·thanks·to·code·cleanup·and·optimization·of·the·internal·behaviour·loop.</p><p>This·should·only·improve·performance,·not·affect·functionality.</p><p>Own·Id:·OTP-19474·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9333"·title="">PR-9333</a></p></li><li><p>Encoding·done·by·the·<a·href="json.html"><code·class="inline">json</code></a>·module·has·been·optimized.</p><p>Own·Id:·OTP-19476·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9251"·title="">PR-9251</a></p></li><li><p>There·is·a·new·<a·href="zstd.html"><code·class="inline">zstd</code></a>·module·that·does·<a·href="https://facebook.github.io/zstd/">Zstandard</a>·compression.</p><p>Own·Id:·OTP-19477·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9316"·title="">PR-9316</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>Functions·of·a·module·can·now·be·grouped·in·the·shell·code·completion·by·using·the·<em>group</em>·key·in·the·<em>-doc</em>·attribute·e.g.·<code·class="inline">-doc(#{group=&gt;&lt;&lt;&quot;Public·API&quot;&gt;&gt;).·fetch()-&gt;...</code>.</p><p>Functions,·callbacks·and·types·in·the·module·reference·documentation·of·OTP·is·now·grouped·using·this·feature.</p><p>Own·Id:·OTP-19483·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9408"·title="">PR-9408</a></p></li><li><p>Added·calendar:universal_time_to_system_time/1,2·and·calendar:local_time_to_system_time/1,2</p><p>Own·Id:·OTP-19505·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9445"·title="">PR-9445</a></p></li><li><p>Improve·error·messages·for·<a·href="json.html#decode/1"><code·class="inline">json:decode/1</code></a>.</p><p>Own·Id:·OTP-19508·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9484"·title="">PR-9484</a></p></li><li><p>ETS·<code·class="inline">heir</code>·can·be·set·without·getting·an·<code·class="inline">ETS-TRANSFER</code>·message.·Useful·when·the·heir·is·a·supervisor·process·that·cannot·handle·custom·messages.</p><p>Own·Id:·OTP-19512·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7970"·title="">PR-7970</a></p></li><li><p>Added·support·for·the·Unicode·16·standard.</p><p>Own·Id:·OTP-19516·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9518"·title="">PR-9518</a>,·<a·href="https://github.com/erlang/otp/pull/9141"·title="">PR-9141</a></p></li><li><p>When·documenting·a·function·or·type·that·needs·to·deal·with·durations,·usually·we·can·document·it·as·&quot;time·in·milliseconds&quot;.·Since·the·<code·class="inline">timer</code>·family·of·functions·(<code·class="inline">hms</code>,·<code·class="inline">hours</code>,·<code·class="inline">seconds</code>,·...)·all·return·time·in·milliseconds,·it·is·useful·to·be·able·to·use·this·type·in·type·specifications.</p><p>Own·Id:·OTP-19526·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9515"·title="">PR-9515</a></p></li><li><p>A·new·event·time-out·has·been·implemented·in·<code·class="inline">gen_server</code>,·that·behaves·more·like·the·one·in·<code·class="inline">gen_statem</code>.</p><p>See·the·type·<code·class="inline">gen_server:action/0</code>·for·<code·class="inline">{timeout|hibernate,...}</code>,·and·also·related·functions.</p><p>Own·Id:·OTP-19537·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9287"·title="">PR-9287</a>,·<a·href="https://github.com/erlang/otp/pull/9615"·title="">PR-9615</a>,·<a·href="https://github.com/erlang/otp/pull/9621"·title="">PR-9621</a></p></li><li><p>Line·numbers·used·to·be·reported·in·the·following·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">last</span><span·class="p"·data-group-id="5903017160-1">(</span><span·class="p"·data-group-id="5903017160-2">[</span><span·class="p"·data-group-id="5903017160-2">]</span><span·class="p"·data-group-id="5903017160-1">)</span><span·class="p">.</span><span·class="w">213 </span><span·class="mf">1.2041849337671418e24</span></code></pre><p>Own·Id:·OTP-19452·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9106"·title="">PR-9106</a></p></li><li><p>The·callback·function·<code·class="inline">handle_continue/2</code>·in·<code·class="inline">gen_server</code>·callback·modules·is·now·cached·like·the·others,·thanks·to·code·cleanup·and·optimization·of·the·internal·behaviour·loop.</p><p>This·should·only·improve·performance,·not·affect·functionality.</p><p>Own·Id:·OTP-19474·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9333"·title="">PR-9333</a></p></li><li><p>Encoding·done·by·the·<a·href="json.html"><code·class="inline">json</code></a>·module·has·been·optimized.</p><p>Own·Id:·OTP-19476·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9251"·title="">PR-9251</a></p></li><li><p>There·is·a·new·<a·href="zstd.html"><code·class="inline">zstd</code></a>·module·that·does·<a·href="https://facebook.github.io/zstd/">Zstandard</a>·compression.</p><p>Own·Id:·OTP-19477·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9316"·title="">PR-9316</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>Functions·of·a·module·can·now·be·grouped·in·the·shell·code·completion·by·using·the·<em>group</em>·key·in·the·<em>-doc</em>·attribute·e.g.·<code·class="inline">-doc(#{group=&gt;&lt;&lt;&quot;Public·API&quot;&gt;&gt;).·fetch()-&gt;...</code>.</p><p>Functions,·callbacks·and·types·in·the·module·reference·documentation·of·OTP·is·now·grouped·using·this·feature.</p><p>Own·Id:·OTP-19483·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9408"·title="">PR-9408</a></p></li><li><p>Added·calendar:universal_time_to_system_time/1,2·and·calendar:local_time_to_system_time/1,2</p><p>Own·Id:·OTP-19505·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9445"·title="">PR-9445</a></p></li><li><p>Improve·error·messages·for·<a·href="json.html#decode/1"><code·class="inline">json:decode/1</code></a>.</p><p>Own·Id:·OTP-19508·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9484"·title="">PR-9484</a></p></li><li><p>ETS·<code·class="inline">heir</code>·can·be·set·without·getting·an·<code·class="inline">ETS-TRANSFER</code>·message.·Useful·when·the·heir·is·a·supervisor·process·that·cannot·handle·custom·messages.</p><p>Own·Id:·OTP-19512·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7970"·title="">PR-7970</a></p></li><li><p>Added·support·for·the·Unicode·16·standard.</p><p>Own·Id:·OTP-19516·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9518"·title="">PR-9518</a>,·<a·href="https://github.com/erlang/otp/pull/9141"·title="">PR-9141</a></p></li><li><p>When·documenting·a·function·or·type·that·needs·to·deal·with·durations,·usually·we·can·document·it·as·&quot;time·in·milliseconds&quot;.·Since·the·<code·class="inline">timer</code>·family·of·functions·(<code·class="inline">hms</code>,·<code·class="inline">hours</code>,·<code·class="inline">seconds</code>,·...)·all·return·time·in·milliseconds,·it·is·useful·to·be·able·to·use·this·type·in·type·specifications.</p><p>Own·Id:·OTP-19526·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9515"·title="">PR-9515</a></p></li><li><p>A·new·event·time-out·has·been·implemented·in·<code·class="inline">gen_server</code>,·that·behaves·more·like·the·one·in·<code·class="inline">gen_statem</code>.</p><p>See·the·type·<code·class="inline">gen_server:action/0</code>·for·<code·class="inline">{timeout|hibernate,...}</code>,·and·also·related·functions.</p><p>Own·Id:·OTP-19537·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9287"·title="">PR-9287</a>,·<a·href="https://github.com/erlang/otp/pull/9615"·title="">PR-9615</a>,·<a·href="https://github.com/erlang/otp/pull/9621"·title="">PR-9621</a></p></li><li><p>Line·numbers·used·to·be·reported·in·the·following·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">last</span><span·class="p"·data-group-id="9541089162-1">(</span><span·class="p"·data-group-id="9541089162-2">[</span><span·class="p"·data-group-id="9541089162-2">]</span><span·class="p"·data-group-id="9541089162-1">)</span><span·class="p">.</span><span·class="w">
214 </span><span·class="gt">**·exception·error:·no·function·clause·matching·lists:last([])·(lists.erl,·line·389)</span></code></pre><p>Starting·from·Erlang/OTP·28,·line·numbers·are·now·reported·in·the·following·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">last</span><span·class="p"·data-group-id="5705838624-1">(</span><span·class="p"·data-group-id="5705838624-2">[</span><span·class="p"·data-group-id="5705838624-2">]</span><span·class="p"·data-group-id="5705838624-1">)</span><span·class="p">.</span><span·class="w">214 </span><span·class="gt">**·exception·error:·no·function·clause·matching·lists:last([])·(lists.erl,·line·389)</span></code></pre><p>Starting·from·Erlang/OTP·28,·line·numbers·are·now·reported·in·the·following·way:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">last</span><span·class="p"·data-group-id="8783762734-1">(</span><span·class="p"·data-group-id="8783762734-2">[</span><span·class="p"·data-group-id="8783762734-2">]</span><span·class="p"·data-group-id="8783762734-1">)</span><span·class="p">.</span><span·class="w">
215 </span><span·class="gt">**·exception·error:·no·function·clause·matching·lists:last([])·(lists.erl:389)</span></code></pre><p>Own·Id:·OTP-19538·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9468"·title="">PR-9468</a></p></li><li><p>Upgrade·pcre2·to·10.45</p><p>Own·Id:·OTP-19541·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9582"·title="">PR-9582</a></p></li><li><p>Added·functions·that·produce·utf-8·binaries·instead·of·iolists.·215 </span><span·class="gt">**·exception·error:·no·function·clause·matching·lists:last([])·(lists.erl:389)</span></code></pre><p>Own·Id:·OTP-19538·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9468"·title="">PR-9468</a></p></li><li><p>Upgrade·pcre2·to·10.45</p><p>Own·Id:·OTP-19541·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9582"·title="">PR-9582</a></p></li><li><p>Added·functions·that·produce·utf-8·binaries·instead·of·iolists.·
216 New·functions·are:·<a·href="io_lib.html#bformat/2"><code·class="inline">io_lib:bformat/2</code></a>,·<a·href="io_lib.html#bformat/3"><code·class="inline">io_lib:bformat/3</code></a>,·<a·href="io_lib.html#bfwrite/2"><code·class="inline">io_lib:bfwrite/2</code></a>,·<a·href="io_lib.html#bfwrite/3"><code·class="inline">io_lib:bfwrite/3</code></a>,·<a·href="io_lib.html#bwrite/2"><code·class="inline">io_lib:bwrite/2</code></a>·and·<a·href="io_lib.html#bwrite_string/3"><code·class="inline">io_lib:bwrite_string/3</code></a>.</p><p>Own·Id:·OTP-19556·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9772"·title="">PR-9772</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>A·list·of·PCRE2·incompatibilities·is·documented·in·a·user's·guide·for·stdlib.</p><p>Own·Id:·OTP-19578·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9705"·title="">PR-9705</a></p></li><li><p>Change·automatic·hibernation·of·static·supervisors·so·that·they·will·hibernate·after·being·idle·for·1·second·instead·of·only·after·starting,·dynamic·supervisors·(simple_one_for_one)·will·not·be·hibernated·at·all.··An·option·to·the·supervisor·is·added·to·make·it·configurable·for·the·application.·This·option·defaults·to·1·second·for·static·supervisors·and·to·infinity·for·the·simple_one_for_one·supervisors.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19597·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9680"·title="">PR-9680</a></p></li></ul><h2·id="stdlib-6-2-2"·class="section-heading">216 New·functions·are:·<a·href="io_lib.html#bformat/2"><code·class="inline">io_lib:bformat/2</code></a>,·<a·href="io_lib.html#bformat/3"><code·class="inline">io_lib:bformat/3</code></a>,·<a·href="io_lib.html#bfwrite/2"><code·class="inline">io_lib:bfwrite/2</code></a>,·<a·href="io_lib.html#bfwrite/3"><code·class="inline">io_lib:bfwrite/3</code></a>,·<a·href="io_lib.html#bwrite/2"><code·class="inline">io_lib:bwrite/2</code></a>·and·<a·href="io_lib.html#bwrite_string/3"><code·class="inline">io_lib:bwrite_string/3</code></a>.</p><p>Own·Id:·OTP-19556·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9772"·title="">PR-9772</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li><li><p>A·list·of·PCRE2·incompatibilities·is·documented·in·a·user's·guide·for·stdlib.</p><p>Own·Id:·OTP-19578·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9705"·title="">PR-9705</a></p></li><li><p>Change·automatic·hibernation·of·static·supervisors·so·that·they·will·hibernate·after·being·idle·for·1·second·instead·of·only·after·starting,·dynamic·supervisors·(simple_one_for_one)·will·not·be·hibernated·at·all.··An·option·to·the·supervisor·is·added·to·make·it·configurable·for·the·application.·This·option·defaults·to·1·second·for·static·supervisors·and·to·infinity·for·the·simple_one_for_one·supervisors.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19597·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9680"·title="">PR-9680</a></p></li></ul><h2·id="stdlib-6-2-2"·class="section-heading">
217 ··<a·href="#stdlib-6-2-2"·class="hover-link">217 ··<a·href="#stdlib-6-2-2"·class="hover-link">
218 ····<i·class="ri-link-m"·aria-hidden="true"></i>218 ····<i·class="ri-link-m"·aria-hidden="true"></i>
219 ··</a>219 ··</a>
220 ··<span·class="text">STDLIB·6.2.2</span>220 ··<span·class="text">STDLIB·6.2.2</span>
221 </h2>221 </h2>
Offset 250, 33 lines modifiedOffset 250, 33 lines modified
250 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">250 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">
251 ····<i·class="ri-link-m"·aria-hidden="true"></i>251 ····<i·class="ri-link-m"·aria-hidden="true"></i>
252 ··</a>252 ··</a>
253 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>253 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
254 </h3>254 </h3>
255 <ul><li><p>Made·it·possible·to·expand·help·text·displayed·by·pressing·^[h·by·pressing·^[h·again.</p><p>Own·Id:·OTP-19260·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8884"·title="">PR-8884</a></p></li><li><p>Defining·a·fun·in·the·shell·using·the·syntax·<code·class="inline">fun·Name/Arity</code>·would·fail.·This·has·been·corrected·so·that·the·following·now·works:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nb">is_atom</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">255 <ul><li><p>Made·it·possible·to·expand·help·text·displayed·by·pressing·^[h·by·pressing·^[h·again.</p><p>Own·Id:·OTP-19260·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8884"·title="">PR-8884</a></p></li><li><p>Defining·a·fun·in·the·shell·using·the·syntax·<code·class="inline">fun·Name/Arity</code>·would·fail.·This·has·been·corrected·so·that·the·following·now·works:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nb">is_atom</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">
256 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">256 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">
257 &gt;·</span><span·class="n">F</span><span·class="p"·data-group-id="3561536713-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="3561536713-1">)</span><span·class="p">.</span><span·class="w">257 &gt;·</span><span·class="n">F</span><span·class="p"·data-group-id="9332063699-1">(</span><span·class="ss">a</span><span·class="p"·data-group-id="9332063699-1">)</span><span·class="p">.</span><span·class="w">
258 </span><span·class="ss">true</span><span·class="gp·unselectable">258 </span><span·class="ss">true</span><span·class="gp·unselectable">
259 3&gt;·</span><span·class="n">Id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">id</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">259 3&gt;·</span><span·class="n">Id</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">id</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">.</span><span·class="w">
260 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">260 </span><span·class="p">#</span><span·class="n">Fun</span><span·class="p">.</span><span·class="ss">erl</span><span·class="p">.</span><span·class="mf">42.18682967</span><span·class="o">&gt;</span><span·class="gp·unselectable">
261 4&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="3561536713-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="3561536713-2">)</span><span·class="p">.</span><span·class="w">261 4&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="9332063699-2">(</span><span·class="mi">42</span><span·class="p"·data-group-id="9332063699-2">)</span><span·class="p">.</span><span·class="w">
262 </span><span·class="gt">**·exception·error:·undefined·shell·command·id/1</span><span·class="gp·unselectable">262 </span><span·class="gt">**·exception·error:·undefined·shell·command·id/1</span><span·class="gp·unselectable">
263 5&gt;·</span><span·class="nf">id</span><span·class="p"·data-group-id="3561536713-3">(</span><span·class="n">I</span><span·class="p"·data-group-id="3561536713-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">I</span><span·class="p">.</span><span·class="w">263 5&gt;·</span><span·class="nf">id</span><span·class="p"·data-group-id="9332063699-3">(</span><span·class="n">I</span><span·class="p"·data-group-id="9332063699-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">I</span><span·class="p">.</span><span·class="w">
264 </span><span·class="ss">ok</span><span·class="gp·unselectable">264 </span><span·class="ss">ok</span><span·class="gp·unselectable">
265 6&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="3561536713-4">(</span><span·class="mi">42</span><span·class="p"·data-group-id="3561536713-4">)</span><span·class="p">.</span><span·class="w">265 6&gt;·</span><span·class="n">Id</span><span·class="p"·data-group-id="9332063699-4">(</span><span·class="mi">42</span><span·class="p"·data-group-id="9332063699-4">)</span><span·class="p">.</span><span·class="w">
266 </span><span·class="mi">42</span></code></pre><p>The·Debugger·has·also·been·corrected·to·correctly·handle·this·syntax·for·a·BIF.</p><p>Own·Id:·OTP-19322·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8963"·title="">GH-8963</a>,·<a·href="https://github.com/erlang/otp/pull/8987"·title="">PR-8987</a></p></li><li><p>Fixed·a·bug·where·completion·of·'fun('·would·cause·the·shell·to·crash.</p><p>Own·Id:·OTP-19351·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9043"·title="">PR-9043</a></p></li><li><p>Fixed·a·bug·causing·the·shell·to·crash·while·trying·to·complete·an·expression·starting·with·a·'/'·or·a·variable·followed·by·'('·or·'/'.·E.g.·Foo/·and·Foo(.</p><p>Own·Id:·OTP-19361·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9078"·title="">PR-9078</a></p></li><li><p><a·href="zip.html#extract/2"><code·class="inline">zip:extract/2</code></a>·with·<code·class="inline">keep_old_files</code>·now·respects·the·<code·class="inline">cwd</code>·option.</p><p>Own·Id:·OTP-19370·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9097"·title="">PR-9097</a>,·<a·href="https://github.com/erlang/otp/issues/9087"·title="">GH-9087</a></p></li><li><p>Fixed·an·error·in·uri_string:percent_decode·spec</p><p>Own·Id:·OTP-19380·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8755"·title="">GH-8755</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">266 </span><span·class="mi">42</span></code></pre><p>The·Debugger·has·also·been·corrected·to·correctly·handle·this·syntax·for·a·BIF.</p><p>Own·Id:·OTP-19322·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8963"·title="">GH-8963</a>,·<a·href="https://github.com/erlang/otp/pull/8987"·title="">PR-8987</a></p></li><li><p>Fixed·a·bug·where·completion·of·'fun('·would·cause·the·shell·to·crash.</p><p>Own·Id:·OTP-19351·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9043"·title="">PR-9043</a></p></li><li><p>Fixed·a·bug·causing·the·shell·to·crash·while·trying·to·complete·an·expression·starting·with·a·'/'·or·a·variable·followed·by·'('·or·'/'.·E.g.·Foo/·and·Foo(.</p><p>Own·Id:·OTP-19361·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9078"·title="">PR-9078</a></p></li><li><p><a·href="zip.html#extract/2"><code·class="inline">zip:extract/2</code></a>·with·<code·class="inline">keep_old_files</code>·now·respects·the·<code·class="inline">cwd</code>·option.</p><p>Own·Id:·OTP-19370·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9097"·title="">PR-9097</a>,·<a·href="https://github.com/erlang/otp/issues/9087"·title="">GH-9087</a></p></li><li><p>Fixed·an·error·in·uri_string:percent_decode·spec</p><p>Own·Id:·OTP-19380·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8755"·title="">GH-8755</a></p></li></ul><h3·id="improvements-and-new-features-1"·class="section-heading">
267 ··<a·href="#improvements-and-new-features-1"·class="hover-link">267 ··<a·href="#improvements-and-new-features-1"·class="hover-link">
268 ····<i·class="ri-link-m"·aria-hidden="true"></i>268 ····<i·class="ri-link-m"·aria-hidden="true"></i>
269 ··</a>269 ··</a>
270 ··<span·class="text">Improvements·and·New·Features</span>270 ··<span·class="text">Improvements·and·New·Features</span>
271 </h3>271 </h3>
272 <ul><li><p>Updated·shell·docs·to·display·the·type·spec,·that·is,·<code·class="inline">h(erlang,·min,·2)</code>)·now·prints·the·type·spec·and·documentation·in·the·shell.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">h</span><span·class="p"·data-group-id="3139429245-1">(</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="ss">min</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3139429245-1">)</span><span·class="p">.</span><span·class="w">272 <ul><li><p>Updated·shell·docs·to·display·the·type·spec,·that·is,·<code·class="inline">h(erlang,·min,·2)</code>)·now·prints·the·type·spec·and·documentation·in·the·shell.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="nf">h</span><span·class="p"·data-group-id="5148830739-1">(</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="ss">min</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="5148830739-1">)</span><span·class="p">.</span><span·class="w">
273 </span><span·class="w">273 </span><span·class="w">
274 ··</span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">min</span><span·class="p"·data-group-id="3139429245-2">(</span><span·class="n">Term1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Term2</span><span·class="p"·data-group-id="3139429245-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Minimum</span><span·class="w">274 ··</span><span·class="p">-</span><span·class="na">spec</span><span·class="w">·</span><span·class="nf">min</span><span·class="p"·data-group-id="5148830739-2">(</span><span·class="n">Term1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Term2</span><span·class="p"·data-group-id="5148830739-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Minimum</span><span·class="w">
275 ···············</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Term1</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="3139429245-3">(</span><span·class="p"·data-group-id="3139429245-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Term2</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·421,·SHA:·4061eb243f8c0cb551cc202f33c9120f3567f07132f1730e8f622c760bdfefdf·...·]-5">)</span><span·class="p">.</span><span·class="w">275 ···············</span><span·class="k">when</span><span·class="w">·</span><span·class="n">Term1</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">term</span><span·class="p"·data-group-id="5148830739-3">(</span><span·class="p"·data-group-id="5148830739-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Term2</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·421,·SHA:·52af268aedec81202fcf59b6f2bd950d1bb8bdb0fd688e78f386c0568213ac46·...·]-5">)</span><span·class="p">.</span><span·class="w">
  
276 ··</span><span·class="n">Returns</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">smallest</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="n">Term1</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="n">Term2</span><span·class="p">.</span><span·class="w">·</span><span·class="n">If</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">terms</span><span·class="w">·</span><span·class="ss">compare</span><span·class="w">·</span><span·class="ss">equal</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="ss">operator</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Term1</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">returned</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-19234·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8544"·title="">GH-8544</a>,·<a·href="https://github.com/erlang/otp/pull/8833"·title="">PR-8833</a></p></li><li><p>The·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:io_device/0"><code·class="inline">file:io_device/0</code></a>·type·has·been·updated·to·clearly·show·the·difference·between·a·<code·class="inline">raw</code>·and·<code·class="inline">cooked</code>·IoDevice.</p><p>Own·Id:·OTP-19301·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8956"·title="">PR-8956</a></p></li><li><p>Added·<a·href="json.html#format_key_value_list/3"><code·class="inline">json:format_key_value_list/3</code></a>·and276 ··</span><span·class="n">Returns</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">smallest</span><span·class="w">·</span><span·class="k">of</span><span·class="w">·</span><span·class="n">Term1</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="n">Term2</span><span·class="p">.</span><span·class="w">·</span><span·class="n">If</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="ss">terms</span><span·class="w">·</span><span·class="ss">compare</span><span·class="w">·</span><span·class="ss">equal</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="ss">the</span><span·class="w">·</span><span·class="o">==</span><span·class="w">·</span><span·class="ss">operator</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Term1</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">returned</span><span·class="p">.</span></code></pre><p>Own·Id:·OTP-19234·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8544"·title="">GH-8544</a>,·<a·href="https://github.com/erlang/otp/pull/8833"·title="">PR-8833</a></p></li><li><p>The·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#t:io_device/0"><code·class="inline">file:io_device/0</code></a>·type·has·been·updated·to·clearly·show·the·difference·between·a·<code·class="inline">raw</code>·and·<code·class="inline">cooked</code>·IoDevice.</p><p>Own·Id:·OTP-19301·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8956"·title="">PR-8956</a></p></li><li><p>Added·<a·href="json.html#format_key_value_list/3"><code·class="inline">json:format_key_value_list/3</code></a>·and
277 <a·href="json.html#format_key_value_list_checked/3"><code·class="inline">json:format_key_value_list_checked/3</code></a>.</p><p>Own·Id:·OTP-19320·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8889"·title="">PR-8889</a></p></li><li><p>Improved·documentation·of·<a·href="../../../../erts-16.0/doc/html/time_correction.html#timers">timers</a>.</p><p>Own·Id:·OTP-19360·Aux·Id:·ERIERL-1149,·<a·href="https://github.com/erlang/otp/pull/9062"·title="">PR-9062</a></p></li><li><p>Added·logging·support·to·<a·href="io.html#t:user/0"><code·class="inline">io:user/0</code></a>,·<a·href="io.html#t:standard_io/0"><code·class="inline">io:standard_io/0</code></a>·and·<a·href="io.html#t:standard_error/0"><code·class="inline">io:standard_error/0</code></a>.·See·<a·href="io.html#setopts/2"><code·class="inline">io:setopts/2</code></a>·for·more·details.</p><p>Own·Id:·OTP-19372·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8947"·title="">PR-8947</a></p></li></ul><h2·id="stdlib-6-1-2"·class="section-heading">277 <a·href="json.html#format_key_value_list_checked/3"><code·class="inline">json:format_key_value_list_checked/3</code></a>.</p><p>Own·Id:·OTP-19320·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8889"·title="">PR-8889</a></p></li><li><p>Improved·documentation·of·<a·href="../../../../erts-16.0/doc/html/time_correction.html#timers">timers</a>.</p><p>Own·Id:·OTP-19360·Aux·Id:·ERIERL-1149,·<a·href="https://github.com/erlang/otp/pull/9062"·title="">PR-9062</a></p></li><li><p>Added·logging·support·to·<a·href="io.html#t:user/0"><code·class="inline">io:user/0</code></a>,·<a·href="io.html#t:standard_io/0"><code·class="inline">io:standard_io/0</code></a>·and·<a·href="io.html#t:standard_error/0"><code·class="inline">io:standard_error/0</code></a>.·See·<a·href="io.html#setopts/2"><code·class="inline">io:setopts/2</code></a>·for·more·details.</p><p>Own·Id:·OTP-19372·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8947"·title="">PR-8947</a></p></li></ul><h2·id="stdlib-6-1-2"·class="section-heading">
278 ··<a·href="#stdlib-6-1-2"·class="hover-link">278 ··<a·href="#stdlib-6-1-2"·class="hover-link">
279 ····<i·class="ri-link-m"·aria-hidden="true"></i>279 ····<i·class="ri-link-m"·aria-hidden="true"></i>
280 ··</a>280 ··</a>
281 ··<span·class="text">STDLIB·6.1.2</span>281 ··<span·class="text">STDLIB·6.1.2</span>
Offset 348, 16 lines modifiedOffset 348, 16 lines modified
348 <a·href="binary.html#split/2"><code·class="inline">binary:split/2,3</code></a></p><p>The·call·<code·class="inline">binary:copy(&lt;&lt;1:1&gt;&gt;,·0)</code>·would·return·an·empty·binary·instead·of·raising·an·exception.·Similarly,·calls·to·<a·href="binary.html#part/2"><code·class="inline">binary:part/2,3</code></a>·attempting·to·extract·0·bytes·at·position·0·of·a·bitstring·would·return·an·empty·binary·instead·of·raising·an·exception.</p><p>Own·Id:·OTP-18743·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7607"·title="">PR-7607</a>,·<a·href="https://github.com/erlang/otp/pull/7628"·title="">PR-7628</a></p></li><li><p>The·documentation·for·the·preprocessor·now·mentions·that·<code·class="inline">defined(Name)</code>·can·be·called·in·the·condition·for·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·directive·to·test·whether·<code·class="inline">Name</code>·is·the·name·of·a·defined·macro.·(This·feature·was·implemented·in·OTP·21.)</p><p>If·a·function·call·in·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·with·a·name·that·is·not·the·name·of·a·guard·BIF,·there·would·not·be·a·compilation·error,·but·would·instead·cause·the·lines·following·the·directive·to·be·skipped.·This·has·now·been·changed·to·be·a·compilation·error.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18784·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7706"·title="">GH-7706</a>,·<a·href="https://github.com/erlang/otp/pull/7726"·title="">PR-7726</a></p></li><li><p><code·class="inline">get_until</code>·requests·using·the·I/O·protocol·now·correctly·return·a·binary·or·list·when·<code·class="inline">eof</code>·is·the·last·item·returned·by·the·callback.</p><p>Own·Id:·OTP-18930·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7993"·title="">PR-7993</a>,·<a·href="https://github.com/erlang/otp/issues/4992"·title="">GH-4992</a></p></li><li><p>The·error·handling·the·<code·class="inline">simple_one_for_one</code>·supervisor·has·been·enhanced.·A·transient·child·returning·<code·class="inline">ignore</code>·will·no·longer·cause·a·crash.</p><p>Also,·automatic·shutdown·has·been·disabled·because·it·does·not·make·sense·for·this·supervisor·type.·That·is·was·allowed·is·considered·a·bug.·Therefore,·we·don't·consider·this·an·incompatible·change.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19029·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8230"·title="">PR-8230</a></p></li><li><p>Fix·shell·expansion·to·not·crash·when·expanding·a·map·with·non-atom·keys·and·to·not·list·zero·arity·functions·when·an·argument·has·been·given.</p><p>Own·Id:·OTP-19073·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8375"·title="">PR-8375</a>,·<a·href="https://github.com/erlang/otp/issues/8366"·title="">GH-8366</a>,·<a·href="https://github.com/erlang/otp/issues/8365"·title="">GH-8365</a>,·<a·href="https://github.com/erlang/otp/issues/8364"·title="">GH-8364</a></p></li></ul><h3·id="improvements-and-new-features-3"·class="section-heading">348 <a·href="binary.html#split/2"><code·class="inline">binary:split/2,3</code></a></p><p>The·call·<code·class="inline">binary:copy(&lt;&lt;1:1&gt;&gt;,·0)</code>·would·return·an·empty·binary·instead·of·raising·an·exception.·Similarly,·calls·to·<a·href="binary.html#part/2"><code·class="inline">binary:part/2,3</code></a>·attempting·to·extract·0·bytes·at·position·0·of·a·bitstring·would·return·an·empty·binary·instead·of·raising·an·exception.</p><p>Own·Id:·OTP-18743·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7607"·title="">PR-7607</a>,·<a·href="https://github.com/erlang/otp/pull/7628"·title="">PR-7628</a></p></li><li><p>The·documentation·for·the·preprocessor·now·mentions·that·<code·class="inline">defined(Name)</code>·can·be·called·in·the·condition·for·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·directive·to·test·whether·<code·class="inline">Name</code>·is·the·name·of·a·defined·macro.·(This·feature·was·implemented·in·OTP·21.)</p><p>If·a·function·call·in·an·<code·class="inline">-if</code>·or·<code·class="inline">-elif</code>·with·a·name·that·is·not·the·name·of·a·guard·BIF,·there·would·not·be·a·compilation·error,·but·would·instead·cause·the·lines·following·the·directive·to·be·skipped.·This·has·now·been·changed·to·be·a·compilation·error.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18784·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/7706"·title="">GH-7706</a>,·<a·href="https://github.com/erlang/otp/pull/7726"·title="">PR-7726</a></p></li><li><p><code·class="inline">get_until</code>·requests·using·the·I/O·protocol·now·correctly·return·a·binary·or·list·when·<code·class="inline">eof</code>·is·the·last·item·returned·by·the·callback.</p><p>Own·Id:·OTP-18930·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7993"·title="">PR-7993</a>,·<a·href="https://github.com/erlang/otp/issues/4992"·title="">GH-4992</a></p></li><li><p>The·error·handling·the·<code·class="inline">simple_one_for_one</code>·supervisor·has·been·enhanced.·A·transient·child·returning·<code·class="inline">ignore</code>·will·no·longer·cause·a·crash.</p><p>Also,·automatic·shutdown·has·been·disabled·because·it·does·not·make·sense·for·this·supervisor·type.·That·is·was·allowed·is·considered·a·bug.·Therefore,·we·don't·consider·this·an·incompatible·change.</p><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-19029·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8230"·title="">PR-8230</a></p></li><li><p>Fix·shell·expansion·to·not·crash·when·expanding·a·map·with·non-atom·keys·and·to·not·list·zero·arity·functions·when·an·argument·has·been·given.</p><p>Own·Id:·OTP-19073·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8375"·title="">PR-8375</a>,·<a·href="https://github.com/erlang/otp/issues/8366"·title="">GH-8366</a>,·<a·href="https://github.com/erlang/otp/issues/8365"·title="">GH-8365</a>,·<a·href="https://github.com/erlang/otp/issues/8364"·title="">GH-8364</a></p></li></ul><h3·id="improvements-and-new-features-3"·class="section-heading">
349 ··<a·href="#improvements-and-new-features-3"·class="hover-link">349 ··<a·href="#improvements-and-new-features-3"·class="hover-link">
Max diff block lines reached; 26419/117938 bytes (22.40%) of diff not shown.
684 B
html2text {}
Max HTML report size reached
125 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/orddict.html
    
Offset 138, 21 lines modifiedOffset 138, 21 lines modified
138 ··<a·href="#module-notes"·class="hover-link">138 ··<a·href="#module-notes"·class="hover-link">
139 ····<i·class="ri-link-m"·aria-hidden="true"></i>139 ····<i·class="ri-link-m"·aria-hidden="true"></i>
140 ··</a>140 ··</a>
141 ··<span·class="text">Notes</span>141 ··<span·class="text">Notes</span>
142 </h2>142 </h2>
143 <p><a·href=""·id="notes"></a></p><p>Functions·<a·href="#append/3"><code·class="inline">append/3</code></a>·and·<a·href="#append_list/3"><code·class="inline">append_list/3</code></a>·are143 <p><a·href=""·id="notes"></a></p><p>Functions·<a·href="#append/3"><code·class="inline">append/3</code></a>·and·<a·href="#append_list/3"><code·class="inline">append_list/3</code></a>·are
144 included·so·that·keyed·values·can·be·stored·in·a·list·<em>accumulator</em>,·for144 included·so·that·keyed·values·can·be·stored·in·a·list·<em>accumulator</em>,·for
145 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">D0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="5784717669-1">(</span><span·class="p"·data-group-id="5784717669-1">)</span><span·class="p">,</span><span·class="w">145 example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">D0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="3433544836-1">(</span><span·class="p"·data-group-id="3433544836-1">)</span><span·class="p">,</span><span·class="w">
146 ··</span><span·class="n">D1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">store</span><span·class="p"·data-group-id="5784717669-2">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5784717669-3">[</span><span·class="p"·data-group-id="5784717669-3">]</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·63,·SHA:·c13aeb328dce1039fa5d8c9a671626fb1894c5dd5bdd9ff4588cfdfeb96bbfae·...·]-2">)</span><span·class="p">,</span><span·class="w">146 ··</span><span·class="n">D1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">store</span><span·class="p"·data-group-id="3433544836-2">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3433544836-3">[</span><span·class="p"·data-group-id="3433544836-3">]</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·63,·SHA:·877c3be27f9e0bbfbfc6ef84231867e381540fbf54ab5b6c2a92a0359b4b7b3a·...·]-2">)</span><span·class="p">,</span><span·class="w">
147 ··</span><span·class="n">D2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="5784717669-4">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D1</span><span·class="p"·data-group-id="5784717669-4">)</span><span·class="p">,</span><span·class="w">147 ··</span><span·class="n">D2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="3433544836-4">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D1</span><span·class="p"·data-group-id="3433544836-4">)</span><span·class="p">,</span><span·class="w">
148 ··</span><span·class="n">D3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="5784717669-5">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D2</span><span·class="p"·data-group-id="5784717669-5">)</span><span·class="p">,</span><span·class="w">148 ··</span><span·class="n">D3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="3433544836-5">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D2</span><span·class="p"·data-group-id="3433544836-5">)</span><span·class="p">,</span><span·class="w">
149 ··</span><span·class="n">D4</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="5784717669-6">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D3</span><span·class="p"·data-group-id="5784717669-6">)</span><span·class="p">,</span><span·class="w">149 ··</span><span·class="n">D4</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="3433544836-6">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">f3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D3</span><span·class="p"·data-group-id="3433544836-6">)</span><span·class="p">,</span><span·class="w">
150 ··</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">fetch</span><span·class="p"·data-group-id="5784717669-7">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D4</span><span·class="p"·data-group-id="5784717669-7">)</span><span·class="p">.</span><span·class="w">150 ··</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">fetch</span><span·class="p"·data-group-id="3433544836-7">(</span><span·class="ss">files</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D4</span><span·class="p"·data-group-id="3433544836-7">)</span><span·class="p">.</span><span·class="w">
151 </span><span·class="p"·data-group-id="5784717669-8">[</span><span·class="ss">f1</span><span·class="p">,</span><span·class="ss">f2</span><span·class="p">,</span><span·class="ss">f3</span><span·class="p"·data-group-id="5784717669-8">]</span></code></pre><p>This·saves·the·trouble·of·first·fetching·a·keyed·value,·appending·a·new·value·to151 </span><span·class="p"·data-group-id="3433544836-8">[</span><span·class="ss">f1</span><span·class="p">,</span><span·class="ss">f2</span><span·class="p">,</span><span·class="ss">f3</span><span·class="p"·data-group-id="3433544836-8">]</span></code></pre><p>This·saves·the·trouble·of·first·fetching·a·keyed·value,·appending·a·new·value·to
152 the·list·of·stored·values,·and·storing·the·result.</p><p>Function·<a·href="#fetch/2"><code·class="inline">fetch/2</code></a>·is·to·be·used·if·the·key·is·known·to·be·in·the152 the·list·of·stored·values,·and·storing·the·result.</p><p>Function·<a·href="#fetch/2"><code·class="inline">fetch/2</code></a>·is·to·be·used·if·the·key·is·known·to·be·in·the
153 dictionary,·otherwise·function·<a·href="#find/2"><code·class="inline">find/2</code></a>.</p><h2·id="module-see-also"·class="section-heading">153 dictionary,·otherwise·function·<a·href="#find/2"><code·class="inline">find/2</code></a>.</p><h2·id="module-see-also"·class="section-heading">
154 ··<a·href="#module-see-also"·class="hover-link">154 ··<a·href="#module-see-also"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">See·Also</span>157 ··<span·class="text">See·Also</span>
158 </h2>158 </h2>
Offset 527, 24 lines modifiedOffset 527, 24 lines modified
527 ··········<pre·translate="no"><span·class="attribute">-spec</span>·append(Key,·Value,·Orddict1)·->·Orddict2527 ··········<pre·translate="no"><span·class="attribute">-spec</span>·append(Key,·Value,·Orddict1)·->·Orddict2
528 ················when·Orddict1·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value),·Orddict2·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value).</pre>528 ················when·Orddict1·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value),·Orddict2·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value).</pre>
  
529 ······</div>529 ······</div>
  
530 <p>Appends·a·new·<code·class="inline">Value</code>·to·the·current·list·of·values·associated·with·<code·class="inline">Key</code>.·An530 <p>Appends·a·new·<code·class="inline">Value</code>·to·the·current·list·of·values·associated·with·<code·class="inline">Key</code>.·An
531 exception·is·generated·if·the·initial·value·associated·with·<code·class="inline">Key</code>·is·not·a·list531 exception·is·generated·if·the·initial·value·associated·with·<code·class="inline">Key</code>·is·not·a·list
532 of·values.</p><p>See·also·section·<a·href="orddict.html#module-notes">Notes</a>.</p><p><em>Example·1:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">OrdDict1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="2128638147-1">(</span><span·class="p"·data-group-id="2128638147-2">[</span><span·class="p"·data-group-id="2128638147-3">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2128638147-4">[</span><span·class="p"·data-group-id="2128638147-4">]</span><span·class="p"·data-group-id="2128638147-3">}</span><span·class="p"·data-group-id="2128638147-2">]</span><span·class="p"·data-group-id="2128638147-1">)</span><span·class="p">.</span><span·class="w"> 
533 </span><span·class="p"·data-group-id="2128638147-5">[</span><span·class="p"·data-group-id="2128638147-6">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="2128638147-7">[</span><span·class="p"·data-group-id="2128638147[·...·truncated·by·diffoscope;·len:·146,·SHA:·54b6a93d7fd0c395c90f2296990a924d00e365c8e9e4432248df31bbeb5a4c54·...·]">532 of·values.</p><p>See·also·section·<a·href="orddict.html#module-notes">Notes</a>.</p><p><em>Example·1:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">OrdDict1</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·671,·SHA:·1a1cfb0a27da1ba224506d58f1fc120204b33daab38e43f9504cc51bf844a906·...·]">
 533 </span><span·class="p"·data-group-id="0141499040-5">[</span><span·class="p"·data-group-id="0141499040-6">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="0141499040-7">[</span><span·class="p"·data-group-id="0141499040-7">]</span><span·class="p"·data-group-id="0141499040-6">}</span><span·class="p"·data-group-id="0141499040-5">]</span><span·class="gp·unselectable">
534 2&gt;·</span><span·class="n">OrdDict2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="2128638147-8">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="2128638147-8">)</span><span·class="p">.</span><span·class="w">534 2&gt;·</span><span·class="n">OrdDict2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="0141499040-8">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="0141499040-8">)</span><span·class="p">.</span><span·class="w">
535 </span><span·class="p"·data-group-id="2128638147-9">[</span><span·class="p"·data-group-id="2128638147-10">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="2128638147-11">[</span><span·class="mi">1</span><span·class="p"·data-group-id="2128638147-11">]</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·c9ca5346092ba7c83db3161abd20f86245164224c7837942f5bbb1244be18d6e·...·]-9">]</span><span·class="gp·unselectable">535 </span><span·class="p"·data-group-id="0141499040-9">[</span><span·class="p"·data-group-id="0141499040-10">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="0141499040-11">[</span><span·class="mi">1</span><span·class="p"·data-group-id="0141499040-11">]</spa[·...·truncated·by·diffoscope;·len:·97,·SHA:·c6a40e00c5155bdb6df6eed3e2125b3a697f41afea73bcfc8abf2217b39624de·...·]-9">]</span><span·class="gp·unselectable">
536 3&gt;·</span><span·class="n">OrdDict3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="2128638147-12">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OrdDict2</span><span·class="p"·data-group-id="2128638147-12">)</span><span·class="p">.</span><span·class="w">536 3&gt;·</span><span·class="n">OrdDict3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="0141499040-12">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OrdDict2</span><span·class="p"·data-group-id="0141499040-12">)</span><span·class="p">.</span><span·class="w">
537 </span><span·class="p"·data-group-id="2128638147-13">[</span><span·class="p"·data-group-id="2128638147-14">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="2128638147-15">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·147,·SHA:·6d8c879fb9ee249d3c53986cd00ec01022fd22839d6f49c35f8b1d5f277b4c69·...·]-13">]</span><span·class="gp·unselectable">537 </span><span·class="p"·data-group-id="0141499040-13">[</span><span·class="p"·data-group-id="0141499040-14">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="0141499040-15">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·147,·SHA:·8aec2e90a275aad5f3749b70b5acdcc9c0d2429affe5a9c4f077ee08ba290080·...·]-13">]</span><span·class="gp·unselectable">
538 4&gt;·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="2128638147-16">(</span><span·class="ss">y</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OrdDict3</span><span·class="p"·data-group-id="2128638147-16">)</span><span·class="p">.</span><span·class="w">538 4&gt;·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="0141499040-16">(</span><span·class="ss">y</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OrdDict3</span><span·class="p"·data-group-id="0141499040-16">)</span><span·class="p">.</span><span·class="w">
539 </span><span·class="p"·data-group-id="2128638147-17">[</span><span·class="p"·data-group-id="2128638147-18">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="2128638147-19">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="2128638147-19">]</span><span·class="p"·data-group-id="2128638147-18">}</span><span·class="p">,</span><span·class="p"·data-group-id="2128638147-20">{</span><span·class="ss">y</span><span·class="p">,</span><span·class="p"·data-group-id="2128638147-21">[</span><span·class="mi">3</span><span·class="p"·data-group-id="2128638147-21">]</span><span·class="p"·data-group-id="2128638147-20">}</span><span·class="p"·data-group-id="2128638147-17">]</span></code></pre><p><em>Example·2:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">OrdDict1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="9634720273-1">(</span><span·class="p"·data-group-id="9634720273-2">[</span><span·class="p"·data-group-id="9634720273-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">no_list</span><span·class="p"·data-group-id="9634720273-3">}</span><span·class="p"·data-group-id="9634720273-2">]</span><span·class="p"·data-group-id="9634720273-1">)</span><span·class="p">.</span><span·class="w"> 
540 </span><span·class="p"·data-group-id="9634720273-4">[</span><span·class="p"·data-group-id="9634720273-5">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">no_list</span><span·class="p"·data-group-id="9634720273-5">}</span><span·class="p"·data-group-id="9634720273-4">]</[·...·truncated·by·diffoscope;·len:·33,·SHA:·b2e352d8309445f25b55be1913f1379d4d74b8b1a31e1190b1cf594ab0bdcba8·...·]">539 </span><span·class="p"·data-group-id="0141499040-17">[</span><span·class="p"·data-group-id="0141499040-18">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="0141499040-19">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·1255,·SHA:·434bd6031cfb42d11a1c476f604b5affe694f619aa423143e0a64ae01603bfb7·...·]">
 540 </span><span·class="p"·data-group-id="8265972956-4">[</span><span·class="p"·data-group-id="8265972956-5">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">no_list</span><span·class="p"·data-group-id="8265972956-5">}</span><span·class="p"·data-group-id="8265972956-4">]</span><span·class="gp·unselectable">
541 2&gt;·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="9634720273-6">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="9634720273-6">)</span><span·class="p">.</span><span·class="w">541 2&gt;·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append</span><span·class="p"·data-group-id="8265972956-6">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="8265972956-6">)</span><span·class="p">.</span><span·class="w">
542 </span><span·class="gt">**·exception·error:·bad·argument542 </span><span·class="gt">**·exception·error:·bad·argument
543 ·····in·operator··++/2543 ·····in·operator··++/2
544 ········called·as·no_list·++·[1]</span></code></pre>544 ········called·as·no_list·++·[1]</span></code></pre>
545 ··</section>545 ··</section>
546 </section>546 </section>
547 <section·class="detail"·id="append_list/3">547 <section·class="detail"·id="append_list/3">
  
Offset 571, 20 lines modifiedOffset 571, 20 lines modified
571 ·························Orddict1·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value),571 ·························Orddict1·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value),
572 ·························Orddict2·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value).</pre>572 ·························Orddict2·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value).</pre>
  
573 ······</div>573 ······</div>
  
574 <p>Appends·a·list·of·values·<code·class="inline">ValList</code>·to·the·current·list·of·values·associated·with574 <p>Appends·a·list·of·values·<code·class="inline">ValList</code>·to·the·current·list·of·values·associated·with
575 <code·class="inline">Key</code>.·An·exception·is·generated·if·the·initial·value·associated·with·<code·class="inline">Key</code>·is575 <code·class="inline">Key</code>.·An·exception·is·generated·if·the·initial·value·associated·with·<code·class="inline">Key</code>·is
576 not·a·list·of·values.</p><p>See·also·section·<a·href="orddict.html#module-notes">Notes</a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">OrdDict1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="4803304969-1">(</span><span·class="p"·data-group-id="4803304969-2">[</span><span·class="p"·data-group-id="4803304969-3">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4803304969-4">[</span><span·class="p"·data-group-id="4803304969-4">]</span><span·class="p"·data-group-id="4803304969-3">}</span><span·class="p"·data-group-id="4803304969-2">]</span><span·class="p"·data-group-id="4803304969-1">)</span><span·class="p">.</span><span·class="w"> 
577 </span><span·class="p"·data-group-id="4803304969-5">[</span><span·class="p"·data-group-id="4803304969-6">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="4803304969-7">[</span><span·class="p"·data-group-id="4803304969[·...·truncated·by·diffoscope;·len:·146,·SHA:·2841a5910f5d1eac8ebf37d86ccc49975b76b6265a70ae3dd9e462650d456c95·...·]">576 not·a·list·of·values.</p><p>See·also·section·<a·href="orddict.html#module-notes">Notes</a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">OrdDict1</span><span·class="w"[·...·truncated·by·diffoscope;·len:·680,·SHA:·11f1a65b68bc3e733189d236446d12bdb32b1f6d2ca3c9abe93afa5bd9d4a729·...·]">
 577 </span><span·class="p"·data-group-id="9084191835-5">[</span><span·class="p"·data-group-id="9084191835-6">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="9084191835-7">[</span><span·class="p"·data-group-id="9084191835-7">]</span><span·class="p"·data-group-id="9084191835-6">}</span><span·class="p"·data-group-id="9084191835-5">]</span><span·class="gp·unselectable">
578 2&gt;·</span><span·class="n">OrdDict2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append_list</span><span·class="p"·data-group-id="4803304969-8">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4803304969-9">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="480[·...·truncated·by·diffoscope;·len:·139,·SHA:·d6a4c1b16bab0e6a05d6af6199fad426a0d55e2f8497b2e0e5044ea3ad19ccab·...·]-8">)</span><span·class="p">.</span><span·class="w">578 2&gt;·</span><span·class="n">OrdDict2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append_list</span><span·class="p"·data-group-id="9084191835-8">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9084191835-9">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="908[·...·truncated·by·diffoscope;·len:·139,·SHA:·806f86b7e5d1576f90d6fbc6951ab2fa644cbac990ef5bff8636818cfdbb1f32·...·]-8">)</span><span·class="p">.</span><span·class="w">
579 </span><span·class="p"·data-group-id="4803304969-10">[</span><span·class="p"·data-group-id="4803304969-11">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="4803304969-12">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·147,·SHA:·5323d8d490d2cef9a3d78e5ab95d05fbbeab011c0cd66b0dfc108fd2adbf83af·...·]-10">]</span><span·class="gp·unselectable">579 </span><span·class="p"·data-group-id="9084191835-10">[</span><span·class="p"·data-group-id="9084191835-11">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="9084191835-12">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·147,·SHA:·d415ff59fcbb27af953e0337416f427bd8c36c82c92ce7f4a5cbc97edbbbc1c6·...·]-10">]</span><span·class="gp·unselectable">
580 3&gt;·</span><span·class="n">OrdDict3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append_list</span><span·class="p"·data-group-id="4803304969-13">(</span><span·class="ss">y</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4803304969-14">[</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="4[·...·truncated·by·diffoscope;·len:·142,·SHA:·2cf397ac78616a3c38a7a252713e7980678be9cd0c27670a5ca1840f619c4834·...·]-13">)</span><span·class="p">.</span><span·class="w">580 3&gt;·</span><span·class="n">OrdDict3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">append_list</span><span·class="p"·data-group-id="9084191835-13">(</span><span·class="ss">y</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9084191835-14">[</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="9[·...·truncated·by·diffoscope;·len:·142,·SHA:·9af55219dc72bb6c5ac163eb805a802459b7f478621bfe07e6f74f3c04183aeb·...·]-13">)</span><span·class="p">.</span><span·class="w">
581 </span><span·class="p"·data-group-id="4803304969-15">[</span><span·class="p"·data-group-id="4803304969-16">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="4803304969-17">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·510,·SHA:·93bffe38f06d51af9401c7fda5dc998b8640c7b416c04c3d8efb26745c55bfd3·...·]-15">]</span></code></pre>581 </span><span·class="p"·data-group-id="9084191835-15">[</span><span·class="p"·data-group-id="9084191835-16">{</span><span·class="ss">x</span><span·class="p">,</span><span·class="p"·data-group-id="9084191835-17">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><s[·...·truncated·by·diffoscope;·len:·510,·SHA:·ce3dabfd216e971a213a334acfa6f351fe6b0dfc799413acc2e035d8c1ea60e0·...·]-15">]</span></code></pre>
582 ··</section>582 ··</section>
583 </section>583 </section>
584 <section·class="detail"·id="erase/2">584 <section·class="detail"·id="erase/2">
  
585 ··<div·class="detail-header">585 ··<div·class="detail-header">
586 ····<a·href="#erase/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">586 ····<a·href="#erase/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
587 ······<i·class="ri-link-m"·aria-hidden="true"></i>587 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 603, 18 lines modifiedOffset 603, 18 lines modified
603 ······<div·class="specs">603 ······<div·class="specs">
  
604 ··········<pre·translate="no"><span·class="attribute">-spec</span>·erase(Key,·Orddict1)·->·Orddict2604 ··········<pre·translate="no"><span·class="attribute">-spec</span>·erase(Key,·Orddict1)·->·Orddict2
605 ···············when·Orddict1·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value),·Orddict2·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value).</pre>605 ···············when·Orddict1·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value),·Orddict2·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value).</pre>
  
606 ······</div>606 ······</div>
  
607 <p>Erases·all·items·with·a·specified·key·from·a·dictionary.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">OrdDict1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="7413088669-1">(</span><span·class="p"·data-group-id="7413088669-2">[</span><span·class="p"·data-group-id="7413088669-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·369,·SHA:·96904207000b0289695d82b0824004be2d89b78dd08b4328a9ead868d35c06ac·...·]-1">)</span><span·class="p">.</span><span·class="w">607 <p>Erases·all·items·with·a·specified·key·from·a·dictionary.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">OrdDict1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="6024464338-1">(</span><span·class="p"·data-group-id="6024464338-2">[</span><span·class="p"·data-group-id="6024464338-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·369,·SHA:·b55067c085bad8b405dba6b64704bf1602c584b0eb02c5fb534eaca889b4b46c·...·]-1">)</span><span·class="p">.</span><span·class="w">
608 </span><span·class="p"·data-group-id="7413088669-5">[</span><span·class="p"·data-group-id="7413088669-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="7413088669-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·191,·SHA:·9581b60897d96b7eab497fccd62395e2e447d412f850137ce5c0139b02bd6983·...·]-5">]</span><span·class="gp·unselectable">608 </span><span·class="p"·data-group-id="6024464338-5">[</span><span·class="p"·data-group-id="6024464338-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6024464338-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·191,·SHA:·64ecc17a625e9f438945a24c54d821d5d86bc78f0962a94383aa4558cbc2be43·...·]-5">]</span><span·class="gp·unselectable">
609 2&gt;·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">erase</span><span·class="p"·data-group-id="7413088669-8">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="7413088669-8">)</span><span·class="p">.</span><span·class="w">609 2&gt;·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">erase</span><span·class="p"·data-group-id="6024464338-8">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="6024464338-8">)</span><span·class="p">.</span><span·class="w">
610 </span><span·class="p"·data-group-id="7413088669-9">[</span><span·class="p"·data-group-id="7413088669-10">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7413088669-10">}</span><span·class="p"·data-group-id="7413088669-9">]</span></code></pre>610 </span><span·class="p"·data-group-id="6024464338-9">[</span><span·class="p"·data-group-id="6024464338-10">{</span><span·class="ss">b</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="6024464338-10">}</span><span·class="p"·data-group-id="6024464338-9">]</span></code></pre>
611 ··</section>611 ··</section>
612 </section>612 </section>
613 <section·class="detail"·id="fetch/2">613 <section·class="detail"·id="fetch/2">
  
614 ··<div·class="detail-header">614 ··<div·class="detail-header">
615 ····<a·href="#fetch/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">615 ····<a·href="#fetch/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
616 ······<i·class="ri-link-m"·aria-hidden="true"></i>616 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 634, 19 lines modifiedOffset 634, 19 lines modified
  
634 ··········<pre·translate="no"><span·class="attribute">-spec</span>·fetch(Key,·Orddict)·->·Value·when·Orddict·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value).</pre>634 ··········<pre·translate="no"><span·class="attribute">-spec</span>·fetch(Key,·Orddict)·->·Value·when·Orddict·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value).</pre>
  
635 ······</div>635 ······</div>
  
636 <p>Returns·the·value·associated·with·<code·class="inline">Key</code>·in·dictionary·<code·class="inline">Orddict</code>.·This·function636 <p>Returns·the·value·associated·with·<code·class="inline">Key</code>·in·dictionary·<code·class="inline">Orddict</code>.·This·function
637 assumes·that·the·<code·class="inline">Key</code>·is·present·in·the·dictionary.·An·exception·is·generated637 assumes·that·the·<code·class="inline">Key</code>·is·present·in·the·dictionary.·An·exception·is·generated
638 if·<code·class="inline">Key</code>·is·not·in·the·dictionary.</p><p>See·also·section·<a·href="orddict.html#module-notes">Notes</a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">OrdDict1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="9752684852-1">(</span><span·class="p"·data-group-id="9752684852-2">[</span><span·class="p"·data-group-id="9752684852-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·369,·SHA:·6ecc76dcccca57d11598573f2d8e8b284cebcc079ab7cdc02e1a3defdcba4d7d·...·]-1">)</span><span·class="p">.</span><span·class="w">638 if·<code·class="inline">Key</code>·is·not·in·the·dictionary.</p><p>See·also·section·<a·href="orddict.html#module-notes">Notes</a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">OrdDict1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="2968294237-1">(</span><span·class="p"·data-group-id="2968294237-2">[</span><span·class="p"·data-group-id="2968294237-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·369,·SHA:·6c63e618046bf457b02da9aebcb1e59f394b708e1090132ad07e50266c2c69e0·...·]-1">)</span><span·class="p">.</span><span·class="w">
639 </span><span·class="p"·data-group-id="9752684852-5">[</span><span·class="p"·data-group-id="9752684852-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="9752684852-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·191,·SHA:·d051e497b65d17c9435b57fca307f320ad5ba4f9bfa4e2fcab1019a3ef8fa203·...·]-5">]</span><span·class="gp·unselectable">639 </span><span·class="p"·data-group-id="2968294237-5">[</span><span·class="p"·data-group-id="2968294237-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="2968294237-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·191,·SHA:·c7d3e3c38e6759c129df412e24fde8d67005507c63f2e7e17914992e30272799·...·]-5">]</span><span·class="gp·unselectable">
640 2&gt;·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">fetch</span><span·class="p"·data-group-id="9752684852-8">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="9752684852-8">)</span><span·class="p">.</span><span·class="w">640 2&gt;·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">fetch</span><span·class="p"·data-group-id="2968294237-8">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="2968294237-8">)</span><span·class="p">.</span><span·class="w">
641 </span><span·class="mi">1</span><span·class="gp·unselectable">641 </span><span·class="mi">1</span><span·class="gp·unselectable">
642 3&gt;·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">fetch</span><span·class="p"·data-group-id="9752684852-9">(</span><span·class="ss">missing</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="9752684852-9">)</span><span·class="p">.</span><span·class="w">642 3&gt;·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">fetch</span><span·class="p"·data-group-id="2968294237-9">(</span><span·class="ss">missing</span><span·class="p">,</span><span·class="w">·</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="2968294237-9">)</span><span·class="p">.</span><span·class="w">
643 </span><span·class="gt">**·exception·error:·no·function·clause·matching·orddict:fetch(missing,[])</span></code></pre>643 </span><span·class="gt">**·exception·error:·no·function·clause·matching·orddict:fetch(missing,[])</span></code></pre>
644 ··</section>644 ··</section>
645 </section>645 </section>
646 <section·class="detail"·id="fetch_keys/1">646 <section·class="detail"·id="fetch_keys/1">
  
647 ··<div·class="detail-header">647 ··<div·class="detail-header">
648 ····<a·href="#fetch_keys/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">648 ····<a·href="#fetch_keys/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 665, 18 lines modifiedOffset 665, 18 lines modified
  
665 ······<div·class="specs">665 ······<div·class="specs">
  
666 ··········<pre·translate="no"><span·class="attribute">-spec</span>·fetch_keys(Orddict)·->·Keys·when·Orddict·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()),·Keys·::·[Key].</pre>666 ··········<pre·translate="no"><span·class="attribute">-spec</span>·fetch_keys(Orddict)·->·Keys·when·Orddict·::·<a·href="#t:orddict/2">orddict</a>(Key,·Value·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()),·Keys·::·[Key].</pre>
  
667 ······</div>667 ······</div>
  
668 <p>Returns·a·list·of·all·keys·in·a·dictionary.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">OrdDict1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="1665338430-1">(</span><span·class="p"·data-group-id="1665338430-2">[</span><span·class="p"·data-group-id="1665338430-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·368,·SHA:·a3e6676a229e26f7fb63c150b90cb7fe98d118306d0b7c27ae40c1f56d87a906·...·]0-1">)</span><span·class="p">.</span><span·class="w">668 <p>Returns·a·list·of·all·keys·in·a·dictionary.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">OrdDict1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="0507173550-1">(</span><span·class="p"·data-group-id="0507173550-2">[</span><span·class="p"·data-group-id="0507173550-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·368,·SHA:·7112a6e30db2cd272819a8389837677764e706e398f9d97a1b1e2dbc4f72e745·...·]0-1">)</span><span·class="p">.</span><span·class="w">
669 </span><span·class="p"·data-group-id="1665338430-5">[</span><span·class="p"·data-group-id="1665338430-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="1665338430-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·190,·SHA:·fbda0c24bdb3492296b279cb46c227531ad87797f9f0a39748c6d82f2c8b2776·...·]0-5">]</span><span·class="gp·unselectable">669 </span><span·class="p"·data-group-id="0507173550-5">[</span><span·class="p"·data-group-id="0507173550-6">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="0507173550-6">}</span><span·class="p">,</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·190,·SHA:·5981a222ceb55c05bf519a49a16f3244c59899d1c3e6defc3e8c007b8bb9ce1b·...·]0-5">]</span><span·class="gp·unselectable">
670 2&gt;·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">fetch_keys</span><span·class="p"·data-group-id="1665338430-8">(</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="1665338430-8">)</span><span·class="p">.</span><span·class="w">670 2&gt;·</span><span·class="nc">orddict</span><span·class="p">:</span><span·class="nf">fetch_keys</span><span·class="p"·data-group-id="0507173550-8">(</span><span·class="n">OrdDict1</span><span·class="p"·data-group-id="0507173550-8">)</span><span·class="p">.</span><span·class="w">
671 </span><span·class="p"·data-group-id="1665338430-9">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="1665338430-9">]</span></code></pre>671 </span><span·class="p"·data-group-id="0507173550-9">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="0507173550-9">]</span></code></pre>
672 ··</section>672 ··</section>
673 </section>673 </section>
674 <section·class="detail"·id="filter/2">674 <section·class="detail"·id="filter/2">
  
675 ··<div·class="detail-header">675 ··<div·class="detail-header">
676 ····<a·href="#filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">676 ····<a·href="#filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Max diff block lines reached; 82525/126981 bytes (64.99%) of diff not shown.
657 B
html2text {}
Max HTML report size reached
99.0 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/ordsets.html
    
Offset 468, 22 lines modifiedOffset 468, 22 lines modified
  
468 <p>Returns·a·new·ordered·set·formed·from·<code·class="inline">Ordset1</code>·with·<code·class="inline">Element</code>·inserted.</p><h2·id="add_element/2-examples"·class="section-heading">468 <p>Returns·a·new·ordered·set·formed·from·<code·class="inline">Ordset1</code>·with·<code·class="inline">Element</code>·inserted.</p><h2·id="add_element/2-examples"·class="section-heading">
469 ··<a·href="#add_element/2-examples"·class="hover-link">469 ··<a·href="#add_element/2-examples"·class="hover-link">
470 ····<i·class="ri-link-m"·aria-hidden="true"></i>470 ····<i·class="ri-link-m"·aria-hidden="true"></i>
471 ··</a>471 ··</a>
472 ··<span·class="text">Examples</span>472 ··<span·class="text">Examples</span>
473 </h2>473 </h2>
474 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="0421238050-1">(</span><span·class="p"·data-group-id="0421238050-1">)</span><span·class="p">.</span><span·class="w">474 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="3093381301-1">(</span><span·class="p"·data-group-id="3093381301-1">)</span><span·class="p">.</span><span·class="w">
475 </span><span·class="p"·data-group-id="0421238050-2">[</span><span·class="p"·data-group-id="0421238050-2">]</span><span·class="gp·unselectable">475 </span><span·class="p"·data-group-id="3093381301-2">[</span><span·class="p"·data-group-id="3093381301-2">]</span><span·class="gp·unselectable">
476 2&gt;·</span><span·class="n">S1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="0421238050-3">(</span><span·class="mi">7</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S0</span><span·class="p"·data-group-id="0421238050-3">)</span><span·class="p">.</span><span·class="w">476 2&gt;·</span><span·class="n">S1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="3093381301-3">(</span><span·class="mi">7</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S0</span><span·class="p"·data-group-id="3093381301-3">)</span><span·class="p">.</span><span·class="w">
477 </span><span·class="p"·data-group-id="0421238050-4">[</span><span·class="mi">7</span><span·class="p"·data-group-id="0421238050-4">]</span><span·class="gp·unselectable">477 </span><span·class="p"·data-group-id="3093381301-4">[</span><span·class="mi">7</span><span·class="p"·data-group-id="3093381301-4">]</span><span·class="gp·unselectable">
478 3&gt;·</span><span·class="n">S2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="0421238050-5">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S1</span><span·class="p"·data-group-id="0421238050-5">)</span><span·class="p">.</span><span·class="w">478 3&gt;·</span><span·class="n">S2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="3093381301-5">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S1</span><span·class="p"·data-group-id="3093381301-5">)</span><span·class="p">.</span><span·class="w">
479 </span><span·class="p"·data-group-id="0421238050-6">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="0421238050-6">]</span><span·class="gp·unselectable">479 </span><span·class="p"·data-group-id="3093381301-6">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="3093381301-6">]</span><span·class="gp·unselectable">
480 4&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="0421238050-7">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S2</span><span·class="p"·data-group-id="0421238050-7">)</span><span·class="p">.</span><span·class="w">480 4&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="3093381301-7">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S2</span><span·class="p"·data-group-id="3093381301-7">)</span><span·class="p">.</span><span·class="w">
481 </span><span·class="p"·data-group-id="0421238050-8">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="0421238050-8">]</span></code></pre>481 </span><span·class="p"·data-group-id="3093381301-8">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="3093381301-8">]</span></code></pre>
482 ··</section>482 ··</section>
483 </section>483 </section>
484 <section·class="detail"·id="del_element/2">484 <section·class="detail"·id="del_element/2">
  
485 ··<div·class="detail-header">485 ··<div·class="detail-header">
486 ····<a·href="#del_element/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">486 ····<a·href="#del_element/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
487 ······<i·class="ri-link-m"·aria-hidden="true"></i>487 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 508, 19 lines modifiedOffset 508, 19 lines modified
  
508 <p>Returns·a·copy·of·<code·class="inline">Ordset1</code>·with·<code·class="inline">Element</code>·removed.</p><h2·id="del_element/2-examples"·class="section-heading">508 <p>Returns·a·copy·of·<code·class="inline">Ordset1</code>·with·<code·class="inline">Element</code>·removed.</p><h2·id="del_element/2-examples"·class="section-heading">
509 ··<a·href="#del_element/2-examples"·class="hover-link">509 ··<a·href="#del_element/2-examples"·class="hover-link">
510 ····<i·class="ri-link-m"·aria-hidden="true"></i>510 ····<i·class="ri-link-m"·aria-hidden="true"></i>
511 ··</a>511 ··</a>
512 ··<span·class="text">Examples</span>512 ··<span·class="text">Examples</span>
513 </h2>513 </h2>
514 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="3143522473-1">(</span><span·class="p"·data-group-id="3143522473-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="3143522473-2">]</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·12ae9f21edc193cf2416230df9ae06c03bbc38526baf61e1a53547a395cbe2c5·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">514 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="1193011424-1">(</span><span·class="p"·data-group-id="1193011424-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="1193011424-2">]</span><span[·...·truncated·by·diffoscope;·len:·36,·SHA:·3f72eedf87b56301bafd283eae4f7eb31c884a854e4e8996a845c51397e5fa54·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
515 2&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="3143522473-3">(</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="3143522473-3">)</span><span·class="p">.</span><span·class="w">515 2&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="1193011424-3">(</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="1193011424-3">)</span><span·class="p">.</span><span·class="w">
516 </span><span·class="p"·data-group-id="3143522473-4">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="3143522473-4">]</span><span·class="gp·unselectable">516 </span><span·class="p"·data-group-id="1193011424-4">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="1193011424-4">]</span><span·class="gp·unselectable">
517 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="3143522473-5">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="3143522473-5">)</span><span·class="p">.</span><span·class="w">517 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="1193011424-5">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="1193011424-5">)</span><span·class="p">.</span><span·class="w">
518 </span><span·class="p"·data-group-id="3143522473-6">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="3143522473-6">]</span></code></pre>518 </span><span·class="p"·data-group-id="1193011424-6">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="1193011424-6">]</span></code></pre>
519 ··</section>519 ··</section>
520 </section>520 </section>
521 <section·class="detail"·id="filter/2">521 <section·class="detail"·id="filter/2">
  
522 ··<div·class="detail-header">522 ··<div·class="detail-header">
523 ····<a·href="#filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">523 ····<a·href="#filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
524 ······<i·class="ri-link-m"·aria-hidden="true"></i>524 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 546, 18 lines modifiedOffset 546, 18 lines modified
  
546 <p>Filters·elements·in·<code·class="inline">Ordset1</code>·using·predicate·function·<code·class="inline">Pred</code>.</p><h2·id="filter/2-examples"·class="section-heading">546 <p>Filters·elements·in·<code·class="inline">Ordset1</code>·using·predicate·function·<code·class="inline">Pred</code>.</p><h2·id="filter/2-examples"·class="section-heading">
547 ··<a·href="#filter/2-examples"·class="hover-link">547 ··<a·href="#filter/2-examples"·class="hover-link">
548 ····<i·class="ri-link-m"·aria-hidden="true"></i>548 ····<i·class="ri-link-m"·aria-hidden="true"></i>
549 ··</a>549 ··</a>
550 ··<span·class="text">Examples</span>550 ··<span·class="text">Examples</span>
551 </h2>551 </h2>
552 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="7833499144-1">(</span><span·class="p"·data-group-id="7833499144-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·232,·SHA:·60e9828e046b6fcf03da56a55c6d4be201304565d2a40c4d6ac12dc6c7d8e813·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">552 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="2669754218-1">(</span><span·class="p"·data-group-id="2669754218-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·232,·SHA:·5a15b3bb62f3835ef7b3ca97f9fdb4df599f961b7795af04b9bbb19e5b738685·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
553 2&gt;·</span><span·class="n">IsEven</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="7833499144-3">(</span><span·class="n">N</span><span·class="p"·data-group-id="7833499144-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">553 2&gt;·</span><span·class="n">IsEven</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="2669754218-3">(</span><span·class="n">N</span><span·class="p"·data-group-id="2669754218-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">
554 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">filter</span><span·class="p"·data-group-id="7833499144-4">(</span><span·class="n">IsEven</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="7833499144-4">)</span><span·class="p">.</span><span·class="w">554 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">filter</span><span·class="p"·data-group-id="2669754218-4">(</span><span·class="n">IsEven</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="2669754218-4">)</span><span·class="p">.</span><span·class="w">
555 </span><span·class="p"·data-group-id="7833499144-5">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="7833499144-5">]</span></code></pre>555 </span><span·class="p"·data-group-id="2669754218-5">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="2669754218-5">]</span></code></pre>
556 ··</section>556 ··</section>
557 </section>557 </section>
558 <section·class="detail"·id="filtermap/2">558 <section·class="detail"·id="filtermap/2">
  
559 ··<div·class="detail-header">559 ··<div·class="detail-header">
560 ····<a·href="#filtermap/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">560 ····<a·href="#filtermap/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
561 ······<i·class="ri-link-m"·aria-hidden="true"></i>561 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 584, 30 lines modifiedOffset 584, 30 lines modified
584 ·······················Ordset2·::·<a·href="#t:ordset/1">ordset</a>(T1·|·T2).</pre>584 ·······················Ordset2·::·<a·href="#t:ordset/1">ordset</a>(T1·|·T2).</pre>
  
585 ······</div>585 ······</div>
  
586 <p>Calls·<code·class="inline">Fun(Elem)</code>·for·each·<code·class="inline">Elem</code>·of·<code·class="inline">Ordset1</code>·to·update·or·remove586 <p>Calls·<code·class="inline">Fun(Elem)</code>·for·each·<code·class="inline">Elem</code>·of·<code·class="inline">Ordset1</code>·to·update·or·remove
587 elements·from·<code·class="inline">Ordset1</code>.</p><p><code·class="inline">Fun/1</code>·must·return·either·a·Boolean·or·a·tuple·<code·class="inline">{true,·Value}</code>.·The587 elements·from·<code·class="inline">Ordset1</code>.</p><p><code·class="inline">Fun/1</code>·must·return·either·a·Boolean·or·a·tuple·<code·class="inline">{true,·Value}</code>.·The
588 function·returns·the·set·of·elements·for·which·<code·class="inline">Fun</code>·returns·a·new588 function·returns·the·set·of·elements·for·which·<code·class="inline">Fun</code>·returns·a·new
589 value,·with·<code·class="inline">true</code>·being·equivalent·to·<code·class="inline">{true,·Elem}</code>.</p><p><a·href="#filtermap/2"><code·class="inline">ordsets:filtermap/2</code></a>·behaves·as·if·it·were·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">filtermap</span><span·class="p"·data-group-id="0091889228-1">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ordset1</span><span·class="p"·data-group-id="0091889228-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">589 value,·with·<code·class="inline">true</code>·being·equivalent·to·<code·class="inline">{true,·Elem}</code>.</p><p><a·href="#filtermap/2"><code·class="inline">ordsets:filtermap/2</code></a>·behaves·as·if·it·were·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">filtermap</span><span·class="p"·data-group-id="0613813810-1">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ordset1</span><span·class="p"·data-group-id="0613813810-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
590 ····</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="0091889228-2">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="0091889228-3">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ordset[·...·truncated·by·diffoscope;·len:·102,·SHA:·c41f08885861269b934203ff1f454400dd34ca50120117ff01f47c964dbcdd49·...·]-2">)</span><span·class="p">.</span></code></pre><h2·id="filtermap/2-examples"·class="section-heading">590 ····</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="0613813810-2">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="0613813810-3">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ordset[·...·truncated·by·diffoscope;·len:·102,·SHA:·f6fac0e9ad0e12f5f751c32c2aeefe6958da17d5f6f10a46ecedbcab160b4834·...·]-2">)</span><span·class="p">.</span></code></pre><h2·id="filtermap/2-examples"·class="section-heading">
591 ··<a·href="#filtermap/2-examples"·class="hover-link">591 ··<a·href="#filtermap/2-examples"·class="hover-link">
592 ····<i·class="ri-link-m"·aria-hidden="true"></i>592 ····<i·class="ri-link-m"·aria-hidden="true"></i>
593 ··</a>593 ··</a>
594 ··<span·class="text">Examples</span>594 ··<span·class="text">Examples</span>
595 </h2>595 </h2>
596 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="6273915593-1">(</span><span·class="p"·data-group-id="6273915593-2">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·cla[·...·truncated·by·diffoscope;·len:·183,·SHA:·52549675718a0ded5faf782c0af641e8f650282ada645a63c62b7e7f9fcd5c78·...·]-1">)</span><span·class="gp·unselectable">596 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="1834520177-1">(</span><span·class="p"·data-group-id="1834520177-2">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·cla[·...·truncated·by·diffoscope;·len:·183,·SHA:·d912106822b70b75f36b36df248da2c919d61dc7e38ee12833a3673e7bb70263·...·]-1">)</span><span·class="gp·unselectable">
597 2&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="6273915593-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="6273915593-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">597 2&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="1834520177-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="1834520177-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
598 ···········</span><span·class="k">case</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="k">of</span><span·class="w">598 ···········</span><span·class="k">case</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
599 ···············</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6273915593-4">{</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">div</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="627[·...·truncated·by·diffoscope;·len:·7,·SHA:·387bb92bc8d8f7e25e3bb2a8322d9b48fe97f29f08b156c1b59891351d5e0ffc·...·]-4">}</span><span·class="p">;</span><span·class="w">599 ···············</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1834520177-4">{</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">div</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="183[·...·truncated·by·diffoscope;·len:·7,·SHA:·dbbe879a0d2b799a2745e8d481c28d66eef44df3a420a7098e7ca339a0e78d6f·...·]-4">}</span><span·class="p">;</span><span·class="w">
600 ···············</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">600 ···············</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">
601 ···········</span><span·class="k">end</span><span·class="w">601 ···········</span><span·class="k">end</span><span·class="w">
602 ········</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">602 ········</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">
603 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="6273915593-5">(</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="6273915593-5">)</span><span·class="p">.</span><span·class="w">603 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="1834520177-5">(</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="1834520177-5">)</span><span·class="p">.</span><span·class="w">
604 </span><span·class="p"·data-group-id="6273915593-6">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="6273915593-6">]</span></code></pre>604 </span><span·class="p"·data-group-id="1834520177-6">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="1834520177-6">]</span></code></pre>
605 ··</section>605 ··</section>
606 </section>606 </section>
607 <section·class="detail"·id="fold/3">607 <section·class="detail"·id="fold/3">
  
608 ··<div·class="detail-header">608 ··<div·class="detail-header">
609 ····<a·href="#fold/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">609 ····<a·href="#fold/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
610 ······<i·class="ri-link-m"·aria-hidden="true"></i>610 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 637, 17 lines modifiedOffset 637, 17 lines modified
637 <p>Folds·<code·class="inline">Function</code>·over·every·element·in·<code·class="inline">Ordset</code>·and·returns·the·final·value·of637 <p>Folds·<code·class="inline">Function</code>·over·every·element·in·<code·class="inline">Ordset</code>·and·returns·the·final·value·of
638 the·accumulator.</p><h2·id="fold/3-examples"·class="section-heading">638 the·accumulator.</p><h2·id="fold/3-examples"·class="section-heading">
639 ··<a·href="#fold/3-examples"·class="hover-link">639 ··<a·href="#fold/3-examples"·class="hover-link">
640 ····<i·class="ri-link-m"·aria-hidden="true"></i>640 ····<i·class="ri-link-m"·aria-hidden="true"></i>
641 ··</a>641 ··</a>
642 ··<span·class="text">Examples</span>642 ··<span·class="text">Examples</span>
643 </h2>643 </h2>
644 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="4039118626-1">(</span><span·class="p"·data-group-id="4039118626-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·85,·SHA:·8907a9edac5824de75aed8bc13774d0c42bc3500cdbef66f03f2b5b4b66218a8·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">644 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="3018547305-1">(</span><span·class="p"·data-group-id="3018547305-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·85,·SHA:·f2b465349cd6f2fe8d122f1ce8b662039034e7f7c7e1f996c6ad14d42b334900·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
645 2&gt;·</span><span·class="n">Plus</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="ss">&#39;+&#39;</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="gp·unselectable">645 2&gt;·</span><span·class="n">Plus</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="ss">&#39;+&#39;</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="gp·unselectable">
646 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">fold</span><span·class="p"·data-group-id="4039118626-3">(</span><span·class="n">Plus</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="4039118626-3">)</span><span·class="p">.</span><span·class="w">646 3&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">fold</span><span·class="p"·data-group-id="3018547305-3">(</span><span·class="n">Plus</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="3018547305-3">)</span><span·class="p">.</span><span·class="w">
647 </span><span·class="mi">10</span></code></pre>647 </span><span·class="mi">10</span></code></pre>
648 ··</section>648 ··</section>
649 </section>649 </section>
650 <section·class="detail"·id="from_list/1">650 <section·class="detail"·id="from_list/1">
  
651 ··<div·class="detail-header">651 ··<div·class="detail-header">
652 ····<a·href="#from_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">652 ····<a·href="#from_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 672, 16 lines modifiedOffset 672, 16 lines modified
  
672 <p>Returns·an·ordered·set·of·the·elements·in·<code·class="inline">List</code>.</p><h2·id="from_list/1-examples"·class="section-heading">672 <p>Returns·an·ordered·set·of·the·elements·in·<code·class="inline">List</code>.</p><h2·id="from_list/1-examples"·class="section-heading">
673 ··<a·href="#from_list/1-examples"·class="hover-link">673 ··<a·href="#from_list/1-examples"·class="hover-link">
674 ····<i·class="ri-link-m"·aria-hidden="true"></i>674 ····<i·class="ri-link-m"·aria-hidden="true"></i>
675 ··</a>675 ··</a>
676 ··<span·class="text">Examples</span>676 ··<span·class="text">Examples</span>
677 </h2>677 </h2>
678 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="3453681743-1">(</span><span·class="p"·data-group-id="3453681743-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·cla[·...·truncated·by·diffoscope;·len:·183,·SHA:·d704a670c8ce6c995d3a490763afb7c1518effe18e0226db6522aeea94758514·...·]-1">)</span><span·class="p">.</span><span·class="w">678 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="9931299601-1">(</span><span·class="p"·data-group-id="9931299601-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·cla[·...·truncated·by·diffoscope;·len:·183,·SHA:·9908f227a38509909237bd21bb9581a5ece0b145b5898dc1c167625845050cc9·...·]-1">)</span><span·class="p">.</span><span·class="w">
679 </span><span·class="p"·data-group-id="3453681743-3">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="3453681743-3">]</span></code></pre>679 </span><span·class="p"·data-group-id="9931299601-3">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p">,</span><span·class="ss">c</span><span·class="p"·data-group-id="9931299601-3">]</span></code></pre>
680 ··</section>680 ··</section>
681 </section>681 </section>
682 <section·class="detail"·id="intersection/1">682 <section·class="detail"·id="intersection/1">
  
683 ··<div·class="detail-header">683 ··<div·class="detail-header">
684 ····<a·href="#intersection/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">684 ····<a·href="#intersection/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
685 ······<i·class="ri-link-m"·aria-hidden="true"></i>685 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Max diff block lines reached; 71998/100724 bytes (71.48%) of diff not shown.
513 B
html2text {}
Max HTML report size reached
91.7 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/peer.html
    
Offset 157, 135 lines modifiedOffset 157, 135 lines modified
157 employs·a·number·of·techniques·to·speed·up·testing·and·reliably·shut·down·peer157 employs·a·number·of·techniques·to·speed·up·testing·and·reliably·shut·down·peer
158 nodes:</p><ul><li>peers·start·linked·to·test·runner·process.·If·the·test·case·fails,·the·peer158 nodes:</p><ul><li>peers·start·linked·to·test·runner·process.·If·the·test·case·fails,·the·peer
159 node·is·stopped·automatically,·leaving·no·rogue·nodes·running·in·the159 node·is·stopped·automatically,·leaving·no·rogue·nodes·running·in·the
160 background</li><li>arguments·used·to·start·the·peer·are·saved·in·the·control·process·state·for160 background</li><li>arguments·used·to·start·the·peer·are·saved·in·the·control·process·state·for
161 manual·analysis.·If·the·test·case·fails,·the·CRASH·REPORT·contains·these161 manual·analysis.·If·the·test·case·fails,·the·CRASH·REPORT·contains·these
162 arguments</li><li>multiple·test·cases·can·run·concurrently·speeding·up·overall·testing·process,162 arguments</li><li>multiple·test·cases·can·run·concurrently·speeding·up·overall·testing·process,
163 peer·node·names·are·unique·even·when·there·are·multiple·instances·of·the·same163 peer·node·names·are·unique·even·when·there·are·multiple·instances·of·the·same
164 test·suite·running·in·parallel</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2844081137-1">(</span><span·class="ss">my_SUITE</span><span·class="p"·data-group-id="2844081137-1">)</span><span·class="p">.</span><span·class="w">164 test·suite·running·in·parallel</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8038435400-1">(</span><span·class="ss">my_SUITE</span><span·class="p"·data-group-id="8038435400-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="2844081137-2">(</span><span·class="ss">ct_suite</span><span·class="p"·data-group-id="2844081137-2">)</span><span·class="p">.</span><span·class="w">165 </span><span·class="p">-</span><span·class="na">behaviour</span><span·class="p"·data-group-id="8038435400-2">(</span><span·class="ss">ct_suite</span><span·class="p"·data-group-id="8038435400-2">)</span><span·class="p">.</span><span·class="w">
166 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2844081137-3">(</span><span·class="p"·data-group-id="2844081137-4">[</span><span·class="ss">all</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">groups</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·116,·SHA:·501027c833707a5792cd34b06d2a8e098ba4e877635bac5f0ce5c23fa99f96b8·...·]-3">)</span><span·class="p">.</span><span·class="w">166 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8038435400-3">(</span><span·class="p"·data-group-id="8038435400-4">[</span><span·class="ss">all</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">groups</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·116,·SHA:·75e611259c19aea53624f77e5e69f9438a9e4d6ebb4ed9fbb86f2ab32b442ef5·...·]-3">)</span><span·class="p">.</span><span·class="w">
167 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2844081137-5">(</span><span·class="p"·data-group-id="2844081137-6">[</span><span·class="ss">basic</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">args</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·506,·SHA:·d0d2bcfaf5f1aaa022c2cf0c2ad55b47025eafba340c5ec59c7c56031dd0f813·...·]-5">)</span><span·class="p">.</span><span·class="w">167 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8038435400-5">(</span><span·class="p"·data-group-id="8038435400-6">[</span><span·class="ss">basic</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">args</span><span·class="p">/</span><sp[·...·truncated·by·diffoscope;·len:·506,·SHA:·7fab9deea078cacff98a38c67c71bdbe6b96eec74cffb7c6d12c18ee4c17220a·...·]-5">)</span><span·class="p">.</span><span·class="w">
168 </span><span·class="w">168 </span><span·class="w">
169 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="2844081137-7">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="2844081137-7">)</span><span·class="p">.</span><span·class="w">169 </span><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="8038435400-7">(</span><span·class="s">&quot;common_test/include/ct.hrl&quot;</span><span·class="p"·data-group-id="8038435400-7">)</span><span·class="p">.</span><span·class="w">
  
170 </span><span·class="nf">groups</span><span·class="p"·data-group-id="2844081137-8">(</span><span·class="p"·data-group-id="2844081137-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">170 </span><span·class="nf">groups</span><span·class="p"·data-group-id="8038435400-8">(</span><span·class="p"·data-group-id="8038435400-8">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
171 ····</span><span·class="p"·data-group-id="2844081137-9">[</span><span·class="p"·data-group-id="2844081137-10">{</span><span·class="ss">quick</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2844081137-11">[</span><span·class="ss">parallel</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·eb5759c517fd02572082469c384f242ad9a941beb4874dc0ebb6fb8a34b5a75a·...·]-11">]</span><span·class="p">,</span><span·class="w">171 ····</span><span·class="p"·data-group-id="8038435400-9">[</span><span·class="p"·data-group-id="8038435400-10">{</span><span·class="ss">quick</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8038435400-11">[</span><span·class="ss">parallel</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·bfdefe2560a161b0540f952f9ba069277cf4361f9d923255855817ceaec54780·...·]-11">]</span><span·class="p">,</span><span·class="w">
172 ········</span><span·class="p"·data-group-id="2844081137-12">[</span><span·class="ss">basic</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">args</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">named</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·264,·SHA:·846ce0be11a5f830ef5c60ad6a3aa0dea677f7d20aaf36a74666f29df14ca726·...·]-9">]</span><span·class="p">.</span><span·class="w">172 ········</span><span·class="p"·data-group-id="8038435400-12">[</span><span·class="ss">basic</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">args</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">named</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·264,·SHA:·5ef9ddf37a41c8b52385184d7ac5399dcead500582ff5b2cb4744dbc91b90e8e·...·]-9">]</span><span·class="p">.</span><span·class="w">
  
173 </span><span·class="nf">all</span><span·class="p"·data-group-id="2844081137-13">(</span><span·class="p"·data-group-id="2844081137-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">173 </span><span·class="nf">all</span><span·class="p"·data-group-id="8038435400-13">(</span><span·class="p"·data-group-id="8038435400-13">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ····</span><span·class="p"·data-group-id="2844081137-14">[</span><span·class="p"·data-group-id="2844081137-15">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">quick</span><span·class="p"·data-group-id="2844081137-15">}</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·a5ad83bb4d9c6fc0bd96b4fc12a03edb4d7d5e70c7141cd27ce731e79f193961·...·]-14">]</span><span·class="p">.</span><span·class="w">174 ····</span><span·class="p"·data-group-id="8038435400-14">[</span><span·class="p"·data-group-id="8038435400-15">{</span><span·class="ss">group</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">quick</span><span·class="p"·data-group-id="8038435400-15">}</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·cb67b6222b656230d69d1820376659a150a9c057d0494c2ef841323460851b6d·...·]-14">]</span><span·class="p">.</span><span·class="w">
  
175 </span><span·class="nf">basic</span><span·class="p"·data-group-id="2844081137-16">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2844081137-16">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="2844081137-17[·...·truncated·by·diffoscope;·len:·80,·SHA:·388d134200cf2fb567e4c870ef7bae668af7dbbfbb6e415d23a57eb3d82357a0·...·]-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">175 </span><span·class="nf">basic</span><span·class="p"·data-group-id="8038435400-16">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8038435400-16">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="8038435400-17[·...·truncated·by·diffoscope;·len:·80,·SHA:·a3b37e73e490693cce724c9046af7adf9caebaeecfb2fd07922bde39bdbbeb70·...·]-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
176 ····</span><span·class="p"·data-group-id="2844081137-18">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Node</span><span·class="p"·data-group-id="28[·...·truncated·by·diffoscope;·len:·242,·SHA:·1ad92ec869674333a04d1e34b054431c444acc035c900fd2db2df1952fee3715·...·]-19">)</span><span·class="p">,</span><span·class="w">176 ····</span><span·class="p"·data-group-id="8038435400-18">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Node</span><span·class="p"·data-group-id="80[·...·truncated·by·diffoscope;·len:·242,·SHA:·b5907f185c3fee73b9376e1f0884422568e91580edac88a46acc4d7c18aff08b·...·]-19">)</span><span·class="p">,</span><span·class="w">
177 ····</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="2844081137-20">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="2844081137-20">)</span><span·class="p">.</span><span·class="w">177 ····</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="8038435400-20">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="8038435400-20">)</span><span·class="p">.</span><span·class="w">
  
178 </span><span·class="nf">args</span><span·class="p"·data-group-id="2844081137-21">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2844081137-21">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="2844081137-22[·...·truncated·by·diffoscope;·len:·80,·SHA:·388d134200cf2fb567e4c870ef7bae668af7dbbfbb6e415d23a57eb3d82357a0·...·]-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 </span><span·class="nf">args</span><span·class="p"·data-group-id="8038435400-21">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8038435400-21">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="8038435400-22[·...·truncated·by·diffoscope;·len:·80,·SHA:·a3b37e73e490693cce724c9046af7adf9caebaeecfb2fd07922bde39bdbbeb70·...·]-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
179 ····</span><span·class="c1">%%·specify·additional·arguments·to·the·new·node</span><span·class="w">179 ····</span><span·class="c1">%%·specify·additional·arguments·to·the·new·node</span><span·class="w">
180 ····</span><span·class="p"·data-group-id="2844081137-23">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Node</span><span·class="p"·data-group-id="28[·...·truncated·by·diffoscope;·len:·482,·SHA:·580ae2d8c7175953f33a0aabc5211a0c9be94a6cf6d398d9924fde02f8be292b·...·]-24">)</span><span·class="p">,</span><span·class="w">180 ····</span><span·class="p"·data-group-id="8038435400-23">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">Node</span><span·class="p"·data-group-id="80[·...·truncated·by·diffoscope;·len:·482,·SHA:·dc2454bb11d2cafa70e7f15c7aa5bbbb1b859d749d8632b96e23b73f0870a6db·...·]-24">)</span><span·class="p">,</span><span·class="w">
181 ····</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="2844081137-26">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="2844081137-26">)</span><span·class="p">.</span><span·class="w">181 ····</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="8038435400-26">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="8038435400-26">)</span><span·class="p">.</span><span·class="w">
  
182 </span><span·class="nf">named</span><span·class="p"·data-group-id="2844081137-27">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2844081137-27">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="2844081137-28[·...·truncated·by·diffoscope;·len:·80,·SHA:·388d134200cf2fb567e4c870ef7bae668af7dbbfbb6e415d23a57eb3d82357a0·...·]-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">182 </span><span·class="nf">named</span><span·class="p"·data-group-id="8038435400-27">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8038435400-27">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="8038435400-28[·...·truncated·by·diffoscope;·len:·80,·SHA:·a3b37e73e490693cce724c9046af7adf9caebaeecfb2fd07922bde39bdbbeb70·...·]-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
183 ····</span><span·class="c1">%%·pass·test·case·name·down·to·function·starting·nodes</span><span·class="w">183 ····</span><span·class="c1">%%·pass·test·case·name·down·to·function·starting·nodes</span><span·class="w">
184 ····</span><span·class="n">Peer</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">start_node_impl</span><span·class="p"·data-group-id="2844081137-29">(</span><span·class="ss">named_test</span><span·class="p"·data-group-id="2844081137-29">)</span><span·class="p">,</span><span·class="w">184 ····</span><span·class="n">Peer</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">start_node_impl</span><span·class="p"·data-group-id="8038435400-29">(</span><span·class="ss">named_test</span><span·class="p"·data-group-id="8038435400-29">)</span><span·class="p">,</span><span·class="w">
185 ····</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="2844081137-30">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="2844081137-30">)</span><span·class="p">.</span><span·class="w">185 ····</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="8038435400-30">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="8038435400-30">)</span><span·class="p">.</span><span·class="w">
  
186 </span><span·class="nf">start_node_impl</span><span·class="p"·data-group-id="2844081137-31">(</span><span·class="n">ActualTestCase</span><span·class="p"·data-group-id="2844081137-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">186 </span><span·class="nf">start_node_impl</span><span·class="p"·data-group-id="8038435400-31">(</span><span·class="n">ActualTestCase</span><span·class="p"·data-group-id="8038435400-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
187 ····</span><span·class="p"·data-group-id="2844081137-32">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="2844081137-32">}</span><sp[·...·truncated·by·diffoscope;·len:·635,·SHA:·ed526edc5b0be67ec86bd58e314bd0df733d0197bf6763cf0863a48440a3ad6c·...·]-33">)</span><span·class="p">,</span><span·class="w">187 ····</span><span·class="p"·data-group-id="8038435400-32">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="8038435400-32">}</span><sp[·...·truncated·by·diffoscope;·len:·635,·SHA:·627de03c81f0c7bf29c7ac378fa7b56ef3fc9620d197f28eb27873ecc007f497·...·]-33">)</span><span·class="p">,</span><span·class="w">
188 ····</span><span·class="c1">%%·extra·setup·needed·for·multiple·test·cases</span><span·class="w">188 ····</span><span·class="c1">%%·extra·setup·needed·for·multiple·test·cases</span><span·class="w">
189 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rpc</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="2844081137-36">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">set_env</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·335,·SHA:·08861ebde6cc8a1c41c8fcdde97cff461e8b20f89da5a6f19934879784583985·...·]-36">)</span><span·class="p">,</span><span·class="w">189 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rpc</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="8038435400-36">(</span><span·class="n">Node</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">application</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">set_env</span><span·class="p">,</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·335,·SHA:·45026ddd68c8d4dfa483451965efb8b3a95b2f9795c11e1e6abee30313290c99·...·]-36">)</span><span·class="p">,</span><span·class="w">
190 ····</span><span·class="n">Peer</span><span·class="p">.</span><span·class="w">190 ····</span><span·class="n">Peer</span><span·class="p">.</span><span·class="w">
  
191 </span><span·class="nf">restart_node</span><span·class="p"·data-group-id="2844081137-38">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2844081137-38">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="2844081137-39[·...·truncated·by·diffoscope;·len:·80,·SHA:·388d134200cf2fb567e4c870ef7bae668af7dbbfbb6e415d23a57eb3d82357a0·...·]-39">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">191 </span><span·class="nf">restart_node</span><span·class="p"·data-group-id="8038435400-38">(</span><span·class="n">Config</span><span·class="p"·data-group-id="8038435400-38">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="8038435400-39[·...·truncated·by·diffoscope;·len:·80,·SHA:·a3b37e73e490693cce724c9046af7adf9caebaeecfb2fd07922bde39bdbbeb70·...·]-39">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
192 ····</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">CT_PEER_NAME</span><span·class="p"·data-group-id="2844081137-40">(</span><span·class="p"·data-group-id="2844081137-40">)</span><span·class="p">,</span><span·class="w">192 ····</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">CT_PEER_NAME</span><span·class="p"·data-group-id="8038435400-40">(</span><span·class="p"·data-group-id="8038435400-40">)</span><span·class="p">,</span><span·class="w">
193 ····</span><span·class="p"·data-group-id="2844081137-41">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="2844081137-41">}</span><sp[·...·truncated·by·diffoscope;·len:·458,·SHA:·43eb8a7c9645de091d89f43b76778a2959c1ceba7881164e5e9a8c3dc41be384·...·]-42">)</span><span·class="p">,</span><span·class="w">193 ····</span><span·class="p"·data-group-id="8038435400-41">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="8038435400-41">}</span><sp[·...·truncated·by·diffoscope;·len:·458,·SHA:·7e84849adee670e7b47b2519e6b52b4c81853d9282601896494c657acceac6e6·...·]-42">)</span><span·class="p">,</span><span·class="w">
194 ····</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="2844081137-44">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="2844081137-44">)</span><span·class="p">,</span><span·class="w">194 ····</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="8038435400-44">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="8038435400-44">)</span><span·class="p">,</span><span·class="w">
195 ····</span><span·class="c1">%%·restart·the·node·with·the·same·name·as·before</span><span·class="w">195 ····</span><span·class="c1">%%·restart·the·node·with·the·same·name·as·before</span><span·class="w">
196 ····</span><span·class="p"·data-group-id="2844081137-45">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="2844081137-45">}</span><s[·...·truncated·by·diffoscope;·len:·758,·SHA:·daa15f0887641db7ff2285ef2b170fa4546805472777b0ad24f6d6f1324e2865·...·]-46">)</span><span·class="p">,</span><span·class="w">196 ····</span><span·class="p"·data-group-id="8038435400-45">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="8038435400-45">}</span><s[·...·truncated·by·diffoscope;·len:·758,·SHA:·2e8bcbba136e60523b738bff747b2bda2ef66259aec47ca17e3891e6cc6f5659·...·]-46">)</span><span·class="p">,</span><span·class="w">
197 ····</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="2844081137-49">(</span><span·class="n">Peer2</span><span·class="p"·data-group-id="2844081137-49">)</span><span·class="p">.</span></code></pre><p>The·next·example·demonstrates·how·to·start·multiple·nodes·concurrently:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">multi_node</span><span·class="p"·data-group-id="4207904120-1">(</span><span·class="n">Config</span><span·class="p"·data-group-id="4207904120-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="4207904120-2">(</span><span·class="n">Config</span><span·class="p"·data-group-id="4207904120-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
198 ····</span><span·class="n">Peers</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4207904120-3">[</span><span·class="o">?</span><span·class="n">CT_PEER</span><span·class="p"·data-group-id="4207904120-4">(</span><span·clas[·...·truncated·by·diffoscope;·len:·567,·SHA:·77ffae10d9ab87e345bf44e9309f720a5322795fe8d3ad3db8b882b86e353a9f·...·]</span><span·class="w">197 ····</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="8038435400-49">(</span><span·class="n">Peer2</span><span·class="p"·data-group-id="8038435400-49">)</span><span·class="p">.</span></code></pre><p>The·next·examp[·...·truncated·by·diffoscope;·len:·564,·SHA:·f7b97fec2042788eb5df9b34718f144307e78938dba1fe6489386c29431fcedb·...·]</span><span·class="w">
 198 ····</span><span·class="n">Peers</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4216119053-3">[</span><span·class="o">?</span><span·class="n">CT_PEER</span><span·class="p"·data-group-id="4216119053-4">(</span><span·class="p"·data-group-id="4216119053-5">#{</span><span·class="ss">wait_boot</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4216119053-6">{</span><span·class="nf">self</span><span·class="p"·data-group-id="4216119053-7">(</span><span·class="p"·data-group-id="4216119053-7">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">tag</span><span·class="p"·data-group-id="4216119053-6">}</span><span·class="p"·data-group-id="4216119053-5">}</span><span·class="p"·data-group-id="4216119053-4">)</span><span·class="w">
199 ········</span><span·class="p">||</span><span·class="w">·</span><span·class="p">_</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="4207904120-8">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="p"·data-group-id="4207904120-8">)</span><span·class="p"·data-group-id="4207904120-3">]</span><span·class="p">,</span><span·class="w">199 ········</span><span·class="p">||</span><span·class="w">·</span><span·class="p">_</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="4216119053-8">(</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">4</span><span·class="p"·data-group-id="4216119053-8">)</span><span·class="p"·data-group-id="4216119053-3">]</span><span·class="p">,</span><span·class="w">
200 ····</span><span·class="c1">%%·wait·for·all·nodes·to·complete·boot·process,·get·their·names:</span><span·class="w">200 ····</span><span·class="c1">%%·wait·for·all·nodes·to·complete·boot·process,·get·their·names:</span><span·class="w">
201 ····</span><span·class="p">_</span><span·class="n">Nodes</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4207904120-9">[</span><span·class="k">receive</span><span·class="w">·</span><span·class="p"·data-group-id="4207904120-10">{</span><span·class="ss">tag</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4207904120-11">{</span[·...·truncated·by·diffoscope;·len:·277,·SHA:·9cff6334aabb10e766bbedf807982d8a5e78d761e69c2d5d0d15298c52b141d0·...·]-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Node</span><span·class="w">·</span><span·class="k">end</span><span·class="w">201 ····</span><span·class="p">_</span><span·class="n">Nodes</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4216119053-9">[</span><span·class="k">receive</span><span·class="w">·</span><span·class="p"·data-group-id="4216119053-10">{</span><span·class="ss">tag</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4216119053-11">{</span[·...·truncated·by·diffoscope;·len:·277,·SHA:·24ad9bfe39639e06281cde2aa99489eb4a1ba094d8aee5c78ec8bcfd44f8f62a·...·]-10">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Node</span><span·class="w">·</span><span·class="k">end</span><span·class="w">
202 ········</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="4207904120-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer</span><span·class="p"·data-group-id="4207904120-12">}</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·65,·SHA:·5a6ed798471d513288e293386083767a956cb944385566244300e4d884cdaa7f·...·]-9">]</span><span·class="p">,</span><span·class="w">202 ········</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="4216119053-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer</span><span·class="p"·data-group-id="4216119053-12">}</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·65,·SHA:·e89687a4fc55c5373d642591be970a0b109580d9691219975aeab4de26a7d9ef·...·]-9">]</span><span·class="p">,</span><span·class="w">
203 ····</span><span·class="p"·data-group-id="4207904120-13">[</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="4207904120-14">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="4207904120-14">)</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·407,·SHA:·097e42088c7003d5c56e08291423a050596284f3fb6b95e524e4438ccd005e93·...·]-13">]</span><span·class="p">.</span></code></pre><p>Start·a·peer·on·a·different·host.·Requires·<code·class="inline">ssh</code>·key-based·authentication·set203 ····</span><span·class="p"·data-group-id="4216119053-13">[</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="4216119053-14">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="4216119053-14">)</span><span·class="w">·</s[·...·truncated·by·diffoscope;·len:·407,·SHA:·99bdecaa48e9178017a0f547da1ec6dd030357eea5f549d3d2d5516e3a528103·...·]-13">]</span><span·class="p">.</span></code></pre><p>Start·a·peer·on·a·different·host.·Requires·<code·class="inline">ssh</code>·key-based·authentication·set
204 up,·allowing·&quot;another_host&quot;·connection·without·password·prompt.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Ssh</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">find_executable</span><span·class="p"·data-group-id="8786961158-1">(</span><span·class="s">&quot;ssh&quot;</span><span·class="p"·data-group-id="8786961158-1">)</span><span·class="p">,</span><span·class="w">204 up,·allowing·&quot;another_host&quot;·connection·without·password·prompt.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Ssh</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">find_executable</span><span·class="p"·data-group-id="5029246274-1">(</span><span·class="s">&quot;ssh&quot;</span><span·class="p"·data-group-id="5029246274-1">)</span><span·class="p">,</span><span·class="w">
205 </span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="8786961158-2">(</span><span·class="p"·data-group-id="8786961158-3">#{</span><span·class="ss">exec</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8786961158-4">{</span><span·class="n">Ssh</sp[·...·truncated·by·diffoscope;·len:·331,·SHA:·814f67f497771a3361da7e69cea3fa35a88001ac4702098e0b5f5f769ae1d598·...·]-4">}</span><span·class="p">,</span><span·class="w">205 </span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="5029246274-2">(</span><span·class="p"·data-group-id="5029246274-3">#{</span><span·class="ss">exec</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5029246274-4">{</span><span·class="n">Ssh</sp[·...·truncated·by·diffoscope;·len:·331,·SHA:·234cf02e466d0176c6745164fa22d519d097d41c2c07cccc8d000186ff1af688·...·]-4">}</span><span·class="p">,</span><span·class="w">
206 ····</span><span·class="ss">connection</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">standard_io</span><span·class="p"·data-group-id="8786961158-3">}</span><span·class="p"·data-group-id="8786961158-2">)</span><span·class="p">,</span></code></pre><p>The·following·Common·Test·case·demonstrates·Docker·integration,·starting·two206 ····</span><span·class="ss">connection</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">standard_io</span><span·class="p"·data-group-id="5029246274-3">}</span><span·class="p"·data-group-id="5029246274-2">)</span><span·class="p">,</span></code></pre><p>The·following·Common·Test·case·demonstrates·Docker·integration,·starting·two
207 containers·with·hostnames·&quot;one&quot;·and·&quot;two&quot;.·In·this·example·Erlang·nodes·running207 containers·with·hostnames·&quot;one&quot;·and·&quot;two&quot;.·In·this·example·Erlang·nodes·running
208 inside·containers·form·an·Erlang·cluster.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">docker</span><span·class="p"·data-group-id="6911391929-1">(</span><span·class="n">Config</span><span·class="p"·data-group-id="6911391929-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="6911391929-2">([·...·truncated·by·diffoscope;·len:·77,·SHA:·6dd0e3bf24ae241d3b5a054da49920f455281505056bddce2b145848703b6b5e·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 inside·containers·form·an·Erlang·cluster.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">docker</span><span·class="p"·data-group-id="2518067146-1">(</span><span·class="n">Config</span><span·class="p"·data-group-id="2518067146-1">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">is_list</span><span·class="p"·data-group-id="2518067146-2">([·...·truncated·by·diffoscope;·len:·77,·SHA:·98ae1206040b23734e5606ddf7ec4cf98c490081f2350acea653aa45650ab5f5·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 ····</span><span·class="n">Docker</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">find_executable</span><span·class="p"·data-group-id="6911391929-3">(</span><span·class="s">&quot;docker&quot;</span><span·class="p"·data-group-id="6911391929-3">)</span><span·class="p">,</span><span·class="w">209 ····</span><span·class="n">Docker</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">os</span><span·class="p">:</span><span·class="nf">find_executable</span><span·class="p"·data-group-id="2518067146-3">(</span><span·class="s">&quot;docker&quot;</span><span·class="p"·data-group-id="2518067146-3">)</span><span·class="p">,</span><span·class="w">
210 ····</span><span·class="n">PrivDir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="6911391929-4">(</span><span·class="ss">priv_dir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="6911391929-4">)</span><span·class="p">,</span><span·class="w">210 ····</span><span·class="n">PrivDir</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">proplists</span><span·class="p">:</span><span·class="nf">get_value</span><span·class="p"·data-group-id="2518067146-4">(</span><span·class="ss">priv_dir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Config</span><span·class="p"·data-group-id="2518067146-4">)</span><span·class="p">,</span><span·class="w">
211 ····</span><span·class="nf">build_release</span><span·class="p"·data-group-id="6911391929-5">(</span><span·class="n">PrivDir</span><span·class="p"·data-group-id="6911391929-5">)</span><span·class="p">,</span><span·class="w">211 ····</span><span·class="nf">build_release</span><span·class="p"·data-group-id="2518067146-5">(</span><span·class="n">PrivDir</span><span·class="p"·data-group-id="2518067146-5">)</span><span·class="p">,</span><span·class="w">
212 ····</span><span·class="nf">build_image</span><span·class="p"·data-group-id="6911391929-6">(</span><span·class="n">PrivDir</span><span·class="p"·data-group-id="6911391929-6">)</span><span·class="p">,</span><span·class="w">212 ····</span><span·class="nf">build_image</span><span·class="p"·data-group-id="2518067146-6">(</span><span·class="n">PrivDir</span><span·class="p"·data-group-id="2518067146-6">)</span><span·class="p">,</span><span·class="w">
  
213 ····</span><span·class="c1">%%·start·two·Docker·containers</span><span·class="w">213 ····</span><span·class="c1">%%·start·two·Docker·containers</span><span·class="w">
214 ····</span><span·class="p"·data-group-id="6911391929-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="6911391929-7">}</span><span[·...·truncated·by·diffoscope;·len:·247,·SHA:·dc18b2688134cb9d4a4fe5eb7dd399f35a0bba47b3c31cff3bdd26115aa3b548·...·]-9">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">lambda</span><span·class="p">,</span><span·class="w">214 ····</span><span·class="p"·data-group-id="2518067146-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node</span><span·class="p"·data-group-id="2518067146-7">}</span><span[·...·truncated·by·diffoscope;·len:·247,·SHA:·3ca6ce3e73dc35ffeb5040740516e9bd966457bdd56a9fd248183cb26881202b·...·]-9">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">lambda</span><span·class="p">,</span><span·class="w">
215 ········</span><span·class="ss">connection</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">standard_io</span><span·class="p">,</span><span·class="w">215 ········</span><span·class="ss">connection</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">standard_io</span><span·class="p">,</span><span·class="w">
216 ········</span><span·class="ss">exec</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6911391929-10">{</span><span·class="n">Docker</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6911391929-11">[</span><span·class="s">&quot;run&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">[·...·truncated·by·diffoscope;·len:·483,·SHA:·f00f670c47979861c5229e234fb17436f375d537de919a17d038ba074b291739·...·]-8">)</span><span·class="p">,</span><span·class="w">216 ········</span><span·class="ss">exec</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2518067146-10">{</span><span·class="n">Docker</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2518067146-11">[</span><span·class="s">&quot;run&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">[·...·truncated·by·diffoscope;·len:·483,·SHA:·bd2a1b6ffe9aa0b685fa58c2154c63dafaa43473c23eff8fa9f682920f2735e2·...·]-8">)</span><span·class="p">,</span><span·class="w">
217 ····</span><span·class="p"·data-group-id="6911391929-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node2</span><span·class="p"·data-group-id="6911391929-12">}</span><[·...·truncated·by·diffoscope;·len:·252,·SHA:·743adf486290357228cf382f5c2bee8bcc3106ca606b65c343148de00c520990·...·]-14">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">lambda</span><span·class="p">,</span><span·class="w">217 ····</span><span·class="p"·data-group-id="2518067146-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Peer2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Node2</span><span·class="p"·data-group-id="2518067146-12">}</span><[·...·truncated·by·diffoscope;·len:·252,·SHA:·8a614d01a4ffaa6cfb96d04f80c46aef71a010e39c615f72caa93df8a05a9bf0·...·]-14">#{</span><span·class="ss">name</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">lambda</span><span·class="p">,</span><span·class="w">
218 ········</span><span·class="ss">connection</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">standard_io</span><span·class="p">,</span><span·class="w">218 ········</span><span·class="ss">connection</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">standard_io</span><span·class="p">,</span><span·class="w">
219 ········</span><span·class="ss">exec</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6911391929-15">{</span><span·class="n">Docker</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6911391929-16">[</span><span·class="s">&quot;run&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">[·...·truncated·by·diffoscope;·len:·484,·SHA:·16427f1745eb58fa4fdb5ea5c28c121e51e949dc9042166ba815293772bbfaad·...·]-13">)</span><span·class="p">,</span><span·class="w">219 ········</span><span·class="ss">exec</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="2518067146-15">{</span><span·class="n">Docker</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2518067146-16">[</span><span·class="s">&quot;run&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">[·...·truncated·by·diffoscope;·len:·484,·SHA:·58e38c1ab95e5cfa9172712ebe6c665d4a3819a588aea7d2de5be93d54a56425·...·]-13">)</span><span·class="p">,</span><span·class="w">
  
220 ····</span><span·class="c1">%%·find·IP·address·of·the·second·node·using·alternative·connection·RPC</span><span·class="w">220 ····</span><span·class="c1">%%·find·IP·address·of·the·second·node·using·alternative·connection·RPC</span><span·class="w">
221 ····</span><span·class="p"·data-group-id="6911391929-17">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ips</span><span·class="p"·data-group-id="6911391929-17">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·510,·SHA:·60c74b6ebd031c8f090175b0403006c75191644e10f36e8770380721eafaeceb·...·]-18">)</span><span·class="p">,</span><span·class="w">221 ····</span><span·class="p"·data-group-id="2518067146-17">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ips</span><span·class="p"·data-group-id="2518067146-17">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·510,·SHA:·d3eb8c147a97a015d54cedcdd1352294d74cc6efb324f0d5035c895eb81bbb89·...·]-18">)</span><span·class="p">,</span><span·class="w">
222 ····</span><span·class="p"·data-group-id="6911391929-20">{</span><span·class="s">&quot;eth0&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Eth0</span><span·class="p"·data-group-id="6911391929-20">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·372,·SHA:·4262b75c82af38408d926bb16c5a3fa97e877132867166c6bc8f265139d60bff·...·]-21">)</span><span·class="p">,</span><span·class="w">222 ····</span><span·class="p"·data-group-id="2518067146-20">{</span><span·class="s">&quot;eth0&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Eth0</span><span·class="p"·data-group-id="2518067146-20">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·[·...·truncated·by·diffoscope;·len:·372,·SHA:·0281abc2dad7744e81769253887841f27cc77c52c1edc63d59ff2dc2a0d84269·...·]-21">)</span><span·class="p">,</span><span·class="w">
223 ····</span><span·class="p"·data-group-id="6911391929-22">{</span><span·class="ss">addr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ip</span><span·class="p"·data-group-id="6911391929-22">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·349,·SHA:·8b3ede8eb5b114044ee22c4c0fc8c54b3e33d1c2a974a10c74d87fbad8fe2ea8·...·]-23">)</span><span·class="p">,</span><span·class="w">223 ····</span><span·class="p"·data-group-id="2518067146-22">{</span><span·class="ss">addr</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ip</span><span·class="p"·data-group-id="2518067146-22">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·349,·SHA:·d5ba5cba5dbde2a17b94243e7af04dfd5f36303756a95abd5e77aa4eee97b146·...·]-23">)</span><span·class="p">,</span><span·class="w">
  
224 ····</span><span·class="c1">%%·make·first·node·to·discover·second·one</span><span·class="w">224 ····</span><span·class="c1">%%·make·first·node·to·discover·second·one</span><span·class="w">
225 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="6911391929-24">(</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">inet_db</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">set_lookup</span><span·class="p">,</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·288,·SHA:·f7e424b07a6790dbd61d0a789b432e7887763c3ba165c6aaf40dee3a8d72455b·...·]-24">)</span><span·class="p">,</span><span·class="w">225 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="2518067146-24">(</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">inet_db</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">set_lookup</span><span·class="p">,</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·288,·SHA:·a89050625c16dbd6db747de39321b583b37bf34e07ffcab676dcebd58cb0c05e·...·]-24">)</span><span·class="p">,</span><span·class="w">
226 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="6911391929-27">(</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">inet_db</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">add_host</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·369,·SHA:·dd19bbdc775a2f8a1b968f0438fefbe2091fae902eefde3251646f40eece074c·...·]-27">)</span><span·class="p">,</span><span·class="w">226 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="2518067146-27">(</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">inet_db</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">add_host</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·369,·SHA:·c636b2c07d87fa1092fbc08aa93122ebd42d4fb589199da2a970d9ca9d838671·...·]-27">)</span><span·class="p">,</span><span·class="w">
  
227 ····</span><span·class="c1">%%·join·a·cluster</span><span·class="w">227 ····</span><span·class="c1">%%·join·a·cluster</span><span·class="w">
228 ····</span><span·class="ss">true</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="6911391929-30">(</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">net_kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">connect_node</span><span·class="p">,</span><span·class="w">[·...·truncated·by·diffoscope;·len:·185,·SHA:·2201dd2ba9b7cb4e62e9cdb00b0f582d35c527b6860189ae9fd8637b1a54e64f·...·]-30">)</span><span·class="p">,</span><span·class="w">228 ····</span><span·class="ss">true</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="2518067146-30">(</span><span·class="n">Peer</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">net_kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">connect_node</span><span·class="p">,</span><span·class="w">[·...·truncated·by·diffoscope;·len:·185,·SHA:·86ab0dc2c6211e041d29b9cfd717fd3bb226f7150116e9a195ecf14f7ab466f5·...·]-30">)</span><span·class="p">,</span><span·class="w">
229 ····</span><span·class="c1">%%·verify·that·second·peer·node·has·only·the·first·node·visible</span><span·class="w">229 ····</span><span·class="c1">%%·verify·that·second·peer·node·has·only·the·first·node·visible</span><span·class="w">
230 ····</span><span·class="p"·data-group-id="6911391929-32">[</span><span·class="n">Node</span><span·class="p"·data-group-id="6911391929-32">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">call</span>[·...·truncated·by·diffoscope;·len:·434,·SHA:·a43f520033363b04b739716d589acc8fb83bc067c36a1f016fbad250a1f5a46d·...·]-33">)</span><span·class="p">,</span><span·class="w">230 ····</span><span·class="p"·data-group-id="2518067146-32">[</span><span·class="n">Node</span><span·class="p"·data-group-id="2518067146-32">]</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">call</span>[·...·truncated·by·diffoscope;·len:·434,·SHA:·e65c953fe014538b911d70dd6d391af89fece9d8cb865cbb54ac20e20c5378b5·...·]-33">)</span><span·class="p">,</span><span·class="w">
  
231 ····</span><span·class="c1">%%·stop·peers,·causing·containers·to·also·stop</span><span·class="w">231 ····</span><span·class="c1">%%·stop·peers,·causing·containers·to·also·stop</span><span·class="w">
232 ····</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="6911391929-35">(</span><span·class="n">Peer2</span><span·class="p"·data-group-id="6911391929-35">)</span><span·class="p">,</span><span·class="w">232 ····</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="2518067146-35">(</span><span·class="n">Peer2</span><span·class="p"·data-group-id="2518067146-35">)</span><span·class="p">,</span><span·class="w">
233 ····</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="6911391929-36">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="6911391929-36">)</span><span·class="p">.</span><span·class="w">233 ····</span><span·class="nc">peer</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="2518067146-36">(</span><span·class="n">Peer</span><span·class="p"·data-group-id="2518067146-36">)</span><span·class="p">.</span><span·class="w">
  
234 </span><span·class="nf">build_release</span><span·class="p"·data-group-id="6911391929-37">(</span><span·class="n">Dir</span><span·class="p"·data-group-id="6911391929-37">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">234 </span><span·class="nf">build_release</span><span·class="p"·data-group-id="2518067146-37">(</span><span·class="n">Dir</span><span·class="p"·data-group-id="2518067146-37">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
235 ····</span><span·class="c1">%%·load·sasl.app·file,·otherwise·application:get_key·will·fail</span><span·class="w">235 ····</span><span·class="c1">%%·load·sasl.app·file,·otherwise·application:get_key·will·fail</span><span·class="w">
236 ····</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">load</span><span·class="p"·data-group-id="6911391929-38">(</span><span·class="ss">sasl</span><span·class="p"·data-group-id="6911391929-38">)</span><span·class="p">,</span><span·class="w">236 ····</span><span·class="nc">application</span><span·class="p">:</span><span·class="nf">load</span><span·class="p"·data-group-id="2518067146-38">(</span><span·class="ss">sasl</span><span·class="p"·data-group-id="2518067146-38">)</span><span·class="p">,</span><span·class="w">
237 ····</span><span·class="c1">%%·create·*.rel·-·release·file</span><span·class="w">237 ····</span><span·class="c1">%%·create·*.rel·-·release·file</span><span·class="w">
238 ····</span><span·class="n">RelFile</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="6911391929-39">(</span><span·class="n">Dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;lambda.rel&quot;</span><span·class="p"·data-group-id="6911391929-39">)</span><span·class="p">,</span><span·class="w">238 ····</span><span·class="n">RelFile</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="2518067146-39">(</span><span·class="n">Dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;lambda.rel&quot;</span><span·class="p"·data-group-id="2518067146-39">)</span><span·class="p">,</span><span·class="w">
239 ····</span><span·class="n">Release</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6911391929-40">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6911391929-41">{</span><span·class="s">&quot;lambda&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·70,·SHA:·9ade0528d18e292852b18f39b5ebdacc940e7819ad50f880c13585e744f7123c·...·]-41">}</span><span·class="p">,</span><span·class="w">239 ····</span><span·class="n">Release</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2518067146-40">{</span><span·class="ss">release</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2518067146-41">{</span><span·class="s">&quot;lambda&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·70,·SHA:·80c0a3e1f9f1f2b85e452804839d9546bbd6d7ffd4ccd33739483b4c934f85c1·...·]-41">}</span><span·class="p">,</span><span·class="w">
240 ········</span><span·class="p"·data-group-id="6911391929-42">{</span><span·class="ss">erts</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="6911391929-43">(</span><span·class="s[·...·truncated·by·diffoscope;·len:·112,·SHA:·660555ad8f05b288b1db28260c7dcde8a4b3265b19c47da54c7247bcb7deaceb·...·]-42">}</span><span·class="p">,</span><span·class="w">240 ········</span><span·class="p"·data-group-id="2518067146-42">{</span><span·class="ss">erts</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="2518067146-43">(</span><span·class="s[·...·truncated·by·diffoscope;·len:·112,·SHA:·ea0af5ad90bef4bd1dc73281ec3ea72391efb9cb574aa0152492abba27557d16·...·]-42">}</span><span·class="p">,</span><span·class="w">
241 ········</span><span·class="p"·data-group-id="6911391929-44">[</span><span·class="p"·data-group-id="6911391929-45">{</span><span·class="n">App</span><span·class="p">,</span><span·class="w">·</span><span·class="k">begin</span><span·class="w">·</span><span·class="p"·data-group-id="6911391929-46">{</span[·...·truncated·by·diffoscope;·len:·691,·SHA:·adab19191afb7caef148342811bf27cf575f4a09eb69fa75509f56a383ef1885·...·]-45">}</span><span·class="w">241 ········</span><span·class="p"·data-group-id="2518067146-44">[</span><span·class="p"·data-group-id="2518067146-45">{</span><span·class="n">App</span><span·class="p">,</span><span·class="w">·</span><span·class="k">begin</span><span·class="w">·</span><span·class="p"·data-group-id="2518067146-46">{</span[·...·truncated·by·diffoscope;·len:·691,·SHA:·60da3ac469474732b108910edfd628777763338e643dbf73530af7314e82b80e·...·]-45">}</span><span·class="w">
242 ············</span><span·class="p">||</span><span·class="w">·</span><span·class="n">App</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="6911391929-48">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">sasl</span><span·class="p"·data-group-id="6911391929-48">]</[·...·truncated·by·diffoscope;·len:·100,·SHA:·b41ce031940cfbd2c8f5f48c0a92ae65a74d0d6c8488fbac4d6d3cb98d7f9bb2·...·]-40">}</span><span·class="p">,</span><span·class="w">242 ············</span><span·class="p">||</span><span·class="w">·</span><span·class="n">App</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="2518067146-48">[</span><span·class="ss">kernel</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">stdlib</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">sasl</span><span·class="p"·data-group-id="2518067146-48">]</[·...·truncated·by·diffoscope;·len:·100,·SHA:·ede491b5403f88ee52cd5e91acbe8e427c915c1262d09a1f9252fd32c7cb8570·...·]-40">}</span><span·class="p">,</span><span·class="w">
243 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write_file</span><span·class="p"·data-group-id="6911391929-49">(</span><span·class="n">RelFile</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="6911391929-50">(</span><span·class="nc">lists</span><span·class="p">:</span><span·clas[·...·truncated·by·diffoscope;·len:·62,·SHA:·4486c80de48b310d6a1b918b3221fd9925ae302c249c0c00ac1f6e9e5d166cde·...·]-51">(</span><span·class="w">243 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write_file</span><span·class="p"·data-group-id="2518067146-49">(</span><span·class="n">RelFile</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">list_to_binary</span><span·class="p"·data-group-id="2518067146-50">(</span><span·class="nc">lists</span><span·class="p">:</span><span·clas[·...·truncated·by·diffoscope;·len:·62,·SHA:·1b81c1fcbceab77187798e425300bd06f409b38d9384be9a89d0f8870004aadd·...·]-51">(</span><span·class="w">
244 ········</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="6911391929-52">(</span><span·class="s">&quot;~tp.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6911391929-53">[</span><span·class="n">Release</span><span·class="p"·data-group-id="6911391929-53">]</span><span·cl[·...·truncated·by·diffoscope;·len:·195,·SHA:·5af98b096bc5b44199854e3c1f06f8c0e4662331f0ff2589a16a2ef5b539b8ca·...·]-49">)</span><span·class="p">,</span><span·class="w">244 ········</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="2518067146-52">(</span><span·class="s">&quot;~tp.&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2518067146-53">[</span><span·class="n">Release</span><span·class="p"·data-group-id="2518067146-53">]</span><span·cl[·...·truncated·by·diffoscope;·len:·195,·SHA:·eaf5bfbe7da5e9b38825f19c69282c99132416d277ae54a899fcdc495beffea6·...·]-49">)</span><span·class="p">,</span><span·class="w">
245 ····</span><span·class="n">RelFileNoExt</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="6911391929-54">(</span><span·class="n">Dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;lambda&quot;</span><span·class="p"·data-group-id="6911391929-54">)</span><span·class="p">,</span><span·class="w">245 ····</span><span·class="n">RelFileNoExt</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="2518067146-54">(</span><span·class="n">Dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;lambda&quot;</span><span·class="p"·data-group-id="2518067146-54">)</span><span·class="p">,</span><span·class="w">
  
246 ····</span><span·class="c1">%%·create·boot·script</span><span·class="w">246 ····</span><span·class="c1">%%·create·boot·script</span><span·class="w">
247 ····</span><span·class="p"·data-group-id="6911391929-55">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">systools_make</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6911391929-56">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·292,·SHA:·0005c5bff2b91b148946a4acf200e7ffd4bccc9b896a7d6b3f12597d685221e4·...·]-57">(</span><span·class="n">RelFileNoExt</span><span·class="p">,</span><span·class="w">247 ····</span><span·class="p"·data-group-id="2518067146-55">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">systools_make</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2518067146-56">[</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·292,·SHA:·bc2f771868da4bda636f9ceb0bcf901454bb0c0f4f2667c18020c495648a5125·...·]-57">(</span><span·class="n">RelFileNoExt</span><span·class="p">,</span><span·class="w">
248 ········</span><span·class="p"·data-group-id="6911391929-58">[</span><span·class="ss">silent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6911391929-59">{</span><span·class="ss">outdir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dir</sp[·...·truncated·by·diffoscope;·len:·152,·SHA:·5b8f135a3f54f3babc28ba80a2c1c70bfb90237e65ad429d75b52f0081e74cf1·...·]-57">)</span><span·class="p">,</span><span·class="w">248 ········</span><span·class="p"·data-group-id="2518067146-58">[</span><span·class="ss">silent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2518067146-59">{</span><span·class="ss">outdir</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Dir</sp[·...·truncated·by·diffoscope;·len:·152,·SHA:·fa68d868afa77420175ab6c4642d3adc68744cb9a53ea162e43e432df2071f47·...·]-57">)</span><span·class="p">,</span><span·class="w">
249 ····</span><span·class="c1">%%·package·release·into·*.tar.gz</span><span·class="w">249 ····</span><span·class="c1">%%·package·release·into·*.tar.gz</span><span·class="w">
250 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">systools</span><span·class="p">:</span><span·class="nf">make_tar</span><span·class="p"·data-group-id="6911391929-60">(</span><span·class="n">RelFileNoExt</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6911391929-61">[</span><span·class="p"·data-group-id="6911391929-62">{</span><span·class="ss">erts</span><span·class="p[·...·truncated·by·diffoscope;·len:·375,·SHA:·e1bcf5c6340a7aad23485eb0d8f1955045c47e20eb21a842265094a991cddf34·...·]-60">)</span><span·class="p">.</span><span·class="w">250 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">systools</span><span·class="p">:</span><span·class="nf">make_tar</span><span·class="p"·data-group-id="2518067146-60">(</span><span·class="n">RelFileNoExt</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2518067146-61">[</span><span·class="p"·data-group-id="2518067146-62">{</span><span·class="ss">erts</span><span·class="p[·...·truncated·by·diffoscope;·len:·375,·SHA:·5ca10822775bb86f7acde30522ba9faf481ebd7acf891cb537de02e28822ea87·...·]-60">)</span><span·class="p">.</span><span·class="w">
  
251 </span><span·class="nf">build_image</span><span·class="p"·data-group-id="6911391929-64">(</span><span·class="n">Dir</span><span·class="p"·data-group-id="6911391929-64">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">251 </span><span·class="nf">build_image</span><span·class="p"·data-group-id="2518067146-64">(</span><span·class="n">Dir</span><span·class="p"·data-group-id="2518067146-64">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
252 ····</span><span·class="c1">%%·Create·Dockerfile·example,·working·only·for·Ubuntu·20.04</span><span·class="w">252 ····</span><span·class="c1">%%·Create·Dockerfile·example,·working·only·for·Ubuntu·20.04</span><span·class="w">
253 ····</span><span·class="c1">%%·Expose·port·4445,·and·make·Erlang·distribution·to·listen</span><span·class="w">253 ····</span><span·class="c1">%%·Expose·port·4445,·and·make·Erlang·distribution·to·listen</span><span·class="w">
254 ····</span><span·class="c1">%%··on·this·port,·and·connect·to·it·without·EPMD</span><span·class="w">254 ····</span><span·class="c1">%%··on·this·port,·and·connect·to·it·without·EPMD</span><span·class="w">
255 ····</span><span·class="c1">%%·Set·cookie·on·both·nodes·to·be·the·same.</span><span·class="w">255 ····</span><span·class="c1">%%·Set·cookie·on·both·nodes·to·be·the·same.</span><span·class="w">
256 ····</span><span·class="n">BuildScript</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="6911391929-65">(</span><span·class="n">Dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Dockerfile&quot;</span><span·class="p"·data-group-id="6911391929-65">)</span><span·class="p">,</span><span·class="w">256 ····</span><span·class="n">BuildScript</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">filename</span><span·class="p">:</span><span·class="nf">join</span><span·class="p"·data-group-id="2518067146-65">(</span><span·class="n">Dir</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Dockerfile&quot;</span><span·class="p"·data-group-id="2518067146-65">)</span><span·class="p">,</span><span·class="w">
257 ····</span><span·class="n">Dockerfile</span><span·class="w">·</span><span·class="o">=</span><span·class="w">257 ····</span><span·class="n">Dockerfile</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
258 ······</span><span·class="s">&quot;FROM·ubuntu:20.04·as·runner\n&quot;</span><span·class="w">258 ······</span><span·class="s">&quot;FROM·ubuntu:20.04·as·runner\n&quot;</span><span·class="w">
259 ······</span><span·class="s">&quot;EXPOSE·4445\n&quot;</span><span·class="w">259 ······</span><span·class="s">&quot;EXPOSE·4445\n&quot;</span><span·class="w">
260 ······</span><span·class="s">&quot;WORKDIR·/opt/lambda\n&quot;</span><span·class="w">260 ······</span><span·class="s">&quot;WORKDIR·/opt/lambda\n&quot;</span><span·class="w">
261 ······</span><span·class="s">&quot;COPY·lambda.tar.gz·/tmp\n&quot;</span><span·class="w">261 ······</span><span·class="s">&quot;COPY·lambda.tar.gz·/tmp\n&quot;</span><span·class="w">
262 ······</span><span·class="s">&quot;RUN·tar·-zxvf·/tmp/lambda.tar.gz·-C·/opt/lambda\n&quot;</span><span·class="w">262 ······</span><span·class="s">&quot;RUN·tar·-zxvf·/tmp/lambda.tar.gz·-C·/opt/lambda\n&quot;</span><span·class="w">
263 ······</span><span·class="s">&quot;ENTRYPOINT·[\&quot;/opt/lambda/erts-&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="6911391929-66">(</span><span·class="ss">version</span><span·class="p"·data-group-id="6911391929-66">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">263 ······</span><span·class="s">&quot;ENTRYPOINT·[\&quot;/opt/lambda/erts-&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">system_info</span><span·class="p"·data-group-id="2518067146-66">(</span><span·class="ss">version</span><span·class="p"·data-group-id="2518067146-66">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">
264 ······</span><span·class="s">&quot;/bin/dyn_erl\&quot;,·\&quot;-boot\&quot;,·\&quot;/opt/lambda/releases/1.0.0/start\&quot;,&quot;</span><span·class="w">264 ······</span><span·class="s">&quot;/bin/dyn_erl\&quot;,·\&quot;-boot\&quot;,·\&quot;/opt/lambda/releases/1.0.0/start\&quot;,&quot;</span><span·class="w">
265 ······</span><span·class="s">&quot;·\&quot;-kernel\&quot;,·\&quot;inet_dist_listen_min\&quot;,·\&quot;4445\&quot;,&quot;</span><span·class="w">265 ······</span><span·class="s">&quot;·\&quot;-kernel\&quot;,·\&quot;inet_dist_listen_min\&quot;,·\&quot;4445\&quot;,&quot;</span><span·class="w">
266 ······</span><span·class="s">&quot;·\&quot;-erl_epmd_port\&quot;,·\&quot;4445\&quot;,&quot;</span><span·class="w">266 ······</span><span·class="s">&quot;·\&quot;-erl_epmd_port\&quot;,·\&quot;4445\&quot;,&quot;</span><span·class="w">
267 ······</span><span·class="s">&quot;·\&quot;-setcookie\&quot;,·\&quot;secret\&quot;]\n&quot;</span><span·class="p">,</span><span·class="w">267 ······</span><span·class="s">&quot;·\&quot;-setcookie\&quot;,·\&quot;secret\&quot;]\n&quot;</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 8586/92992 bytes (9.23%) of diff not shown.
757 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/pool.html
    
Offset 495, 15 lines modifiedOffset 495, 15 lines modified
495 ······<p·class="built-using">495 ······<p·class="built-using">
496 ········Built·using496 ········Built·using
497 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the497 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
498 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>498 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
499 ······</p>499 ······</p>
500 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>500 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
501 ····</footer>501 ····</footer>
502 ··</div>502 ··</div>
503 </main>503 </main>
504 </div>504 </div>
505 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>505 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
506 ··<script>506 ··<script>
507 ··let·initialized·=·false;507 ··let·initialized·=·false;
610 B
html2text {}
Max HTML report size reached
20.3 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/proc_lib.html
    
Offset 969, 29 lines modifiedOffset 969, 29 lines modified
969 the·start·function·used.</p><p>If·neither·this·function·nor·<a·href="#init_fail/3"><code·class="inline">init_fail/2,3</code></a>·is·called·by·the969 the·start·function·used.</p><p>If·neither·this·function·nor·<a·href="#init_fail/3"><code·class="inline">init_fail/2,3</code></a>·is·called·by·the
970 started·process,·the·start·function·returns·an·error·tuple·when·the·started970 started·process,·the·start·function·returns·an·error·tuple·when·the·started
971 process·exits,·or·when·the·start·function·time-out·(if·used)·has·passed,·see971 process·exits,·or·when·the·start·function·time-out·(if·used)·has·passed,·see
972 <a·href="#start/5"><code·class="inline">start/3,4,5</code></a>.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Do·not·use·this·function·to·return·an·error·indicating·that·the·process·start972 <a·href="#start/5"><code·class="inline">start/3,4,5</code></a>.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Do·not·use·this·function·to·return·an·error·indicating·that·the·process·start
973 failed.·When·doing·so·the·start·function·can·return·before·the·failing·process973 failed.·When·doing·so·the·start·function·can·return·before·the·failing·process
974 has·exited,·which·may·block·VM·resources·required·for·a·new·start·attempt·to974 has·exited,·which·may·block·VM·resources·required·for·a·new·start·attempt·to
975 succeed.·Use·<a·href="#init_fail/3"><code·class="inline">init_fail/2,3</code></a>·for·that·purpose.</p></section><p>The·following·example·illustrates·how·this·function·and·<a·href="#start_link/3"><code·class="inline">proc_lib:start_link/3</code></a>975 succeed.·Use·<a·href="#init_fail/3"><code·class="inline">init_fail/2,3</code></a>·for·that·purpose.</p></section><p>The·following·example·illustrates·how·this·function·and·<a·href="#start_link/3"><code·class="inline">proc_lib:start_link/3</code></a>
976 are·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="3460966944-1">(</span><span·class="ss">my_proc</span><span·class="p"·data-group-id="3460966944-1">)</span><span·class="p">.</span><span·class="w">976 are·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0378176306-1">(</span><span·class="ss">my_proc</span><span·class="p"·data-group-id="0378176306-1">)</span><span·class="p">.</span><span·class="w">
977 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3460966944-2">(</span><span·class="p"·data-group-id="3460966944-3">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="3460966944-3">]</span><span·class="p"·data-group-id="3460966944-2">)</span><span·class="p">.</span><span·class="w">977 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0378176306-2">(</span><span·class="p"·data-group-id="0378176306-3">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="0378176306-3">]</span><span·class="p"·data-group-id="0378176306-2">)</span><span·class="p">.</span><span·class="w">
978 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="3460966944-4">(</span><span·class="p"·data-group-id="3460966944-5">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="3460966944-5">]</span><span·class="p"·data-group-id="3460966944-4">)</span><span·class="p">.</span><span·class="w">978 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0378176306-4">(</span><span·class="p"·data-group-id="0378176306-5">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="0378176306-5">]</span><span·class="p"·data-group-id="0378176306-4">)</span><span·class="p">.</span><span·class="w">
  
979 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="3460966944-6">(</span><span·class="p"·data-group-id="3460966944-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">979 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="0378176306-6">(</span><span·class="p"·data-group-id="0378176306-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
980 ····</span><span·class="nc">proc_lib</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="3460966944-7">(</span><span·class="ss">my_proc</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3460966944-8">[</span><span·class="nf">self</spa[·...·truncated·by·diffoscope;·len:·202,·SHA:·3a04eee863c225b0f18208c4d0b993eb97d671c1691030dc8765e860f4fe8266·...·]-7">)</span><span·class="p">.</span><span·class="w">980 ····</span><span·class="nc">proc_lib</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="0378176306-7">(</span><span·class="ss">my_proc</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0378176306-8">[</span><span·class="nf">self</spa[·...·truncated·by·diffoscope;·len:·202,·SHA:·03281dda7cb2c292810770223559450dc07f9b6affec95c4d916a91adccbdf56·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
981 </span><span·class="nf">init</span><span·class="p"·data-group-id="3460966944-10">(</span><span·class="n">Parent</span><span·class="p"·data-group-id="3460966944-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">981 </span><span·class="nf">init</span><span·class="p"·data-group-id="0378176306-10">(</span><span·class="n">Parent</span><span·class="p"·data-group-id="0378176306-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
982 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">do_initialization</span><span·class="p"·data-group-id="3460966944-11">(</span><span·class="p"·data-group-id="3460966944-11">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">982 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">do_initialization</span><span·class="p"·data-group-id="0378176306-11">(</span><span·class="p"·data-group-id="0378176306-11">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
983 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">983 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
984 ············</span><span·class="nc">proc_lib</span><span·class="p">:</span><span·class="nf">init_ack</span><span·class="p"·data-group-id="3460966944-12">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3460966944-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span>[·...·truncated·by·diffoscope;·len:·203,·SHA:·fba7456cbcb77cf3945fd406177daf8eff7e15b45f64d81c261139fbbd6d503f·...·]-12">)</span><span·class="p">;</span><span·class="w">984 ············</span><span·class="nc">proc_lib</span><span·class="p">:</span><span·class="nf">init_ack</span><span·class="p"·data-group-id="0378176306-12">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0378176306-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span>[·...·truncated·by·diffoscope;·len:·203,·SHA:·f0d46b8606df560b13127109a2823f371dd76d4099f8bc4ff806954fcaf26040·...·]-12">)</span><span·class="p">;</span><span·class="w">
985 ········</span><span·class="p"·data-group-id="3460966944-15">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="3460966944-15">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">985 ········</span><span·class="p"·data-group-id="0378176306-15">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="0378176306-15">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
986 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="3460966944-16">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="3460966944-16">)</span><span·class="w">986 ············</span><span·class="nf">exit</span><span·class="p"·data-group-id="0378176306-16">(</span><span·class="n">Reason</span><span·class="p"·data-group-id="0378176306-16">)</span><span·class="w">
987 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">987 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
988 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="3460966944-17">(</span><span·class="p"·data-group-id="3460966944-17">)</span><span·class="p">.</span><span·class="w">988 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="0378176306-17">(</span><span·class="p"·data-group-id="0378176306-17">)</span><span·class="p">.</span><span·class="w">
  
989 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>989 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>
990 ··</section>990 ··</section>
991 </section>991 </section>
992 <section·class="detail"·id="init_fail/2">992 <section·class="detail"·id="init_fail/2">
  
993 ··<div·class="detail-header">993 ··<div·class="detail-header">
Offset 1052, 29 lines modifiedOffset 1052, 29 lines modified
1052 to·<code·class="inline">Exception</code>.·The·start·function·then·returns·<code·class="inline">Ret</code>.</p><p>See·<a·href="../../../../erts-16.0/doc/html/erlang.html#raise/3"><code·class="inline">erlang:raise/3</code></a>·for·a·description·of·<code·class="inline">Class</code>,·<code·class="inline">Reason</code>·and·<code·class="inline">Stacktrace</code>.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Do·not·consider·catching·the·exception·from·this·function.·That·would·defeat1052 to·<code·class="inline">Exception</code>.·The·start·function·then·returns·<code·class="inline">Ret</code>.</p><p>See·<a·href="../../../../erts-16.0/doc/html/erlang.html#raise/3"><code·class="inline">erlang:raise/3</code></a>·for·a·description·of·<code·class="inline">Class</code>,·<code·class="inline">Reason</code>·and·<code·class="inline">Stacktrace</code>.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>Do·not·consider·catching·the·exception·from·this·function.·That·would·defeat
1053 its·purpose.·A·process·started·by·a·<a·href="#start/3"><code·class="inline">start[_link|_monitor]/3,4,5</code></a>1053 its·purpose.·A·process·started·by·a·<a·href="#start/3"><code·class="inline">start[_link|_monitor]/3,4,5</code></a>
1054 function·should·end·in·a·value·(that·will·be·ignored)·or·an·exception·that1054 function·should·end·in·a·value·(that·will·be·ignored)·or·an·exception·that
1055 will·be·handled·by·this·module.·See·<a·href="proc_lib.html">Description</a>.</p></section><p>If·neither·this·function·nor·<a·href="#init_ack/1"><code·class="inline">init_ack/1,2</code></a>·is·called·by·the1055 will·be·handled·by·this·module.·See·<a·href="proc_lib.html">Description</a>.</p></section><p>If·neither·this·function·nor·<a·href="#init_ack/1"><code·class="inline">init_ack/1,2</code></a>·is·called·by·the
1056 started·process,·the·start·function·returns·an·error·tuple·when·the·started1056 started·process,·the·start·function·returns·an·error·tuple·when·the·started
1057 process·exits,·or·when·the·start·function·time-out·(if·used)·has·passed,·see1057 process·exits,·or·when·the·start·function·time-out·(if·used)·has·passed,·see
1058 <a·href="#start/3"><code·class="inline">start/3,4,5</code></a>.</p><p>The·following·example·illustrates·how·this·function·and·<a·href="#start_link/3"><code·class="inline">proc_lib:start_link/3</code></a>1058 <a·href="#start/3"><code·class="inline">start/3,4,5</code></a>.</p><p>The·following·example·illustrates·how·this·function·and·<a·href="#start_link/3"><code·class="inline">proc_lib:start_link/3</code></a>
1059 can·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0258089645-1">(</span><span·class="ss">my_proc</span><span·class="p"·data-group-id="0258089645-1">)</span><span·class="p">.</span><span·class="w">1059 can·be·used:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2633867868-1">(</span><span·class="ss">my_proc</span><span·class="p"·data-group-id="2633867868-1">)</span><span·class="p">.</span><span·class="w">
1060 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0258089645-2">(</span><span·class="p"·data-group-id="0258089645-3">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="0258089645-3">]</span><span·class="p"·data-group-id="0258089645-2">)</span><span·class="p">.</span><span·class="w"> 
1061 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0258089645-4">(</span><span·class="p"·data-group-id="0258089645-5">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="0258089645-5">]</span><span·class="p"·data-group-id="0258089645-4">)</span><span·class="p">.</span><span·class="w">1060 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2633867868-2">(</span><span·class="p"·data-group-id="2633867868-3">[</span><span·class="ss">start_link</span><span·class="p">/</span><span·class="mi">0</span><span·class="p"·data-group-id="2633867868-3">]</span><span·class="p"·data-group-id="2633867868-2">)</span><span·class="p">.</span><span·class="w">
 1061 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2633867868-4">(</span><span·class="p"·data-group-id="2633867868-5">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="2633867868-5">]</span><span·class="p"·data-group-id="2633867868-4">)</span><span·class="p">.</span><span·class="w">
  
1062 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="0258089645-6">(</span><span·class="p"·data-group-id="0258089645-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1062 </span><span·class="nf">start_link</span><span·class="p"·data-group-id="2633867868-6">(</span><span·class="p"·data-group-id="2633867868-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1063 ····</span><span·class="nc">proc_lib</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="0258089645-7">(</span><span·class="ss">my_proc</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0258089645-8">[</span><span·class="nf">self</spa[·...·truncated·by·diffoscope;·len:·202,·SHA:·9f8de9884c3e014e1b650072fb5ee521d2e329d2823c3117562b25d7eb526ecd·...·]-7">)</span><span·class="p">.</span><span·class="w">1063 ····</span><span·class="nc">proc_lib</span><span·class="p">:</span><span·class="nf">start_link</span><span·class="p"·data-group-id="2633867868-7">(</span><span·class="ss">my_proc</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">init</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2633867868-8">[</span><span·class="nf">self</spa[·...·truncated·by·diffoscope;·len:·202,·SHA:·a787c7da281f180395c51e99632f90ec8b2d1fe1bb940f89e0bb85d1565b6a6b·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
1064 </span><span·class="nf">init</span><span·class="p"·data-group-id="0258089645-10">(</span><span·class="n">Parent</span><span·class="p"·data-group-id="0258089645-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1064 </span><span·class="nf">init</span><span·class="p"·data-group-id="2633867868-10">(</span><span·class="n">Parent</span><span·class="p"·data-group-id="2633867868-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1065 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">do_initialization</span><span·class="p"·data-group-id="0258089645-11">(</span><span·class="p"·data-group-id="0258089645-11">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">1065 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">do_initialization</span><span·class="p"·data-group-id="2633867868-11">(</span><span·class="p"·data-group-id="2633867868-11">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
1066 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1066 ········</span><span·class="ss">ok</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1067 ············</span><span·class="nc">proc_lib</span><span·class="p">:</span><span·class="nf">init_ack</span><span·class="p"·data-group-id="0258089645-12">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0258089645-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span>[·...·truncated·by·diffoscope;·len:·203,·SHA:·c03357a96de61a925fff2c6941e5ea4b9103df4518c9fdaa04d2b39d994b64da·...·]-12">)</span><span·class="p">;</span><span·class="w">1067 ············</span><span·class="nc">proc_lib</span><span·class="p">:</span><span·class="nf">init_ack</span><span·class="p"·data-group-id="2633867868-12">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2633867868-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span>[·...·truncated·by·diffoscope;·len:·203,·SHA:·c3a46920d3990cddba2adc1be58ece0d32b5268303419da20a04ede728b1e763·...·]-12">)</span><span·class="p">;</span><span·class="w">
1068 ········</span><span·class="p"·data-group-id="0258089645-15">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="0258089645-15">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Error</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1068 ········</span><span·class="p"·data-group-id="2633867868-15">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Reason</span><span·class="p"·data-group-id="2633867868-15">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Error</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1069 ············</span><span·class="nc">proc_lib</span><span·class="p">:</span><span·class="nf">init_fail</span><span·class="p"·data-group-id="0258089645-16">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Error</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0258089645-17">{</span><span·class="nb">exit</spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·b39d92683ff9d496e2f3e5a1aa38a701b1f67525489891bc1d6321b712084ec7·...·]-16">)</span><span·class="w">1069 ············</span><span·class="nc">proc_lib</span><span·class="p">:</span><span·class="nf">init_fail</span><span·class="p"·data-group-id="2633867868-16">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Error</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2633867868-17">{</span><span·class="nb">exit</spa[·...·truncated·by·diffoscope;·len:·175,·SHA:·0e36bf24cf75a5ceec57db1219eadd9240f335a213fe2e942deb20a0fa7d163a·...·]-16">)</span><span·class="w">
1070 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">1070 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
1071 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="0258089645-18">(</span><span·class="p"·data-group-id="0258089645-18">)</span><span·class="p">.</span><span·class="w">1071 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="2633867868-18">(</span><span·class="p"·data-group-id="2633867868-18">)</span><span·class="p">.</span><span·class="w">
  
1072 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>1072 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre>
1073 ··</section>1073 ··</section>
1074 </section>1074 </section>
1075 <section·class="detail"·id="initial_call/1">1075 <section·class="detail"·id="initial_call/1">
  
1076 ··<div·class="detail-header">1076 ··<div·class="detail-header">
Offset 1948, 15 lines modifiedOffset 1948, 15 lines modified
1948 ······<p·class="built-using">1948 ······<p·class="built-using">
1949 ········Built·using1949 ········Built·using
1950 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1950 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1951 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1951 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1952 ······</p>1952 ······</p>
1953 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1953 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1954 ····</footer>1954 ····</footer>
1955 ··</div>1955 ··</div>
1956 </main>1956 </main>
1957 </div>1957 </div>
1958 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1958 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1959 ··<script>1959 ··<script>
1960 ··let·initialized·=·false;1960 ··let·initialized·=·false;
663 B
html2text {}
Max HTML report size reached
31.9 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/proplists.html
    
Offset 522, 15 lines modifiedOffset 522, 15 lines modified
  
522 ··········<pre·translate="no"><span·class="attribute">-spec</span>·append_values(Key,·ListIn)·->·ListOut·when·Key·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·ListIn·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],·ListOut·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>522 ··········<pre·translate="no"><span·class="attribute">-spec</span>·append_values(Key,·ListIn)·->·ListOut·when·Key·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>(),·ListIn·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],·ListOut·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>
  
523 ······</div>523 ······</div>
  
524 <p>Similar·to·<a·href="#get_all_values/2"><code·class="inline">get_all_values/2</code></a>,·but·each·value·is·wrapped·in·a·list·unless·it·is524 <p>Similar·to·<a·href="#get_all_values/2"><code·class="inline">get_all_values/2</code></a>,·but·each·value·is·wrapped·in·a·list·unless·it·is
525 already·itself·a·list.·The·resulting·list·of·lists·is·concatenated.·This·is525 already·itself·a·list.·The·resulting·list·of·lists·is·concatenated.·This·is
526 often·useful·for·&quot;incremental&quot;·options.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">append_values</span><span·class="p"·data-group-id="7449139177-1">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7449139177-2">[</span><span·class="p"·data-group-id="7449139177-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·1837,·SHA:·f7fcac7e523f101e8a935b3bcca08787680efb67a4884da7c8f3f44040fa1231·...·]-1">]</span></code></pre>526 often·useful·for·&quot;incremental&quot;·options.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">append_values</span><span·class="p"·data-group-id="2206367771-1">(</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2206367771-2">[</span><span·class="p"·data-group-id="2206367771-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·1837,·SHA:·7bbb98cd49d57563bcc2ffd48ad7f80ca2652e654d8aae2b55ef421d801e38ed·...·]-1">]</span></code></pre>
527 ··</section>527 ··</section>
528 </section>528 </section>
529 <section·class="detail"·id="compact/1">529 <section·class="detail"·id="compact/1">
  
530 ··<div·class="detail-header">530 ··<div·class="detail-header">
531 ····<a·href="#compact/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">531 ····<a·href="#compact/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
532 ······<i·class="ri-link-m"·aria-hidden="true"></i>532 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 610, 18 lines modifiedOffset 610, 18 lines modified
610 ······</div>610 ······</div>
  
611 <p>Expands·particular·properties·to·corresponding·sets·of·properties·(or·other611 <p>Expands·particular·properties·to·corresponding·sets·of·properties·(or·other
612 terms).</p><p>For·each·pair·<code·class="inline">{Property,·Expansion}</code>·in·<code·class="inline">Expansions</code>:·if·<code·class="inline">E</code>·is·the612 terms).</p><p>For·each·pair·<code·class="inline">{Property,·Expansion}</code>·in·<code·class="inline">Expansions</code>:·if·<code·class="inline">E</code>·is·the
613 first·entry·in·<code·class="inline">ListIn</code>·with·the·same·key·as·<code·class="inline">Property</code>,·and·<code·class="inline">E</code>·and·<code·class="inline">Property</code>613 first·entry·in·<code·class="inline">ListIn</code>·with·the·same·key·as·<code·class="inline">Property</code>,·and·<code·class="inline">E</code>·and·<code·class="inline">Property</code>
614 have·equivalent·normal·forms,·then·<code·class="inline">E</code>·is·replaced·with·the·terms·in614 have·equivalent·normal·forms,·then·<code·class="inline">E</code>·is·replaced·with·the·terms·in
615 <code·class="inline">Expansion</code>,·and·any·following·entries·with·the·same·key·are·deleted·from615 <code·class="inline">Expansion</code>,·and·any·following·entries·with·the·same·key·are·deleted·from
616 <code·class="inline">ListIn</code>.</p><p>For·example,·the·following·expressions·all·return·<code·class="inline">[fie,·bar,·baz,·fum]</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">expand</span><span·class="p"·data-group-id="2344711692-1">(</span><span·class="p"·data-group-id="2344711692-2">[</span><span·class="p"·data-group-id="2344711692-3">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2344711692-4">[</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">baz</span><span·class="p"·data-group-id="2344711692-4">]</span><span·class="p"·data-group-id="2344711692-3">}</span><span·class="p"·data-group-id="2344711692-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2344711692-5">[</span><span·class="ss">fie</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">fum</span><span·class="p"·data-group-id="2344711692-5">]</span><span·class="p"·data-group-id="2344711692-1">)</span><span·class="w"> 
617 </span><span·class="nf">expand</span><span·class="p"·data-group-id="2344711692-6">(</span><span·class="p"·data-group-id="2344711692-7">[</span><span·class="p"·data-group-id="2344711692-8">{</span><span·class="p"·data-group-id="2344711692-9">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="2344711692-9">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2344711692-10">[</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">baz</span><span·class="p"·data-group-id="2344711692-10">]</span><span·class="p"·data-group-id="2344711692-8">}</span><span·class="p"·data-group-id="2344711692-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2344711692-11">[</span><span·class="ss">fie</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">fum</span><span·class="p"·data-group-id="2344711692-11">]</span><span·class="p"·data-group-id="2344711692-6">)</span><span·class="w"> 
618 </span><span·class="nf">expand</span><span·class="p"·data-group-id="2344711692-12">(</span><span·class="p"·data-group-id="2344711692-13">[</span><span·class="p"·data-group-id="2344711692-14">{</span><span·class="p"·data-group-id="2344711692-15">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="2344711692-15">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2344711692-16">[</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">baz</span><span·class="p"·data-group-id="2344711692-16">]</span><span·class="p"·data-group-id="2344711692-14">}</span><span·class="p"·data-group-id="2344711692-13">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2344711692-17">[</span><span·class="ss">fie</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2344711692-18">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="2344711692-18">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">fum</span><span·class="p"·data-group-id="2344711692-17">]</span><span·class="p"·data-group-id="2344711692-12">)</span></code></pre><p>However,·no·expansion·is·done·in·the·following·call·because·<code·class="inline">{foo,·false}</code> 
619 shadows·<code·class="inline">foo</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">expand</span><span·class="p"·data-group-id="1379682887-1">(</span><span·class="p"·data-group-id="1379682887-2">[</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·1333,·SHA:·d9d1ba4aca57a7565343186b1add5d2d03e77c3b1bf3a9bda29d783c4d755276·...·]616 <code·class="inline">ListIn</code>.</p><p>For·example,·the·following·expressions·all·return·<code·class="inline">[fie,·bar,·baz,·fum]</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">expand</span><span·class="p"·data-group-id="83[·...·truncated·by·diffoscope;·len:·915,·SHA:·d0507b42bd672ca9cda90b1a260f0233ab46d71f1e68c071a42d2e510605411e·...·]
 617 </span><span·class="nf">expand</span><span·class="p"·data-group-id="8372491051-6">(</span><span·class="p"·data-group-id="8372491051-7">[</span><span·class="p"·data-group-id="8372491051-8">{</span><span·class="p"·data-group-id="8372491051-9">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="8372491051-9">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8372491051-10">[</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">baz</span><span·class="p"·data-group-id="8372491051-10">]</span><span·class="p"·data-group-id="8372491051-8">}</span><span·class="p"·data-group-id="8372491051-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8372491051-11">[</span><span·class="ss">fie</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">fum</span><span·class="p"·data-group-id="8372491051-11">]</span><span·class="p"·data-group-id="8372491051-6">)</span><span·class="w">
 618 </span><span·class="nf">expand</span><span·class="p"·data-group-id="8372491051-12">(</span><span·class="p"·data-group-id="8372491051-13">[</span><span·class="p"·data-group-id="8372491051-14">{</span><span·class="p"·data-group-id="8372491051-15">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="8372491051-15">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8372491051-16">[</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">baz</span><span·class="p"·data-group-id="8372491051-16">]</span><span·class="p"·data-group-id="8372491051-14">}</span><span·class="p"·data-group-id="8372491051-13">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8372491051-17">[</span><span·class="ss">fie</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8372491051-18">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="8372491051-18">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">fum</span><span·class="p"·data-group-id="8372491051-17">]</span><span·class="p"·data-group-id="8372491051-12">)</span></code></pre><p>However,·no·expansion·is·done·in·the·following·call·because·<code·class="inline">{foo,·false}</code>
 619 shadows·<code·class="inline">foo</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">expand</span><span·class="p"·data-group-id="1834966941-1">(</span><span·class="p"·data-group-id="1834966941-2">[</span><span·class="p"·data-group-id="1834966941-3">{</span><span·class="p"·data-group-id="1834966941-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="1834966941-4">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1834966941-5">[</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">baz</span><span·class="p"·data-group-id="1834966941-5">]</span><span·class="p"·data-group-id="1834966941-3">}</span><span·class="p"·data-group-id="1834966941-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1834966941-6">[</span><span·class="p"·data-group-id="1834966941-7">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="1834966941-7">}</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">fie</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">fum</span><span·class="p"·data-group-id="1834966941-6">]</span><span·class="p"·data-group-id="1834966941-1">)</span></code></pre><p>Notice·that·if·the·original·property·term·is·to·be·preserved·in·the·result·when
620 expanded,·it·must·be·included·in·the·expansion·list.·The·inserted·terms·are·not620 expanded,·it·must·be·included·in·the·expansion·list.·The·inserted·terms·are·not
621 expanded·recursively.·If·<code·class="inline">Expansions</code>·contains·more·than·one·property·with·the621 expanded·recursively.·If·<code·class="inline">Expansions</code>·contains·more·than·one·property·with·the
622 same·key,·only·the·first·occurrence·is·used.</p><p>See·also·<a·href="#normalize/2"><code·class="inline">normalize/2</code></a>.</p>622 same·key,·only·the·first·occurrence·is·used.</p><p>See·also·<a·href="#normalize/2"><code·class="inline">normalize/2</code></a>.</p>
623 ··</section>623 ··</section>
624 </section>624 </section>
625 <section·class="detail"·id="from_map/1">625 <section·class="detail"·id="from_map/1">
  
Offset 992, 15 lines modifiedOffset 992, 15 lines modified
992 ···············when·List·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],·Keys·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],·Lists·::·[[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()]],·Rest·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>992 ···············when·List·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],·Keys·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()],·Lists·::·[[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()]],·Rest·::·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:term/0">term</a>()].</pre>
  
993 ······</div>993 ······</div>
  
994 <p>Partitions·<code·class="inline">List</code>·into·a·list·of·sublists·and·a·remainder.</p><p><code·class="inline">Lists</code>·contains·one·sublist·for·each·key·in·<code·class="inline">Keys</code>,·in·the·corresponding·order.994 <p>Partitions·<code·class="inline">List</code>·into·a·list·of·sublists·and·a·remainder.</p><p><code·class="inline">Lists</code>·contains·one·sublist·for·each·key·in·<code·class="inline">Keys</code>,·in·the·corresponding·order.
995 The·relative·order·of·the·elements·in·each·sublist·is·preserved·from·the·original·<code·class="inline">List</code>.995 The·relative·order·of·the·elements·in·each·sublist·is·preserved·from·the·original·<code·class="inline">List</code>.
996 <code·class="inline">Rest</code>·contains·the·elements·in·<code·class="inline">List</code>·that·are·not·associated·with·any·of·the996 <code·class="inline">Rest</code>·contains·the·elements·in·<code·class="inline">List</code>·that·are·not·associated·with·any·of·the
997 specified·keys,·also·with·their·original·relative·order·preserved.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">split</span><span·class="p"·data-group-id="4392324174-1">(</span><span·class="p"·data-group-id="4392324174-2">[</span><span·class="p"·data-group-id="4392324174-3">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="4[·...·truncated·by·diffoscope;·len:·3430,·SHA:·c8c13455b077565ab623efffaa86f9c59f6c1819bf7e4471895cbbce2db96aeb·...·]-1">}</span></code></pre>997 specified·keys,·also·with·their·original·relative·order·preserved.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">split</span><span·class="p"·data-group-id="4300747536-1">(</span><span·class="p"·data-group-id="4300747536-2">[</span><span·class="p"·data-group-id="4300747536-3">{</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="4[·...·truncated·by·diffoscope;·len:·3430,·SHA:·fa33a1667dff808b11851eab200ecca15c718bdb4eeaec66836b4c5774507e1e·...·]-1">}</span></code></pre>
998 ··</section>998 ··</section>
999 </section>999 </section>
1000 <section·class="detail"·id="substitute_aliases/2">1000 <section·class="detail"·id="substitute_aliases/2">
  
1001 ··<div·class="detail-header">1001 ··<div·class="detail-header">
1002 ····<a·href="#substitute_aliases/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1002 ····<a·href="#substitute_aliases/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1003 ······<i·class="ri-link-m"·aria-hidden="true"></i>1003 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1109, 15 lines modifiedOffset 1109, 15 lines modified
1109 ······</div>1109 ······</div>
  
1110 <p>Converts·the·property·list·<code·class="inline">List</code>·to·a·map.</p><p>Shorthand·atom·values·in·<code·class="inline">List</code>·will·be·expanded·to·an·association·of·the·form1110 <p>Converts·the·property·list·<code·class="inline">List</code>·to·a·map.</p><p>Shorthand·atom·values·in·<code·class="inline">List</code>·will·be·expanded·to·an·association·of·the·form
1111 <code·class="inline">Atom·=&gt;·true</code>.·Tuples·of·the·form·<code·class="inline">{Key,·Value}</code>·in·<code·class="inline">List</code>·will·be·converted·to1111 <code·class="inline">Atom·=&gt;·true</code>.·Tuples·of·the·form·<code·class="inline">{Key,·Value}</code>·in·<code·class="inline">List</code>·will·be·converted·to
1112 an·association·of·the·form·<code·class="inline">Key·=&gt;·Value</code>.·Anything·else·will·be·silently1112 an·association·of·the·form·<code·class="inline">Key·=&gt;·Value</code>.·Anything·else·will·be·silently
1113 ignored.</p><p>If·the·same·key·appears·in·<code·class="inline">List</code>·multiple·times,·the·value·of·the·one·appearing1113 ignored.</p><p>If·the·same·key·appears·in·<code·class="inline">List</code>·multiple·times,·the·value·of·the·one·appearing
1114 nearest·to·the·head·of·<code·class="inline">List</code>·will·be·in·the·result·map,·that·is·the·value·that1114 nearest·to·the·head·of·<code·class="inline">List</code>·will·be·in·the·result·map,·that·is·the·value·that
1115 would·be·returned·by·a·call·to·<a·href="#get_value/2"><code·class="inline">get_value(Key,·List)</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">to_map</span><span·class="p"·data-group-id="1657139940-1">(</span><span·class="p"·data-group-id="1657139940-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1657139940-3">{</span><span·class="ss">b</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·1354,·SHA:·f422f2dbf382a648dc2c05a586d702741bec171d08eec17a710fb3167877cde8·...·]-1">}</span></code></pre>1115 would·be·returned·by·a·call·to·<a·href="#get_value/2"><code·class="inline">get_value(Key,·List)</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">to_map</span><span·class="p"·data-group-id="2289245010-1">(</span><span·class="p"·data-group-id="2289245010-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2289245010-3">{</span><span·class="ss">b</span><span·class="p">,</span><span·[·...·truncated·by·diffoscope;·len:·1354,·SHA:·8785fecaf3e00cfb4057564303b7233a625c55be506224a7060efbf71384b6c0·...·]-1">}</span></code></pre>
1116 ··</section>1116 ··</section>
1117 </section>1117 </section>
1118 <section·class="detail"·id="to_map/2">1118 <section·class="detail"·id="to_map/2">
  
1119 ··<div·class="detail-header">1119 ··<div·class="detail-header">
1120 ····<a·href="#to_map/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1120 ····<a·href="#to_map/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1121 ······<i·class="ri-link-m"·aria-hidden="true"></i>1121 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1201, 15 lines modifiedOffset 1201, 15 lines modified
1201 ······<p·class="built-using">1201 ······<p·class="built-using">
1202 ········Built·using1202 ········Built·using
1203 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1203 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1204 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1204 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1205 ······</p>1205 ······</p>
1206 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1206 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1207 ····</footer>1207 ····</footer>
1208 ··</div>1208 ··</div>
1209 </main>1209 </main>
1210 </div>1210 </div>
1211 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1211 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1212 ··<script>1212 ··<script>
1213 ··let·initialized·=·false;1213 ··let·initialized·=·false;
722 B
html2text {}
Max HTML report size reached
218 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/qlc.html
Max HTML report size reached
160 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/queue.html
Max HTML report size reached
29.6 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/rand.html
    
Offset 197, 32 lines modifiedOffset 197, 32 lines modified
197 or·be·an·explicit·argument·and·return·value.</p><p>The·functions·with·implicit·state·operates·on·a·state·stored197 or·be·an·explicit·argument·and·return·value.</p><p>The·functions·with·implicit·state·operates·on·a·state·stored
198 in·the·process·dictionary·under·the·key·<code·class="inline">rand_seed</code>.··If·that·key198 in·the·process·dictionary·under·the·key·<code·class="inline">rand_seed</code>.··If·that·key
199 doesn't·exist·when·the·function·is·called,·<a·href="#seed/1"><code·class="inline">seed/1</code></a>·is·called·automatically199 doesn't·exist·when·the·function·is·called,·<a·href="#seed/1"><code·class="inline">seed/1</code></a>·is·called·automatically
200 with·the·<a·href="#default-algorithm"><em>default·algorithm</em></a>·and·creates200 with·the·<a·href="#default-algorithm"><em>default·algorithm</em></a>·and·creates
201 a·reasonably·unpredictable·seed.</p><p>The·functions·with·explicit·state·don't·use·the·process·dictionary.</p><h4><em>Examples</em></h4><p>Simple·use;·create·and·seed·the201 a·reasonably·unpredictable·seed.</p><p>The·functions·with·explicit·state·don't·use·the·process·dictionary.</p><h4><em>Examples</em></h4><p>Simple·use;·create·and·seed·the
202 <a·href="#default-algorithm"><em>default·algorithm</em></a>·with·a·non-fixed·seed,202 <a·href="#default-algorithm"><em>default·algorithm</em></a>·with·a·non-fixed·seed,
203 if·not·already·done,·and·generate·two·uniformly·distibuted203 if·not·already·done,·and·generate·two·uniformly·distibuted
204 floating·point·numbers.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">R0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="3106141661-1">(</span><span·class="p"·data-group-id="3106141661-1">)</span><span·class="p">,</span><span·class="w">204 floating·point·numbers.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">R0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="0483550460-1">(</span><span·class="p"·data-group-id="0483550460-1">)</span><span·class="p">,</span><span·class="w">
205 </span><span·class="n">R1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="3106141661-2">(</span><span·class="p"·data-group-id="3106141661-2">)</span><span·class="p">,</span></code></pre><p>Use·a·specified·algorithm:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o"[·...·truncated·by·diffoscope;·len:·240,·SHA:·14f475601a2040b6dc3bc0535575c3230e7033a0ce3cb68f148988f4bed11942·...·]-1">)</span><span·class="p">,</span><span·class="w">205 </span><span·class="n">R1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="0483550460-2">(</span><span·class="p"·data-group-id="0483550460-2">)</span><span·class="p">,</span></code></pre><p>Use·a·specified·algorithm:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</span><span·class="o"[·...·truncated·by·diffoscope;·len:·240,·SHA:·36755e6db96d2dc7171b8cde6bf6e514433a898536d7f09761ac6539c4272ef4·...·]-1">)</span><span·class="p">,</span><span·class="w">
206 </span><span·class="n">R2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="5164661712-2">(</span><span·class="p"·data-group-id="5164661712-2">)</span><span·class="p">,</span></code></pre><p>Use·a·specified·algorithm·with·a·fixed·seed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·595,·SHA:·9be14dc1073a2ac37f0f29a13f6a992de8e9142a862a15026d9b4ec7e949b35f·...·]-1">)</span><span·class="p">,</span><span·class="w">206 </span><span·class="n">R2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="0105548279-2">(</span><span·class="p"·data-group-id="0105548279-2">)</span><span·class="p">,</span></code></pre><p>Use·a·specified·algorithm·with·a·fixed·seed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">_</span><span·class="w">·</sp[·...·truncated·by·diffoscope;·len:·595,·SHA:·dfd8fe098a05090aab109c4dc0655390de7107bb788466be3bba5025210776e7·...·]-1">)</span><span·class="p">,</span><span·class="w">
207 </span><span·class="n">R3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="3368080627-3">(</span><span·class="p"·data-group-id="3368080627-3">)</span><span·class="p">,</span></code></pre><p>Use·the·functional·API·with·a·non-fixed·seed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">S0</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·258,·SHA:·80f18823ca1c2c488f47e7afc49c25afa2a096beae47591429b45f609f82dc6d·...·]-1">)</span><span·class="p">,</span><span·class="w">207 </span><span·class="n">R3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="4657491640-3">(</span><span·class="p"·data-group-id="4657491640-3">)</span><span·class="p">,</span></code></pre><p>Use·the·functional·API·with·a·non-fixed·seed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">S0</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·258,·SHA:·d0d5d5e9f500b980dfbf178a84454bbaa062c84a627148b17fafbcf61e29eae7·...·]-1">)</span><span·class="p">,</span><span·class="w">
208 </span><span·class="p"·data-group-id="1304387757-2">{</span><span·class="n">R4</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S1</span><span·class="p"·data-group-id="1304387757-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·654,·SHA:·cc2bc2a081eda6f50197426b602e2360c59f02da0c12829c2f72fc60b958a2da·...·]-1">)</span><span·class="p">,</span><span·class="w">208 </span><span·class="p"·data-group-id="0045881636-2">{</span><span·class="n">R4</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S1</span><span·class="p"·data-group-id="0045881636-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·654,·SHA:·bb820e091fd3db50dee97033e0d0c1e879d62a21275b2c24fe7e0b05c31043d7·...·]-1">)</span><span·class="p">,</span><span·class="w">
209 </span><span·class="n">R6</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="5753816075-2">(</span><span·class="p"·data-group-id="5753816075-2">)</span><span·class="p">,</span><span·class="w">209 </span><span·class="n">R6</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="1359702448-2">(</span><span·class="p"·data-group-id="1359702448-2">)</span><span·class="p">,</span><span·class="w">
210 </span><span·class="n">SND0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">sqrt</span><span·class="p"·data-group-id="5753816075-3">(</span><span·class="o">-</span><span·class="mi">2</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">log</span><span·class="p"·data-group-id="575[·...·truncated·by·diffoscope;·len:·2113,·SHA:·7b1347d1e7de0ad89de8ffda2e94aafe1a7a1abd19fda3de42af055dbaf0e41a·...·]-2">)</span><span·class="p">,</span></code></pre><h4>Quality·of·the·Generated·Numbers</h4><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·builtin·random·number·generator·algorithms·are·not·cryptographically210 </span><span·class="n">SND0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">sqrt</span><span·class="p"·data-group-id="1359702448-3">(</span><span·class="o">-</span><span·class="mi">2</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="nc">math</span><span·class="p">:</span><span·class="nf">log</span><span·class="p"·data-group-id="135[·...·truncated·by·diffoscope;·len:·2113,·SHA:·02a88a16988228a004b232d523e56e198eeaace103a75140263f3c1402d975e1·...·]-2">)</span><span·class="p">,</span></code></pre><h4>Quality·of·the·Generated·Numbers</h4><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>The·builtin·random·number·generator·algorithms·are·not·cryptographically
211 strong.·If·a·cryptographically·strong·random·number·generator·is·needed,211 strong.·If·a·cryptographically·strong·random·number·generator·is·needed,
212 use·something·like·<a·href="../../../../lib/crypto-5.6/doc/html/crypto.html#rand_seed/0"><code·class="inline">crypto:rand_seed/0</code></a>.</p></section><p>For·all·these·generators·except·<code·class="inline">exro928ss</code>·and·<code·class="inline">exsss</code>·the·lowest·bit(s)212 use·something·like·<a·href="../../../../lib/crypto-5.6/doc/html/crypto.html#rand_seed/0"><code·class="inline">crypto:rand_seed/0</code></a>.</p></section><p>For·all·these·generators·except·<code·class="inline">exro928ss</code>·and·<code·class="inline">exsss</code>·the·lowest·bit(s)
213 have·got·a·slightly·less·random·behaviour·than·all·other·bits.213 have·got·a·slightly·less·random·behaviour·than·all·other·bits.
214 1·bit·for·<code·class="inline">exrop</code>·(and·<code·class="inline">exsp</code>),·and·3·bits·for·<code·class="inline">exs1024s</code>.·See·for·example214 1·bit·for·<code·class="inline">exrop</code>·(and·<code·class="inline">exsp</code>),·and·3·bits·for·<code·class="inline">exs1024s</code>.·See·for·example
215 this·explanation·in·the215 this·explanation·in·the
216 <a·href="http://xoroshiro.di.unimi.it/xoroshiro128plus.c">Xoroshiro128+</a>216 <a·href="http://xoroshiro.di.unimi.it/xoroshiro128plus.c">Xoroshiro128+</a>
217 generator·source·code:</p><blockquote><p>Beside·passing·BigCrush,·this·generator·passes·the·PractRand·test·suite217 generator·source·code:</p><blockquote><p>Beside·passing·BigCrush,·this·generator·passes·the·PractRand·test·suite
218 up·to·(and·included)·16TB,·with·the·exception·of·binary·rank·tests,218 up·to·(and·included)·16TB,·with·the·exception·of·binary·rank·tests,
219 which·fail·due·to·the·lowest·bit·being·an·LFSR;·all·other·bits·pass·all219 which·fail·due·to·the·lowest·bit·being·an·LFSR;·all·other·bits·pass·all
220 tests.·We·suggest·to·use·a·sign·test·to·extract·a·random·Boolean·value.</p></blockquote><p>If·this·is·a·problem;·to·generate·a·boolean·with·these·algorithms,220 tests.·We·suggest·to·use·a·sign·test·to·extract·a·random·Boolean·value.</p></blockquote><p>If·this·is·a·problem;·to·generate·a·boolean·with·these·algorithms,
221 use·something·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6426037571-1">(</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="6426037571-2">(</span><span·class="mi">256</span><span·class="p"·data-group-id="6426037571-2">)</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·2110,·SHA:·e8dc597f1802e73697cfccd58592c8e2a20b7feb679d0817ae7b9c0b23a35f97·...·]-1">)</span></code></pre><p>The·floating·point·generating·functions·in·this·module·waste·the·lowest·bits221 use·something·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4093446895-1">(</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="4093446895-2">(</span><span·class="mi">256</span><span·class="p"·data-group-id="4093446895-2">)</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·2110,·SHA:·feb1ec05171cc263f869269dc74a97ba1c38b07e859e9d54f6e3a021b848014d·...·]-1">)</span></code></pre><p>The·floating·point·generating·functions·in·this·module·waste·the·lowest·bits
222 when·converting·from·an·integer·so·they·avoid·this·snag.</p><h2·id="module-niche-algorithms"·class="section-heading">222 when·converting·from·an·integer·so·they·avoid·this·snag.</p><h2·id="module-niche-algorithms"·class="section-heading">
223 ··<a·href="#module-niche-algorithms"·class="hover-link">223 ··<a·href="#module-niche-algorithms"·class="hover-link">
224 ····<i·class="ri-link-m"·aria-hidden="true"></i>224 ····<i·class="ri-link-m"·aria-hidden="true"></i>
225 ··</a>225 ··</a>
226 ··<span·class="text"><a·href=""·id="niche-algorithms"></a>·Niche·algorithms</span>226 ··<span·class="text"><a·href=""·id="niche-algorithms"></a>·Niche·algorithms</span>
227 </h2>227 </h2>
228 <p>The·<a·href="#niche-algorithms-api">niche·algorithms·API</a>·contains228 <p>The·<a·href="#niche-algorithms-api">niche·algorithms·API</a>·contains
Offset 1386, 15 lines modifiedOffset 1386, 15 lines modified
1386 a·new·state·<a·href="#t:mwc59_state/0"><code·class="inline">CX1</code></a>,·according·to·a·Multiply·With·Carry1386 a·new·state·<a·href="#t:mwc59_state/0"><code·class="inline">CX1</code></a>,·according·to·a·Multiply·With·Carry
1387 generator,·which·is·an·efficient·implementation·of1387 generator,·which·is·an·efficient·implementation·of
1388 a·Multiplicative·Congruential·Generator·with·a·power·of·2·multiplier1388 a·Multiplicative·Congruential·Generator·with·a·power·of·2·multiplier
1389 and·a·prime·modulus.</p><p>This·generator·uses·the·multiplier·<code·class="inline">2^32</code>·and·the·modulus1389 and·a·prime·modulus.</p><p>This·generator·uses·the·multiplier·<code·class="inline">2^32</code>·and·the·modulus
1390 <code·class="inline">16#7fa6502 * 2^32 - 1</code>,·which·have·been·selected,·in·collaboration·with1390 <code·class="inline">16#7fa6502 * 2^32 - 1</code>,·which·have·been·selected,·in·collaboration·with
1391 Sebastiano·Vigna,·to·avoid·bignum·operations·and·still·get1391 Sebastiano·Vigna,·to·avoid·bignum·operations·and·still·get
1392 good·statistical·quality.·It·has·been·named·&quot;MWC59&quot;·and·can·be·written·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">C</span><span·class="err"> </span><span·class="o">=</span><span·class="err"> </span><span·class="n">CX0</span><span·class="err"> </span><span·class="ow">bsr</span><span·class="err"> </span><span·class="mi">32</span><span·class="w">1392 good·statistical·quality.·It·has·been·named·&quot;MWC59&quot;·and·can·be·written·as:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">C</span><span·class="err"> </span><span·class="o">=</span><span·class="err"> </span><span·class="n">CX0</span><span·class="err"> </span><span·class="ow">bsr</span><span·class="err"> </span><span·class="mi">32</span><span·class="w">
1393 </span><span·class="n">X</span><span·class="err"> </span><span·class="o">=</span><span·class="err"> </span><span·class="n">CX0</span><span·class="err"> </span><span·class="ow">band</span><span·class="err"> </span><span·class="p"·data-group-id="8635974251-1">(</span><span·class="p"·data-group-id="8635974251-2">(</span><span·class="mi">1</span><span·class="err"> </span><span·class="ow">bsl</span><span·class="err"> </span><span·class="mi">32</span><span·class="p"·data-group-id="8635974251-2">)</spa[·...·truncated·by·diffoscope;·len:·92,·SHA:·23e94d2d04faf6aafab2db96b3ef88ed2aecb4eec4be12b282b9aced386e5406·...·]-1">)</span><span·class="p">)</span><span·class="w">1393 </span><span·class="n">X</span><span·class="err"> </span><span·class="o">=</span><span·class="err"> </span><span·class="n">CX0</span><span·class="err"> </span><span·class="ow">band</span><span·class="err"> </span><span·class="p"·data-group-id="7366471105-1">(</span><span·class="p"·data-group-id="7366471105-2">(</span><span·class="mi">1</span><span·class="err"> </span><span·class="ow">bsl</span><span·class="err"> </span><span·class="mi">32</span><span·class="p"·data-group-id="7366471105-2">)</spa[·...·truncated·by·diffoscope;·len:·92,·SHA:·e4bce3730abcb591b6aca0f85d94cbfd3261717d34437d2ecc368968578c138f·...·]-1">)</span><span·class="p">)</span><span·class="w">
1394 </span><span·class="n">CX1</span><span·class="err"> </span><span·class="o">=</span><span·class="err"> </span><span·class="mi">16#7fa6502</span><span·class="err"> </span><span·class="o">*</span><span·class="err"> </span><span·class="n">X</span><span·class="err"> </span><span·class="o">+</span><span·class="err"> </span><span·class="n">C</span></code></pre><p>Because·the·generator·uses·a·multiplier·that·is·a·power·of·2·it·gets1394 </span><span·class="n">CX1</span><span·class="err"> </span><span·class="o">=</span><span·class="err"> </span><span·class="mi">16#7fa6502</span><span·class="err"> </span><span·class="o">*</span><span·class="err"> </span><span·class="n">X</span><span·class="err"> </span><span·class="o">+</span><span·class="err"> </span><span·class="n">C</span></code></pre><p>Because·the·generator·uses·a·multiplier·that·is·a·power·of·2·it·gets
1395 statistical·flaws·for·collision·tests·and·birthday·spacings·tests1395 statistical·flaws·for·collision·tests·and·birthday·spacings·tests
1396 in·2·and·3·dimensions,·and·these·caveats·apply·even·when·looking1396 in·2·and·3·dimensions,·and·these·caveats·apply·even·when·looking
1397 only·at·the·MWC·&quot;digit&quot;,·that·is·the·low·32·bits·(the·multiplier)1397 only·at·the·MWC·&quot;digit&quot;,·that·is·the·low·32·bits·(the·multiplier)
1398 of·the·generator·state.··The·higher·bits·of·the·state·are·worse.</p><p>The·quality·of·the·output·value·improves·much·by·using·a·scrambler,1398 of·the·generator·state.··The·higher·bits·of·the·state·are·worse.</p><p>The·quality·of·the·output·value·improves·much·by·using·a·scrambler,
1399 instead·of·just·taking·the·low·bits.1399 instead·of·just·taking·the·low·bits.
1400 Function·<a·href="#mwc59_value32/1"><code·class="inline">mwc59_value32</code></a>·is·a·fast·scrambler1400 Function·<a·href="#mwc59_value32/1"><code·class="inline">mwc59_value32</code></a>·is·a·fast·scrambler
Offset 2222, 18 lines modifiedOffset 2222, 18 lines modified
  
2222 <p>Generate·a·uniformly·distributed·random·number·<code·class="inline">0.0 =&lt; X &lt; 1.0</code>.</p><p>From·the·specified·<code·class="inline">State</code>,·generates·a·random·number·<code·class="inline">X ::</code> <a·href="../../../../erts-16.0/doc/html/erlang.html#t:float/0"><code·class="inline">float/0</code></a>,2222 <p>Generate·a·uniformly·distributed·random·number·<code·class="inline">0.0 =&lt; X &lt; 1.0</code>.</p><p>From·the·specified·<code·class="inline">State</code>,·generates·a·random·number·<code·class="inline">X ::</code> <a·href="../../../../erts-16.0/doc/html/erlang.html#t:float/0"><code·class="inline">float/0</code></a>,
2223 uniformly·distributed·in·the·value·range·<code·class="inline">0.0·=&lt;·X·&lt;·1.0</code>.2223 uniformly·distributed·in·the·value·range·<code·class="inline">0.0·=&lt;·X·&lt;·1.0</code>.
2224 Returns·the·number·<code·class="inline">X</code>·and·the·updated·<code·class="inline">NewState</code>.</p><p>The·generated·numbers·are·of·the·form·<code·class="inline">N * 2.0^(-53)</code>,·that·is;2224 Returns·the·number·<code·class="inline">X</code>·and·the·updated·<code·class="inline">NewState</code>.</p><p>The·generated·numbers·are·of·the·form·<code·class="inline">N * 2.0^(-53)</code>,·that·is;
2225 equally·spaced·in·the·interval.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>This·function·may·return·exactly·<code·class="inline">0.0</code>·which·can·be·fatal·for·certain2225 equally·spaced·in·the·interval.</p><section·role="note"·class="admonition·warning"><h4·class="admonition-title·warning">Warning</h4><p>This·function·may·return·exactly·<code·class="inline">0.0</code>·which·can·be·fatal·for·certain
2226 applications.·If·that·is·undesired·you·can·use·<code·class="inline">(1.0 - rand:uniform())</code>2226 applications.·If·that·is·undesired·you·can·use·<code·class="inline">(1.0 - rand:uniform())</code>
2227 to·get·the·interval·<code·class="inline">0.0 &lt; X =&lt; 1.0</code>,·or·instead·use·<a·href="#uniform_real/0"><code·class="inline">uniform_real/0</code></a>.</p><p>If·neither·endpoint·is·desired·you·can·achieve·the·range2227 to·get·the·interval·<code·class="inline">0.0 &lt; X =&lt; 1.0</code>,·or·instead·use·<a·href="#uniform_real/0"><code·class="inline">uniform_real/0</code></a>.</p><p>If·neither·endpoint·is·desired·you·can·achieve·the·range
2228 <code·class="inline">0.0 &lt; X &lt; 1.0</code>·using·test·and·re-try·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_uniform</span><span·class="p"·data-group-id="2024098522-1">(</span><span·class="p"·data-group-id="2024098522-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2228 <code·class="inline">0.0 &lt; X &lt; 1.0</code>·using·test·and·re-try·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">my_uniform</span><span·class="p"·data-group-id="3573609625-1">(</span><span·class="p"·data-group-id="3573609625-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2229 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="2024098522-2">(</span><span·class="p"·data-group-id="2024098522-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">2229 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">uniform</span><span·class="p"·data-group-id="3573609625-2">(</span><span·class="p"·data-group-id="3573609625-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
2230 ········</span><span·class="n">X</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="mf">0.0</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="p">;</span><span·class="w">2230 ········</span><span·class="n">X</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="mf">0.0</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">X</span><span·class="p">;</span><span·class="w">
2231 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">my_uniform</span><span·class="p"·data-group-id="2024098522-3">(</span><span·class="p"·data-group-id="2024098522-3">)</span><span·class="w">2231 ········</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">my_uniform</span><span·class="p"·data-group-id="3573609625-3">(</span><span·class="p"·data-group-id="3573609625-3">)</span><span·class="w">
2232 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre></section>2232 ····</span><span·class="k">end</span><span·class="p">.</span></code></pre></section>
2233 ··</section>2233 ··</section>
2234 </section>2234 </section>
2235 <section·class="detail"·id="uniform_s/2">2235 <section·class="detail"·id="uniform_s/2">
  
2236 ··<div·class="detail-header">2236 ··<div·class="detail-header">
2237 ····<a·href="#uniform_s/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2237 ····<a·href="#uniform_s/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 2285, 15 lines modifiedOffset 2285, 15 lines modified
2285 ······<p·class="built-using">2285 ······<p·class="built-using">
2286 ········Built·using2286 ········Built·using
2287 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2287 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2288 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2288 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2289 ······</p>2289 ······</p>
2290 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2290 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2291 ····</footer>2291 ····</footer>
2292 ··</div>2292 ··</div>
2293 </main>2293 </main>
2294 </div>2294 </div>
2295 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2295 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2296 ··<script>2296 ··<script>
2297 ··let·initialized·=·false;2297 ··let·initialized·=·false;
656 B
html2text {}
Max HTML report size reached
5.61 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/random.html
    
Offset 458, 17 lines modifiedOffset 458, 17 lines modified
458 ······<div·class="specs">458 ······<div·class="specs">
  
459 ··········<pre·translate="no"><span·class="attribute">-spec</span>·seed(A1,·A2,·A3)·->·undefined·|·<a·href="#t:ran/0">ran</a>()·when·A1·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·A2·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·A3·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>().</pre>459 ··········<pre·translate="no"><span·class="attribute">-spec</span>·seed(A1,·A2,·A3)·->·undefined·|·<a·href="#t:ran/0">ran</a>()·when·A1·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·A2·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>(),·A3·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:integer/0">integer</a>().</pre>
  
460 ······</div>460 ······</div>
  
461 <p>Seeds·random·number·generation·with·integer·values·in·the·process·dictionary·and461 <p>Seeds·random·number·generation·with·integer·values·in·the·process·dictionary·and
462 returns·the·old·state.</p><p>The·following·is·an·easy·way·of·obtaining·a·unique·value·to·seed·with:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">random</span><span·class="p">:</span><span·class="nf">seed</span><span·class="p"·data-group-id="9690072635-1">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">phash2</span><span·class="p"·data-group-id="9690072635-2">(</span><span·class="p"·data-group-id="9690072635-3">[</span><span·class="nf">node</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·184,·SHA:·1a4a3944343ed5df662b3fe117693d7e34081d8d8cb35f123326bd4be50016f2·...·]-2">)</span><span·class="p">,</span><span·class="w">462 returns·the·old·state.</p><p>The·following·is·an·easy·way·of·obtaining·a·unique·value·to·seed·with:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">random</span><span·class="p">:</span><span·class="nf">seed</span><span·class="p"·data-group-id="4059517838-1">(</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">phash2</span><span·class="p"·data-group-id="4059517838-2">(</span><span·class="p"·data-group-id="4059517838-3">[</span><span·class="nf">node</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·184,·SHA:·91962f5b7d56b359e8c9364381763e3847ce147814a44e67fb5324e98f809efb·...·]-2">)</span><span·class="p">,</span><span·class="w">
463 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monotonic_time</span><span·class="p"·data-group-id="9690072635-5">(</span><span·class="p"·data-group-id="9690072635-5">)</span><span·class="p">,</span><span·class="w">463 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">monotonic_time</span><span·class="p"·data-group-id="4059517838-5">(</span><span·class="p"·data-group-id="4059517838-5">)</span><span·class="p">,</span><span·class="w">
464 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">unique_integer</span><span·class="p"·data-group-id="9690072635-6">(</span><span·class="p"·data-group-id="9690072635-6">)</span><span·class="p"·data-group-id="9690072635-1">)</span></code></pre><p>For·details,·see·<a·href="../../../../erts-16.0/doc/html/erlang.html#phash2/1"><code·class="inline">erlang:phash2/1</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#node/0"><code·class="inline">erlang:node/0</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#monotonic_time/0"><code·class="inline">erlang:monotonic_time/0</code></a>,464 ············</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="nf">unique_integer</span><span·class="p"·data-group-id="4059517838-6">(</span><span·class="p"·data-group-id="4059517838-6">)</span><span·class="p"·data-group-id="4059517838-1">)</span></code></pre><p>For·details,·see·<a·href="../../../../erts-16.0/doc/html/erlang.html#phash2/1"><code·class="inline">erlang:phash2/1</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#node/0"><code·class="inline">erlang:node/0</code></a>,·<a·href="../../../../erts-16.0/doc/html/erlang.html#monotonic_time/0"><code·class="inline">erlang:monotonic_time/0</code></a>,
465 and·<a·href="../../../../erts-16.0/doc/html/erlang.html#unique_integer/0"><code·class="inline">erlang:unique_integer/0</code></a>.</p>465 and·<a·href="../../../../erts-16.0/doc/html/erlang.html#unique_integer/0"><code·class="inline">erlang:unique_integer/0</code></a>.</p>
466 ··</section>466 ··</section>
467 </section>467 </section>
468 <section·class="detail"·id="uniform/0">468 <section·class="detail"·id="uniform/0">
  
469 ··<div·class="detail-header">469 ··<div·class="detail-header">
470 ····<a·href="#uniform/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">470 ····<a·href="#uniform/0"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 615, 15 lines modifiedOffset 615, 15 lines modified
615 ······<p·class="built-using">615 ······<p·class="built-using">
616 ········Built·using616 ········Built·using
617 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the617 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
618 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>618 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
619 ······</p>619 ······</p>
620 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>620 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
621 ····</footer>621 ····</footer>
622 ··</div>622 ··</div>
623 </main>623 </main>
624 </div>624 </div>
625 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>625 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
626 ··<script>626 ··<script>
627 ··let·initialized·=·false;627 ··let·initialized·=·false;
690 B
html2text {}
Max HTML report size reached
109 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/re.html
    
Offset 2551, 40 lines modifiedOffset 2551, 40 lines modified
  
2551 ··········<pre·translate="no"><span·class="attribute">-spec</span>·inspect(MP,·Item)·->·{namelist,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()]}·when·MP·::·<a·href="#t:mp/0">mp</a>(),·Item·::·namelist.</pre>2551 ··········<pre·translate="no"><span·class="attribute">-spec</span>·inspect(MP,·Item)·->·{namelist,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>()]}·when·MP·::·<a·href="#t:mp/0">mp</a>(),·Item·::·namelist.</pre>
  
2552 ······</div>2552 ······</div>
  
2553 <p>Takes·a·compiled·regular·expression·and·an·item,·and·returns·the·relevant·data2553 <p>Takes·a·compiled·regular·expression·and·an·item,·and·returns·the·relevant·data
2554 from·the·regular·expression.</p><p>The·only·supported·item·is·<code·class="inline">namelist</code>,·which·returns·the·tuple·<code·class="inline">{namelist,·[binary()]}</code>,2554 from·the·regular·expression.</p><p>The·only·supported·item·is·<code·class="inline">namelist</code>,·which·returns·the·tuple·<code·class="inline">{namelist,·[binary()]}</code>,
2555 containing·the·names·of·all·(unique)·named·subpatterns·in·the·regular·expression.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="7500153061-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MP</span><span·class="p"·data-group-id="7500153061-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">re</span><span·cl[·...·truncated·by·diffoscope;·len:·216,·SHA:·a87d72f05bf998246cad64b61d8eb21d6c79f61031f4db3ef3904f1c90d94096·...·]1-2">)</span><span·class="p">.</span><span·class="w">2555 containing·the·names·of·all·(unique)·named·subpatterns·in·the·regular·expression.</p><p>For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="9609922751-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MP</span><span·class="p"·data-group-id="9609922751-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">re</span><span·cl[·...·truncated·by·diffoscope;·len:·216,·SHA:·0d13c51b2f5981ac602ff02769157bdc8807f0d402d457b6d2a463798ab65cd6·...·]1-2">)</span><span·class="p">.</span><span·class="w">
2556 </span><span·class="p"·data-group-id="7500153061-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7500153061-4">{</span><span·class="ss">re_pattern</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">2556 </span><span·class="p"·data-group-id="9609922751-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9609922751-4">{</span><span·class="ss">re_pattern</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
2557 ················</span><span·class="p"·data-group-id="7500153061-5">&lt;&lt;</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">119</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="w">2557 ················</span><span·class="p"·data-group-id="9609922751-5">&lt;&lt;</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">119</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="w">
2558 ··················</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="7500153061-5">&gt;&gt;</span><span·class="p"·data-group-id="7500153061-4">}</span><span·class="p"·data-group-id="7500153061-3">}</span><span·class="gp·unselectable">2558 ··················</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="9609922751-5">&gt;&gt;</span><span·class="p"·data-group-id="9609922751-4">}</span><span·class="p"·data-group-id="9609922751-3">}</span><span·class="gp·unselectable">
2559 2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">inspect</span><span·class="p"·data-group-id="7500153061-6">(</span><span·class="n">MP</span><span·class="p">,</span><span·class="ss">namelist</span><span·class="p"·data-group-id="7500153061-6">)</span><span·class="p">.</span><span·class="w">2559 2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">inspect</span><span·class="p"·data-group-id="9609922751-6">(</span><span·class="n">MP</span><span·class="p">,</span><span·class="ss">namelist</span><span·class="p"·data-group-id="9609922751-6">)</span><span·class="p">.</span><span·class="w">
2560 </span><span·class="p"·data-group-id="7500153061-7">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="7500153061-8">[</span><span·class="p"·data-group-id="7500153061-9">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·488,·SHA:·0350540d813545e6043ff2771e6790805178e78534a9fdb5dbf94cc46d1951e9·...·]1-7">}</span><span·class="gp·unselectable">2560 </span><span·class="p"·data-group-id="9609922751-7">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="9609922751-8">[</span><span·class="p"·data-group-id="9609922751-9">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·488,·SHA:·2f348bd5f326ba0c9a5f992fcee0a5bbd7bc99009f7bd58e5df7cd5c259cf4fe·...·]1-7">}</span><span·class="gp·unselectable">
2561 3&gt;·</span><span·class="p"·data-group-id="7500153061-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MPD</span><span·class="p"·data-group-id="7500153061-12">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">re</span><span[·...·truncated·by·diffoscope;·len:·384,·SHA:·dc35b8931fa5c193b41e4a142e17e98c3ce879a56946e79e402fecfc05d9b85b·...·]1-13">)</span><span·class="p">.</span><span·class="w">2561 3&gt;·</span><span·class="p"·data-group-id="9609922751-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MPD</span><span·class="p"·data-group-id="9609922751-12">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">re</span><span[·...·truncated·by·diffoscope;·len:·384,·SHA:·2d08f1b7965454db01b6c35292bb2160973eeb33c6c3d36e4aa53e0c639eeff5·...·]1-13">)</span><span·class="p">.</span><span·class="w">
2562 </span><span·class="p"·data-group-id="7500153061-15">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7500153061-16">{</span><span·class="ss">re_pattern</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">2562 </span><span·class="p"·data-group-id="9609922751-15">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9609922751-16">{</span><span·class="ss">re_pattern</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
2563 ················</span><span·class="p"·data-group-id="7500153061-17">&lt;&lt;</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">119</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="w">2563 ················</span><span·class="p"·data-group-id="9609922751-17">&lt;&lt;</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">119</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">8</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="w">
2564 ··················</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="7500153061-17">&gt;&gt;</span><span·class="p"·data-group-id="7500153061-16">}</span><span·class="p"·data-group-id="7500153061-15">}</span><span·class="gp·unselectable">2564 ··················</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="9609922751-17">&gt;&gt;</span><span·class="p"·data-group-id="9609922751-16">}</span><span·class="p"·data-group-id="9609922751-15">}</span><span·class="gp·unselectable">
2565 4&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">inspect</span><span·class="p"·data-group-id="7500153061-18">(</span><span·class="n">MPD</span><span·class="p">,</span><span·class="ss">namelist</span><span·class="p"·data-group-id="7500153061-18">)</span><span·class="p">.</span><span·class="w">2565 4&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">inspect</span><span·class="p"·data-group-id="9609922751-18">(</span><span·class="n">MPD</span><span·class="p">,</span><span·class="ss">namelist</span><span·class="p"·data-group-id="9609922751-18">)</span><span·class="p">.</span><span·class="w">
2566 </span><span·class="p"·data-group-id="7500153061-19">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="7500153061-20">[</span><span·class="p"·data-group-id="7500153061-21">&lt;&lt;</span><span·class="s">&quot;B&quot;</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·311,·SHA:·77312d88ccce5effe56b494d974f84d301022ee7e60284b44db26364aeb0449a·...·]1-19">}</span></code></pre><p>Notice·in·the·second·example·that·the·duplicate·name·only·occurs·once·in·the2566 </span><span·class="p"·data-group-id="9609922751-19">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="9609922751-20">[</span><span·class="p"·data-group-id="9609922751-21">&lt;&lt;</span><span·class="s">&quot;B&quot;</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·311,·SHA:·ef2a4403d56591ff247535d10c419a0286827363b8f8bf7896562a3169f156e8·...·]1-19">}</span></code></pre><p>Notice·in·the·second·example·that·the·duplicate·name·only·occurs·once·in·the
2567 returned·list,·and·that·the·list·is·in·alphabetical·order·regardless·of·where2567 returned·list,·and·that·the·list·is·in·alphabetical·order·regardless·of·where
2568 the·names·are·positioned·in·the·regular·expression.·The·order·of·the·names·is2568 the·names·are·positioned·in·the·regular·expression.·The·order·of·the·names·is
2569 the·same·as·the·order·of·captured·subexpressions·if·<code·class="inline">{capture,·all_names}</code>·is2569 the·same·as·the·order·of·captured·subexpressions·if·<code·class="inline">{capture,·all_names}</code>·is
2570 specified·as·an·option·to·<a·href="#run/3"><code·class="inline">run/3</code></a>.·You·can·therefore·create·a·name-to-value2570 specified·as·an·option·to·<a·href="#run/3"><code·class="inline">run/3</code></a>.·You·can·therefore·create·a·name-to-value
2571 mapping·from·the·result·of·<a·href="#run/3"><code·class="inline">run/3</code></a>·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="9113082697-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MP</span><span·class="p"·data-group-id="9113082697-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">re</span><span·cl[·...·truncated·by·diffoscope;·len:·217,·SHA:·76511fac2f2e44e7ba8199b8c1dfeb273e09e89ddcec8884a0c6ac516c5fe616·...·]-2">)</span><span·class="p">.</span><span·class="w">2571 mapping·from·the·result·of·<a·href="#run/3"><code·class="inline">run/3</code></a>·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="1984301363-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">MP</span><span·class="p"·data-group-id="1984301363-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">re</span><span·cl[·...·truncated·by·diffoscope;·len:·217,·SHA:·0a376fa1687e4ad73455328cf84530dcf39f716bd66130b91d17545bbf7bd4d8·...·]-2">)</span><span·class="p">.</span><span·class="w">
2572 </span><span·class="p"·data-group-id="9113082697-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9113082697-4">{</span><span·class="ss">re_pattern</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">2572 </span><span·class="p"·data-group-id="1984301363-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1984301363-4">{</span><span·class="ss">re_pattern</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
2573 ················</span><span·class="p"·data-group-id="9113082697-5">&lt;&lt;</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">119</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="w">2573 ················</span><span·class="p"·data-group-id="1984301363-5">&lt;&lt;</span><span·class="mi">69</span><span·class="p">,</span><span·class="mi">82</span><span·class="p">,</span><span·class="mi">67</span><span·class="p">,</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">119</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="w">
2574 ··················</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="9113082697-5">&gt;&gt;</span><span·class="p"·data-group-id="9113082697-4">}</span><span·class="p"·data-group-id="9113082697-3">}</span><span·class="gp·unselectable">2574 ··················</span><span·class="mi">255</span><span·class="p">,</span><span·class="mi">255</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1984301363-5">&gt;&gt;</span><span·class="p"·data-group-id="1984301363-4">}</span><span·class="p"·data-group-id="1984301363-3">}</span><span·class="gp·unselectable">
2575 2&gt;·</span><span·class="p"·data-group-id="9113082697-6">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="9113082697-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·251,·SHA:·4ef8a4243fcbfdc6f83073689a3125e4e25ff395123c086d880509975a6d1f87·...·]-7">)</span><span·class="p">.</span><span·class="w">2575 2&gt;·</span><span·class="p"·data-group-id="1984301363-6">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="1984301363-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·251,·SHA:·e390dfe4f9d4018f711188d619c6e6894d9ffbe52479f4707d6016f695892045·...·]-7">)</span><span·class="p">.</span><span·class="w">
2576 </span><span·class="p"·data-group-id="9113082697-8">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="9113082697-9">[</span><span·class="p"·data-group-id="9113082697-10">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id="9113082697-10">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="9113082697-11">&lt;&lt;</span><span·class="s">&quot;B&quot;</span><span·class="p"·data-group-id="9113082697-11">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="9113082697-12">&lt;&lt;</span><span·class="s">&quot;C&quot;</span><span·class="p"·data-group-id="9113082697-12">&gt;&gt;</span><span·class="p"·data-group-id="9113082697-9">]</span><span·class="p"·data-group-id="9113082697-8">}</span><span·class="gp·unselectable"> 
2577 3&gt;·</span><span·class="p"·data-group-id="9113082697-13">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="n">L</span><span·class="p"·data-group-id="9113082697-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="9113082697-14">(</span><span·class="s">&quot;AA&quot;</span><span·class="p">,</span><span·class="n">MP</span><span·class="p">,</span><span·class="p"·data-group-id="9113082697-15">[</span><span·class="p"·data-group-id="9113082697-16">{</span><span·class="ss">capture</span><span·class="p">,</span><span·class="ss">all_names</span><span·class="p">,</span><span·class="ss">binary</span><span·class="p"·data-group-id="9113082697-16">}</span><span·class="p"·data-group-id="9113082697-15">]</span><span·class="p"·data-group-id="9113082697-14">)</span><span·class="p">.</span><span·class="w"> 
2578 </span><span·class="p"·data-group-id="9113082697-17">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="9113082697-18">[</span><span·class="p"·data-group-id="9113082697-19">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·422,·SHA:·27f7aaac6db413c4cea25e4d657f4a7738c3951e5a6e227f501ce6410a4849d3·...·]">}</span><span·class="gp·unselectable">2576 </span><span·class="p"·data-group-id="1984301363-8">{</span><span·class="ss">namelist</span><span·class="p">,</span><span·class="p"·data-group-id="1984301363-9">[</span><span·class="p"·data-group-id="1984301363-10">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·493,·SHA:·da1c3160d9c970419ebf15ceac25a856559bca5dbbccd668171fbe06a15e5a50·...·]">}</span><span·class="gp·unselectable">
 2577 3&gt;·</span><span·class="p"·data-group-id="1984301363-13">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="n">L</span><span·class="p"·data-group-id="1984301363-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="1984301363-14">(</span><span·class="s">&quot;AA&quot;</span><span·class="p">,</span><span·class="n">MP</span><span·class="p">,</span><span·class="p"·data-group-id="1984301363-15">[</span><span·class="p"·data-group-id="1984301363-16">{</span><span·class="ss">capture</span><span·class="p">,</span><span·class="ss">all_names</span><span·class="p">,</span><span·class="ss">binary</span><span·class="p"·data-group-id="1984301363-16">}</span><span·class="p"·data-group-id="1984301363-15">]</span><span·class="p"·data-group-id="1984301363-14">)</span><span·class="p">.</span><span·class="w">
 2578 </span><span·class="p"·data-group-id="1984301363-17">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="1984301363-18">[</span><span·class="p"·data-group-id="1984301363-19">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id="1984301363-19">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="1984301363-20">&lt;&lt;</span><span·class="p"·data-group-id="1984301363-20">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="1984301363-21">&lt;&lt;</span><span·class="p"·data-group-id="1984301363-21">&gt;&gt;</span><span·class="p"·data-group-id="1984301363-18">]</span><span·class="p"·data-group-id="1984301363-17">}</span><span·class="gp·unselectable">
2579 4&gt;·</span><span·class="n">NameMap</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">zip</span><span·class="p"·data-group-id="9113082697-22">(</span><span·class="n">N</span><span·class="p">,</span><span·class="n">L</span><span·class="p"·data-group-id="9113082697-22">)</span><span·class="p">.</span><span·class="w">2579 4&gt;·</span><span·class="n">NameMap</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">zip</span><span·class="p"·data-group-id="1984301363-22">(</span><span·class="n">N</span><span·class="p">,</span><span·class="n">L</span><span·class="p"·data-group-id="1984301363-22">)</span><span·class="p">.</span><span·class="w">
2580 </span><span·class="p"·data-group-id="9113082697-23">[</span><span·class="p"·data-group-id="9113082697-24">{</span><span·class="p"·data-group-id="9113082697-25">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id="9113082697-25">&gt;&gt;</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·1128,·SHA:·be0fe5050f63d858a3741feef53d48e2cb549c49d51c37d6d89575a6a9f43511·...·]-23">]</span></code></pre>2580 </span><span·class="p"·data-group-id="1984301363-23">[</span><span·class="p"·data-group-id="1984301363-24">{</span><span·class="p"·data-group-id="1984301363-25">&lt;&lt;</span><span·class="s">&quot;A&quot;</span><span·class="p"·data-group-id="1984301363-25">&gt;&gt;</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·1128,·SHA:·b2e1f841a19464f84a5adba65c255dd8dafc6315b7bfdf8b200a92ecada989f4·...·]-23">]</span></code></pre>
2581 ··</section>2581 ··</section>
2582 </section>2582 </section>
2583 <section·class="detail"·id="replace/3">2583 <section·class="detail"·id="replace/3">
  
2584 ··<div·class="detail-header">2584 ··<div·class="detail-header">
2585 ····<a·href="#replace/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">2585 ····<a·href="#replace/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
2586 ······<i·class="ri-link-m"·aria-hidden="true"></i>2586 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2661, 24 lines modifiedOffset 2661, 24 lines modified
2661 both·the·regular·expression·and·<code·class="inline">Subject</code>·are·to·specified·as·valid·Unicode2661 both·the·regular·expression·and·<code·class="inline">Subject</code>·are·to·specified·as·valid·Unicode
2662 <code·class="inline">charlist()</code>s.</p><p>If·the·replacement·is·given·as·a·string,·it·can·contain·the·special·character2662 <code·class="inline">charlist()</code>s.</p><p>If·the·replacement·is·given·as·a·string,·it·can·contain·the·special·character
2663 <code·class="inline">&amp;</code>,·which·inserts·the·whole·matching·expression·in·the·result,·and·the·special2663 <code·class="inline">&amp;</code>,·which·inserts·the·whole·matching·expression·in·the·result,·and·the·special
2664 sequence·<code·class="inline">\</code>N·(where·N·is·an·integer·&gt;·0),·<code·class="inline">\g</code>N,·or·<code·class="inline">\g{</code>N<code·class="inline">}</code>,·resulting·in·the2664 sequence·<code·class="inline">\</code>N·(where·N·is·an·integer·&gt;·0),·<code·class="inline">\g</code>N,·or·<code·class="inline">\g{</code>N<code·class="inline">}</code>,·resulting·in·the
2665 subexpression·number·N,·is·inserted·in·the·result.·If·no·subexpression·with·that2665 subexpression·number·N,·is·inserted·in·the·result.·If·no·subexpression·with·that
2666 number·is·generated·by·the·regular·expression,·nothing·is·inserted.</p><p>To·insert·an·&amp;·or·a·\·in·the·result,·precede·it·with·a·\.·Notice·that·Erlang2666 number·is·generated·by·the·regular·expression,·nothing·is·inserted.</p><p>To·insert·an·&amp;·or·a·\·in·the·result,·precede·it·with·a·\.·Notice·that·Erlang
2667 already·gives·a·special·meaning·to·\·in·literal·strings,·so·a·single·\·must·be2667 already·gives·a·special·meaning·to·\·in·literal·strings,·so·a·single·\·must·be
2668 written·as·<code·class="inline">&quot;\\&quot;</code>·and·therefore·a·double·\·as·<code·class="inline">&quot;\\\\&quot;</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">replace</span><span·class="p"·data-group-id="5915626424-1">(</span><span·class="s">&quot;abcd&quot;</span><span·class="p">,</span><span·class="s">&quot;c&quot;</span><span·class="p">,</span><span·class="s">&quot;[&amp;]&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5915626424-2">[·...·truncated·by·diffoscope;·len:·288,·SHA:·eb0bc0c56f4bc94cfef2b5a73ef69170d9fe043302887a0c819cc10aaa04e647·...·]24-1">)</span><span·class="p">.</span><span·class="w">2668 written·as·<code·class="inline">&quot;\\&quot;</code>·and·therefore·a·double·\·as·<code·class="inline">&quot;\\\\&quot;</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">replace</span><span·class="p"·data-group-id="2593734224-1">(</span><span·class="s">&quot;abcd&quot;</span><span·class="p">,</span><span·class="s">&quot;c&quot;</span><span·class="p">,</span><span·class="s">&quot;[&amp;]&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="2593734224-2">[·...·truncated·by·diffoscope;·len:·288,·SHA:·904db50713f4d939e1ff913f3b7949747a47f3793317fa9d72592de83f99640e·...·]24-1">)</span><span·class="p">.</span><span·class="w">
2669 </span><span·class="s">&quot;ab[c]d&quot;</span></code></pre><p>while</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">replace</span><span·class="p"·data-group-id="3233306888-1">(</span><span·class="s">&quot;abcd&quot;</span><span·class="p">,</span><span·class="s">&quot;c&quot;</span><span·class="p">,</span><span·class="s">&quot;[\\&amp;]&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="3233306888-2[·...·truncated·by·diffoscope;·len:·292,·SHA:·8aa1e1bfd7422b6206f5e79fa74319ef84699654c77e67806dda66a6813d85fa·...·]-1">)</span><span·class="p">.</span><span·class="w">2669 </span><span·class="s">&quot;ab[c]d&quot;</span></code></pre><p>while</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">replace</span><span·class="p"·data-group-id="5981041705-1">(</span><span·class="s">&quot;abcd&quot;</span><span·class="p">,</span><span·class="s">&quot;c&quot;</span><span·class="p">,</span><span·class="s">&quot;[\\&amp;]&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5981041705-2[·...·truncated·by·diffoscope;·len:·292,·SHA:·7f24002a48570979be3ceb95af869fc953a34aba2701cf684e3d86577e78ae20·...·]-1">)</span><span·class="p">.</span><span·class="w">
2670 </span><span·class="s">&quot;ab[&amp;]d&quot;</span></code></pre><p>If·the·replacement·is·given·as·a·fun,·it·will·be·called·with·the·whole·matching2670 </span><span·class="s">&quot;ab[&amp;]d&quot;</span></code></pre><p>If·the·replacement·is·given·as·a·fun,·it·will·be·called·with·the·whole·matching
2671 expression·as·the·first·argument·and·a·list·of·subexpression·matches·in·the2671 expression·as·the·first·argument·and·a·list·of·subexpression·matches·in·the
2672 order·in·which·they·appear·in·the·regular·expression.·The·returned·value·will·be2672 order·in·which·they·appear·in·the·regular·expression.·The·returned·value·will·be
2673 inserted·in·the·result.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">replace</span><span·class="p"·data-group-id="8294972531-1">(</span><span·class="s">&quot;abcd&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;.(.)&quot;</span><span·class="p">,</span><span·class="w">2673 inserted·in·the·result.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">replace</span><span·class="p"·data-group-id="5813685867-1">(</span><span·class="s">&quot;abcd&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;.(.)&quot;</span><span·class="p">,</span><span·class="w">
2674 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="8294972531-2">(</span><span·class="n">Whole</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8294972531-3">[</span><span·class="p"·data-group-id="8294972531-4">&lt;&lt;</span><span·class="n">C</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·133,·SHA:·817abc22a136c812508f23dad3185920b039e9387aa1761c796ee70a4e550b11·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">2674 ····</span><span·class="nf">fun</span><span·class="p"·data-group-id="5813685867-2">(</span><span·class="n">Whole</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5813685867-3">[</span><span·class="p"·data-group-id="5813685867-4">&lt;&lt;</span><span·class="n">C</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·133,·SHA:·a7568d90af77a1977f893fb27c3bba3d94623342876b38e3424a07a64cca714b·...·]-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
2675 ·········</span><span·class="p"·data-group-id="8294972531-5">&lt;&lt;</span><span·class="sc">$#</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Whole</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="sc">$-</sp[·...·truncated·by·diffoscope;·len:·492,·SHA:·bf5499f280e0b92ec14bf362cf25cb1a3f0a8a4cab333eabff72d427733fc901·...·]-5">&gt;&gt;</span><span·class="w">2675 ·········</span><span·class="p"·data-group-id="5813685867-5">&lt;&lt;</span><span·class="sc">$#</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Whole</span><span·class="o">/</span><span·class="ss">binary</span><span·class="p">,</span><span·class="w">·</span><span·class="sc">$-</sp[·...·truncated·by·diffoscope;·len:·492,·SHA:·ef5da3eed11d69515f33f1a66e9b3b5a3a6145815f20cea7cee73ac56cf2c8fe·...·]-5">&gt;&gt;</span><span·class="w">
2676 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">2676 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
2677 ····</span><span·class="p"·data-group-id="8294972531-7">[</span><span·class="p"·data-group-id="8294972531-8">{</span><span·class="ss">return</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">list</span><span·class="p"·data-group-id="8294972531-8">}</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·72,·SHA:·90a7b2cd1fd5b3128bc2ff488b4395da62288c172fdc6942519c59a61ac5d4c8·...·]-1">)</span><span·class="p">.</span><span·class="w">2677 ····</span><span·class="p"·data-group-id="5813685867-7">[</span><span·class="p"·data-group-id="5813685867-8">{</span><span·class="ss">return</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">list</span><span·class="p"·data-group-id="5813685867-8">}</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·72,·SHA:·fa15a3b72076ee40fe3e518e14985721582f934d3cee8955feaaab75a30d6e43·...·]-1">)</span><span·class="p">.</span><span·class="w">
2678 </span><span·class="s">&quot;#ab-B#cd&quot;</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Non-matching·optional·subexpressions·will·not·be·included·in·the·list·of2678 </span><span·class="s">&quot;#ab-B#cd&quot;</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Non-matching·optional·subexpressions·will·not·be·included·in·the·list·of
2679 subexpression·matches·if·they·are·the·last·subexpressions·in·the·regular2679 subexpression·matches·if·they·are·the·last·subexpressions·in·the·regular
2680 expression.</p><p><em>Example:</em></p><p>The·regular·expression·<code·class="inline">&quot;(a)(b)?(c)?&quot;</code>·(&quot;a&quot;,·optionally·followed·by·&quot;b&quot;,2680 expression.</p><p><em>Example:</em></p><p>The·regular·expression·<code·class="inline">&quot;(a)(b)?(c)?&quot;</code>·(&quot;a&quot;,·optionally·followed·by·&quot;b&quot;,
2681 optionally·followed·by·&quot;c&quot;)·will·create·the·following·subexpression·lists:</p><ul><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;,·&lt;&lt;&quot;b&quot;&gt;&gt;,·&lt;&lt;&quot;c&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;abc&quot;</code></li><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;,·&lt;&lt;&gt;&gt;,·&lt;&lt;&quot;c&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;acx&quot;</code></li><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;,·&lt;&lt;&quot;b&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;abx&quot;</code></li><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;axx&quot;</code></li></ul></section><p>As·with·<a·href="#run/3"><code·class="inline">run/3</code></a>,·compilation·errors·raise·the·<code·class="inline">badarg</code>·exception.2681 optionally·followed·by·&quot;c&quot;)·will·create·the·following·subexpression·lists:</p><ul><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;,·&lt;&lt;&quot;b&quot;&gt;&gt;,·&lt;&lt;&quot;c&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;abc&quot;</code></li><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;,·&lt;&lt;&gt;&gt;,·&lt;&lt;&quot;c&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;acx&quot;</code></li><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;,·&lt;&lt;&quot;b&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;abx&quot;</code></li><li><code·class="inline">[&lt;&lt;&quot;a&quot;&gt;&gt;]</code>·when·applied·to·the·string·<code·class="inline">&quot;axx&quot;</code></li></ul></section><p>As·with·<a·href="#run/3"><code·class="inline">run/3</code></a>,·compilation·errors·raise·the·<code·class="inline">badarg</code>·exception.
2682 <a·href="#compile/2"><code·class="inline">compile/2</code></a>·can·be·used·to·get·more·information·about·the·error.</p>2682 <a·href="#compile/2"><code·class="inline">compile/2</code></a>·can·be·used·to·get·more·information·about·the·error.</p>
2683 ··</section>2683 ··</section>
2684 </section>2684 </section>
Offset 2787, 27 lines modifiedOffset 2787, 27 lines modified
2787 any·matching·subexpressions·(or·as·specified·by·option·<code·class="inline">capture</code>.·The2787 any·matching·subexpressions·(or·as·specified·by·option·<code·class="inline">capture</code>.·The
2788 <code·class="inline">Captured</code>·part·of·the·return·value·is·hence·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a>·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a>s·when2788 <code·class="inline">Captured</code>·part·of·the·return·value·is·hence·a·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a>·of·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:list/0"><code·class="inline">list/0</code></a>s·when
2789 this·option·is·specified.</p><p>The·interaction·of·option·<code·class="inline">global</code>·with·a·regular·expression·that·matches·an2789 this·option·is·specified.</p><p>The·interaction·of·option·<code·class="inline">global</code>·with·a·regular·expression·that·matches·an
2790 empty·string·surprises·some·users.·When·option·<code·class="inline">global</code>·is·specified,2790 empty·string·surprises·some·users.·When·option·<code·class="inline">global</code>·is·specified,
2791 <a·href="#run/3"><code·class="inline">run/3</code></a>·handles·empty·matches·in·the·same·way·as·Perl:·a2791 <a·href="#run/3"><code·class="inline">run/3</code></a>·handles·empty·matches·in·the·same·way·as·Perl:·a
2792 zero-length·match·at·any·point·is·also·retried·with·options2792 zero-length·match·at·any·point·is·also·retried·with·options
2793 <code·class="inline">[anchored,·notempty_atstart]</code>.·If·that·search·gives·a·result·of·length·&gt;·0,2793 <code·class="inline">[anchored,·notempty_atstart]</code>.·If·that·search·gives·a·result·of·length·&gt;·0,
2794 the·result·is·included.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="2856616535-1">(</span><span·class="s">&quot;cat&quot;</span><span·class="p">,</span><span·class="s">&quot;(|at)&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="2856616535-2">[</span><span·class="ss">global</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·77761e6f925e6f4f372c43f87dd26c054e04a77619438d25e5d1a18db704a91f·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·following·matchings·are·performed:</p><ul><li><p><strong>At·offset·<code·class="inline">0</code></strong>·-·The·regular·expression·<code·class="inline">(|at)</code>·first·match·at·the2794 the·result·is·included.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="6916013857-1">(</span><span·class="s">&quot;cat&quot;</span><span·class="p">,</span><span·class="s">&quot;(|at)&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="6916013857-2">[</span><span·class="ss">global</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·69,·SHA:·c06987e028eac6ea0f45d595f76d0b7be91aaf450cc0177241a5536da025c95d·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·following·matchings·are·performed:</p><ul><li><p><strong>At·offset·<code·class="inline">0</code></strong>·-·The·regular·expression·<code·class="inline">(|at)</code>·first·match·at·the
2795 initial·position·of·string·<code·class="inline">cat</code>,·giving·the·result·set·<code·class="inline">[{0,0},{0,0}]</code>·(the2795 initial·position·of·string·<code·class="inline">cat</code>,·giving·the·result·set·<code·class="inline">[{0,0},{0,0}]</code>·(the
2796 second·<code·class="inline">{0,0}</code>·is·because·of·the·subexpression·marked·by·the·parentheses).2796 second·<code·class="inline">{0,0}</code>·is·because·of·the·subexpression·marked·by·the·parentheses).
2797 As·the·length·of·the·match·is·0,·we·do·not·advance·to·the·next·position·yet.</p></li><li><p><strong>At·offset·<code·class="inline">0</code>·with·<code·class="inline">[anchored,·notempty_atstart]</code></strong>·-·The·search·is2797 As·the·length·of·the·match·is·0,·we·do·not·advance·to·the·next·position·yet.</p></li><li><p><strong>At·offset·<code·class="inline">0</code>·with·<code·class="inline">[anchored,·notempty_atstart]</code></strong>·-·The·search·is
2798 retried·with·options·<code·class="inline">[anchored,·notempty_atstart]</code>·at·the·same·position,2798 retried·with·options·<code·class="inline">[anchored,·notempty_atstart]</code>·at·the·same·position,
2799 which·does·not·give·any·interesting·result·of·longer·length,·so·the·search2799 which·does·not·give·any·interesting·result·of·longer·length,·so·the·search
2800 position·is·advanced·to·the·next·character·(<code·class="inline">a</code>).</p></li><li><p><strong>At·offset·<code·class="inline">1</code></strong>·-·The·search·results·in·<code·class="inline">[{1,0},{1,0}]</code>,·so·this·search·is2800 position·is·advanced·to·the·next·character·(<code·class="inline">a</code>).</p></li><li><p><strong>At·offset·<code·class="inline">1</code></strong>·-·The·search·results·in·<code·class="inline">[{1,0},{1,0}]</code>,·so·this·search·is
2801 also·repeated·with·the·extra·options.</p></li><li><p><strong>At·offset·<code·class="inline">1</code>·with·<code·class="inline">[anchored,·notempty_atstart]</code></strong>·-·Alternative·<code·class="inline">ab</code>·is2801 also·repeated·with·the·extra·options.</p></li><li><p><strong>At·offset·<code·class="inline">1</code>·with·<code·class="inline">[anchored,·notempty_atstart]</code></strong>·-·Alternative·<code·class="inline">ab</code>·is
2802 found·and·the·result·is·[{1,2},{1,2}].·The·result·is·added·to·the·list2802 found·and·the·result·is·[{1,2},{1,2}].·The·result·is·added·to·the·list
2803 of·results·and·the·position·in·the·search·string·is·advanced·two·steps.</p></li><li><p><strong>At·offset·<code·class="inline">3</code></strong>·-·The·search·once·again·matches·the·empty·string,·giving2803 of·results·and·the·position·in·the·search·string·is·advanced·two·steps.</p></li><li><p><strong>At·offset·<code·class="inline">3</code></strong>·-·The·search·once·again·matches·the·empty·string,·giving
2804 <code·class="inline">[{3,0},{3,0}]</code>.</p></li><li><p><strong>At·offset·<code·class="inline">1</code>·with·<code·class="inline">[anchored,·notempty_atstart]</code></strong>·-·This·gives·no·result2804 <code·class="inline">[{3,0},{3,0}]</code>.</p></li><li><p><strong>At·offset·<code·class="inline">1</code>·with·<code·class="inline">[anchored,·notempty_atstart]</code></strong>·-·This·gives·no·result
2805 of·length·&gt;·0·and·we·are·at·the·last·position,·so·the·global·search·is2805 of·length·&gt;·0·and·we·are·at·the·last·position,·so·the·global·search·is
2806 complete.</p></li></ul><p>The·result·of·the·call·is:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7545071152-1">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="7545071152-2">[</span><span·class="p"·data-group-id="7545071152-3">[</span><span·class="p"·data-group-id="7545071152-4">{</span><span·class="mi">0</sp[·...·truncated·by·diffoscope;·len:·2008,·SHA:·1aa3594daf09f96ecb6c5ecd4e1c0a1e37d55e06dce8816ee8aa9a9e3e7b15f2·...·]-1">}</span></code></pre></li><li><p><strong><code·class="inline">notempty</code></strong>·-·An·empty·string·is·not·considered·to·be·a·valid·match·if·this2806 complete.</p></li></ul><p>The·result·of·the·call·is:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6084840185-1">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="6084840185-2">[</span><span·class="p"·data-group-id="6084840185-3">[</span><span·class="p"·data-group-id="6084840185-4">{</span><span·class="mi">0</sp[·...·truncated·by·diffoscope;·len:·2008,·SHA:·b1e83366b5e8702c22a9e54d057f9e514a8d325e7b668ff088317be95a1748ca·...·]-1">}</span></code></pre></li><li><p><strong><code·class="inline">notempty</code></strong>·-·An·empty·string·is·not·considered·to·be·a·valid·match·if·this
2807 option·is·specified.·If·alternatives·in·the·pattern·exist,·they·are·tried.·If2807 option·is·specified.·If·alternatives·in·the·pattern·exist,·they·are·tried.·If
2808 all·the·alternatives·match·the·empty·string,·the·entire·match·fails.</p><p><em>Example:</em></p><p>If·the·following·pattern·is·applied·to·a·string·not·beginning·with·&quot;a&quot;·or·&quot;b&quot;,2808 all·the·alternatives·match·the·empty·string,·the·entire·match·fails.</p><p><em>Example:</em></p><p>If·the·following·pattern·is·applied·to·a·string·not·beginning·with·&quot;a&quot;·or·&quot;b&quot;,
2809 it·would·normally·match·the·empty·string·at·the·start·of·the·subject:</p><pre><code·class="text">a?b?</code></pre><p>With·option·<code·class="inline">notempty</code>,·this·match·is·invalid,·so·<a·href="#run/3"><code·class="inline">run/3</code></a>·searches2809 it·would·normally·match·the·empty·string·at·the·start·of·the·subject:</p><pre><code·class="text">a?b?</code></pre><p>With·option·<code·class="inline">notempty</code>,·this·match·is·invalid,·so·<a·href="#run/3"><code·class="inline">run/3</code></a>·searches
2810 further·into·the·string·for·occurrences·of·&quot;a&quot;·or·&quot;b&quot;.</p></li><li><p><strong><code·class="inline">notempty_atstart</code></strong>·-·Like·<code·class="inline">notempty</code>,·except·that·an·empty·string·match2810 further·into·the·string·for·occurrences·of·&quot;a&quot;·or·&quot;b&quot;.</p></li><li><p><strong><code·class="inline">notempty_atstart</code></strong>·-·Like·<code·class="inline">notempty</code>,·except·that·an·empty·string·match
2811 that·is·not·at·the·start·of·the·subject·is·permitted.·If·the·pattern·is2811 that·is·not·at·the·start·of·the·subject·is·permitted.·If·the·pattern·is
2812 anchored,·such·a·match·can·occur·only·if·the·pattern·contains·\K.</p><p>Perl·has·no·direct·equivalent·of·<code·class="inline">notempty</code>·or·<code·class="inline">notempty_atstart</code>,·but·it·does2812 anchored,·such·a·match·can·occur·only·if·the·pattern·contains·\K.</p><p>Perl·has·no·direct·equivalent·of·<code·class="inline">notempty</code>·or·<code·class="inline">notempty_atstart</code>,·but·it·does
2813 make·a·special·case·of·a·pattern·match·of·the·empty·string·within·its·split()2813 make·a·special·case·of·a·pattern·match·of·the·empty·string·within·its·split()
Offset 2870, 35 lines modifiedOffset 2870, 35 lines modified
2870 than·the·total·number·of·calls,·because·not·all·calls·to·match()·are2870 than·the·total·number·of·calls,·because·not·all·calls·to·match()·are
2871 recursive.·This·limit·is·of·use·only·if·it·is·set·smaller·than2871 recursive.·This·limit·is·of·use·only·if·it·is·set·smaller·than
2872 match_limit.</p><p>Limiting·the·recursion·depth·limits·the·amount·of·machine·stack·that2872 match_limit.</p><p>Limiting·the·recursion·depth·limits·the·amount·of·machine·stack·that
2873 can·be·used,·or,·when·PCRE·has·been·compiled·to·use·memory·on·the·heap2873 can·be·used,·or,·when·PCRE·has·been·compiled·to·use·memory·on·the·heap
2874 instead·of·the·stack,·the·amount·of·heap·memory·that·can·be·used.</p></blockquote><p>The·Erlang·VM·uses·a·PCRE·library·where·heap·memory·is·used·when·regular2874 instead·of·the·stack,·the·amount·of·heap·memory·that·can·be·used.</p></blockquote><p>The·Erlang·VM·uses·a·PCRE·library·where·heap·memory·is·used·when·regular
2875 expression·match·recursion·occurs.·This·therefore·limits·the·use·of·machine2875 expression·match·recursion·occurs.·This·therefore·limits·the·use·of·machine
2876 heap,·not·C·stack.</p><p>Specifying·a·lower·value·can·result·in·matches·with·deep·recursion·failing,2876 heap,·not·C·stack.</p><p>Specifying·a·lower·value·can·result·in·matches·with·deep·recursion·failing,
2877 when·they·should·have·matched:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="5878342114-1">(</span><span·class="s">&quot;aaaaaaaaaaaaaz&quot;</span><span·class="p">,</span><span·class="s">&quot;(a+)*z&quot;</span><span·class="p"·data-group-id="5878342114-1">)</span><span·class="p">.</span><span·class="w">2877 when·they·should·have·matched:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="5779150880-1">(</span><span·class="s">&quot;aaaaaaaaaaaaaz&quot;</span><span·class="p">,</span><span·class="s">&quot;(a+)*z&quot;</span><span·class="p"·data-group-id="5779150880-1">)</span><span·class="p">.</span><span·class="w">
2878 </span><span·class="p"·data-group-id="5878342114-2">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="5878342114-3">[</span><span·class="p"·data-group-id="5878342114-4">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">14</span><[·...·truncated·by·diffoscope;·len:·351,·SHA:·a229a0b2d7cb73ad90f9e233b96f2345e691fd20e0e48714dfdcc2c690eb4cde·...·]-2">}</span><span·class="gp·unselectable">2878 </span><span·class="p"·data-group-id="5779150880-2">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="5779150880-3">[</span><span·class="p"·data-group-id="5779150880-4">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">14</span><[·...·truncated·by·diffoscope;·len:·351,·SHA:·efe12ab5b1cb8623df26403f23cdf1048a3828dd4813aaa8aa68a5df308ddf1f·...·]-2">}</span><span·class="gp·unselectable">
2879 2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="5878342114-6">(</span><span·class="s">&quot;aaaaaaaaaaaaaz&quot;</span><span·class="p">,</span><span·class="s">&quot;(a+)*z&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5878342114-7">[</span><span·class="p"·data-group-id="5878342114-8"[·...·truncated·by·diffoscope;·len:·250,·SHA:·da7a3f0371a57bcf36a493e4051ed210d78b4853e475476ffaff81d869c0ee33·...·]-6">)</span><span·class="p">.</span><span·class="w">2879 2&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="5779150880-6">(</span><span·class="s">&quot;aaaaaaaaaaaaaz&quot;</span><span·class="p">,</span><span·class="s">&quot;(a+)*z&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5779150880-7">[</span><span·class="p"·data-group-id="5779150880-8"[·...·truncated·by·diffoscope;·len:·250,·SHA:·36554d3578532bc078dfde8400017dddb0082c5542cc6ac2028c0f8615b05ff2·...·]-6">)</span><span·class="p">.</span><span·class="w">
2880 </span><span·class="ss">nomatch</span><span·class="gp·unselectable">2880 </span><span·class="ss">nomatch</span><span·class="gp·unselectable">
2881 3&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="5878342114-9">(</span><span·class="s">&quot;aaaaaaaaaaaaaz&quot;</span><span·class="p">,</span><span·class="s">&quot;(a+)*z&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5878342114-10">[</span><span·class="p"·data-group-id="5878342114-1[·...·truncated·by·diffoscope;·len:·315,·SHA:·0d9897d41c03b8b2eeb36793796449df1f3fa4658135d4fd8609dd066a3832e4·...·]-9">)</span><span·class="p">.</span><span·class="w">2881 3&gt;·</span><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="5779150880-9">(</span><span·class="s">&quot;aaaaaaaaaaaaaz&quot;</span><span·class="p">,</span><span·class="s">&quot;(a+)*z&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5779150880-10">[</span><span·class="p"·data-group-id="5779150880-1[·...·truncated·by·diffoscope;·len:·315,·SHA:·7cca951fef650070df695c63b94b9e6abf9d986cf5696d410f00cd420d9a1ce4·...·]-9">)</span><span·class="p">.</span><span·class="w">
2882 </span><span·class="p"·data-group-id="5878342114-12">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">match_limit_recursion</span><span·class="p"·data-group-id="5878342114-12">}</span></code></pre><p>This·option·and·option·<code·class="inline">match_limit</code>·are·only·to·be·used·in·rare·cases.2882 </span><span·class="p"·data-group-id="5779150880-12">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">match_limit_recursion</span><span·class="p"·data-group-id="5779150880-12">}</span></code></pre><p>This·option·and·option·<code·class="inline">match_limit</code>·are·only·to·be·used·in·rare·cases.
2883 Understanding·of·the·PCRE·library·internals·is·recommended·before·tampering2883 Understanding·of·the·PCRE·library·internals·is·recommended·before·tampering
2884 with·these·limits.</p></li><li><p><strong><code·class="inline">{offset,·integer()·&gt;=·0}</code></strong>·-·Start·matching·at·the·offset·(position)2884 with·these·limits.</p></li><li><p><strong><code·class="inline">{offset,·integer()·&gt;=·0}</code></strong>·-·Start·matching·at·the·offset·(position)
2885 specified·in·the·subject·string.·The·offset·is·zero-based,·so·that·the·default2885 specified·in·the·subject·string.·The·offset·is·zero-based,·so·that·the·default
2886 is·<code·class="inline">{offset,0}</code>·(all·of·the·subject·string).</p></li><li><p><strong><code·class="inline">{capture,·ValueSpec}</code>/<code·class="inline">{capture,·ValueSpec,·Type}</code></strong>·-·Specifies·which2886 is·<code·class="inline">{offset,0}</code>·(all·of·the·subject·string).</p></li><li><p><strong><code·class="inline">{capture,·ValueSpec}</code>/<code·class="inline">{capture,·ValueSpec,·Type}</code></strong>·-·Specifies·which
2887 captured·substrings·are·returned·and·in·what·format.·By·default,2887 captured·substrings·are·returned·and·in·what·format.·By·default,
2888 <a·href="#run/3"><code·class="inline">run/3</code></a>·captures·all·of·the·matching·part·of·the·substring·and·all2888 <a·href="#run/3"><code·class="inline">run/3</code></a>·captures·all·of·the·matching·part·of·the·substring·and·all
2889 capturing·subpatterns·(all·of·the·pattern·is·automatically·captured).·The2889 capturing·subpatterns·(all·of·the·pattern·is·automatically·captured).·The
2890 default·return·type·is·(zero-based)·indexes·of·the·captured·parts·of·the2890 default·return·type·is·(zero-based)·indexes·of·the·captured·parts·of·the
2891 string,·specified·as·<code·class="inline">{Offset,Length}</code>·pairs·(the·<code·class="inline">index</code>·<code·class="inline">Type</code>·of2891 string,·specified·as·<code·class="inline">{Offset,Length}</code>·pairs·(the·<code·class="inline">index</code>·<code·class="inline">Type</code>·of
2892 capturing).</p><p>As·an·example·of·the·default·behavior,·the·following·call·returns,·as·first2892 capturing).</p><p>As·an·example·of·the·default·behavior,·the·following·call·returns,·as·first
2893 and·only·captured·string,·the·matching·part·of·the·subject·(&quot;abcd&quot;·in·the2893 and·only·captured·string,·the·matching·part·of·the·subject·(&quot;abcd&quot;·in·the
2894 middle)·as·an·index·pair·<code·class="inline">{3,4}</code>,·where·character·positions·are·zero-based,2894 middle)·as·an·index·pair·<code·class="inline">{3,4}</code>,·where·character·positions·are·zero-based,
2895 just·as·in·offsets:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="1033452366-1">(</span><span·class="s">&quot;ABCabcdABC&quot;</span><span·class="p">,</span><span·class="s">&quot;abcd&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="1033452366-2">[</span><span·class="p"·data-group-id="1033452366-2">]</s[·...·truncated·by·diffoscope;·len:·615,·SHA:·7ad3140c0e9053a794017867771cf5bb6d75c47ea228cbe8f1dd5ac4c2b5d288·...·]-1">}</span></code></pre><p>Another·(and·quite·common)·case·is·where·the·regular·expression·matches·all·of2895 just·as·in·offsets:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="3446818624-1">(</span><span·class="s">&quot;ABCabcdABC&quot;</span><span·class="p">,</span><span·class="s">&quot;abcd&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="3446818624-2">[</span><span·class="p"·data-group-id="3446818624-2">]</s[·...·truncated·by·diffoscope;·len:·615,·SHA:·52e88141f059d88b6192d89b0a104e30d3eb7fa8922ae236dfa585938102bdae·...·]-1">}</span></code></pre><p>Another·(and·quite·common)·case·is·where·the·regular·expression·matches·all·of
2896 the·subject:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="4680647396-1">(</span><span·class="s">&quot;ABCabcdABC&quot;</span><span·class="p">,</span><span·class="s">&quot;.*abcd.*&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="4680647396-2">[</span><span·class="p"·data-group-id="4680647396-2">[·...·truncated·by·diffoscope;·len:·49,·SHA:·161ef4508b6c7b9a0cdb34e30f5b14d5150c5af8bac205481502a9c61c7204ad·...·]-1">)</span><span·class="p">.</span></code></pre><p>Here·the·return·value·correspondingly·points·out·all·of·the·string,·beginning2896 the·subject:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">re</span><span·class="p">:</span><span·class="nf">run</span><span·class="p"·data-group-id="5118490225-1">(</span><span·class="s">&quot;ABCabcdABC&quot;</span><span·class="p">,</span><span·class="s">&quot;.*abcd.*&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5118490225-2">[</span><span·class="p"·data-group-id="5118490225-2">[·...·truncated·by·diffoscope;·len:·49,·SHA:·fc9c029e06a84072b295498df5d842f366fd22e64722f1d910e126c07c8e7fe6·...·]-1">)</span><span·class="p">.</span></code></pre><p>Here·the·return·value·correspondingly·points·out·all·of·the·string,·beginning
2897 at·index·0,·and·it·is·10·characters·long:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5148048002-1">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="5148048002-2">[</span><span·class="p"·data-group-id="5148048002-3">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">10</span>[·...·truncated·by·diffoscope;·len:·1524,·SHA:·9ca27e936c09c6dbfaa1ee96e5f18e0649faf80615a277d05d541f6740df8c96·...·]3-1">}</span></code></pre><p>The·complete·matching·pattern·always·gives·the·first·return·value·in·the·list2897 at·index·0,·and·it·is·10·characters·long:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="8356525001-1">{</span><span·class="ss">match</span><span·class="p">,</span><span·class="p"·data-group-id="8356525001-2">[</span><span·class="p"·data-group-id="8356525001-3">{</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">10</span>[·...·truncated·by·diffoscope;·len:·1524,·SHA:·a278be878ab525e6ffa90f00daea0c3e2f36cefcde3c9d714233a5cecdd5b955·...·]3-1">}</span></code></pre><p>The·complete·matching·pattern·always·gives·the·first·return·value·in·the·list
2898 and·the·remaining·subpatterns·are·added·in·the·order·they·occurred·in·the2898 and·the·remaining·subpatterns·are·added·in·the·order·they·occurred·in·the
2899 regular·expression.</p><p>The·capture·tuple·is·built·up·as·follows:</p><ul><li><p><strong><code·class="inline">ValueSpec</code></strong>·-·Specifies·which·captured·(sub)patterns·are·to·be·returned.2899 regular·expression.</p><p>The·capture·tuple·is·built·up·as·follows:</p><ul><li><p><strong><code·class="inline">ValueSpec</code></strong>·-·Specifies·which·captured·(sub)patterns·are·to·be·returned.
2900 <code·class="inline">ValueSpec</code>·can·either·be·an·atom·describing·a·predefined·set·of·return2900 <code·class="inline">ValueSpec</code>·can·either·be·an·atom·describing·a·predefined·set·of·return
Max diff block lines reached; 42524/111011 bytes (38.31%) of diff not shown.
619 B
html2text {}
Max HTML report size reached
1.6 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/re_incompat.html
    
Offset 250, 15 lines modifiedOffset 250, 15 lines modified
250 ······<p·class="built-using">250 ······<p·class="built-using">
251 ········Built·using251 ········Built·using
252 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the252 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
253 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>253 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
254 ······</p>254 ······</p>
255 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>255 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
256 ····</footer>256 ····</footer>
257 ··</div>257 ··</div>
258 </main>258 </main>
259 </div>259 </div>
260 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>260 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
261 ··<script>261 ··<script>
262 ··let·initialized·=·false;262 ··let·initialized·=·false;
796 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
461 B
html2text {}
Max HTML report size reached
127 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/sets.html
    
Offset 157, 19 lines modifiedOffset 157, 19 lines modified
157 do·not·match·(<code·class="inline">=:=</code>),·while·both·<a·href="ordsets.html"><code·class="inline">ordsets</code></a>·and·<a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>·consider·elements157 do·not·match·(<code·class="inline">=:=</code>),·while·both·<a·href="ordsets.html"><code·class="inline">ordsets</code></a>·and·<a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>·consider·elements
158 as·different·if·and·only·if·they·do·not·compare·equal·(<code·class="inline">==</code>).</p><h3·id="module-examples"·class="section-heading">158 as·different·if·and·only·if·they·do·not·compare·equal·(<code·class="inline">==</code>).</p><h3·id="module-examples"·class="section-heading">
159 ··<a·href="#module-examples"·class="hover-link">159 ··<a·href="#module-examples"·class="hover-link">
160 ····<i·class="ri-link-m"·aria-hidden="true"></i>160 ····<i·class="ri-link-m"·aria-hidden="true"></i>
161 ··</a>161 ··</a>
162 ··<span·class="text">Examples</span>162 ··<span·class="text">Examples</span>
163 </h3>163 </h3>
164 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="0176105932-1">(</span><span·class="mf">1.0</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="0176105932-2">(</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·204,·SHA:·38074e52b6baee6e935d8a1c17bda7817ade913a9d571fa68ba4352404b2c9e1·...·]-1">)</span><span·class="p">.</span><span·class="w">164 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="7789972945-1">(</span><span·class="mf">1.0</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="7789972945-2">(</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·204,·SHA:·5a2eef9a36068866df8ce1be3a13637bbeb9170d698dceac158b490da52f0296·...·]-1">)</span><span·class="p">.</span><span·class="w">
165 </span><span·class="ss">false</span><span·class="gp·unselectable">165 </span><span·class="ss">false</span><span·class="gp·unselectable">
166 2&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="0176105932-4">(</span><span·class="mf">1.0</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="0176105932-5">(</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·207,·SHA:·1af2a2d2ab4795c679e3e45406b8f335deba1f6929720b07e736f86552b01cda·...·]-4">)</span><span·class="p">.</span><span·class="w">166 2&gt;·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="7789972945-4">(</span><span·class="mf">1.0</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">ordsets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="7789972945-5">(</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·207,·SHA:·ab1e9e7bdeb5dd3362499fc0e3e0679e82b4d1ac95606473bff38cba441b7575·...·]-4">)</span><span·class="p">.</span><span·class="w">
167 </span><span·class="ss">true</span><span·class="gp·unselectable">167 </span><span·class="ss">true</span><span·class="gp·unselectable">
168 3&gt;·</span><span·class="nc">gb_sets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="0176105932-7">(</span><span·class="mf">1.0</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">gb_sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="0176105932-8">(</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·207,·SHA:·3896adac312428814b0f553179f3ee233d590dcd2bd01e763017b10d73163da4·...·]-7">)</span><span·class="p">.</span><span·class="w">168 3&gt;·</span><span·class="nc">gb_sets</span><span·class="p">:</span><span·class="nf">is_element</span><span·class="p"·data-group-id="7789972945-7">(</span><span·class="mf">1.0</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">gb_sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="7789972945-8">(</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·207,·SHA:·93eec126fbb386d2d9bb7331bf46c4cb9694836dccbfeec401ae2082e55c290f·...·]-7">)</span><span·class="p">.</span><span·class="w">
169 </span><span·class="ss">true</span></code></pre></section><h2·id="module-see-also"·class="section-heading">169 </span><span·class="ss">true</span></code></pre></section><h2·id="module-see-also"·class="section-heading">
170 ··<a·href="#module-see-also"·class="hover-link">170 ··<a·href="#module-see-also"·class="hover-link">
171 ····<i·class="ri-link-m"·aria-hidden="true"></i>171 ····<i·class="ri-link-m"·aria-hidden="true"></i>
172 ··</a>172 ··</a>
173 ··<span·class="text">See·Also</span>173 ··<span·class="text">See·Also</span>
174 </h2>174 </h2>
175 <p><a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>,·<a·href="ordsets.html"><code·class="inline">ordsets</code></a></p>175 <p><a·href="gb_sets.html"><code·class="inline">gb_sets</code></a>,·<a·href="ordsets.html"><code·class="inline">ordsets</code></a></p>
Offset 552, 24 lines modifiedOffset 552, 24 lines modified
  
552 <p>Returns·a·new·set·formed·from·<code·class="inline">Set1</code>·with·<code·class="inline">Element</code>·inserted.</p><h2·id="add_element/2-examples"·class="section-heading">552 <p>Returns·a·new·set·formed·from·<code·class="inline">Set1</code>·with·<code·class="inline">Element</code>·inserted.</p><h2·id="add_element/2-examples"·class="section-heading">
553 ··<a·href="#add_element/2-examples"·class="hover-link">553 ··<a·href="#add_element/2-examples"·class="hover-link">
554 ····<i·class="ri-link-m"·aria-hidden="true"></i>554 ····<i·class="ri-link-m"·aria-hidden="true"></i>
555 ··</a>555 ··</a>
556 ··<span·class="text">Examples</span>556 ··<span·class="text">Examples</span>
557 </h2>557 </h2>
558 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="5230509168-1">(</span><span·class="p"·data-group-id="5230509168-1">)</span><span·class="p">.</span><span·class="gp·unselectable">558 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S0</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="6941568727-1">(</span><span·class="p"·data-group-id="6941568727-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
559 2&gt;·</span><span·class="n">S1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="5230509168-2">(</span><span·class="mi">7</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S0</span><span·class="p"·data-group-id="5230509168-2">)</span><span·class="p">.</span><span·class="gp·unselectable">559 2&gt;·</span><span·class="n">S1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="6941568727-2">(</span><span·class="mi">7</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S0</span><span·class="p"·data-group-id="6941568727-2">)</span><span·class="p">.</span><span·class="gp·unselectable">
560 3&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="5230509168-3">(</span><span·class="n">S1</span><span·class="p"·data-group-id="5230509168-3">)</span><span·class="p">.</span><span·class="w">560 3&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="6941568727-3">(</span><span·class="n">S1</span><span·class="p"·data-group-id="6941568727-3">)</span><span·class="p">.</span><span·class="w">
561 </span><span·class="p"·data-group-id="5230509168-4">[</span><span·class="mi">7</span><span·class="p"·data-group-id="5230509168-4">]</span><span·class="gp·unselectable">561 </span><span·class="p"·data-group-id="6941568727-4">[</span><span·class="mi">7</span><span·class="p"·data-group-id="6941568727-4">]</span><span·class="gp·unselectable">
562 4&gt;·</span><span·class="n">S2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="5230509168-5">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S1</span><span·class="p"·data-group-id="5230509168-5">)</span><span·class="p">.</span><span·class="gp·unselectable">562 4&gt;·</span><span·class="n">S2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="6941568727-5">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S1</span><span·class="p"·data-group-id="6941568727-5">)</span><span·class="p">.</span><span·class="gp·unselectable">
563 5&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="5230509168-6">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="5230509168-7">(</span><span·class="n">S2</span><span·class="p"·data-group-id="5230509168-7">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·31189bbece8278d2efee067ef12fe9c208f0dfd7dc6ddd1f512bf619f15f74be·...·]-6">)</span><span·class="p">.</span><span·class="w">563 5&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="6941568727-6">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="6941568727-7">(</span><span·class="n">S2</span><span·class="p"·data-group-id="6941568727-7">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·21,·SHA:·55b4f984655d6c396cb187cbe6dbcfa3eb1586c4c4f214d766b42f161021dd6a·...·]-6">)</span><span·class="p">.</span><span·class="w">
564 </span><span·class="p"·data-group-id="5230509168-8">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="5230509168-8">]</span><span·class="gp·unselectable">564 </span><span·class="p"·data-group-id="6941568727-8">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="6941568727-8">]</span><span·class="gp·unselectable">
565 6&gt;·</span><span·class="n">S2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="5230509168-9">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S1</span><span·class="p"·data-group-id="5230509168-9">)</span><span·class="p">.</span><span·class="gp·unselectable">565 6&gt;·</span><span·class="n">S2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">add_element</span><span·class="p"·data-group-id="6941568727-9">(</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S1</span><span·class="p"·data-group-id="6941568727-9">)</span><span·class="p">.</span><span·class="gp·unselectable">
566 7&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="5230509168-10">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="5230509168-11">(</span><span·class="n">S2</span><span·class="p"·data-group-id="5230509168-11">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·91598213f5a44d917dcb07831139c597ece72aea78c3def4cf337afb21332df3·...·]-10">)</span><span·class="p">.</span><span·class="w">566 7&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="6941568727-10">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="6941568727-11">(</span><span·class="n">S2</span><span·class="p"·data-group-id="6941568727-11">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·9870f3440ba1f96dac206b56931d4847a3883480a0b2d7974ccaa2ed9b9671b8·...·]-10">)</span><span·class="p">.</span><span·class="w">
567 </span><span·class="p"·data-group-id="5230509168-12">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="5230509168-12">]</span></code></pre>567 </span><span·class="p"·data-group-id="6941568727-12">[</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">42</span><span·class="p"·data-group-id="6941568727-12">]</span></code></pre>
568 ··</section>568 ··</section>
569 </section>569 </section>
570 <section·class="detail"·id="del_element/2">570 <section·class="detail"·id="del_element/2">
  
571 ··<div·class="detail-header">571 ··<div·class="detail-header">
572 ····<a·href="#del_element/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">572 ····<a·href="#del_element/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
573 ······<i·class="ri-link-m"·aria-hidden="true"></i>573 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 593, 20 lines modifiedOffset 593, 20 lines modified
  
593 <p>Returns·a·copy·of·<code·class="inline">Set1</code>·with·<code·class="inline">Element</code>·removed.</p><h2·id="del_element/2-examples"·class="section-heading">593 <p>Returns·a·copy·of·<code·class="inline">Set1</code>·with·<code·class="inline">Element</code>·removed.</p><h2·id="del_element/2-examples"·class="section-heading">
594 ··<a·href="#del_element/2-examples"·class="hover-link">594 ··<a·href="#del_element/2-examples"·class="hover-link">
595 ····<i·class="ri-link-m"·aria-hidden="true"></i>595 ····<i·class="ri-link-m"·aria-hidden="true"></i>
596 ··</a>596 ··</a>
597 ··<span·class="text">Examples</span>597 ··<span·class="text">Examples</span>
598 </h2>598 </h2>
599 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="5331666077-1">(</span><span·class="p"·data-group-id="5331666077-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="5331666077-2">]</span><span·class="p"·data-group-id="5331666077-1">)</span><span·class="p">.</span><span·class="gp·unselectable">599 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="5207147924-1">(</span><span·class="p"·data-group-id="5207147924-2">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="5207147924-2">]</span><span·class="p"·data-group-id="5207147924-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
600 2&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="5331666077-3">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="5331666077-4">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</spa[·...·truncated·by·diffoscope;·len:·96,·SHA:·b3ddb4911ac3993cdfef3028649ff24a787c47a1a8b9fd48abb9bc95b1102168·...·]-3">)</span><span·class="p">.</span><span·class="w">600 2&gt;·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="5207147924-3">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="5207147924-4">(</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</spa[·...·truncated·by·diffoscope;·len:·96,·SHA:·d5df49ac2892ca1ee957ae9c74bf92275fec0b4de6fc26c49adcfbb7a7b74d8c·...·]-3">)</span><span·class="p">.</span><span·class="w">
601 </span><span·class="p"·data-group-id="5331666077-5">[</span><span·class="ss">a</span><span·class="p"·data-group-id="5331666077-5">]</span><span·class="gp·unselectable">601 </span><span·class="p"·data-group-id="5207147924-5">[</span><span·class="ss">a</span><span·class="p"·data-group-id="5207147924-5">]</span><span·class="gp·unselectable">
602 3&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="5331666077-6">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="5331666077-6">)</span><span·class="p">.</span><span·class="gp·unselectable">602 3&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">del_element</span><span·class="p"·data-group-id="5207147924-6">(</span><span·class="ss">x</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="5207147924-6">)</span><span·class="p">.</span><span·class="gp·unselectable">
603 4&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="5331666077-7">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="5331666077-8">(</span><span·class="n">S</span><span·class="p"·data-group-id="5331666077-8">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·9b2da8c25a73e1b460bbbe70d5a665b5c845c8f13f5c7fc32e1e16ad9528e59a·...·]-7">)</span><span·class="p">.</span><span·class="w">603 4&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="5207147924-7">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="5207147924-8">(</span><span·class="n">S</span><span·class="p"·data-group-id="5207147924-8">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·cdf90ee4b76f77bd312b8b6c4a6c308fb33e1d2672643c995e9bf854b914ad51·...·]-7">)</span><span·class="p">.</span><span·class="w">
604 </span><span·class="p"·data-group-id="5331666077-9">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="5331666077-9">]</span></code></pre>604 </span><span·class="p"·data-group-id="5207147924-9">[</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="p"·data-group-id="5207147924-9">]</span></code></pre>
605 ··</section>605 ··</section>
606 </section>606 </section>
607 <section·class="detail"·id="filter/2">607 <section·class="detail"·id="filter/2">
  
608 ··<div·class="detail-header">608 ··<div·class="detail-header">
609 ····<a·href="#filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">609 ····<a·href="#filter/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
610 ······<i·class="ri-link-m"·aria-hidden="true"></i>610 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 631, 19 lines modifiedOffset 631, 19 lines modified
  
631 <p>Filters·elements·in·<code·class="inline">Set1</code>·using·predicate·function·<code·class="inline">Pred</code>.</p><h2·id="filter/2-examples"·class="section-heading">631 <p>Filters·elements·in·<code·class="inline">Set1</code>·using·predicate·function·<code·class="inline">Pred</code>.</p><h2·id="filter/2-examples"·class="section-heading">
632 ··<a·href="#filter/2-examples"·class="hover-link">632 ··<a·href="#filter/2-examples"·class="hover-link">
633 ····<i·class="ri-link-m"·aria-hidden="true"></i>633 ····<i·class="ri-link-m"·aria-hidden="true"></i>
634 ··</a>634 ··</a>
635 ··<span·class="text">Examples</span>635 ··<span·class="text">Examples</span>
636 </h2>636 </h2>
637 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="0757546194-1">(</span><span·class="p"·data-group-id="0757546194-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·232,·SHA:·14a4ea2f5efbc618364c02c2dcd8a40ba5372accb92d4df7ba10db8529a0f7db·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">637 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="1071796315-1">(</span><span·class="p"·data-group-id="1071796315-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·cla[·...·truncated·by·diffoscope;·len:·232,·SHA:·bce0fbc87e6d2a89321acf3f40bd27ee759816e35602f9927fe1b86802542a47·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
638 2&gt;·</span><span·class="n">IsEven</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="0757546194-3">(</span><span·class="n">N</span><span·class="p"·data-group-id="0757546194-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">638 2&gt;·</span><span·class="n">IsEven</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="1071796315-3">(</span><span·class="n">N</span><span·class="p"·data-group-id="1071796315-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="o">=:=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">
639 3&gt;·</span><span·class="n">Filtered</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">filter</span><span·class="p"·data-group-id="0757546194-4">(</span><span·class="n">IsEven</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="0757546194-4">)</span><span·class="p">.</span><span·class="gp·unselectable">639 3&gt;·</span><span·class="n">Filtered</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">filter</span><span·class="p"·data-group-id="1071796315-4">(</span><span·class="n">IsEven</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="1071796315-4">)</span><span·class="p">.</span><span·class="gp·unselectable">
640 4&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="0757546194-5">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="0757546194-6">(</span><span·class="n">Filtered</span><span·class="p"·data-group-id="0757546194-6">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·4ba9d2328b6eca3cf88468a73f1a2e274d9f83ffa661c0084ba1bc5acc2ea19e·...·]-5">)</span><span·class="p">.</span><span·class="w">640 4&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="1071796315-5">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="1071796315-6">(</span><span·class="n">Filtered</span><span·class="p"·data-group-id="1071796315-6">)</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·911e0bc3748a351ad27169c61407ffe4fb2bc681ae3072ef04ad0b759dbad969·...·]-5">)</span><span·class="p">.</span><span·class="w">
641 </span><span·class="p"·data-group-id="0757546194-7">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="0757546194-7">]</span></code></pre>641 </span><span·class="p"·data-group-id="1071796315-7">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1071796315-7">]</span></code></pre>
642 ··</section>642 ··</section>
643 </section>643 </section>
644 <section·class="detail"·id="filtermap/2">644 <section·class="detail"·id="filtermap/2">
  
645 ··<div·class="detail-header">645 ··<div·class="detail-header">
646 ····<a·href="#filtermap/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">646 ····<a·href="#filtermap/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
647 ······<i·class="ri-link-m"·aria-hidden="true"></i>647 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 670, 31 lines modifiedOffset 670, 31 lines modified
670 ·······················Set2·::·<a·href="#t:set/1">set</a>(Element1·|·Element2).</pre>670 ·······················Set2·::·<a·href="#t:set/1">set</a>(Element1·|·Element2).</pre>
  
671 ······</div>671 ······</div>
  
672 <p>Calls·<code·class="inline">Fun(Elem)</code>·for·each·<code·class="inline">Elem</code>·of·<code·class="inline">Set1</code>·to·update·or·remove672 <p>Calls·<code·class="inline">Fun(Elem)</code>·for·each·<code·class="inline">Elem</code>·of·<code·class="inline">Set1</code>·to·update·or·remove
673 elements·from·<code·class="inline">Set1</code>.</p><p><code·class="inline">Fun/1</code>·must·return·either·a·Boolean·or·a·tuple·<code·class="inline">{true,·Value}</code>.·The673 elements·from·<code·class="inline">Set1</code>.</p><p><code·class="inline">Fun/1</code>·must·return·either·a·Boolean·or·a·tuple·<code·class="inline">{true,·Value}</code>.·The
674 function·returns·the·set·of·elements·for·which·<code·class="inline">Fun</code>·returns·a·new674 function·returns·the·set·of·elements·for·which·<code·class="inline">Fun</code>·returns·a·new
675 value,·with·<code·class="inline">true</code>·being·equivalent·to·<code·class="inline">{true,·Elem}</code>.</p><p><a·href="#filtermap/2"><code·class="inline">sets:filtermap/2</code></a>·behaves·as·if·it·were·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">filtermap</span><span·class="p"·data-group-id="8318713594-1">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Set1</span><span·class="p"·data-group-id="8318713594-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">675 value,·with·<code·class="inline">true</code>·being·equivalent·to·<code·class="inline">{true,·Elem}</code>.</p><p><a·href="#filtermap/2"><code·class="inline">sets:filtermap/2</code></a>·behaves·as·if·it·were·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">filtermap</span><span·class="p"·data-group-id="6336044544-1">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Set1</span><span·class="p"·data-group-id="6336044544-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
676 ····</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="8318713594-2">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="8318713594-3">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Set1<[·...·truncated·by·diffoscope;·len:·99,·SHA:·b7dc9561089701d713bc276b32871b7fc471953c24280052470fc2f516d52bb9·...·]4-2">)</span><span·class="p">.</span></code></pre><h2·id="filtermap/2-examples"·class="section-heading">676 ····</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="6336044544-2">(</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="6336044544-3">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Set1<[·...·truncated·by·diffoscope;·len:·99,·SHA:·8511bdda8d899c791bf96236be2abc5f4da21068bc8022620572495fbe1e32e9·...·]4-2">)</span><span·class="p">.</span></code></pre><h2·id="filtermap/2-examples"·class="section-heading">
677 ··<a·href="#filtermap/2-examples"·class="hover-link">677 ··<a·href="#filtermap/2-examples"·class="hover-link">
678 ····<i·class="ri-link-m"·aria-hidden="true"></i>678 ····<i·class="ri-link-m"·aria-hidden="true"></i>
679 ··</a>679 ··</a>
680 ··<span·class="text">Examples</span>680 ··<span·class="text">Examples</span>
681 </h2>681 </h2>
682 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="7051056127-1">(</span><span·class="p"·data-group-id="7051056127-2">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·cla[·...·truncated·by·diffoscope;·len:·183,·SHA:·ed2f9b4e3477c3a14715c6d327656b700c997b4c84bfa5eb114d4c9581fbed3c·...·]-1">)</span><span·class="gp·unselectable">682 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="4678922572-1">(</span><span·class="p"·data-group-id="4678922572-2">[</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·cla[·...·truncated·by·diffoscope;·len:·183,·SHA:·edc089f5bc341ae6866c2ddb2bc78303ad52c27ba7a98b5205bfe63c64ad656c·...·]-1">)</span><span·class="gp·unselectable">
683 2&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="7051056127-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="7051056127-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">683 2&gt;·</span><span·class="n">F</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="4678922572-3">(</span><span·class="n">X</span><span·class="p"·data-group-id="4678922572-3">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
684 ···········</span><span·class="k">case</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="k">of</span><span·class="w">684 ···········</span><span·class="k">case</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">2</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
685 ···············</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="7051056127-4">{</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">div</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="705[·...·truncated·by·diffoscope;·len:·7,·SHA:·eac5be187d1431313956bbe431c446f59f136f5793e1f68e3438fad4069127a5·...·]-4">}</span><span·class="p">;</span><span·class="w">685 ···············</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="4678922572-4">{</span><span·class="ss">true</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="w">·</span><span·class="ow">div</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="467[·...·truncated·by·diffoscope;·len:·7,·SHA:·0ca2acaac8d9a909d70497eb33ac4eff8fdf5851fb32f189a5b8c3889ce2e8e2·...·]-4">}</span><span·class="p">;</span><span·class="w">
686 ···············</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">686 ···············</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">false</span><span·class="w">
687 ···········</span><span·class="k">end</span><span·class="w">687 ···········</span><span·class="k">end</span><span·class="w">
688 ········</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">688 ········</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">
689 3&gt;·</span><span·class="n">Set</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="7051056127-5">(</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="7051056127-5">)</span><span·class="p">.</span><span·class="gp·unselectable">689 3&gt;·</span><span·class="n">Set</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">filtermap</span><span·class="p"·data-group-id="4678922572-5">(</span><span·class="n">F</span><span·class="p">,</span><span·class="w">·</span><span·class="n">S</span><span·class="p"·data-group-id="4678922572-5">)</span><span·class="p">.</span><span·class="gp·unselectable">
690 4&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="7051056127-6">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="7051056127-7">(</span><span·class="n">Set</span><span·class="p"·data-group-id="7051056127-7">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·a5d464d7786dfb0a64eefad2dc77f9edea790c7b0f8526128411e0d2b85e469a·...·]-6">)</span><span·class="p">.</span><span·class="w">690 4&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="4678922572-6">(</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">to_list</span><span·class="p"·data-group-id="4678922572-7">(</span><span·class="n">Set</span><span·class="p"·data-group-id="4678922572-7">)</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·22,·SHA:·927cdbc7004c2ce8dd4faeb1b7caecbe67aca12014d7576b5b0d4baabbd996a6·...·]-6">)</span><span·class="p">.</span><span·class="w">
691 </span><span·class="p"·data-group-id="7051056127-8">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="7051056127-8">]</span></code></pre>691 </span><span·class="p"·data-group-id="4678922572-8">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="4678922572-8">]</span></code></pre>
692 ··</section>692 ··</section>
693 </section>693 </section>
694 <section·class="detail"·id="fold/3">694 <section·class="detail"·id="fold/3">
  
695 ··<div·class="detail-header">695 ··<div·class="detail-header">
696 ····<a·href="#fold/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">696 ····<a·href="#fold/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
697 ······<i·class="ri-link-m"·aria-hidden="true"></i>697 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 726, 17 lines modifiedOffset 726, 17 lines modified
726 <p>Folds·<code·class="inline">Function</code>·over·every·element·in·<code·class="inline">Set</code>·and·returns·the·final·value·of726 <p>Folds·<code·class="inline">Function</code>·over·every·element·in·<code·class="inline">Set</code>·and·returns·the·final·value·of
727 the·accumulator.</p><p>The·evaluation·order·is·undefined.</p><h2·id="fold/3-examples"·class="section-heading">727 the·accumulator.</p><p>The·evaluation·order·is·undefined.</p><h2·id="fold/3-examples"·class="section-heading">
728 ··<a·href="#fold/3-examples"·class="hover-link">728 ··<a·href="#fold/3-examples"·class="hover-link">
729 ····<i·class="ri-link-m"·aria-hidden="true"></i>729 ····<i·class="ri-link-m"·aria-hidden="true"></i>
730 ··</a>730 ··</a>
731 ··<span·class="text">Examples</span>731 ··<span·class="text">Examples</span>
732 </h2>732 </h2>
733 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="7316322570-1">(</span><span·class="p"·data-group-id="7316322570-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·clas[·...·truncated·by·diffoscope;·len:·84,·SHA:·12dd4011b39e836cf460e0475a2fa4f9f7cfb3d62c786bdb1e2793e530ddebd3·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">733 <pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">S</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">sets</span><span·class="p">:</span><span·class="nf">from_list</span><span·class="p"·data-group-id="7606887928-1">(</span><span·class="p"·data-group-id="7606887928-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·clas[·...·truncated·by·diffoscope;·len:·84,·SHA:·51511c50558070f3da850dfdb2d64f19bffa4979cc805adb132aa2f46ea23a70·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
734 2&gt;·</span><span·class="n">Plus</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="ss">&#39;+&#39;</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="gp·unselectable">734 2&gt;·</span><span·class="n">Plus</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="nc">erlang</span><span·class="p">:</span><span·class="ss">&#39;+&#39;</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">.</span><span·class="gp·unselectable">
Max diff block lines reached; 92537/129468 bytes (71.47%) of diff not shown.
523 B
html2text {}
Max HTML report size reached
74.3 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/shell.html
    
Offset 162, 15 lines modifiedOffset 162, 15 lines modified
162 used·by·the·compiler·are·unavailable·at·runtime.·So,·to·read·the·record·syntax162 used·by·the·compiler·are·unavailable·at·runtime.·So,·to·read·the·record·syntax
163 and·print·tuples·as·records·when·possible,·record·definitions·must·be·maintained163 and·print·tuples·as·records·when·possible,·record·definitions·must·be·maintained
164 by·the·shell·itself.</p><p>The·shell·commands·for·reading,·defining,·forgetting,·listing,·and·printing164 by·the·shell·itself.</p><p>The·shell·commands·for·reading,·defining,·forgetting,·listing,·and·printing
165 records·are·described·below.·Notice·that·each·job·has·its·own·set·of·record165 records·are·described·below.·Notice·that·each·job·has·its·own·set·of·record
166 definitions.·To·facilitate·matters,·record·definitions·in·modules166 definitions.·To·facilitate·matters,·record·definitions·in·modules
167 <code·class="inline">shell_default</code>·and·<code·class="inline">user_default</code>·(if·loaded)·are·read·each·time·a·new·job·is167 <code·class="inline">shell_default</code>·and·<code·class="inline">user_default</code>·(if·loaded)·are·read·each·time·a·new·job·is
168 started.·For·example,·adding·the·following·line·to·<code·class="inline">user_default</code>·makes·the168 started.·For·example,·adding·the·following·line·to·<code·class="inline">user_default</code>·makes·the
169 definition·of·<code·class="inline">file_info</code>·readily·available·in·the·shell:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="1921247955-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="1921247955-1">)</span><span·class="p">.</span></code></pre><p>The·shell·runs·in·two·modes:</p><ul><li><code·class="inline">Normal·(possibly·restricted)</code>·mode,·in·which·commands·can·be·edited·and169 definition·of·<code·class="inline">file_info</code>·readily·available·in·the·shell:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="3221546596-1">(</span><span·class="s">&quot;kernel/include/file.hrl&quot;</span><span·class="p"·data-group-id="3221546596-1">)</span><span·class="p">.</span></code></pre><p>The·shell·runs·in·two·modes:</p><ul><li><code·class="inline">Normal·(possibly·restricted)</code>·mode,·in·which·commands·can·be·edited·and
170 expressions·evaluated</li><li>Job·Control·Mode,·<code·class="inline">JCL</code>,·in·which·jobs·can·be·started,·killed,·detached,·and170 expressions·evaluated</li><li>Job·Control·Mode,·<code·class="inline">JCL</code>,·in·which·jobs·can·be·started,·killed,·detached,·and
171 connected</li></ul><p>Only·the·currently·connected·job·can·'talk'·to·the·shell.</p><h2·id="module-shell-commands"·class="section-heading">171 connected</li></ul><p>Only·the·currently·connected·job·can·'talk'·to·the·shell.</p><h2·id="module-shell-commands"·class="section-heading">
172 ··<a·href="#module-shell-commands"·class="hover-link">172 ··<a·href="#module-shell-commands"·class="hover-link">
173 ····<i·class="ri-link-m"·aria-hidden="true"></i>173 ····<i·class="ri-link-m"·aria-hidden="true"></i>
174 ··</a>174 ··</a>
175 ··<span·class="text">Shell·Commands</span>175 ··<span·class="text">Shell·Commands</span>
176 </h2>176 </h2>
Offset 230, 114 lines modifiedOffset 230, 114 lines modified
230 ··<a·href="#module-example"·class="hover-link">230 ··<a·href="#module-example"·class="hover-link">
231 ····<i·class="ri-link-m"·aria-hidden="true"></i>231 ····<i·class="ri-link-m"·aria-hidden="true"></i>
232 ··</a>232 ··</a>
233 ··<span·class="text">Example</span>233 ··<span·class="text">Example</span>
234 </h2>234 </h2>
235 <p>The·following·example·is·a·long·dialog·with·the·shell.·Commands·starting·with235 <p>The·following·example·is·a·long·dialog·with·the·shell.·Commands·starting·with
236 <code·class="inline">&gt;</code>·are·inputs·to·the·shell.·All·other·lines·are·output·from·the·shell.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">strider</span><span·class="w">·</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="ss">erl</span><span·class="w">236 <code·class="inline">&gt;</code>·are·inputs·to·the·shell.·All·other·lines·are·output·from·the·shell.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ss">strider</span><span·class="w">·</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="ss">erl</span><span·class="w">
237 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="5091037659-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="5091037659-1">)</span><span·class="w">·</span><span·class="ss">emulator</span><span·class="w">·</span><span·class="ss">version</span><span·class="w">·</span><span·class="mf">5.[·...·truncated·by·diffoscope;·len:·364,·SHA:·1c0af3194331ae112e6c1cbfc6b5e6fa4275db694ab34532dc8768aca86b4ba1·...·]-3">]</span><span·class="w">237 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="p"·data-group-id="4422822974-1">(</span><span·class="n">BEAM</span><span·class="p"·data-group-id="4422822974-1">)</span><span·class="w">·</span><span·class="ss">emulator</span><span·class="w">·</span><span·class="ss">version</span><span·class="w">·</span><span·class="mf">5.[·...·truncated·by·diffoscope;·len:·364,·SHA:·fa15e898e8aa279f8abad0202fdf01fa94a8aa64d27508dd6351903a0d440ddf·...·]-3">]</span><span·class="w">
  
238 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="5091037659-4">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="5091037659-4">)</span><span·class="gp·unselectable">238 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mi">3</span><span·class="w">··</span><span·class="p"·data-group-id="4422822974-4">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="4422822974-4">)</span><span·class="gp·unselectable">
239 1&gt;·</span><span·class="n">Str</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;abcd&quot;</span><span·class="p">.</span><span·class="w">239 1&gt;·</span><span·class="n">Str</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;abcd&quot;</span><span·class="p">.</span><span·class="w">
240 </span><span·class="s">&quot;abcd&quot;</span></code></pre><p>Command·1·sets·variable·<code·class="inline">Str</code>·to·string·<code·class="inline">&quot;abcd&quot;</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="n">L</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">length</span><span·class="p"·data-group-id="5706524451-1">(</span><span·class="n">Str</span><span·class="p"·data-group-id="5706524451-1">)</span><span·class="p">.</span><span·class="w">240 </span><span·class="s">&quot;abcd&quot;</span></code></pre><p>Command·1·sets·variable·<code·class="inline">Str</code>·to·string·<code·class="inline">&quot;abcd&quot;</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="n">L</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">length</span><span·class="p"·data-group-id="6733259372-1">(</span><span·class="n">Str</span><span·class="p"·data-group-id="6733259372-1">)</span><span·class="p">.</span><span·class="w">
241 </span><span·class="mi">4</span></code></pre><p>Command·2·sets·<code·class="inline">L</code>·to·the·length·of·string·<code·class="inline">Str</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="n">Descriptor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6840878968-1">{</span><span·class="n">L</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">list_to_atom</span><span·class="p"·data-group-id="6840878968-2">(</span><span·class="n">Str</span><span·class="p"·data-group-id="6840878968-2">)<[·...·truncated·by·diffoscope;·len:·47,·SHA:·40b82944ef923234765e866ad71753592b02323b62a6827139c8cce94b9cc9c5·...·]-1">}</span><span·class="p">.</span><span·class="w">241 </span><span·class="mi">4</span></code></pre><p>Command·2·sets·<code·class="inline">L</code>·to·the·length·of·string·<code·class="inline">Str</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="n">Descriptor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0905142189-1">{</span><span·class="n">L</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">list_to_atom</span><span·class="p"·data-group-id="0905142189-2">(</span><span·class="n">Str</span><span·class="p"·data-group-id="0905142189-2">)<[·...·truncated·by·diffoscope;·len:·47,·SHA:·9e9979d22655d323a9ee65884581b1278fbcb7d888a6a70e42fe47ef47bd4a1b·...·]-1">}</span><span·class="p">.</span><span·class="w">
242 </span><span·class="p"·data-group-id="6840878968-3">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="6840878968-3">}</span></code></pre><p>Command·3·builds·the·tuple·<code·class="inline">Descriptor</code>,·evaluating·the·BIF242 </span><span·class="p"·data-group-id="0905142189-3">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="0905142189-3">}</span></code></pre><p>Command·3·builds·the·tuple·<code·class="inline">Descriptor</code>,·evaluating·the·BIF
243 <a·href="../../../../erts-16.0/doc/html/erlang.html#list_to_atom/1"><code·class="inline">list_to_atom/1</code>·</a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="n">L</span><span·class="p">.</span><span·class="w">243 <a·href="../../../../erts-16.0/doc/html/erlang.html#list_to_atom/1"><code·class="inline">list_to_atom/1</code>·</a>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="n">L</span><span·class="p">.</span><span·class="w">
244 </span><span·class="mi">4</span></code></pre><p>Command·4·prints·the·value·of·variable·<code·class="inline">L</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nf">b</span><span·class="p"·data-group-id="0679208869-1">(</span><span·class="p"·data-group-id="0679208869-1">)</span><span·class="p">.</span><span·class="w">244 </span><span·class="mi">4</span></code></pre><p>Command·4·prints·the·value·of·variable·<code·class="inline">L</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">5&gt;·</span><span·class="nf">b</span><span·class="p"·data-group-id="2867564552-1">(</span><span·class="p"·data-group-id="2867564552-1">)</span><span·class="p">.</span><span·class="w">
245 </span><span·class="n">Descriptor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0679208869-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="0679208869-2">}</span><span·class="w">245 </span><span·class="n">Descriptor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="2867564552-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="2867564552-2">}</span><span·class="w">
246 </span><span·class="n">L</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">4</span><span·class="w">246 </span><span·class="n">L</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">4</span><span·class="w">
247 </span><span·class="n">Str</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;abcd&quot;</span><span·class="w">247 </span><span·class="n">Str</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;abcd&quot;</span><span·class="w">
248 </span><span·class="ss">ok</span></code></pre><p>Command·5·evaluates·the·internal·shell·command·<code·class="inline">b()</code>,·which·is·an·abbreviation248 </span><span·class="ss">ok</span></code></pre><p>Command·5·evaluates·the·internal·shell·command·<code·class="inline">b()</code>,·which·is·an·abbreviation
249 of·&quot;bindings&quot;.·This·prints·the·current·shell·variables·and·their·bindings.·<code·class="inline">ok</code>249 of·&quot;bindings&quot;.·This·prints·the·current·shell·variables·and·their·bindings.·<code·class="inline">ok</code>
250 at·the·end·is·the·return·value·of·function·<code·class="inline">b()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="nf">f</span><span·class="p"·data-group-id="3284652748-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="3284652748-1">)</span><span·class="p">.</span><span·class="w">250 at·the·end·is·the·return·value·of·function·<code·class="inline">b()</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">6&gt;·</span><span·class="nf">f</span><span·class="p"·data-group-id="6459270218-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="6459270218-1">)</span><span·class="p">.</span><span·class="w">
251 </span><span·class="ss">ok</span></code></pre><p>Command·6·evaluates·the·internal·shell·command·<code·class="inline">f(L)</code>·(abbreviation·of251 </span><span·class="ss">ok</span></code></pre><p>Command·6·evaluates·the·internal·shell·command·<code·class="inline">f(L)</code>·(abbreviation·of
252 &quot;forget&quot;).·The·value·of·variable·<code·class="inline">L</code>·is·removed.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">7&gt;·</span><span·class="nf">b</span><span·class="p"·data-group-id="6440486112-1">(</span><span·class="p"·data-group-id="6440486112-1">)</span><span·class="p">.</span><span·class="w">252 &quot;forget&quot;).·The·value·of·variable·<code·class="inline">L</code>·is·removed.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">7&gt;·</span><span·class="nf">b</span><span·class="p"·data-group-id="4441043334-1">(</span><span·class="p"·data-group-id="4441043334-1">)</span><span·class="p">.</span><span·class="w">
253 </span><span·class="n">Descriptor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6440486112-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="6440486112-2">}</span><span·class="w">253 </span><span·class="n">Descriptor</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4441043334-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="4441043334-2">}</span><span·class="w">
254 </span><span·class="n">Str</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;abcd&quot;</span><span·class="w">254 </span><span·class="n">Str</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;abcd&quot;</span><span·class="w">
255 </span><span·class="ss">ok</span></code></pre><p>Command·7·prints·the·new·bindings.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">8&gt;·</span><span·class="nf">f</span><span·class="p"·data-group-id="0824113939-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="0824113939-1">)</span><span·class="p">.</span><span·class="w">255 </span><span·class="ss">ok</span></code></pre><p>Command·7·prints·the·new·bindings.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">8&gt;·</span><span·class="nf">f</span><span·class="p"·data-group-id="8241659861-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="8241659861-1">)</span><span·class="p">.</span><span·class="w">
256 </span><span·class="ss">ok</span></code></pre><p>Command·8·has·no·effect,·as·<code·class="inline">L</code>·has·no·value.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">9&gt;·</span><span·class="p"·data-group-id="2976389142-1">{</span><span·class="n">L</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="2976389142-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Descriptor</span><span·class="p">.</span><span·class="w">256 </span><span·class="ss">ok</span></code></pre><p>Command·8·has·no·effect,·as·<code·class="inline">L</code>·has·no·value.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">9&gt;·</span><span·class="p"·data-group-id="8996697037-1">{</span><span·class="n">L</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="8996697037-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Descriptor</span><span·class="p">.</span><span·class="w">
257 </span><span·class="p"·data-group-id="2976389142-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="2976389142-2">}</span></code></pre><p>Command·9·performs·a·pattern·matching·operation·on·<code·class="inline">Descriptor</code>,·binding·a·new257 </span><span·class="p"·data-group-id="8996697037-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="8996697037-2">}</span></code></pre><p>Command·9·performs·a·pattern·matching·operation·on·<code·class="inline">Descriptor</code>,·binding·a·new
258 value·to·<code·class="inline">L</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">10&gt;·</span><span·class="n">L</span><span·class="p">.</span><span·class="w">258 value·to·<code·class="inline">L</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">10&gt;·</span><span·class="n">L</span><span·class="p">.</span><span·class="w">
259 </span><span·class="mi">4</span></code></pre><p>Command·10·prints·the·current·value·of·<code·class="inline">L</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">11&gt;·</span><span·class="p"·data-group-id="4614034041-1">{</span><span·class="n">P</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Q</span><span·class="p">,</span><span·class="w">·</span><span·class="n">R</span><span·class="p"·data-group-id="4614034041-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Descriptor</span><span·class="p">.</span><span·class="w">259 </span><span·class="mi">4</span></code></pre><p>Command·10·prints·the·current·value·of·<code·class="inline">L</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">11&gt;·</span><span·class="p"·data-group-id="8762986533-1">{</span><span·class="n">P</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Q</span><span·class="p">,</span><span·class="w">·</span><span·class="n">R</span><span·class="p"·data-group-id="8762986533-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Descriptor</span><span·class="p">.</span><span·class="w">
260 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·{4,abcd}</span></code></pre><p>Command·11·tries·to·match·<code·class="inline">{P,·Q,·R}</code>·against·<code·class="inline">Descriptor</code>,·which·is·<code·class="inline">{4,·abc}</code>.260 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·{4,abcd}</span></code></pre><p>Command·11·tries·to·match·<code·class="inline">{P,·Q,·R}</code>·against·<code·class="inline">Descriptor</code>,·which·is·<code·class="inline">{4,·abc}</code>.
261 The·match·fails·and·none·of·the·new·variables·become·bound.·The·printout261 The·match·fails·and·none·of·the·new·variables·become·bound.·The·printout
262 starting·with·&quot;<code·class="inline">**·exception·error:</code>&quot;·is·not·the·value·of·the·expression·(the262 starting·with·&quot;<code·class="inline">**·exception·error:</code>&quot;·is·not·the·value·of·the·expression·(the
263 expression·had·no·value·because·its·evaluation·failed),·but·a·warning·printed·by263 expression·had·no·value·because·its·evaluation·failed),·but·a·warning·printed·by
264 the·system·to·inform·the·user·that·an·error·has·occurred.·The·values·of·the264 the·system·to·inform·the·user·that·an·error·has·occurred.·The·values·of·the
265 other·variables·(<code·class="inline">L</code>,·<code·class="inline">Str</code>,·and·so·on)·are·unchanged.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">12&gt;·</span><span·class="n">P</span><span·class="p">.</span><span·class="w">265 other·variables·(<code·class="inline">L</code>,·<code·class="inline">Str</code>,·and·so·on)·are·unchanged.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">12&gt;·</span><span·class="n">P</span><span·class="p">.</span><span·class="w">
266 </span><span·class="gt">*·1:1:·variable·&#39;P&#39;·is·unbound</span><span·class="gp·unselectable">266 </span><span·class="gt">*·1:1:·variable·&#39;P&#39;·is·unbound</span><span·class="gp·unselectable">
267 13&gt;·</span><span·class="n">Descriptor</span><span·class="p">.</span><span·class="w">267 13&gt;·</span><span·class="n">Descriptor</span><span·class="p">.</span><span·class="w">
268 </span><span·class="p"·data-group-id="5751739583-1">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="5751739583-1">}</span></code></pre><p>Commands·12·and·13·show·that·<code·class="inline">P</code>·is·unbound·because·the·previous·command·failed,268 </span><span·class="p"·data-group-id="1621806849-1">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="1621806849-1">}</span></code></pre><p>Commands·12·and·13·show·that·<code·class="inline">P</code>·is·unbound·because·the·previous·command·failed,
269 and·that·<code·class="inline">Descriptor</code>·has·not·changed.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="mi">14</span><span·class="o">&gt;</span><span·class="p"·data-group-id="6713379644-1">{</span><span·class="n">P</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Q</span><span·class="p"·data-group-id="6713379644-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Descriptor</span><span·class="p">.</span><span·class="w">269 and·that·<code·class="inline">Descriptor</code>·has·not·changed.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="mi">14</span><span·class="o">&gt;</span><span·class="p"·data-group-id="6439414684-1">{</span><span·class="n">P</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Q</span><span·class="p"·data-group-id="6439414684-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Descriptor</span><span·class="p">.</span><span·class="w">
270 </span><span·class="p"·data-group-id="6713379644-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="6713379644-2">}</span><span·class="gp·unselectable">270 </span><span·class="p"·data-group-id="6439414684-2">{</span><span·class="mi">4</span><span·class="p">,</span><span·class="ss">abcd</span><span·class="p"·data-group-id="6439414684-2">}</span><span·class="gp·unselectable">
271 15&gt;·</span><span·class="n">P</span><span·class="p">.</span><span·class="w">271 15&gt;·</span><span·class="n">P</span><span·class="p">.</span><span·class="w">
272 </span><span·class="mi">4</span></code></pre><p>Commands·14·and·15·show·a·correct·match·where·<code·class="inline">P</code>·and·<code·class="inline">Q</code>·are·bound.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">16&gt;·</span><span·class="nf">f</span><span·class="p"·data-group-id="6982065188-1">(</span><span·class="p"·data-group-id="6982065188-1">)</span><span·class="p">.</span><span·class="w">272 </span><span·class="mi">4</span></code></pre><p>Commands·14·and·15·show·a·correct·match·where·<code·class="inline">P</code>·and·<code·class="inline">Q</code>·are·bound.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">16&gt;·</span><span·class="nf">f</span><span·class="p"·data-group-id="6832457309-1">(</span><span·class="p"·data-group-id="6832457309-1">)</span><span·class="p">.</span><span·class="w">
273 </span><span·class="ss">ok</span></code></pre><p>Command·16·clears·all·bindings.</p><p>The·next·few·commands·assume·that·<code·class="inline">test1:demo(X)</code>·is·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">demo</span><span·class="p"·data-group-id="5309814687-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="5309814687-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">273 </span><span·class="ss">ok</span></code></pre><p>Command·16·clears·all·bindings.</p><p>The·next·few·commands·assume·that·<code·class="inline">test1:demo(X)</code>·is·defined·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">demo</span><span·class="p"·data-group-id="1852949331-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="1852949331-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
274 </span><span·class="err"> </span><span·class="err"> </span><span·class="err"> </span><span·class="err"> </span><span·class="nf">put</span><span·class="p"·data-group-id="5309814687-2">(</span><span·class="ss">aa</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">worked</span><span·class="p"·data-group-id="5309814687-2">)</span><span·class="p">,</span><span·class="w">274 </span><span·class="err"> </span><span·class="err"> </span><span·class="err"> </span><span·class="err"> </span><span·class="nf">put</span><span·class="p"·data-group-id="1852949331-2">(</span><span·class="ss">aa</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">worked</span><span·class="p"·data-group-id="1852949331-2">)</span><span·class="p">,</span><span·class="w">
275 </span><span·class="err"> </span><span·class="err"> </span><span·class="err"> </span><span·class="err"> </span><span·class="n">X</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">275 </span><span·class="err"> </span><span·class="err"> </span><span·class="err"> </span><span·class="err"> </span><span·class="n">X</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
276 </span><span·class="err"> </span><span·class="err"> </span><span·class="err"> </span><span·class="err"> </span><span·class="n">X</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">10</span><span·class="p">.</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">17&gt;·</span><span·class="nf">put</span><span·class="p"·data-group-id="9291136663-1">(</span><span·class="ss">aa</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">hello</span><span·class="p"·data-group-id="9291136663-1">)</span><span·class="p">.</span><span·class="w">276 </span><span·class="err"> </span><span·class="err"> </span><span·class="err"> </span><span·class="err"> </span><span·class="n">X</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">10</span><span·class="p">.</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">17&gt;·</span><span·class="nf">put</span><span·class="p"·data-group-id="5589543158-1">(</span><span·class="ss">aa</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">hello</span><span·class="p"·data-group-id="5589543158-1">)</span><span·class="p">.</span><span·class="w">
277 </span><span·class="ss">undefined</span><span·class="gp·unselectable">277 </span><span·class="ss">undefined</span><span·class="gp·unselectable">
278 18&gt;·</span><span·class="nf">get</span><span·class="p"·data-group-id="9291136663-2">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="9291136663-2">)</span><span·class="p">.</span><span·class="w">278 18&gt;·</span><span·class="nf">get</span><span·class="p"·data-group-id="5589543158-2">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="5589543158-2">)</span><span·class="p">.</span><span·class="w">
279 </span><span·class="ss">hello</span></code></pre><p>Commands·17·and·18·set·and·inspect·the·value·of·item·<code·class="inline">aa</code>·in·the·process279 </span><span·class="ss">hello</span></code></pre><p>Commands·17·and·18·set·and·inspect·the·value·of·item·<code·class="inline">aa</code>·in·the·process
280 dictionary.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">19&gt;·</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">test1</span><span·class="p">:</span><span·class="nf">demo</span><span·class="p"·data-group-id="8101185711-1">(</span><span·class="mi">1</span><span·class="p"·data-group-id="8101185711-1">)</span><span·class="p">.</span><span·class="w">280 dictionary.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">19&gt;·</span><span·class="n">Y</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">test1</span><span·class="p">:</span><span·class="nf">demo</span><span·class="p"·data-group-id="9327081216-1">(</span><span·class="mi">1</span><span·class="p"·data-group-id="9327081216-1">)</span><span·class="p">.</span><span·class="w">
281 </span><span·class="mi">11</span></code></pre><p>Command·19·evaluates·<code·class="inline">test1:demo(1)</code>.·The·evaluation·succeeds·and·the·changes281 </span><span·class="mi">11</span></code></pre><p>Command·19·evaluates·<code·class="inline">test1:demo(1)</code>.·The·evaluation·succeeds·and·the·changes
282 made·in·the·process·dictionary·become·visible·to·the·shell.·The·new·value·of282 made·in·the·process·dictionary·become·visible·to·the·shell.·The·new·value·of
283 dictionary·item·<code·class="inline">aa</code>·can·be·seen·in·command·20.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">20&gt;·</span><span·class="nf">get</span><span·class="p"·data-group-id="8558944603-1">(</span><span·class="p"·data-group-id="8558944603-1">)</span><span·class="p">.</span><span·class="w">283 dictionary·item·<code·class="inline">aa</code>·can·be·seen·in·command·20.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">20&gt;·</span><span·class="nf">get</span><span·class="p"·data-group-id="7656377970-1">(</span><span·class="p"·data-group-id="7656377970-1">)</span><span·class="p">.</span><span·class="w">
284 </span><span·class="p"·data-group-id="8558944603-2">[</span><span·class="p"·data-group-id="8558944603-3">{</span><span·class="ss">aa</span><span·class="p">,</span><span·class="ss">worked</span><span·class="p"·data-group-id="8558944603-3">}</span><span·class="p"·data-group-id="8558944603-2">]</span><span·class="gp·unselectable">284 </span><span·class="p"·data-group-id="7656377970-2">[</span><span·class="p"·data-group-id="7656377970-3">{</span><span·class="ss">aa</span><span·class="p">,</span><span·class="ss">worked</span><span·class="p"·data-group-id="7656377970-3">}</span><span·class="p"·data-group-id="7656377970-2">]</span><span·class="gp·unselectable">
285 21&gt;·</span><span·class="nf">put</span><span·class="p"·data-group-id="8558944603-4">(</span><span·class="ss">aa</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">hello</span><span·class="p"·data-group-id="8558944603-4">)</span><span·class="p">.</span><span·class="w">285 21&gt;·</span><span·class="nf">put</span><span·class="p"·data-group-id="7656377970-4">(</span><span·class="ss">aa</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">hello</span><span·class="p"·data-group-id="7656377970-4">)</span><span·class="p">.</span><span·class="w">
286 </span><span·class="ss">worked</span><span·class="gp·unselectable">286 </span><span·class="ss">worked</span><span·class="gp·unselectable">
287 22&gt;·</span><span·class="n">Z</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">test1</span><span·class="p">:</span><span·class="nf">demo</span><span·class="p"·data-group-id="8558944603-5">(</span><span·class="mi">2</span><span·class="p"·data-group-id="8558944603-5">)</span><span·class="p">.</span><span·class="w">287 22&gt;·</span><span·class="n">Z</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">test1</span><span·class="p">:</span><span·class="nf">demo</span><span·class="p"·data-group-id="7656377970-5">(</span><span·class="mi">2</span><span·class="p"·data-group-id="7656377970-5">)</span><span·class="p">.</span><span·class="w">
288 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·1288 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·1
289 ·····in·function··test1:demo/1</span></code></pre><p>Commands·21·and·22·change·the·value·of·dictionary·item·<code·class="inline">aa</code>·to·<code·class="inline">hello</code>·and·call289 ·····in·function··test1:demo/1</span></code></pre><p>Commands·21·and·22·change·the·value·of·dictionary·item·<code·class="inline">aa</code>·to·<code·class="inline">hello</code>·and·call
290 <code·class="inline">test1:demo(2)</code>.·Evaluation·fails·and·the·changes·made·to·the·dictionary·in290 <code·class="inline">test1:demo(2)</code>.·Evaluation·fails·and·the·changes·made·to·the·dictionary·in
291 <code·class="inline">test1:demo(2)</code>,·before·the·error·occurred,·are·discarded.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">23&gt;·</span><span·class="n">Z</span><span·class="p">.</span><span·class="w">291 <code·class="inline">test1:demo(2)</code>,·before·the·error·occurred,·are·discarded.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">23&gt;·</span><span·class="n">Z</span><span·class="p">.</span><span·class="w">
292 </span><span·class="gt">*·1:1:·variable·&#39;Z&#39;·is·unbound</span><span·class="gp·unselectable">292 </span><span·class="gt">*·1:1:·variable·&#39;Z&#39;·is·unbound</span><span·class="gp·unselectable">
293 24&gt;·</span><span·class="nf">get</span><span·class="p"·data-group-id="6306993210-1">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="6306993210-1">)</span><span·class="p">.</span><span·class="w">293 24&gt;·</span><span·class="nf">get</span><span·class="p"·data-group-id="9214517418-1">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="9214517418-1">)</span><span·class="p">.</span><span·class="w">
294 </span><span·class="ss">hello</span></code></pre><p>Commands·23·and·24·show·that·<code·class="inline">Z</code>·was·not·bound·and·that·dictionary·item·<code·class="inline">aa</code>·has294 </span><span·class="ss">hello</span></code></pre><p>Commands·23·and·24·show·that·<code·class="inline">Z</code>·was·not·bound·and·that·dictionary·item·<code·class="inline">aa</code>·has
295 retained·its·original·value.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">25&gt;·</span><span·class="nf">erase</span><span·class="p"·data-group-id="8299213792-1">(</span><span·class="p"·data-group-id="8299213792-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">put</span><span·class="p"·data-group-id="8299213792-2">(</span><span·class="ss">aa</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·633041f2e3cc93d3a27c910d68721ce728ec73e37c1484c35597c2f1c12ede85·...·]-2">)</span><span·class="p">.</span><span·class="w">295 retained·its·original·value.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">25&gt;·</span><span·class="nf">erase</span><span·class="p"·data-group-id="6455940225-1">(</span><span·class="p"·data-group-id="6455940225-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">put</span><span·class="p"·data-group-id="6455940225-2">(</span><span·class="ss">aa</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·89ae9ba19964d91ebffdb331bb9d07e227e7412cfd03ba6e4d9fceec4c1ff27d·...·]-2">)</span><span·class="p">.</span><span·class="w">
296 </span><span·class="ss">undefined</span><span·class="gp·unselectable">296 </span><span·class="ss">undefined</span><span·class="gp·unselectable">
297 26&gt;·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="8299213792-3">(</span><span·class="ss">test1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">demo</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8299213792-4">[</span><span·class="mi">1</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·5225c19094c2c71766e3a6c4c7c049db8a7fa786d72992d7fbf63e1a4cf777f1·...·]-3">)</span><span·class="p">.</span><span·class="w">297 26&gt;·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="6455940225-3">(</span><span·class="ss">test1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">demo</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6455940225-4">[</span><span·class="mi">1</span><sp[·...·truncated·by·diffoscope;·len:·91,·SHA:·46e8a3149207654a4e580e25cc576ad105b1e0523639d63d27d6de07452398f4·...·]-3">)</span><span·class="p">.</span><span·class="w">
298 </span><span·class="o">&lt;</span><span·class="mf">0.57</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">298 </span><span·class="o">&lt;</span><span·class="mf">0.57</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">
299 27&gt;·</span><span·class="nf">get</span><span·class="p"·data-group-id="8299213792-5">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="8299213792-5">)</span><span·class="p">.</span><span·class="w">299 27&gt;·</span><span·class="nf">get</span><span·class="p"·data-group-id="6455940225-5">(</span><span·class="ss">aa</span><span·class="p"·data-group-id="6455940225-5">)</span><span·class="p">.</span><span·class="w">
300 </span><span·class="ss">hello</span></code></pre><p>Commands·25,·26,·and·27·show·the·effect·of·evaluating·<code·class="inline">test1:demo(1)</code>·in·the300 </span><span·class="ss">hello</span></code></pre><p>Commands·25,·26,·and·27·show·the·effect·of·evaluating·<code·class="inline">test1:demo(1)</code>·in·the
301 background.·In·this·case,·the·expression·is·evaluated·in·a·newly·spawned301 background.·In·this·case,·the·expression·is·evaluated·in·a·newly·spawned
302 process.·Any·changes·made·in·the·process·dictionary·are·local·to·the·newly302 process.·Any·changes·made·in·the·process·dictionary·are·local·to·the·newly
303 spawned·process·and·therefore·not·visible·to·the·shell.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">28&gt;·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="0112696824-1">(</span><span·class="s">&quot;hello·hello\n&quot;</span><span·class="p"·data-group-id="0112696824-1">)</span><span·class="p">.</span><span·class="w">303 spawned·process·and·therefore·not·visible·to·the·shell.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">28&gt;·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5997550164-1">(</span><span·class="s">&quot;hello·hello\n&quot;</span><span·class="p"·data-group-id="5997550164-1">)</span><span·class="p">.</span><span·class="w">
304 </span><span·class="ss">hello</span><span·class="w">·</span><span·class="ss">hello</span><span·class="w">304 </span><span·class="ss">hello</span><span·class="w">·</span><span·class="ss">hello</span><span·class="w">
305 </span><span·class="ss">ok</span><span·class="gp·unselectable">305 </span><span·class="ss">ok</span><span·class="gp·unselectable">
306 29&gt;·</span><span·class="nf">e</span><span·class="p"·data-group-id="0112696824-2">(</span><span·class="mi">28</span><span·class="p"·data-group-id="0112696824-2">)</span><span·class="p">.</span><span·class="w">306 29&gt;·</span><span·class="nf">e</span><span·class="p"·data-group-id="5997550164-2">(</span><span·class="mi">28</span><span·class="p"·data-group-id="5997550164-2">)</span><span·class="p">.</span><span·class="w">
307 </span><span·class="ss">hello</span><span·class="w">·</span><span·class="ss">hello</span><span·class="w">307 </span><span·class="ss">hello</span><span·class="w">·</span><span·class="ss">hello</span><span·class="w">
308 </span><span·class="ss">ok</span><span·class="gp·unselectable">308 </span><span·class="ss">ok</span><span·class="gp·unselectable">
309 30&gt;·</span><span·class="nf">v</span><span·class="p"·data-group-id="0112696824-3">(</span><span·class="mi">28</span><span·class="p"·data-group-id="0112696824-3">)</span><span·class="p">.</span><span·class="w">309 30&gt;·</span><span·class="nf">v</span><span·class="p"·data-group-id="5997550164-3">(</span><span·class="mi">28</span><span·class="p"·data-group-id="5997550164-3">)</span><span·class="p">.</span><span·class="w">
310 </span><span·class="ss">ok</span></code></pre><p>Commands·28,·29·and·30·use·the·history·facilities·of·the·shell.·Command·29310 </span><span·class="ss">ok</span></code></pre><p>Commands·28,·29·and·30·use·the·history·facilities·of·the·shell.·Command·29
311 re-evaluates·command·28.·Command·30·uses·the·value·(result)·of·command·28.·In311 re-evaluates·command·28.·Command·30·uses·the·value·(result)·of·command·28.·In
312 the·cases·of·a·pure·function·(a·function·with·no·side·effects),·the·result·is312 the·cases·of·a·pure·function·(a·function·with·no·side·effects),·the·result·is
313 the·same.·For·a·function·with·side·effects,·the·result·can·be·different.</p><p>The·next·few·commands·show·some·record·manipulation.·It·is·assumed·that·<code·class="inline">ex.erl</code>313 the·same.·For·a·function·with·side·effects,·the·result·can·be·different.</p><p>The·next·few·commands·show·some·record·manipulation.·It·is·assumed·that·<code·class="inline">ex.erl</code>
314 defines·a·record·as·follows:</p><p><code·class="inline">-record(rec,·{a,·b·=·val()}).</code></p><p><code·class="inline">val()·-&gt;</code><br/>    <code·class="inline">3.</code></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">31&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="8041139333-1">(</span><span·class="ss">ex</span><span·class="p"·data-group-id="8041139333-1">)</span><span·class="p">.</span><span·class="w">314 defines·a·record·as·follows:</p><p><code·class="inline">-record(rec,·{a,·b·=·val()}).</code></p><p><code·class="inline">val()·-&gt;</code><br/>    <code·class="inline">3.</code></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">31&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="0776635047-1">(</span><span·class="ss">ex</span><span·class="p"·data-group-id="0776635047-1">)</span><span·class="p">.</span><span·class="w">
315 </span><span·class="p"·data-group-id="8041139333-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">ex</span><span·class="p"·data-group-id="8041139333-2">}</span><span·class="gp·unselectable">315 </span><span·class="p"·data-group-id="0776635047-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">ex</span><span·class="p"·data-group-id="0776635047-2">}</span><span·class="gp·unselectable">
316 32&gt;·</span><span·class="nf">rr</span><span·class="p"·data-group-id="8041139333-3">(</span><span·class="ss">ex</span><span·class="p"·data-group-id="8041139333-3">)</span><span·class="p">.</span><span·class="w">316 32&gt;·</span><span·class="nf">rr</span><span·class="p"·data-group-id="0776635047-3">(</span><span·class="ss">ex</span><span·class="p"·data-group-id="0776635047-3">)</span><span·class="p">.</span><span·class="w">
317 </span><span·class="p"·data-group-id="8041139333-4">[</span><span·class="ss">rec</span><span·class="p"·data-group-id="8041139333-4">]</span></code></pre><p>Commands·31·and·32·compile·file·<code·class="inline">ex.erl</code>·and·read·the·record·definitions·in317 </span><span·class="p"·data-group-id="0776635047-4">[</span><span·class="ss">rec</span><span·class="p"·data-group-id="0776635047-4">]</span></code></pre><p>Commands·31·and·32·compile·file·<code·class="inline">ex.erl</code>·and·read·the·record·definitions·in
318 <code·class="inline">ex.beam</code>.·If·the·compiler·did·not·output·any·record·definitions·on·the·BEAM318 <code·class="inline">ex.beam</code>.·If·the·compiler·did·not·output·any·record·definitions·on·the·BEAM
319 file,·<code·class="inline">rr(ex)</code>·tries·to·read·record·definitions·from·the·source·file·instead.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">33&gt;·</span><span·class="nf">rl</span><span·class="p"·data-group-id="9822190357-1">(</span><span·class="ss">rec</span><span·class="p"·data-group-id="9822190357-1">)</span><span·class="p">.</span><span·class="w">319 file,·<code·class="inline">rr(ex)</code>·tries·to·read·record·definitions·from·the·source·file·instead.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">33&gt;·</span><span·class="nf">rl</span><span·class="p"·data-group-id="6003677246-1">(</span><span·class="ss">rec</span><span·class="p"·data-group-id="6003677246-1">)</span><span·class="p">.</span><span·class="w">
320 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="9822190357-2">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="p"·data-group-id="9822190357-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="w">·</span><span·class="o">=</span><span·cl[·...·truncated·by·diffoscope;·len:·243,·SHA:·70b3d0002af8ad6ab4887f4a908e2a0e6b5b8b067828bebebb688338087639c0·...·]-2">)</span><span·class="p">.</span><span·class="w">320 </span><span·class="p">-</span><span·class="na">record</span><span·class="p"·data-group-id="6003677246-2">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="p"·data-group-id="6003677246-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="ss">b</span><span·class="w">·</span><span·class="o">=</span><span·cl[·...·truncated·by·diffoscope;·len:·243,·SHA:·0e84c2d0ccf473f3df87003eb01d77437e748c482ecd5987f35ea7c8dd56fe53·...·]-2">)</span><span·class="p">.</span><span·class="w">
321 </span><span·class="ss">ok</span></code></pre><p>Command·33·prints·the·definition·of·the·record·named·<code·class="inline">rec</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">34&gt;·</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="5895849227-1">{</span><span·class="p"·data-group-id="5895849227-1">}</span><span·class="p">.</span><span·class="w">321 </span><span·class="ss">ok</span></code></pre><p>Command·33·prints·the·definition·of·the·record·named·<code·class="inline">rec</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">34&gt;·</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="4478885894-1">{</span><span·class="p"·data-group-id="4478885894-1">}</span><span·class="p">.</span><span·class="w">
322 </span><span·class="gt">**·exception·error:·undefined·shell·command·val/0</span></code></pre><p>Command·34·tries·to·create·a·<code·class="inline">rec</code>·record,·but·fails·as·function·<code·class="inline">val/0</code>·is322 </span><span·class="gt">**·exception·error:·undefined·shell·command·val/0</span></code></pre><p>Command·34·tries·to·create·a·<code·class="inline">rec</code>·record,·but·fails·as·function·<code·class="inline">val/0</code>·is
323 undefined.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">35&gt;·</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="6164946056-1">{</span><span·class="ss">b</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="6164946056-1">}</span><span·class="p">.</span><span·class="w">323 undefined.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">35&gt;·</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="1849068924-1">{</span><span·class="ss">b</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="1849068924-1">}</span><span·class="p">.</span><span·class="w">
324 </span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="6164946056-2">{</span><span·class="ss">a</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="ss">b</span><span·class="w">·</span><span·class="o">=</span><span·c[·...·truncated·by·diffoscope;·len:·83,·SHA:·6792291ceeb8fbc0221980c24110c602e632b4d2932092d378c6f30fbd3b714e·...·]-2">}</span></code></pre><p>Command·35·shows·the·workaround:·explicitly·assign·values·to·record·fields·that324 </span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="1849068924-2">{</span><span·class="ss">a</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="ss">b</span><span·class="w">·</span><span·class="o">=</span><span·c[·...·truncated·by·diffoscope;·len:·83,·SHA:·25c9e92a61d807b3d23efd4a63e73ad702762e58e7b0a8ec798cf09a9eb2ab2d·...·]-2">}</span></code></pre><p>Command·35·shows·the·workaround:·explicitly·assign·values·to·record·fields·that
325 cannot·otherwise·be·initialized.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">36&gt;·</span><span·class="nf">rp</span><span·class="p"·data-group-id="8894683983-1">(</span><span·class="nf">v</span><span·class="p"·data-group-id="8894683983-2">(</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="8894683983-2">)</span><span·class="p"·data-group-id="8894683983-1">)</span><span·class="p">.</span><span·class="w">325 cannot·otherwise·be·initialized.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">36&gt;·</span><span·class="nf">rp</span><span·class="p"·data-group-id="6031840234-1">(</span><span·class="nf">v</span><span·class="p"·data-group-id="6031840234-2">(</span><span·class="o">-</span><span·class="mi">1</span><span·class="p"·data-group-id="6031840234-2">)</span><span·class="p"·data-group-id="6031840234-1">)</span><span·class="p">.</span><span·class="w">
326 </span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="8894683983-3">{</span><span·class="ss">a</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="ss">b</span><span·class="w">·</span><span·class="o">=</span><span·c[·...·truncated·by·diffoscope;·len:·83,·SHA:·a63bc3ecfe6189182ac2dd15c195b2aaad18d514436029682cdc73ddb95c7300·...·]-3">}</span><span·class="w">326 </span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="6031840234-3">{</span><span·class="ss">a</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="ss">b</span><span·class="w">·</span><span·class="o">=</span><span·c[·...·truncated·by·diffoscope;·len:·83,·SHA:·707d88a6a97e8235f0ca3fd775c771f6c5356aef46a5d2e7d6a7e1a1b967a31b·...·]-3">}</span><span·class="w">
327 </span><span·class="ss">ok</span></code></pre><p>Command·36·prints·the·newly·created·record·using·record·definitions·maintained327 </span><span·class="ss">ok</span></code></pre><p>Command·36·prints·the·newly·created·record·using·record·definitions·maintained
328 by·the·shell.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">37&gt;·</span><span·class="nf">rd</span><span·class="p"·data-group-id="0241033466-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0241033466-2">{</span><span·class="ss">f</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·273,·SHA:·d57b113feb25899bcc3902e8ccbc801d46563657424ea54596f906482da24156·...·]-1">)</span><span·class="p">.</span><span·class="w">328 by·the·shell.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">37&gt;·</span><span·class="nf">rd</span><span·class="p"·data-group-id="6951197297-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6951197297-2">{</span><span·class="ss">f</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·273,·SHA:·c659f36508fbf559aa54eef3784a33d701ed284c52bf1ea417e8cce0ab005f98·...·]-1">)</span><span·class="p">.</span><span·class="w">
329 </span><span·class="ss">rec</span></code></pre><p>Command·37·defines·a·record·directly·in·the·shell.·The·definition·replaces·the329 </span><span·class="ss">rec</span></code></pre><p>Command·37·defines·a·record·directly·in·the·shell.·The·definition·replaces·the
330 one·read·from·file·<code·class="inline">ex.beam</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">38&gt;·</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="6546647062-1">{</span><span·class="p"·data-group-id="6546647062-1">}</span><span·class="p">.</span><span·class="w">330 one·read·from·file·<code·class="inline">ex.beam</code>.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">38&gt;·</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="7926847931-1">{</span><span·class="p"·data-group-id="7926847931-1">}</span><span·class="p">.</span><span·class="w">
331 </span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="6546647062-2">{</span><span·class="ss">f</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6546647062-3">[</span><span·class="p"·data-group-id="6546647062-3">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·c170aef46fb62c159e1677e90d99135ac2724c9a9988b78aa5b7a4d0ca7d28a9·...·]-2">}</span><span·class="w">331 </span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="7926847931-2">{</span><span·class="ss">f</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7926847931-3">[</span><span·class="p"·data-group-id="7926847931-3">]</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·10,·SHA:·5f44b095711c9dbc732fc4e1a3bf6d1f810957f717fda082db8f84070f262ee0·...·]-2">}</span><span·class="w">
332 </span><span·class="ss">ok</span></code></pre><p>Command·38·creates·a·record·using·the·new·definition,·and·prints·the·result.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">39&gt;·</span><span·class="nf">rd</span><span·class="p"·data-group-id="7010847087-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7010847087-2">{</span><span·class="ss">c</span><span·class="p"·data-group-id="7010847087-2">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·659c1351d76981058e41c23c4125c19d10948fc089cc3db44c796890bc20ae28·...·]-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">332 </span><span·class="ss">ok</span></code></pre><p>Command·38·creates·a·record·using·the·new·definition,·and·prints·the·result.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">39&gt;·</span><span·class="nf">rd</span><span·class="p"·data-group-id="0668026318-1">(</span><span·class="ss">rec</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0668026318-2">{</span><span·class="ss">c</span><span·class="p"·data-group-id="0668026318-2">}</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·13,·SHA:·9c7a6bf85259738f29aad99700d46ac7583871fdbc2a0061f4e122778112bfc0·...·]-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">A</span><span·class="p">.</span><span·class="w">
333 </span><span·class="gt">*·1:15:·variable·&#39;A&#39;·is·unbound</span><span·class="gp·unselectable">333 </span><span·class="gt">*·1:15:·variable·&#39;A&#39;·is·unbound</span><span·class="gp·unselectable">
334 40&gt;·</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="7010847087-3">{</span><span·class="p"·data-group-id="7010847087-3">}</span><span·class="p">.</span><span·class="w">334 40&gt;·</span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="0668026318-3">{</span><span·class="p"·data-group-id="0668026318-3">}</span><span·class="p">.</span><span·class="w">
335 </span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="7010847087-4">{</span><span·class="ss">c</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p"·data-group-id="7010847087-4">}</span><span·class="w">335 </span><span·class="o">#</span><span·class="ss">rec</span><span·class="p"·data-group-id="0668026318-4">{</span><span·class="ss">c</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p"·data-group-id="0668026318-4">}</span><span·class="w">
336 </span><span·class="ss">ok</span></code></pre><p>Command·39·and·40·show·that·record·definitions·are·updated·as·side·effects.·The336 </span><span·class="ss">ok</span></code></pre><p>Command·39·and·40·show·that·record·definitions·are·updated·as·side·effects.·The
337 evaluation·of·the·command·fails,·but·the·definition·of·<code·class="inline">rec</code>·has·been·carried337 evaluation·of·the·command·fails,·but·the·definition·of·<code·class="inline">rec</code>·has·been·carried
338 out.</p><p>For·the·next·command,·it·is·assumed·that·<code·class="inline">test1:loop(N)</code>·is·defined·as·follows:</p><p><code·class="inline">loop(N)·-&gt;</code><br/>    <code·class="inline">io:format(&quot;Hello·Number:·~w~n&quot;,·[N]),</code><br/>    <code·class="inline">loop(N+1).</code></p><pre><code·class="text">41&gt;·test1:loop(0).338 out.</p><p>For·the·next·command,·it·is·assumed·that·<code·class="inline">test1:loop(N)</code>·is·defined·as·follows:</p><p><code·class="inline">loop(N)·-&gt;</code><br/>    <code·class="inline">io:format(&quot;Hello·Number:·~w~n&quot;,·[N]),</code><br/>    <code·class="inline">loop(N+1).</code></p><pre><code·class="text">41&gt;·test1:loop(0).
339 Hello·Number:·0339 Hello·Number:·0
Max diff block lines reached; 23602/75382 bytes (31.31%) of diff not shown.
594 B
html2text {}
Max HTML report size reached
4.22 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/shell_default.html
    
Offset 125, 18 lines modifiedOffset 125, 18 lines modified
125 ····<small·class="app-vsn"·translate="no">(stdlib·v7.0)</small>125 ····<small·class="app-vsn"·translate="no">(stdlib·v7.0)</small>
  
126 ··</h1>126 ··</h1>
  
  
127 ····<section·id="moduledoc">127 ····<section·id="moduledoc">
128 <p>Customizing·the·Erlang·environment.</p><p>The·functions·in·this·module·are·called·when·no·module·name·is·specified·in·a128 <p>Customizing·the·Erlang·environment.</p><p>The·functions·in·this·module·are·called·when·no·module·name·is·specified·in·a
129 shell·command.</p><p>Consider·the·following·shell·dialog:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="5810409705-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="5810409705-1">)</span><span·class="p">.</span><span·class="w">129 shell·command.</p><p>Consider·the·following·shell·dialog:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">reverse</span><span·class="p"·data-group-id="0113834136-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="0113834136-1">)</span><span·class="p">.</span><span·class="w">
130 </span><span·class="s">&quot;cba&quot;</span><span·class="gp·unselectable">130 </span><span·class="s">&quot;cba&quot;</span><span·class="gp·unselectable">
131 2&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="5810409705-2">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="5810409705-2">)</span><span·class="p">.</span><span·class="w">131 2&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="0113834136-2">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="0113834136-2">)</span><span·class="p">.</span><span·class="w">
132 </span><span·class="p"·data-group-id="5810409705-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p"·data-group-id="5810409705-3">}</span></code></pre><p>In·command·one,·module·<a·href="lists.html"><code·class="inline">lists</code></a>·is·called.·In·command·two,·no·module·name·is132 </span><span·class="p"·data-group-id="0113834136-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p"·data-group-id="0113834136-3">}</span></code></pre><p>In·command·one,·module·<a·href="lists.html"><code·class="inline">lists</code></a>·is·called.·In·command·two,·no·module·name·is
133 specified.·The·shell·searches·module·<code·class="inline">user_default</code>·followed·by·module133 specified.·The·shell·searches·module·<code·class="inline">user_default</code>·followed·by·module
134 <code·class="inline">shell_default</code>·for·function·<code·class="inline">c/1</code>.</p><p><code·class="inline">shell_default</code>·is·intended·for·&quot;system·wide&quot;·customizations·to·the·shell.134 <code·class="inline">shell_default</code>·for·function·<code·class="inline">c/1</code>.</p><p><code·class="inline">shell_default</code>·is·intended·for·&quot;system·wide&quot;·customizations·to·the·shell.
135 <code·class="inline">user_default</code>·is·intended·for·&quot;local&quot;·or·individual·user·customizations.</p><h2·id="module-hint"·class="section-heading">135 <code·class="inline">user_default</code>·is·intended·for·&quot;local&quot;·or·individual·user·customizations.</p><h2·id="module-hint"·class="section-heading">
136 ··<a·href="#module-hint"·class="hover-link">136 ··<a·href="#module-hint"·class="hover-link">
137 ····<i·class="ri-link-m"·aria-hidden="true"></i>137 ····<i·class="ri-link-m"·aria-hidden="true"></i>
138 ··</a>138 ··</a>
139 ··<span·class="text">Hint</span>139 ··<span·class="text">Hint</span>
Offset 231, 15 lines modifiedOffset 231, 15 lines modified
231 ······<p·class="built-using">231 ······<p·class="built-using">
232 ········Built·using232 ········Built·using
233 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the233 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
234 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>234 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
235 ······</p>235 ······</p>
236 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>236 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
237 ····</footer>237 ····</footer>
238 ··</div>238 ··</div>
239 </main>239 </main>
240 </div>240 </div>
241 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>241 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
242 ··<script>242 ··<script>
243 ··let·initialized·=·false;243 ··let·initialized·=·false;
555 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/shell_docs.html
    
Offset 1244, 15 lines modifiedOffset 1244, 15 lines modified
1244 ······<p·class="built-using">1244 ······<p·class="built-using">
1245 ········Built·using1245 ········Built·using
1246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1248 ······</p>1248 ······</p>
1249 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1249 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1250 ····</footer>1250 ····</footer>
1251 ··</div>1251 ··</div>
1252 </main>1252 </main>
1253 </div>1253 </div>
1254 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1254 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1255 ··<script>1255 ··<script>
1256 ··let·initialized·=·false;1256 ··let·initialized·=·false;
673 B
html2text {}
Max HTML report size reached
9.29 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/slave.html
    
Offset 367, 15 lines modifiedOffset 367, 15 lines modified
367 ······</div>367 ······</div>
  
368 <p>Starts·a·number·of·pseudo·servers.·A·pseudo·server·is·a·server·with·a·registered368 <p>Starts·a·number·of·pseudo·servers.·A·pseudo·server·is·a·server·with·a·registered
369 name·that·does·nothing·but·pass·on·all·message·to·the·real·server·that·executes369 name·that·does·nothing·but·pass·on·all·message·to·the·real·server·that·executes
370 at·a·master·node.·A·pseudo·server·is·an·intermediary·that·only·has·the·same370 at·a·master·node.·A·pseudo·server·is·an·intermediary·that·only·has·the·same
371 registered·name·as·the·real·server.</p><p>For·example,·if·you·have·started·a·slave·node·<code·class="inline">N</code>·and·want·to·execute·<code·class="inline">pxw</code>371 registered·name·as·the·real·server.</p><p>For·example,·if·you·have·started·a·slave·node·<code·class="inline">N</code>·and·want·to·execute·<code·class="inline">pxw</code>
372 graphics·code·on·this·node,·you·can·start·server·<code·class="inline">pxw_server</code>·as·a·pseudo·server372 graphics·code·on·this·node,·you·can·start·server·<code·class="inline">pxw_server</code>·as·a·pseudo·server
373 at·the·slave·node.·This·is·illustrated·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">rpc</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="9496385894-1">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">slave</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">pseudo</span><span·class="p">,</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·461,·SHA:·7963276208b71d1141a60de8f1f55858ffdeb02b2e142abb943b75a4bab40c72·...·]4-1">)</span><span·class="p">.</span></code></pre>373 at·the·slave·node.·This·is·illustrated·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">rpc</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="5549171734-1">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">slave</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">pseudo</span><span·class="p">,</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·461,·SHA:·33ec0d7f83cf7526a5d62672b7acb98f9b61deadecdd785d12f78bbe4f1b289c·...·]4-1">)</span><span·class="p">.</span></code></pre>
374 ··</section>374 ··</section>
375 </section>375 </section>
376 <section·class="detail"·id="relay/1">376 <section·class="detail"·id="relay/1">
  
377 ··<div·class="detail-header">377 ··<div·class="detail-header">
378 ····<a·href="#relay/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">378 ····<a·href="#relay/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
379 ······<i·class="ri-link-m"·aria-hidden="true"></i>379 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 513, 17 lines modifiedOffset 513, 17 lines modified
513 as·fully·qualified·names;·short·names·can·also·be·used.·This·is·the·same513 as·fully·qualified·names;·short·names·can·also·be·used.·This·is·the·same
514 condition·that·applies·to·names·of·distributed·Erlang·nodes.</p><p>The·name·of·the·started·node·becomes·<code·class="inline">Name@Host</code>.</p><p>The·slave·node·resets·its·<a·href="io.html#t:user/0"><code·class="inline">io:user/0</code></a>·process·so·that·all·terminal·I/O·that·is514 condition·that·applies·to·names·of·distributed·Erlang·nodes.</p><p>The·name·of·the·started·node·becomes·<code·class="inline">Name@Host</code>.</p><p>The·slave·node·resets·its·<a·href="io.html#t:user/0"><code·class="inline">io:user/0</code></a>·process·so·that·all·terminal·I/O·that·is
515 produced·at·the·slave·is·automatically·relayed·to·the·master.·Also,·the·file515 produced·at·the·slave·is·automatically·relayed·to·the·master.·Also,·the·file
516 server·is·relayed·to·the·master.</p><p>Argument·<code·class="inline">Args</code>·is·used·to·set·<code·class="inline">erl</code>·command-line·arguments.·It·is516 server·is·relayed·to·the·master.</p><p>Argument·<code·class="inline">Args</code>·is·used·to·set·<code·class="inline">erl</code>·command-line·arguments.·It·is
517 passed·to·the·new·node·and·can·be·used·for·a·variety·of·purposes;·see517 passed·to·the·new·node·and·can·be·used·for·a·variety·of·purposes;·see
518 <a·href="../../../../erts-16.0/doc/html/erl_cmd.html"><code·class="inline">erl(1)</code></a>.</p><p>As·an·example,·suppose·that·you·want·to·start·a·slave·node·at·host·<code·class="inline">H</code>·with·node518 <a·href="../../../../erts-16.0/doc/html/erl_cmd.html"><code·class="inline">erl(1)</code></a>.</p><p>As·an·example,·suppose·that·you·want·to·start·a·slave·node·at·host·<code·class="inline">H</code>·with·node
519 name·<code·class="inline">Name@H</code>·and·want·the·slave·node·to·have·the·following·properties:</p><ul><li>Directory·<code·class="inline">Dir</code>·is·to·be·added·to·the·code·path.</li><li>The·Mnesia·directory·is·to·be·set·to·<code·class="inline">M</code>.</li><li>The·Unix·<code·class="inline">DISPLAY</code>·environment·variable·is·to·be·set·to·the·display·of·the519 name·<code·class="inline">Name@H</code>·and·want·the·slave·node·to·have·the·following·properties:</p><ul><li>Directory·<code·class="inline">Dir</code>·is·to·be·added·to·the·code·path.</li><li>The·Mnesia·directory·is·to·be·set·to·<code·class="inline">M</code>.</li><li>The·Unix·<code·class="inline">DISPLAY</code>·environment·variable·is·to·be·set·to·the·display·of·the
520 master·node.</li></ul><p>The·following·code·is·executed·to·achieve·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;·-env·DISPLAY·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="nc">net_adm</span><span·class="p">:</span><span·class="nf">localhost</span><span·class="p"·data-group-id="4610586561-1">(</span><span·class="p"·data-group-id="4610586561-1">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;:0·&quot;</span><span·class="p">,</span><span·class="w">520 master·node.</li></ul><p>The·following·code·is·executed·to·achieve·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;·-env·DISPLAY·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="nc">net_adm</span><span·class="p">:</span><span·class="nf">localhost</span><span·class="p"·data-group-id="1243842557-1">(</span><span·class="p"·data-group-id="1243842557-1">)</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;:0·&quot;</span><span·class="p">,</span><span·class="w">
521 </span><span·class="n">Arg</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;-mnesia_dir·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">M</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;·-pa·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">E</span><span·class="p">,</span><span·class="w">521 </span><span·class="n">Arg</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;-mnesia_dir·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">M</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="s">&quot;·-pa·&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Dir</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">E</span><span·class="p">,</span><span·class="w">
522 </span><span·class="nc">slave</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="4610586561-2">(</span><span·class="n">H</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Arg</span><span·class="p"·data-group-id="4610586561-2">)</span><span·class="p">.</span></code></pre><p>The·function·returns·<code·class="inline">{ok,·Node}</code>,·where·<code·class="inline">Node</code>·is·the·name·of·the·new·node,522 </span><span·class="nc">slave</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="1243842557-2">(</span><span·class="n">H</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Arg</span><span·class="p"·data-group-id="1243842557-2">)</span><span·class="p">.</span></code></pre><p>The·function·returns·<code·class="inline">{ok,·Node}</code>,·where·<code·class="inline">Node</code>·is·the·name·of·the·new·node,
523 otherwise·<code·class="inline">{error,·Reason}</code>,·where·<code·class="inline">Reason</code>·can·be·one·of:</p><ul><li><p><strong><code·class="inline">timeout</code></strong>·-·The·master·node·failed·to·get·in·contact·with·the·slave·node.523 otherwise·<code·class="inline">{error,·Reason}</code>,·where·<code·class="inline">Reason</code>·can·be·one·of:</p><ul><li><p><strong><code·class="inline">timeout</code></strong>·-·The·master·node·failed·to·get·in·contact·with·the·slave·node.
524 This·can·occur·in·a·number·of·circumstances:</p><ul><li>Erlang/OTP·is·not·installed·on·the·remote·host.</li><li>The·file·system·on·the·other·host·has·a·different·structure·to·the·the524 This·can·occur·in·a·number·of·circumstances:</p><ul><li>Erlang/OTP·is·not·installed·on·the·remote·host.</li><li>The·file·system·on·the·other·host·has·a·different·structure·to·the·the
525 master.</li><li>The·Erlang·nodes·have·different·cookies.</li></ul></li><li><p><strong><code·class="inline">no_rsh</code></strong>·-·No·remote·shell·program·was·found·on·the·computer.·Note·that525 master.</li><li>The·Erlang·nodes·have·different·cookies.</li></ul></li><li><p><strong><code·class="inline">no_rsh</code></strong>·-·No·remote·shell·program·was·found·on·the·computer.·Note·that
526 <code·class="inline">ssh</code>·is·used·by·default,·but·this·can·be·overridden·with·the·<code·class="inline">-rsh</code>·flag.</p></li><li><p><strong><code·class="inline">{already_running,·Node}</code></strong>·-·A·node·with·name·<code·class="inline">Name@Host</code>·already·exists.</p></li></ul>526 <code·class="inline">ssh</code>·is·used·by·default,·but·this·can·be·overridden·with·the·<code·class="inline">-rsh</code>·flag.</p></li><li><p><strong><code·class="inline">{already_running,·Node}</code></strong>·-·A·node·with·name·<code·class="inline">Name@Host</code>·already·exists.</p></li></ul>
527 ··</section>527 ··</section>
528 </section>528 </section>
529 <section·class="detail"·id="start_link/1">529 <section·class="detail"·id="start_link/1">
Offset 686, 15 lines modifiedOffset 686, 15 lines modified
686 ······<p·class="built-using">686 ······<p·class="built-using">
687 ········Built·using687 ········Built·using
688 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the688 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
689 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>689 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
690 ······</p>690 ······</p>
691 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>691 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
692 ····</footer>692 ····</footer>
693 ··</div>693 ··</div>
694 </main>694 </main>
695 </div>695 </div>
696 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>696 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
697 ··<script>697 ··<script>
698 ··let·initialized·=·false;698 ··let·initialized·=·false;
603 B
html2text {}
Max HTML report size reached
643 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/sofs.html
Max HTML report size reached
5.65 MB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/stdlib.epub
13.9 KB
zipinfo {}
Max HTML report size reached
555 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
73.8 KB
OEBPS/zstd.xhtml
Max HTML report size reached
35.8 KB
OEBPS/zip.xhtml
Max HTML report size reached
39.0 KB
OEBPS/uri_string_usage.xhtml
Max HTML report size reached
89.5 KB
OEBPS/uri_string.xhtml
Max HTML report size reached
159 KB
OEBPS/unicode_usage.xhtml
Max HTML report size reached
36.6 KB
OEBPS/unicode.xhtml
Max HTML report size reached
19.3 KB
OEBPS/timer.xhtml
Max HTML report size reached
40.5 KB
OEBPS/terminal_interface.xhtml
Max HTML report size reached
13.7 KB
OEBPS/supervisor.xhtml
Max HTML report size reached
147 KB
OEBPS/string.xhtml
Max HTML report size reached
8.32 KB
OEBPS/stdlib_app.xhtml
Max HTML report size reached
642 KB
OEBPS/sofs.xhtml
Max HTML report size reached
7.93 KB
OEBPS/slave.xhtml
Max HTML report size reached
2.9 KB
OEBPS/shell_default.xhtml
Max HTML report size reached
73.0 KB
OEBPS/shell.xhtml
Max HTML report size reached
126 KB
OEBPS/sets.xhtml
Max HTML report size reached
108 KB
OEBPS/re.xhtml
Max HTML report size reached
4.17 KB
OEBPS/random.xhtml
Max HTML report size reached
28.1 KB
OEBPS/rand.xhtml
Max HTML report size reached
159 KB
OEBPS/queue.xhtml
Max HTML report size reached
216 KB
OEBPS/qlc.xhtml
Max HTML report size reached
30.4 KB
OEBPS/proplists.xhtml
Max HTML report size reached
18.9 KB
OEBPS/proc_lib.xhtml
Max HTML report size reached
90.2 KB
OEBPS/peer.xhtml
Max HTML report size reached
97.7 KB
OEBPS/ordsets.xhtml
Max HTML report size reached
123 KB
OEBPS/orddict.xhtml
Max HTML report size reached
115 KB
OEBPS/notes.xhtml
Max HTML report size reached
140 KB
OEBPS/ms_transform.xhtml
Max HTML report size reached
41.4 KB
OEBPS/math.xhtml
Max HTML report size reached
202 KB
OEBPS/maps.xhtml
Max HTML report size reached
398 KB
OEBPS/lists.xhtml
Max HTML report size reached
47.8 KB
OEBPS/json.xhtml
Max HTML report size reached
196 KB
OEBPS/io_protocol.xhtml
Max HTML report size reached
13.2 KB
OEBPS/io_lib.xhtml
Max HTML report size reached
407 KB
OEBPS/io.xhtml
Max HTML report size reached
59.2 KB
OEBPS/gen_statem.xhtml
Max HTML report size reached
6.54 KB
OEBPS/gen_server.xhtml
Max HTML report size reached
182 KB
OEBPS/gen_fsm.xhtml
Max HTML report size reached
6.65 KB
OEBPS/gen_event.xhtml
Max HTML report size reached
170 KB
OEBPS/gb_sets.xhtml
Max HTML report size reached
83.3 KB
OEBPS/filename.xhtml
Max HTML report size reached
5.99 KB
OEBPS/filelib.xhtml
Max HTML report size reached
18.7 KB
OEBPS/file_sorter.xhtml
Max HTML report size reached
138 KB
OEBPS/ets.xhtml
Max HTML report size reached
74.0 KB
OEBPS/escript.xhtml
Max HTML report size reached
13.2 KB
OEBPS/erl_tar.xhtml
Max HTML report size reached
2.35 KB
OEBPS/erl_scan.xhtml
Max HTML report size reached
2.49 KB
OEBPS/erl_parse.xhtml
Max HTML report size reached
2.34 KB
OEBPS/erl_lint.xhtml
Max HTML report size reached
8.35 KB
OEBPS/erl_eval.xhtml
Max HTML report size reached
25.7 KB
OEBPS/erl_error.xhtml
Max HTML report size reached
2.74 KB
OEBPS/epp.xhtml
Max HTML report size reached
19.4 KB
OEBPS/dict.xhtml
Max HTML report size reached
25.3 KB
OEBPS/dets.xhtml
Max HTML report size reached
63.4 KB
OEBPS/custom_shell.xhtml
Max HTML report size reached
1.22 KB
OEBPS/content.opf
1.18 KB
OEBPS/content.opf
Max HTML report size reached
17.7 KB
OEBPS/calendar.xhtml
Max HTML report size reached
2.09 KB
OEBPS/c.xhtml
Max HTML report size reached
142 KB
OEBPS/binary.xhtml
Max HTML report size reached
25.3 KB
OEBPS/beam_lib.xhtml
Max HTML report size reached
10.3 KB
OEBPS/base64.xhtml
Max HTML report size reached
7.17 KB
OEBPS/assert_hrl.xhtml
Max HTML report size reached
24.9 KB
OEBPS/array.xhtml
Max HTML report size reached
125 KB
OEBPS/argparse.xhtml
Max HTML report size reached
9.77 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/stdlib_app.html
    
Offset 158, 21 lines modifiedOffset 158, 21 lines modified
158 string·and·returns·a·formatted·expressions·as·a·string.·See158 string·and·returns·a·formatted·expressions·as·a·string.·See
159 <a·href="shell.html#format_shell_func/1"><code·class="inline">shell:format_shell_func/1</code></a>·for·how·to·set·it·from·inside·the·shell.</p><p>If·instead·a·string·is·provided,·it·will·be·used·as·a·shell·command.·Your159 <a·href="shell.html#format_shell_func/1"><code·class="inline">shell:format_shell_func/1</code></a>·for·how·to·set·it·from·inside·the·shell.</p><p>If·instead·a·string·is·provided,·it·will·be·used·as·a·shell·command.·Your
160 command·must·include·<code·class="inline">${file}</code>·somewhere·in·the·string,·for·the·shell·to·know160 command·must·include·<code·class="inline">${file}</code>·somewhere·in·the·string,·for·the·shell·to·know
161 where·the·file·goes·in·the·command.</p><pre><code·class="text">-stdlib·format_shell_func·&quot;\&quot;emacs·-batch·\${file}·-l·~/erlang-format/emacs-format-file·-f·emacs-format-function\&quot;&quot;</code></pre><pre><code·class="text">-stdlib·format_shell_func·&quot;{shell,·erl_pp_format_func}&quot;</code></pre></li><li><p><strong><code·class="inline"·id="shell_prompt_func">shell_prompt_func·=·{Mod,·Func}·|·default</code></strong>·-·where</p><ul><li><code·class="inline">Mod·=·atom()</code></li><li><code·class="inline">Func·=·atom()</code></li></ul><p>Can·be·used·to·set·a·customized·Erlang·shell·prompt·function.</p></li><li><p><strong><code·class="inline"·id="shell_multiline_prompt">shell_multiline_prompt·=·{Mod,·Func}·|·string()·|·default</code></strong>·-·where</p><ul><li><code·class="inline">Mod·=·atom()</code></li><li><code·class="inline">Func·=·atom()</code></li></ul><p>Can·be·used·to·set·a·customized·multiline·shell·prompt·function.·The·multiline161 where·the·file·goes·in·the·command.</p><pre><code·class="text">-stdlib·format_shell_func·&quot;\&quot;emacs·-batch·\${file}·-l·~/erlang-format/emacs-format-file·-f·emacs-format-function\&quot;&quot;</code></pre><pre><code·class="text">-stdlib·format_shell_func·&quot;{shell,·erl_pp_format_func}&quot;</code></pre></li><li><p><strong><code·class="inline"·id="shell_prompt_func">shell_prompt_func·=·{Mod,·Func}·|·default</code></strong>·-·where</p><ul><li><code·class="inline">Mod·=·atom()</code></li><li><code·class="inline">Func·=·atom()</code></li></ul><p>Can·be·used·to·set·a·customized·Erlang·shell·prompt·function.</p></li><li><p><strong><code·class="inline"·id="shell_multiline_prompt">shell_multiline_prompt·=·{Mod,·Func}·|·string()·|·default</code></strong>·-·where</p><ul><li><code·class="inline">Mod·=·atom()</code></li><li><code·class="inline">Func·=·atom()</code></li></ul><p>Can·be·used·to·set·a·customized·multiline·shell·prompt·function.·The·multiline
162 prompt·function·takes·the·main·prompt·as·its·only·parameter.</p></li><li><p><strong><code·class="inline"·id="shell_saved_results">shell_saved_results·=·integer()·&gt;=·0</code></strong>·-·Can·be162 prompt·function·takes·the·main·prompt·as·its·only·parameter.</p></li><li><p><strong><code·class="inline"·id="shell_saved_results">shell_saved_results·=·integer()·&gt;=·0</code></strong>·-·Can·be
163 used·to·determine·how·many·results·are·saved·by·the·Erlang·shell.</p></li><li><p><strong><code·class="inline"·id="shell_session_slogan">shell_session_slogan·=·string()·|·fun()·-&gt;·string())</code></strong>·-·The·slogan·printed·when·starting·an·Erlang·shell.163 used·to·determine·how·many·results·are·saved·by·the·Erlang·shell.</p></li><li><p><strong><code·class="inline"·id="shell_session_slogan">shell_session_slogan·=·string()·|·fun()·-&gt;·string())</code></strong>·-·The·slogan·printed·when·starting·an·Erlang·shell.
164 Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">stdlib</span><span·class="w">·</span><span·class="ss">shell_session_slogan</span><span·class="w">·</span><span·class="ss">&#39;&quot;Test·slogan&quot;&#39;</span><span·class="w">164 Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">stdlib</span><span·class="w">·</span><span·class="ss">shell_session_slogan</span><span·class="w">·</span><span·class="ss">&#39;&quot;Test·slogan&quot;&#39;</span><span·class="w">
165 </span><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">26</span><span·class="w">·</span><span·class="p"·data-group-id="2411618737-1">[</span><span·class="n">DEVELOPMENT</span><span·class="p"·data-group-id="2411618737-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="2411618737-2">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">1[·...·truncated·by·diffoscope;·len:·1495,·SHA:·ce4ffd6dc001861745a2e9fa53ae2c1506cc00553d39207c9cc4b91f7fc657e6·...·]7-8">]</span><span·class="w">165 </span><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">26</span><span·class="w">·</span><span·class="p"·data-group-id="4922079217-1">[</span><span·class="n">DEVELOPMENT</span><span·class="p"·data-group-id="4922079217-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="4922079217-2">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">1[·...·truncated·by·diffoscope;·len:·1495,·SHA:·ad84a3ebabd4114bb52f91c5013229e0c55c492ba5bd8d59a39cbb95625a11e8·...·]7-8">]</span><span·class="w">
  
166 </span><span·class="n">Test</span><span·class="w">·</span><span·class="ss">slogan</span><span·class="w">166 </span><span·class="n">Test</span><span·class="w">·</span><span·class="ss">slogan</span><span·class="w">
167 </span><span·class="mi">1</span><span·class="o">&gt;</span></code></pre></li><li><p><strong><code·class="inline"·id="shell_slogan">shell_slogan·=·string()·|·fun(()·-&gt;·string())</code></strong>·-·The167 </span><span·class="mi">1</span><span·class="o">&gt;</span></code></pre></li><li><p><strong><code·class="inline"·id="shell_slogan">shell_slogan·=·string()·|·fun(()·-&gt;·string())</code></strong>·-·The
168 slogan·printed·when·starting·the·Erlang·shell·subsystem.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">stdlib</span><span·class="w">·</span><span·class="ss">shell_slogan</span><span·class="w">·</span><span·class="ss">&#39;&quot;Test·slogan&quot;&#39;</span><span·class="w">168 slogan·printed·when·starting·the·Erlang·shell·subsystem.·Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">-</span><span·class="ss">stdlib</span><span·class="w">·</span><span·class="ss">shell_slogan</span><span·class="w">·</span><span·class="ss">&#39;&quot;Test·slogan&quot;&#39;</span><span·class="w">
169 </span><span·class="n">Test</span><span·class="w">·</span><span·class="ss">slogan</span><span·class="w">169 </span><span·class="n">Test</span><span·class="w">·</span><span·class="ss">slogan</span><span·class="w">
170 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V13</span><span·class="p">.</span><span·class="mf">0.2</span><span·class="w">··</span><span·class="p"·data-group-id="6265186369-1">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="6265186369-1">)</span><span·class="w">170 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V13</span><span·class="p">.</span><span·class="mf">0.2</span><span·class="w">··</span><span·class="p"·data-group-id="2430557792-1">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="2430557792-1">)</span><span·class="w">
171 </span><span·class="mi">1</span><span·class="o">&gt;</span></code></pre><p>The·default·is·the·return·value·of171 </span><span·class="mi">1</span><span·class="o">&gt;</span></code></pre><p>The·default·is·the·return·value·of
172 <a·href="../../../../erts-16.0/doc/html/erlang.html#system_info_system_version"><code·class="inline">erlang:system_info(system_version)</code></a>.</p></li><li><p><strong><code·class="inline"·id="shell_strings">shell_strings·=·boolean()</code></strong>·-·Can·be·used·to·determine172 <a·href="../../../../erts-16.0/doc/html/erlang.html#system_info_system_version"><code·class="inline">erlang:system_info(system_version)</code></a>.</p></li><li><p><strong><code·class="inline"·id="shell_strings">shell_strings·=·boolean()</code></strong>·-·Can·be·used·to·determine
173 how·the·Erlang·shell·outputs·lists·of·integers.</p></li></ul><h2·id="see-also"·class="section-heading">173 how·the·Erlang·shell·outputs·lists·of·integers.</p></li></ul><h2·id="see-also"·class="section-heading">
174 ··<a·href="#see-also"·class="hover-link">174 ··<a·href="#see-also"·class="hover-link">
175 ····<i·class="ri-link-m"·aria-hidden="true"></i>175 ····<i·class="ri-link-m"·aria-hidden="true"></i>
176 ··</a>176 ··</a>
177 ··<span·class="text">See·Also</span>177 ··<span·class="text">See·Also</span>
Offset 224, 15 lines modifiedOffset 224, 15 lines modified
224 ······<p·class="built-using">224 ······<p·class="built-using">
225 ········Built·using225 ········Built·using
226 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the226 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
227 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>227 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
228 ······</p>228 ······</p>
229 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>229 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
230 ····</footer>230 ····</footer>
231 ··</div>231 ··</div>
232 </main>232 </main>
233 </div>233 </div>
234 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>234 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
235 ··<script>235 ··<script>
236 ··let·initialized·=·false;236 ··let·initialized·=·false;
682 B
html2text {}
Max HTML report size reached
148 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/string.html
    
Offset 145, 22 lines modifiedOffset 145, 22 lines modified
145 <a·href="#replace/3"><code·class="inline">replace/3</code></a>,·<a·href="#split/2"><code·class="inline">split/2</code></a>,·<a·href="#split/3"><code·class="inline">split/3</code></a>·and·<a·href="#trim/3"><code·class="inline">trim/3</code></a>.</p><p>Splitting·and·appending·strings·is·to·be·done·on·grapheme·clusters·borders.145 <a·href="#replace/3"><code·class="inline">replace/3</code></a>,·<a·href="#split/2"><code·class="inline">split/2</code></a>,·<a·href="#split/3"><code·class="inline">split/3</code></a>·and·<a·href="#trim/3"><code·class="inline">trim/3</code></a>.</p><p>Splitting·and·appending·strings·is·to·be·done·on·grapheme·clusters·borders.
146 There·is·no·verification·that·the·results·of·appending·strings·are·valid·or146 There·is·no·verification·that·the·results·of·appending·strings·are·valid·or
147 normalized.</p><p>Most·of·the·functions·expect·all·input·to·be·normalized·to·one·form,·see·for147 normalized.</p><p>Most·of·the·functions·expect·all·input·to·be·normalized·to·one·form,·see·for
148 example·<a·href="unicode.html#characters_to_nfc_list/1"><code·class="inline">unicode:characters_to_nfc_list/1</code></a>.</p><p>Language·or·locale·specific·handling·of·input·is·not·considered·in·any·function.</p><p>The·functions·can·crash·for·non-valid·input·strings.·For·example,·the·functions148 example·<a·href="unicode.html#characters_to_nfc_list/1"><code·class="inline">unicode:characters_to_nfc_list/1</code></a>.</p><p>Language·or·locale·specific·handling·of·input·is·not·considered·in·any·function.</p><p>The·functions·can·crash·for·non-valid·input·strings.·For·example,·the·functions
149 expect·UTF-8·binaries·but·not·all·functions·verify·that·all·binaries·are·encoded149 expect·UTF-8·binaries·but·not·all·functions·verify·that·all·binaries·are·encoded
150 correctly.</p><p>Unless·otherwise·specified·the·return·value·type·is·the·same·as·the·input·type.150 correctly.</p><p>Unless·otherwise·specified·the·return·value·type·is·the·same·as·the·input·type.
151 That·is,·binary·input·returns·binary·output,·list·input·returns·a·list·output,151 That·is,·binary·input·returns·binary·output,·list·input·returns·a·list·output,
152 and·mixed·input·can·return·a·mixed·output.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">trim</span><span·class="p"·data-group-id="2566105543-1">(</span><span·class="s">&quot;··sarah··&quot;</span><span·class="p"·data-group-id="2566105543-1">)</span><span·class="p">.</span><span·class="w">152 and·mixed·input·can·return·a·mixed·output.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">trim</span><span·class="p"·data-group-id="8493395589-1">(</span><span·class="s">&quot;··sarah··&quot;</span><span·class="p"·data-group-id="8493395589-1">)</span><span·class="p">.</span><span·class="w">
153 </span><span·class="s">&quot;sarah&quot;</span><span·class="gp·unselectable">153 </span><span·class="s">&quot;sarah&quot;</span><span·class="gp·unselectable">
154 2&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">trim</span><span·class="p"·data-group-id="2566105543-2">(</span><span·class="p"·data-group-id="2566105543-3">&lt;&lt;</span><span·class="s">&quot;··sarah··&quot;</span><span·class="p"·data-group-id="2566105543-3">&gt;&gt;</span><span·class="p"·data-group-id="2566105543-2">)</span><span·class="p">.</span><span·class="w">154 2&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">trim</span><span·class="p"·data-group-id="8493395589-2">(</span><span·class="p"·data-group-id="8493395589-3">&lt;&lt;</span><span·class="s">&quot;··sarah··&quot;</span><span·class="p"·data-group-id="8493395589-3">&gt;&gt;</span><span·class="p"·data-group-id="8493395589-2">)</span><span·class="p">.</span><span·class="w">
155 </span><span·class="p"·data-group-id="2566105543-4">&lt;&lt;</span><span·class="s">&quot;sarah&quot;</span><span·class="p"·data-group-id="2566105543-4">&gt;&gt;</span><span·class="gp·unselectable">155 </span><span·class="p"·data-group-id="8493395589-4">&lt;&lt;</span><span·class="s">&quot;sarah&quot;</span><span·class="p"·data-group-id="8493395589-4">&gt;&gt;</span><span·class="gp·unselectable">
156 3&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">lexemes</span><span·class="p"·data-group-id="2566105543-5">(</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;·&quot;</span><span·class="p"·data-group-id="2566105543-5">)</span><span·class="p">.</span><span·class="w">156 3&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">lexemes</span><span·class="p"·data-group-id="8493395589-5">(</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;·&quot;</span><span·class="p"·data-group-id="8493395589-5">)</span><span·class="p">.</span><span·class="w">
157 </span><span·class="p"·data-group-id="2566105543-6">[</span><span·class="s">&quot;foo&quot;</span><span·class="p">,</span><span·class="s">&quot;bar&quot;</span><span·class="p"·data-group-id="2566105543-6">]</span><span·class="gp·unselectable">157 </span><span·class="p"·data-group-id="8493395589-6">[</span><span·class="s">&quot;foo&quot;</span><span·class="p">,</span><span·class="s">&quot;bar&quot;</span><span·class="p"·data-group-id="8493395589-6">]</span><span·class="gp·unselectable">
158 4&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">lexemes</span><span·class="p"·data-group-id="2566105543-7">(</span><span·class="p"·data-group-id="2566105543-8">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group-id="2566105543-8">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;·&[·...·truncated·by·diffoscope;·len:·53,·SHA:·64b3963b99d1e66938ddd346bb6be899115a0686c4210814e9dcecdb2d79b671·...·]-7">)</span><span·class="p">.</span><span·class="w">158 4&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">lexemes</span><span·class="p"·data-group-id="8493395589-7">(</span><span·class="p"·data-group-id="8493395589-8">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group-id="8493395589-8">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;·&[·...·truncated·by·diffoscope;·len:·53,·SHA:·fe3eacf7bc931473902cce923f69f08fcf7e84e66c60a6ce1360fa9eae12d524·...·]-7">)</span><span·class="p">.</span><span·class="w">
159 </span><span·class="p"·data-group-id="2566105543-9">[</span><span·class="p"·data-group-id="2566105543-10">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="2566105543-10">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="2566105543-11">&lt;[·...·truncated·by·diffoscope;·len:·151,·SHA:·809cea9ee2e5efdd37a2bcd1f68ef363ab1b63b33825ef1e219b7817fb645191·...·]-9">]</span></code></pre><p>This·module·has·been·reworked·in·Erlang/OTP·20·to·handle·<a·href="unicode.html#t:chardata/0"><code·class="inline">unicode:chardata/0</code></a>159 </span><span·class="p"·data-group-id="8493395589-9">[</span><span·class="p"·data-group-id="8493395589-10">&lt;&lt;</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="8493395589-10">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="8493395589-11">&lt;[·...·truncated·by·diffoscope;·len:·151,·SHA:·20f3703a5be0c4078a1d5b8086b7d1f97698421f32f0887f92d1bf17577b957d·...·]-9">]</span></code></pre><p>This·module·has·been·reworked·in·Erlang/OTP·20·to·handle·<a·href="unicode.html#t:chardata/0"><code·class="inline">unicode:chardata/0</code></a>
160 and·operate·on·grapheme·clusters.·The160 and·operate·on·grapheme·clusters.·The
161 <a·href="string.html#obsolete-api-functions"><code·class="inline">old·functions</code></a>·that·only·work·on·Latin-1161 <a·href="string.html#obsolete-api-functions"><code·class="inline">old·functions</code></a>·that·only·work·on·Latin-1
162 lists·as·input·are·still·available·but·should·not·be·used,·they·will·be162 lists·as·input·are·still·available·but·should·not·be·used,·they·will·be
163 deprecated·in·a·future·release.</p><h2·id="module-notes"·class="section-heading">163 deprecated·in·a·future·release.</p><h2·id="module-notes"·class="section-heading">
164 ··<a·href="#module-notes"·class="hover-link">164 ··<a·href="#module-notes"·class="hover-link">
165 ····<i·class="ri-link-m"·aria-hidden="true"></i>165 ····<i·class="ri-link-m"·aria-hidden="true"></i>
166 ··</a>166 ··</a>
Offset 1062, 15 lines modifiedOffset 1062, 15 lines modified
  
1062 ··········<pre·translate="no"><span·class="attribute">-spec</span>·casefold(String·::·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>())·->·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>().</pre>1062 ··········<pre·translate="no"><span·class="attribute">-spec</span>·casefold(String·::·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>())·->·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>().</pre>
  
1063 ······</div>1063 ······</div>
  
1064 <p>Converts·<code·class="inline">String</code>·to·a·case-agnostic·comparable·string.·Function1064 <p>Converts·<code·class="inline">String</code>·to·a·case-agnostic·comparable·string.·Function
1065 <a·href="#casefold/1"><code·class="inline">casefold/1</code></a>·is·preferred·over·<a·href="#lowercase/1"><code·class="inline">lowercase/1</code></a>1065 <a·href="#casefold/1"><code·class="inline">casefold/1</code></a>·is·preferred·over·<a·href="#lowercase/1"><code·class="inline">lowercase/1</code></a>
1066 when·two·strings·are·to·be·compared·for·equality.·See·also·<a·href="#equal/4"><code·class="inline">equal/4</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">casefold</span><span·class="p"·data-group-id="0972848862-1">(</span><span·class="s">&quot;Ω·and··SHARP·S&quot;</span><span·class="p"·data-group-id="0972848862-1">)</span><span·class="p">.</span><span·class="w">1066 when·two·strings·are·to·be·compared·for·equality.·See·also·<a·href="#equal/4"><code·class="inline">equal/4</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">casefold</span><span·class="p"·data-group-id="0824009168-1">(</span><span·class="s">&quot;Ω·and··SHARP·S&quot;</span><span·class="p"·data-group-id="0824009168-1">)</span><span·class="p">.</span><span·class="w">
1067 </span><span·class="s">&quot;ω·and·ss·sharp·s&quot;</span></code></pre>1067 </span><span·class="s">&quot;ω·and·ss·sharp·s&quot;</span></code></pre>
1068 ··</section>1068 ··</section>
1069 </section>1069 </section>
1070 <section·class="detail"·id="chomp/1">1070 <section·class="detail"·id="chomp/1">
  
1071 ··<div·class="detail-header">1071 ··<div·class="detail-header">
1072 ····<a·href="#chomp/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1072 ····<a·href="#chomp/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1092, 17 lines modifiedOffset 1092, 17 lines modified
1092 ······<div·class="specs">1092 ······<div·class="specs">
  
1093 ··········<pre·translate="no"><span·class="attribute">-spec</span>·chomp(String·::·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>())·->·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>().</pre>1093 ··········<pre·translate="no"><span·class="attribute">-spec</span>·chomp(String·::·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>())·->·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>().</pre>
  
1094 ······</div>1094 ······</div>
  
1095 <p>Returns·a·string·where·any·trailing·<code·class="inline">\n</code>·or·<code·class="inline">\r\n</code>·have·been·removed·from1095 <p>Returns·a·string·where·any·trailing·<code·class="inline">\n</code>·or·<code·class="inline">\r\n</code>·have·been·removed·from
1096 <code·class="inline">String</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">182&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">chomp</span><span·class="p"·data-group-id="0702017978-1">(</span><span·class="p"·data-group-id="0702017978-2">&lt;&lt;</span><span·class="s">&quot;\nHello\n\n&quot;</span><span·class="p"·data-group-id="0702017978-2">&gt;&gt;</span><span·class="p"·data-group-id="0702017978-1">)</span><span·class="p">.</span><span·class="w">1096 <code·class="inline">String</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">182&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">chomp</span><span·class="p"·data-group-id="5254054167-1">(</span><span·class="p"·data-group-id="5254054167-2">&lt;&lt;</span><span·class="s">&quot;\nHello\n\n&quot;</span><span·class="p"·data-group-id="5254054167-2">&gt;&gt;</span><span·class="p"·data-group-id="5254054167-1">)</span><span·class="p">.</span><span·class="w">
1097 </span><span·class="p"·data-group-id="0702017978-3">&lt;&lt;</span><span·class="s">&quot;\nHello&quot;</span><span·class="p"·data-group-id="0702017978-3">&gt;&gt;</span><span·class="gp·unselectable">1097 </span><span·class="p"·data-group-id="5254054167-3">&lt;&lt;</span><span·class="s">&quot;\nHello&quot;</span><span·class="p"·data-group-id="5254054167-3">&gt;&gt;</span><span·class="gp·unselectable">
1098 183&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">chomp</span><span·class="p"·data-group-id="0702017978-4">(</span><span·class="s">&quot;\nHello\r\r\n&quot;</span><span·class="p"·data-group-id="0702017978-4">)</span><span·class="p">.</span><span·class="w">1098 183&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">chomp</span><span·class="p"·data-group-id="5254054167-4">(</span><span·class="s">&quot;\nHello\r\r\n&quot;</span><span·class="p"·data-group-id="5254054167-4">)</span><span·class="p">.</span><span·class="w">
1099 </span><span·class="s">&quot;\nHello\r&quot;</span></code></pre>1099 </span><span·class="s">&quot;\nHello\r&quot;</span></code></pre>
1100 ··</section>1100 ··</section>
1101 </section>1101 </section>
1102 <section·class="detail"·id="equal/2">1102 <section·class="detail"·id="equal/2">
  
1103 ··<div·class="detail-header">1103 ··<div·class="detail-header">
1104 ····<a·href="#equal/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1104 ····<a·href="#equal/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1189, 19 lines modifiedOffset 1189, 19 lines modified
  
1189 <p>Returns·<code·class="inline">true</code>·if·<code·class="inline">A</code>·and·<code·class="inline">B</code>·are·equal,·otherwise·<code·class="inline">false</code>.</p><p>If·<code·class="inline">IgnoreCase</code>·is·<code·class="inline">true</code>·the·function·does·<a·href="#casefold/1"><code·class="inline">casefold</code>ing</a>·on·the1189 <p>Returns·<code·class="inline">true</code>·if·<code·class="inline">A</code>·and·<code·class="inline">B</code>·are·equal,·otherwise·<code·class="inline">false</code>.</p><p>If·<code·class="inline">IgnoreCase</code>·is·<code·class="inline">true</code>·the·function·does·<a·href="#casefold/1"><code·class="inline">casefold</code>ing</a>·on·the
1190 fly·before·the·equality·test.</p><p>If·<code·class="inline">Norm</code>·is·not·<code·class="inline">none</code>·the·function·applies·normalization·on·the·fly·before·the1190 fly·before·the·equality·test.</p><p>If·<code·class="inline">Norm</code>·is·not·<code·class="inline">none</code>·the·function·applies·normalization·on·the·fly·before·the
1191 equality·test.·There·are·four·available·normalization·forms:1191 equality·test.·There·are·four·available·normalization·forms:
1192 <a·href="unicode.html#characters_to_nfc_list/1"><code·class="inline">nfc</code></a>,1192 <a·href="unicode.html#characters_to_nfc_list/1"><code·class="inline">nfc</code></a>,
1193 <a·href="unicode.html#characters_to_nfd_list/1"><code·class="inline">nfd</code></a>,1193 <a·href="unicode.html#characters_to_nfd_list/1"><code·class="inline">nfd</code></a>,
1194 <a·href="unicode.html#characters_to_nfkc_list/1"><code·class="inline">nfkc</code></a>,·and1194 <a·href="unicode.html#characters_to_nfkc_list/1"><code·class="inline">nfkc</code></a>,·and
1195 <a·href="unicode.html#characters_to_nfkd_list/1"><code·class="inline">nfkd</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">equal</span><span·class="p"·data-group-id="9207066875-1">(</span><span·class="s">&quot;åäö&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9207066875-2">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="o">/</span><span·class="ss">utf8</spa[·...·truncated·by·diffoscope;·len:·103,·SHA:·8f3dbcec953658d63f86a6a0a6164c3f26244596b66f2d7fecafcb15a1a6cdc4·...·]-1">)</span><span·class="p">.</span><span·class="w">1195 <a·href="unicode.html#characters_to_nfkd_list/1"><code·class="inline">nfkd</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">equal</span><span·class="p"·data-group-id="2157437220-1">(</span><span·class="s">&quot;åäö&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2157437220-2">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="o">/</span><span·class="ss">utf8</spa[·...·truncated·by·diffoscope;·len:·103,·SHA:·3734fbf1434827f0ae0ca20907e68d404ad1ec335ccaf64eb37c2ee31770268f·...·]-1">)</span><span·class="p">.</span><span·class="w">
1196 </span><span·class="ss">true</span><span·class="gp·unselectable">1196 </span><span·class="ss">true</span><span·class="gp·unselectable">
1197 2&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">equal</span><span·class="p"·data-group-id="9207066875-3">(</span><span·class="s">&quot;åäö&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfd_binary</span><span·class="p"·data-group-id="9207066875-4">[·...·truncated·by·diffoscope;·len:·140,·SHA:·efebc2b5fe8752f8fe6bc75b28fe84eb832cdd3e4727e77af1bc32b5608bf5bd·...·]-3">)</span><span·class="p">.</span><span·class="w">1197 2&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">equal</span><span·class="p"·data-group-id="2157437220-3">(</span><span·class="s">&quot;åäö&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfd_binary</span><span·class="p"·data-group-id="2157437220-4">[·...·truncated·by·diffoscope;·len:·140,·SHA:·4e7610910531510bbe7bf9fdfdade485c8afff8e0596b43e28a7e9be43e63116·...·]-3">)</span><span·class="p">.</span><span·class="w">
1198 </span><span·class="ss">false</span><span·class="gp·unselectable">1198 </span><span·class="ss">false</span><span·class="gp·unselectable">
1199 3&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">equal</span><span·class="p"·data-group-id="9207066875-5">(</span><span·class="s">&quot;åäö&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfd_binary</span><span·class="p"·data-group-id="9207066875-6">[·...·truncated·by·diffoscope;·len:·291,·SHA:·02ed21c3352b68d9543cb2b23be77f094a732c9c7265ed5a90ee476bdbb8ae92·...·]-5">)</span><span·class="p">.</span><span·class="w">1199 3&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">equal</span><span·class="p"·data-group-id="2157437220-5">(</span><span·class="s">&quot;åäö&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfd_binary</span><span·class="p"·data-group-id="2157437220-6">[·...·truncated·by·diffoscope;·len:·291,·SHA:·c6166e9e5d3d78c47f07f37876d538c2162c5265f65c6d7f37dec958b603e887·...·]-5">)</span><span·class="p">.</span><span·class="w">
1200 </span><span·class="ss">true</span></code></pre>1200 </span><span·class="ss">true</span></code></pre>
1201 ··</section>1201 ··</section>
1202 </section>1202 </section>
1203 <section·class="detail"·id="find/2">1203 <section·class="detail"·id="find/2">
  
1204 ··<div·class="detail-header">1204 ··<div·class="detail-header">
1205 ····<a·href="#find/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1205 ····<a·href="#find/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1255, 21 lines modifiedOffset 1255, 21 lines modified
1255 ··············when·String·::·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>(),·SearchPattern·::·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>(),·Dir·::·<a·href="#t:direction/0">direction</a>().</pre>1255 ··············when·String·::·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>(),·SearchPattern·::·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>(),·Dir·::·<a·href="#t:direction/0">direction</a>().</pre>
  
1256 ······</div>1256 ······</div>
  
1257 <p>Removes·anything·before·<code·class="inline">SearchPattern</code>·in·<code·class="inline">String</code>·and·returns·the·remainder·of1257 <p>Removes·anything·before·<code·class="inline">SearchPattern</code>·in·<code·class="inline">String</code>·and·returns·the·remainder·of
1258 the·string·or·<code·class="inline">nomatch</code>·if·<code·class="inline">SearchPattern</code>·is·not·found.·<code·class="inline">Dir</code>,·which·can·be1258 the·string·or·<code·class="inline">nomatch</code>·if·<code·class="inline">SearchPattern</code>·is·not·found.·<code·class="inline">Dir</code>,·which·can·be
1259 <code·class="inline">leading</code>·or·<code·class="inline">trailing</code>,·indicates·from·which·direction·characters·are·to·be1259 <code·class="inline">leading</code>·or·<code·class="inline">trailing</code>,·indicates·from·which·direction·characters·are·to·be
1260 searched.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">find</span><span·class="p"·data-group-id="7864286306-1">(</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;.&quot;</span><span·class="p"·data-group-id="7864286306-1">)</span><span·class="p">.</span><span·class="w">1260 searched.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">find</span><span·class="p"·data-group-id="1507502224-1">(</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;.&quot;</span><span·class="p"·data-group-id="1507502224-1">)</span><span·class="p">.</span><span·class="w">
1261 </span><span·class="s">&quot;..cd..ef&quot;</span><span·class="gp·unselectable">1261 </span><span·class="s">&quot;..cd..ef&quot;</span><span·class="gp·unselectable">
1262 2&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">find</span><span·class="p"·data-group-id="7864286306-2">(</span><span·class="p"·data-group-id="7864286306-3">&lt;&lt;</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p"·data-group-id="7864286306-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·137,·SHA:·6c3afb342632181053448a581b4c9f5f3aaf535c84b37878158f085d446c0787·...·]-2">)</span><span·class="p">.</span><span·class="w">1262 2&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">find</span><span·class="p"·data-group-id="1507502224-2">(</span><span·class="p"·data-group-id="1507502224-3">&lt;&lt;</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p"·data-group-id="1507502224-3">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·137,·SHA:·7300900e5574ac600f103bf1fd3a362cf48c7e5c5a9f148270c272d3cee97e35·...·]-2">)</span><span·class="p">.</span><span·class="w">
1263 </span><span·class="p"·data-group-id="7864286306-4">&lt;&lt;</span><span·class="s">&quot;..ef&quot;</span><span·class="p"·data-group-id="7864286306-4">&gt;&gt;</span><span·class="gp·unselectable">1263 </span><span·class="p"·data-group-id="1507502224-4">&lt;&lt;</span><span·class="s">&quot;..ef&quot;</span><span·class="p"·data-group-id="1507502224-4">&gt;&gt;</span><span·class="gp·unselectable">
1264 3&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">find</span><span·class="p"·data-group-id="7864286306-5">(</span><span·class="p"·data-group-id="7864286306-6">&lt;&lt;</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p"·data-group-id="7864286306-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·135,·SHA:·bde467201402e53af23817e42c349d9c3dd414d22270bf6346d46fc45f034723·...·]-5">)</span><span·class="p">.</span><span·class="w">1264 3&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">find</span><span·class="p"·data-group-id="1507502224-5">(</span><span·class="p"·data-group-id="1507502224-6">&lt;&lt;</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p"·data-group-id="1507502224-6">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot[·...·truncated·by·diffoscope;·len:·135,·SHA:·be47beb26d956e37d1bf4c89036b9f3b296b9ed5529544c514f659e8c1fa9c2f·...·]-5">)</span><span·class="p">.</span><span·class="w">
1265 </span><span·class="ss">nomatch</span><span·class="gp·unselectable">1265 </span><span·class="ss">nomatch</span><span·class="gp·unselectable">
1266 4&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">find</span><span·class="p"·data-group-id="7864286306-7">(</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;x&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">trailing</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·610541d7a7b2c6ddb7660d13ee6774652907f202c079722a826c8fbe71ea5b17·...·]-7">)</span><span·class="p">.</span><span·class="w">1266 4&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">find</span><span·class="p"·data-group-id="1507502224-7">(</span><span·class="s">&quot;ab..cd..ef&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;x&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">trailing</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·16,·SHA:·966e0a591f776203064f3c4b5d1a1d0f8158225b82b41c10571f01e6956fccbd·...·]-7">)</span><span·class="p">.</span><span·class="w">
1267 </span><span·class="ss">nomatch</span></code></pre>1267 </span><span·class="ss">nomatch</span></code></pre>
1268 ··</section>1268 ··</section>
1269 </section>1269 </section>
1270 <section·class="detail"·id="is_empty/1">1270 <section·class="detail"·id="is_empty/1">
  
1271 ··<div·class="detail-header">1271 ··<div·class="detail-header">
1272 ····<a·href="#is_empty/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1272 ····<a·href="#is_empty/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1290, 17 lines modifiedOffset 1290, 17 lines modified
  
1290 ······<div·class="specs">1290 ······<div·class="specs">
  
1291 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_empty(String·::·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>().</pre>1291 ··········<pre·translate="no"><span·class="attribute">-spec</span>·is_empty(String·::·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:boolean/0">boolean</a>().</pre>
  
1292 ······</div>1292 ······</div>
  
1293 <p>Returns·<code·class="inline">true</code>·if·<code·class="inline">String</code>·is·the·empty·string,·otherwise·<code·class="inline">false</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">is_empty</span><span·class="p"·data-group-id="7437112138-1">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="7437112138-1">)</span><span·class="p">.</span><span·class="w">1293 <p>Returns·<code·class="inline">true</code>·if·<code·class="inline">String</code>·is·the·empty·string,·otherwise·<code·class="inline">false</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">is_empty</span><span·class="p"·data-group-id="5666730137-1">(</span><span·class="s">&quot;foo&quot;</span><span·class="p"·data-group-id="5666730137-1">)</span><span·class="p">.</span><span·class="w">
1294 </span><span·class="ss">false</span><span·class="gp·unselectable">1294 </span><span·class="ss">false</span><span·class="gp·unselectable">
1295 2&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">is_empty</span><span·class="p"·data-group-id="7437112138-2">(</span><span·class="p"·data-group-id="7437112138-3">[</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="7437112138-4">&lt;&lt;</span><span·class="p"·data-group-id="7437112138-4">&gt;&gt;</span><s[·...·truncated·by·diffoscope;·len:·92,·SHA:·5d10a497077fd6d5ba2ded9aaf4eccdc38ecbe69213728ce53e6ab69c8a428cb·...·]-2">)</span><span·class="p">.</span><span·class="w">1295 2&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">is_empty</span><span·class="p"·data-group-id="5666730137-2">(</span><span·class="p"·data-group-id="5666730137-3">[</span><span·class="s">&quot;&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5666730137-4">&lt;&lt;</span><span·class="p"·data-group-id="5666730137-4">&gt;&gt;</span><s[·...·truncated·by·diffoscope;·len:·92,·SHA:·5c9f68537c2071b22470919548214fbc7aa132ff9b104b357846e8497bc51c5d·...·]-2">)</span><span·class="p">.</span><span·class="w">
1296 </span><span·class="ss">true</span></code></pre>1296 </span><span·class="ss">true</span></code></pre>
1297 ··</section>1297 ··</section>
1298 </section>1298 </section>
1299 <section·class="detail"·id="jaro_similarity/2">1299 <section·class="detail"·id="jaro_similarity/2">
  
1300 ··<div·class="detail-header">1300 ··<div·class="detail-header">
1301 ····<a·href="#jaro_similarity/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1301 ····<a·href="#jaro_similarity/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1328, 21 lines modifiedOffset 1328, 21 lines modified
1328 ·····························Similarity·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:float/0">float</a>().</pre>1328 ·····························Similarity·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:float/0">float</a>().</pre>
  
1329 ······</div>1329 ······</div>
  
1330 <p>Returns·a·float·between·<code·class="inline">+0.0</code>·and·<code·class="inline">1.0</code>·representing·the1330 <p>Returns·a·float·between·<code·class="inline">+0.0</code>·and·<code·class="inline">1.0</code>·representing·the
1331 <a·href="https://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance">Jaro·similarity</a>1331 <a·href="https://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance">Jaro·similarity</a>
1332 between·the·given·strings.·Strings·with·a·higher·similarity·will·score·closer1332 between·the·given·strings.·Strings·with·a·higher·similarity·will·score·closer
1333 to·<code·class="inline">1.0</code>,·with·<code·class="inline">+0.0</code>·meaning·no·similarity·and·<code·class="inline">1.0</code>·meaning·an·exact·match.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">jaro_similarity</span><span·class="p"·data-group-id="3118235525-1">(</span><span·class="s">&quot;ditto&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;ditto&quot;</span><span·class="p"·data-group-id="3118235525-1">)</span><span·class="p">.</span><span·class="w">1333 to·<code·class="inline">1.0</code>,·with·<code·class="inline">+0.0</code>·meaning·no·similarity·and·<code·class="inline">1.0</code>·meaning·an·exact·match.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">jaro_similarity</span><span·class="p"·data-group-id="7869156318-1">(</span><span·class="s">&quot;ditto&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;ditto&quot;</span><span·class="p"·data-group-id="7869156318-1">)</span><span·class="p">.</span><span·class="w">
1334 </span><span·class="mf">1.0</span><span·class="gp·unselectable">1334 </span><span·class="mf">1.0</span><span·class="gp·unselectable">
1335 2&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">jaro_similarity</span><span·class="p"·data-group-id="3118235525-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;bar&quot;</span><span·class="p"·data-group-id="3118235525-2">)</span><span·class="p">.</span><span·class="w">1335 2&gt;·</span><span·class="nc">string</span><span·class="p">:</span><span·class="nf">jaro_similarity</span><span·class="p"·data-group-id="7869156318-2">(</span><span·class="s">&quot;foo&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;bar&quot;</span><span·class="p"·data-group-id="7869156318-2">)</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 123115/151165 bytes (81.44%) of diff not shown.
581 B
html2text {}
Max HTML report size reached
15.1 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/supervisor.html
    
Offset 154, 19 lines modifiedOffset 154, 19 lines modified
154 left.</p><p><a·href=""·id="sup_flags"></a></p><h3·id="module-supervisor-flags"·class="section-heading">154 left.</p><p><a·href=""·id="sup_flags"></a></p><h3·id="module-supervisor-flags"·class="section-heading">
155 ··<a·href="#module-supervisor-flags"·class="hover-link">155 ··<a·href="#module-supervisor-flags"·class="hover-link">
156 ····<i·class="ri-link-m"·aria-hidden="true"></i>156 ····<i·class="ri-link-m"·aria-hidden="true"></i>
157 ··</a>157 ··</a>
158 ··<span·class="text">Supervisor·flags</span>158 ··<span·class="text">Supervisor·flags</span>
159 </h3>159 </h3>
160 <p>The·supervisor·properties·are·defined·by·the·supervisor·flags.·The·type160 <p>The·supervisor·properties·are·defined·by·the·supervisor·flags.·The·type
161 definition·for·the·supervisor·flags·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sup_flags</span><span·class="p"·data-group-id="3867009546-1">(</span><span·class="p"·data-group-id="3867009546-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3867009546-2">#{</span><span·class="ss">strategy</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·9e6053267d0b417d9e1c544356b1f4446b2b3bfd731e184a0c7840a83a46b21a·...·]-3">)</span><span·class="p">,</span><span·class="w">···········</span><span·class="c1">%·optional</span><span·class="w">161 definition·for·the·supervisor·flags·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">sup_flags</span><span·class="p"·data-group-id="6086077251-1">(</span><span·class="p"·data-group-id="6086077251-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6086077251-2">#{</span><span·class="ss">strategy</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·179,·SHA:·de69721b72cc7afe355910aaf4a46d43405ed7080f48d67d63da6389fbece65d·...·]-3">)</span><span·class="p">,</span><span·class="w">···········</span><span·class="c1">%·optional</span><span·class="w">
162 ················</span><span·class="ss">intensity</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">non_neg_integer</span><span·class="p"·data-group-id="3867009546-4">(</span><span·class="p"·data-group-id="3867009546-4">)</span><span·class="p">,</span><span·class="w">···</span><span·class="c1">%·optional</span><span·class="w">162 ················</span><span·class="ss">intensity</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">non_neg_integer</span><span·class="p"·data-group-id="6086077251-4">(</span><span·class="p"·data-group-id="6086077251-4">)</span><span·class="p">,</span><span·class="w">···</span><span·class="c1">%·optional</span><span·class="w">
163 ················</span><span·class="ss">period</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">pos_integer</span><span·class="p"·data-group-id="3867009546-5">(</span><span·class="p"·data-group-id="3867009546-5">)</span><span·class="p">,</span><span·class="w">··········</span><span·class="c1">%·optional</span><span·class="w">163 ················</span><span·class="ss">period</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">pos_integer</span><span·class="p"·data-group-id="6086077251-5">(</span><span·class="p"·data-group-id="6086077251-5">)</span><span·class="p">,</span><span·class="w">··········</span><span·class="c1">%·optional</span><span·class="w">
164 ················</span><span·class="ss">hibernate_after</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">timeout</span><span·class="p"·data-group-id="3867009546-6">(</span><span·class="p"·data-group-id="3867009546-6">)</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%·optional,·available·since·OTP·28.0</span><span·class="w">164 ················</span><span·class="ss">hibernate_after</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">timeout</span><span·class="p"·data-group-id="6086077251-6">(</span><span·class="p"·data-group-id="6086077251-6">)</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%·optional,·available·since·OTP·28.0</span><span·class="w">
165 ················</span><span·class="ss">auto_shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">auto_shutdown</span><span·class="p"·data-group-id="3867009546-7">(</span><span·class="p"·data-group-id="3867009546-7">)</span><span·class="p"·data-group-id="3867009546-2">}</span><span·class="w">·</span><span·class="c1">%·optional</span></code></pre><h4>Restart·Strategies</h4><p>A·supervisor·can·have·one·of·the·following·<em>restart·strategies</em>·specified·with165 ················</span><span·class="ss">auto_shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">auto_shutdown</span><span·class="p"·data-group-id="6086077251-7">(</span><span·class="p"·data-group-id="6086077251-7">)</span><span·class="p"·data-group-id="6086077251-2">}</span><span·class="w">·</span><span·class="c1">%·optional</span></code></pre><h4>Restart·Strategies</h4><p>A·supervisor·can·have·one·of·the·following·<em>restart·strategies</em>·specified·with
166 the·<code·class="inline">strategy</code>·key·in·the·above·map:</p><ul><li><p><code·class="inline">one_for_one</code>·-·If·one·child·process·terminates·and·is·to·be·restarted,·only166 the·<code·class="inline">strategy</code>·key·in·the·above·map:</p><ul><li><p><code·class="inline">one_for_one</code>·-·If·one·child·process·terminates·and·is·to·be·restarted,·only
167 that·child·process·is·affected.·This·is·the·default·restart·strategy.</p></li><li><p><code·class="inline">one_for_all</code>·-·If·one·child·process·terminates·and·is·to·be·restarted,·all167 that·child·process·is·affected.·This·is·the·default·restart·strategy.</p></li><li><p><code·class="inline">one_for_all</code>·-·If·one·child·process·terminates·and·is·to·be·restarted,·all
168 other·child·processes·are·terminated·and·then·all·child·processes·are168 other·child·processes·are·terminated·and·then·all·child·processes·are
169 restarted.</p></li><li><p><code·class="inline">rest_for_one</code>·-·If·one·child·process·terminates·and·is·to·be·restarted,·the169 restarted.</p></li><li><p><code·class="inline">rest_for_one</code>·-·If·one·child·process·terminates·and·is·to·be·restarted,·the
170 'rest'·of·the·child·processes·(that·is,·the·child·processes·after·the170 'rest'·of·the·child·processes·(that·is,·the·child·processes·after·the
171 terminated·child·process·in·the·start·order)·are·terminated.·Then·the171 terminated·child·process·in·the·start·order)·are·terminated.·Then·the
172 terminated·child·process·and·all·child·processes·after·it·are·restarted.</p></li><li><p><code·class="inline">simple_one_for_one</code>·-·A·simplified·<code·class="inline">one_for_one</code>·supervisor,·where·all·child172 terminated·child·process·and·all·child·processes·after·it·are·restarted.</p></li><li><p><code·class="inline">simple_one_for_one</code>·-·A·simplified·<code·class="inline">one_for_one</code>·supervisor,·where·all·child
Offset 210, 21 lines modifiedOffset 210, 21 lines modified
210 the·automatic·shutdowns·they·rely·on·will·not·happen.</p><p>It·is·up·to·implementors·to·take·proper·precautions·if·they·expect·that·their210 the·automatic·shutdowns·they·rely·on·will·not·happen.</p><p>It·is·up·to·implementors·to·take·proper·precautions·if·they·expect·that·their
211 applications·may·be·compiled·with·older·OTP·versions.</p></section><p><a·href=""·id="child_spec"></a></p><h3·id="module-child-specification"·class="section-heading">211 applications·may·be·compiled·with·older·OTP·versions.</p></section><p><a·href=""·id="child_spec"></a></p><h3·id="module-child-specification"·class="section-heading">
212 ··<a·href="#module-child-specification"·class="hover-link">212 ··<a·href="#module-child-specification"·class="hover-link">
213 ····<i·class="ri-link-m"·aria-hidden="true"></i>213 ····<i·class="ri-link-m"·aria-hidden="true"></i>
214 ··</a>214 ··</a>
215 ··<span·class="text">Child·specification</span>215 ··<span·class="text">Child·specification</span>
216 </h3>216 </h3>
217 <p>The·type·definition·of·a·child·specification·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">child_spec</span><span·class="p"·data-group-id="0542454527-1">(</span><span·class="p"·data-group-id="0542454527-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="0542454527-2">#{</span><span·class="ss">id</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·173,·SHA:·3f31be66bb34b20c51c92045652ad7ca9e4c32fdb3e1f67997c51b8ba7dd7f79·...·]-3">)</span><span·class="p">,</span><span·class="w">·············</span><span·class="c1">%·mandatory</span><span·class="w">217 <p>The·type·definition·of·a·child·specification·is·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">child_spec</span><span·class="p"·data-group-id="6568851725-1">(</span><span·class="p"·data-group-id="6568851725-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="6568851725-2">#{</span><span·class="ss">id</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·173,·SHA:·9771e6b3f485ef97afae9b70ccb6dabf754c34e3906dbf44910ee2cf0fd0298e·...·]-3">)</span><span·class="p">,</span><span·class="w">·············</span><span·class="c1">%·mandatory</span><span·class="w">
218 ·················</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">mfargs</span><span·class="p"·data-group-id="0542454527-4">(</span><span·class="p"·data-group-id="0542454527-4">)</span><span·class="p">,</span><span·class="w">············</span><span·class="c1">%·mandatory</span><span·class="w">218 ·················</span><span·class="ss">start</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">mfargs</span><span·class="p"·data-group-id="6568851725-4">(</span><span·class="p"·data-group-id="6568851725-4">)</span><span·class="p">,</span><span·class="w">············</span><span·class="c1">%·mandatory</span><span·class="w">
219 ·················</span><span·class="ss">restart</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">restart</span><span·class="p"·data-group-id="0542454527-5">(</span><span·class="p"·data-group-id="0542454527-5">)</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·optional</span><span·class="w">219 ·················</span><span·class="ss">restart</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">restart</span><span·class="p"·data-group-id="6568851725-5">(</span><span·class="p"·data-group-id="6568851725-5">)</span><span·class="p">,</span><span·class="w">·········</span><span·class="c1">%·optional</span><span·class="w">
220 ·················</span><span·class="ss">significant</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">significant</span><span·class="p"·data-group-id="0542454527-6">(</span><span·class="p"·data-group-id="0542454527-6">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·optional</span><span·class="w">220 ·················</span><span·class="ss">significant</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">significant</span><span·class="p"·data-group-id="6568851725-6">(</span><span·class="p"·data-group-id="6568851725-6">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·optional</span><span·class="w">
221 ·················</span><span·class="ss">shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="0542454527-7">(</span><span·class="p"·data-group-id="0542454527-7">)</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%·optional</span><span·class="w">221 ·················</span><span·class="ss">shutdown</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">shutdown</span><span·class="p"·data-group-id="6568851725-7">(</span><span·class="p"·data-group-id="6568851725-7">)</span><span·class="p">,</span><span·class="w">·······</span><span·class="c1">%·optional</span><span·class="w">
222 ·················</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">worker</span><span·class="p"·data-group-id="0542454527-8">(</span><span·class="p"·data-group-id="0542454527-8">)</span><span·class="p">,</span><span·class="w">·············</span><span·class="c1">%·optional</span><span·class="w">222 ·················</span><span·class="ss">type</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">worker</span><span·class="p"·data-group-id="6568851725-8">(</span><span·class="p"·data-group-id="6568851725-8">)</span><span·class="p">,</span><span·class="w">·············</span><span·class="c1">%·optional</span><span·class="w">
223 ·················</span><span·class="ss">modules</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">modules</span><span·class="p"·data-group-id="0542454527-9">(</span><span·class="p"·data-group-id="0542454527-9">)</span><span·class="p"·data-group-id="0542454527-2">}</span><span·class="w">·········</span><span·class="c1">%·optional</span></code></pre><p>The·old·tuple·format·is·kept·for·backwards·compatibility,·see·<a·href="#t:child_spec/0"><code·class="inline">child_spec/0</code></a>,223 ·················</span><span·class="ss">modules</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="nf">modules</span><span·class="p"·data-group-id="6568851725-9">(</span><span·class="p"·data-group-id="6568851725-9">)</span><span·class="p"·data-group-id="6568851725-2">}</span><span·class="w">·········</span><span·class="c1">%·optional</span></code></pre><p>The·old·tuple·format·is·kept·for·backwards·compatibility,·see·<a·href="#t:child_spec/0"><code·class="inline">child_spec/0</code></a>,
224 but·the·map·is·preferred.</p><ul><li><p><code·class="inline">id</code>·is·used·to·identify·the·child·specification·internally·by·the·supervisor.</p><p>The·<code·class="inline">id</code>·key·is·mandatory.</p><p>Notice·that·this·identifier·on·occations·has·been·called·&quot;name&quot;.·As·far·as224 but·the·map·is·preferred.</p><ul><li><p><code·class="inline">id</code>·is·used·to·identify·the·child·specification·internally·by·the·supervisor.</p><p>The·<code·class="inline">id</code>·key·is·mandatory.</p><p>Notice·that·this·identifier·on·occations·has·been·called·&quot;name&quot;.·As·far·as
225 possible,·the·terms·&quot;identifier&quot;·or·&quot;id&quot;·are·now·used·but·to·keep·backward225 possible,·the·terms·&quot;identifier&quot;·or·&quot;id&quot;·are·now·used·but·to·keep·backward
226 compatibility,·some·occurences·of·&quot;name&quot;·can·still·be·found,·for·example·in226 compatibility,·some·occurences·of·&quot;name&quot;·can·still·be·found,·for·example·in
227 error·messages.</p></li><li><p><code·class="inline">start</code>·defines·the·function·call·used·to·start·the·child·process.·It·must·be227 error·messages.</p></li><li><p><code·class="inline">start</code>·defines·the·function·call·used·to·start·the·child·process.·It·must·be
228 a·module-function-arguments·tuple·<code·class="inline">{M,F,A}</code>·used·as228 a·module-function-arguments·tuple·<code·class="inline">{M,F,A}</code>·used·as
229 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,F,A)</code></a>.</p><p>The·start·function·<em>must·create·and·link·to</em>·the·child·process,·and·must229 <a·href="../../../../erts-16.0/doc/html/erlang.html#apply/3"><code·class="inline">apply(M,F,A)</code></a>.</p><p>The·start·function·<em>must·create·and·link·to</em>·the·child·process,·and·must
230 return·<code·class="inline">{ok,Child}</code>·or·<code·class="inline">{ok,Child,Info}</code>,·where·<code·class="inline">Child</code>·is·the·pid·of·the230 return·<code·class="inline">{ok,Child}</code>·or·<code·class="inline">{ok,Child,Info}</code>,·where·<code·class="inline">Child</code>·is·the·pid·of·the
Offset 1796, 15 lines modifiedOffset 1796, 15 lines modified
1796 ······<p·class="built-using">1796 ······<p·class="built-using">
1797 ········Built·using1797 ········Built·using
1798 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1798 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1799 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1799 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1800 ······</p>1800 ······</p>
1801 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1801 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1802 ····</footer>1802 ····</footer>
1803 ··</div>1803 ··</div>
1804 </main>1804 </main>
1805 </div>1805 </div>
1806 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1806 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1807 ··<script>1807 ··<script>
1808 ··let·initialized·=·false;1808 ··let·initialized·=·false;
652 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/supervisor_bridge.html
    
Offset 407, 15 lines modifiedOffset 407, 15 lines modified
407 ······<p·class="built-using">407 ······<p·class="built-using">
408 ········Built·using408 ········Built·using
409 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the409 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
410 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>410 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
411 ······</p>411 ······</p>
412 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>412 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
413 ····</footer>413 ····</footer>
414 ··</div>414 ··</div>
415 </main>415 </main>
416 </div>416 </div>
417 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>417 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
418 ··<script>418 ··<script>
419 ··let·initialized·=·false;419 ··let·initialized·=·false;
702 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/sys.html
    
Offset 2229, 15 lines modifiedOffset 2229, 15 lines modified
2229 ······<p·class="built-using">2229 ······<p·class="built-using">
2230 ········Built·using2230 ········Built·using
2231 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2231 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2232 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2232 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2233 ······</p>2233 ······</p>
2234 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2234 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2235 ····</footer>2235 ····</footer>
2236 ··</div>2236 ··</div>
2237 </main>2237 </main>
2238 </div>2238 </div>
2239 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2239 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2240 ··<script>2240 ··<script>
2241 ··let·initialized·=·false;2241 ··let·initialized·=·false;
730 B
html2text {}
Max HTML report size reached
42.2 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/terminal_interface.html
    
Offset 137, 109 lines modifiedOffset 137, 109 lines modified
137 ·····················137 ·····················
138 ·····················138 ·····················
139 ╟───────┼───────┼───────╢139 ╟───────┼───────┼───────╢
140 ·····················140 ·····················
141 ·····················141 ·····················
142 ·····················142 ·····················
143 ╚═══════╧═══════╧═══════╝</code></pre><p>We·will·use·the·alternate·screen·buffer·for·our·game·so·first·we·need·to·set·that·up:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript143 ╚═══════╧═══════╧═══════╝</code></pre><p>We·will·use·the·alternate·screen·buffer·for·our·game·so·first·we·need·to·set·that·up:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="ch">#!/usr/bin/env·escript
144 </span><span·class="nf">main</span><span·class="p"·data-group-id="8930107288-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="8930107288-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">144 </span><span·class="nf">main</span><span·class="p"·data-group-id="3727322713-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="3727322713-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
145 ····145 ····
146 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="8930107288-2">(</span><span·class="s">&quot;\e[?1049h&quot;</span><span·class="p"·data-group-id="8930107288-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Enable·alternate·screen·buffer</span><span·class="w">146 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="3727322713-2">(</span><span·class="s">&quot;\e[?1049h&quot;</span><span·class="p"·data-group-id="3727322713-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Enable·alternate·screen·buffer</span><span·class="w">
147 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="8930107288-3">(</span><span·class="s">&quot;\e[?25l&quot;</span><span·class="p"·data-group-id="8930107288-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Hide·the·cursor</span><span·class="w">147 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="3727322713-3">(</span><span·class="s">&quot;\e[?25l&quot;</span><span·class="p"·data-group-id="3727322713-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Hide·the·cursor</span><span·class="w">
148 ····</span><span·class="nf">draw_board</span><span·class="p"·data-group-id="8930107288-4">(</span><span·class="p"·data-group-id="8930107288-4">)</span><span·class="p">,</span><span·class="w">148 ····</span><span·class="nf">draw_board</span><span·class="p"·data-group-id="3727322713-4">(</span><span·class="p"·data-group-id="3727322713-4">)</span><span·class="p">,</span><span·class="w">
149 ····</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">sleep</span><span·class="p"·data-group-id="8930107288-5">(</span><span·class="mi">5000</span><span·class="p"·data-group-id="8930107288-5">)</span><span·class="p">,</span><span·class="w">149 ····</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">sleep</span><span·class="p"·data-group-id="3727322713-5">(</span><span·class="mi">5000</span><span·class="p"·data-group-id="3727322713-5">)</span><span·class="p">,</span><span·class="w">
150 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="8930107288-6">(</span><span·class="s">&quot;\e[?25h&quot;</span><span·class="p"·data-group-id="8930107288-6">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Show·the·cursor</span><span·class="w">150 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="3727322713-6">(</span><span·class="s">&quot;\e[?25h&quot;</span><span·class="p"·data-group-id="3727322713-6">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Show·the·cursor</span><span·class="w">
151 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="8930107288-7">(</span><span·class="s">&quot;\e[?1049l&quot;</span><span·class="p"·data-group-id="8930107288-7">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Disable·alternate·screen·buffer</span><span·class="w">151 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="3727322713-7">(</span><span·class="s">&quot;\e[?1049l&quot;</span><span·class="p"·data-group-id="3727322713-7">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Disable·alternate·screen·buffer</span><span·class="w">
152 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>We·then·use·the·box·drawing·parts·of·Unicode·to·draw·our·board:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">draw_board</span><span·class="p"·data-group-id="9736601114-1">(</span><span·class="p"·data-group-id="9736601114-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">152 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>We·then·use·the·box·drawing·parts·of·Unicode·to·draw·our·board:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">draw_board</span><span·class="p"·data-group-id="8786767817-1">(</span><span·class="p"·data-group-id="8786767817-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
153 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="9736601114-2">(</span><span·class="s">&quot;\e[5;0H&quot;</span><span·class="p"·data-group-id="9736601114-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Move·cursor·to·top·left</span><span·class="w">153 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="8786767817-2">(</span><span·class="s">&quot;\e[5;0H&quot;</span><span·class="p"·data-group-id="8786767817-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Move·cursor·to·top·left</span><span·class="w">
154 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="9736601114-3">(</span><span·class="w">154 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="8786767817-3">(</span><span·class="w">
155 ······</span><span·class="p"·data-group-id="9736601114-4">[</span><span·class="s">&quot;·····╔═══════╤═══════╤═══════╗\r\n&quot;</span><span·class="p">,</span><span·class="w">155 ······</span><span·class="p"·data-group-id="8786767817-4">[</span><span·class="s">&quot;·····╔═══════╤═══════╤═══════╗\r\n&quot;</span><span·class="p">,</span><span·class="w">
156 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">156 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
157 ·······</span><span·class="s">&quot;·······························Place·an·X·by·pressing·Enter\r\n&quot;</span><span·class="p">,</span><span·class="w">157 ·······</span><span·class="s">&quot;·······························Place·an·X·by·pressing·Enter\r\n&quot;</span><span·class="p">,</span><span·class="w">
158 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">158 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
159 ·······</span><span·class="s">&quot;·····╟───────┼───────┼───────╢\r\n&quot;</span><span·class="p">,</span><span·class="w">159 ·······</span><span·class="s">&quot;·····╟───────┼───────┼───────╢\r\n&quot;</span><span·class="p">,</span><span·class="w">
160 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">160 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
161 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">161 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
162 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">162 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
163 ·······</span><span·class="s">&quot;·····╟───────┼───────┼───────╢\r\n&quot;</span><span·class="p">,</span><span·class="w">163 ·······</span><span·class="s">&quot;·····╟───────┼───────┼───────╢\r\n&quot;</span><span·class="p">,</span><span·class="w">
164 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">164 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
165 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">165 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
166 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">166 ·······</span><span·class="s">&quot;··························║\r\n&quot;</span><span·class="p">,</span><span·class="w">
167 ·······</span><span·class="s">&quot;·····╚═══════╧═══════╧═══════╝\r\n&quot;</span><span·class="p"·data-group-id="9736601114-4">]</span><span·class="p"·data-group-id="9736601114-3">)</span><span·class="p">,</span><span·class="w">167 ·······</span><span·class="s">&quot;·····╚═══════╧═══════╧═══════╝\r\n&quot;</span><span·class="p"·data-group-id="8786767817-4">]</span><span·class="p"·data-group-id="8786767817-3">)</span><span·class="p">,</span><span·class="w">
168 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>Let·us·add·some·interactivity·to·our·game!·To·do·that·we·need·to·change·the168 ····</span><span·class="ss">ok</span><span·class="p">.</span></code></pre><p>Let·us·add·some·interactivity·to·our·game!·To·do·that·we·need·to·change·the
169 shell·from·running·in·<code·class="inline">cooked</code>·to·<code·class="inline">raw</code>·mode.·This·is·done·by·calling169 shell·from·running·in·<code·class="inline">cooked</code>·to·<code·class="inline">raw</code>·mode.·This·is·done·by·calling
170 <a·href="shell.html#start_interactive/1"><code·class="inline">shell:start_interactive({noshell,·raw})</code></a>.170 <a·href="shell.html#start_interactive/1"><code·class="inline">shell:start_interactive({noshell,·raw})</code></a>.
171 We·can·then·use·<a·href="io.html#get_chars/2"><code·class="inline">io:get_chars/2</code></a>·to·read·key·strokes·from·the·user.·The·key171 We·can·then·use·<a·href="io.html#get_chars/2"><code·class="inline">io:get_chars/2</code></a>·to·read·key·strokes·from·the·user.·The·key
172 strokes·will·be·returned·as·<a·href="https://en.wikipedia.org/wiki/ANSI_escape_code">ANSI·escape·codes</a>,·172 strokes·will·be·returned·as·<a·href="https://en.wikipedia.org/wiki/ANSI_escape_code">ANSI·escape·codes</a>,·
173 so·we·will·have·need·to·handle·the·codes·for·up,·down,·left,·right·and·enter.</p><p>It·could·look·something·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">main</span><span·class="p"·data-group-id="5805106643-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="5805106643-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">173 so·we·will·have·need·to·handle·the·codes·for·up,·down,·left,·right·and·enter.</p><p>It·could·look·something·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">main</span><span·class="p"·data-group-id="9183402503-1">(</span><span·class="p">_</span><span·class="n">Args</span><span·class="p"·data-group-id="9183402503-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
174 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">shell</span><span·class="p">:</span><span·class="nf">start_interactive</span><span·class="p"·data-group-id="5805106643-2">(</span><span·class="p"·data-group-id="5805106643-3">{</span><span·class="ss">noshell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">raw</span><span·class="p"·data-group-id="5805106643-3">}</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·18,·SHA:·98addf88db8f15de4f957969cdcc3397f308a463d44f67f9e8a9e9733c4a85af·...·]3-2">)</span><span·class="p">,</span><span·class="w">174 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">shell</span><span·class="p">:</span><span·class="nf">start_interactive</span><span·class="p"·data-group-id="9183402503-2">(</span><span·class="p"·data-group-id="9183402503-3">{</span><span·class="ss">noshell</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">raw</span><span·class="p"·data-group-id="9183402503-3">}</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·18,·SHA:·9b0dabddc8b162ee9bd6129bc0663bea3492edafa212aaa85ae51d51ff996c2d·...·]3-2">)</span><span·class="p">,</span><span·class="w">
175 ····175 ····
176 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="5805106643-4">(</span><span·class="s">&quot;\e[?1049h&quot;</span><span·class="p"·data-group-id="5805106643-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Enable·alternate·screen·buffer</span><span·class="w">176 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="9183402503-4">(</span><span·class="s">&quot;\e[?1049h&quot;</span><span·class="p"·data-group-id="9183402503-4">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Enable·alternate·screen·buffer</span><span·class="w">
177 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="5805106643-5">(</span><span·class="s">&quot;\e[?25l&quot;</span><span·class="p"·data-group-id="5805106643-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Hide·the·cursor</span><span·class="w">177 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="9183402503-5">(</span><span·class="s">&quot;\e[?25l&quot;</span><span·class="p"·data-group-id="9183402503-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Hide·the·cursor</span><span·class="w">
178 ····</span><span·class="nf">draw_board</span><span·class="p"·data-group-id="5805106643-6">(</span><span·class="p"·data-group-id="5805106643-6">)</span><span·class="p">,</span><span·class="w">178 ····</span><span·class="nf">draw_board</span><span·class="p"·data-group-id="9183402503-6">(</span><span·class="p"·data-group-id="9183402503-6">)</span><span·class="p">,</span><span·class="w">
179 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="5805106643-7">(</span><span·class="mi">0</span><span·class="p"·data-group-id="5805106643-7">)</span><span·class="p">,</span><span·class="w">179 ····</span><span·class="nf">loop</span><span·class="p"·data-group-id="9183402503-7">(</span><span·class="mi">0</span><span·class="p"·data-group-id="9183402503-7">)</span><span·class="p">,</span><span·class="w">
180 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="5805106643-8">(</span><span·class="s">&quot;\e[?25h&quot;</span><span·class="p"·data-group-id="5805106643-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Show·the·cursor</span><span·class="w">180 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="9183402503-8">(</span><span·class="s">&quot;\e[?25h&quot;</span><span·class="p"·data-group-id="9183402503-8">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Show·the·cursor</span><span·class="w">
181 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="5805106643-9">(</span><span·class="s">&quot;\e[?1049l&quot;</span><span·class="p"·data-group-id="5805106643-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Disable·alternate·screen·buffer</span><span·class="w">181 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="9183402503-9">(</span><span·class="s">&quot;\e[?1049l&quot;</span><span·class="p"·data-group-id="9183402503-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%%·Disable·alternate·screen·buffer</span><span·class="w">
182 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">182 ····</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
  
183 </span><span·class="nf">loop</span><span·class="p"·data-group-id="5805106643-10">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="5805106643-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">183 </span><span·class="nf">loop</span><span·class="p"·data-group-id="9183402503-10">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="9183402503-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
184 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="5805106643-11">(</span><span·class="nf">draw_selection</span><span·class="p"·data-group-id="5805106643-12">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="5805106643-12">)</span><span·class="p"·data-group-id="5805106643-11">)</span><span·class="p">,</span><span·class="w">184 ····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="9183402503-11">(</span><span·class="nf">draw_selection</span><span·class="p"·data-group-id="9183402503-12">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="9183402503-12">)</span><span·class="p"·data-group-id="9183402503-11">)</span><span·class="p">,</span><span·class="w">
185 ····</span><span·class="c1">%%·Read·at·most·1024·characters·from·stdin.</span><span·class="w">185 ····</span><span·class="c1">%%·Read·at·most·1024·characters·from·stdin.</span><span·class="w">
186 ····</span><span·class="p"·data-group-id="5805106643-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chars</span><span·class="p"·data-group-id="5805106643-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·283,·SHA:·8623ca8a15206bacba0e34b3c574c4fb1491ce5bd9fb7c837c97fddeb79d3ee2·...·]3-14">)</span><span·class="p">,</span><span·class="w">186 ····</span><span·class="p"·data-group-id="9183402503-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Chars</span><span·class="p"·data-group-id="9183402503-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·283,·SHA:·c3ee38439f7f9e2192ed96824293ab7ffcceb33271bff1f53a5433a7d2d1a938·...·]3-14">)</span><span·class="p">,</span><span·class="w">
187 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="5805106643-15">(</span><span·class="n">Chars</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data-group-id="5805106643-15">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">187 ····</span><span·class="k">case</span><span·class="w">·</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="9183402503-15">(</span><span·class="n">Chars</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data-group-id="9183402503-15">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
188 ········</span><span·class="ss">stop</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">;</span><span·class="w">188 ········</span><span·class="ss">stop</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">stop</span><span·class="p">;</span><span·class="w">
189 ········</span><span·class="n">NewPos</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">189 ········</span><span·class="n">NewPos</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
190 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="5805106643-16">(</span><span·class="nf">clear_selection</span><span·class="p"·data-group-id="5805106643-17">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="5805106643-17">)</span><span·class="p"·data-group-id="5805106643-16">)</span><span·class="p">,</span><span·class="w">190 ············</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">put_chars</span><span·class="p"·data-group-id="9183402503-16">(</span><span·class="nf">clear_selection</span><span·class="p"·data-group-id="9183402503-17">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="9183402503-17">)</span><span·class="p"·data-group-id="9183402503-16">)</span><span·class="p">,</span><span·class="w">
191 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="5805106643-18">(</span><span·class="n">NewPos</span><span·class="p"·data-group-id="5805106643-18">)</span><span·class="w">191 ············</span><span·class="nf">loop</span><span·class="p"·data-group-id="9183402503-18">(</span><span·class="n">NewPos</span><span·class="p"·data-group-id="9183402503-18">)</span><span·class="w">
192 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">192 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
193 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="5805106643-19">(</span><span·class="s">&quot;\e[A&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·d0edd72ba0f09dc89c6127ae205cb50c7c5319c04a3b413a6ced37e7b9c063bb·...·]3-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">193 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="9183402503-19">(</span><span·class="s">&quot;\e[A&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·5a3610259d2ee2e8608963b3f9c8b0258487ac2745bbd3381c8483d1f4dff913·...·]3-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
194 ····</span><span·class="c1">%%·Up·key</span><span·class="w">194 ····</span><span·class="c1">%%·Up·key</span><span·class="w">
195 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="5805106643-20">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">max</span><span·class="p"·data-group-id="5805106643-21">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·213,·SHA:·3ff1a13b810379ad5985be940eca0b0e60df012a14c3cc5321305750a9773d54·...·]3-20">)</span><span·class="p">;</span><span·class="w">195 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="9183402503-20">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">max</span><span·class="p"·data-group-id="9183402503-21">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·213,·SHA:·c004e50fe6decd8d53cb7ea982338518ac2efcad9179e0da589788a45ffbbfe1·...·]3-20">)</span><span·class="p">;</span><span·class="w">
196 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="5805106643-22">(</span><span·class="s">&quot;\e[B&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·d0edd72ba0f09dc89c6127ae205cb50c7c5319c04a3b413a6ced37e7b9c063bb·...·]3-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">196 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="9183402503-22">(</span><span·class="s">&quot;\e[B&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·5a3610259d2ee2e8608963b3f9c8b0258487ac2745bbd3381c8483d1f4dff913·...·]3-22">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
197 ····</span><span·class="c1">%%·Down·key</span><span·class="w">197 ····</span><span·class="c1">%%·Down·key</span><span·class="w">
198 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="5805106643-23">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">min</span><span·class="p"·data-group-id="5805106643-24">(</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·213,·SHA:·d177397bda2ad72ab0ee756263420153e2b76863ad98a83e0d1593ea8089a759·...·]3-23">)</span><span·class="p">;</span><span·class="w">198 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="9183402503-23">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">min</span><span·class="p"·data-group-id="9183402503-24">(</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·213,·SHA:·4925ab6632d73d4f0bede5be1af1f4dbabc543afd0327104fe6baa23b57bfbd8·...·]3-23">)</span><span·class="p">;</span><span·class="w">
199 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="5805106643-25">(</span><span·class="s">&quot;\e[C&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·d0edd72ba0f09dc89c6127ae205cb50c7c5319c04a3b413a6ced37e7b9c063bb·...·]3-25">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">199 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="9183402503-25">(</span><span·class="s">&quot;\e[C&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·5a3610259d2ee2e8608963b3f9c8b0258487ac2745bbd3381c8483d1f4dff913·...·]3-25">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
200 ····</span><span·class="c1">%%·right·key</span><span·class="w">200 ····</span><span·class="c1">%%·right·key</span><span·class="w">
201 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="5805106643-26">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">min</span><span·class="p"·data-group-id="5805106643-27">(</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·213,·SHA:·93d1e65d700b2ede243562b671fd5afeb4cc1d555474492998df72320dae445b·...·]3-26">)</span><span·class="p">;</span><span·class="w">201 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="9183402503-26">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">min</span><span·class="p"·data-group-id="9183402503-27">(</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·213,·SHA:·c6cfcdd3233dc6d735bf6c091cbdc7dd1bdabb190e2dfede1d558919996b42a3·...·]3-26">)</span><span·class="p">;</span><span·class="w">
202 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="5805106643-28">(</span><span·class="s">&quot;\e[D&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·d0edd72ba0f09dc89c6127ae205cb50c7c5319c04a3b413a6ced37e7b9c063bb·...·]3-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">202 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="9183402503-28">(</span><span·class="s">&quot;\e[D&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·20,·SHA:·5a3610259d2ee2e8608963b3f9c8b0258487ac2745bbd3381c8483d1f4dff913·...·]3-28">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
203 ····</span><span·class="c1">%%·left·key</span><span·class="w">203 ····</span><span·class="c1">%%·left·key</span><span·class="w">
204 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="5805106643-29">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">max</span><span·class="p"·data-group-id="5805106643-30">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·213,·SHA:·458cf332710f5ecb41e4b5306843066522ce54ba35b8c3830da90b732d2f3547·...·]3-29">)</span><span·class="p">;</span><span·class="w">204 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="9183402503-29">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">max</span><span·class="p"·data-group-id="9183402503-30">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·213,·SHA:·66138f2ddc37e010d434c8d8f7a8ccfb8ef8117fcc5a8d6dd298928b7f69a466·...·]3-29">)</span><span·class="p">;</span><span·class="w">
205 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="5805106643-31">(</span><span·class="s">&quot;q&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">State</span>[·...·truncated·by·diffoscope;·len:·40,·SHA:·b09563bfd046b1f6d45eda12b02e5c99eae1d9f9bf072d06782b15f3e1d67a71·...·]3-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">205 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="9183402503-31">(</span><span·class="s">&quot;q&quot;</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">State</span>[·...·truncated·by·diffoscope;·len:·40,·SHA:·da25bf14d44738b94dfcb5b1d4fb351baff0143827d8a56a2b5cf72044a77280·...·]3-31">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 ····</span><span·class="ss">stop</span><span·class="p">;</span><span·class="w">206 ····</span><span·class="ss">stop</span><span·class="p">;</span><span·class="w">
207 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="5805106643-32">(</span><span·class="p"·data-group-id="5805106643-33">[</span><span·class="p">_</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">T</span><span·class="p"·data-group-id="5805106643-33">]</span><span[·...·truncated·by·diffoscope;·len:·111,·SHA:·f143b850e8943cd008fd1159d2fcbc926644729fddc2fabbcbb81c4627320e4e·...·]3-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">207 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="9183402503-32">(</span><span·class="p"·data-group-id="9183402503-33">[</span><span·class="p">_</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">T</span><span·class="p"·data-group-id="9183402503-33">]</span><span[·...·truncated·by·diffoscope;·len:·111,·SHA:·e33a3742cc5bb600c0e21a6a8b363fc9e1191f18d9ecebfdd6a308d8290072d9·...·]3-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
208 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="5805106643-34">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="5805106643-34">)</span><span·class="p">;</span><span·class="w">208 ····</span><span·class="nf">handle_input</span><span·class="p"·data-group-id="9183402503-34">(</span><span·class="n">T</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="9183402503-34">)</span><span·class="p">;</span><span·class="w">
209 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="5805106643-35">(</span><span·class="p"·data-group-id="5805106643-36">[</span><span·class="p"·data-group-id="5805106643-36">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="5805106643-35">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">209 </span><span·class="nf">handle_input</span><span·class="p"·data-group-id="9183402503-35">(</span><span·class="p"·data-group-id="9183402503-36">[</span><span·class="p"·data-group-id="9183402503-36">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="9183402503-35">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
210 ····</span><span·class="n">State</span><span·class="p">.</span></code></pre><p>Note·that·when·using·<a·href="io.html#get_chars/2"><code·class="inline">io:get_chars/2</code></a>·with·the·shell·set·in·<code·class="inline">{noshell,·raw}</code>·mode210 ····</span><span·class="n">State</span><span·class="p">.</span></code></pre><p>Note·that·when·using·<a·href="io.html#get_chars/2"><code·class="inline">io:get_chars/2</code></a>·with·the·shell·set·in·<code·class="inline">{noshell,·raw}</code>·mode
211 it·will·return·as·soon·as·any·data·is·available.·The·number·of·characters211 it·will·return·as·soon·as·any·data·is·available.·The·number·of·characters
212 is·the·maximum·number·that·will·be·returned.·We·use·1024·here·to·make·sure·that212 is·the·maximum·number·that·will·be·returned.·We·use·1024·here·to·make·sure·that
213 we·always·get·all·the·data·in·one·read.</p><p>We·also·need·to·draw·the·selection·marker,·we·do·this·using·some·simple·drawing213 we·always·get·all·the·data·in·one·read.</p><p>We·also·need·to·draw·the·selection·marker,·we·do·this·using·some·simple·drawing
214 routines.</p><pre·id="monospace-font"><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Clear/draw·the·selection·markers,·making·sure</span><span·class="w">214 routines.</p><pre·id="monospace-font"><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Clear/draw·the·selection·markers,·making·sure</span><span·class="w">
215 </span><span·class="c1">%%·not·to·overwrite·if·a·X·or·O·exists.</span><span·class="w">215 </span><span·class="c1">%%·not·to·overwrite·if·a·X·or·O·exists.</span><span·class="w">
216 </span><span·class="c1">%%···\b·=·Move·cursor·left</span><span·class="w">216 </span><span·class="c1">%%···\b·=·Move·cursor·left</span><span·class="w">
217 </span><span·class="c1">%%···\e[C·=·Move·cursor·right</span><span·class="w">217 </span><span·class="c1">%%···\e[C·=·Move·cursor·right</span><span·class="w">
218 </span><span·class="c1">%%···\n·=·Move·cursor·down</span><span·class="w">218 </span><span·class="c1">%%···\n·=·Move·cursor·down</span><span·class="w">
219 </span><span·class="nf">clear_selection</span><span·class="p"·data-group-id="1359858503-1">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="1359858503-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">219 </span><span·class="nf">clear_selection</span><span·class="p"·data-group-id="4315618343-1">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="4315618343-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
220 ····</span><span·class="p"·data-group-id="1359858503-2">[</span><span·class="nf">set_position</span><span·class="p"·data-group-id="1359858503-3">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="1359858503-3">)</span><span·class="p">,</span><span·class="w">220 ····</span><span·class="p"·data-group-id="4315618343-2">[</span><span·class="nf">set_position</span><span·class="p"·data-group-id="4315618343-3">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="4315618343-3">)</span><span·class="p">,</span><span·class="w">
221 ·····</span><span·class="s">&quot;·······&quot;</span><span·class="p">,</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="w">221 ·····</span><span·class="s">&quot;·······&quot;</span><span·class="p">,</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="w">
222 ·····</span><span·class="s">&quot;·\e[C\e[C\e[C\e[C\e[C·&quot;</span><span·class="p">,</span><span·class="w">222 ·····</span><span·class="s">&quot;·\e[C\e[C\e[C\e[C\e[C·&quot;</span><span·class="p">,</span><span·class="w">
223 ·····</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="s">&quot;·······&quot;</span><span·class="p"·data-group-id="1359858503-2">]</span><span·class="p">.</span><span·class="w">223 ·····</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="s">&quot;·······&quot;</span><span·class="p"·data-group-id="4315618343-2">]</span><span·class="p">.</span><span·class="w">
  
224 </span><span·class="nf">draw_selection</span><span·class="p"·data-group-id="1359858503-4">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="1359858503-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">224 </span><span·class="nf">draw_selection</span><span·class="p"·data-group-id="4315618343-4">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="4315618343-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
225 ····</span><span·class="p"·data-group-id="1359858503-5">[</span><span·class="nf">set_position</span><span·class="p"·data-group-id="1359858503-6">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="1359858503-6">)</span><span·class="p">,</span><span·class="w">225 ····</span><span·class="p"·data-group-id="4315618343-5">[</span><span·class="nf">set_position</span><span·class="p"·data-group-id="4315618343-6">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="4315618343-6">)</span><span·class="p">,</span><span·class="w">
226 ·····</span><span·class="s">&quot;┌─────┐&quot;</span><span·class="p">,</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="w">226 ·····</span><span·class="s">&quot;┌─────┐&quot;</span><span·class="p">,</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="w">
227 ·····</span><span·class="s">&quot;│\e[C\e[C\e[C\e[C\e[C│&quot;</span><span·class="p">,</span><span·class="w">227 ·····</span><span·class="s">&quot;│\e[C\e[C\e[C\e[C\e[C│&quot;</span><span·class="p">,</span><span·class="w">
228 ·····</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="s">&quot;└─────┘&quot;</span><span·class="p"·data-group-id="1359858503-5">]</span><span·class="p">.</span><span·class="w">228 ·····</span><span·class="s">&quot;\b\b\b\b\b\b\b\n&quot;</span><span·class="p">,</span><span·class="s">&quot;└─────┘&quot;</span><span·class="p"·data-group-id="4315618343-5">]</span><span·class="p">.</span><span·class="w">
  
229 </span><span·class="c1">%%·Set·the·cursor·position·to·be·at·the·top</span><span·class="w">229 </span><span·class="c1">%%·Set·the·cursor·position·to·be·at·the·top</span><span·class="w">
230 </span><span·class="c1">%%·left·of·the·field·of·the·given·position</span><span·class="w">230 </span><span·class="c1">%%·left·of·the·field·of·the·given·position</span><span·class="w">
231 </span><span·class="nf">set_position</span><span·class="p"·data-group-id="1359858503-7">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="1359858503-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">231 </span><span·class="nf">set_position</span><span·class="p"·data-group-id="4315618343-7">(</span><span·class="n">Pos</span><span·class="p"·data-group-id="4315618343-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ····</span><span·class="n">Row</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">6</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="p"·data-group-id="1359858503-8">(</span><span·class="n">Pos</span><span·class="w">·</span><span·class="ow">div</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="1359858503-8">)</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">232 ····</span><span·class="n">Row</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">6</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="p"·data-group-id="4315618343-8">(</span><span·class="n">Pos</span><span·class="w">·</span><span·class="ow">div</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="4315618343-8">)</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="mi">4</span><span·class="p">,</span><span·class="w">
233 ····</span><span·class="n">Col</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">7</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="p"·data-group-id="1359858503-9">(</span><span·class="n">Pos</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="1359858503-9">)</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">233 ····</span><span·class="n">Col</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">7</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="p"·data-group-id="4315618343-9">(</span><span·class="n">Pos</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">·</span><span·class="mi">3</span><span·class="p"·data-group-id="4315618343-9">)</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="mi">8</span><span·class="p">,</span><span·class="w">
234 ····</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1359858503-10">(</span><span·class="s">&quot;\e[</span><span·class="si">~p</span><span·class="s">;</span><span·class="si">~p</span><span·class="s">H&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="1359858503-11">[</span><span·class="n">R[·...·truncated·by·diffoscope;·len:·177,·SHA:·390dd555375b09a6e9844464c279843ca7272368eb2090dc0a05fe4601b73f27·...·]3-10">)</span><span·class="p">.</span></code></pre><p>Now·we·have·a·program·where·we·can·move·the·marker·around·the·board.234 ····</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="4315618343-10">(</span><span·class="s">&quot;\e[</span><span·class="si">~p</span><span·class="s">;</span><span·class="si">~p</span><span·class="s">H&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="4315618343-11">[</span><span·class="n">R[·...·truncated·by·diffoscope;·len:·177,·SHA:·6d8db523c449bd7417e2eeab030c8a6f28ac0a11f5440ce5e1b7cf7dc1d1e6c6·...·]3-10">)</span><span·class="p">.</span></code></pre><p>Now·we·have·a·program·where·we·can·move·the·marker·around·the·board.
235 To·complete·the·game·we·need·to·add·some·state·so·that·we·know·which235 To·complete·the·game·we·need·to·add·some·state·so·that·we·know·which
236 squares·are·marked·and·whos·turn·it·is.·You·can·find·the·final·solution236 squares·are·marked·and·whos·turn·it·is.·You·can·find·the·final·solution
237 in·<a·href="assets/tic-tac-toe.es">tic-tac-toe.es</a>.</p>237 in·<a·href="assets/tic-tac-toe.es">tic-tac-toe.es</a>.</p>
238 </div>238 </div>
  
239 <div·class="bottom-actions"·id="bottom-actions">239 <div·class="bottom-actions"·id="bottom-actions">
240 ··<div·class="bottom-actions-item">240 ··<div·class="bottom-actions-item">
Offset 285, 15 lines modifiedOffset 285, 15 lines modified
285 ······<p·class="built-using">285 ······<p·class="built-using">
286 ········Built·using286 ········Built·using
287 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the287 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
288 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>288 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
289 ······</p>289 ······</p>
290 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>290 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
291 ····</footer>291 ····</footer>
292 ··</div>292 ··</div>
293 </main>293 </main>
294 </div>294 </div>
295 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>295 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
296 ··<script>296 ··<script>
297 ··let·initialized·=·false;297 ··let·initialized·=·false;
853 B
html2text {}
Max HTML report size reached
20.8 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/timer.html
    
Offset 142, 23 lines modifiedOffset 142, 23 lines modified
142 <a·href="../../../../erts-16.0/doc/html/time_correction.html"><em>Time·and·Time·Correction·in·Erlang</em></a>142 <a·href="../../../../erts-16.0/doc/html/time_correction.html"><em>Time·and·Time·Correction·in·Erlang</em></a>
143 ERTS·User's·guide.</p><h2·id="module-examples"·class="section-heading">143 ERTS·User's·guide.</p><h2·id="module-examples"·class="section-heading">
144 ··<a·href="#module-examples"·class="hover-link">144 ··<a·href="#module-examples"·class="hover-link">
145 ····<i·class="ri-link-m"·aria-hidden="true"></i>145 ····<i·class="ri-link-m"·aria-hidden="true"></i>
146 ··</a>146 ··</a>
147 ··<span·class="text">Examples</span>147 ··<span·class="text">Examples</span>
148 </h2>148 </h2>
149 <p><em>Example·1</em></p><p>The·following·example·shows·how·to·print·&quot;Hello·World!&quot;·in·5·seconds:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">apply_after</span><span·class="p"·data-group-id="0546490115-1">(</span><span·class="mi">5000</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">io</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">format</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·440,·SHA:·bbcf041253d6a266ce67b60710ecf6e44fae5f27a7f4d8455304ed05ffb6d14e·...·]-1">)</span><span·class="p">.</span><span·class="w">149 <p><em>Example·1</em></p><p>The·following·example·shows·how·to·print·&quot;Hello·World!&quot;·in·5·seconds:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">apply_after</span><span·class="p"·data-group-id="9329286903-1">(</span><span·class="mi">5000</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">io</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">format</span><span·class="p">,</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·440,·SHA:·eed92a45f67e860649270144c482b83118230c5d4ca4ced4e3d14427e5adeba4·...·]-1">)</span><span·class="p">.</span><span·class="w">
150 </span><span·class="p"·data-group-id="0546490115-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="0546490115-4">}</span><span·class="w">150 </span><span·class="p"·data-group-id="9329286903-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="9329286903-4">}</span><span·class="w">
151 </span><span·class="n">Hello</span><span·class="w">·</span><span·class="n">World</span><span·class="o">!</span></code></pre><p><em>Example·2</em></p><p>The·following·example·shows·a·process·performing·a·certain·action,·and·if·this151 </span><span·class="n">Hello</span><span·class="w">·</span><span·class="n">World</span><span·class="o">!</span></code></pre><p><em>Example·2</em></p><p>The·following·example·shows·a·process·performing·a·certain·action,·and·if·this
152 action·is·not·completed·within·a·certain·limit,·the·process·is·killed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Pid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="7217288240-1">(</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="k">fun</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7217288240-2">[</span><span·class="ss">foo</span><span[·...·truncated·by·diffoscope;·len:·164,·SHA:·9949dbd849c610a81453ffc2552c01e368aa247d54473b9ece6f8a992eec35a2·...·]-1">)</span><span·class="p">,</span><span·class="w">152 action·is·not·completed·within·a·certain·limit,·the·process·is·killed:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Pid</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn</span><span·class="p"·data-group-id="9740661071-1">(</span><span·class="ss">mod</span><span·class="p">,</span><span·class="w">·</span><span·class="k">fun</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9740661071-2">[</span><span·class="ss">foo</span><span[·...·truncated·by·diffoscope;·len:·164,·SHA:·5836f1172571e7afb5d48a67bd659f149e1df8e1b74a29242a513572c695fc77·...·]-1">)</span><span·class="p">,</span><span·class="w">
153 </span><span·class="c1">%%·If·pid·is·not·finished·in·10·seconds,·kill·him</span><span·class="w">153 </span><span·class="c1">%%·If·pid·is·not·finished·in·10·seconds,·kill·him</span><span·class="w">
154 </span><span·class="p"·data-group-id="7217288240-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">R</span><span·class="p"·data-group-id="7217288240-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·460,·SHA:·4347d2c659cfeef82179e3d2731a53ae392e0ebded88994e361b6207cc6696ea·...·]-4">)</span><span·class="p">,</span><span·class="w">154 </span><span·class="p"·data-group-id="9740661071-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">R</span><span·class="p"·data-group-id="9740661071-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·460,·SHA:·87c72f4067dc0c70849581349b7533415dbd3a5565800565e52b9a675d26fce6·...·]-4">)</span><span·class="p">,</span><span·class="w">
155 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">155 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
156 </span><span·class="c1">%%·We·change·our·mind...</span><span·class="w">156 </span><span·class="c1">%%·We·change·our·mind...</span><span·class="w">
157 </span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">cancel</span><span·class="p"·data-group-id="7217288240-6">(</span><span·class="n">R</span><span·class="p"·data-group-id="7217288240-6">)</span><span·class="p">,</span><span·class="w">157 </span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">cancel</span><span·class="p"·data-group-id="9740661071-6">(</span><span·class="n">R</span><span·class="p"·data-group-id="9740661071-6">)</span><span·class="p">,</span><span·class="w">
158 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><h2·id="module-notes"·class="section-heading">158 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><h2·id="module-notes"·class="section-heading">
159 ··<a·href="#module-notes"·class="hover-link">159 ··<a·href="#module-notes"·class="hover-link">
160 ····<i·class="ri-link-m"·aria-hidden="true"></i>160 ····<i·class="ri-link-m"·aria-hidden="true"></i>
161 ··</a>161 ··</a>
162 ··<span·class="text">Notes</span>162 ··<span·class="text">Notes</span>
163 </h2>163 </h2>
164 <p>A·timer·can·always·be·removed·by·calling·<a·href="#cancel/1"><code·class="inline">cancel/1</code></a>.</p><p>An·interval·timer,·that·is,·a·timer·created·by·evaluating·any·of·the·functions164 <p>A·timer·can·always·be·removed·by·calling·<a·href="#cancel/1"><code·class="inline">cancel/1</code></a>.</p><p>An·interval·timer,·that·is,·a·timer·created·by·evaluating·any·of·the·functions
Offset 177, 28 lines modifiedOffset 177, 28 lines modified
177 process,·and·therefore·calls·to·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·in·those·functions·will·return·the·Pid177 process,·and·therefore·calls·to·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·in·those·functions·will·return·the·Pid
178 of·this·process,·which·is·different·from·the·process·that·called178 of·this·process,·which·is·different·from·the·process·that·called
179 <code·class="inline">timer:apply_*</code>.</p><p><em>Example</em></p><p>In·the·following·example,·the·intention·is·to·set·a·timer·to·execute·a·function179 <code·class="inline">timer:apply_*</code>.</p><p><em>Example</em></p><p>In·the·following·example,·the·intention·is·to·set·a·timer·to·execute·a·function
180 after·1·second,·which·performs·a·fictional·task,·and·then·wants·to·inform·the180 after·1·second,·which·performs·a·fictional·task,·and·then·wants·to·inform·the
181 process·which·set·the·timer·about·its·completion,·by·sending·it·a·<code·class="inline">done</code>181 process·which·set·the·timer·about·its·completion,·by·sending·it·a·<code·class="inline">done</code>
182 message.</p><p>Using·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·<em>inside</em>·the·timed·function,·the·code·below·does·not·work·as182 message.</p><p>Using·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·<em>inside</em>·the·timed·function,·the·code·below·does·not·work·as
183 intended.·The·task·gets·done,·but·the·<code·class="inline">done</code>·message·gets·sent·to·the·wrong183 intended.·The·task·gets·done,·but·the·<code·class="inline">done</code>·message·gets·sent·to·the·wrong
184 process·and·is·lost.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">apply_after</span><span·class="p"·data-group-id="4028824530-1">(</span><span·class="mi">1000</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="4028824530-2">(</span><span·class="p"·data-group-id="4028824530-2">)</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·566,·SHA:·d839a5e67f179285799ae8877cc64dee90a5d2360c81714c2123677e257d741b·...·]-1">)</span><span·class="p">.</span><span·class="w">184 process·and·is·lost.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">apply_after</span><span·class="p"·data-group-id="9277064374-1">(</span><span·class="mi">1000</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="9277064374-2">(</span><span·class="p"·data-group-id="9277064374-2">)</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·566,·SHA:·ab37c8b404622c8a8c3261a9b47d48155f4fbb0f85dfa93df0795e62aa5b7d5f·...·]-1">)</span><span·class="p">.</span><span·class="w">
185 </span><span·class="p"·data-group-id="4028824530-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="4028824530-5">}</span><span·class="gp·unselectable">185 </span><span·class="p"·data-group-id="9277064374-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="9277064374-5">}</span><span·class="gp·unselectable">
186 2&gt;·</span><span·class="k">receive</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">timeout</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">186 2&gt;·</span><span·class="k">receive</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">timeout</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
187 </span><span·class="c1">%%·...·5s·pass...</span><span·class="w">187 </span><span·class="c1">%%·...·5s·pass...</span><span·class="w">
188 </span><span·class="ss">timeout</span></code></pre><p>The·code·below·calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·in·the·process·which·sets·the·timer·and·assigns·it188 </span><span·class="ss">timeout</span></code></pre><p>The·code·below·calls·<a·href="../../../../erts-16.0/doc/html/erlang.html#self/0"><code·class="inline">self/0</code></a>·in·the·process·which·sets·the·timer·and·assigns·it
189 to·a·variable,·which·is·then·used·in·the·function·to·send·the·<code·class="inline">done</code>·message·to,189 to·a·variable,·which·is·then·used·in·the·function·to·send·the·<code·class="inline">done</code>·message·to,
190 and·so·works·as·intended.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Target</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="5439276176-1">(</span><span·class="p"·data-group-id="5439276176-1">)</span><span·class="w">190 and·so·works·as·intended.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Target</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="8898648266-1">(</span><span·class="p"·data-group-id="8898648266-1">)</span><span·class="w">
191 </span><span·class="o">&lt;</span><span·class="mf">0.82</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">191 </span><span·class="o">&lt;</span><span·class="mf">0.82</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="gp·unselectable">
192 2&gt;·</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">apply_after</span><span·class="p"·data-group-id="5439276176-2">(</span><span·class="mi">1000</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="5439276176-3">(</span><span·class="p"·data-group-id="5439276176-3">)</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·460,·SHA:·8dde026a52e380c2d736c8af476a9b7819125b037ee6ea663e6e5261d9fcd53e·...·]6-2">)</span><span·class="p">.</span><span·class="w">192 2&gt;·</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">apply_after</span><span·class="p"·data-group-id="8898648266-2">(</span><span·class="mi">1000</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="8898648266-3">(</span><span·class="p"·data-group-id="8898648266-3">)</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·460,·SHA:·ece01ec675beadb537c1db842618ef02d1f7c81da6fdcf4b4085aaeb609d1a3e·...·]6-2">)</span><span·class="p">.</span><span·class="w">
193 </span><span·class="p"·data-group-id="5439276176-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="5439276176-5">}</span><span·class="gp·unselectable">193 </span><span·class="p"·data-group-id="8898648266-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="8898648266-5">}</span><span·class="gp·unselectable">
194 3&gt;·</span><span·class="k">receive</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">timeout</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">194 3&gt;·</span><span·class="k">receive</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">timeout</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
195 </span><span·class="c1">%%·...·1s·passes...</span><span·class="w">195 </span><span·class="c1">%%·...·1s·passes...</span><span·class="w">
196 </span><span·class="ss">done</span></code></pre><p>Another·option·is·to·pass·the·message·target·as·a·parameter·to·the·function.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">apply_after</span><span·class="p"·data-group-id="4815423203-1">(</span><span·class="mi">1000</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="4815423203-2">(</span><span·class="n">Target</span><span·class="p"·data-group-id="4815423203-2">)</s[·...·truncated·by·diffoscope;·len:·778,·SHA:·648381b248c21e7387be1fe7708c570281595de94e9e6417bc9726d9f5a3f369·...·]-1">)</span><span·class="p">.</span><span·class="w">196 </span><span·class="ss">done</span></code></pre><p>Another·option·is·to·pass·the·message·target·as·a·parameter·to·the·function.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">apply_after</span><span·class="p"·data-group-id="9806897819-1">(</span><span·class="mi">1000</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="9806897819-2">(</span><span·class="n">Target</span><span·class="p"·data-group-id="9806897819-2">)</s[·...·truncated·by·diffoscope;·len:·778,·SHA:·8523a3ccbf35290c493aea9a500f065ccb6a30302756378ea6b33fab10022653·...·]-1">)</span><span·class="p">.</span><span·class="w">
197 </span><span·class="p"·data-group-id="4815423203-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="4815423203-6">}</span><span·class="gp·unselectable">197 </span><span·class="p"·data-group-id="9806897819-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">TRef</span><span·class="p"·data-group-id="9806897819-6">}</span><span·class="gp·unselectable">
198 2&gt;·</span><span·class="k">receive</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">timeout</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">198 2&gt;·</span><span·class="k">receive</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">done</span><span·class="w">·</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">5000</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">timeout</span><span·class="w">·</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
199 </span><span·class="c1">%%·...·1s·passes...</span><span·class="w">199 </span><span·class="c1">%%·...·1s·passes...</span><span·class="w">
200 </span><span·class="ss">done</span></code></pre>200 </span><span·class="ss">done</span></code></pre>
201 ····</section>201 ····</section>
  
202 </div>202 </div>
  
Offset 1575, 15 lines modifiedOffset 1575, 15 lines modified
1575 ······<p·class="built-using">1575 ······<p·class="built-using">
1576 ········Built·using1576 ········Built·using
1577 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1577 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1578 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1578 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1579 ······</p>1579 ······</p>
1580 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1580 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1581 ····</footer>1581 ····</footer>
1582 ··</div>1582 ··</div>
1583 </main>1583 </main>
1584 </div>1584 </div>
1585 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1585 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1586 ··<script>1586 ··<script>
1587 ··let·initialized·=·false;1587 ··let·initialized·=·false;
779 B
html2text {}
Max HTML report size reached
38.1 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/unicode.html
    
Offset 1031, 21 lines modifiedOffset 1031, 21 lines modified
1031 binaries·in·other·ways·are·split·on·non-UTF·character·boundaries.·An1031 binaries·in·other·ways·are·split·on·non-UTF·character·boundaries.·An
1032 <code·class="inline">incomplete</code>·tuple·is·then·returned·instead·of·the·<code·class="inline">error</code>·tuple.·It·consists·of1032 <code·class="inline">incomplete</code>·tuple·is·then·returned·instead·of·the·<code·class="inline">error</code>·tuple.·It·consists·of
1033 the·same·parts·as·the·<code·class="inline">error</code>·tuple,·but·the·tag·is·<code·class="inline">incomplete</code>·instead·of1033 the·same·parts·as·the·<code·class="inline">error</code>·tuple,·but·the·tag·is·<code·class="inline">incomplete</code>·instead·of
1034 <code·class="inline">error</code>·and·the·last·element·is·always·guaranteed·to·be·a·binary·consisting·of1034 <code·class="inline">error</code>·and·the·last·element·is·always·guaranteed·to·be·a·binary·consisting·of
1035 the·first·part·of·a·(so·far)·valid·UTF·character.</p><p>If·one·UTF·character·is·split·over·two·consecutive·binaries·in·the·<code·class="inline">Data</code>,·the1035 the·first·part·of·a·(so·far)·valid·UTF·character.</p><p>If·one·UTF·character·is·split·over·two·consecutive·binaries·in·the·<code·class="inline">Data</code>,·the
1036 conversion·succeeds.·This·means·that·a·character·can·be·decoded·from·a·range·of1036 conversion·succeeds.·This·means·that·a·character·can·be·decoded·from·a·range·of
1037 binaries·as·long·as·the·whole·range·is·specified·as·input·without·errors1037 binaries·as·long·as·the·whole·range·is·specified·as·input·without·errors
1038 occurring.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">decode_data</span><span·class="p"·data-group-id="8042744959-1">(</span><span·class="n">Data</span><span·class="p"·data-group-id="8042744959-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1038 occurring.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">decode_data</span><span·class="p"·data-group-id="7559520050-1">(</span><span·class="n">Data</span><span·class="p"·data-group-id="7559520050-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1039 ···</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_list</span><span·class="p"·data-group-id="8042744959-2">(</span><span·class="n">Data</span><span·class="p">,</span><span·class="ss">unicode</span><span·class="p"·data-group-id="8042744959-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">1039 ···</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_list</span><span·class="p"·data-group-id="7559520050-2">(</span><span·class="n">Data</span><span·class="p">,</span><span·class="ss">unicode</span><span·class="p"·data-group-id="7559520050-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
1040 ······</span><span·class="p"·data-group-id="8042744959-3">{</span><span·class="ss">incomplete</span><span·class="p">,</span><span·class="n">Encoded</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p"·data-group-id="8042744959-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1040 ······</span><span·class="p"·data-group-id="7559520050-3">{</span><span·class="ss">incomplete</span><span·class="p">,</span><span·class="n">Encoded</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p"·data-group-id="7559520050-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1041 ············</span><span·class="n">More</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">get_some_more_data</span><span·class="p"·data-group-id="8042744959-4">(</span><span·class="p"·data-group-id="8042744959-4">)</span><span·class="p">,</span><span·class="w">1041 ············</span><span·class="n">More</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">get_some_more_data</span><span·class="p"·data-group-id="7559520050-4">(</span><span·class="p"·data-group-id="7559520050-4">)</span><span·class="p">,</span><span·class="w">
1042 ············</span><span·class="n">Encoded</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="nf">decode_data</span><span·class="p"·data-group-id="8042744959-5">(</span><span·class="p"·data-group-id="8042744959-6">[</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">More</span><span·class="p"·data-group-id="8042744959-6">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·74d6869064ecbd8e686ce8eda5e0790ea1b6051543438053d4301094797aa905·...·]-5">)</span><span·class="p">;</span><span·class="w">1042 ············</span><span·class="n">Encoded</span><span·class="w">·</span><span·class="o">++</span><span·class="w">·</span><span·class="nf">decode_data</span><span·class="p"·data-group-id="7559520050-5">(</span><span·class="p"·data-group-id="7559520050-6">[</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">More</span><span·class="p"·data-group-id="7559520050-6">]</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·937392be92a6fd94f0a622bcf7d2c9d9104cbcb0db49d1d863ca04402a441d2f·...·]-5">)</span><span·class="p">;</span><span·class="w">
1043 ······</span><span·class="p"·data-group-id="8042744959-7">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="n">Encoded</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="8042744959-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1043 ······</span><span·class="p"·data-group-id="7559520050-7">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="n">Encoded</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="7559520050-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1044 ············</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="8042744959-8">(</span><span·class="n">Encoded</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="8042744959-8">)</span><span·class="p">;</span><span·class="w">1044 ············</span><span·class="nf">handle_error</span><span·class="p"·data-group-id="7559520050-8">(</span><span·class="n">Encoded</span><span·class="p">,</span><span·class="n">Rest</span><span·class="p"·data-group-id="7559520050-8">)</span><span·class="p">;</span><span·class="w">
1045 ······</span><span·class="n">List</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">1045 ······</span><span·class="n">List</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
1046 ············</span><span·class="n">List</span><span·class="w">1046 ············</span><span·class="n">List</span><span·class="w">
1047 ···</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>However,·bit·strings·that·are·not·whole·bytes·are·not·allowed,·so·a·UTF1047 ···</span><span·class="k">end</span><span·class="p">.</span></code></pre><p>However,·bit·strings·that·are·not·whole·bytes·are·not·allowed,·so·a·UTF
1048 character·must·be·split·along·8-bit·boundaries·to·ever·be·decoded.</p><p>A·<code·class="inline">badarg</code>·exception·is·thrown·for·the·following·cases:</p><ul><li>Any·parameters·are·of·the·wrong·type.</li><li>The·list·structure·is·invalid·(a·number·as·tail).</li><li>The·binaries·do·not·contain·whole·bytes·(bit·strings).</li></ul>1048 character·must·be·split·along·8-bit·boundaries·to·ever·be·decoded.</p><p>A·<code·class="inline">badarg</code>·exception·is·thrown·for·the·following·cases:</p><ul><li>Any·parameters·are·of·the·wrong·type.</li><li>The·list·structure·is·invalid·(a·number·as·tail).</li><li>The·binaries·do·not·contain·whole·bytes·(bit·strings).</li></ul>
1049 ··</section>1049 ··</section>
1050 </section>1050 </section>
1051 <section·class="detail"·id="characters_to_nfc_binary/1">1051 <section·class="detail"·id="characters_to_nfc_binary/1">
Offset 1070, 16 lines modifiedOffset 1070, 16 lines modified
1070 ······<div·class="specs">1070 ······<div·class="specs">
  
1071 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfc_binary(<a·href="#t:chardata/0">chardata</a>())·->·<a·href="#t:unicode_binary/0">unicode_binary</a>()·|·{error,·<a·href="#t:unicode_binary/0">unicode_binary</a>(),·<a·href="#t:chardata/0">chardata</a>()}.</pre>1071 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfc_binary(<a·href="#t:chardata/0">chardata</a>())·->·<a·href="#t:unicode_binary/0">unicode_binary</a>()·|·{error,·<a·href="#t:unicode_binary/0">unicode_binary</a>(),·<a·href="#t:chardata/0">chardata</a>()}.</pre>
  
1072 ······</div>1072 ······</div>
  
1073 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form1073 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form
1074 of·canonical·equivalent·Composed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·an·utf8·encoded·binary.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfc_binary</span><span·class="p"·data-group-id="8065831880-1">(</span><span·class="p"·data-group-id="8065831880-2">[</span><span·class="p"·data-group-id="8065831880-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="8065831880-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·645,·SHA:·9d8b57886e19cb521438666bdecf91f408ca860ca7788f99744509167418d1b0·...·]-1">)</span><span·class="p">.</span><span·class="w">1074 of·canonical·equivalent·Composed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·an·utf8·encoded·binary.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfc_binary</span><span·class="p"·data-group-id="9897509638-1">(</span><span·class="p"·data-group-id="9897509638-2">[</span><span·class="p"·data-group-id="9897509638-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="9897509638-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·645,·SHA:·e98ec3f9b2d2cf340b797e3a9b331fbefd14a4f6579200b83e23576347d62a5a·...·]-1">)</span><span·class="p">.</span><span·class="w">
1075 </span><span·class="p"·data-group-id="8065831880-7">&lt;&lt;</span><span·class="s">&quot;abc..åäö&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="8065831880-7">&gt;&gt;</span></code></pre>1075 </span><span·class="p"·data-group-id="9897509638-7">&lt;&lt;</span><span·class="s">&quot;abc..åäö&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="9897509638-7">&gt;&gt;</span></code></pre>
1076 ··</section>1076 ··</section>
1077 </section>1077 </section>
1078 <section·class="detail"·id="characters_to_nfc_list/1">1078 <section·class="detail"·id="characters_to_nfc_list/1">
  
1079 ··<div·class="detail-header">1079 ··<div·class="detail-header">
1080 ····<a·href="#characters_to_nfc_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1080 ····<a·href="#characters_to_nfc_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1081 ······<i·class="ri-link-m"·aria-hidden="true"></i>1081 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1100, 15 lines modifiedOffset 1100, 15 lines modified
1100 ······<div·class="specs">1100 ······<div·class="specs">
  
1101 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfc_list(<a·href="#t:chardata/0">chardata</a>())·->·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()],·<a·href="#t:chardata/0">chardata</a>()}.</pre>1101 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfc_list(<a·href="#t:chardata/0">chardata</a>())·->·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()],·<a·href="#t:chardata/0">chardata</a>()}.</pre>
  
1102 ······</div>1102 ······</div>
  
1103 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form1103 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form
1104 of·canonical·equivalent·Composed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·a·list·of·characters.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfc_list</span><span·class="p"·data-group-id="1368308419-1">(</span><span·class="p"·data-group-id="1368308419-2">[</span><span·class="p"·data-group-id="1368308419-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="1368308419-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·645,·SHA:·bc31c74464e00b2d3bd891c6ae4ca619eaf5b9d352daa11ef3092c1a0e8cf8d1·...·]-1">)</span><span·class="p">.</span><span·class="w">1104 of·canonical·equivalent·Composed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·a·list·of·characters.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfc_list</span><span·class="p"·data-group-id="9167295451-1">(</span><span·class="p"·data-group-id="9167295451-2">[</span><span·class="p"·data-group-id="9167295451-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="9167295451-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·645,·SHA:·502d88f71da979a4fd4ec87152627be04e95b5608d195736067fb01d5b08a283·...·]-1">)</span><span·class="p">.</span><span·class="w">
1105 </span><span·class="s">&quot;abc..åäö&quot;</span></code></pre>1105 </span><span·class="s">&quot;abc..åäö&quot;</span></code></pre>
1106 ··</section>1106 ··</section>
1107 </section>1107 </section>
1108 <section·class="detail"·id="characters_to_nfd_binary/1">1108 <section·class="detail"·id="characters_to_nfd_binary/1">
  
1109 ··<div·class="detail-header">1109 ··<div·class="detail-header">
1110 ····<a·href="#characters_to_nfd_binary/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1110 ····<a·href="#characters_to_nfd_binary/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1130, 16 lines modifiedOffset 1130, 16 lines modified
1130 ······<div·class="specs">1130 ······<div·class="specs">
  
1131 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfd_binary(<a·href="#t:chardata/0">chardata</a>())·->·<a·href="#t:unicode_binary/0">unicode_binary</a>()·|·{error,·<a·href="#t:unicode_binary/0">unicode_binary</a>(),·<a·href="#t:chardata/0">chardata</a>()}.</pre>1131 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfd_binary(<a·href="#t:chardata/0">chardata</a>())·->·<a·href="#t:unicode_binary/0">unicode_binary</a>()·|·{error,·<a·href="#t:unicode_binary/0">unicode_binary</a>(),·<a·href="#t:chardata/0">chardata</a>()}.</pre>
  
1132 ······</div>1132 ······</div>
  
1133 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form1133 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form
1134 of·canonical·equivalent·Decomposed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·an·utf8·encoded·binary.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfd_binary</span><span·class="p"·data-group-id="3109166292-1">(</span><span·class="s">&quot;abc..åäö&quot;</span><span·class="p"·data-group-id="3109166292-1">)</span><span·class="p">.</span><span·class="w">1134 of·canonical·equivalent·Decomposed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·an·utf8·encoded·binary.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfd_binary</span><span·class="p"·data-group-id="0094041389-1">(</span><span·class="s">&quot;abc..åäö&quot;</span><span·class="p"·data-group-id="0094041389-1">)</span><span·class="p">.</span><span·class="w">
1135 </span><span·class="p"·data-group-id="3109166292-2">&lt;&lt;</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">98</span><span·class="p">,</span><span·class="mi">99</span><span·class="p">,</span><span·class="mi">46</span><span·class="p">,</span><span·class="mi">46</span><[·...·truncated·by·diffoscope;·len:·497,·SHA:·3b7f9eaacc62c519e3d25712580e10e4f97d0dd8db86e8ac6c3efa8366729fa0·...·]-2">&gt;&gt;</span></code></pre>1135 </span><span·class="p"·data-group-id="0094041389-2">&lt;&lt;</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">98</span><span·class="p">,</span><span·class="mi">99</span><span·class="p">,</span><span·class="mi">46</span><span·class="p">,</span><span·class="mi">46</span><[·...·truncated·by·diffoscope;·len:·497,·SHA:·09f90346415ba91a07cb896a82f623d187241cd5401e536be5dc2f0217f9a7f2·...·]-2">&gt;&gt;</span></code></pre>
1136 ··</section>1136 ··</section>
1137 </section>1137 </section>
1138 <section·class="detail"·id="characters_to_nfd_list/1">1138 <section·class="detail"·id="characters_to_nfd_list/1">
  
1139 ··<div·class="detail-header">1139 ··<div·class="detail-header">
1140 ····<a·href="#characters_to_nfd_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1140 ····<a·href="#characters_to_nfd_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1141 ······<i·class="ri-link-m"·aria-hidden="true"></i>1141 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1160, 16 lines modifiedOffset 1160, 16 lines modified
1160 ······<div·class="specs">1160 ······<div·class="specs">
  
1161 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfd_list(<a·href="#t:chardata/0">chardata</a>())·->·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()],·<a·href="#t:chardata/0">chardata</a>()}.</pre>1161 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfd_list(<a·href="#t:chardata/0">chardata</a>())·->·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()],·<a·href="#t:chardata/0">chardata</a>()}.</pre>
  
1162 ······</div>1162 ······</div>
  
1163 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form1163 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form
1164 of·canonical·equivalent·Decomposed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·a·list·of·characters.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfd_list</span><span·class="p"·data-group-id="3725828045-1">(</span><span·class="s">&quot;abc..åäö&quot;</span><span·class="p"·data-group-id="3725828045-1">)</span><span·class="p">.</span><span·class="w">1164 of·canonical·equivalent·Decomposed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·a·list·of·characters.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfd_list</span><span·class="p"·data-group-id="4199032798-1">(</span><span·class="s">&quot;abc..åäö&quot;</span><span·class="p"·data-group-id="4199032798-1">)</span><span·class="p">.</span><span·class="w">
1165 </span><span·class="p"·data-group-id="3725828045-2">[</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">98</span><span·class="p">,</span><span·class="mi">99</span><span·class="p">,</span><span·class="mi">46</span><span·class="p">,</span><span·class="mi">46</span><span·cl[·...·truncated·by·diffoscope;·len:·337,·SHA:·e143aaf7f7e1430272ea35c55e9db4d532243e5d671db2d5009df3b6ce06e7f9·...·]-2">]</span></code></pre>1165 </span><span·class="p"·data-group-id="4199032798-2">[</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">98</span><span·class="p">,</span><span·class="mi">99</span><span·class="p">,</span><span·class="mi">46</span><span·class="p">,</span><span·class="mi">46</span><span·cl[·...·truncated·by·diffoscope;·len:·337,·SHA:·feb1051c02fc070b39fee40918f2c9e8e74f4d5eec23ead46613a834d81fd81a·...·]-2">]</span></code></pre>
1166 ··</section>1166 ··</section>
1167 </section>1167 </section>
1168 <section·class="detail"·id="characters_to_nfkc_binary/1">1168 <section·class="detail"·id="characters_to_nfkc_binary/1">
  
1169 ··<div·class="detail-header">1169 ··<div·class="detail-header">
1170 ····<a·href="#characters_to_nfkc_binary/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1170 ····<a·href="#characters_to_nfkc_binary/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1171 ······<i·class="ri-link-m"·aria-hidden="true"></i>1171 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1190, 16 lines modifiedOffset 1190, 16 lines modified
1190 ······<div·class="specs">1190 ······<div·class="specs">
  
1191 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfkc_binary(<a·href="#t:chardata/0">chardata</a>())·->·<a·href="#t:unicode_binary/0">unicode_binary</a>()·|·{error,·<a·href="#t:unicode_binary/0">unicode_binary</a>(),·<a·href="#t:chardata/0">chardata</a>()}.</pre>1191 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfkc_binary(<a·href="#t:chardata/0">chardata</a>())·->·<a·href="#t:unicode_binary/0">unicode_binary</a>()·|·{error,·<a·href="#t:unicode_binary/0">unicode_binary</a>(),·<a·href="#t:chardata/0">chardata</a>()}.</pre>
  
1192 ······</div>1192 ······</div>
  
1193 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form1193 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form
1194 of·compatibly·equivalent·Composed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·an·utf8·encoded·binary.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfkc_binary</span><span·class="p"·data-group-id="4002513469-1">(</span><span·class="p"·data-group-id="4002513469-2">[</span><span·class="p"·data-group-id="4002513469-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="4002513469-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·857,·SHA:·bba8ad1fd0e3be47015e8912e7f47c0f9aaf23c19e2c6fff6fc0d64b55cc6f49·...·]-1">)</span><span·class="p">.</span><span·class="w">1194 of·compatibly·equivalent·Composed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·an·utf8·encoded·binary.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfkc_binary</span><span·class="p"·data-group-id="1509874530-1">(</span><span·class="p"·data-group-id="1509874530-2">[</span><span·class="p"·data-group-id="1509874530-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="1509874530-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·857,·SHA:·6608711f5af12b132b24f4d9d817e0e7bf4655a407e2f6de95e48061e6ec5240·...·]-1">)</span><span·class="p">.</span><span·class="w">
1195 </span><span·class="p"·data-group-id="4002513469-8">&lt;&lt;</span><span·class="s">&quot;abc..åäö32&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="4002513469-8">&gt;&gt;</span></code></pre>1195 </span><span·class="p"·data-group-id="1509874530-8">&lt;&lt;</span><span·class="s">&quot;abc..åäö32&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="1509874530-8">&gt;&gt;</span></code></pre>
1196 ··</section>1196 ··</section>
1197 </section>1197 </section>
1198 <section·class="detail"·id="characters_to_nfkc_list/1">1198 <section·class="detail"·id="characters_to_nfkc_list/1">
  
1199 ··<div·class="detail-header">1199 ··<div·class="detail-header">
1200 ····<a·href="#characters_to_nfkc_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1200 ····<a·href="#characters_to_nfkc_list/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1201 ······<i·class="ri-link-m"·aria-hidden="true"></i>1201 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1220, 15 lines modifiedOffset 1220, 15 lines modified
1220 ······<div·class="specs">1220 ······<div·class="specs">
  
1221 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfkc_list(<a·href="#t:chardata/0">chardata</a>())·->·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()],·<a·href="#t:chardata/0">chardata</a>()}.</pre>1221 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfkc_list(<a·href="#t:chardata/0">chardata</a>())·->·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()]·|·{error,·[<a·href="../../../../erts-16.0/doc/html/erlang.html#t:char/0">char</a>()],·<a·href="#t:chardata/0">chardata</a>()}.</pre>
  
1222 ······</div>1222 ······</div>
  
1223 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form1223 <p>Converts·a·possibly·deep·list·of·characters·and·binaries·into·a·Normalized·Form
1224 of·compatibly·equivalent·Composed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·a·list·of·characters.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfkc_list</span><span·class="p"·data-group-id="4626065950-1">(</span><span·class="p"·data-group-id="4626065950-2">[</span><span·class="p"·data-group-id="4626065950-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="4626065950-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·857,·SHA:·af9943b18118c158b3ce406037a05124677611e1929b1aded6b3ab5927af75c3·...·]-1">)</span><span·class="p">.</span><span·class="w">1224 of·compatibly·equivalent·Composed·characters·according·to·the·Unicode·standard.</p><p>Any·binaries·in·the·input·must·be·encoded·with·utf8·encoding.</p><p>The·result·is·a·list·of·characters.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">unicode</span><span·class="p">:</span><span·class="nf">characters_to_nfkc_list</span><span·class="p"·data-group-id="9343721047-1">(</span><span·class="p"·data-group-id="9343721047-2">[</span><span·class="p"·data-group-id="9343721047-3">&lt;&lt;</span><span·class="s">&quot;abc..a&quot;</span><span·class="p"·data-group-id="9343721047-3">&gt;&gt;</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·857,·SHA:·3f9402b0d82b8e38cf1553c2d663dfcce3535c95e3b402fc5faded6b46cc4439·...·]-1">)</span><span·class="p">.</span><span·class="w">
1225 </span><span·class="s">&quot;abc..åäö32&quot;</span></code></pre>1225 </span><span·class="s">&quot;abc..åäö32&quot;</span></code></pre>
1226 ··</section>1226 ··</section>
1227 </section>1227 </section>
1228 <section·class="detail"·id="characters_to_nfkd_binary/1">1228 <section·class="detail"·id="characters_to_nfkd_binary/1">
  
1229 ··<div·class="detail-header">1229 ··<div·class="detail-header">
1230 ····<a·href="#characters_to_nfkd_binary/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1230 ····<a·href="#characters_to_nfkd_binary/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 1251, 16 lines modifiedOffset 1251, 16 lines modified
  
1251 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfkd_binary(<a·href="#t:chardata/0">chardata</a>())·->·<a·href="#t:unicode_binary/0">unicode_binary</a>()·|·{error,·<a·href="#t:unicode_binary/0">unicode_binary</a>(),·<a·href="#t:chardata/0">chardata</a>()}.</pre>1251 ··········<pre·translate="no"><span·class="attribute">-spec</span>·characters_to_nfkd_binary(<a·href="#t:chardata/0">chardata</a>())·->·<a·href="#t:unicode_binary/0">unicode_binary</a>()·|·{error,·<a·href="#t:unicode_binary/0">unicode_binary</a>(),·<a·href="#t:chardata/0">chardata</a>()}.</pre>
  
1252 ······</div>1252 ······</div>
  
Max diff block lines reached; 8540/38160 bytes (22.38%) of diff not shown.
693 B
html2text {}
Max HTML report size reached
160 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/unicode_usage.html
    
Offset 335, 28 lines modifiedOffset 335, 28 lines modified
335 communicating·externally.·Functions·and·bit·syntax·exist·to·encode·and·decode335 communicating·externally.·Functions·and·bit·syntax·exist·to·encode·and·decode
336 both·UTF-8,·UTF-16,·and·UTF-32·in·binaries.·However,·library·functions·dealing336 both·UTF-8,·UTF-16,·and·UTF-32·in·binaries.·However,·library·functions·dealing
337 with·binaries·and·Unicode·in·general·only·deal·with·the·default·encoding.</p><p>Character·data·can·be·combined·from·many·sources,·sometimes·available·in·a·mix337 with·binaries·and·Unicode·in·general·only·deal·with·the·default·encoding.</p><p>Character·data·can·be·combined·from·many·sources,·sometimes·available·in·a·mix
338 of·strings·and·binaries.·Erlang·has·for·long·had·the·concept·of·<code·class="inline">iodata</code>·or338 of·strings·and·binaries.·Erlang·has·for·long·had·the·concept·of·<code·class="inline">iodata</code>·or
339 <code·class="inline">iolist</code>s,·where·binaries·and·lists·can·be·combined·to·represent·a·sequence·of339 <code·class="inline">iolist</code>s,·where·binaries·and·lists·can·be·combined·to·represent·a·sequence·of
340 bytes.·In·the·same·way,·the·Unicode-aware·modules·often·allow·for·combinations340 bytes.·In·the·same·way,·the·Unicode-aware·modules·often·allow·for·combinations
341 of·binaries·and·lists,·where·the·binaries·have·characters·encoded·in·UTF-8·and341 of·binaries·and·lists,·where·the·binaries·have·characters·encoded·in·UTF-8·and
342 the·lists·contain·such·binaries·or·numbers·representing·Unicode·code·points:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">unicode_binary</span><span·class="p"·data-group-id="0454142185-1">(</span><span·class="p"·data-group-id="0454142185-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="0454142185-2">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·5fe99b0e92d78ecbf0758b9500e1ceb435969d26ac0ce29e487960f773df7df3·...·]-2">)</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="ss">characters</span><span·class="w">·</span><span·class="ss">encoded</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="n">UTF</span><span·class="o">-</span><span·class="mi">8</span><span·class="w">·</span><span·class="ss">coding</span><span·class="w">·</span><span·class="ss">standard</span><span·class="w">342 the·lists·contain·such·binaries·or·numbers·representing·Unicode·code·points:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">unicode_binary</span><span·class="p"·data-group-id="2026095799-1">(</span><span·class="p"·data-group-id="2026095799-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="2026095799-2">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·5ddf473dd68dcc05e917ccffed32e6260f06d9239524171bcc1866179ef901ac·...·]-2">)</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="ss">characters</span><span·class="w">·</span><span·class="ss">encoded</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="n">UTF</span><span·class="o">-</span><span·class="mi">8</span><span·class="w">·</span><span·class="ss">coding</span><span·class="w">·</span><span·class="ss">standard</span><span·class="w">
  
343 </span><span·class="nf">chardata</span><span·class="p"·data-group-id="0454142185-3">(</span><span·class="p"·data-group-id="0454142185-3">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">charlist</span><span·class="p"·data-group-id="0454142185-4">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·233,·SHA:·cd6934b1ad1d57e0e9142a8984159b837b6f1200402b34bf5d4240c361daae3f·...·]-5">)</span><span·class="w">343 </span><span·class="nf">chardata</span><span·class="p"·data-group-id="2026095799-3">(</span><span·class="p"·data-group-id="2026095799-3">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">charlist</span><span·class="p"·data-group-id="2026095799-4">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·233,·SHA:·a3fe4ec22f80ad191933513315ac67f83a06626a8c5ec2c645f6f2f8fe5bebd2·...·]-5">)</span><span·class="w">
  
344 </span><span·class="nf">charlist</span><span·class="p"·data-group-id="0454142185-6">(</span><span·class="p"·data-group-id="0454142185-6">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">maybe_improper_list</span><span·class="p"·data-group-id="0454142185-7">(</span><span·class="[·...·truncated·by·diffoscope;·len:·536,·SHA:·a9ccec56800eafa418c1ad97d48545e4eb1629d841c775647908f3cb01a83a4b·...·]-10">)</span><span·class="p">,</span><span·class="w">344 </span><span·class="nf">charlist</span><span·class="p"·data-group-id="2026095799-6">(</span><span·class="p"·data-group-id="2026095799-6">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">maybe_improper_list</span><span·class="p"·data-group-id="2026095799-7">(</span><span·class="[·...·truncated·by·diffoscope;·len:·536,·SHA:·3acf1f57736e7e50918bb694381bcf2efe22ea70c227c2f85beca734842e4298·...·]-10">)</span><span·class="p">,</span><span·class="w">
345 ··</span><span·class="nf">unicode_binary</span><span·class="p"·data-group-id="0454142185-11">(</span><span·class="p"·data-group-id="0454142185-11">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">nil</span><span·class="p"·data-group-id="0454142185-12">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·69,·SHA:·fa4b4ab4f7932198d7e4b3944649435472498398dae18948ce761b9f7c6f95f9·...·]-7">)</span></code></pre><p>The·module·<a·href="unicode.html"><code·class="inline">unicode</code></a>·even·supports·similar·mixes·with·binaries·containing345 ··</span><span·class="nf">unicode_binary</span><span·class="p"·data-group-id="2026095799-11">(</span><span·class="p"·data-group-id="2026095799-11">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="nf">nil</span><span·class="p"·data-group-id="2026095799-12">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·69,·SHA:·bd8a8c82bf1f050e246c40d42aab39a1da67c2a28200c922ec4fe198abbe591a·...·]-7">)</span></code></pre><p>The·module·<a·href="unicode.html"><code·class="inline">unicode</code></a>·even·supports·similar·mixes·with·binaries·containing
346 other·encodings·than·UTF-8,·but·that·is·a·special·case·to·allow·for·conversions346 other·encodings·than·UTF-8,·but·that·is·a·special·case·to·allow·for·conversions
347 to·and·from·external·data:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">external_unicode_binary</span><span·class="p"·data-group-id="3611495290-1">(</span><span·class="p"·data-group-id="3611495290-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="3611495290-2">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·7e5116468b277fd2aab6a73db57af474816c0726b5862cb9aedb19d111337105·...·]-2">)</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="ss">characters</span><span·class="w">·</span><span·class="ss">coded</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">a</span><span·class="w">·</span><span·class="ss">user</span><span·class="o">-</span><span·class="ss">specified</span><span·class="w">347 to·and·from·external·data:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">external_unicode_binary</span><span·class="p"·data-group-id="1144958562-1">(</span><span·class="p"·data-group-id="1144958562-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">binary</span><span·class="p"·data-group-id="1144958562-2">(</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·42d042cd8a377aaf29f5ff8f86c2ee288ecb0f6fcae8a5deea26166d2393eae6·...·]-2">)</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="ss">characters</span><span·class="w">·</span><span·class="ss">coded</span><span·class="w">·</span><span·class="ss">in</span><span·class="w">·</span><span·class="ss">a</span><span·class="w">·</span><span·class="ss">user</span><span·class="o">-</span><span·class="ss">specified</span><span·class="w">
348 ··</span><span·class="n">Unicode</span><span·class="w">·</span><span·class="ss">encoding</span><span·class="w">·</span><span·class="ss">other</span><span·class="w">·</span><span·class="ss">than</span><span·class="w">·</span><span·class="n">UTF</span><span·class="o">-</span><span·class="mi">8</span><span·class="w">·</span><span·class="p"·data-group-id="3611495290-3">(</span><span·class="n">UTF</span><span·class="o">-</span><span·class="mi">16</span><span·class="w">·</span><span·class="ow">or</span><span·class="w">·</span><span·class="n">UTF</span><span·class="o">-</span><span·class="mi">32</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·9670170744efda72cd97419102778553ad0fe6d7f9f0f087a90dc4df1b093881·...·]-3">)</span><span·class="w">348 ··</span><span·class="n">Unicode</span><span·class="w">·</span><span·class="ss">encoding</span><span·class="w">·</span><span·class="ss">other</span><span·class="w">·</span><span·class="ss">than</span><span·class="w">·</span><span·class="n">UTF</span><span·class="o">-</span><span·class="mi">8</span><span·class="w">·</span><span·class="p"·data-group-id="1144958562-3">(</span><span·class="n">UTF</span><span·class="o">-</span><span·class="mi">16</span><span·class="w">·</span><span·class="ow">or</span><span·class="w">·</span><span·class="n">UTF</span><span·class="o">-</span><span·class="mi">32</span><span·cl[·...·truncated·by·diffoscope;·len:·33,·SHA:·ddf048f869687b7c9528d90fffeba1abb55c0d850d2bb07c9a86fd8e8b5daa7c·...·]-3">)</span><span·class="w">
  
349 </span><span·class="nf">external_chardata</span><span·class="p"·data-group-id="3611495290-4">(</span><span·class="p"·data-group-id="3611495290-4">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">external_charlist</span><span·class="p"·data-group-id="3611495290-5">(</span><span·class="p"[·...·truncated·by·diffoscope;·len:·251,·SHA:·5fb59f18f47b7da6ad7472ca73413597fabe0db399bc1ad3268c69851da811a7·...·]-6">)</span><span·class="w">349 </span><span·class="nf">external_chardata</span><span·class="p"·data-group-id="1144958562-4">(</span><span·class="p"·data-group-id="1144958562-4">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">external_charlist</span><span·class="p"·data-group-id="1144958562-5">(</span><span·class="p"[·...·truncated·by·diffoscope;·len:·251,·SHA:·e8c506b4ece857eeb0cdfbecfd3155418395bb6e40c929c8b425772b63db7213·...·]-6">)</span><span·class="w">
  
350 </span><span·class="nf">external_charlist</span><span·class="p"·data-group-id="3611495290-7">(</span><span·class="p"·data-group-id="3611495290-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">maybe_improper_list</span><span·class="p"·data-group-id="3611495290-8">(</span><span·class="[·...·truncated·by·diffoscope;·len:·335,·SHA:·9f4843d69cf58183438487de9c3f2ee7f081f89ff44dca782fdf810210e89de0·...·]-10">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">350 </span><span·class="nf">external_charlist</span><span·class="p"·data-group-id="1144958562-7">(</span><span·class="p"·data-group-id="1144958562-7">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">maybe_improper_list</span><span·class="p"·data-group-id="1144958562-8">(</span><span·class="[·...·truncated·by·diffoscope;·len:·335,·SHA:·52df0e16d65d96e0e99ca4ca851a438b366d929bbee3fdf581a01fac8ff440ca·...·]-10">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
351 ··</span><span·class="nf">external_charlist</span><span·class="p"·data-group-id="3611495290-11">(</span><span·class="p"·data-group-id="3611495290-11">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">external_unicode_binary</span><span·class="p"·data-group-id="3611495290-12">(</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·272,·SHA:·247d809c225d2c4e36dedc8f87f758085c59854120257607a4013d0302010bd1·...·]-8">)</span></code></pre><h2·id="basic-language-support"·class="section-heading">351 ··</span><span·class="nf">external_charlist</span><span·class="p"·data-group-id="1144958562-11">(</span><span·class="p"·data-group-id="1144958562-11">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">external_unicode_binary</span><span·class="p"·data-group-id="1144958562-12">(</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·272,·SHA:·545b23bdb9ec5c2ce61fba139450061607573d85cc5b1ef669a0a7045c90ea3e·...·]-8">)</span></code></pre><h2·id="basic-language-support"·class="section-heading">
352 ··<a·href="#basic-language-support"·class="hover-link">352 ··<a·href="#basic-language-support"·class="hover-link">
353 ····<i·class="ri-link-m"·aria-hidden="true"></i>353 ····<i·class="ri-link-m"·aria-hidden="true"></i>
354 ··</a>354 ··</a>
355 ··<span·class="text">Basic·Language·Support</span>355 ··<span·class="text">Basic·Language·Support</span>
356 </h2>356 </h2>
357 <p><a·href=""·id="unicode_in_erlang"></a>·As·from·Erlang/OTP·R16,·Erlang·source·files·can·be357 <p><a·href=""·id="unicode_in_erlang"></a>·As·from·Erlang/OTP·R16,·Erlang·source·files·can·be
358 written·in·UTF-8·or·bytewise·(<code·class="inline">latin1</code>)·encoding.·For·information·about·how·to358 written·in·UTF-8·or·bytewise·(<code·class="inline">latin1</code>)·encoding.·For·information·about·how·to
Offset 396, 78 lines modifiedOffset 396, 78 lines modified
396 ··<a·href="#heuristic-string-detection"·class="hover-link">396 ··<a·href="#heuristic-string-detection"·class="hover-link">
397 ····<i·class="ri-link-m"·aria-hidden="true"></i>397 ····<i·class="ri-link-m"·aria-hidden="true"></i>
398 ··</a>398 ··</a>
399 ··<span·class="text">Heuristic·String·Detection</span>399 ··<span·class="text">Heuristic·String·Detection</span>
400 </h3>400 </h3>
401 <p>In·certain·output·functions·and·in·the·output·of·return·values·in·the·shell,401 <p>In·certain·output·functions·and·in·the·output·of·return·values·in·the·shell,
402 Erlang·tries·to·detect·string·data·in·lists·and·binaries·heuristically.402 Erlang·tries·to·detect·string·data·in·lists·and·binaries·heuristically.
403 Typically·you·will·see·heuristic·detection·in·a·situation·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="9563520385-1">[</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">98</span><span·class="p">,</span><span·class="mi">99</span><span·class="p"·data-group-id="9563520385-1">]</span><span·class="p">.</span><span·class="w">403 Typically·you·will·see·heuristic·detection·in·a·situation·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="7370714108-1">[</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">98</span><span·class="p">,</span><span·class="mi">99</span><span·class="p"·data-group-id="7370714108-1">]</span><span·class="p">.</span><span·class="w">
404 </span><span·class="s">&quot;abc&quot;</span><span·class="gp·unselectable">404 </span><span·class="s">&quot;abc&quot;</span><span·class="gp·unselectable">
405 2&gt;·</span><span·class="p"·data-group-id="9563520385-2">&lt;&lt;</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">98</span><span·class="p">,</span><span·class="mi">99</span><span·class="p"·data-group-id="9563520385-2">&gt;&gt;</span><span·class="p">.</span><span·class="w">405 2&gt;·</span><span·class="p"·data-group-id="7370714108-2">&lt;&lt;</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">98</span><span·class="p">,</span><span·class="mi">99</span><span·class="p"·data-group-id="7370714108-2">&gt;&gt;</span><span·class="p">.</span><span·class="w">
406 </span><span·class="p"·data-group-id="9563520385-3">&lt;&lt;</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="9563520385-3">&gt;&gt;</span><span·class="gp·unselectable">406 </span><span·class="p"·data-group-id="7370714108-3">&lt;&lt;</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="7370714108-3">&gt;&gt;</span><span·class="gp·unselectable">
407 3&gt;·</span><span·class="p"·data-group-id="9563520385-4">&lt;&lt;</span><span·class="mi">195</span><span·class="p">,</span><span·class="mi">165</span><span·class="p">,</span><span·class="mi">195</span><span·class="p">,</span><span·class="mi">164</span><span·class="p">,</span><span·class="mi">195</s[·...·truncated·by·diffoscope;·len:·96,·SHA:·9ac32a1b3c1ef38aa433d2e611ac8f64ef99a7bdef240c8be9511eaecf0053a8·...·]-4">&gt;&gt;</span><span·class="p">.</span><span·class="w">407 3&gt;·</span><span·class="p"·data-group-id="7370714108-4">&lt;&lt;</span><span·class="mi">195</span><span·class="p">,</span><span·class="mi">165</span><span·class="p">,</span><span·class="mi">195</span><span·class="p">,</span><span·class="mi">164</span><span·class="p">,</span><span·class="mi">195</s[·...·truncated·by·diffoscope;·len:·96,·SHA:·1319d2e6173584a637c0fed9bca0ea5668590cc608a6538643d0f119cb26d08d·...·]-4">&gt;&gt;</span><span·class="p">.</span><span·class="w">
408 </span><span·class="p"·data-group-id="9563520385-5">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="9563520385-5">&gt;&gt;</span></code></pre><p>Here·the·shell·detects·lists·containing·printable·characters·or·binaries408 </span><span·class="p"·data-group-id="7370714108-5">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="7370714108-5">&gt;&gt;</span></code></pre><p>Here·the·shell·detects·lists·containing·printable·characters·or·binaries
409 containing·printable·characters·in·bytewise·or·UTF-8·encoding.·But·what·is·a409 containing·printable·characters·in·bytewise·or·UTF-8·encoding.·But·what·is·a
410 printable·character?·One·view·is·that·anything·the·Unicode·standard·thinks·is410 printable·character?·One·view·is·that·anything·the·Unicode·standard·thinks·is
411 printable,·is·also·printable·according·to·the·heuristic·detection.·The·result·is411 printable,·is·also·printable·according·to·the·heuristic·detection.·The·result·is
412 then·that·almost·any·list·of·integers·are·deemed·a·string,·and·all·sorts·of412 then·that·almost·any·list·of·integers·are·deemed·a·string,·and·all·sorts·of
413 characters·are·printed,·maybe·also·characters·that·your·terminal·lacks·in·its413 characters·are·printed,·maybe·also·characters·that·your·terminal·lacks·in·its
414 font·set·(resulting·in·some·unappreciated·generic·output).·Another·way·is·to414 font·set·(resulting·in·some·unappreciated·generic·output).·Another·way·is·to
415 keep·it·backward·compatible·so·that·only·the·ISO·Latin-1·character·set·is·used415 keep·it·backward·compatible·so·that·only·the·ISO·Latin-1·character·set·is·used
416 to·detect·a·string.·A·third·way·is·to·let·the·user·decide·exactly·what·Unicode416 to·detect·a·string.·A·third·way·is·to·let·the·user·decide·exactly·what·Unicode
417 ranges·that·are·to·be·viewed·as·characters.</p><p>As·from·Erlang/OTP·R16B·you·can·select·the·ISO·Latin-1·range·or·the·whole417 ranges·that·are·to·be·viewed·as·characters.</p><p>As·from·Erlang/OTP·R16B·you·can·select·the·ISO·Latin-1·range·or·the·whole
418 Unicode·range·by·supplying·startup·flag·<code·class="inline">+pc·latin1</code>·or·<code·class="inline">+pc·unicode</code>,418 Unicode·range·by·supplying·startup·flag·<code·class="inline">+pc·latin1</code>·or·<code·class="inline">+pc·unicode</code>,
419 respectively.·For·backward·compatibility,·<code·class="inline">latin1</code>·is·default.·This·only419 respectively.·For·backward·compatibility,·<code·class="inline">latin1</code>·is·default.·This·only
420 controls·how·heuristic·string·detection·is·done.·More·ranges·are·expected·to·be420 controls·how·heuristic·string·detection·is·done.·More·ranges·are·expected·to·be
421 added·in·the·future,·enabling·tailoring·of·the·heuristics·to·the·language·and421 added·in·the·future,·enabling·tailoring·of·the·heuristics·to·the·language·and
422 region·relevant·to·the·user.</p><p>The·following·examples·show·the·two·startup·options:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">+</span><span·class="ss">pc</span><span·class="w">·</span><span·class="ss">latin1</span><span·class="w">422 region·relevant·to·the·user.</p><p>The·following·examples·show·the·two·startup·options:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">+</span><span·class="ss">pc</span><span·class="w">·</span><span·class="ss">latin1</span><span·class="w">
423 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R16B</span><span·class="w">·</span><span·class="p"·data-group-id="7072129673-1">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.10</span><span·class="p">.</span><span·class="mi">1</span><span·class="p"·data-group-id="7072129673-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·d4d8cd3799bd9e5fd229806eebf4bd60a2d1eb4f5f75f51e28b1d4e1bd186d48·...·]-5">]</span><span·class="w">423 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R16B</span><span·class="w">·</span><span·class="p"·data-group-id="6313799731-1">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.10</span><span·class="p">.</span><span·class="mi">1</span><span·class="p"·data-group-id="6313799731-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·504714e5298f7e8309fd43d9e650242c5678226c1f17f14cc1f1d6a78f4eccb7·...·]-5">]</span><span·class="w">
  
424 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">10.1</span><span·class="w">··</span><span·class="p"·data-group-id="7072129673-6">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="7072129673-6">)</span><span·class="gp·unselectable">424 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">10.1</span><span·class="w">··</span><span·class="p"·data-group-id="6313799731-6">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="6313799731-6">)</span><span·class="gp·unselectable">
425 1&gt;·</span><span·class="p"·data-group-id="7072129673-7">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="7072129673-7">]</span><span·class="p">.</span><span·class="w">425 1&gt;·</span><span·class="p"·data-group-id="6313799731-7">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="6313799731-7">]</span><span·class="p">.</span><span·class="w">
426 </span><span·class="p"·data-group-id="7072129673-8">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="7072129673-8">]</span><span·class="gp·unselectable">426 </span><span·class="p"·data-group-id="6313799731-8">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="6313799731-8">]</span><span·class="gp·unselectable">
427 2&gt;·</span><span·class="p"·data-group-id="7072129673-9">[</span><span·class="mi">1070</span><span·class="p">,</span><span·class="mi">1085</span><span·class="p">,</span><span·class="mi">1080</span><span·class="p">,</span><span·class="mi">1082</span><span·class="p">,</span><span·class="mi">1086</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·37104548b0ea83c934d32ca434dfbb79a8dcdc12c629436f06a210dd9aae816c·...·]-9">]</span><span·class="p">.</span><span·class="w">427 2&gt;·</span><span·class="p"·data-group-id="6313799731-9">[</span><span·class="mi">1070</span><span·class="p">,</span><span·class="mi">1085</span><span·class="p">,</span><span·class="mi">1080</span><span·class="p">,</span><span·class="mi">1082</span><span·class="p">,</span><span·class="mi">1086</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·8545090fae73cb1cd27fcb9ca163f42835489bab72b75719553df047817966d8·...·]-9">]</span><span·class="p">.</span><span·class="w">
428 </span><span·class="p"·data-group-id="7072129673-10">[</span><span·class="mi">1070</span><span·class="p">,</span><span·class="mi">1085</span><span·class="p">,</span><span·class="mi">1080</span><span·class="p">,</span><span·class="mi">1082</span><span·class="p">,</span><span·class="mi">1086</sp[·...·truncated·by·diffoscope;·len:·96,·SHA:·fca87d6cb1016398b5dfc104c3fa9c7866f4d0c10282d1c4b02a31ea220d9012·...·]-10">]</span><span·class="gp·unselectable">428 </span><span·class="p"·data-group-id="6313799731-10">[</span><span·class="mi">1070</span><span·class="p">,</span><span·class="mi">1085</span><span·class="p">,</span><span·class="mi">1080</span><span·class="p">,</span><span·class="mi">1082</span><span·class="p">,</span><span·class="mi">1086</sp[·...·truncated·by·diffoscope;·len:·96,·SHA:·d471492c4c62e32205de1af443fedd80d3ba4c0e5b9aafb05a47d3ebfd7c87cf·...·]-10">]</span><span·class="gp·unselectable">
429 3&gt;·</span><span·class="p"·data-group-id="7072129673-11">[</span><span·class="mi">229</span><span·class="p">,</span><span·class="mi">228</span><span·class="p">,</span><span·class="mi">246</span><span·class="p"·data-group-id="7072129673-11">]</span><span·class="p">.</span><span·class="w">429 3&gt;·</span><span·class="p"·data-group-id="6313799731-11">[</span><span·class="mi">229</span><span·class="p">,</span><span·class="mi">228</span><span·class="p">,</span><span·class="mi">246</span><span·class="p"·data-group-id="6313799731-11">]</span><span·class="p">.</span><span·class="w">
430 </span><span·class="s">&quot;åäö&quot;</span><span·class="gp·unselectable">430 </span><span·class="s">&quot;åäö&quot;</span><span·class="gp·unselectable">
431 4&gt;·</span><span·class="p"·data-group-id="7072129673-12">&lt;&lt;</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">174</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">189</span><span·class="p">,</span><span·class="mi">208</[·...·truncated·by·diffoscope;·len:·403,·SHA:·c410a93bb8d8e9ab535c5fa158f32081078e9820296622a76a5db4905dacc2b9·...·]-12">&gt;&gt;</span><span·class="p">.</span><span·class="w">431 4&gt;·</span><span·class="p"·data-group-id="6313799731-12">&lt;&lt;</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">174</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">189</span><span·class="p">,</span><span·class="mi">208</[·...·truncated·by·diffoscope;·len:·403,·SHA:·c768699584ab5f2bd5a75b2f729d4cf802fe645f3125cf053ff2930c54707a47·...·]-12">&gt;&gt;</span><span·class="p">.</span><span·class="w">
432 </span><span·class="p"·data-group-id="7072129673-13">&lt;&lt;</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">174</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">189</span><span·class="p">,</span><span·class="mi">208</[·...·truncated·by·diffoscope;·len:·403,·SHA:·c410a93bb8d8e9ab535c5fa158f32081078e9820296622a76a5db4905dacc2b9·...·]-13">&gt;&gt;</span><span·class="gp·unselectable">432 </span><span·class="p"·data-group-id="6313799731-13">&lt;&lt;</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">174</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">189</span><span·class="p">,</span><span·class="mi">208</[·...·truncated·by·diffoscope;·len:·403,·SHA:·c768699584ab5f2bd5a75b2f729d4cf802fe645f3125cf053ff2930c54707a47·...·]-13">&gt;&gt;</span><span·class="gp·unselectable">
433 5&gt;·</span><span·class="p"·data-group-id="7072129673-14">&lt;&lt;</span><span·class="mi">229</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">228</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">246[·...·truncated·by·diffoscope;·len:·100,·SHA:·cb9ee3730b6bd43965dc256591e40c81d3f446306a5876f8a23bc6b80c8c23e8·...·]-14">&gt;&gt;</span><span·class="p">.</span><span·class="w">433 5&gt;·</span><span·class="p"·data-group-id="6313799731-14">&lt;&lt;</span><span·class="mi">229</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">228</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">246[·...·truncated·by·diffoscope;·len:·100,·SHA:·4eee601c34ffe0e2484310ba042ba0e8672f8bd32f27dc4a3acfb3b31c845124·...·]-14">&gt;&gt;</span><span·class="p">.</span><span·class="w">
434 </span><span·class="p"·data-group-id="7072129673-15">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="7072129673-15">&gt;&gt;</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">+</span><span·class="ss">pc</span><span·class="w">·</span><span·class="ss">unicode</span><span·class="w">434 </span><span·class="p"·data-group-id="6313799731-15">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="6313799731-15">&gt;&gt;</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">+</span><span·class="ss">pc</span><span·class="w">·</span><span·class="ss">unicode</span><span·class="w">
435 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R16B</span><span·class="w">·</span><span·class="p"·data-group-id="3945864515-1">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.10</span><span·class="p">.</span><span·class="mi">1</span><span·class="p"·data-group-id="3945864515-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·7490a0789bd840b3bd4cd055112d834e8da2f6cbe55c1c50b6da296ca1db1ed0·...·]-5">]</span><span·class="w">435 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R16B</span><span·class="w">·</span><span·class="p"·data-group-id="0657578474-1">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.10</span><span·class="p">.</span><span·class="mi">1</span><span·class="p"·data-group-id="0657578474-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·fc5f5853a0676dd9c7087a01cc2ee8a3e40366222e77a0896c186da94071b28c·...·]-5">]</span><span·class="w">
  
436 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">10.1</span><span·class="w">··</span><span·class="p"·data-group-id="3945864515-6">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="3945864515-6">)</span><span·class="gp·unselectable">436 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">10.1</span><span·class="w">··</span><span·class="p"·data-group-id="0657578474-6">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="0657578474-6">)</span><span·class="gp·unselectable">
437 1&gt;·</span><span·class="p"·data-group-id="3945864515-7">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="3945864515-7">]</span><span·class="p">.</span><span·class="w">437 1&gt;·</span><span·class="p"·data-group-id="0657578474-7">[</span><span·class="mi">1024</span><span·class="p"·data-group-id="0657578474-7">]</span><span·class="p">.</span><span·class="w">
438 </span><span·class="s">&quot;Ѐ&quot;</span><span·class="gp·unselectable">438 </span><span·class="s">&quot;Ѐ&quot;</span><span·class="gp·unselectable">
439 2&gt;·</span><span·class="p"·data-group-id="3945864515-8">[</span><span·class="mi">1070</span><span·class="p">,</span><span·class="mi">1085</span><span·class="p">,</span><span·class="mi">1080</span><span·class="p">,</span><span·class="mi">1082</span><span·class="p">,</span><span·class="mi">1086</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·b65f00024a86885ba08518a9d34285052a89edc18d8fe98c9826fdd877076b5d·...·]-8">]</span><span·class="p">.</span><span·class="w">439 2&gt;·</span><span·class="p"·data-group-id="0657578474-8">[</span><span·class="mi">1070</span><span·class="p">,</span><span·class="mi">1085</span><span·class="p">,</span><span·class="mi">1080</span><span·class="p">,</span><span·class="mi">1082</span><span·class="p">,</span><span·class="mi">1086</spa[·...·truncated·by·diffoscope;·len:·95,·SHA:·e6c4ff8905381b3b4a1f425a6519846adde82e3ddba95ad97f7d45dfc4f2bfdf·...·]-8">]</span><span·class="p">.</span><span·class="w">
440 </span><span·class="s">&quot;Юникод&quot;</span><span·class="gp·unselectable">440 </span><span·class="s">&quot;Юникод&quot;</span><span·class="gp·unselectable">
441 3&gt;·</span><span·class="p"·data-group-id="3945864515-9">[</span><span·class="mi">229</span><span·class="p">,</span><span·class="mi">228</span><span·class="p">,</span><span·class="mi">246</span><span·class="p"·data-group-id="3945864515-9">]</span><span·class="p">.</span><span·class="w">441 3&gt;·</span><span·class="p"·data-group-id="0657578474-9">[</span><span·class="mi">229</span><span·class="p">,</span><span·class="mi">228</span><span·class="p">,</span><span·class="mi">246</span><span·class="p"·data-group-id="0657578474-9">]</span><span·class="p">.</span><span·class="w">
442 </span><span·class="s">&quot;åäö&quot;</span><span·class="gp·unselectable">442 </span><span·class="s">&quot;åäö&quot;</span><span·class="gp·unselectable">
443 4&gt;·</span><span·class="p"·data-group-id="3945864515-10">&lt;&lt;</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">174</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">189</span><span·class="p">,</span><span·class="mi">208</[·...·truncated·by·diffoscope;·len:·403,·SHA:·630843f150d78b55984142ed1e043434d878777afa6c46965a83f276d62b37df·...·]-10">&gt;&gt;</span><span·class="p">.</span><span·class="w">443 4&gt;·</span><span·class="p"·data-group-id="0657578474-10">&lt;&lt;</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">174</span><span·class="p">,</span><span·class="mi">208</span><span·class="p">,</span><span·class="mi">189</span><span·class="p">,</span><span·class="mi">208</[·...·truncated·by·diffoscope;·len:·403,·SHA:·342ff585d945420212a87cb7de4fa073b0cbefbdb62fc03105118c3a8d9d5909·...·]-10">&gt;&gt;</span><span·class="p">.</span><span·class="w">
444 </span><span·class="p"·data-group-id="3945864515-11">&lt;&lt;</span><span·class="s">&quot;Юникод&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="3945864515-11">&gt;&gt;</span><span·class="gp·unselectable">444 </span><span·class="p"·data-group-id="0657578474-11">&lt;&lt;</span><span·class="s">&quot;Юникод&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="0657578474-11">&gt;&gt;</span><span·class="gp·unselectable">
445 5&gt;·</span><span·class="p"·data-group-id="3945864515-12">&lt;&lt;</span><span·class="mi">229</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">228</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">246[·...·truncated·by·diffoscope;·len:·100,·SHA:·df16ca8114e6d1793ee2cb594af0823527637926df5b59acd76f8bdfb3909f6b·...·]-12">&gt;&gt;</span><span·class="p">.</span><span·class="w">445 5&gt;·</span><span·class="p"·data-group-id="0657578474-12">&lt;&lt;</span><span·class="mi">229</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">228</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p">,</span><span·class="mi">246[·...·truncated·by·diffoscope;·len:·100,·SHA:·ca5b232acffb17e4c03249e7f78f80a4219e7cfb56bb495d8a002c11f464a07a·...·]-12">&gt;&gt;</span><span·class="p">.</span><span·class="w">
446 </span><span·class="p"·data-group-id="3945864515-13">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="3945864515-13">&gt;&gt;</span></code></pre><p>In·the·examples,·you·can·see·that·the·default·Erlang·shell·interprets·only446 </span><span·class="p"·data-group-id="0657578474-13">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="o">/</span><span·class="ss">utf8</span><span·class="p"·data-group-id="0657578474-13">&gt;&gt;</span></code></pre><p>In·the·examples,·you·can·see·that·the·default·Erlang·shell·interprets·only
447 characters·from·the·ISO·Latin1·range·as·printable·and·only·detects·lists·or447 characters·from·the·ISO·Latin1·range·as·printable·and·only·detects·lists·or
448 binaries·with·those·&quot;printable&quot;·characters·as·containing·string·data.·The·valid448 binaries·with·those·&quot;printable&quot;·characters·as·containing·string·data.·The·valid
449 UTF-8·binary·containing·the·Russian·word·&quot;Юникод&quot;,·is·not·printed·as·a·string.449 UTF-8·binary·containing·the·Russian·word·&quot;Юникод&quot;,·is·not·printed·as·a·string.
450 When·started·with·all·Unicode·characters·printable·(<code·class="inline">+pc·unicode</code>),·the·shell450 When·started·with·all·Unicode·characters·printable·(<code·class="inline">+pc·unicode</code>),·the·shell
451 outputs·anything·containing·printable·Unicode·data·(in·binaries,·either·UTF-8·or451 outputs·anything·containing·printable·Unicode·data·(in·binaries,·either·UTF-8·or
452 bytewise·encoded)·as·string·data.</p><p>These·heuristics·are·also·used·by·<a·href="io.html#format/2"><code·class="inline">io:format/2</code></a>,·<a·href="io_lib.html#format/2"><code·class="inline">io_lib:format/2</code></a>,·and·friends452 bytewise·encoded)·as·string·data.</p><p>These·heuristics·are·also·used·by·<a·href="io.html#format/2"><code·class="inline">io:format/2</code></a>,·<a·href="io_lib.html#format/2"><code·class="inline">io_lib:format/2</code></a>,·and·friends
453 when·modifier·<code·class="inline">t</code>·is·used·with·<code·class="inline">~p</code>·or·<code·class="inline">~P</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">+</span><span·class="ss">pc</span><span·class="w">·</span><span·class="ss">latin1</span><span·class="w">453 when·modifier·<code·class="inline">t</code>·is·used·with·<code·class="inline">~p</code>·or·<code·class="inline">~P</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">+</span><span·class="ss">pc</span><span·class="w">·</span><span·class="ss">latin1</span><span·class="w">
454 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R16B</span><span·class="w">·</span><span·class="p"·data-group-id="8641769789-1">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.10</span><span·class="p">.</span><span·class="mi">1</span><span·class="p"·data-group-id="8641769789-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·c90d3984bf1a0c6fd0192225db6e94df6ba6f6eb982c42a8ee3bf2887475af55·...·]-5">]</span><span·class="w">454 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R16B</span><span·class="w">·</span><span·class="p"·data-group-id="5672317676-1">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.10</span><span·class="p">.</span><span·class="mi">1</span><span·class="p"·data-group-id="5672317676-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·118f9a950b60e5ebab8b3dc38bc5509d502d74602d303f439e1f2a740a88766d·...·]-5">]</span><span·class="w">
  
455 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">10.1</span><span·class="w">··</span><span·class="p"·data-group-id="8641769789-6">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="8641769789-6">)</span><span·class="gp·unselectable">455 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">10.1</span><span·class="w">··</span><span·class="p"·data-group-id="5672317676-6">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="5672317676-6">)</span><span·class="gp·unselectable">
456 1&gt;·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8641769789-7">(</span><span·class="s">&quot;~tp</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="8641769789-8">[</span><span·class="p"·data-group-id="8641769789-9">{</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1308,·SHA:·6752634d53ad72e5826ee2df92d5ccf99c86fd258501f4a09525c9670776c51b·...·]-7">)</span><span·class="p">.</span><span·class="w">456 1&gt;·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5672317676-7">(</span><span·class="s">&quot;~tp</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5672317676-8">[</span><span·class="p"·data-group-id="5672317676-9">{</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1308,·SHA:·8bda1c93e92b83f3768ae47474b27332b76546698a3c05b3eb792c41331e4065·...·]-7">)</span><span·class="p">.</span><span·class="w">
457 </span><span·class="p"·data-group-id="8641769789-13">{</span><span·class="p"·data-group-id="8641769789-14">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="p"·data-group-id="8641769789-14">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="8641769789-15">&lt[·...·truncated·by·diffoscope;·len:·938,·SHA:·edf8f893d77866a67fc7099d1672f11774d77d47bcf5f81db0962a4e364a505a·...·]-13">}</span><span·class="w">457 </span><span·class="p"·data-group-id="5672317676-13">{</span><span·class="p"·data-group-id="5672317676-14">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="p"·data-group-id="5672317676-14">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="5672317676-15">&lt[·...·truncated·by·diffoscope;·len:·938,·SHA:·2ce5762e2c304175030dda6f74d80f1211db94e331cc2b85a79f2cc9e264622f·...·]-13">}</span><span·class="w">
458 </span><span·class="ss">ok</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">+</span><span·class="ss">pc</span><span·class="w">·</span><span·class="ss">unicode</span><span·class="w">458 </span><span·class="ss">ok</span></code></pre><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="ss">erl</span><span·class="w">·</span><span·class="o">+</span><span·class="ss">pc</span><span·class="w">·</span><span·class="ss">unicode</span><span·class="w">
459 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R16B</span><span·class="w">·</span><span·class="p"·data-group-id="8267884104-1">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.10</span><span·class="p">.</span><span·class="mi">1</span><span·class="p"·data-group-id="8267884104-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·270e62b89da7ccb12d697daf835f16462b8789c52836a11cb8bdb1b2f986ffef·...·]-5">]</span><span·class="w">459 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R16B</span><span·class="w">·</span><span·class="p"·data-group-id="3191514663-1">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.10</span><span·class="p">.</span><span·class="mi">1</span><span·class="p"·data-group-id="3191514663-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·ea14e70676cedd30e664b71d873dc28d99e16c34a8d01aaf7f91cb7e9578f53d·...·]-5">]</span><span·class="w">
  
460 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">10.1</span><span·class="w">··</span><span·class="p"·data-group-id="8267884104-6">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="8267884104-6">)</span><span·class="gp·unselectable">460 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">10.1</span><span·class="w">··</span><span·class="p"·data-group-id="3191514663-6">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="3191514663-6">)</span><span·class="gp·unselectable">
461 1&gt;·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8267884104-7">(</span><span·class="s">&quot;~tp</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="8267884104-8">[</span><span·class="p"·data-group-id="8267884104-9">{</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1308,·SHA:·51b195dd13f6a672ebc4dc4fb0964c96f7778e830ae0ca4d4f1b39ec3c22198c·...·]-7">)</span><span·class="p">.</span><span·class="w">461 1&gt;·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="3191514663-7">(</span><span·class="s">&quot;~tp</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="3191514663-8">[</span><span·class="p"·data-group-id="3191514663-9">{</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1308,·SHA:·c1add3cccfd099241ef99962512b003912e15e82043b6824a92bcff170d08df2·...·]-7">)</span><span·class="p">.</span><span·class="w">
462 </span><span·class="p"·data-group-id="8267884104-13">{</span><span·class="p"·data-group-id="8267884104-14">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="p"·data-group-id="8267884104-14">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="8267884104-15">&lt[·...·truncated·by·diffoscope;·len:·443,·SHA:·b38883548b166a81a0e003b54cb555aae04a4bfba398969cf883b17bd47c11c0·...·]-13">}</span><span·class="w">462 </span><span·class="p"·data-group-id="3191514663-13">{</span><span·class="p"·data-group-id="3191514663-14">&lt;&lt;</span><span·class="s">&quot;åäö&quot;</span><span·class="p"·data-group-id="3191514663-14">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="3191514663-15">&lt[·...·truncated·by·diffoscope;·len:·443,·SHA:·98cc287e83b8a730bd739e49653a92e3d7d9eed3dca7a5a6ee07a3a99ee06c56·...·]-13">}</span><span·class="w">
463 </span><span·class="ss">ok</span></code></pre><p>Notice·that·this·only·affects·<em>heuristic</em>·interpretation·of·lists·and·binaries463 </span><span·class="ss">ok</span></code></pre><p>Notice·that·this·only·affects·<em>heuristic</em>·interpretation·of·lists·and·binaries
464 on·output.·For·example,·the·<code·class="inline">~ts</code>·format·sequence·always·outputs·a·valid·list·of464 on·output.·For·example,·the·<code·class="inline">~ts</code>·format·sequence·always·outputs·a·valid·list·of
465 characters,·regardless·of·the·<code·class="inline">+pc</code>·setting,·as·the·programmer·has·explicitly465 characters,·regardless·of·the·<code·class="inline">+pc</code>·setting,·as·the·programmer·has·explicitly
466 requested·string·output.</p><h2·id="the-interactive-shell"·class="section-heading">466 requested·string·output.</p><h2·id="the-interactive-shell"·class="section-heading">
467 ··<a·href="#the-interactive-shell"·class="hover-link">467 ··<a·href="#the-interactive-shell"·class="hover-link">
468 ····<i·class="ri-link-m"·aria-hidden="true"></i>468 ····<i·class="ri-link-m"·aria-hidden="true"></i>
469 ··</a>469 ··</a>
Offset 482, 47 lines modifiedOffset 482, 47 lines modified
482 example,·a·<code·class="inline">LANG</code>·environment·variable·can·be·set·as·follows:</p><pre><code·class="text">$·echo·$LANG482 example,·a·<code·class="inline">LANG</code>·environment·variable·can·be·set·as·follows:</p><pre><code·class="text">$·echo·$LANG
483 en_US.UTF-8</code></pre><p>Most·systems·handle·variable·<code·class="inline">LC_CTYPE</code>·before·<code·class="inline">LANG</code>,·so·if·that·is·set,·it483 en_US.UTF-8</code></pre><p>Most·systems·handle·variable·<code·class="inline">LC_CTYPE</code>·before·<code·class="inline">LANG</code>,·so·if·that·is·set,·it
484 must·be·set·to·<code·class="inline">UTF-8</code>:</p><pre><code·class="text">$·echo·$LC_CTYPE484 must·be·set·to·<code·class="inline">UTF-8</code>:</p><pre><code·class="text">$·echo·$LC_CTYPE
485 en_US.UTF-8</code></pre><p>The·<code·class="inline">LANG</code>·or·<code·class="inline">LC_CTYPE</code>·setting·are·to·be·consistent·with·what·the·terminal·is485 en_US.UTF-8</code></pre><p>The·<code·class="inline">LANG</code>·or·<code·class="inline">LC_CTYPE</code>·setting·are·to·be·consistent·with·what·the·terminal·is
486 capable·of.·There·is·no·portable·way·for·Erlang·to·ask·the·terminal·about·its486 capable·of.·There·is·no·portable·way·for·Erlang·to·ask·the·terminal·about·its
487 UTF-8·capacity,·we·have·to·rely·on·the·language·and·character·type·settings.</p><p>To·investigate·what·Erlang·thinks·about·the·terminal,·the·call487 UTF-8·capacity,·we·have·to·rely·on·the·language·and·character·type·settings.</p><p>To·investigate·what·Erlang·thinks·about·the·terminal,·the·call
488 <a·href="io.html#getopts/1"><code·class="inline">io:getopts()</code></a>·can·be·used·when·the·shell·is·started:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="n">LC_CTYPE</span><span·class="o">=</span><span·class="ss">en_US</span><span·class="p">.</span><span·class="n">ISO</span><span·class="o">-</span><span·class="mi">8859</span><span·class="o">-</span><span·class="mi">1</span><span·class="w">·</span><span·class="ss">erl</span><span·class="w">488 <a·href="io.html#getopts/1"><code·class="inline">io:getopts()</code></a>·can·be·used·when·the·shell·is·started:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="sc">$·</span><span·class="n">LC_CTYPE</span><span·class="o">=</span><span·class="ss">en_US</span><span·class="p">.</span><span·class="n">ISO</span><span·class="o">-</span><span·class="mi">8859</span><span·class="o">-</span><span·class="mi">1</span><span·class="w">·</span><span·class="ss">erl</span><span·class="w">
489 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R16B</span><span·class="w">·</span><span·class="p"·data-group-id="4572794533-1">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.10</span><span·class="p">.</span><span·class="mi">1</span><span·class="p"·data-group-id="4572794533-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·a75f0b38e33db7a31fb435ddb264141cedfc2efc118baad1fcb57f6f798fe9b8·...·]-5">]</span><span·class="w">489 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R16B</span><span·class="w">·</span><span·class="p"·data-group-id="9080335851-1">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.10</span><span·class="p">.</span><span·class="mi">1</span><span·class="p"·data-group-id="9080335851-1">)</span><span·class="w">·</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·782,·SHA:·ee8fe802984ad80c4a791ccb406882b09a64fabe03fb31b9fee7e46def9573d4·...·]-5">]</span><span·class="w">
  
490 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">10.1</span><span·class="w">··</span><span·class="p"·data-group-id="4572794533-6">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="4572794533-6">)</span><span·class="gp·unselectable">490 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">10.1</span><span·class="w">··</span><span·class="p"·data-group-id="9080335851-6">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="9080335851-6">)</span><span·class="gp·unselectable">
491 1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">keyfind</span><span·class="p"·data-group-id="4572794533-7">(</span><span·class="ss">encoding</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">getopts</span>[·...·truncated·by·diffoscope;·len:·147,·SHA:·d5bc496767d9d33480624ad0747dcb3f7df5f99b88ee6b61cee148477c467962·...·]-7">)</span><span·class="p">.</span><span·class="w">491 1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">keyfind</span><span·class="p"·data-group-id="9080335851-7">(</span><span·class="ss">encoding</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">getopts</span>[·...·truncated·by·diffoscope;·len:·147,·SHA:·42bf4b6ce3503393ce0c1b32e98a2000359728acda08cafe9761a58f6b1a6f64·...·]-7">)</span><span·class="p">.</span><span·class="w">
492 </span><span·class="p"·data-group-id="4572794533-9">{</span><span·class="ss">encoding</span><span·class="p">,</span><span·class="ss">latin1</span><span·class="p"·data-group-id="4572794533-9">}</span><span·class="gp·unselectable">492 </span><span·class="p"·data-group-id="9080335851-9">{</span><span·class="ss">encoding</span><span·class="p">,</span><span·class="ss">latin1</span><span·class="p"·data-group-id="9080335851-9">}</span><span·class="gp·unselectable">
493 2&gt;·</span><span·class="nf">q</span><span·class="p"·data-group-id="4572794533-10">(</span><span·class="p"·data-group-id="4572794533-10">)</span><span·class="p">.</span><span·class="w">493 2&gt;·</span><span·class="nf">q</span><span·class="p"·data-group-id="9080335851-10">(</span><span·class="p"·data-group-id="9080335851-10">)</span><span·class="p">.</span><span·class="w">
494 </span><span·class="ss">ok</span><span·class="w">494 </span><span·class="ss">ok</span><span·class="w">
495 </span><span·class="sc">$·</span><span·class="n">LC_CTYPE</span><span·class="o">=</span><span·class="ss">en_US</span><span·class="p">.</span><span·class="n">UTF</span><span·class="o">-</span><span·class="mi">8</span><span·class="w">·</span><span·class="ss">erl</span><span·class="w">495 </span><span·class="sc">$·</span><span·class="n">LC_CTYPE</span><span·class="o">=</span><span·class="ss">en_US</span><span·class="p">.</span><span·class="n">UTF</span><span·class="o">-</span><span·class="mi">8</span><span·class="w">·</span><span·class="ss">erl</span><span·class="w">
496 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R16B</span><span·class="w">·</span><span·class="p"·data-group-id="4572794533-11">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.10</span><span·class="p">.</span><span·class="mi">1</span><span·class="p"·data-group-id="4572794533-11">)</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·791,·SHA:·ff1c32e2f2057a0b4840ce22db53cb750e85cf4b7d45a7374f09e00ee0d2c560·...·]-15">]</span><span·class="w">496 </span><span·class="n">Erlang</span><span·class="w">·</span><span·class="n">R16B</span><span·class="w">·</span><span·class="p"·data-group-id="9080335851-11">(</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">5.10</span><span·class="p">.</span><span·class="mi">1</span><span·class="p"·data-group-id="9080335851-11">)</span><span·class="w">·</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·791,·SHA:·f6016c7885897a6ed68864273d4170b8b3b06bdb869ee18a125ce16f70f93ad8·...·]-15">]</span><span·class="w">
  
497 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">10.1</span><span·class="w">··</span><span·class="p"·data-group-id="4572794533-16">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="4572794533-16">)</span><span·class="gp·unselectable">497 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V5</span><span·class="p">.</span><span·class="mf">10.1</span><span·class="w">··</span><span·class="p"·data-group-id="9080335851-16">(</span><span·class="ss">abort</span><span·class="w">·</span><span·class="ss">with</span><span·class="w">·</span><span·class="err">^</span><span·class="n">G</span><span·class="p"·data-group-id="9080335851-16">)</span><span·class="gp·unselectable">
498 1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">keyfind</span><span·class="p"·data-group-id="4572794533-17">(</span><span·class="ss">encoding</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">getopts</span[·...·truncated·by·diffoscope;·len:·150,·SHA:·6631b9cebdeff559514ba011b96d30c4dbea07dcbfc6b7843ecab8a7dc21faf6·...·]-17">)</span><span·class="p">.</span><span·class="w">498 1&gt;·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">keyfind</span><span·class="p"·data-group-id="9080335851-17">(</span><span·class="ss">encoding</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">getopts</span[·...·truncated·by·diffoscope;·len:·150,·SHA:·804ddaa66b19ca777d97cc4d5fbf84b104113cf2931b90a6423e40422f75bc6d·...·]-17">)</span><span·class="p">.</span><span·class="w">
Max diff block lines reached; 91667/163325 bytes (56.13%) of diff not shown.
854 B
html2text {}
Max HTML report size reached
90.8 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/uri_string.html
    
Offset 587, 19 lines modifiedOffset 587, 19 lines modified
587 ···························QueryString·::·<a·href="#t:uri_string/0">uri_string</a>()·|·<a·href="#t:error/0">error</a>().</pre>587 ···························QueryString·::·<a·href="#t:uri_string/0">uri_string</a>()·|·<a·href="#t:error/0">error</a>().</pre>
  
588 ······</div>588 ······</div>
  
589 <p>Composes·a·form-urlencoded·<code·class="inline">QueryString</code>·based·on·a·<code·class="inline">QueryList</code>,·a·list·of589 <p>Composes·a·form-urlencoded·<code·class="inline">QueryString</code>·based·on·a·<code·class="inline">QueryList</code>,·a·list·of
590 non-percent-encoded·key-value·pairs.</p><p>Form-urlencoding·is·defined·in·section·4.10.21.6·of·the·<a·href="https://www.w3.org/TR/html52/">HTML·5.2</a>590 non-percent-encoded·key-value·pairs.</p><p>Form-urlencoding·is·defined·in·section·4.10.21.6·of·the·<a·href="https://www.w3.org/TR/html52/">HTML·5.2</a>
591 specification·and·in·section·4.10.22.6·of·the·<a·href="https://www.w3.org/TR/html50/">HTML·5.0</a>591 specification·and·in·section·4.10.22.6·of·the·<a·href="https://www.w3.org/TR/html50/">HTML·5.0</a>
592 specification·for·non-UTF-8·encodings.</p><p>See·also·the·opposite·operation·<a·href="#dissect_query/1"><code·class="inline">dissect_query/1</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">compose_query</span><span·class="p"·data-group-id="2589249188-1">(</span><span·class="p"·data-group-id="2589249188-2">[</span><span·class="p"·data-group-id="2589249188-3">{</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p">,</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·355,·SHA:·7f413562afa1082331f5fdb576a5c7fca349f1618d716d08277873116c35c76d·...·]-1">)</span><span·class="p">.</span><span·class="w">592 specification·for·non-UTF-8·encodings.</p><p>See·also·the·opposite·operation·<a·href="#dissect_query/1"><code·class="inline">dissect_query/1</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">compose_query</span><span·class="p"·data-group-id="3225172669-1">(</span><span·class="p"·data-group-id="3225172669-2">[</span><span·class="p"·data-group-id="3225172669-3">{</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p">,</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·355,·SHA:·198cc6352700df27b6e7b20aa41c07cb0b3892b017b71b5c9306c5bac3c4e25c·...·]-1">)</span><span·class="p">.</span><span·class="w">
593 </span><span·class="s">&quot;foo+bar=1&amp;city=%C3%B6rebro&quot;</span><span·class="gp·unselectable">593 </span><span·class="s">&quot;foo+bar=1&amp;city=%C3%B6rebro&quot;</span><span·class="gp·unselectable">
594 2&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">compose_query</span><span·class="p"·data-group-id="2589249188-5">(</span><span·class="p"·data-group-id="2589249188-6">[</span><span·class="p"·data-group-id="2589249188-7">{</span><span·class="p"·data-group-id="2589249188-8">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·255,·SHA:·16d20e301d2dabeffef5d6821d0158a01e0e7bb023cc2840727f357932663b3a·...·]-7">}</span><span·class="p">,</span><span·class="gp·unselectable">594 2&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">compose_query</span><span·class="p"·data-group-id="3225172669-5">(</span><span·class="p"·data-group-id="3225172669-6">[</span><span·class="p"·data-group-id="3225172669-7">{</span><span·class="p"·data-group-id="3225172669-8">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·255,·SHA:·f5fa71277f44fc33c62fac7237e75a6e9061e305080ae007167dfa982b61ecee·...·]-7">}</span><span·class="p">,</span><span·class="gp·unselectable">
595 2&gt;·</span><span·class="p"·data-group-id="2589249188-10">{</span><span·class="p"·data-group-id="2589249188-11">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="2589249188-11">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="2589249188-12">&l[·...·truncated·by·diffoscope;·len:·315,·SHA:·776923232782ff754ad40a1a4d3778e73fd4edd50947b2b83cc1b90479669437·...·]-5">)</span><span·class="p">.</span><span·class="w">595 2&gt;·</span><span·class="p"·data-group-id="3225172669-10">{</span><span·class="p"·data-group-id="3225172669-11">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="3225172669-11">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="3225172669-12">&l[·...·truncated·by·diffoscope;·len:·315,·SHA:·5249cac8e692c45c2b96bea09e9b4cb34a19c31a927b18d4159367e17ea260c1·...·]-5">)</span><span·class="p">.</span><span·class="w">
596 </span><span·class="p"·data-group-id="2589249188-13">&lt;&lt;</span><span·class="s">&quot;foo+bar=1&amp;city=%C3%B6rebro&quot;</span><span·class="p"·data-group-id="2589249188-13">&gt;&gt;</span></code></pre>596 </span><span·class="p"·data-group-id="3225172669-13">&lt;&lt;</span><span·class="s">&quot;foo+bar=1&amp;city=%C3%B6rebro&quot;</span><span·class="p"·data-group-id="3225172669-13">&gt;&gt;</span></code></pre>
597 ··</section>597 ··</section>
598 </section>598 </section>
599 <section·class="detail"·id="compose_query/2">599 <section·class="detail"·id="compose_query/2">
  
600 ··<div·class="detail-header">600 ··<div·class="detail-header">
601 ····<a·href="#compose_query/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">601 ····<a·href="#compose_query/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
602 ······<i·class="ri-link-m"·aria-hidden="true"></i>602 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 632, 20 lines modifiedOffset 632, 20 lines modified
632 algorithm.</p><p>There·are·two·supported·encodings:·<code·class="inline">utf8</code>·(or·<code·class="inline">unicode</code>)·and·<code·class="inline">latin1</code>.</p><p>Each·character·in·the·entry's·name·and·value·that·cannot·be·expressed·using·the632 algorithm.</p><p>There·are·two·supported·encodings:·<code·class="inline">utf8</code>·(or·<code·class="inline">unicode</code>)·and·<code·class="inline">latin1</code>.</p><p>Each·character·in·the·entry's·name·and·value·that·cannot·be·expressed·using·the
633 selected·character·encoding,·is·replaced·by·a·string·consisting·of·a·U+0026633 selected·character·encoding,·is·replaced·by·a·string·consisting·of·a·U+0026
634 AMPERSAND·character·(&amp;),·a·&quot;#&quot;·(U+0023)·character,·one·or·more·ASCII·digits634 AMPERSAND·character·(&amp;),·a·&quot;#&quot;·(U+0023)·character,·one·or·more·ASCII·digits
635 representing·the·Unicode·code·point·of·the·character·in·base·ten,·and·finally·a635 representing·the·Unicode·code·point·of·the·character·in·base·ten,·and·finally·a
636 &quot;;&quot;·(U+003B)·character.</p><p>Bytes·that·are·out·of·the·range·0x2A,·0x2D,·0x2E,·0x30·to·0x39,·0x41·to·0x5A,636 &quot;;&quot;·(U+003B)·character.</p><p>Bytes·that·are·out·of·the·range·0x2A,·0x2D,·0x2E,·0x30·to·0x39,·0x41·to·0x5A,
637 0x5F,·0x61·to·0x7A,·are·percent-encoded·(U+0025·PERCENT·SIGN·character·(%)637 0x5F,·0x61·to·0x7A,·are·percent-encoded·(U+0025·PERCENT·SIGN·character·(%)
638 followed·by·uppercase·ASCII·hex·digits·representing·the·hexadecimal·value·of·the638 followed·by·uppercase·ASCII·hex·digits·representing·the·hexadecimal·value·of·the
639 byte).</p><p>See·also·the·opposite·operation·<a·href="#dissect_query/1"><code·class="inline">dissect_query/1</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">compose_query</span><span·class="p"·data-group-id="4374398622-1">(</span><span·class="p"·data-group-id="4374398622-2">[</span><span·class="p"·data-group-id="4374398622-3">{</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p">,</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="4374398622-3">}</span><span·class="p">,</span><span·class="p"·data-group-id="4374398622-4">{</span><span·class="s">&quot;city&quot;</span><span·class="p">,</span><span·class="s">&quot;örebro&quot;</span><span·class="p"·data-group-id="4374398622-4">}</span><span·class="p"·data-group-id="4374398622-2">]</span><span·class="p">,</span><span·class="gp·unselectable"> 
640 1&gt;·</span><span·class="p"·data-group-id="4374398622-5">[</span><span·class="p"·data-group-id="4374398622-6">{</span><span·class="ss">encoding</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">latin1</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·170,·SHA:·796cac954112da10e5bd8843b479e484170456b3eece8cb6fb9c1c6065f8e694·...·]">639 byte).</p><p>See·also·the·opposite·operation·<a·href="#dissect_query/1"><code·class="inline">dissect_query/1</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">[·...·truncated·by·diffoscope;·len:·731,·SHA:·9e3e125854dd57f1fe06c308d38b565cb59073d2e464d46d06019bdd5f3dd1b3·...·]">
 640 1&gt;·</span><span·class="p"·data-group-id="6576263381-5">[</span><span·class="p"·data-group-id="6576263381-6">{</span><span·class="ss">encoding</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">latin1</span><span·class="p"·data-group-id="6576263381-6">}</span><span·class="p"·data-group-id="6576263381-5">]</span><span·class="p"·data-group-id="6576263381-1">)</span><span·class="p">.</span><span·class="w">
641 </span><span·class="s">&quot;foo+bar=1&amp;city=%F6rebro&quot;</span><span·class="gp·unselectable">641 </span><span·class="s">&quot;foo+bar=1&amp;city=%F6rebro&quot;</span><span·class="gp·unselectable">
642 2&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">compose_query</span><span·class="p"·data-group-id="4374398622-7">(</span><span·class="p"·data-group-id="4374398622-8">[</span><span·class="p"·data-group-id="4374398622-9">{</span><span·class="p"·data-group-id="4374398622-10">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·259,·SHA:·9a03078ae6b396d0e268bddbc7640587c275f49324535a8bf67452613d10e1eb·...·]-9">}</span><span·class="p">,</span><span·class="gp·unselectable">642 2&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">compose_query</span><span·class="p"·data-group-id="6576263381-7">(</span><span·class="p"·data-group-id="6576263381-8">[</span><span·class="p"·data-group-id="6576263381-9">{</span><span·class="p"·data-group-id="6576263381-10">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·259,·SHA:·731aab0bdfb489d9d5209b3645d9e3e927ac81469719cd28bedabfc637cc4d77·...·]-9">}</span><span·class="p">,</span><span·class="gp·unselectable">
643 2&gt;·</span><span·class="p"·data-group-id="4374398622-12">{</span><span·class="p"·data-group-id="4374398622-13">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="4374398622-13">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="4374398622-14">&l[·...·truncated·by·diffoscope;·len:·685,·SHA:·80561340240c56e3675c4ef9ac43b35780f4eb3647a2952676d0c0c19d69adb3·...·]-7">)</span><span·class="p">.</span><span·class="w">643 2&gt;·</span><span·class="p"·data-group-id="6576263381-12">{</span><span·class="p"·data-group-id="6576263381-13">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="6576263381-13">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="6576263381-14">&l[·...·truncated·by·diffoscope;·len:·685,·SHA:·b246ea7272d902fad7b1622ddb3df6c43f5af1a3a1618be693f8b8fe70404290·...·]-7">)</span><span·class="p">.</span><span·class="w">
644 </span><span·class="p"·data-group-id="4374398622-17">&lt;&lt;</span><span·class="s">&quot;foo+bar=1&amp;city=%26%2326481%3B%26%2320140%3B&quot;</span><span·class="p"·data-group-id="4374398622-17">&gt;&gt;</span></code></pre>644 </span><span·class="p"·data-group-id="6576263381-17">&lt;&lt;</span><span·class="s">&quot;foo+bar=1&amp;city=%26%2326481%3B%26%2320140%3B&quot;</span><span·class="p"·data-group-id="6576263381-17">&gt;&gt;</span></code></pre>
645 ··</section>645 ··</section>
646 </section>646 </section>
647 <section·class="detail"·id="dissect_query/1">647 <section·class="detail"·id="dissect_query/1">
  
648 ··<div·class="detail-header">648 ··<div·class="detail-header">
649 ····<a·href="#dissect_query/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">649 ····<a·href="#dissect_query/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
650 ······<i·class="ri-link-m"·aria-hidden="true"></i>650 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 671, 19 lines modifiedOffset 671, 19 lines modified
671 ···························QueryList·::·[{<a·href="unicode.html#t:chardata/0">unicode:chardata</a>(),·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>()·|·true}]·|·<a·href="#t:error/0">error</a>().</pre>671 ···························QueryList·::·[{<a·href="unicode.html#t:chardata/0">unicode:chardata</a>(),·<a·href="unicode.html#t:chardata/0">unicode:chardata</a>()·|·true}]·|·<a·href="#t:error/0">error</a>().</pre>
  
672 ······</div>672 ······</div>
  
673 <p>Dissects·an·urlencoded·<code·class="inline">QueryString</code>·and·returns·a·<code·class="inline">QueryList</code>,·a·list·of673 <p>Dissects·an·urlencoded·<code·class="inline">QueryString</code>·and·returns·a·<code·class="inline">QueryList</code>,·a·list·of
674 non-percent-encoded·key-value·pairs.</p><p>Form-urlencoding·is·defined·in·section·4.10.21.6·of·the·<a·href="https://www.w3.org/TR/html52/">HTML·5.2</a>674 non-percent-encoded·key-value·pairs.</p><p>Form-urlencoding·is·defined·in·section·4.10.21.6·of·the·<a·href="https://www.w3.org/TR/html52/">HTML·5.2</a>
675 specification·and·in·section·4.10.22.6·of·the·<a·href="https://www.w3.org/TR/html50/">HTML·5.0</a>675 specification·and·in·section·4.10.22.6·of·the·<a·href="https://www.w3.org/TR/html50/">HTML·5.0</a>
676 specification·for·non-UTF-8·encodings.</p><p>See·also·the·opposite·operation·<a·href="#compose_query/1"><code·class="inline">compose_query/1</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">dissect_query</span><span·class="p"·data-group-id="2718394495-1">(</span><span·class="s">&quot;foo+bar=1&amp;city=%C3%B6rebro&quot;</span><span·class="p"·data-group-id="2718394495-1">)</span><span·class="p">.</span><span·class="w">676 specification·for·non-UTF-8·encodings.</p><p>See·also·the·opposite·operation·<a·href="#compose_query/1"><code·class="inline">compose_query/1</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">dissect_query</span><span·class="p"·data-group-id="7289222629-1">(</span><span·class="s">&quot;foo+bar=1&amp;city=%C3%B6rebro&quot;</span><span·class="p"·data-group-id="7289222629-1">)</span><span·class="p">.</span><span·class="w">
677 </span><span·class="p"·data-group-id="2718394495-2">[</span><span·class="p"·data-group-id="2718394495-3">{</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p">,</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="2718394495-3">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·249,·SHA:·940d75462a15e6a7a88b32b11e123fd35406eaf2f111fbb94c29e5e680e76baa·...·]-2">]</span><span·class="gp·unselectable">677 </span><span·class="p"·data-group-id="7289222629-2">[</span><span·class="p"·data-group-id="7289222629-3">{</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p">,</span><span·class="s">&quot;1&quot;</span><span·class="p"·data-group-id="7289222629-3">}</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·249,·SHA:·0004d66b6c5fed502fd5e38a0fcfa796c6a7d9aa8a45bd81e374ae9a545d3c28·...·]-2">]</span><span·class="gp·unselectable">
678 2&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">dissect_query</span><span·class="p"·data-group-id="2718394495-5">(</span><span·class="p"·data-group-id="2718394495-6">&lt;&lt;</span><span·class="s">&quot;foo+bar=1&amp;city=%26%2326481%3B%26%2320140%3B&quot;</span><span·class="p"·data-group-id="2718394495-6">&gt;&gt;</span><span·class="p"·data-group-id="2[·...·truncated·by·diffoscope;·len:·9,·SHA:·36159ac081d4000004a5824cd88a9b7899f7faab8cc0d275c0175b33b6d57b5e·...·]-5">)</span><span·class="p">.</span><span·class="w">678 2&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">dissect_query</span><span·class="p"·data-group-id="7289222629-5">(</span><span·class="p"·data-group-id="7289222629-6">&lt;&lt;</span><span·class="s">&quot;foo+bar=1&amp;city=%26%2326481%3B%26%2320140%3B&quot;</span><span·class="p"·data-group-id="7289222629-6">&gt;&gt;</span><span·class="p"·data-group-id="7[·...·truncated·by·diffoscope;·len:·9,·SHA:·d263ae823f37439b61358765df539cb2e3f78f202fea130d2e748085fb3a808d·...·]-5">)</span><span·class="p">.</span><span·class="w">
679 </span><span·class="p"·data-group-id="2718394495-7">[</span><span·class="p"·data-group-id="2718394495-8">{</span><span·class="p"·data-group-id="2718394495-9">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group-id="2718394495-9">&gt;&gt;</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·204,·SHA:·d45c6414f55652a08bac018a2e7d9dc79b61202f0ce94aa9fb77dafb0892d2d3·...·]-8">}</span><span·class="p">,</span><span·class="w">679 </span><span·class="p"·data-group-id="7289222629-7">[</span><span·class="p"·data-group-id="7289222629-8">{</span><span·class="p"·data-group-id="7289222629-9">&lt;&lt;</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group-id="7289222629-9">&gt;&gt;</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·204,·SHA:·1ae13fe8031bba98941708dda7126d90cba27c517e18ec33c84ad01356b5cf87·...·]-8">}</span><span·class="p">,</span><span·class="w">
680 ·</span><span·class="p"·data-group-id="2718394495-11">{</span><span·class="p"·data-group-id="2718394495-12">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="2718394495-12">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="2718394495-13">&l[·...·truncated·by·diffoscope;·len:·451,·SHA:·5489a9b1ee59ec3bd8bb3b8b9823c2b2d2067bb7a256bbc0b59a437fdcb88bb4·...·]-7">]</span></code></pre>680 ·</span><span·class="p"·data-group-id="7289222629-11">{</span><span·class="p"·data-group-id="7289222629-12">&lt;&lt;</span><span·class="s">&quot;city&quot;</span><span·class="p"·data-group-id="7289222629-12">&gt;&gt;</span><span·class="p">,</span><span·class="p"·data-group-id="7289222629-13">&l[·...·truncated·by·diffoscope;·len:·451,·SHA:·2c7f6bc06f366d692f44ecbbc8704e7289001a3187fd2dd1e2b29955776952ef·...·]-7">]</span></code></pre>
681 ··</section>681 ··</section>
682 </section>682 </section>
683 <section·class="detail"·id="normalize/1">683 <section·class="detail"·id="normalize/1">
  
684 ··<div·class="detail-header">684 ··<div·class="detail-header">
685 ····<a·href="#normalize/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">685 ····<a·href="#normalize/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
686 ······<i·class="ri-link-m"·aria-hidden="true"></i>686 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 707, 22 lines modifiedOffset 707, 22 lines modified
707 ···················when·URI·::·<a·href="#t:uri_string/0">uri_string</a>()·|·<a·href="#t:uri_map/0">uri_map</a>(),·NormalizedURI·::·<a·href="#t:uri_string/0">uri_string</a>()·|·<a·href="#t:error/0">error</a>().</pre>707 ···················when·URI·::·<a·href="#t:uri_string/0">uri_string</a>()·|·<a·href="#t:uri_map/0">uri_map</a>(),·NormalizedURI·::·<a·href="#t:uri_string/0">uri_string</a>()·|·<a·href="#t:error/0">error</a>().</pre>
  
708 ······</div>708 ······</div>
  
709 <p>Transforms·an·<code·class="inline">URI</code>·into·a·normalized·form·using·Syntax-Based·Normalization·as709 <p>Transforms·an·<code·class="inline">URI</code>·into·a·normalized·form·using·Syntax-Based·Normalization·as
710 defined·by·<a·href="https://www.ietf.org/rfc/rfc3986.txt">RFC·3986</a>.</p><p>This·function·implements·case·normalization,·percent-encoding·normalization,710 defined·by·<a·href="https://www.ietf.org/rfc/rfc3986.txt">RFC·3986</a>.</p><p>This·function·implements·case·normalization,·percent-encoding·normalization,
711 path·segment·normalization·and·scheme·based·normalization·for·HTTP(S)·with·basic711 path·segment·normalization·and·scheme·based·normalization·for·HTTP(S)·with·basic
712 support·for·FTP,·SSH,·SFTP·and·TFTP.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="9938548470-1">(</span><span·class="s">&quot;/a/b/c/./../../g&quot;</span><span·class="p"·data-group-id="9938548470-1">)</span><span·class="p">.</span><span·class="w">712 support·for·FTP,·SSH,·SFTP·and·TFTP.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="6791158411-1">(</span><span·class="s">&quot;/a/b/c/./../../g&quot;</span><span·class="p"·data-group-id="6791158411-1">)</span><span·class="p">.</span><span·class="w">
713 </span><span·class="s">&quot;/a/g&quot;</span><span·class="gp·unselectable">713 </span><span·class="s">&quot;/a/g&quot;</span><span·class="gp·unselectable">
714 2&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="9938548470-2">(</span><span·class="p"·data-group-id="9938548470-3">&lt;&lt;</span><span·class="s">&quot;mid/content=5/../6&quot;</span><span·class="p"·data-group-id="9938548470-3">&gt;&gt;</span><span·class="p"·data-group-id="9938548470-2">)</span><span·class="p">.</span><span·class="w">714 2&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="6791158411-2">(</span><span·class="p"·data-group-id="6791158411-3">&lt;&lt;</span><span·class="s">&quot;mid/content=5/../6&quot;</span><span·class="p"·data-group-id="6791158411-3">&gt;&gt;</span><span·class="p"·data-group-id="6791158411-2">)</span><span·class="p">.</span><span·class="w">
715 </span><span·class="p"·data-group-id="9938548470-4">&lt;&lt;</span><span·class="s">&quot;mid/6&quot;</span><span·class="p"·data-group-id="9938548470-4">&gt;&gt;</span><span·class="gp·unselectable">715 </span><span·class="p"·data-group-id="6791158411-4">&lt;&lt;</span><span·class="s">&quot;mid/6&quot;</span><span·class="p"·data-group-id="6791158411-4">&gt;&gt;</span><span·class="gp·unselectable">
716 3&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="9938548470-5">(</span><span·class="s">&quot;http://localhost:80&quot;</span><span·class="p"·data-group-id="9938548470-5">)</span><span·class="p">.</span><span·class="w">716 3&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="6791158411-5">(</span><span·class="s">&quot;http://localhost:80&quot;</span><span·class="p"·data-group-id="6791158411-5">)</span><span·class="p">.</span><span·class="w">
717 </span><span·class="s">&quot;http://localhost/&quot;</span><span·class="gp·unselectable">717 </span><span·class="s">&quot;http://localhost/&quot;</span><span·class="gp·unselectable">
718 4&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="9938548470-6">(</span><span·class="p"·data-group-id="9938548470-7">#{</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p">,</span><span·class="ss">port</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/a/b/c/./../../g&quot;</span><span·class="p">,</span><span·class="gp·unselectable">718 4&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="6791158411-6">(</span><span·class="p"·data-group-id="6791158411-7">#{</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p">,</span><span·class="ss">port</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/a/b/c/./../../g&quot;</span><span·class="p">,</span><span·class="gp·unselectable">
719 4&gt;·</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;localhost-örebro&quot;</span><span·class="p"·data-group-id="9938548470-7">}</span><span·class="p"·data-group-id="9938548470-6">)</span><span·class="p">.</span><span·class="w">719 4&gt;·</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;localhost-örebro&quot;</span><span·class="p"·data-group-id="6791158411-7">}</span><span·class="p"·data-group-id="6791158411-6">)</span><span·class="p">.</span><span·class="w">
720 </span><span·class="s">&quot;http://localhost-%C3%B6rebro/a/g&quot;</span></code></pre>720 </span><span·class="s">&quot;http://localhost-%C3%B6rebro/a/g&quot;</span></code></pre>
721 ··</section>721 ··</section>
722 </section>722 </section>
723 <section·class="detail"·id="normalize/2">723 <section·class="detail"·id="normalize/2">
  
724 ··<div·class="detail-header">724 ··<div·class="detail-header">
725 ····<a·href="#normalize/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">725 ····<a·href="#normalize/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
Offset 749, 23 lines modifiedOffset 749, 23 lines modified
749 ·······················Options·::·[return_map],749 ·······················Options·::·[return_map],
750 ·······················NormalizedURI·::·<a·href="#t:uri_string/0">uri_string</a>()·|·<a·href="#t:uri_map/0">uri_map</a>()·|·<a·href="#t:error/0">error</a>().</pre>750 ·······················NormalizedURI·::·<a·href="#t:uri_string/0">uri_string</a>()·|·<a·href="#t:uri_map/0">uri_map</a>()·|·<a·href="#t:error/0">error</a>().</pre>
  
751 ······</div>751 ······</div>
  
752 <p>Same·as·<a·href="#normalize/1"><code·class="inline">normalize/1</code></a>·but·with·an·additional·<code·class="inline">Options</code>752 <p>Same·as·<a·href="#normalize/1"><code·class="inline">normalize/1</code></a>·but·with·an·additional·<code·class="inline">Options</code>
753 parameter,·that·controls·whether·the·normalized·URI·shall·be·returned·as·an753 parameter,·that·controls·whether·the·normalized·URI·shall·be·returned·as·an
754 uri_map().</p><p>There·is·one·supported·option:·<code·class="inline">return_map</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="1877701983-1">(</span><span·class="s">&quot;/a/b/c/./../../g&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1877701983-2">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="1877701983-2">]</[·...·truncated·by·diffoscope;·len:·46,·SHA:·1fd8337a72091e99bf87a7398b5fa595beaf609516a5c8b728b11e32d4a1be46·...·]-1">)</span><span·class="p">.</span><span·class="w">754 uri_map().</p><p>There·is·one·supported·option:·<code·class="inline">return_map</code>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="6977958879-1">(</span><span·class="s">&quot;/a/b/c/./../../g&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6977958879-2">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="6977958879-2">]</[·...·truncated·by·diffoscope;·len:·46,·SHA:·4fc75d43c30a1e3371b8c62457465f166086e1cd6237257b932635b15797b95e·...·]-1">)</span><span·class="p">.</span><span·class="w">
755 </span><span·class="p"·data-group-id="1877701983-3">#{</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/a/g&quot;</span><span·class="p"·data-group-id="1877701983-3">}</span><span·class="gp·unselectable">755 </span><span·class="p"·data-group-id="6977958879-3">#{</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/a/g&quot;</span><span·class="p"·data-group-id="6977958879-3">}</span><span·class="gp·unselectable">
756 2&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="1877701983-4">(</span><span·class="p"·data-group-id="1877701983-5">&lt;&lt;</span><span·class="s">&quot;mid/content=5/../6&quot;</span><span·class="p"·data-group-id="1877701983-5">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·168,·SHA:·e8ab3401c2b83c04586d7897913dc7a920e10903a838515017cab8d33d2fb7f2·...·]-4">)</span><span·class="p">.</span><span·class="w">756 2&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="6977958879-4">(</span><span·class="p"·data-group-id="6977958879-5">&lt;&lt;</span><span·class="s">&quot;mid/content=5/../6&quot;</span><span·class="p"·data-group-id="6977958879-5">&gt;&gt;</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·168,·SHA:·c5789b76c5b1279a02f212959c4f18126c4d67fd06e94513750783b33c5eebad·...·]-4">)</span><span·class="p">.</span><span·class="w">
757 </span><span·class="p"·data-group-id="1877701983-7">#{</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1877701983-8">&lt;&lt;</span><span·class="s">&quot;mid/6&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·72,·SHA:·63dc00673eee1f616cedb53a635a4e3eff89a02e009ca977fee4add539372ba9·...·]-7">}</span><span·class="gp·unselectable">757 </span><span·class="p"·data-group-id="6977958879-7">#{</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="6977958879-8">&lt;&lt;</span><span·class="s">&quot;mid/6&quot;</span><span·class="p"·data-group-id[·...·truncated·by·diffoscope;·len:·72,·SHA:·9c5f81b9de40037218379937b5b68eee06702e6abcb04f14c03fbb497d25144a·...·]-7">}</span><span·class="gp·unselectable">
758 3&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="1877701983-9">(</span><span·class="s">&quot;http://localhost:80&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1877701983-10">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="1877701983-10[·...·truncated·by·diffoscope;·len:·51,·SHA:·780d861d65013e71cb550dee4684a3973a984388be0f3a1e8d92fa790d8c15c1·...·]-9">)</span><span·class="p">.</span><span·class="w">758 3&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="6977958879-9">(</span><span·class="s">&quot;http://localhost:80&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6977958879-10">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="6977958879-10[·...·truncated·by·diffoscope;·len:·51,·SHA:·67e2601d0f1980366084be6bd963dea973e4bca6abeab9ed61802e975fddefbe·...·]-9">)</span><span·class="p">.</span><span·class="w">
759 </span><span·class="p"·data-group-id="1877701983-11">#{</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·290,·SHA:·55cf79630d4e8c99b1de8c95ffd57a29dd333aba321273da65835cdd61735455·...·]-11">}</span><span·class="gp·unselectable">759 </span><span·class="p"·data-group-id="6977958879-11">#{</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·290,·SHA:·0e5e08e649334c8f37eb4e5b7920a303f263a21c810c7696a7e693bc4d1ed0ef·...·]-11">}</span><span·class="gp·unselectable">
760 4&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="1877701983-12">(</span><span·class="p"·data-group-id="1877701983-13">#{</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p">,</span><span·class="ss">port</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/a/b/c/./../../g&quot;</span><span·class="p">,</span><span·class="gp·unselectable">760 4&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="6977958879-12">(</span><span·class="p"·data-group-id="6977958879-13">#{</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p">,</span><span·class="ss">port</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">80</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/a/b/c/./../../g&quot;</span><span·class="p">,</span><span·class="gp·unselectable">
761 4&gt;·</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;localhost-örebro&quot;</span><span·class="p"·data-group-id="1877701983-13">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1877701983-14">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="1877701983-14">]</span><span·class="p"·data-group-id="1877701983-12">)</span><span·class="p">.</span><span·class="w">761 4&gt;·</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;localhost-örebro&quot;</span><span·class="p"·data-group-id="6977958879-13">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6977958879-14">[</span><span·class="ss">return_map</span><span·class="p"·data-group-id="6977958879-14">]</span><span·class="p"·data-group-id="6977958879-12">)</span><span·class="p">.</span><span·class="w">
762 </span><span·class="p"·data-group-id="1877701983-15">#{</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·300,·SHA:·b29750c811a3e650592badf61e17fddd8e9094d496d686d319cd9461eb0995c9·...·]-15">}</span></code></pre>762 </span><span·class="p"·data-group-id="6977958879-15">#{</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·300,·SHA:·1a7a10fe291325945010ace1041d1912044d28dc4306f425e5653c65984affc4·...·]-15">}</span></code></pre>
763 ··</section>763 ··</section>
764 </section>764 </section>
765 <section·class="detail"·id="parse/1">765 <section·class="detail"·id="parse/1">
  
766 ··<div·class="detail-header">766 ··<div·class="detail-header">
767 ····<a·href="#parse/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">767 ····<a·href="#parse/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
768 ······<i·class="ri-link-m"·aria-hidden="true"></i>768 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 787, 22 lines modifiedOffset 787, 22 lines modified
  
787 ··········<pre·translate="no"><span·class="attribute">-spec</span>·parse(URIString)·->·URIMap·when·URIString·::·<a·href="#t:uri_string/0">uri_string</a>(),·URIMap·::·<a·href="#t:uri_map/0">uri_map</a>()·|·<a·href="#t:error/0">error</a>().</pre>787 ··········<pre·translate="no"><span·class="attribute">-spec</span>·parse(URIString)·->·URIMap·when·URIString·::·<a·href="#t:uri_string/0">uri_string</a>(),·URIMap·::·<a·href="#t:uri_map/0">uri_map</a>()·|·<a·href="#t:error/0">error</a>().</pre>
  
788 ······</div>788 ······</div>
  
789 <p>Parses·an·<a·href="https://www.ietf.org/rfc/rfc3986.txt">RFC·3986</a>·compliant789 <p>Parses·an·<a·href="https://www.ietf.org/rfc/rfc3986.txt">RFC·3986</a>·compliant
790 <a·href="#t:uri_string/0"><code·class="inline">uri_string/0</code></a>·into·a·<a·href="#t:uri_map/0"><code·class="inline">uri_map/0</code></a>,·that·holds·the·parsed·components·of·the790 <a·href="#t:uri_string/0"><code·class="inline">uri_string/0</code></a>·into·a·<a·href="#t:uri_map/0"><code·class="inline">uri_map/0</code></a>,·that·holds·the·parsed·components·of·the
791 <code·class="inline">URI</code>.·If·parsing·fails,·an·error·tuple·is·returned.</p><p>See·also·the·opposite·operation·<a·href="#recompose/1"><code·class="inline">recompose/1</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="1002937433-1">(</span><span·class="s">&quot;foo://user@example.com:8042/over/there?name=ferret#nose&quot;</span><span·class="p"·data-group-id="1002937433-1">)</span><span·class="p">.</span><span·class="w">791 <code·class="inline">URI</code>.·If·parsing·fails,·an·error·tuple·is·returned.</p><p>See·also·the·opposite·operation·<a·href="#recompose/1"><code·class="inline">recompose/1</code></a>.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="5560834619-1">(</span><span·class="s">&quot;foo://user@example.com:8042/over/there?name=ferret#nose&quot;</span><span·class="p"·data-group-id="5560834619-1">)</span><span·class="p">.</span><span·class="w">
792 </span><span·class="p"·data-group-id="1002937433-2">#{</span><span·class="ss">fragment</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;nose&quot;</span><span·class="p">,</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;example.com&quot;</span><span·class="p">,</span><span·class="w">792 </span><span·class="p"·data-group-id="5560834619-2">#{</span><span·class="ss">fragment</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;nose&quot;</span><span·class="p">,</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;example.com&quot;</span><span·class="p">,</span><span·class="w">
793 ··</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/over/there&quot;</span><span·class="p">,</span><span·class="ss">port</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">8042</span><span·class="p">,</span><span·class="k">query</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;name=ferret&quot;</span><span·class="p">,</span><span·class="w">793 ··</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/over/there&quot;</span><span·class="p">,</span><span·class="ss">port</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">8042</span><span·class="p">,</span><span·class="k">query</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;name=ferret&quot;</span><span·class="p">,</span><span·class="w">
794 ··</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">userinfo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;user&quot;</span><span·class="p"·data-group-id="1002937433-2">}</span><span·class="gp·unselectable">794 ··</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">userinfo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;user&quot;</span><span·class="p"·data-group-id="5560834619-2">}</span><span·class="gp·unselectable">
795 2&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="1002937433-3">(</span><span·class="p"·data-group-id="1002937433-4">&lt;&lt;</span><span·class="s">&quot;foo://user@example.com:8042/over/there?name=ferret&quot;</span><span·class="p"·data-group-id="1002937433-4">&gt;&gt;</span><span·class="p"·data-group-id="1002937433-3">)</span><span·class="p">.</span><span·class="w"> 
796 </span><span·class="p"·data-group-id="1002937433-5">#{</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1002937433-6">&lt;&lt;</span><span·class="s">&quot;example.c[·...·truncated·by·diffoscope;·len:·386,·SHA:·fc7b099516240be44e211a33360020e9c9c15c859bf1525f1906e4c090b0bce3·...·]</span><span·class="w">795 2&gt;·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="5560834619-3">(</span><span·class="p"·data-group-id="5560834619-4">&lt;&lt;</span><span·class="s">&quot;foo://user@example.co[·...·truncated·by·diffoscope;·len:·172,·SHA:·4a4938769467af5125b5d5ffc4721a9b4a9fbc72f14077e429ccee2c0a17b8ff·...·]</span><span·class="w">
 796 </span><span·class="p"·data-group-id="5560834619-5">#{</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5560834619-6">&lt;&lt;</span><span·class="s">&quot;example.com&quot;</span><span·class="p"·data-group-id="5560834619-6">&gt;&gt;</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5560834619-7">&lt;&lt;</span><span·class="s">&quot;/over/there&quot;</span><span·class="p"·data-group-id="5560834619-7">&gt;&gt;</span><span·class="p">,</span><span·class="w">
797 ··</span><span·class="ss">port</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">8042</span><span·class="p">,</span><span·class="k">query</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1002937433-8">&lt;&lt;</span><span·class="s">&quot;name=ferret&quot;</span><span·class="p"·data-group-id="1002937433-8">&gt;&gt;</span><span·class="p">,</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w"[·...·truncated·by·diffoscope;·len:·148,·SHA:·6438b1f92bb0e0874a2769fe45f1e2048f10d32da5ffbb8ac5769c85bf9f7e98·...·]-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">797 ··</span><span·class="ss">port</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="mi">8042</span><span·class="p">,</span><span·class="k">query</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5560834619-8">&lt;&lt;</span><span·class="s">&quot;name=ferret&quot;</span><span·class="p"·data-group-id="5560834619-8">&gt;&gt;</span><span·class="p">,</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w"[·...·truncated·by·diffoscope;·len:·148,·SHA:·af49568568fde64ec57e441566114a4400dca850783a5dee6765ae3162bf862b·...·]-9">&gt;&gt;</span><span·class="p">,</span><span·class="w">
798 ··</span><span·class="ss">userinfo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="1002937433-10">&lt;&lt;</span><span·class="s">&quot;user&quot;</span><span·class="p"·data-group-id="1002937433-10">&gt;&gt;</span><span·class="p"·data-group-id="1002937433-5">}</span></code></pre>798 ··</span><span·class="ss">userinfo</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="5560834619-10">&lt;&lt;</span><span·class="s">&quot;user&quot;</span><span·class="p"·data-group-id="5560834619-10">&gt;&gt;</span><span·class="p"·data-group-id="5560834619-5">}</span></code></pre>
799 ··</section>799 ··</section>
800 </section>800 </section>
Max diff block lines reached; 46097/92270 bytes (49.96%) of diff not shown.
599 B
html2text {}
Max HTML report size reached
40.5 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/uri_string_usage.html
    
Offset 190, 27 lines modifiedOffset 190, 27 lines modified
190 URI·components·using·<a·href="unicode_usage.html#what-unicode-is">Unicode</a>·characters.190 URI·components·using·<a·href="unicode_usage.html#what-unicode-is">Unicode</a>·characters.
191 <a·href="uri_string.html#t:uri_map/0"><code·class="inline">uri_map()</code></a>·is·a·convenient·choice·for·enabling191 <a·href="uri_string.html#t:uri_map/0"><code·class="inline">uri_map()</code></a>·is·a·convenient·choice·for·enabling
192 operations·such·as·producing·standard·compliant·URIs·out·of·components·that·have192 operations·such·as·producing·standard·compliant·URIs·out·of·components·that·have
193 special·or·<a·href="unicode_usage.html#what-unicode-is">Unicode</a>·characters.·It·is·easier193 special·or·<a·href="unicode_usage.html#what-unicode-is">Unicode</a>·characters.·It·is·easier
194 to·explain·this·by·an·example.</p><p>Let's·say·that·we·would·like·to·create·the·following·URI·and·send·it·over·the194 to·explain·this·by·an·example.</p><p>Let's·say·that·we·would·like·to·create·the·following·URI·and·send·it·over·the
195 network:·<code·class="inline">http://cities/örebro?foo·bar</code>.·This·is·not·a·valid·URI·as·it·contains195 network:·<code·class="inline">http://cities/örebro?foo·bar</code>.·This·is·not·a·valid·URI·as·it·contains
196 characters·that·are·not·allowed·in·a·URI·such·as·&quot;ö&quot;·and·the·space.·We·can196 characters·that·are·not·allowed·in·a·URI·such·as·&quot;ö&quot;·and·the·space.·We·can
197 verify·this·by·parsing·the·URI:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="9265227516-1">(</span><span·class="s">&quot;http://cities/örebro?foo·bar&quot;</span><span·class="p"·data-group-id="9265227516-1">)</span><span·class="p">.</span><span·class="w">197 verify·this·by·parsing·the·URI:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="8351142381-1">(</span><span·class="s">&quot;http://cities/örebro?foo·bar&quot;</span><span·class="p"·data-group-id="8351142381-1">)</span><span·class="p">.</span><span·class="w">
198 ··</span><span·class="p"·data-group-id="9265227516-2">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">invalid_uri</span><span·class="p">,</span><span·class="s">&quot;:&quot;</span><span·class="p"·data-group-id="9265227516-2">}</span></code></pre><p>The·URI·parser·tries·all·possible·combinations·to·interpret·the·input·and·fails198 ··</span><span·class="p"·data-group-id="8351142381-2">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">invalid_uri</span><span·class="p">,</span><span·class="s">&quot;:&quot;</span><span·class="p"·data-group-id="8351142381-2">}</span></code></pre><p>The·URI·parser·tries·all·possible·combinations·to·interpret·the·input·and·fails
199 at·the·last·attempt·when·it·encounters·the·colon·character·<code·class="inline">&quot;:&quot;</code>.·Note,·that·the199 at·the·last·attempt·when·it·encounters·the·colon·character·<code·class="inline">&quot;:&quot;</code>.·Note,·that·the
200 inital·fault·occurs·when·the·parser·attempts·to·interpret·the·character·<code·class="inline">&quot;ö&quot;</code>200 inital·fault·occurs·when·the·parser·attempts·to·interpret·the·character·<code·class="inline">&quot;ö&quot;</code>
201 and·after·a·failure·back-tracks·to·the·point·where·it·has·another·possible201 and·after·a·failure·back-tracks·to·the·point·where·it·has·another·possible
202 parsing·alternative.</p><p>The·proper·way·to·solve·this·problem·is·to·use·<a·href="uri_string.html#recompose/1"><code·class="inline">uri_string:recompose/1</code></a>·with·a202 parsing·alternative.</p><p>The·proper·way·to·solve·this·problem·is·to·use·<a·href="uri_string.html#recompose/1"><code·class="inline">uri_string:recompose/1</code></a>·with·a
203 <a·href="uri_string.html#t:uri_map/0"><code·class="inline">uri_map()</code></a>·as·input:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">recompose</span><span·class="p"·data-group-id="4678276026-1">(</span><span·class="p"·data-group-id="4678276026-2">#{</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;cities&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/örebro&quot;</span><span·class="p">,</span><span·class="w">203 <a·href="uri_string.html#t:uri_map/0"><code·class="inline">uri_map()</code></a>·as·input:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">recompose</span><span·class="p"·data-group-id="4491631944-1">(</span><span·class="p"·data-group-id="4491631944-2">#{</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;cities&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/örebro&quot;</span><span·class="p">,</span><span·class="w">
204 ··</span><span·class="k">query</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group-id="4678276026-2">}</span><span·class="p"·data-group-id="4678276026-1">)</span><span·class="p">.</span><span·class="w">204 ··</span><span·class="k">query</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p"·data-group-id="4491631944-2">}</span><span·class="p"·data-group-id="4491631944-1">)</span><span·class="p">.</span><span·class="w">
205 ··</span><span·class="s">&quot;http://cities/%C3%B6rebro?foo%20bar&quot;</span></code></pre><p>The·result·is·a·valid·URI·where·all·the·special·characters·are·encoded·as205 ··</span><span·class="s">&quot;http://cities/%C3%B6rebro?foo%20bar&quot;</span></code></pre><p>The·result·is·a·valid·URI·where·all·the·special·characters·are·encoded·as
206 defined·by·the·standard.·Applying·<a·href="uri_string.html#parse/1"><code·class="inline">uri_string:parse/1</code></a>·and206 defined·by·the·standard.·Applying·<a·href="uri_string.html#parse/1"><code·class="inline">uri_string:parse/1</code></a>·and
207 <a·href="uri_string.html#percent_decode/1"><code·class="inline">uri_string:percent_decode/1</code></a>·on·the·URI·returns·the·original·input:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">percent_decode</span><span·class="p"·data-group-id="4729358305-1">(</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="4729358305-2">(</span><span·class="s">&quot;http://cities/%C3%B6rebro?foo%20bar&quot;</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·bdb847a7fadc2dd0c94f3f9f9ca54d766b4036d08787f387ab1963750fbfc7f6·...·]-1">)</span><span·class="p">.</span><span·class="w">207 <a·href="uri_string.html#percent_decode/1"><code·class="inline">uri_string:percent_decode/1</code></a>·on·the·URI·returns·the·original·input:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">percent_decode</span><span·class="p"·data-group-id="3332652823-1">(</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="3332652823-2">(</span><span·class="s">&quot;http://cities/%C3%B6rebro?foo%20bar&quot;</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·95378dc13d130ffc40e50afe430d906965331ed1478789904d717e25db89f7ee·...·]-1">)</span><span·class="p">.</span><span·class="w">
208 ··</span><span·class="p"·data-group-id="4729358305-3">#{</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;cities&quot;</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/örebro&quot;</span><span·class="p">,</span><span·class="k">query</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p">,</span><span·class="w">208 ··</span><span·class="p"·data-group-id="3332652823-3">#{</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;cities&quot;</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/örebro&quot;</span><span·class="p">,</span><span·class="k">query</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;foo·bar&quot;</span><span·class="p">,</span><span·class="w">
209 ··</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p"·data-group-id="4729358305-3">}</span></code></pre><p>This·symmetric·property·is·heavily·used·in·our·property·test·suite.</p><h2·id="percent-encoding"·class="section-heading">209 ··</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p"·data-group-id="3332652823-3">}</span></code></pre><p>This·symmetric·property·is·heavily·used·in·our·property·test·suite.</p><h2·id="percent-encoding"·class="section-heading">
210 ··<a·href="#percent-encoding"·class="hover-link">210 ··<a·href="#percent-encoding"·class="hover-link">
211 ····<i·class="ri-link-m"·aria-hidden="true"></i>211 ····<i·class="ri-link-m"·aria-hidden="true"></i>
212 ··</a>212 ··</a>
213 ··<span·class="text">Percent-encoding</span>213 ··<span·class="text">Percent-encoding</span>
214 </h2>214 </h2>
215 <p>As·you·have·seen·in·the·previous·chapter,·a·standard·URI·can·only·contain·a215 <p>As·you·have·seen·in·the·previous·chapter,·a·standard·URI·can·only·contain·a
216 strict·subset·of·the·US·ASCII·character·set,·moreover·the·allowed·set·of216 strict·subset·of·the·US·ASCII·character·set,·moreover·the·allowed·set·of
Offset 225, 72 lines modifiedOffset 225, 72 lines modified
225 <a·href="unicode_usage.html#what-unicode-is">Unicode</a>·and·it·is·encoded·using·a·single225 <a·href="unicode_usage.html#what-unicode-is">Unicode</a>·and·it·is·encoded·using·a·single
226 octet·<code·class="inline">0x20</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p><a·href="unicode_usage.html#what-unicode-is">Unicode</a>·is·backward·compatible·with·ASCII,226 octet·<code·class="inline">0x20</code>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p><a·href="unicode_usage.html#what-unicode-is">Unicode</a>·is·backward·compatible·with·ASCII,
227 the·encoding·of·the·first·128·characters·is·the·same·binary·value·as·in·ASCII.</p></section><p><a·href=""·id="percent_encoding"></a>·It·is·a·major·source·of·confusion·exactly·which227 the·encoding·of·the·first·128·characters·is·the·same·binary·value·as·in·ASCII.</p></section><p><a·href=""·id="percent_encoding"></a>·It·is·a·major·source·of·confusion·exactly·which
228 characters·will·be·percent-encoded.·In·order·to·make·it·easier·to·answer·this228 characters·will·be·percent-encoded.·In·order·to·make·it·easier·to·answer·this
229 question·the·library·provides·a·utility·function,229 question·the·library·provides·a·utility·function,
230 <a·href="uri_string.html#allowed_characters/0"><code·class="inline">uri_string:allowed_characters/0</code></a>,·that230 <a·href="uri_string.html#allowed_characters/0"><code·class="inline">uri_string:allowed_characters/0</code></a>,·that
231 lists·the·allowed·set·of·characters·in·each·major·URI·component,·and·also·in·the231 lists·the·allowed·set·of·characters·in·each·major·URI·component,·and·also·in·the
232 most·important·standard·character·sets.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">allowed_characters</span><span·class="p"·data-group-id="2599138050-1">(</span><span·class="p"·data-group-id="2599138050-1">)</span><span·class="p">.</span><span·class="w">232 most·important·standard·character·sets.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">allowed_characters</span><span·class="p"·data-group-id="5412343607-1">(</span><span·class="p"·data-group-id="5412343607-1">)</span><span·class="p">.</span><span·class="w">
233 ····</span><span·class="p"·data-group-id="2599138050-2">[</span><span·class="p"·data-group-id="2599138050-3">{</span><span·class="ss">scheme</span><span·class="p">,</span><span·class="w">233 ····</span><span·class="p"·data-group-id="5412343607-2">[</span><span·class="p"·data-group-id="5412343607-3">{</span><span·class="ss">scheme</span><span·class="p">,</span><span·class="w">
234 ·····</span><span·class="s">&quot;+-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&quot;</span><span·class="p"·data-group-id="2599138050-3">}</span><span·class="p">,</span><span·class="w">234 ·····</span><span·class="s">&quot;+-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&quot;</span><span·class="p"·data-group-id="5412343607-3">}</span><span·class="p">,</span><span·class="w">
235 ····</span><span·class="p"·data-group-id="2599138050-4">{</span><span·class="ss">userinfo</span><span·class="p">,</span><span·class="w">235 ····</span><span·class="p"·data-group-id="5412343607-4">{</span><span·class="ss">userinfo</span><span·class="p">,</span><span·class="w">
236 ·····</span><span·class="s">&quot;!$%&amp;&#39;()*+,-.0123456789:;=ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&quot;</span><span·class="p"·data-group-id="2599138050-4">}</span><span·class="p">,</span><span·class="w">236 ·····</span><span·class="s">&quot;!$%&amp;&#39;()*+,-.0123456789:;=ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&quot;</span><span·class="p"·data-group-id="5412343607-4">}</span><span·class="p">,</span><span·class="w">
237 ····</span><span·class="p"·data-group-id="2599138050-5">{</span><span·class="ss">host</span><span·class="p">,</span><span·class="w">237 ····</span><span·class="p"·data-group-id="5412343607-5">{</span><span·class="ss">host</span><span·class="p">,</span><span·class="w">
238 ·····</span><span·class="s">&quot;!$&amp;&#39;()*+,-.0123456789:;=ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&quot;</span><span·class="p"·data-group-id="2599138050-5">}</span><span·class="p">,</span><span·class="w">238 ·····</span><span·class="s">&quot;!$&amp;&#39;()*+,-.0123456789:;=ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&quot;</span><span·class="p"·data-group-id="5412343607-5">}</span><span·class="p">,</span><span·class="w">
239 ····</span><span·class="p"·data-group-id="2599138050-6">{</span><span·class="ss">ipv4</span><span·class="p">,</span><span·class="s">&quot;.0123456789&quot;</span><span·class="p"·data-group-id="2599138050-6">}</span><span·class="p">,</span><span·class="w">239 ····</span><span·class="p"·data-group-id="5412343607-6">{</span><span·class="ss">ipv4</span><span·class="p">,</span><span·class="s">&quot;.0123456789&quot;</span><span·class="p"·data-group-id="5412343607-6">}</span><span·class="p">,</span><span·class="w">
240 ····</span><span·class="p"·data-group-id="2599138050-7">{</span><span·class="ss">ipv6</span><span·class="p">,</span><span·class="s">&quot;.0123456789:ABCDEFabcdef&quot;</span><span·class="p"·data-group-id="2599138050-7">}</span><span·class="p">,</span><span·class="w">240 ····</span><span·class="p"·data-group-id="5412343607-7">{</span><span·class="ss">ipv6</span><span·class="p">,</span><span·class="s">&quot;.0123456789:ABCDEFabcdef&quot;</span><span·class="p"·data-group-id="5412343607-7">}</span><span·class="p">,</span><span·class="w">
241 ····</span><span·class="p"·data-group-id="2599138050-8">{</span><span·class="ss">regname</span><span·class="p">,</span><span·class="w">241 ····</span><span·class="p"·data-group-id="5412343607-8">{</span><span·class="ss">regname</span><span·class="p">,</span><span·class="w">
242 ·····</span><span·class="s">&quot;!$%&amp;&#39;()*+,-.0123456789;=ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&quot;</span><span·class="p"·data-group-id="2599138050-8">}</span><span·class="p">,</span><span·class="w">242 ·····</span><span·class="s">&quot;!$%&amp;&#39;()*+,-.0123456789;=ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&quot;</span><span·class="p"·data-group-id="5412343607-8">}</span><span·class="p">,</span><span·class="w">
243 ····</span><span·class="p"·data-group-id="2599138050-9">{</span><span·class="ss">path</span><span·class="p">,</span><span·class="w">243 ····</span><span·class="p"·data-group-id="5412343607-9">{</span><span·class="ss">path</span><span·class="p">,</span><span·class="w">
244 ·····</span><span·class="s">&quot;!$%&amp;&#39;()*+,-./0123456789:;=@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&quot;</span><span·class="p"·data-group-id="2599138050-9">}</span><span·class="p">,</span><span·class="w">244 ·····</span><span·class="s">&quot;!$%&amp;&#39;()*+,-./0123456789:;=@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&quot;</span><span·class="p"·data-group-id="5412343607-9">}</span><span·class="p">,</span><span·class="w">
245 ····</span><span·class="p"·data-group-id="2599138050-10">{</span><span·class="k">query</span><span·class="p">,</span><span·class="w">245 ····</span><span·class="p"·data-group-id="5412343607-10">{</span><span·class="k">query</span><span·class="p">,</span><span·class="w">
246 ·····</span><span·class="s">&quot;!$%&amp;&#39;()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&quot;</span><span·class="p"·data-group-id="2599138050-10">}</span><span·class="p">,</span><span·class="w">246 ·····</span><span·class="s">&quot;!$%&amp;&#39;()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&quot;</span><span·class="p"·data-group-id="5412343607-10">}</span><span·class="p">,</span><span·class="w">
247 ····</span><span·class="p"·data-group-id="2599138050-11">{</span><span·class="ss">fragment</span><span·class="p">,</span><span·class="w">247 ····</span><span·class="p"·data-group-id="5412343607-11">{</span><span·class="ss">fragment</span><span·class="p">,</span><span·class="w">
248 ·····</span><span·class="s">&quot;!$%&amp;&#39;()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&quot;</span><span·class="p"·data-group-id="2599138050-11">}</span><span·class="p">,</span><span·class="w">248 ·····</span><span·class="s">&quot;!$%&amp;&#39;()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&quot;</span><span·class="p"·data-group-id="5412343607-11">}</span><span·class="p">,</span><span·class="w">
249 ····</span><span·class="p"·data-group-id="2599138050-12">{</span><span·class="ss">reserved</span><span·class="p">,</span><span·class="s">&quot;!#$&amp;&#39;()*+,/:;=?@[]&quot;</span><span·class="p"·data-group-id="2599138050-12">}</span><span·class="p">,</span><span·class="w">249 ····</span><span·class="p"·data-group-id="5412343607-12">{</span><span·class="ss">reserved</span><span·class="p">,</span><span·class="s">&quot;!#$&amp;&#39;()*+,/:;=?@[]&quot;</span><span·class="p"·data-group-id="5412343607-12">}</span><span·class="p">,</span><span·class="w">
250 ····</span><span·class="p"·data-group-id="2599138050-13">{</span><span·class="ss">unreserved</span><span·class="p">,</span><span·class="w">250 ····</span><span·class="p"·data-group-id="5412343607-13">{</span><span·class="ss">unreserved</span><span·class="p">,</span><span·class="w">
251 ·····</span><span·class="s">&quot;-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&quot;</span><span·class="p"·data-group-id="2599138050-13">}</span><span·class="p"·data-group-id="2599138050-2">]</span></code></pre><p>If·a·URI·component·has·a·character·that·is·not·allowed,·it·will·be251 ·····</span><span·class="s">&quot;-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&quot;</span><span·class="p"·data-group-id="5412343607-13">}</span><span·class="p"·data-group-id="5412343607-2">]</span></code></pre><p>If·a·URI·component·has·a·character·that·is·not·allowed,·it·will·be
252 percent-encoded·when·the·URI·is·produced:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">recompose</span><span·class="p"·data-group-id="5932711809-1">(</span><span·class="p"·data-group-id="5932711809-2">#{</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;https&quot;</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·443,·SHA:·b5364a10583bbd3ead7f3e9d8281b622d6cb85ace4d8c9527608708a865447bf·...·]9-1">)</span><span·class="p">.</span><span·class="w">252 percent-encoded·when·the·URI·is·produced:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">recompose</span><span·class="p"·data-group-id="2069670499-1">(</span><span·class="p"·data-group-id="2069670499-2">#{</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;https&quot;</span><span·class="p">,</span><span·clas[·...·truncated·by·diffoscope;·len:·443,·SHA:·1dabcd3d8ca35d3f9c4ab66fb25b2e684f79767c4815c0aef9132bda392eceac·...·]9-1">)</span><span·class="p">.</span><span·class="w">
253 ····</span><span·class="s">&quot;https://local%23host&quot;</span></code></pre><p>Consuming·a·URI·containing·percent-encoded·triplets·can·take·many·steps.·The253 ····</span><span·class="s">&quot;https://local%23host&quot;</span></code></pre><p>Consuming·a·URI·containing·percent-encoded·triplets·can·take·many·steps.·The
254 following·example·shows·how·to·handle·an·input·URI·that·is·not·normalized·and254 following·example·shows·how·to·handle·an·input·URI·that·is·not·normalized·and
255 contains·multiple·percent-encoded·triplets.·First,·the·input255 contains·multiple·percent-encoded·triplets.·First,·the·input
256 <a·href="uri_string.html#t:uri_string/0"><code·class="inline">uri_string()</code></a>·is·to·be·parsed·into·a256 <a·href="uri_string.html#t:uri_string/0"><code·class="inline">uri_string()</code></a>·is·to·be·parsed·into·a
257 <a·href="uri_string.html#t:uri_map/0"><code·class="inline">uri_map()</code></a>.·The·parsing·only·splits·the·URI·into257 <a·href="uri_string.html#t:uri_map/0"><code·class="inline">uri_map()</code></a>.·The·parsing·only·splits·the·URI·into
258 its·components·without·doing·any·decoding:</p><pre><code·class="text">····3&gt;·uri_string:parse(&quot;http://%6C%6Fcal%23host/%F6re%26bro%20&quot;).258 its·components·without·doing·any·decoding:</p><pre><code·class="text">····3&gt;·uri_string:parse(&quot;http://%6C%6Fcal%23host/%F6re%26bro%20&quot;).
259 ····#{host·=&gt;·&quot;%6C%6Fcal%23host&quot;,path·=&gt;·&quot;/%F6re%26bro%20&quot;,259 ····#{host·=&gt;·&quot;%6C%6Fcal%23host&quot;,path·=&gt;·&quot;/%F6re%26bro%20&quot;,
260 ······scheme·=&gt;·&quot;http&quot;}}</code></pre><p>The·input·is·a·valid·URI·but·how·can·you·decode·those·percent-encoded·octets?260 ······scheme·=&gt;·&quot;http&quot;}}</code></pre><p>The·input·is·a·valid·URI·but·how·can·you·decode·those·percent-encoded·octets?
261 You·can·try·to·normalize·the·input·with·<a·href="uri_string.html#normalize/1"><code·class="inline">uri_string:normalize/1</code></a>.·The·normalize261 You·can·try·to·normalize·the·input·with·<a·href="uri_string.html#normalize/1"><code·class="inline">uri_string:normalize/1</code></a>.·The·normalize
262 operation·decodes·those·percent-encoded·triplets·that·correspond·to·a·character262 operation·decodes·those·percent-encoded·triplets·that·correspond·to·a·character
263 in·the·unreserved·set.·Normalization·is·a·safe,·idempotent·operation·that263 in·the·unreserved·set.·Normalization·is·a·safe,·idempotent·operation·that
264 converts·a·URI·into·its·canonical·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="7298571680-1">(</span><span·class="s">&quot;http://%6C%6Fcal%23host/%F6re%26bro%20&quot;</span><span·class="p"·data-group-id="7298571680-1">)</span><span·class="p">.</span><span·class="w">264 converts·a·URI·into·its·canonical·form:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="mi">4</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="7891404445-1">(</span><span·class="s">&quot;http://%6C%6Fcal%23host/%F6re%26bro%20&quot;</span><span·class="p"·data-group-id="7891404445-1">)</span><span·class="p">.</span><span·class="w">
265 ····</span><span·class="s">&quot;http://local%23host/%F6re%26bro%20&quot;</span><span·class="w">265 ····</span><span·class="s">&quot;http://local%23host/%F6re%26bro%20&quot;</span><span·class="w">
266 ····</span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="7298571680-2">(</span><span·class="s">&quot;http://%6C%6Fcal%23host/%F6re%26bro%20&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7298571680-3">[</span><span·class="ss">return_map</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·a542785098bbd3c75f97126d4960f6e37bd86aa494b5b3532952fb5cf6eef2e7·...·]-2">)</span><span·class="p">.</span><span·class="w">266 ····</span><span·class="mi">5</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">normalize</span><span·class="p"·data-group-id="7891404445-2">(</span><span·class="s">&quot;http://%6C%6Fcal%23host/%F6re%26bro%20&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7891404445-3">[</span><span·class="ss">return_map</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·67,·SHA:·4ed6894e4ab6ca736d022d4dcd2b33d40bb4945bfec57875075d36d7dccf831f·...·]-2">)</span><span·class="p">.</span><span·class="w">
267 ····</span><span·class="p"·data-group-id="7298571680-4">#{</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;local%23host&quot;</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/%F6re%26bro%20&quot;</span><span·class="p">,</span><span·class="w">267 ····</span><span·class="p"·data-group-id="7891404445-4">#{</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;local%23host&quot;</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/%F6re%26bro%20&quot;</span><span·class="p">,</span><span·class="w">
268 ······</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p"·data-group-id="7298571680-4">}</span></code></pre><p>There·are·still·a·few·percent-encoded·triplets·left·in·the·output.·At·this268 ······</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p"·data-group-id="7891404445-4">}</span></code></pre><p>There·are·still·a·few·percent-encoded·triplets·left·in·the·output.·At·this
269 point,·when·the·URI·is·already·parsed,·it·is·safe·to·apply·application·specific269 point,·when·the·URI·is·already·parsed,·it·is·safe·to·apply·application·specific
270 decoding·on·the·remaining·character·triplets.·Erlang/OTP·provides·a·function,270 decoding·on·the·remaining·character·triplets.·Erlang/OTP·provides·a·function,
271 <a·href="uri_string.html#percent_decode/1"><code·class="inline">uri_string:percent_decode/1</code></a>·for·raw·percent·decoding·that·you·can·use·on·the271 <a·href="uri_string.html#percent_decode/1"><code·class="inline">uri_string:percent_decode/1</code></a>·for·raw·percent·decoding·that·you·can·use·on·the
272 host·and·path·components,·or·on·the·whole·map:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="mi">6</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">percent_decode</span><span·class="p"·data-group-id="0594082368-1">(</span><span·class="s">&quot;local%23host&quot;</span><span·class="p"·data-group-id="0594082368-1">)</span><span·class="p">.</span><span·class="w">272 host·and·path·components,·or·on·the·whole·map:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="mi">6</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">percent_decode</span><span·class="p"·data-group-id="5951673361-1">(</span><span·class="s">&quot;local%23host&quot;</span><span·class="p"·data-group-id="5951673361-1">)</span><span·class="p">.</span><span·class="w">
273 ····</span><span·class="s">&quot;local#host&quot;</span><span·class="w">273 ····</span><span·class="s">&quot;local#host&quot;</span><span·class="w">
274 ····</span><span·class="mi">7</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">percent_decode</span><span·class="p"·data-group-id="0594082368-2">(</span><span·class="s">&quot;/%F6re%26bro%20&quot;</span><span·class="p"·data-group-id="0594082368-2">)</span><span·class="p">.</span><span·class="w">274 ····</span><span·class="mi">7</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">percent_decode</span><span·class="p"·data-group-id="5951673361-2">(</span><span·class="s">&quot;/%F6re%26bro%20&quot;</span><span·class="p"·data-group-id="5951673361-2">)</span><span·class="p">.</span><span·class="w">
275 ····</span><span·class="p"·data-group-id="0594082368-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">invalid_utf8</span><span·class="p">,</span><span·class="p"·data-group-id="0594082368-4">&lt;&lt;</span><span·class="s">&quot;/öre&amp;bro·&quot;</span><span·class="[·...·truncated·by·diffoscope;·len:·88,·SHA:·9d0ae333b24cc09316d6e6e6638352a3842f37a2327e8a08e8d2392b56af145c·...·]-3">}</span><span·class="w">275 ····</span><span·class="p"·data-group-id="5951673361-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">invalid_utf8</span><span·class="p">,</span><span·class="p"·data-group-id="5951673361-4">&lt;&lt;</span><span·class="s">&quot;/öre&amp;bro·&quot;</span><span·class="[·...·truncated·by·diffoscope;·len:·88,·SHA:·8e65fe33f3b6ecc70a2d6cffc9ca9d0e53d566ccfc2b1dfae428c5640d02f2d4·...·]-3">}</span><span·class="w">
276 ····</span><span·class="mi">8</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">percent_decode</span><span·class="p"·data-group-id="0594082368-5">(</span><span·class="p"·data-group-id="0594082368-6">#{</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;local%23host&quot;</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/%F6re%26bro%20&quot;</span><span·class="p">,</span><span·class="w">276 ····</span><span·class="mi">8</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">percent_decode</span><span·class="p"·data-group-id="5951673361-5">(</span><span·class="p"·data-group-id="5951673361-6">#{</span><span·class="ss">host</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;local%23host&quot;</span><span·class="p">,</span><span·class="ss">path</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;/%F6re%26bro%20&quot;</span><span·class="p">,</span><span·class="w">
277 ····</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p"·data-group-id="0594082368-6">}</span><span·class="p"·data-group-id="0594082368-5">)</span><span·class="p">.</span><span·class="w">277 ····</span><span·class="ss">scheme</span><span·class="w">·</span><span·class="p">=&gt;</span><span·class="w">·</span><span·class="s">&quot;http&quot;</span><span·class="p"·data-group-id="5951673361-6">}</span><span·class="p"·data-group-id="5951673361-5">)</span><span·class="p">.</span><span·class="w">
278 ····</span><span·class="p"·data-group-id="0594082368-7">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="p"·data-group-id="0594082368-8">{</span><span·class="ss">invalid</span><span·class="p">,</span><span·class="p"·data-group-id="0594082368-9">{</span><span·class="ss">pat[·...·truncated·by·diffoscope;·len:·517,·SHA:·972df0dda6ac425ca8a7f743dced7b6414242291018f9def03967629752dab75·...·]-7">}</span></code></pre><p>The·<code·class="inline">host</code>·was·successfully·decoded·but·the·path·contains·at·least·one·character278 ····</span><span·class="p"·data-group-id="5951673361-7">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="p"·data-group-id="5951673361-8">{</span><span·class="ss">invalid</span><span·class="p">,</span><span·class="p"·data-group-id="5951673361-9">{</span><span·class="ss">pat[·...·truncated·by·diffoscope;·len:·517,·SHA:·44fc5caf33d4c4154f143d2e22fc139105d01b290c80716004be8aea6bdc90a8·...·]-7">}</span></code></pre><p>The·<code·class="inline">host</code>·was·successfully·decoded·but·the·path·contains·at·least·one·character
279 with·non-UTF-8·encoding.·In·order·to·be·able·to·decode·this,·you·have·to·make279 with·non-UTF-8·encoding.·In·order·to·be·able·to·decode·this,·you·have·to·make
280 assumptions·about·the·encoding·used·in·these·triplets.·The·most·obvious·choice280 assumptions·about·the·encoding·used·in·these·triplets.·The·most·obvious·choice
281 is·<em>latin-1</em>,·so·you·can·try·<a·href="uri_string.html#transcode/2"><code·class="inline">uri_string:transcode/2</code></a>,·to·transcode·the·path·to281 is·<em>latin-1</em>,·so·you·can·try·<a·href="uri_string.html#transcode/2"><code·class="inline">uri_string:transcode/2</code></a>,·to·transcode·the·path·to
282 UTF-8·and·run·the·percent-decode·operation·on·the·transcoded·string:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="mi">9</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">transcode</span><span·class="p"·data-group-id="2291257508-1">(</span><span·class="s">&quot;/%F6re%26bro%20&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2291257508-2">[</span><span·class="p"·data-group-id="2291257508-3">{</span><span·class="ss">in_encoding</[·...·truncated·by·diffoscope;·len:·230,·SHA:·8ea830c4a0005e811c1cf7b401e80e3c91aae243260368b39505c5a3a0dc4006·...·]-1">)</span><span·class="p">.</span><span·class="w">282 UTF-8·and·run·the·percent-decode·operation·on·the·transcoded·string:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="mi">9</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">transcode</span><span·class="p"·data-group-id="4283169882-1">(</span><span·class="s">&quot;/%F6re%26bro%20&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="4283169882-2">[</span><span·class="p"·data-group-id="4283169882-3">{</span><span·class="ss">in_encoding</[·...·truncated·by·diffoscope;·len:·230,·SHA:·5d08b762738478157e2f08cf8ad1bea808d3d35345d9a5f581a45835b0619da7·...·]-1">)</span><span·class="p">.</span><span·class="w">
283 ····</span><span·class="s">&quot;/%C3%B6re%26bro%20&quot;</span><span·class="w">283 ····</span><span·class="s">&quot;/%C3%B6re%26bro%20&quot;</span><span·class="w">
284 ····</span><span·class="mi">10</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">percent_decode</span><span·class="p"·data-group-id="2291257508-4">(</span><span·class="s">&quot;/%C3%B6re%26bro%20&quot;</span><span·class="p"·data-group-id="2291257508-4">)</span><span·class="p">.</span><span·class="w">284 ····</span><span·class="mi">10</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">percent_decode</span><span·class="p"·data-group-id="4283169882-4">(</span><span·class="s">&quot;/%C3%B6re%26bro%20&quot;</span><span·class="p"·data-group-id="4283169882-4">)</span><span·class="p">.</span><span·class="w">
285 ····</span><span·class="s">&quot;/öre&amp;bro·&quot;</span></code></pre><p>It·is·important·to·emphasize·that·it·is·not·safe·to·apply285 ····</span><span·class="s">&quot;/öre&amp;bro·&quot;</span></code></pre><p>It·is·important·to·emphasize·that·it·is·not·safe·to·apply
286 <a·href="uri_string.html#percent_decode/1"><code·class="inline">uri_string:percent_decode/1</code></a>·directly·on·an·input·URI:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="mi">11</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">percent_decode</span><span·class="p"·data-group-id="4379481172-1">(</span><span·class="s">&quot;http://%6C%6Fcal%23host/%C3%B6re%26bro%20&quot;</span><span·class="p"·data-group-id="4379481172-1">)</span><span·class="p">.</span><span·class="w">286 <a·href="uri_string.html#percent_decode/1"><code·class="inline">uri_string:percent_decode/1</code></a>·directly·on·an·input·URI:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">····</span><span·class="mi">11</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">percent_decode</span><span·class="p"·data-group-id="3619208766-1">(</span><span·class="s">&quot;http://%6C%6Fcal%23host/%C3%B6re%26bro%20&quot;</span><span·class="p"·data-group-id="3619208766-1">)</span><span·class="p">.</span><span·class="w">
287 ····</span><span·class="s">&quot;http://local#host/öre&amp;bro·&quot;</span><span·class="w">287 ····</span><span·class="s">&quot;http://local#host/öre&amp;bro·&quot;</span><span·class="w">
288 ····</span><span·class="mi">12</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="4379481172-2">(</span><span·class="s">&quot;http://local#host/öre&amp;bro·&quot;</span><span·class="p"·data-group-id="4379481172-2">)</span><span·class="p">.</span><span·class="w">288 ····</span><span·class="mi">12</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="nc">uri_string</span><span·class="p">:</span><span·class="nf">parse</span><span·class="p"·data-group-id="3619208766-2">(</span><span·class="s">&quot;http://local#host/öre&amp;bro·&quot;</span><span·class="p"·data-group-id="3619208766-2">)</span><span·class="p">.</span><span·class="w">
289 ····</span><span·class="p"·data-group-id="4379481172-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">invalid_uri</span><span·class="p">,</span><span·class="s">&quot;:&quot;</span><span·class="p"·data-group-id="4379481172-3">}</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Percent-encoding·is·implemented·in·<a·href="uri_string.html#recompose/1"><code·class="inline">uri_string:recompose/1</code></a>·and·it·happens289 ····</span><span·class="p"·data-group-id="3619208766-3">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="ss">invalid_uri</span><span·class="p">,</span><span·class="s">&quot;:&quot;</span><span·class="p"·data-group-id="3619208766-3">}</span></code></pre><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>Percent-encoding·is·implemented·in·<a·href="uri_string.html#recompose/1"><code·class="inline">uri_string:recompose/1</code></a>·and·it·happens
290 when·converting·a·<a·href="uri_string.html#t:uri_map/0"><code·class="inline">uri_map()</code></a>·into·a290 when·converting·a·<a·href="uri_string.html#t:uri_map/0"><code·class="inline">uri_map()</code></a>·into·a
291 <a·href="uri_string.html#t:uri_string/0"><code·class="inline">uri_string()</code></a>.·Applying·any·percent-encoding291 <a·href="uri_string.html#t:uri_string/0"><code·class="inline">uri_string()</code></a>.·Applying·any·percent-encoding
292 directly·on·an·input·URI·would·not·be·safe·just·as·in·the·case·of292 directly·on·an·input·URI·would·not·be·safe·just·as·in·the·case·of
293 <a·href="uri_string.html#percent_decode/1"><code·class="inline">uri_string:percent_decode/1</code></a>,·the·output·could·be·an·invalid·URI.·Quoting293 <a·href="uri_string.html#percent_decode/1"><code·class="inline">uri_string:percent_decode/1</code></a>,·the·output·could·be·an·invalid·URI.·Quoting
294 functions·allow·users·to·perform·raw·percent·encoding·and·decoding·on294 functions·allow·users·to·perform·raw·percent·encoding·and·decoding·on
295 application·data·which·cannot·be·handled·automatically·by295 application·data·which·cannot·be·handled·automatically·by
296 <a·href="uri_string.html#recompose/1"><code·class="inline">uri_string:recompose/1</code></a>.·For·example·in·scenario·when·user·would·need·to·use296 <a·href="uri_string.html#recompose/1"><code·class="inline">uri_string:recompose/1</code></a>.·For·example·in·scenario·when·user·would·need·to·use
Offset 378, 15 lines modifiedOffset 378, 15 lines modified
378 ······<p·class="built-using">378 ······<p·class="built-using">
379 ········Built·using379 ········Built·using
380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
382 ······</p>382 ······</p>
383 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>383 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
384 ····</footer>384 ····</footer>
385 ··</div>385 ··</div>
386 </main>386 </main>
387 </div>387 </div>
388 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>388 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
389 ··<script>389 ··<script>
390 ··let·initialized·=·false;390 ··let·initialized·=·false;
799 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/win32reg.html
    
Offset 882, 15 lines modifiedOffset 882, 15 lines modified
882 ······<p·class="built-using">882 ······<p·class="built-using">
883 ········Built·using883 ········Built·using
884 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the884 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
885 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>885 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
886 ······</p>886 ······</p>
887 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>887 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
888 ····</footer>888 ····</footer>
889 ··</div>889 ··</div>
890 </main>890 </main>
891 </div>891 </div>
892 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>892 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
893 ··<script>893 ··<script>
894 ··let·initialized·=·false;894 ··let·initialized·=·false;
649 B
html2text {}
Max HTML report size reached
37.3 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/zip.html
    
Offset 1020, 37 lines modifiedOffset 1020, 37 lines modified
1020 <code·class="inline">Archive</code>,·starting·with·<code·class="inline">AccIn·==·Acc0</code>.</p><p><code·class="inline">FileInArchive</code>·is·the·name·that·the·file·has·in·the·archive.</p><p><code·class="inline">GetInfo</code>·is·a·fun·that·returns·information·about·the·file.</p><p><code·class="inline">GetBin</code>·returns·the·file·contents.</p><p>Both·<code·class="inline">GetInfo</code>·and·<code·class="inline">GetBin</code>·must·be·called·within·the·<code·class="inline">Fun</code>.·Their·behavior·is1020 <code·class="inline">Archive</code>,·starting·with·<code·class="inline">AccIn·==·Acc0</code>.</p><p><code·class="inline">FileInArchive</code>·is·the·name·that·the·file·has·in·the·archive.</p><p><code·class="inline">GetInfo</code>·is·a·fun·that·returns·information·about·the·file.</p><p><code·class="inline">GetBin</code>·returns·the·file·contents.</p><p>Both·<code·class="inline">GetInfo</code>·and·<code·class="inline">GetBin</code>·must·be·called·within·the·<code·class="inline">Fun</code>.·Their·behavior·is
1021 undefined·if·they·are·called·outside·the·context·of·<code·class="inline">Fun</code>.</p><p>The·<code·class="inline">Fun</code>·must·return·a·new·accumulator,·which·is·passed·to·the·next·call.1021 undefined·if·they·are·called·outside·the·context·of·<code·class="inline">Fun</code>.</p><p>The·<code·class="inline">Fun</code>·must·return·a·new·accumulator,·which·is·passed·to·the·next·call.
1022 <a·href="#foldl/3"><code·class="inline">foldl/3</code></a>·returns·the·final·accumulator·value.·<code·class="inline">Acc0</code>·is·returned1022 <a·href="#foldl/3"><code·class="inline">foldl/3</code></a>·returns·the·final·accumulator·value.·<code·class="inline">Acc0</code>·is·returned
1023 if·the·archive·is·empty.·It·is·not·necessary·to·iterate·over·all·files·in·the1023 if·the·archive·is·empty.·It·is·not·necessary·to·iterate·over·all·files·in·the
1024 archive.·The·iteration·can·be·ended·prematurely·in·a·controlled·manner·by1024 archive.·The·iteration·can·be·ended·prematurely·in·a·controlled·manner·by
1025 throwing·an·exception.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;dummy.zip&quot;</span><span·class="p">.</span><span·class="w">1025 throwing·an·exception.</p><p><em>Example:</em></p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">&gt;·</span><span·class="n">Name</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">&quot;dummy.zip&quot;</span><span·class="p">.</span><span·class="w">
1026 </span><span·class="s">&quot;dummy.zip&quot;</span><span·class="gp·unselectable">1026 </span><span·class="s">&quot;dummy.zip&quot;</span><span·class="gp·unselectable">
1027 &gt;·</span><span·class="p"·data-group-id="5313177685-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5313177685-2">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span·[·...·truncated·by·diffoscope;·len:·1460,·SHA:·394fa24c7492072d682f3cf68db46970da27d07038376035073249040f5e6224·...·]-3">)</span><span·class="p">.</span><span·class="w">1027 &gt;·</span><span·class="p"·data-group-id="6299123013-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6299123013-2">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><span·[·...·truncated·by·diffoscope;·len:·1460,·SHA:·7e155296c4991e53e7b7d0a74356424ed7a6509602feb8d4423216029353fde3·...·]-3">)</span><span·class="p">.</span><span·class="w">
1028 </span><span·class="p"·data-group-id="5313177685-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5313177685-11">{</span><span·class="s">&quot;dummy.zip&quot;</span><span·class="p">,</span><span·class="w">1028 </span><span·class="p"·data-group-id="6299123013-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6299123013-11">{</span><span·class="s">&quot;dummy.zip&quot;</span><span·class="p">,</span><span·class="w">
1029 ·····</span><span·class="p"·data-group-id="5313177685-12">&lt;&lt;</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">75</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">20</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">74</span><span·class="p">,</span><span·class="mi">152</span><span·class="p">,</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">60</span><span·class="p">,</span><span·class="mi">171</span><span·class="p">,</span><span·class="mi">39</span><span·class="p">,</span><span·class="mi">212</span><span·class="p">,</span><span·class="mi">26</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">1029 ·····</span><span·class="p"·data-group-id="6299123013-12">&lt;&lt;</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">75</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">20</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">74</span><span·class="p">,</span><span·class="mi">152</span><span·class="p">,</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">60</span><span·class="p">,</span><span·class="mi">171</span><span·class="p">,</span><span·class="mi">39</span><span·class="p">,</span><span·class="mi">212</span><span·class="p">,</span><span·class="mi">26</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
1030 ·······</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="5313177685-12">&gt;&gt;</span><span·class="p"·data-group-id="5313177685-11">}</span><span·class="p"·data-group-id="5313177685-10">}</span><span·class="gp·unselectable">1030 ·······</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="6299123013-12">&gt;&gt;</span><span·class="p"·data-group-id="6299123013-11">}</span><span·class="p"·data-group-id="6299123013-10">}</span><span·class="gp·unselectable">
1031 &gt;·</span><span·class="p"·data-group-id="5313177685-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FileSpec</span><span·class="p"·data-group-id="5313177685-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·1787,·SHA:·bd3a99ff625c88471db8b5f06a1e838116ff11a85ef55c561c76db9e69db3b59·...·]-14">)</span><span·class="p">.</span><span·class="w">1031 &gt;·</span><span·class="p"·data-group-id="6299123013-13">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FileSpec</span><span·class="p"·data-group-id="6299123013-13">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·1787,·SHA:·60550c4b20eebb1074bf6286fc8f17383ba25903fabdc7d36f594c0b58658267·...·]-14">)</span><span·class="p">.</span><span·class="w">
1032 </span><span·class="p"·data-group-id="5313177685-22">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5313177685-23">[</span><span·class="p"·data-group-id="5313177685-24">{</span><span·class="s">&quot;bar&quot;</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·127,·SHA:·ab474ef453a4120071719bde699bd722ba06bfbd008c6b170d2f6056309caf7c·...·]-25">&gt;&gt;</span><span·class="p">,</span><span·class="w">1032 </span><span·class="p"·data-group-id="6299123013-22">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6299123013-23">[</span><span·class="p"·data-group-id="6299123013-24">{</span><span·class="s">&quot;bar&quot;</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·127,·SHA:·7bf80c4a74447912551d68916bee7a0dabf2f59c6a2dd0187c102a621f777fc3·...·]-25">&gt;&gt;</span><span·class="p">,</span><span·class="w">
1033 ······</span><span·class="p"·data-group-id="5313177685-26">{</span><span·class="ss">file_info</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="ss">regular</span><span·class="p">,</span><span·class="ss">read_write</span><span·class="p">,</span><span·class="w">1033 ······</span><span·class="p"·data-group-id="6299123013-26">{</span><span·class="ss">file_info</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="ss">regular</span><span·class="p">,</span><span·class="ss">read_write</span><span·class="p">,</span><span·class="w">
1034 ·················</span><span·class="p"·data-group-id="5313177685-27">{</span><span·class="p"·data-group-id="5313177685-28">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5313177685-28">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·5f1d000fd005deb8d7441b817dbe7ff40580e61c0d382b5af720aeaa590dabd5·...·]-27">}</span><span·class="p">,</span><span·class="w">1034 ·················</span><span·class="p"·data-group-id="6299123013-27">{</span><span·class="p"·data-group-id="6299123013-28">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6299123013-28">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·d011045901a83e203201f0367df38a781b928a5b3a6577d25e41e21e3e0f6c92·...·]-27">}</span><span·class="p">,</span><span·class="w">
1035 ·················</span><span·class="p"·data-group-id="5313177685-30">{</span><span·class="p"·data-group-id="5313177685-31">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5313177685-31">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·9062332dda7f2b644f72782edbc139644c8482718cb7be663b3d228305005d98·...·]-30">}</span><span·class="p">,</span><span·class="w">1035 ·················</span><span·class="p"·data-group-id="6299123013-30">{</span><span·class="p"·data-group-id="6299123013-31">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6299123013-31">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·639fb1dc56f293b0f4fb03b07c24d812fcaa9b0c8f2c06a4ca2629267e392514·...·]-30">}</span><span·class="p">,</span><span·class="w">
1036 ·················</span><span·class="p"·data-group-id="5313177685-33">{</span><span·class="p"·data-group-id="5313177685-34">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5313177685-34">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·798dedb3eb1a1c2d5fc9baf3999e281596fd4f5ce27c7632a18deb8f516d7a6c·...·]-33">}</span><span·class="p">,</span><span·class="w">1036 ·················</span><span·class="p"·data-group-id="6299123013-33">{</span><span·class="p"·data-group-id="6299123013-34">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6299123013-34">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·26972d4a4475bf4ab56b948b0d447929bad05d69c1225631eea6a616bb1749ac·...·]-33">}</span><span·class="p">,</span><span·class="w">
1037 ·················</span><span·class="mi">54</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="5313177685-26">}</span><span·class="p"·data-group-id="5313177685-24">}</span><span·class="p">,</span><span·class="w">1037 ·················</span><span·class="mi">54</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="6299123013-26">}</span><span·class="p"·data-group-id="6299123013-24">}</span><span·class="p">,</span><span·class="w">
1038 ·····</span><span·class="p"·data-group-id="5313177685-36">{</span><span·class="s">&quot;foo&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="5313177685-37">&lt;&lt;</span><span·class="s">&quot;FOO&quot;</span><span·class="p"·data-group-id="5313177685-37">&gt;&gt;</span><span·class="p">,</span><span·class="w">1038 ·····</span><span·class="p"·data-group-id="6299123013-36">{</span><span·class="s">&quot;foo&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="6299123013-37">&lt;&lt;</span><span·class="s">&quot;FOO&quot;</span><span·class="p"·data-group-id="6299123013-37">&gt;&gt;</span><span·class="p">,</span><span·class="w">
1039 ······</span><span·class="p"·data-group-id="5313177685-38">{</span><span·class="ss">file_info</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="ss">regular</span><span·class="p">,</span><span·class="ss">read_write</span><span·class="p">,</span><span·class="w">1039 ······</span><span·class="p"·data-group-id="6299123013-38">{</span><span·class="ss">file_info</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="ss">regular</span><span·class="p">,</span><span·class="ss">read_write</span><span·class="p">,</span><span·class="w">
1040 ·················</span><span·class="p"·data-group-id="5313177685-39">{</span><span·class="p"·data-group-id="5313177685-40">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5313177685-40">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·8119de879456ed8beaa630b64f1a7fcf046e3d19d65e8276f5c00419b107906c·...·]-39">}</span><span·class="p">,</span><span·class="w">1040 ·················</span><span·class="p"·data-group-id="6299123013-39">{</span><span·class="p"·data-group-id="6299123013-40">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6299123013-40">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·1305e701fc76c6c9f1831a0c24e1bd8565bf3787d47acdad5a6e84b0a50e7c34·...·]-39">}</span><span·class="p">,</span><span·class="w">
1041 ·················</span><span·class="p"·data-group-id="5313177685-42">{</span><span·class="p"·data-group-id="5313177685-43">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5313177685-43">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·9c6c2b3311820217cc35da83e365a0fca0205146254fb708a0fcf9f473244c38·...·]-42">}</span><span·class="p">,</span><span·class="w">1041 ·················</span><span·class="p"·data-group-id="6299123013-42">{</span><span·class="p"·data-group-id="6299123013-43">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6299123013-43">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·ad6404fef472cd2e322cce9d673f4e32d482018614d1058da5dd97f5b21af09b·...·]-42">}</span><span·class="p">,</span><span·class="w">
1042 ·················</span><span·class="p"·data-group-id="5313177685-45">{</span><span·class="p"·data-group-id="5313177685-46">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="5313177685-46">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·141d76ce02b6b93976d4043b267c746ee0eacecc74c6512114b2ef9b12460c51·...·]-45">}</span><span·class="p">,</span><span·class="w">1042 ·················</span><span·class="p"·data-group-id="6299123013-45">{</span><span·class="p"·data-group-id="6299123013-46">{</span><span·class="mi">2010</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="6299123013-46">}</span[·...·truncated·by·diffoscope;·len:·299,·SHA:·50493edbf50ead4c84c7e71c6be71e41022d2695206545c0242411c57e641b8c·...·]-45">}</span><span·class="p">,</span><span·class="w">
1043 ·················</span><span·class="mi">54</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="5313177685-38">}</span><span·class="p"·data-group-id="5313177685-36">}</span><span·class="p"·data-group-id="5313177685-23">]</span><span·class="p"·data-group-id="5313177685-22">}</span><span·class="gp·unselectable">1043 ·················</span><span·class="mi">54</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="6299123013-38">}</span><span·class="p"·data-group-id="6299123013-36">}</span><span·class="p"·data-group-id="6299123013-23">]</span><span·class="p"·data-group-id="6299123013-22">}</span><span·class="gp·unselectable">
1044 &gt;·</span><span·class="p"·data-group-id="5313177685-48">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5313177685-49">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><spa[·...·truncated·by·diffoscope;·len:·836,·SHA:·14fd7729daffbcebe8d205adcbe0c9843145c30cb82f5251873f380c038ee156·...·]-50">)</span><span·class="p">.</span><span·class="w">1044 &gt;·</span><span·class="p"·data-group-id="6299123013-48">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6299123013-49">{</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Bin</span><spa[·...·truncated·by·diffoscope;·len:·836,·SHA:·00cabc6d2c65bf041fa48203efd8a0b2b3dfe64f308d8d2305ff9c0d81132c2c·...·]-50">)</span><span·class="p">.</span><span·class="w">
1045 </span><span·class="p"·data-group-id="5313177685-53">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="5313177685-54">{</span><span·class="s">&quot;dummy.zip&quot;</span><span·class="p">,</span><span·class="w">1045 </span><span·class="p"·data-group-id="6299123013-53">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="6299123013-54">{</span><span·class="s">&quot;dummy.zip&quot;</span><span·class="p">,</span><span·class="w">
1046 ·····</span><span·class="p"·data-group-id="5313177685-55">&lt;&lt;</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">75</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">20</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">74</span><span·class="p">,</span><span·class="mi">152</span><span·class="p">,</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">60</span><span·class="p">,</span><span·class="mi">171</span><span·class="p">,</span><span·class="mi">39</span><span·class="p">,</span><span·class="mi">212</span><span·class="p">,</span><span·class="mi">26</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">1046 ·····</span><span·class="p"·data-group-id="6299123013-55">&lt;&lt;</span><span·class="mi">80</span><span·class="p">,</span><span·class="mi">75</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">20</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">74</span><span·class="p">,</span><span·class="mi">152</span><span·class="p">,</span><span·class="mi">97</span><span·class="p">,</span><span·class="mi">60</span><span·class="p">,</span><span·class="mi">171</span><span·class="p">,</span><span·class="mi">39</span><span·class="p">,</span><span·class="mi">212</span><span·class="p">,</span><span·class="mi">26</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">
1047 ·······</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="5313177685-55">&gt;&gt;</span><span·class="p"·data-group-id="5313177685-54">}</span><span·class="p"·data-group-id="5313177685-53">}</span><span·class="gp·unselectable">1047 ·······</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="6299123013-55">&gt;&gt;</span><span·class="p"·data-group-id="6299123013-54">}</span><span·class="p"·data-group-id="6299123013-53">}</span><span·class="gp·unselectable">
1048 &gt;·</span><span·class="k">catch</span><span·class="w">·</span><span·class="nc">zip</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="5313177685-56">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="5313177685-57">(</span><span·class="s">&quot;foo&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·1433,·SHA:·18a8e8e9acde803c97876910fe394b2156e9f50d2ad5c41413a1a9edf2e9d315·...·]-56">)</span><span·class="p">.</span><span·class="w">1048 &gt;·</span><span·class="k">catch</span><span·class="w">·</span><span·class="nc">zip</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="6299123013-56">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6299123013-57">(</span><span·class="s">&quot;foo&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p">,</span><span·class="w">·<[·...·truncated·by·diffoscope;·len:·1433,·SHA:·cd391c9b52f1d3bb8923deeb3746f35101be07e2807b42159a6b5d3232b8fe36·...·]-56">)</span><span·class="p">.</span><span·class="w">
1049 </span><span·class="p"·data-group-id="5313177685-63">&lt;&lt;</span><span·class="s">&quot;FOO&quot;</span><span·class="p"·data-group-id="5313177685-63">&gt;&gt;</span></code></pre>1049 </span><span·class="p"·data-group-id="6299123013-63">&lt;&lt;</span><span·class="s">&quot;FOO&quot;</span><span·class="p"·data-group-id="6299123013-63">&gt;&gt;</span></code></pre>
1050 ··</section>1050 ··</section>
1051 </section>1051 </section>
1052 <section·class="detail"·id="list_dir/1">1052 <section·class="detail"·id="list_dir/1">
  
1053 ··<div·class="detail-header">1053 ··<div·class="detail-header">
1054 ····<a·href="#list_dir/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1054 ····<a·href="#list_dir/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1055 ······<i·class="ri-link-m"·aria-hidden="true"></i>1055 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1619, 15 lines modifiedOffset 1619, 15 lines modified
1619 ······<p·class="built-using">1619 ······<p·class="built-using">
1620 ········Built·using1620 ········Built·using
1621 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1621 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1622 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1622 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1623 ······</p>1623 ······</p>
1624 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1624 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1625 ····</footer>1625 ····</footer>
1626 ··</div>1626 ··</div>
1627 </main>1627 </main>
1628 </div>1628 </div>
1629 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1629 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1630 ··<script>1630 ··<script>
1631 ··let·initialized·=·false;1631 ··let·initialized·=·false;
691 B
html2text {}
Max HTML report size reached
75.0 KB
./usr/share/doc/erlang-doc/html/lib/stdlib-7.0/doc/html/zstd.html
    
Offset 127, 33 lines modifiedOffset 127, 33 lines modified
127 ··</h1>127 ··</h1>
  
  
128 ····<section·id="moduledoc">128 ····<section·id="moduledoc">
129 <p>Zstandard·compression·interface.</p><p>This·module·provides·an·API·for·the·Zstandard·library129 <p>Zstandard·compression·interface.</p><p>This·module·provides·an·API·for·the·Zstandard·library
130 (<a·href="http://www.zstd.net">www.zstd.net</a>).·It·is·used·to·compress·and·decompress·data130 (<a·href="http://www.zstd.net">www.zstd.net</a>).·It·is·used·to·compress·and·decompress·data
131 and·offers·the·same·compression·ratio·as·<a·href="../../../../erts-16.0/doc/html/zlib.html"><code·class="inline">zlib</code></a>·but·at·a·lower·CPU·cost.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">~&quot;my·data·to·be·compressed&quot;</span><span·class="p">.</span><span·class="gp·unselectable">131 and·offers·the·same·compression·ratio·as·<a·href="../../../../erts-16.0/doc/html/zlib.html"><code·class="inline">zlib</code></a>·but·at·a·lower·CPU·cost.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">~&quot;my·data·to·be·compressed&quot;</span><span·class="p">.</span><span·class="gp·unselectable">
132 2&gt;·</span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="7991810101-1">(</span><span·class="n">Data</span><span·class="p"·data-group-id="7991810101-1">)</span><span·class="p">.</span><span·class="gp·unselectable">132 2&gt;·</span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="5931572684-1">(</span><span·class="n">Data</span><span·class="p"·data-group-id="5931572684-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
133 3&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">decompress</span><span·class="p"·data-group-id="7991810101-2">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="7991810101-2">)</span><span·class="p">.</span><span·class="w">133 3&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">decompress</span><span·class="p"·data-group-id="5931572684-2">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="5931572684-2">)</span><span·class="p">.</span><span·class="w">
134 </span><span·class="p"·data-group-id="7991810101-3">[</span><span·class="s">~&quot;my·data·to·be·compressed&quot;</span><span·class="p"·data-group-id="7991810101-3">]</span></code></pre><p>If·you·are·compressing·or·decompressing·possibly·large·amounts·of·data,134 </span><span·class="p"·data-group-id="5931572684-3">[</span><span·class="s">~&quot;my·data·to·be·compressed&quot;</span><span·class="p"·data-group-id="5931572684-3">]</span></code></pre><p>If·you·are·compressing·or·decompressing·possibly·large·amounts·of·data,
135 it·is·also·possible·to·do·streamed·compression/decompression.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Compress</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="3721296124-1">(</span><span·class="n">Ctx</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="3721296124-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">135 it·is·also·possible·to·do·streamed·compression/decompression.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Compress</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="n">F</span><span·class="p"·data-group-id="4459739641-1">(</span><span·class="n">Ctx</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="4459739641-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
136 ······················</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">read</span><span·class="p"·data-group-id="3721296124-2">(</span><span·class="n">D</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span><span·class="p"·data-group-id="3721296124-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">136 ······················</span><span·class="k">case</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">read</span><span·class="p"·data-group-id="4459739641-2">(</span><span·class="n">D</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">5</span><span·class="p"·data-group-id="4459739641-2">)</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
137 ··························</span><span·class="p"·data-group-id="3721296124-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="3721296124-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">137 ··························</span><span·class="p"·data-group-id="4459739641-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Data</span><span·class="p"·data-group-id="4459739641-3">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
138 ······························</span><span·class="p"·data-group-id="3721296124-4">{</span><span·class="ss">continue</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p"·data-group-id="3721296124-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·272,·SHA:·d231865903a2fbfaf0ce9b74fb71e319128f6180dc9dd38c0b2784ae09f1b9ad·...·]-5">)</span><span·class="p">,</span><span·class="w">138 ······························</span><span·class="p"·data-group-id="4459739641-4">{</span><span·class="ss">continue</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p"·data-group-id="4459739641-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·272,·SHA:·8259a478de89e45152fdd3830b288979cbc3fa91c48e793f01532e07a0495952·...·]-5">)</span><span·class="p">,</span><span·class="w">
139 ······························</span><span·class="p"·data-group-id="3721296124-6">[</span><span·class="n">C</span><span·class="p">|</span><span·class="n">F</span><span·class="p"·data-group-id="3721296124-7">(</span><span·class="n">Ctx</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class[·...·truncated·by·diffoscope;·len:·83,·SHA:·49956da25b26c38c418a36ee83351668dab0f9efe8a2e7ebd2e57ed29c1ae346·...·]-6">]</span><span·class="p">;</span><span·class="w">139 ······························</span><span·class="p"·data-group-id="4459739641-6">[</span><span·class="n">C</span><span·class="p">|</span><span·class="n">F</span><span·class="p"·data-group-id="4459739641-7">(</span><span·class="n">Ctx</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class[·...·truncated·by·diffoscope;·len:·83,·SHA:·f384e4d5b2f5b2739851d5ac91ed4259519e5a34935f63f5d2bbe57f701f7967·...·]-6">]</span><span·class="p">;</span><span·class="w">
140 ··························</span><span·class="ss">eof</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">140 ··························</span><span·class="ss">eof</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
141 ······························</span><span·class="p"·data-group-id="3721296124-8">{</span><span·class="ss">done</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p"·data-group-id="3721296124-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·276,·SHA:·7d6d73daf7a72bd53de09aa2196db3e4815b08fda626cbb33aaac040992cc724·...·]-9">)</span><span·class="p">,</span><span·class="w">141 ······························</span><span·class="p"·data-group-id="4459739641-8">{</span><span·class="ss">done</span><span·class="p">,</span><span·class="w">·</span><span·class="n">C</span><span·class="p"·data-group-id="4459739641-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·276,·SHA:·29f6c9b10d5d28f8bf566c405626544a456aba3843cb4925950d249e678b242c·...·]-9">)</span><span·class="p">,</span><span·class="w">
142 ······························</span><span·class="n">C</span><span·class="w">142 ······························</span><span·class="n">C</span><span·class="w">
143 ······················</span><span·class="k">end</span><span·class="w">143 ······················</span><span·class="k">end</span><span·class="w">
144 ··············</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">144 ··············</span><span·class="k">end</span><span·class="p">.</span><span·class="gp·unselectable">
145 2&gt;·</span><span·class="p"·data-group-id="3721296124-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ctx</span><span·class="p"·data-group-id="3721296124-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·203,·SHA:·00fe985851f2c1bdcbc91cd450634b4346e3c579526fb013eb28251af7464294·...·]-11">)</span><span·class="p">.</span><span·class="gp·unselectable">145 2&gt;·</span><span·class="p"·data-group-id="4459739641-10">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ctx</span><span·class="p"·data-group-id="4459739641-10">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·203,·SHA:·49d0d2528893ba4c67a516f88c7a1b9d09d48d6dde23bc41347baaf3fad3b183·...·]-11">)</span><span·class="p">.</span><span·class="gp·unselectable">
146 3&gt;·</span><span·class="p"·data-group-id="3721296124-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="3721296124-12">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·407,·SHA:·cc619d9364b5597e2946dc48b178ab536076e5e7dcee2ca659aeadce10b69212·...·]-13">)</span><span·class="p">.</span><span·class="gp·unselectable">146 3&gt;·</span><span·class="p"·data-group-id="4459739641-12">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="4459739641-12">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·407,·SHA:·4c4b5b44f69ea1e2ae234fcaa8eff7dd285781ba5e7daed69a0537ad6fa9f3f4·...·]-13">)</span><span·class="p">.</span><span·class="gp·unselectable">
147 4&gt;·</span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">iolist_to_binary</span><span·class="p"·data-group-id="3721296124-15">(</span><span·class="n">Compress</span><span·class="p"·data-group-id="3721296124-16">(</span><span·class="n">Ctx</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="3721296124-16">)</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·f7f121f1828081c9fc57665ef14cfb72b082b8424f0fc24a1be534d32bb066e8·...·]-15">)</span><span·class="p">.</span><span·class="w">147 4&gt;·</span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">iolist_to_binary</span><span·class="p"·data-group-id="4459739641-15">(</span><span·class="n">Compress</span><span·class="p"·data-group-id="4459739641-16">(</span><span·class="n">Ctx</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D</span><span·class="p"·data-group-id="4459739641-16">)</s[·...·truncated·by·diffoscope;·len:·45,·SHA:·d1dd462cbc1336d6d7cb9fce6f33df63a899b98e6e35bd8f6fd995d5443b0c72·...·]-15">)</span><span·class="p">.</span><span·class="w">
148 </span><span·class="p"·data-group-id="3721296124-17">&lt;&lt;</span><span·class="mi">40</span><span·class="p">,</span><span·class="mi">181</span><span·class="p">,</span><span·class="mi">47</span><span·class="p">,</span><span·class="mi">253</span><span·class="p">,</span><span·class="mi">0</span[·...·truncated·by·diffoscope;·len:·800,·SHA:·59ea3b5e3b76b9099c30de81be9bdd9b3e54d5d960d72dc6b54841ecb4f28463·...·]-17">&gt;&gt;</span><span·class="gp·unselectable">148 </span><span·class="p"·data-group-id="4459739641-17">&lt;&lt;</span><span·class="mi">40</span><span·class="p">,</span><span·class="mi">181</span><span·class="p">,</span><span·class="mi">47</span><span·class="p">,</span><span·class="mi">253</span><span·class="p">,</span><span·class="mi">0</span[·...·truncated·by·diffoscope;·len:·800,·SHA:·4a4b2d0150912881be64298d6c8aea391e4bad75bc7e9a792d10969f703dbc37·...·]-17">&gt;&gt;</span><span·class="gp·unselectable">
149 5&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">decompress</span><span·class="p"·data-group-id="3721296124-18">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="3721296124-18">)</span><span·class="p">.</span><span·class="w">149 5&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">decompress</span><span·class="p"·data-group-id="4459739641-18">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="4459739641-18">)</span><span·class="p">.</span><span·class="w">
150 </span><span·class="p"·data-group-id="3721296124-19">[</span><span·class="s">~&quot;lorem·ipsum&quot;</span><span·class="p"·data-group-id="3721296124-19">]</span></code></pre><p>In·all·functions·errors·can·be·thrown,·where·<code·class="inline">Reason</code>·describes·the·error.</p><p>Typical·<code·class="inline">Reason</code>s:</p><ul><li><strong><code·class="inline">badarg</code></strong>·-·Bad·argument.</li><li><strong><code·class="inline">zstd_error</code></strong>·-·An·error·generated·by·the·Zstandard·library.</li><li><strong><code·class="inline">not_on_controlling_process</code></strong>·-·The·context·was·used·by·a·process·that150 </span><span·class="p"·data-group-id="4459739641-19">[</span><span·class="s">~&quot;lorem·ipsum&quot;</span><span·class="p"·data-group-id="4459739641-19">]</span></code></pre><p>In·all·functions·errors·can·be·thrown,·where·<code·class="inline">Reason</code>·describes·the·error.</p><p>Typical·<code·class="inline">Reason</code>s:</p><ul><li><strong><code·class="inline">badarg</code></strong>·-·Bad·argument.</li><li><strong><code·class="inline">zstd_error</code></strong>·-·An·error·generated·by·the·Zstandard·library.</li><li><strong><code·class="inline">not_on_controlling_process</code></strong>·-·The·context·was·used·by·a·process·that
151 did·not·create·it.</li></ul>151 did·not·create·it.</li></ul>
152 ····</section>152 ····</section>
  
153 </div>153 </div>
  
154 ··<section·id="summary"·class="details-list">154 ··<section·id="summary"·class="details-list">
155 ····<h1·class="section-heading">155 ····<h1·class="section-heading">
Offset 725, 16 lines modifiedOffset 725, 16 lines modified
725 ······<div·class="specs">725 ······<div·class="specs">
  
726 ··········<pre·translate="no"><span·class="attribute">-spec</span>·compress(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Options·::·<a·href="#t:compress_parameters/0">compress_parameters</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>();726 ··········<pre·translate="no"><span·class="attribute">-spec</span>·compress(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Options·::·<a·href="#t:compress_parameters/0">compress_parameters</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>();
727 ··············(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Ctx·::·<a·href="#t:context/0">context</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>727 ··············(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Ctx·::·<a·href="#t:context/0">context</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>
  
728 ······</div>728 ······</div>
  
729 <p>Compress·<code·class="inline">Data</code>·using·the·given·<a·href="#t:compress_parameters/0"><code·class="inline">compress_parameters/0</code></a>·or·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="9031013745-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="9031013745-1">)</span><span·class="p">.</span><span·class="gp·unselectable">729 <p>Compress·<code·class="inline">Data</code>·using·the·given·<a·href="#t:compress_parameters/0"><code·class="inline">compress_parameters/0</code></a>·or·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="1798014911-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="1798014911-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
730 2&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="9031013745-2">(</span><span·class="s">&quot;abc&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9031013745-3">#{</span><span·class="w">·</span><span·class="ss">compressionLevel</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·190,·SHA:·183380abf0ce15851a52c31409cf82bcc199d387d22c8b148bdfe58b41905304·...·]-2">)</span><span·class="p">.</span></code></pre>730 2&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="1798014911-2">(</span><span·class="s">&quot;abc&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1798014911-3">#{</span><span·class="w">·</span><span·class="ss">compressionLevel</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·190,·SHA:·e04d32138b9b912b36cb87ae4de41343207314789786b69df29330a481c80f82·...·]-2">)</span><span·class="p">.</span></code></pre>
731 ··</section>731 ··</section>
732 </section>732 </section>
733 <section·class="detail"·id="context/1">733 <section·class="detail"·id="context/1">
  
734 ··<div·class="detail-header">734 ··<div·class="detail-header">
735 ····<a·href="#context/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">735 ····<a·href="#context/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
736 ······<i·class="ri-link-m"·aria-hidden="true"></i>736 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 841, 17 lines modifiedOffset 841, 17 lines modified
841 ······<div·class="specs">841 ······<div·class="specs">
  
842 ··········<pre·translate="no"><span·class="attribute">-spec</span>·decompress(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Options·::·<a·href="#t:decompress_parameters/0">decompress_parameters</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>();842 ··········<pre·translate="no"><span·class="attribute">-spec</span>·decompress(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Options·::·<a·href="#t:decompress_parameters/0">decompress_parameters</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>();
843 ················(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Ctx·::·<a·href="#t:context/0">context</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>843 ················(Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>(),·Ctx·::·<a·href="#t:context/0">context</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>().</pre>
  
844 ······</div>844 ······</div>
  
845 <p>Decompress·<code·class="inline">Data</code>·using·the·given·<a·href="#t:compress_parameters/0"><code·class="inline">compress_parameters/0</code></a>·or·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="9843610555-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="9843610555-1">)</span><span·class="p">.</span><span·class="gp·unselectable">845 <p>Decompress·<code·class="inline">Data</code>·using·the·given·<a·href="#t:compress_parameters/0"><code·class="inline">compress_parameters/0</code></a>·or·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="n">Compressed</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="6588523906-1">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="6588523906-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
846 2&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">decompress</span><span·class="p"·data-group-id="9843610555-2">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="9843610555-2">)</span><span·class="p">.</span><span·class="w">846 2&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">decompress</span><span·class="p"·data-group-id="6588523906-2">(</span><span·class="n">Compressed</span><span·class="p"·data-group-id="6588523906-2">)</span><span·class="p">.</span><span·class="w">
847 </span><span·class="p"·data-group-id="9843610555-3">[</span><span·class="s">~&quot;abc&quot;</span><span·class="p"·data-group-id="9843610555-3">]</span></code></pre>847 </span><span·class="p"·data-group-id="6588523906-3">[</span><span·class="s">~&quot;abc&quot;</span><span·class="p"·data-group-id="6588523906-3">]</span></code></pre>
848 ··</section>848 ··</section>
849 </section>849 </section>
850 <section·class="detail"·id="dict/2">850 <section·class="detail"·id="dict/2">
  
851 ··<div·class="detail-header">851 ··<div·class="detail-header">
852 ····<a·href="#dict/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">852 ····<a·href="#dict/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
853 ······<i·class="ri-link-m"·aria-hidden="true"></i>853 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 908, 20 lines modifiedOffset 908, 20 lines modified
908 a·dictionary·for·compression.·Dictionaries·allow·good·compression·ratios908 a·dictionary·for·compression.·Dictionaries·allow·good·compression·ratios
909 even·for·small·amounts·of·data.</p><p>A·decompression·dictionary·can·be·used·as·a·<a·href="#t:decompress_parameters/0"><code·class="inline">decompress_parameters/0</code></a>·to·use909 even·for·small·amounts·of·data.</p><p>A·decompression·dictionary·can·be·used·as·a·<a·href="#t:decompress_parameters/0"><code·class="inline">decompress_parameters/0</code></a>·to·use
910 a·dictionary·for·decompression.·The·same·dictionary·has·to·be·used·for910 a·dictionary·for·decompression.·The·same·dictionary·has·to·be·used·for
911 compression·as·decompression.·To·verify·that·the·same·dictionary·is·used911 compression·as·decompression.·To·verify·that·the·same·dictionary·is·used
912 you·can·use·<a·href="#get_dict_id/1"><code·class="inline">get_dict_id/1</code></a>·on·the·dictionary·and·compressed·data,·or·just912 you·can·use·<a·href="#get_dict_id/1"><code·class="inline">get_dict_id/1</code></a>·on·the·dictionary·and·compressed·data,·or·just
913 try·to·decompress·as·decompression·will·raise·and·exception·if·an·incorrect913 try·to·decompress·as·decompression·will·raise·and·exception·if·an·incorrect
914 dictionary·is·given.</p><p>The·<code·class="inline">compressionLevel</code>·set·on·a·dictionary·will·override·the·<code·class="inline">compressionLevel</code>914 dictionary·is·given.</p><p>The·<code·class="inline">compressionLevel</code>·set·on·a·dictionary·will·override·the·<code·class="inline">compressionLevel</code>
915 set·in·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="5553205968-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CDict</span><span·class="p"·data-group-id="5553205968-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·274,·SHA:·9c4e18a26cad66a925c6bb4748d945da77151e7f88b38822af0c7f789855e206·...·]-2">)</span><span·class="p">.</span><span·class="gp·unselectable">915 set·in·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="3150022187-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CDict</span><span·class="p"·data-group-id="3150022187-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·274,·SHA:·1a1339528d0f96bc8b34949c783451bee4dc1e89af58df743ed7262d25f104c3·...·]-2">)</span><span·class="p">.</span><span·class="gp·unselectable">
916 2&gt;·</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">duplicate</span><span·class="p"·data-group-id="5553205968-3">(</span><span·class="mi">100</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="5553205968-3">)</span><span·class="p">.</span><span·class="w">916 2&gt;·</span><span·class="n">Data</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">duplicate</span><span·class="p"·data-group-id="3150022187-3">(</span><span·class="mi">100</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p"·data-group-id="3150022187-3">)</span><span·class="p">.</span><span·class="w">
917 </span><span·class="p"·data-group-id="5553205968-4">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">|</span><span·class="w"[·...·truncated·by·diffoscope;·len:·74,·SHA:·fea23a7d9ecda74727570b7dc1d84ae69fac078227f4d39298b9784087cebb2c·...·]-4">]</span><span·class="gp·unselectable">917 </span><span·class="p"·data-group-id="3150022187-4">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">1</span><span·class="w">·</span><span·class="p">|</span><span·class="w"[·...·truncated·by·diffoscope;·len:·74,·SHA:·77599397a69a1c4a7aa6b0bee75d873bf67e6bb13b7a0672a5d417fda5c08999·...·]-4">]</span><span·class="gp·unselectable">
918 3&gt;·</span><span·class="nf">iolist_size</span><span·class="p"·data-group-id="5553205968-5">(</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="5553205968-6">(</span><span·class="n">Data</span><span·class="p"·data-group-id="5553205968-6">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·31e8567822a1680027a69a9a18cc52307cc46a360c41b6e8351413089fae8d49·...·]-5">)</span><span·class="p">.</span><span·class="w">918 3&gt;·</span><span·class="nf">iolist_size</span><span·class="p"·data-group-id="3150022187-5">(</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="3150022187-6">(</span><span·class="n">Data</span><span·class="p"·data-group-id="3150022187-6">)</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·24,·SHA:·a317b5c49e31de56969a11fe18ece6dcd35f31413538920745e733d1aec6ad80·...·]-5">)</span><span·class="p">.</span><span·class="w">
919 </span><span·class="mi">17</span><span·class="gp·unselectable">919 </span><span·class="mi">17</span><span·class="gp·unselectable">
920 4&gt;·</span><span·class="nf">iolist_size</span><span·class="p"·data-group-id="5553205968-7">(</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="5553205968-8">(</span><span·class="n">Data</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·552,·SHA:·efcb5fc6856f754b7764a9c47e23190c3535e1a435b0a84143367994c66df506·...·]-7">)</span><span·class="p">.</span><span·class="w">920 4&gt;·</span><span·class="nf">iolist_size</span><span·class="p"·data-group-id="3150022187-7">(</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="3150022187-8">(</span><span·class="n">Data</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·552,·SHA:·ca3c038e14bfc334c48e451ba37a3615afeaa1dacbe5fb380655c5c56a87d81f·...·]-7">)</span><span·class="p">.</span><span·class="w">
921 </span><span·class="mi">16</span></code></pre><p>As·loading·a·dictionary·can·be·a·heavy·operations,·it·is·possible·to·create921 </span><span·class="mi">16</span></code></pre><p>As·loading·a·dictionary·can·be·a·heavy·operations,·it·is·possible·to·create
922 only·a·single·<a·href="#t:dict/0"><code·class="inline">dict/0</code></a>·and·provide·it·to·multiple·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>There·is·no·API·exposed·in·<a·href="zstd.html"><code·class="inline">zstd</code></a>·to·create·a·dictionary,·instead·use·the922 only·a·single·<a·href="#t:dict/0"><code·class="inline">dict/0</code></a>·and·provide·it·to·multiple·<a·href="#t:context/0"><code·class="inline">context/0</code></a>.</p><p>There·is·no·API·exposed·in·<a·href="zstd.html"><code·class="inline">zstd</code></a>·to·create·a·dictionary,·instead·use·the
923 <code·class="inline">zstd</code>·command·line·tool.</p>923 <code·class="inline">zstd</code>·command·line·tool.</p>
924 ··</section>924 ··</section>
925 </section>925 </section>
926 <section·class="detail"·id="finish/2">926 <section·class="detail"·id="finish/2">
  
Offset 945, 19 lines modifiedOffset 945, 19 lines modified
945 ······<div·class="specs">945 ······<div·class="specs">
  
946 ··········<pre·translate="no"><span·class="attribute">-spec</span>·finish(Ctx·::·<a·href="#t:context/0">context</a>(),·Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>())·->·Result·when·Result·::·{done,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iovec/0">erlang:iovec</a>()}.</pre>946 ··········<pre·translate="no"><span·class="attribute">-spec</span>·finish(Ctx·::·<a·href="#t:context/0">context</a>(),·Data·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iodata/0">iodata</a>())·->·Result·when·Result·::·{done,·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:iovec/0">erlang:iovec</a>()}.</pre>
  
947 ······</div>947 ······</div>
  
948 <p>Finish·compressing/decompressing·data.</p><p>This·flushes·all·output·buffers·and·resets·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>·so948 <p>Finish·compressing/decompressing·data.</p><p>This·flushes·all·output·buffers·and·resets·the·<a·href="#t:context/0"><code·class="inline">context/0</code></a>·so
949 that·it·can·be·used·for·compressing/decompressing·again.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="8395779320-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DCtx</span><span·class="p"·data-group-id="8395779320-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·203,·SHA:·a6a8d25d762967c63b7f75219b4fd699fba117fc3ef15cef488f46659e6b172a·...·]-2">)</span><span·class="p">.</span><span·class="gp·unselectable">949 that·it·can·be·used·for·compressing/decompressing·again.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="0301202592-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">DCtx</span><span·class="p"·data-group-id="0301202592-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·203,·SHA:·d52ef4d566247417ef9e3eb08ea8c807059b203ca345b2336340e1b34d8ed457·...·]-2">)</span><span·class="p">.</span><span·class="gp·unselectable">
950 2&gt;·</span><span·class="p"·data-group-id="8395779320-3">{</span><span·class="ss">continue</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D1</span><span·class="p"·data-group-id="8395779320-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·595,·SHA:·7df3806f228f59fa9569df9cbc06abe3f1d16df3403af6f376f8872c5e374340·...·]-4">)</span><span·class="p">.</span><span·class="gp·unselectable">950 2&gt;·</span><span·class="p"·data-group-id="0301202592-3">{</span><span·class="ss">continue</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D1</span><span·class="p"·data-group-id="0301202592-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·595,·SHA:·394e033769bfa4b9cf49ddd38c6f60c8075b644372b288ce5fb70e36a4ed0327·...·]-4">)</span><span·class="p">.</span><span·class="gp·unselectable">
951 3&gt;·</span><span·class="p"·data-group-id="8395779320-6">{</span><span·class="ss">done</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D2</span><span·class="p"·data-group-id="8395779320-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·636,·SHA:·ca38b0d19a6a6ddf8dbc89a8e4de9ef846be4c6b36fcd2fb2cb9e5b01446057b·...·]-7">)</span><span·class="p">.</span><span·class="gp·unselectable">951 3&gt;·</span><span·class="p"·data-group-id="0301202592-6">{</span><span·class="ss">done</span><span·class="p">,</span><span·class="w">·</span><span·class="n">D2</span><span·class="p"·data-group-id="0301202592-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·636,·SHA:·6569e659ab159a824df6bd864e1b6eb195b2fdf81cca5b1e93d66c375b51560b·...·]-7">)</span><span·class="p">.</span><span·class="gp·unselectable">
952 4&gt;·</span><span·class="nf">iolist_to_binary</span><span·class="p"·data-group-id="8395779320-9">(</span><span·class="p"·data-group-id="8395779320-10">[</span><span·class="n">D1</span><span·class="p">,</span><span·class="n">D2</span><span·class="p"·data-group-id="8395779320-10">]</span><span·class="p"·data-group-id="8395779320-9">)</span><span·class="p">.</span><span·class="w">952 4&gt;·</span><span·class="nf">iolist_to_binary</span><span·class="p"·data-group-id="0301202592-9">(</span><span·class="p"·data-group-id="0301202592-10">[</span><span·class="n">D1</span><span·class="p">,</span><span·class="n">D2</span><span·class="p"·data-group-id="0301202592-10">]</span><span·class="p"·data-group-id="0301202592-9">)</span><span·class="p">.</span><span·class="w">
953 </span><span·class="p"·data-group-id="8395779320-11">&lt;&lt;</span><span·class="s">&quot;ab&quot;</span><span·class="p"·data-group-id="8395779320-11">&gt;&gt;</span></code></pre>953 </span><span·class="p"·data-group-id="0301202592-11">&lt;&lt;</span><span·class="s">&quot;ab&quot;</span><span·class="p"·data-group-id="0301202592-11">&gt;&gt;</span></code></pre>
954 ··</section>954 ··</section>
955 </section>955 </section>
956 <section·class="detail"·id="get_dict_id/1">956 <section·class="detail"·id="get_dict_id/1">
  
957 ··<div·class="detail-header">957 ··<div·class="detail-header">
958 ····<a·href="#get_dict_id/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">958 ····<a·href="#get_dict_id/1"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
959 ······<i·class="ri-link-m"·aria-hidden="true"></i>959 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 977, 18 lines modifiedOffset 977, 18 lines modified
  
977 ······<div·class="specs">977 ······<div·class="specs">
  
978 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_dict_id(DictOrFrame·::·<a·href="#t:dict/0">dict</a>()·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>978 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_dict_id(DictOrFrame·::·<a·href="#t:dict/0">dict</a>()·|·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:binary/0">binary</a>())·->·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>
  
979 ······</div>979 ······</div>
  
980 <p>Get·the·dictionary·ID·of·a·dictionary·or·a·frame.</p><p>The·dictionary·ID·0·represents·no·dictionary.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="9348386243-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CDict</span><span·class="p"·data-group-id="9348386243-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·274,·SHA:·d2125fce70fcbeb8c2f3dfb8c034d42cf9e2abfe8ec166319e8630d49a1472a4·...·]-2">)</span><span·class="p">.</span><span·class="gp·unselectable">980 <p>Get·the·dictionary·ID·of·a·dictionary·or·a·frame.</p><p>The·dictionary·ID·0·represents·no·dictionary.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="0528076796-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">CDict</span><span·class="p"·data-group-id="0528076796-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·274,·SHA:·84cb44ef399d0cf3f43c12ad76a20170eb2143921938be1672aac42517f83d78·...·]-2">)</span><span·class="p">.</span><span·class="gp·unselectable">
981 2&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">get_dict_id</span><span·class="p"·data-group-id="9348386243-3">(</span><span·class="n">CDict</span><span·class="p"·data-group-id="9348386243-3">)</span><span·class="p">.</span><span·class="w">981 2&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">get_dict_id</span><span·class="p"·data-group-id="0528076796-3">(</span><span·class="n">CDict</span><span·class="p"·data-group-id="0528076796-3">)</span><span·class="p">.</span><span·class="w">
982 </span><span·class="mi">1850243626</span><span·class="gp·unselectable">982 </span><span·class="mi">1850243626</span><span·class="gp·unselectable">
983 3&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">get_dict_id</span><span·class="p"·data-group-id="9348386243-4">(</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="9348386243-5">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="9348386243-5">)</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·0cce17b0054b29308f856c5a7313e00be7132f53b8e3222c5875b4231338d961·...·]-4">)</span><span·class="p">.</span><span·class="w">983 3&gt;·</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">get_dict_id</span><span·class="p"·data-group-id="0528076796-4">(</span><span·class="nc">zstd</span><span·class="p">:</span><span·class="nf">compress</span><span·class="p"·data-group-id="0528076796-5">(</span><span·class="s">&quot;abc&quot;</span><span·class="p"·data-group-id="0528076796-5">)</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·06677e6f5323ff768ae47c0d2a1795451ca54259a28b4d24cc44eea0f5537a89·...·]-4">)</span><span·class="p">.</span><span·class="w">
984 </span><span·class="mi">0</span></code></pre>984 </span><span·class="mi">0</span></code></pre>
985 ··</section>985 ··</section>
986 </section>986 </section>
987 <section·class="detail"·id="get_frame_header/1">987 <section·class="detail"·id="get_frame_header/1">
  
988 ··<div·class="detail-header">988 ··<div·class="detail-header">
Max diff block lines reached; 33546/76111 bytes (44.08%) of diff not shown.
536 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/404.html
    
Offset 139, 15 lines modifiedOffset 139, 15 lines modified
139 ······<p·class="built-using">139 ······<p·class="built-using">
140 ········Built·using140 ········Built·using
141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
143 ······</p>143 ······</p>
144 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>144 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
145 ····</footer>145 ····</footer>
146 ··</div>146 ··</div>
147 </main>147 </main>
148 </div>148 </div>
149 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>149 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
150 ··<script>150 ··<script>
151 ··let·initialized·=·false;151 ··let·initialized·=·false;
604 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/api-reference.html
    
Offset 249, 15 lines modifiedOffset 249, 15 lines modified
249 ······<p·class="built-using">249 ······<p·class="built-using">
250 ········Built·using250 ········Built·using
251 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the251 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
252 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>252 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
253 ······</p>253 ······</p>
254 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>254 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
255 ····</footer>255 ····</footer>
256 ··</div>256 ··</div>
257 </main>257 </main>
258 </div>258 </div>
259 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>259 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
260 ··<script>260 ··<script>
261 ··let·initialized·=·false;261 ··let·initialized·=·false;
549 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/chapter.html
    
Offset 177, 15 lines modifiedOffset 177, 15 lines modified
177 ······<p·class="built-using">177 ······<p·class="built-using">
178 ········Built·using178 ········Built·using
179 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the179 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
180 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>180 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
181 ······</p>181 ······</p>
182 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>182 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
183 ····</footer>183 ····</footer>
184 ··</div>184 ··</div>
185 </main>185 </main>
186 </div>186 </div>
187 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>187 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
188 ··<script>188 ··<script>
189 ··let·initialized·=·false;189 ··let·initialized·=·false;
730 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/epp_dodger.html
    
Offset 853, 15 lines modifiedOffset 853, 15 lines modified
853 ······<p·class="built-using">853 ······<p·class="built-using">
854 ········Built·using854 ········Built·using
855 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the855 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
856 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>856 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
857 ······</p>857 ······</p>
858 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>858 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
859 ····</footer>859 ····</footer>
860 ··</div>860 ··</div>
861 </main>861 </main>
862 </div>862 </div>
863 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>863 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
864 ··<script>864 ··<script>
865 ··let·initialized·=·false;865 ··let·initialized·=·false;
739 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/erl_comment_scan.html
    
Offset 433, 15 lines modifiedOffset 433, 15 lines modified
433 ······<p·class="built-using">433 ······<p·class="built-using">
434 ········Built·using434 ········Built·using
435 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the435 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
436 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>436 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
437 ······</p>437 ······</p>
438 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>438 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
439 ····</footer>439 ····</footer>
440 ··</div>440 ··</div>
441 </main>441 </main>
442 </div>442 </div>
443 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>443 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
444 ··<script>444 ··<script>
445 ··let·initialized·=·false;445 ··let·initialized·=·false;
575 B
html2text {}
Max HTML report size reached
1.6 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/erl_prettypr.html
    
Offset 969, 15 lines modifiedOffset 969, 15 lines modified
969 ······<p·class="built-using">969 ······<p·class="built-using">
970 ········Built·using970 ········Built·using
971 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the971 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
972 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>972 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
973 ······</p>973 ······</p>
974 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>974 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
975 ····</footer>975 ····</footer>
976 ··</div>976 ··</div>
977 </main>977 </main>
978 </div>978 </div>
979 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>979 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
980 ··<script>980 ··<script>
981 ··let·initialized·=·false;981 ··let·initialized·=·false;
778 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/erl_recomment.html
    
Offset 379, 15 lines modifiedOffset 379, 15 lines modified
379 ······<p·class="built-using">379 ······<p·class="built-using">
380 ········Built·using380 ········Built·using
381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
383 ······</p>383 ······</p>
384 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>384 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
385 ····</footer>385 ····</footer>
386 ··</div>386 ··</div>
387 </main>387 </main>
388 </div>388 </div>
389 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>389 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
390 ··<script>390 ··<script>
391 ··let·initialized·=·false;391 ··let·initialized·=·false;
691 B
html2text {}
Max HTML report size reached
10.3 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/erl_syntax.html
    
Offset 6714, 18 lines modifiedOffset 6714, 18 lines modified
  
6714 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_postcomments(<a·href="#t:syntaxTree/0">syntaxTree</a>())·->·[<a·href="#t:syntaxTree/0">syntaxTree</a>()].</pre>6714 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_postcomments(<a·href="#t:syntaxTree/0">syntaxTree</a>())·->·[<a·href="#t:syntaxTree/0">syntaxTree</a>()].</pre>
  
6715 ······</div>6715 ······</div>
  
6716 <p>Returns·the·associated·post-comments·of·a·node.</p><p>This·is·a·possibly·empty·list·of·abstract·comments,·in·top-down6716 <p>Returns·the·associated·post-comments·of·a·node.</p><p>This·is·a·possibly·empty·list·of·abstract·comments,·in·top-down
6717 textual·order.·When·the·code·is·formatted,·post-comments·are·typically6717 textual·order.·When·the·code·is·formatted,·post-comments·are·typically
6718 displayed·to·the·right·of·and/or·below·the·node.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2290614669-1">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="2290614669-1">}</span><span·class="w">·····</span><span·class="c1">%·Post-comment·of·tuple</span></code></pre><p>If·possible,·the·comment·should·be·moved·past·any·following·separator·characters6718 displayed·to·the·right·of·and/or·below·the·node.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3397229582-1">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="n">X</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Y</span><span·class="p"·data-group-id="3397229582-1">}</span><span·class="w">·····</span><span·class="c1">%·Post-comment·of·tuple</span></code></pre><p>If·possible,·the·comment·should·be·moved·past·any·following·separator·characters
6719 on·the·same·line,·rather·than·placing·the·separators·on·the·following·line.6719 on·the·same·line,·rather·than·placing·the·separators·on·the·following·line.
6720 For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="8958495673-1">(</span><span·class="p"·data-group-id="8958495673-2">[</span><span·class="n">X</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Xs</span><span·class="p"·data-group-id="8958495673-2">]</span><span·c[·...·truncated·by·diffoscope;·len:·106,·SHA:·661adf4ba3f4e09918cbd3b193c7b26ab53e5f5e49c92ab2f40db9094482552b·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">6720 For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="3187960820-1">(</span><span·class="p"·data-group-id="3187960820-2">[</span><span·class="n">X</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Xs</span><span·class="p"·data-group-id="3187960820-2">]</span><span·c[·...·truncated·by·diffoscope;·len:·106,·SHA:·235862f6db6ac69a5d3683311497f753e6725144c18cec7ad7d44c00306ed8d6·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
6721 ····</span><span·class="nf">foo</span><span·class="p"·data-group-id="8958495673-3">(</span><span·class="n">Xs</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">bar</span><span·class="p"·data-group-id="8958495673-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="8958495673-4">)</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·900d1e3f226ba1bdd17d6d9dec1dce02d2e27e6f781446c16ca01e9eb3908236·...·]-3">)</span><span·class="p">;</span><span·class="w">·····</span><span·class="c1">%·Post-comment·of·&#39;bar(X)&#39;·node</span><span·class="w">6721 ····</span><span·class="nf">foo</span><span·class="p"·data-group-id="3187960820-3">(</span><span·class="n">Xs</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">bar</span><span·class="p"·data-group-id="3187960820-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="3187960820-4">)</span><spa[·...·truncated·by·diffoscope;·len:·37,·SHA:·30411c4479529d868b45c786f46d268efdce359c950300d2fdef082ede9aa515·...·]-3">)</span><span·class="p">;</span><span·class="w">·····</span><span·class="c1">%·Post-comment·of·&#39;bar(X)&#39;·node</span><span·class="w">
6722 ·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>(where·the·comment·is·moved·past·the·rightmost·&quot;<code·class="inline">)</code>&quot;·and·the·&quot;<code·class="inline">;</code>&quot;).</p><p><em>See·also:·</em><a·href="#comment/2"><code·class="inline">comment/2</code></a>,·<a·href="#get_attrs/1"><code·class="inline">get_attrs/1</code></a>,·<a·href="#get_precomments/1"><code·class="inline">get_precomments/1</code></a>,6722 ·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>(where·the·comment·is·moved·past·the·rightmost·&quot;<code·class="inline">)</code>&quot;·and·the·&quot;<code·class="inline">;</code>&quot;).</p><p><em>See·also:·</em><a·href="#comment/2"><code·class="inline">comment/2</code></a>,·<a·href="#get_attrs/1"><code·class="inline">get_attrs/1</code></a>,·<a·href="#get_precomments/1"><code·class="inline">get_precomments/1</code></a>,
6723 <a·href="#set_postcomments/2"><code·class="inline">set_postcomments/2</code></a>.</p>6723 <a·href="#set_postcomments/2"><code·class="inline">set_postcomments/2</code></a>.</p>
6724 ··</section>6724 ··</section>
6725 </section>6725 </section>
6726 <section·class="detail"·id="get_precomments/1">6726 <section·class="detail"·id="get_precomments/1">
  
6727 ··<div·class="detail-header">6727 ··<div·class="detail-header">
Offset 6748, 18 lines modifiedOffset 6748, 18 lines modified
6748 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_precomments(<a·href="#t:syntaxTree/0">syntaxTree</a>())·->·[<a·href="#t:syntaxTree/0">syntaxTree</a>()].</pre>6748 ··········<pre·translate="no"><span·class="attribute">-spec</span>·get_precomments(<a·href="#t:syntaxTree/0">syntaxTree</a>())·->·[<a·href="#t:syntaxTree/0">syntaxTree</a>()].</pre>
  
6749 ······</div>6749 ······</div>
  
6750 <p>Returns·the·associated·pre-comments·of·a·node.</p><p>This·is·a·possibly·empty·list·of·abstract·comments,·in·top-down6750 <p>Returns·the·associated·pre-comments·of·a·node.</p><p>This·is·a·possibly·empty·list·of·abstract·comments,·in·top-down
6751 textual·order.·When·the·code·is·formatted,·pre-comments·are·typically6751 textual·order.·When·the·code·is·formatted,·pre-comments·are·typically
6752 displayed·directly·above·the·node.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·Pre-comment·of·function</span><span·class="w">6752 displayed·directly·above·the·node.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·Pre-comment·of·function</span><span·class="w">
6753 </span><span·class="nf">foo</span><span·class="p"·data-group-id="8630014004-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="8630014004-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8630014004-2">{</span><span·class="ss">bar</span><s[·...·truncated·by·diffoscope;·len:·111,·SHA:·3f6fe1ef8bcb66df64d08fae1c1983d8f876b0bb7b162471f1f92f1925e15573·...·]-2">}</span><span·class="p">.</span></code></pre><p>If·possible,·the·comment·should·be·moved·before·any·preceding·separator6753 </span><span·class="nf">foo</span><span·class="p"·data-group-id="8492469012-1">(</span><span·class="n">X</span><span·class="p"·data-group-id="8492469012-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="8492469012-2">{</span><span·class="ss">bar</span><s[·...·truncated·by·diffoscope;·len:·111,·SHA:·330a092664e230b4947984c5ba518ff92fe24e691a06ab4d81e1863b3bc4f8d4·...·]-2">}</span><span·class="p">.</span></code></pre><p>If·possible,·the·comment·should·be·moved·before·any·preceding·separator
6754 characters·on·the·same·line.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="9269237737-1">(</span><span·class="p"·data-group-id="9269237737-2">[</span><span·class="n">X</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Xs</span><span·class="p"·data-group-id="9269237737-2">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·e371f23f82df68271050579845ba1861eec1f181c683ec38ae01911eb57ac6e5·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">6754 characters·on·the·same·line.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">foo</span><span·class="p"·data-group-id="0706891944-1">(</span><span·class="p"·data-group-id="0706891944-2">[</span><span·class="n">X</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Xs</span><span·class="p"·data-group-id="0706891944-2">]</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·d2b0ef03aa9fa3fe31f0acb0008acb23c081aaf07273104c30f02d937072c96a·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
6755 ····</span><span·class="c1">%·Pre-comment·of·&#39;bar(X)&#39;·node</span><span·class="w">6755 ····</span><span·class="c1">%·Pre-comment·of·&#39;bar(X)&#39;·node</span><span·class="w">
6756 ····</span><span·class="p"·data-group-id="9269237737-3">[</span><span·class="nf">bar</span><span·class="p"·data-group-id="9269237737-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="9269237737-4">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·194,·SHA:·e12eb670f9c7d496ea05dcdc71c425b32d2a7a6e4c1ef5fd2fb47e80178afc71·...·]-3">]</span><span·class="p">;</span><span·class="w">6756 ····</span><span·class="p"·data-group-id="0706891944-3">[</span><span·class="nf">bar</span><span·class="p"·data-group-id="0706891944-4">(</span><span·class="n">X</span><span·class="p"·data-group-id="0706891944-4">)</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·194,·SHA:·f9c2c88634e5c6e725981f787589c0422e6a54040b7a2b483fede688068a010f·...·]-3">]</span><span·class="p">;</span><span·class="w">
6757 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>(where·the·comment·is·moved·before·the·&quot;<code·class="inline">[</code>&quot;).</p><p><em>See·also:·</em><a·href="#comment/2"><code·class="inline">comment/2</code></a>,·<a·href="#get_attrs/1"><code·class="inline">get_attrs/1</code></a>,·<a·href="#get_postcomments/1"><code·class="inline">get_postcomments/1</code></a>,6757 </span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>(where·the·comment·is·moved·before·the·&quot;<code·class="inline">[</code>&quot;).</p><p><em>See·also:·</em><a·href="#comment/2"><code·class="inline">comment/2</code></a>,·<a·href="#get_attrs/1"><code·class="inline">get_attrs/1</code></a>,·<a·href="#get_postcomments/1"><code·class="inline">get_postcomments/1</code></a>,
6758 <a·href="#set_precomments/2"><code·class="inline">set_precomments/2</code></a>.</p>6758 <a·href="#set_precomments/2"><code·class="inline">set_precomments/2</code></a>.</p>
6759 ··</section>6759 ··</section>
6760 </section>6760 </section>
6761 <section·class="detail"·id="has_comments/1">6761 <section·class="detail"·id="has_comments/1">
  
6762 ··<div·class="detail-header">6762 ··<div·class="detail-header">
Offset 11947, 15 lines modifiedOffset 11947, 15 lines modified
11947 ······<p·class="built-using">11947 ······<p·class="built-using">
11948 ········Built·using11948 ········Built·using
11949 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the11949 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
11950 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>11950 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
11951 ······</p>11951 ······</p>
11952 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>11952 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
11953 ····</footer>11953 ····</footer>
11954 ··</div>11954 ··</div>
11955 </main>11955 </main>
11956 </div>11956 </div>
11957 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>11957 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
11958 ··<script>11958 ··<script>
11959 ··let·initialized·=·false;11959 ··let·initialized·=·false;
711 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/erl_syntax_lib.html
    
Offset 2386, 15 lines modifiedOffset 2386, 15 lines modified
2386 ······<p·class="built-using">2386 ······<p·class="built-using">
2387 ········Built·using2387 ········Built·using
2388 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2388 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2389 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2389 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2390 ······</p>2390 ······</p>
2391 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2391 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2392 ····</footer>2392 ····</footer>
2393 ··</div>2393 ··</div>
2394 </main>2394 </main>
2395 </div>2395 </div>
2396 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2396 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2397 ··<script>2397 ··<script>
2398 ··let·initialized·=·false;2398 ··let·initialized·=·false;
604 B
html2text {}
Max HTML report size reached
43.4 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/merl.html
    
Offset 134, 38 lines modifiedOffset 134, 38 lines modified
134 Merl·itself,·see·the·documentation·of·<a·href="erl_syntax.html"><code·class="inline">erl_syntax</code></a>.</p><h3·id="module-quick-start"·class="section-heading">134 Merl·itself,·see·the·documentation·of·<a·href="erl_syntax.html"><code·class="inline">erl_syntax</code></a>.</p><h3·id="module-quick-start"·class="section-heading">
135 ··<a·href="#module-quick-start"·class="hover-link">135 ··<a·href="#module-quick-start"·class="hover-link">
136 ····<i·class="ri-link-m"·aria-hidden="true"></i>136 ····<i·class="ri-link-m"·aria-hidden="true"></i>
137 ··</a>137 ··</a>
138 ··<span·class="text">Quick·start</span>138 ··<span·class="text">Quick·start</span>
139 </h3>139 </h3>
140 <p>To·enable·the·full·power·of·Merl,·your·module·needs·to·include·the·Merl·header140 <p>To·enable·the·full·power·of·Merl,·your·module·needs·to·include·the·Merl·header
141 file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="5379946690-1">(</span><span·class="s">&quot;syntax_tools/include/merl.hrl&quot;</span><span·class="p"·data-group-id="5379946690-1">)</span><span·class="p">.</span></code></pre><p>Then,·you·can·use·the·<code·class="inline">?Q(Text)</code>·macros·in·your·code·to·create·ASTs·or·match·on141 file:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include_lib</span><span·class="p"·data-group-id="2372972073-1">(</span><span·class="s">&quot;syntax_tools/include/merl.hrl&quot;</span><span·class="p"·data-group-id="2372972073-1">)</span><span·class="p">.</span></code></pre><p>Then,·you·can·use·the·<code·class="inline">?Q(Text)</code>·macros·in·your·code·to·create·ASTs·or·match·on
142 existing·ASTs.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Tuple</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="3089620011-1">(</span><span·class="s">&quot;{foo,·42}&quot;</span><span·class="p"·data-group-id="3089620011-1">)</span><span·class="p">,</span><span·class="w">142 existing·ASTs.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Tuple</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="0345503997-1">(</span><span·class="s">&quot;{foo,·42}&quot;</span><span·class="p"·data-group-id="0345503997-1">)</span><span·class="p">,</span><span·class="w">
143 </span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="3089620011-2">(</span><span·class="s">&quot;{foo,·_@Number}&quot;</span><span·class="p"·data-group-id="3089620011-2">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Tuple</span><span·class="p">,</span><span·class="w">143 </span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="0345503997-2">(</span><span·class="s">&quot;{foo,·_@Number}&quot;</span><span·class="p"·data-group-id="0345503997-2">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Tuple</span><span·class="p">,</span><span·class="w">
144 </span><span·class="n">Call</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="3089620011-3">(</span><span·class="s">&quot;foo:bar(_@Number)&quot;</span><span·class="p"·data-group-id="3089620011-3">)</span></code></pre><p>Calling·<code·class="inline">merl:print(Call)</code>·will·then·print·the·following·code:</p><pre><code·class="mak[·...·truncated·by·diffoscope;·len:·225,·SHA:·fcac4c827559c8deacefe760272a0cf5931364a94789fecf9332d4cb621986ef·...·]-1">)</span></code></pre><p>The·<code·class="inline">?Q</code>·macros·turn·the·quoted·code·fragments·into·ASTs,·and·lifts144 </span><span·class="n">Call</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="0345503997-3">(</span><span·class="s">&quot;foo:bar(_@Number)&quot;</span><span·class="p"·data-group-id="0345503997-3">)</span></code></pre><p>Calling·<code·class="inline">merl:print(Call)</code>·will·then·print·the·following·code:</p><pre><code·class="mak[·...·truncated·by·diffoscope;·len:·225,·SHA:·ff49a183e84b8ec9e2b700229421b653672b8d9874babd1d039fdfa0538ce8fc·...·]-1">)</span></code></pre><p>The·<code·class="inline">?Q</code>·macros·turn·the·quoted·code·fragments·into·ASTs,·and·lifts
145 metavariables·such·as·<code·class="inline">_@Tuple</code>·and·<code·class="inline">_@Number</code>·to·the·level·of·your·Erlang·code,145 metavariables·such·as·<code·class="inline">_@Tuple</code>·and·<code·class="inline">_@Number</code>·to·the·level·of·your·Erlang·code,
146 so·you·can·use·the·corresponding·Erlang·variables·<code·class="inline">Tuple</code>·and·<code·class="inline">Number</code>·directly.146 so·you·can·use·the·corresponding·Erlang·variables·<code·class="inline">Tuple</code>·and·<code·class="inline">Number</code>·directly.
147 This·is·the·most·straightforward·way·to·use·Merl,·and·in·many·cases·it's·all·you147 This·is·the·most·straightforward·way·to·use·Merl,·and·in·many·cases·it's·all·you
148 need.</p><p>You·can·even·write·case·switches·using·<code·class="inline">?Q</code>·macros·as·patterns.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="n">AST</span><span·class="w">·</span><span·class="k">of</span><span·class="w">148 need.</p><p>You·can·even·write·case·switches·using·<code·class="inline">?Q</code>·macros·as·patterns.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="n">AST</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
149 ····</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="5184496222-1">(</span><span·class="s">&quot;{foo,·_@Foo}&quot;</span><span·class="p"·data-group-id="5184496222-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">handle</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·92,·SHA:·21ba964ca670e079dfdea282980d7f1a1b639094d24cbd7ed0a4bf33c8e2d94f·...·]-2">)</span><span·class="p">;</span><span·class="w">149 ····</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="0876442545-1">(</span><span·class="s">&quot;{foo,·_@Foo}&quot;</span><span·class="p"·data-group-id="0876442545-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">handle</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·92,·SHA:·fa7210d57b617ad815e835793a5d673d1a6c9a24b13e2460e64897a48e5ffa2b·...·]-2">)</span><span·class="p">;</span><span·class="w">
150 ····</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="5184496222-3">(</span><span·class="s">&quot;{bar,·_@Bar}&quot;</span><span·class="p"·data-group-id="5184496222-3">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nc">erl_syntax</span><span·class="p">:</span><[·...·truncated·by·diffoscope;·len:·391,·SHA:·c9fe2995b5381eb110bb7ede11c0c999d98614de48ad2948131b4bf7e87acd30·...·]-5">)</span><span·class="p">;</span><span·class="w">150 ····</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="0876442545-3">(</span><span·class="s">&quot;{bar,·_@Bar}&quot;</span><span·class="p"·data-group-id="0876442545-3">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nc">erl_syntax</span><span·class="p">:</span><[·...·truncated·by·diffoscope;·len:·391,·SHA:·3b80522abc36172f15670a82ae14434046a026f88061c8085b72274e73539994·...·]-5">)</span><span·class="p">;</span><span·class="w">
151 ····</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">handle_default</span><span·class="p"·data-group-id="5184496222-6">(</span><span·class="p"·data-group-id="5184496222-6">)</span><span·class="w">151 ····</span><span·class="p">_</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">handle_default</span><span·class="p"·data-group-id="0876442545-6">(</span><span·class="p"·data-group-id="0876442545-6">)</span><span·class="w">
152 </span><span·class="k">end</span></code></pre><p>These·case·switches·only·allow·<code·class="inline">?Q(...)</code>·or·<code·class="inline">_</code>·as·clause·patterns,·and·the152 </span><span·class="k">end</span></code></pre><p>These·case·switches·only·allow·<code·class="inline">?Q(...)</code>·or·<code·class="inline">_</code>·as·clause·patterns,·and·the
153 guards·may·contain·any·expressions,·not·just·Erlang·guard·expressions.</p><p>If·the·macro·<code·class="inline">MERL_NO_TRANSFORM</code>·is·defined·before·the·<code·class="inline">merl.hrl</code>·header·file·is153 guards·may·contain·any·expressions,·not·just·Erlang·guard·expressions.</p><p>If·the·macro·<code·class="inline">MERL_NO_TRANSFORM</code>·is·defined·before·the·<code·class="inline">merl.hrl</code>·header·file·is
154 included,·the·parse·transform·used·by·Merl·will·be·disabled,·and·in·that·case,154 included,·the·parse·transform·used·by·Merl·will·be·disabled,·and·in·that·case,
155 the·match·expressions·<code·class="inline">?Q(...)·=·...</code>,·case·switches·using·<code·class="inline">?Q(...)</code>·patterns,155 the·match·expressions·<code·class="inline">?Q(...)·=·...</code>,·case·switches·using·<code·class="inline">?Q(...)</code>·patterns,
156 and·automatic·metavariables·like·<code·class="inline">_@Tuple</code>·cannot·be·used·in·your·code,·but·the156 and·automatic·metavariables·like·<code·class="inline">_@Tuple</code>·cannot·be·used·in·your·code,·but·the
157 Merl·macros·and·functions·still·work.·To·do·metavariable·substitution,·you·need157 Merl·macros·and·functions·still·work.·To·do·metavariable·substitution,·you·need
158 to·use·the·<code·class="inline">?Q(Text,·Map)</code>·macro.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Tuple</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="2290455868-1">(</span><span·class="s">&quot;{foo,·_@bar,·_@baz}&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2290455868-2">[</span><span·class="p"·data-group-id="2290455868-3">{</span><span·class="ss">bar</span[·...·truncated·by·diffoscope;·len:·452,·SHA:·83f1b1bf050b5a0f492a0fe2e9fba14e09df35c55c3ed3e04edb0136cd1538b2·...·]8-1">)</span></code></pre><p>The·text·given·to·a·<code·class="inline">?Q(Text)</code>·macro·can·be·either·a·single·string·or·a·list·of158 to·use·the·<code·class="inline">?Q(Text,·Map)</code>·macro.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Tuple</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="0874391598-1">(</span><span·class="s">&quot;{foo,·_@bar,·_@baz}&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0874391598-2">[</span><span·class="p"·data-group-id="0874391598-3">{</span><span·class="ss">bar</span[·...·truncated·by·diffoscope;·len:·452,·SHA:·b81357356fe852888cea89ce05f557d68adf7bd7b78416dd0c031e331e2b53db·...·]8-1">)</span></code></pre><p>The·text·given·to·a·<code·class="inline">?Q(Text)</code>·macro·can·be·either·a·single·string·or·a·list·of
159 strings.·The·latter·is·useful·when·you·need·to·split·a·long·expression·over159 strings.·The·latter·is·useful·when·you·need·to·split·a·long·expression·over
160 multiple·lines.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="4239715924-1">(</span><span·class="p"·data-group-id="4239715924-2">[</span><span·class="s">&quot;case·_@Expr·of&quot;</span><span·class="p">,</span><span·class="w">160 multiple·lines.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="9451729168-1">(</span><span·class="p"·data-group-id="9451729168-2">[</span><span·class="s">&quot;case·_@Expr·of&quot;</span><span·class="p">,</span><span·class="w">
161 ····</span><span·class="s">&quot;··{foo,·X}·-&gt;·f(X);&quot;</span><span·class="p">,</span><span·class="w">161 ····</span><span·class="s">&quot;··{foo,·X}·-&gt;·f(X);&quot;</span><span·class="p">,</span><span·class="w">
162 ····</span><span·class="s">&quot;··{bar,·X}·-&gt;·g(X)&quot;</span><span·class="p">,</span><span·class="w">162 ····</span><span·class="s">&quot;··{bar,·X}·-&gt;·g(X)&quot;</span><span·class="p">,</span><span·class="w">
163 ····</span><span·class="s">&quot;··_·-&gt;·h(X)&quot;</span><span·class="w">163 ····</span><span·class="s">&quot;··_·-&gt;·h(X)&quot;</span><span·class="w">
164 </span><span·class="s">&quot;end&quot;</span><span·class="p"·data-group-id="4239715924-2">]</span><span·class="p"·data-group-id="4239715924-1">)</span></code></pre><p>If·there·is·a·syntax·error·somewhere·in·the·text·(like·the·missing·semicolon·in164 </span><span·class="s">&quot;end&quot;</span><span·class="p"·data-group-id="9451729168-2">]</span><span·class="p"·data-group-id="9451729168-1">)</span></code></pre><p>If·there·is·a·syntax·error·somewhere·in·the·text·(like·the·missing·semicolon·in
165 the·second·clause·above)·this·allows·Merl·to·generate·an·error·message·pointing165 the·second·clause·above)·this·allows·Merl·to·generate·an·error·message·pointing
166 to·the·exact·line·in·your·source·code.·(Just·remember·to·comma-separate·the166 to·the·exact·line·in·your·source·code.·(Just·remember·to·comma-separate·the
167 strings·in·the·list,·otherwise·Erlang·will·concatenate·the·string·fragments·as167 strings·in·the·list,·otherwise·Erlang·will·concatenate·the·string·fragments·as
168 if·they·were·a·single·string.)</p><h3·id="module-metavariable-syntax"·class="section-heading">168 if·they·were·a·single·string.)</p><h3·id="module-metavariable-syntax"·class="section-heading">
169 ··<a·href="#module-metavariable-syntax"·class="hover-link">169 ··<a·href="#module-metavariable-syntax"·class="hover-link">
170 ····<i·class="ri-link-m"·aria-hidden="true"></i>170 ····<i·class="ri-link-m"·aria-hidden="true"></i>
171 ··</a>171 ··</a>
Offset 180, 73 lines modifiedOffset 180, 73 lines modified
180 note·that·globs·only·matter·for·matching;·when·doing·substitutions,·a·non-glob180 note·that·globs·only·matter·for·matching;·when·doing·substitutions,·a·non-glob
181 variable·can·be·used·to·inject·a·sequence·of·elements,·and·vice·versa.)</p><p>If·the·name·after·the·prefix·and·any·lift·and·glob·markers·is·<code·class="inline">_</code>·or·<code·class="inline">0</code>,·the181 variable·can·be·used·to·inject·a·sequence·of·elements,·and·vice·versa.)</p><p>If·the·name·after·the·prefix·and·any·lift·and·glob·markers·is·<code·class="inline">_</code>·or·<code·class="inline">0</code>,·the
182 variable·is·treated·as·an·anonymous·catch-all·pattern·in·matches.·For·example,182 variable·is·treated·as·an·anonymous·catch-all·pattern·in·matches.·For·example,
183 <code·class="inline">_@_</code>,·<code·class="inline">_@@_</code>,·<code·class="inline">_@__</code>,·or·even·<code·class="inline">_@__@_</code>.</p><p>Finally,·if·the·name·without·any·prefixes·or·lift/glob·markers·begins·with·an183 <code·class="inline">_@_</code>,·<code·class="inline">_@@_</code>,·<code·class="inline">_@__</code>,·or·even·<code·class="inline">_@__@_</code>.</p><p>Finally,·if·the·name·without·any·prefixes·or·lift/glob·markers·begins·with·an
184 uppercase·character,·as·in·<code·class="inline">_@Foo</code>·or·<code·class="inline">_@_@Foo</code>,·it·will·become·a·variable·on184 uppercase·character,·as·in·<code·class="inline">_@Foo</code>·or·<code·class="inline">_@_@Foo</code>,·it·will·become·a·variable·on
185 the·Erlang·level,·and·can·be·used·to·easily·deconstruct·and·construct·syntax185 the·Erlang·level,·and·can·be·used·to·easily·deconstruct·and·construct·syntax
186 trees:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="n">Input</span><span·class="w">·</span><span·class="k">of</span><span·class="w">186 trees:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="n">Input</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
187 ····</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="0190474692-1">(</span><span·class="s">&quot;{foo,·_@Number}&quot;</span><span·class="p"·data-group-id="0190474692-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·c[·...·truncated·by·diffoscope;·len:·139,·SHA:·3fea096a324f21fee660398ac727233181e3d9bce0a8c6e3c001322d63eaf739·...·]-2">)</span><span·class="p">;</span><span·class="w">187 ····</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="2391893679-1">(</span><span·class="s">&quot;{foo,·_@Number}&quot;</span><span·class="p"·data-group-id="2391893679-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·c[·...·truncated·by·diffoscope;·len:·139,·SHA:·acf47656d7c7c659b17331a7817c3aee3b22b437b0bb3ce6b6efca84c706eb50·...·]-2">)</span><span·class="p">;</span><span·class="w">
188 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>We·refer·to·these·as·&quot;automatic·metavariables&quot;.·If·in·addition·the·name·ends188 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>We·refer·to·these·as·&quot;automatic·metavariables&quot;.·If·in·addition·the·name·ends
189 with·<code·class="inline">@</code>,·as·in·<code·class="inline">_@Foo@</code>,·the·value·of·the·variable·as·an·Erlang·term·will·be189 with·<code·class="inline">@</code>,·as·in·<code·class="inline">_@Foo@</code>,·the·value·of·the·variable·as·an·Erlang·term·will·be
190 automatically·converted·to·the·corresponding·abstract·syntax·tree·when·used·to190 automatically·converted·to·the·corresponding·abstract·syntax·tree·when·used·to
191 construct·a·larger·tree.·For·example,·in:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bar</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="7821294803-1">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">42</span><span·class="p"·data-group-id="7821294803-1">}</span><span·class="p">,</span><span·class="w">191 construct·a·larger·tree.·For·example,·in:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Bar</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="4612651075-1">{</span><span·class="ss">bar</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">42</span><span·class="p"·data-group-id="4612651075-1">}</span><span·class="p">,</span><span·class="w">
192 </span><span·class="n">Foo</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="7821294803-2">(</span><span·class="s">&quot;{foo,·_@Bar@}&quot;</span><span·class="p"·data-group-id="7821294803-2">)</span></code></pre><p>(where·Bar·is·just·some·term,·not·a·syntax·tree)·the·result·<code·class="inline">Foo</code>·will·be·a192 </span><span·class="n">Foo</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="4612651075-2">(</span><span·class="s">&quot;{foo,·_@Bar@}&quot;</span><span·class="p"·data-group-id="4612651075-2">)</span></code></pre><p>(where·Bar·is·just·some·term,·not·a·syntax·tree)·the·result·<code·class="inline">Foo</code>·will·be·a
193 syntax·tree·representing·<code·class="inline">{foo,·{bar,·42}}</code>.·This·avoids·the·need·for·temporary193 syntax·tree·representing·<code·class="inline">{foo,·{bar,·42}}</code>.·This·avoids·the·need·for·temporary
194 variables·in·order·to·inject·data,·as·in</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">TmpBar</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erl_syntax</span><span·class="p">:</span><span·class="nf">abstract</span><span·class="p"·data-group-id="2553175079-1">(</span><span·class="n">Bar</span><span·class="p"·data-group-id="2553175079-1">)</span><span·class="p">,</span><span·class="w">194 variables·in·order·to·inject·data,·as·in</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">TmpBar</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erl_syntax</span><span·class="p">:</span><span·class="nf">abstract</span><span·class="p"·data-group-id="1373287306-1">(</span><span·class="n">Bar</span><span·class="p"·data-group-id="1373287306-1">)</span><span·class="p">,</span><span·class="w">
195 </span><span·class="n">Foo</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="2553175079-2">(</span><span·class="s">&quot;{foo,·_@TmpBar}&quot;</span><span·class="p"·data-group-id="2553175079-2">)</span></code></pre><p>If·the·context·requires·an·integer·rather·than·a·variable,·an·atom,·or·a·string,195 </span><span·class="n">Foo</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="1373287306-2">(</span><span·class="s">&quot;{foo,·_@TmpBar}&quot;</span><span·class="p"·data-group-id="1373287306-2">)</span></code></pre><p>If·the·context·requires·an·integer·rather·than·a·variable,·an·atom,·or·a·string,
196 you·cannot·use·the·uppercase·convention·to·mark·an·automatic·metavariable.196 you·cannot·use·the·uppercase·convention·to·mark·an·automatic·metavariable.
197 Instead,·if·the·integer·(without·the·<code·class="inline">909</code>-prefix·and·lift/glob·markers)·ends197 Instead,·if·the·integer·(without·the·<code·class="inline">909</code>-prefix·and·lift/glob·markers)·ends
198 in·a·<code·class="inline">9</code>,·the·integer·will·become·an·Erlang-level·variable·prefixed·with·<code·class="inline">Q</code>,198 in·a·<code·class="inline">9</code>,·the·integer·will·become·an·Erlang-level·variable·prefixed·with·<code·class="inline">Q</code>,
199 and·if·it·ends·with·<code·class="inline">99</code>·it·will·also·be·automatically·abstracted.·For·example,199 and·if·it·ends·with·<code·class="inline">99</code>·it·will·also·be·automatically·abstracted.·For·example,
200 the·following·will·increment·the·arity·of·the·exported·function·f:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="n">Form</span><span·class="w">·</span><span·class="k">of</span><span·class="w">200 the·following·will·increment·the·arity·of·the·exported·function·f:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="k">case</span><span·class="w">·</span><span·class="n">Form</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
201 ····</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="4888068655-1">(</span><span·class="s">&quot;-export([f/90919]).&quot;</span><span·class="p"·data-group-id="4888068655-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">201 ····</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="1640758928-1">(</span><span·class="s">&quot;-export([f/90919]).&quot;</span><span·class="p"·data-group-id="1640758928-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
202 ········</span><span·class="n">Q2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erl_syntax</span><span·class="p">:</span><span·class="nf">concrete</span><span·class="p"·data-group-id="4888068655-2">(</span><span·class="n">Q1</span><span·class="p"·data-group-id="4888068655-2">)</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">202 ········</span><span·class="n">Q2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">erl_syntax</span><span·class="p">:</span><span·class="nf">concrete</span><span·class="p"·data-group-id="1640758928-2">(</span><span·class="n">Q1</span><span·class="p"·data-group-id="1640758928-2">)</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">
203 ········</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="4888068655-3">(</span><span·class="s">&quot;-export([f/909299]).&quot;</span><span·class="p"·data-group-id="4888068655-3">)</span><span·class="p">;</span><span·class="w">203 ········</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="1640758928-3">(</span><span·class="s">&quot;-export([f/909299]).&quot;</span><span·class="p"·data-group-id="1640758928-3">)</span><span·class="p">;</span><span·class="w">
204 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><h3·id="module-when-to-use-the-various-forms-of-metavariables"·class="section-heading">204 ····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><h3·id="module-when-to-use-the-various-forms-of-metavariables"·class="section-heading">
205 ··<a·href="#module-when-to-use-the-various-forms-of-metavariables"·class="hover-link">205 ··<a·href="#module-when-to-use-the-various-forms-of-metavariables"·class="hover-link">
206 ····<i·class="ri-link-m"·aria-hidden="true"></i>206 ····<i·class="ri-link-m"·aria-hidden="true"></i>
207 ··</a>207 ··</a>
208 ··<span·class="text">When·to·use·the·various·forms·of·metavariables</span>208 ··<span·class="text">When·to·use·the·various·forms·of·metavariables</span>
209 </h3>209 </h3>
210 <p>Merl·can·only·parse·a·fragment·of·text·if·it·follows·the·basic·syntactical·rules210 <p>Merl·can·only·parse·a·fragment·of·text·if·it·follows·the·basic·syntactical·rules
211 of·Erlang.·In·most·places,·a·normal·Erlang·variable·can·be·used·as·metavariable,211 of·Erlang.·In·most·places,·a·normal·Erlang·variable·can·be·used·as·metavariable,
212 for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="3955189449-1">(</span><span·class="s">&quot;f(_@Arg)&quot;</span><span·class="p"·data-group-id="3955189449-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Expr</span></code></pre><p>but·if·you·want·to·match·on·something·like·the·name·of·a·function,·you·have·to212 for·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="8519476400-1">(</span><span·class="s">&quot;f(_@Arg)&quot;</span><span·class="p"·data-group-id="8519476400-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Expr</span></code></pre><p>but·if·you·want·to·match·on·something·like·the·name·of·a·function,·you·have·to
213 use·an·atom·as·metavariable:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="1821650200-1">(</span><span·class="s">&quot;&#39;@Name&#39;()·-&gt;·_@@_.&quot;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Function</span></code></pre><p>(note·the·anonymous·glob·variable·<code·class="inline">_@@_</code>·to·ignore·the·function·body).</p><p>In·some·contexts,·only·a·string·or·an·integer·is·allowed.·For·example,·the213 use·an·atom·as·metavariable:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="0623716548-1">(</span><span·class="s">&quot;&#39;@Name&#39;()·-&gt;·_@@_.&quot;</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="n">Function</span></code></pre><p>(note·the·anonymous·glob·variable·<code·class="inline">_@@_</code>·to·ignore·the·function·body).</p><p>In·some·contexts,·only·a·string·or·an·integer·is·allowed.·For·example,·the
214 directive·<code·class="inline">-file(Name,·Line)</code>·requires·that·<code·class="inline">Name</code>·is·a·string·literal·and214 directive·<code·class="inline">-file(Name,·Line)</code>·requires·that·<code·class="inline">Name</code>·is·a·string·literal·and
215 <code·class="inline">Line</code>·an·integer·literal:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="4719549021-1">(</span><span·class="s">&quot;-file(\&quot;&#39;@File\&quot;,·9090).&quot;</span><span·class="p"·data-group-id="4719549021-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class=[·...·truncated·by·diffoscope;·len:·174,·SHA:·1fcb68f1ade2e4e56f882e5df3b1afa6b70c5d1ca26dce48aa1c44fd5e755818·...·]-2">)</span><span·class="p">)</span><span·class="p">.</span></code></pre><p>This·will·extract·the·string·literal·<code·class="inline">&quot;foo.erl&quot;</code>·into·the·variable·<code·class="inline">Foo</code>.·Note215 <code·class="inline">Line</code>·an·integer·literal:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="3894535923-1">(</span><span·class="s">&quot;-file(\&quot;&#39;@File\&quot;,·9090).&quot;</span><span·class="p"·data-group-id="3894535923-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class=[·...·truncated·by·diffoscope;·len:·174,·SHA:·735e5faa7342102746d3dc140e11dca8824d09fe81f7a7d6c90553c2b081e51e·...·]-2">)</span><span·class="p">)</span><span·class="p">.</span></code></pre><p>This·will·extract·the·string·literal·<code·class="inline">&quot;foo.erl&quot;</code>·into·the·variable·<code·class="inline">Foo</code>.·Note
216 the·use·of·the·anonymous·variable·<code·class="inline">9090</code>·to·ignore·the·line·number.·To·match·and216 the·use·of·the·anonymous·variable·<code·class="inline">9090</code>·to·ignore·the·line·number.·To·match·and
217 also·bind·a·metavariable·that·must·be·an·integer·literal,·we·can·use·the217 also·bind·a·metavariable·that·must·be·an·integer·literal,·we·can·use·the
218 convention·of·ending·the·integer·with·a·9,·turning·it·into·a·Q-prefixed·variable218 convention·of·ending·the·integer·with·a·9,·turning·it·into·a·Q-prefixed·variable
219 on·the·Erlang·level·(see·the·previous·section).</p><h4>Globs</h4><p>Whenever·you·want·to·match·out·a·number·of·elements·in·a·sequence·(zero·or·more)219 on·the·Erlang·level·(see·the·previous·section).</p><h4>Globs</h4><p>Whenever·you·want·to·match·out·a·number·of·elements·in·a·sequence·(zero·or·more)
220 rather·than·a·fixed·set·of·elements,·you·need·to·use·a·glob.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="9498561821-1">(</span><span·class="s">&quot;{_@@Elements}&quot;</span><span·class="p"·data-group-id="9498561821-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="[·...·truncated·by·diffoscope;·len:·357,·SHA:·c14772a5f6c7e564f3b736aa3d738c4c4aebe0bdf00bf2235de1eea1b679e189·...·]1-2">)</span></code></pre><p>will·bind·Elements·to·the·list·of·individual·syntax·trees·representing·the·atoms220 rather·than·a·fixed·set·of·elements,·you·need·to·use·a·glob.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="7194831351-1">(</span><span·class="s">&quot;{_@@Elements}&quot;</span><span·class="p"·data-group-id="7194831351-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="[·...·truncated·by·diffoscope;·len:·357,·SHA:·6c51de26ac312d4639a1125b7b731e912b01c7a72c56463c0d690ce9a9a910d8·...·]1-2">)</span></code></pre><p>will·bind·Elements·to·the·list·of·individual·syntax·trees·representing·the·atoms
221 <code·class="inline">a</code>,·<code·class="inline">b</code>,·and·<code·class="inline">c</code>.·This·can·also·be·used·with·static·prefix·and·suffix·elements221 <code·class="inline">a</code>,·<code·class="inline">b</code>,·and·<code·class="inline">c</code>.·This·can·also·be·used·with·static·prefix·and·suffix·elements
222 in·the·sequence.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="7122130537-1">(</span><span·class="s">&quot;{a,·b,·_@@Elements}&quot;</span><span·class="p"·data-group-id="7122130537-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="7122130537-2">(</span><span·class="p"·data-group-id="7122130537-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">d</span><span·class="p"·data-group-id="7122130537-3">}</span><span·class="p"·data-group-id="7122130537-2">)</span></code></pre><p>will·bind·Elements·to·the·list·of·the·<code·class="inline">c</code>·and·<code·class="inline">d</code>·subtrees,·and</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="3296064079-1">(</span><span·class="s">&quot;{_@@Elements,·c,·d}&quot;</span><span·class="p"·data-group-id="3296064079-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="3296064079-2">(</span><span·class="p"·data-group-id="3296064079-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">c</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">d</span><span·class="p"·data-group-id="3296064079-3">}</span><span·class="p"·data-group-id="3296064079-2">)</span></code></pre><p>will·bind·Elements·to·the·list·of·the·<code·class="inline">a</code>·and·<code·class="inline">b</code>·subtrees.·You·can·even·use 
223 plain·metavariables·in·the·prefix·or·suffix:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="1304194619-1">(</span><span·class="s">&quot;{_@First,·_@@Rest}&quot;</span><span·[·...·truncated·by·diffoscope;·len:·1421,·SHA:·0212efdccda275c73cdf50e324c0a7f4637a8c3bf9ddad6430ef7dbda3bfa777·...·]222 in·the·sequence.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="7299174799-1">(</span><span·class="s">&quot;{a,·b,·_@@Elements}&quot;</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·1720,·SHA:·51e61bbc31fff4c9021eec0c18caa387e34bc5c5acf3aad57ae64096723a2f55·...·]
 223 plain·metavariables·in·the·prefix·or·suffix:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="8020011620-1">(</span><span·class="s">&quot;{_@First,·_@@Rest}&quot;</span><span·class="p"·data-group-id="8020011620-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="8020011620-2">(</span><span·class="p"·data-group-id="8020011620-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">c</span><span·class="p"·data-group-id="8020011620-3">}</span><span·class="p"·data-group-id="8020011620-2">)</span></code></pre><p>or</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="2169079492-1">(</span><span·class="s">&quot;{_@@_,·_@Last}&quot;</span><span·class="p"·data-group-id="2169079492-1">)</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="2169079492-2">(</span><span·class="p"·data-group-id="2169079492-3">{</span><span·class="ss">a</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">b</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">c</span><span·class="p"·data-group-id="2169079492-3">}</span><span·class="p"·data-group-id="2169079492-2">)</span></code></pre><p>(ignoring·all·but·the·last·element).·However,·you·cannot·have·two·globs·as·part
224 of·the·same·sequence.</p><h4>Lifted·metavariables</h4><p>In·some·cases,·the·Erlang·syntax·rules·make·it·impossible·to·place·a224 of·the·same·sequence.</p><h4>Lifted·metavariables</h4><p>In·some·cases,·the·Erlang·syntax·rules·make·it·impossible·to·place·a
225 metavariable·directly·where·you·would·like·it.·For·example,·you·cannot·write:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="0354189926-1">(</span><span·class="s">&quot;-export([_@@Name]).&quot;</span><span·class="p"·data-group-id="0354189926-1">)</span></code></pre><p>to·match·out·all·name/arity·pairs·in·the·export·list,·or·to·insert·a·list·of225 metavariable·directly·where·you·would·like·it.·For·example,·you·cannot·write:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="5772150675-1">(</span><span·class="s">&quot;-export([_@@Name]).&quot;</span><span·class="p"·data-group-id="5772150675-1">)</span></code></pre><p>to·match·out·all·name/arity·pairs·in·the·export·list,·or·to·insert·a·list·of
226 exports·in·a·declaration,·because·the·Erlang·parser·only·allows·elements·on·the226 exports·in·a·declaration,·because·the·Erlang·parser·only·allows·elements·on·the
227 form·<code·class="inline">A/I</code>·(where·<code·class="inline">A</code>·is·an·atom·and·<code·class="inline">I</code>·an·integer)·in·the·export·list.·A227 form·<code·class="inline">A/I</code>·(where·<code·class="inline">A</code>·is·an·atom·and·<code·class="inline">I</code>·an·integer)·in·the·export·list.·A
228 variable·like·the·above·is·not·allowed,·but·neither·is·a·single·atom·or·integer,228 variable·like·the·above·is·not·allowed,·but·neither·is·a·single·atom·or·integer,
229 so·<code·class="inline">'@@Name'</code>·or·<code·class="inline">909919</code>·would·not·work·either.</p><p>What·you·have·to·do·in·such·cases·is·to·write·your·metavariable·in·a229 so·<code·class="inline">'@@Name'</code>·or·<code·class="inline">909919</code>·would·not·work·either.</p><p>What·you·have·to·do·in·such·cases·is·to·write·your·metavariable·in·a
230 syntactically·valid·position,·and·use·lifting·markers·to·denote·where·it·should230 syntactically·valid·position,·and·use·lifting·markers·to·denote·where·it·should
231 really·apply,·as·in:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="2690213778-1">(</span><span·class="s">&quot;-export([&#39;@_@Name&#39;/0]).&quot;</span><span·class="p"·data-group-id="2690213778-1">)</span></code></pre><p>This·causes·the·variable·to·be·lifted·(after·parsing)·to·the·next·higher·level231 really·apply,·as·in:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="8300852217-1">(</span><span·class="s">&quot;-export([&#39;@_@Name&#39;/0]).&quot;</span><span·class="p"·data-group-id="8300852217-1">)</span></code></pre><p>This·causes·the·variable·to·be·lifted·(after·parsing)·to·the·next·higher·level
232 in·the·syntax·tree,·replacing·that·entire·subtree.·In·this·case,·the232 in·the·syntax·tree,·replacing·that·entire·subtree.·In·this·case,·the
233 <code·class="inline">'@_@Name'/0</code>·will·be·replaced·with·<code·class="inline">'@@Name'</code>,·and·the·<code·class="inline">/0</code>·part·was·just·used233 <code·class="inline">'@_@Name'/0</code>·will·be·replaced·with·<code·class="inline">'@@Name'</code>,·and·the·<code·class="inline">/0</code>·part·was·just·used
234 as·dummy·notation·and·will·be·discarded.</p><p>You·may·even·need·to·apply·lifting·more·than·once.·To·match·the·entire·export234 as·dummy·notation·and·will·be·discarded.</p><p>You·may·even·need·to·apply·lifting·more·than·once.·To·match·the·entire·export
235 list·as·a·single·syntax·tree,·you·can·write:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="8438950316-1">(</span><span·class="s">&quot;-export([&#39;@__Name&#39;/0]).&quot;</span><span·class="p"·data-group-id="8438950316-1">)</span></code></pre><p>using·two·underscores,·but·with·no·glob·marker·this·time.·This·will·make·the235 list·as·a·single·syntax·tree,·you·can·write:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">?</span><span·class="n">Q</span><span·class="p"·data-group-id="4600189219-1">(</span><span·class="s">&quot;-export([&#39;@__Name&#39;/0]).&quot;</span><span·class="p"·data-group-id="4600189219-1">)</span></code></pre><p>using·two·underscores,·but·with·no·glob·marker·this·time.·This·will·make·the
236 entire·<code·class="inline">['@__Name'/0]</code>·part·be·replaced·with·<code·class="inline">'@Name'</code>.</p><p>Sometimes,·the·tree·structure·of·a·code·fragment·is·not·very·obvious,·and·parts236 entire·<code·class="inline">['@__Name'/0]</code>·part·be·replaced·with·<code·class="inline">'@Name'</code>.</p><p>Sometimes,·the·tree·structure·of·a·code·fragment·is·not·very·obvious,·and·parts
237 of·the·structure·may·be·invisible·when·printed·as·source·code.·For·instance,·a237 of·the·structure·may·be·invisible·when·printed·as·source·code.·For·instance,·a
238 simple·function·definition·like·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">zero</span><span·class="p"·data-group-id="9167501644-1">(</span><span·class="p"·data-group-id="9167501644-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">.</span></code></pre><p>consists·of·the·name·(the·atom·<code·class="inline">zero</code>),·and·a·list·of·clauses·containing·the238 simple·function·definition·like·the·following:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">zero</span><span·class="p"·data-group-id="9773477042-1">(</span><span·class="p"·data-group-id="9773477042-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">.</span></code></pre><p>consists·of·the·name·(the·atom·<code·class="inline">zero</code>),·and·a·list·of·clauses·containing·the
239 single·clause·<code·class="inline">()·-&gt;·0</code>.·The·clause·consists·of·an·argument·list·(empty),·a239 single·clause·<code·class="inline">()·-&gt;·0</code>.·The·clause·consists·of·an·argument·list·(empty),·a
240 guard·(empty),·and·a·body·(which·is·always·a·list·of·expressions)·containing·the240 guard·(empty),·and·a·body·(which·is·always·a·list·of·expressions)·containing·the
241 single·expression·<code·class="inline">0</code>.·This·means·that·to·match·out·the·name·and·the·list·of241 single·expression·<code·class="inline">0</code>.·This·means·that·to·match·out·the·name·and·the·list·of
242 clauses·of·any·function,·you'll·need·to·use·a·pattern·like242 clauses·of·any·function,·you'll·need·to·use·a·pattern·like
243 <code·class="inline">?Q(&quot;'@Name'()·-&gt;·_@_@Body.&quot;)</code>,·using·a·dummy·clause·whose·body·is·a·glob·lifted243 <code·class="inline">?Q(&quot;'@Name'()·-&gt;·_@_@Body.&quot;)</code>,·using·a·dummy·clause·whose·body·is·a·glob·lifted
244 one·level.</p><p>To·visualize·the·structure·of·a·syntax·tree,·you·can·use·the·function244 one·level.</p><p>To·visualize·the·structure·of·a·syntax·tree,·you·can·use·the·function
245 <code·class="inline">merl:show(T)</code>,·which·prints·a·summary.·For·example,·entering</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">merl</span><span·class="p">:</span><span·class="nf">show</span><span·class="p"·data-group-id="3223918090-1">(</span><span·class="nc">merl</span><span·class="p">:</span><span·class="nf">quote</span><span·class="p"·data-group-id="3223918090-2">(</span><span·class="s">&quot;inc(X,·Y)·when·Y·&gt;·0·-&gt;·X·+·Y.&quot;</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·64,·SHA:·4649e1966ad494909637c3062202fee8c534f7459bc1f3d91f0a3864e8f518f6·...·]-1">)</span></code></pre><p>in·the·Erlang·shell·will·print·the·following·(where·the·<code·class="inline">+</code>·signs·separate245 <code·class="inline">merl:show(T)</code>,·which·prints·a·summary.·For·example,·entering</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">merl</span><span·class="p">:</span><span·class="nf">show</span><span·class="p"·data-group-id="3663637091-1">(</span><span·class="nc">merl</span><span·class="p">:</span><span·class="nf">quote</span><span·class="p"·data-group-id="3663637091-2">(</span><span·class="s">&quot;inc(X,·Y)·when·Y·&gt;·0·-&gt;·X·+·Y.&quot;</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·64,·SHA:·564da57ff58eeaaabb348e129e3c82a4a92b5a210bc0759f70ca8dd53c929d7e·...·]-1">)</span></code></pre><p>in·the·Erlang·shell·will·print·the·following·(where·the·<code·class="inline">+</code>·signs·separate
246 groups·of·subtrees·on·the·same·level):</p><pre><code·class="text">function:·inc(X,·Y)·when·...·-&gt;·X·+·Y.246 groups·of·subtrees·on·the·same·level):</p><pre><code·class="text">function:·inc(X,·Y)·when·...·-&gt;·X·+·Y.
247 ··atom:·inc247 ··atom:·inc
248 ··+248 ··+
249 ··clause:·(X,·Y)·when·...·-&gt;·X·+·Y249 ··clause:·(X,·Y)·when·...·-&gt;·X·+·Y
250 ····variable:·X250 ····variable:·X
251 ····variable:·Y251 ····variable:·Y
252 ····+252 ····+
Offset 1698, 15 lines modifiedOffset 1698, 15 lines modified
1698 ······<p·class="built-using">1698 ······<p·class="built-using">
1699 ········Built·using1699 ········Built·using
1700 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1700 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1701 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1701 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1702 ······</p>1702 ······</p>
1703 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1703 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1704 ····</footer>1704 ····</footer>
1705 ··</div>1705 ··</div>
1706 </main>1706 </main>
1707 </div>1707 </div>
1708 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1708 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
Max diff block lines reached; 28/43785 bytes (0.06%) of diff not shown.
565 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/merl_transform.html
    
Offset 152, 15 lines modifiedOffset 152, 15 lines modified
152 ······<p·class="built-using">152 ······<p·class="built-using">
153 ········Built·using153 ········Built·using
154 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the154 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
155 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>155 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
156 ······</p>156 ······</p>
157 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>157 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
158 ····</footer>158 ····</footer>
159 ··</div>159 ··</div>
160 </main>160 </main>
161 </div>161 </div>
162 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>162 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
163 ··<script>163 ··<script>
164 ··let·initialized·=·false;164 ··let·initialized·=·false;
662 B
html2text {}
Max HTML report size reached
13.5 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/notes.html
    
Offset 139, 21 lines modifiedOffset 139, 21 lines modified
139 </h3>139 </h3>
140 <ul><li><p>A·few·minor·issues·were·corrected·in·<code·class="inline">m:syntax_tools</code>,·as·well·in·the·<a·href="../../../../lib/stdlib-7.0/doc/html/erl_anno.html"><code·class="inline">erl_anno</code></a>·module.</p><p>Own·Id:·OTP-19422·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9253"·title="">PR-9253</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">140 <ul><li><p>A·few·minor·issues·were·corrected·in·<code·class="inline">m:syntax_tools</code>,·as·well·in·the·<a·href="../../../../lib/stdlib-7.0/doc/html/erl_anno.html"><code·class="inline">erl_anno</code></a>·module.</p><p>Own·Id:·OTP-19422·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9253"·title="">PR-9253</a></p></li></ul><h3·id="improvements-and-new-features"·class="section-heading">
141 ··<a·href="#improvements-and-new-features"·class="hover-link">141 ··<a·href="#improvements-and-new-features"·class="hover-link">
142 ····<i·class="ri-link-m"·aria-hidden="true"></i>142 ····<i·class="ri-link-m"·aria-hidden="true"></i>
143 ··</a>143 ··</a>
144 ··<span·class="text">Improvements·and·New·Features</span>144 ··<span·class="text">Improvements·and·New·Features</span>
145 </h3>145 </h3>
146 <ul><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="1916016166-1">[</span><span·class="n">A</span><span·class="o">+</span><span·class="n">B</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="n">A</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="1916016166-2">[</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="1916016166-2">]</span><span·class="w">·</span><span·class="p">&amp;&amp;</span><span·class="w">·</span><span·class="n">B</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="1916016166-3">[</span><span·class="mi">4</span><span·class="p">,</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1916016166-3">]</span><span·class="p"·data-group-id="1916016166-1">]</span><span·class="p">.</span><span·class="w"> 
147 </span><span·class="p"·data-group-id="1916016166-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="1916016166-4">]</span></code></pre><p>Own·I[·...·truncated·by·diffoscope;·len:·254,·SHA:·aea8f84eb547c5302d7ead60733acbc5a524ebf2be7cf3ca1d1712a6880aedc8·...·]146 <ul><li><p>Comprehensions·have·been·extended·with·zip·generators··according·to·<a·href="https://www.erlang.org/eeps/eep-0073">EEP·73</a>.·</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·cla[·...·truncated·by·diffoscope;·len:·1021,·SHA:·8f37a4406328b27509dc85a45c8db22162ffc4a239107dd8adb29bcec85fcb62·...·]
 147 </span><span·class="p"·data-group-id="8148929776-4">[</span><span·class="mi">5</span><span·class="p">,</span><span·class="mi">7</span><span·class="p">,</span><span·class="mi">9</span><span·class="p"·data-group-id="8148929776-4">]</span></code></pre><p>Own·Id:·OTP-19184·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8926"·title="">PR-8926</a></p></li><li><p>New·strict·generators·have·been·added·for·comprehensions.</p><p>The·currently·existing·generators·are·&quot;relaxed&quot;:·they·ignore·terms·in·the
148 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching148 right-hand·side·expression·that·do·not·match·the·left-hand·side·pattern.</p><p>The·new·strict·generators·fail·with·exception·<code·class="inline">badmatch</code>·if·a·pattern·doesn't·match.</p><p>Examples:</p><p>Using·the·current·relaxed·generator·operator·<code·class="inline">&lt;-</code>,·any·element·not·matching
149 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="9341594705-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="9341594705-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="9341594705-2">}</span><span·class="o">=</span><span·class="n">T</span><span·class="w">·</span><span·class="o">&lt;-</span><span·class="w">·</span><span·class="p"·data-group-id="9341594705-3">[</span><span·class="p"·data-group-id="9341594705-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="9341594705-4">}</span><span·class="p">,</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="9341594705-5">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="9341594705-5">}</span><span·class="p"·data-group-id="9341594705-3">]</span><span·class="p"·data-group-id="9341594705-1">]</span><span·class="p">.</span><span·class="w"> 
150 </span><span·class="p"·data-group-id="9341594705-6">[</span><span·class="p"·data-group-id="9341594705-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="9341594705-7">}</span><span·class="p"[·...·truncated·by·diffoscope;·len:·340,·SHA:·2ab0c967a1533d4bbf2eb8816372363a7974d230d76707c7ed96e8710a190342·...·]149 the·pattern·<code·class="inline">{_,_}</code>·will·be·silently·discarded:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="p"·data-group-id="9968469068-1">[</span><span·class="n">T</span><span·class[·...·truncated·by·diffoscope;·len:·1002,·SHA:·5bca7776850c7e211b4b89781e9a090f7878d1b42a1916ee9a22273dbde9eee8·...·]
 150 </span><span·class="p"·data-group-id="9968469068-6">[</span><span·class="p"·data-group-id="9968469068-7">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="9968469068-7">}</span><span·class="p">,</span><span·class="p"·data-group-id="9968469068-8">{</span><span·class="ss">error</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="9968469068-8">}</span><span·class="p"·data-group-id="9968469068-6">]</span></code></pre><p>If·the·intention·is·that·all·lists·processed·by·a·list·comprehension·must·only
151 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures151 contain·tuples·of·size·two,·using·the·new·strict·version·of·the·operator·ensures
152 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="1531784887-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="1531784887-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·25170358d55353ec87b2261e3c55802625f4c27e0ef73228e5532c52699c885d·...·]-1">]</span><span·class="p">.</span><span·class="w">152 that·term·not·matching·will·cause·a·crash:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="p"·data-group-id="9365497943-1">[</span><span·class="n">T</span><span·class="w">·</span><span·class="p">||</span><span·class="w">·</span><span·class="p"·data-group-id="9365497943-2">{</span><span·class="p">_</span><span·class="p">,</span><span·class="p">_</span><span·class=[·...·truncated·by·diffoscope;·len:·752,·SHA:·b89e4c7fb845169d40cfd521586e8026d2803db3ce48d4206b72cf381a7faff5·...·]-1">]</span><span·class="p">.</span><span·class="w">
153 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="syntax_tools-3-2-2"·class="section-heading">153 </span><span·class="gt">**·exception·error:·no·match·of·right·hand·side·value·ok</span></code></pre><p>Using·the·strict·generator·operator·to·mark·the·intention·that·all·list·elements·must·match·the·pattern·could·help·finding·mistakes·quicker·if·something·unpexected·is·added·to·the·list·processed·by·the·generator.</p><p>The·strict·version·for·bitstring·generators·is·<code·class="inline">&lt;:=</code>.</p><p>Own·Id:·OTP-19317·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8625"·title="">PR-8625</a></p></li><li><p>Fixed·licenses·in·files·and·added·ORT·curations·to·the·following·apps:·otp,·eldap,·erl_interface,·eunit,·parsetools,·stdlib,·syntax_tools,·and·ERTS.</p><p>Own·Id:·OTP-19478·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9376"·title="">PR-9376</a>,·<a·href="https://github.com/erlang/otp/pull/9402"·title="">PR-9402</a>,·<a·href="https://github.com/erlang/otp/pull/9819"·title="">PR-9819</a></p></li><li><p>The·license·and·copyright·header·has·changed·format·to·include·an·<code·class="inline">SPDX-License-Identifier</code>.·At·the·same·time,·most·files·have·been·updated·to·follow·a·uniform·standard·for·license·headers.</p><p>Own·Id:·OTP-19575·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/9670"·title="">PR-9670</a></p></li></ul><h2·id="syntax_tools-3-2-2"·class="section-heading">
154 ··<a·href="#syntax_tools-3-2-2"·class="hover-link">154 ··<a·href="#syntax_tools-3-2-2"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">Syntax_Tools·3.2.2</span>157 ··<span·class="text">Syntax_Tools·3.2.2</span>
158 </h2>158 </h2>
159 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">159 <h3·id="fixed-bugs-and-malfunctions-1"·class="section-heading">
Offset 943, 15 lines modifiedOffset 943, 15 lines modified
943 ······<p·class="built-using">943 ······<p·class="built-using">
944 ········Built·using944 ········Built·using
945 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the945 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
946 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>946 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
947 ······</p>947 ······</p>
948 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>948 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
949 ····</footer>949 ····</footer>
950 ··</div>950 ··</div>
951 </main>951 </main>
952 </div>952 </div>
953 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>953 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
954 ··<script>954 ··<script>
955 ··let·initialized·=·false;955 ··let·initialized·=·false;
649 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/prettypr.html
    
Offset 1122, 15 lines modifiedOffset 1122, 15 lines modified
1122 ······<p·class="built-using">1122 ······<p·class="built-using">
1123 ········Built·using1123 ········Built·using
1124 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1124 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1125 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1125 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1126 ······</p>1126 ······</p>
1127 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1127 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1128 ····</footer>1128 ····</footer>
1129 ··</div>1129 ··</div>
1130 </main>1130 </main>
1131 </div>1131 </div>
1132 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1132 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1133 ··<script>1133 ··<script>
1134 ··let·initialized·=·false;1134 ··let·initialized·=·false;
676 B
html2text {}
Max HTML report size reached
1.22 KB
./usr/share/doc/erlang-doc/html/lib/syntax_tools-4.0/doc/html/search.html
    
Offset 137, 15 lines modifiedOffset 137, 15 lines modified
137 ······<p·class="built-using">137 ······<p·class="built-using">
138 ········Built·using138 ········Built·using
139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
141 ······</p>141 ······</p>
142 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>142 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
143 ····</footer>143 ····</footer>
144 ··</div>144 ··</div>
145 </main>145 </main>
146 </div>146 </div>
147 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>147 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
148 ··<script>148 ··<script>
149 ··let·initialized·=·false;149 ··let·initialized·=·false;
403 B
html2text {}
Max HTML report size reached
626 B
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/.build
    
Offset 14, 15 lines modifiedOffset 14, 15 lines modified
14 dist/lato-latin-300-normal-YUMVEFOL.woff214 dist/lato-latin-300-normal-YUMVEFOL.woff2
15 dist/lato-latin-400-normal-W7754I4D.woff215 dist/lato-latin-400-normal-W7754I4D.woff2
16 dist/lato-latin-700-normal-2XVSBPG4.woff216 dist/lato-latin-700-normal-2XVSBPG4.woff2
17 dist/lato-latin-ext-300-normal-VPGGJKJL.woff217 dist/lato-latin-ext-300-normal-VPGGJKJL.woff2
18 dist/lato-latin-ext-400-normal-N27NCBWW.woff218 dist/lato-latin-ext-400-normal-N27NCBWW.woff2
19 dist/lato-latin-ext-700-normal-Q2L5DVMW.woff219 dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
20 dist/remixicon-NKANDIL5.woff220 dist/remixicon-NKANDIL5.woff2
21 dist/search_data-4B8A9CF1.js21 dist/search_data-236D9DDF.js
22 dist/sidebar_items-EEB857AE.js22 dist/sidebar_items-EEB857AE.js
23 getting_started.html23 getting_started.html
24 index.html24 index.html
25 introduction.html25 introduction.html
26 notes.html26 notes.html
27 search.html27 search.html
28 tftp.html28 tftp.html
1.46 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.36 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/api-reference.html
    
Offset 190, 15 lines modifiedOffset 190, 15 lines modified
190 ······<p·class="built-using">190 ······<p·class="built-using">
191 ········Built·using191 ········Built·using
192 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the192 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
193 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>193 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
194 ······</p>194 ······</p>
195 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>195 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
196 ····</footer>196 ····</footer>
197 ··</div>197 ··</div>
198 </main>198 </main>
199 </div>199 </div>
200 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>200 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
201 ··<script>201 ··<script>
202 ··let·initialized·=·false;202 ··let·initialized·=·false;
541 B
html2text {}
Max HTML report size reached
7.53 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/getting_started.html
    
Offset 124, 17 lines modifiedOffset 124, 17 lines modified
  
124 ····<span>Examples</span>124 ····<span>Examples</span>
125 ··</h1>125 ··</h1>
  
126 <p>The·<a·href="tftp.html#start/1">start/1</a>·function·starts·a·daemon·process·listening·for·UDP126 <p>The·<a·href="tftp.html#start/1">start/1</a>·function·starts·a·daemon·process·listening·for·UDP
127 packets·on·a·port.·When·it·receives·a·request·for·read·or·write,·it·spawns·a127 packets·on·a·port.·When·it·receives·a·request·for·read·or·write,·it·spawns·a
128 temporary·server·process·handling·the·transfer.</p><p>This·is·a·simple·example·of·starting·the·TFTP·server·and·reading·the·content·of128 temporary·server·process·handling·the·transfer.</p><p>This·is·a·simple·example·of·starting·the·TFTP·server·and·reading·the·content·of
129 a·sample·file·using·the·TFTP·client.</p><p><em>Step·1.</em>·Create·a·sample·file·to·be·used·for·the·transfer:</p><pre><code·class="text">······$·echo·&quot;Erlang/OTP·21&quot;·&gt;·file.txt</code></pre><p><em>Step·2.</em>·Start·the·TFTP·server:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="3165511247-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="3165511247-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·482,·SHA:·e873581266e864f381c60e5905d66308bd9d36039a1b0b68a26b41e8bdf55ca7·...·]7-2">)</span><span·class="p">.</span><span·class="w">129 a·sample·file·using·the·TFTP·client.</p><p><em>Step·1.</em>·Create·a·sample·file·to·be·used·for·the·transfer:</p><pre><code·class="text">······$·echo·&quot;Erlang/OTP·21&quot;·&gt;·file.txt</code></pre><p><em>Step·2.</em>·Start·the·TFTP·server:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">······</span><span·class="mi">1</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="p"·data-group-id="9876115867-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pid</span><span·class="p"·data-group-id="9876115867-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·cla[·...·truncated·by·diffoscope;·len:·482,·SHA:·4d88f9275705f549c8687b0f3869e87ec6df073a1e952f9935e78c269437022e·...·]7-2">)</span><span·class="p">.</span><span·class="w">
130 ······</span><span·class="p"·data-group-id="3165511247-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.65</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="3165511247-5">}</span>[·...·truncated·by·diffoscope;·len:·896,·SHA:·2aefd70b1c930599bcb975d20c7a67235ffca55ec0ddd121b201fcb5b49aacf4·...·]-1">)</span><span·class="p">.</span><span·class="w">130 ······</span><span·class="p"·data-group-id="9876115867-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.65</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="9876115867-5">}</span>[·...·truncated·by·diffoscope;·len:·896,·SHA:·84be1607d840c3edfb66e5887357f7a0f028bf76c0d77584ea0ade6fa9a6e368·...·]-1">)</span><span·class="p">.</span><span·class="w">
131 ······</span><span·class="p"·data-group-id="3338030746-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="3338030746-5">&lt;&lt;</span><span·class="s">&quot;Erlang/OTP·21\n&quot;</span><span·class="p"·data-group-id="3338030746-5">&gt;&gt;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·d9468b136feb2d7f0013b04ee780456f15e5c51a08f8dd7bd4f6c8efe9dfd538·...·]-4">}</span></code></pre>131 ······</span><span·class="p"·data-group-id="8150371093-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="8150371093-5">&lt;&lt;</span><span·class="s">&quot;Erlang/OTP·21\n&quot;</span><span·class="p"·data-group-id="8150371093-5">&gt;&gt;</span><span·class="p[·...·truncated·by·diffoscope;·len:·27,·SHA:·8ab5ef37dfb16962aafdea85fa38a4c4626ba172c02a90ab98718e60432cc28b·...·]-4">}</span></code></pre>
132 </div>132 </div>
  
133 <div·class="bottom-actions"·id="bottom-actions">133 <div·class="bottom-actions"·id="bottom-actions">
134 ··<div·class="bottom-actions-item">134 ··<div·class="bottom-actions-item">
  
135 ······<a·href="introduction.html"·class="bottom-actions-button"·rel="prev">135 ······<a·href="introduction.html"·class="bottom-actions-button"·rel="prev">
136 ········<span·class="subheader">136 ········<span·class="subheader">
Offset 168, 15 lines modifiedOffset 168, 15 lines modified
168 ······<p·class="built-using">168 ······<p·class="built-using">
169 ········Built·using169 ········Built·using
170 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the170 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
171 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>171 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
172 ······</p>172 ······</p>
173 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>173 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
174 ····</footer>174 ····</footer>
175 ··</div>175 ··</div>
176 </main>176 </main>
177 </div>177 </div>
178 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>178 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
179 ··<script>179 ··<script>
180 ··let·initialized·=·false;180 ··let·initialized·=·false;
620 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/introduction.html
    
Offset 185, 15 lines modifiedOffset 185, 15 lines modified
185 ······<p·class="built-using">185 ······<p·class="built-using">
186 ········Built·using186 ········Built·using
187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the187 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>188 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
189 ······</p>189 ······</p>
190 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>190 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
191 ····</footer>191 ····</footer>
192 ··</div>192 ··</div>
193 </main>193 </main>
194 </div>194 </div>
195 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>195 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
196 ··<script>196 ··<script>
197 ··let·initialized·=·false;197 ··let·initialized·=·false;
763 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/notes.html
    
Offset 320, 15 lines modifiedOffset 320, 15 lines modified
320 ······<p·class="built-using">320 ······<p·class="built-using">
321 ········Built·using321 ········Built·using
322 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the322 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
323 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>323 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
324 ······</p>324 ······</p>
325 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>325 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
326 ····</footer>326 ····</footer>
327 ··</div>327 ··</div>
328 </main>328 </main>
329 </div>329 </div>
330 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>330 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
331 ··<script>331 ··<script>
332 ··let·initialized·=·false;332 ··let·initialized·=·false;
675 B
html2text {}
Max HTML report size reached
1.74 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/search.html
    
Offset 118, 15 lines modifiedOffset 118, 15 lines modified
118 <div·id="search">118 <div·id="search">
119 ··<h1>119 ··<h1>
120 ····<span></span>120 ····<span></span>
121 ··</h1>121 ··</h1>
  
122 ··<div·class="loading"><div></div><div></div><div></div><div></div></div>122 ··<div·class="loading"><div></div><div></div><div></div><div></div></div>
123 </div>123 </div>
124 <script·src="dist/search_data-4B8A9CF1.js"></script>124 <script·src="dist/search_data-236D9DDF.js"></script>
125 ····<footer·class="footer">125 ····<footer·class="footer">
126 ······<p>126 ······<p>
  
127 ········<span·class="line">127 ········<span·class="line">
128 ··········<button·class="a-main·footer-button·display-quick-switch"·title="Search·HexDocs·packages">128 ··········<button·class="a-main·footer-button·display-quick-switch"·title="Search·HexDocs·packages">
129 ············Search·HexDocs129 ············Search·HexDocs
130 ··········</button>130 ··········</button>
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
461 B
html2text {}
Max HTML report size reached
87.1 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/tftp.epub
2.39 KB
zipinfo {}
Max HTML report size reached
74.0 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
3.1 KB
OEBPS/tftp.xhtml
Max HTML report size reached
5.97 KB
OEBPS/getting_started.xhtml
Max HTML report size reached
1.22 KB
OEBPS/content.opf
1.19 KB
OEBPS/content.opf
Max HTML report size reached
4.55 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/tftp.html
    
Offset 130, 15 lines modifiedOffset 130, 15 lines modified
130 ····<section·id="moduledoc">130 ····<section·id="moduledoc">
131 <p>Trivial·FTP.</p><p>Interface·module·for·the·<code·class="inline">tftp</code>·application.</p><h2·id="module-overwiew"·class="section-heading">131 <p>Trivial·FTP.</p><p>Interface·module·for·the·<code·class="inline">tftp</code>·application.</p><h2·id="module-overwiew"·class="section-heading">
132 ··<a·href="#module-overwiew"·class="hover-link">132 ··<a·href="#module-overwiew"·class="hover-link">
133 ····<i·class="ri-link-m"·aria-hidden="true"></i>133 ····<i·class="ri-link-m"·aria-hidden="true"></i>
134 ··</a>134 ··</a>
135 ··<span·class="text">Overwiew</span>135 ··<span·class="text">Overwiew</span>
136 </h2>136 </h2>
137 <p>This·is·a·complete·implementation·of·the·following·IETF·standards:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">1350</span><span·class="p">,</span><span·class="w">·</span><span·class="n">The</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Protocol</span><span·class="w">·</span><span·class="p"·data-group-id="8396095831-1">(</span><span·class="ss">revision</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="8396095831-1">)</span><span·class="p">.</span><span·class="w">137 <p>This·is·a·complete·implementation·of·the·following·IETF·standards:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">1350</span><span·class="p">,</span><span·class="w">·</span><span·class="n">The</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Protocol</span><span·class="w">·</span><span·class="p"·data-group-id="7246611523-1">(</span><span·class="ss">revision</span><span·class="w">·</span><span·class="mi">2</span><span·class="p"·data-group-id="7246611523-1">)</span><span·class="p">.</span><span·class="w">
138 </span><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">2347</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Option</span><span·class="w">·</span><span·class="n">Extension</span><span·class="p">.</span><span·class="w">138 </span><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">2347</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Option</span><span·class="w">·</span><span·class="n">Extension</span><span·class="p">.</span><span·class="w">
139 </span><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">2348</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Blocksize</span><span·class="w">·</span><span·class="n">Option</span><span·class="p">.</span><span·class="w">139 </span><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">2348</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Blocksize</span><span·class="w">·</span><span·class="n">Option</span><span·class="p">.</span><span·class="w">
140 </span><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">2349</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Timeout</span><span·class="w">·</span><span·class="n">Interval</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="n">Transfer</span><span·class="w">·</span><span·class="n">Size</span><span·class="w">·</span><span·class="n">Options</span><span·class="p">.</span></code></pre><p>The·only·feature·that·not·is·implemented·in·this·release·is140 </span><span·class="n">RFC</span><span·class="w">·</span><span·class="mi">2349</span><span·class="p">,</span><span·class="w">·</span><span·class="n">TFTP</span><span·class="w">·</span><span·class="n">Timeout</span><span·class="w">·</span><span·class="n">Interval</span><span·class="w">·</span><span·class="ow">and</span><span·class="w">·</span><span·class="n">Transfer</span><span·class="w">·</span><span·class="n">Size</span><span·class="w">·</span><span·class="n">Options</span><span·class="p">.</span></code></pre><p>The·only·feature·that·not·is·implemented·in·this·release·is
141 the·&quot;netascii&quot;·transfer·mode.</p><p>The·<a·href="#start/1">start</a>·function·starts·a·daemon·process·which,·listens141 the·&quot;netascii&quot;·transfer·mode.</p><p>The·<a·href="#start/1">start</a>·function·starts·a·daemon·process·which,·listens
142 for·UDP·packets·on·a·port.·When·it·receives·a·request·for·read·or142 for·UDP·packets·on·a·port.·When·it·receives·a·request·for·read·or
143 write·it·spawns·a·temporary·server·process·which·handles·the·actual143 write·it·spawns·a·temporary·server·process·which·handles·the·actual
144 transfer·of·the·file.·On·the·client·side·the144 transfer·of·the·file.·On·the·client·side·the
Offset 948, 15 lines modifiedOffset 948, 15 lines modified
948 ······<p·class="built-using">948 ······<p·class="built-using">
949 ········Built·using949 ········Built·using
950 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the950 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
951 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>951 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
952 ······</p>952 ······</p>
953 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>953 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
954 ····</footer>954 ····</footer>
955 ··</div>955 ··</div>
956 </main>956 </main>
957 </div>957 </div>
958 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>958 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
959 ··<script>959 ··<script>
960 ··let·initialized·=·false;960 ··let·initialized·=·false;
702 B
html2text {}
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/tftp_logger.html
    
Offset 301, 15 lines modifiedOffset 301, 15 lines modified
301 ······<p·class="built-using">301 ······<p·class="built-using">
302 ········Built·using302 ········Built·using
303 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the303 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
304 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>304 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
305 ······</p>305 ······</p>
306 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>306 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
307 ····</footer>307 ····</footer>
308 ··</div>308 ··</div>
309 </main>309 </main>
310 </div>310 </div>
311 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>311 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
312 ··<script>312 ··<script>
313 ··let·initialized·=·false;313 ··let·initialized·=·false;
775 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/api-reference.html
    
Offset 256, 15 lines modifiedOffset 256, 15 lines modified
256 ······<p·class="built-using">256 ······<p·class="built-using">
257 ········Built·using257 ········Built·using
258 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the258 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
259 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>259 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
260 ······</p>260 ······</p>
261 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>261 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
262 ····</footer>262 ····</footer>
263 ··</div>263 ··</div>
264 </main>264 </main>
265 </div>265 </div>
266 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>266 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
267 ··<script>267 ··<script>
268 ··let·initialized·=·false;268 ··let·initialized·=·false;
614 B
html2text {}
Max HTML report size reached
8.88 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/cover.html
    
Offset 1507, 15 lines modifiedOffset 1507, 15 lines modified
1507 ······</div>1507 ······</div>
  
1508 <p>Analyzes·one·or·more·modules·as·specified·by·<code·class="inline">Arg</code>.</p><p>If·<code·class="inline">Arg</code>·is·one·of·the·values·in·<a·href="#t:analysis/0"><code·class="inline">analysis()</code></a>,·this1508 <p>Analyzes·one·or·more·modules·as·specified·by·<code·class="inline">Arg</code>.</p><p>If·<code·class="inline">Arg</code>·is·one·of·the·values·in·<a·href="#t:analysis/0"><code·class="inline">analysis()</code></a>,·this
1509 call·is·equivalent·to·<a·href="#analyse/3"><code·class="inline">analyse('_',·Arg,·function)</code></a>.</p><p>If·<code·class="inline">Arg</code>·is·one·of·the·values·in·<a·href="#t:level/0"><code·class="inline">level()</code></a>,·this1509 call·is·equivalent·to·<a·href="#analyse/3"><code·class="inline">analyse('_',·Arg,·function)</code></a>.</p><p>If·<code·class="inline">Arg</code>·is·one·of·the·values·in·<a·href="#t:level/0"><code·class="inline">level()</code></a>,·this
1510 call·is·equivalent·to·<a·href="#analyse/3"><code·class="inline">analyse('_',·coverage,·Arg)</code></a>.</p><p>Otherwise·<code·class="inline">Arg</code>·is·assumed·to·be·a·module·name,·and·this·call·is·equivalent1510 call·is·equivalent·to·<a·href="#analyse/3"><code·class="inline">analyse('_',·coverage,·Arg)</code></a>.</p><p>Otherwise·<code·class="inline">Arg</code>·is·assumed·to·be·a·module·name,·and·this·call·is·equivalent
1511 to·<a·href="#analyse/3"><code·class="inline">analyse(Arg,·coverage,·function)</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>To·analyze·a·module·whose·name·overlaps·with·one·the·values·in1511 to·<a·href="#analyse/3"><code·class="inline">analyse(Arg,·coverage,·function)</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>To·analyze·a·module·whose·name·overlaps·with·one·the·values·in
1512 <a·href="#t:analysis/0"><code·class="inline">analysis()</code></a>·or·<a·href="#t:level/0"><code·class="inline">level()</code></a>,·the·module1512 <a·href="#t:analysis/0"><code·class="inline">analysis()</code></a>·or·<a·href="#t:level/0"><code·class="inline">level()</code></a>,·the·module
1513 name·has·to·be·in·a·list.·For·example,·to·analyze·a·module·named·<code·class="inline">calls</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="8451243929-1">(</span><span·class="p"·data-group-id="8451243929-2">[</span><span·class="ss">calls</span><span·class="p"·data-group-id="8451243929-2">]</span><span·class="p"·data-group-id="8451243929-1">)</span><span·class="p">.</span></code></pre></section>1513 name·has·to·be·in·a·list.·For·example,·to·analyze·a·module·named·<code·class="inline">calls</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="0875201135-1">(</span><span·class="p"·data-group-id="0875201135-2">[</span><span·class="ss">calls</span><span·class="p"·data-group-id="0875201135-2">]</span><span·class="p"·data-group-id="0875201135-1">)</span><span·class="p">.</span></code></pre></section>
1514 ··</section>1514 ··</section>
1515 </section>1515 </section>
1516 <section·class="detail"·id="analyse/2">1516 <section·class="detail"·id="analyse/2">
  
1517 ··<div·class="detail-header">1517 ··<div·class="detail-header">
1518 ····<a·href="#analyse/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1518 ····<a·href="#analyse/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1519 ······<i·class="ri-link-m"·aria-hidden="true"></i>1519 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1547, 15 lines modifiedOffset 1547, 15 lines modified
1547 <p>Analyzes·one·or·more·modules·as·specified·by·<code·class="inline">Arg1</code>·and·<code·class="inline">Arg2</code>.</p><p>If·<code·class="inline">Arg1</code>·is·one·of·the·values·in·<a·href="#t:analysis/0"><code·class="inline">analysis()</code></a>·and1547 <p>Analyzes·one·or·more·modules·as·specified·by·<code·class="inline">Arg1</code>·and·<code·class="inline">Arg2</code>.</p><p>If·<code·class="inline">Arg1</code>·is·one·of·the·values·in·<a·href="#t:analysis/0"><code·class="inline">analysis()</code></a>·and
1548 <code·class="inline">Arg2</code>·is·one·of·the·values·in·<a·href="#t:level/0"><code·class="inline">level()</code></a>,·this1548 <code·class="inline">Arg2</code>·is·one·of·the·values·in·<a·href="#t:level/0"><code·class="inline">level()</code></a>,·this
1549 call·is·equivalent·to·<a·href="#analyse/3"><code·class="inline">analyse('_',·Arg1,·Arg2)</code></a>.</p><p>If·<code·class="inline">Arg2</code>·is·one·of·the·values·in·<a·href="#t:analysis/0"><code·class="inline">analysis()</code></a>,1549 call·is·equivalent·to·<a·href="#analyse/3"><code·class="inline">analyse('_',·Arg1,·Arg2)</code></a>.</p><p>If·<code·class="inline">Arg2</code>·is·one·of·the·values·in·<a·href="#t:analysis/0"><code·class="inline">analysis()</code></a>,
1550 <code·class="inline">Arg1</code>·is·assumed·to·be·a·module·and·this·call·is·equivalent·to1550 <code·class="inline">Arg1</code>·is·assumed·to·be·a·module·and·this·call·is·equivalent·to
1551 <a·href="#analyse/3"><code·class="inline">analyse(Arg1,·Arg2,·function)</code></a>.</p><p>If·<code·class="inline">Arg2</code>·is·one·of·the·values·in·<a·href="#t:level/0"><code·class="inline">level()</code></a>,·<code·class="inline">Arg1</code>·is1551 <a·href="#analyse/3"><code·class="inline">analyse(Arg1,·Arg2,·function)</code></a>.</p><p>If·<code·class="inline">Arg2</code>·is·one·of·the·values·in·<a·href="#t:level/0"><code·class="inline">level()</code></a>,·<code·class="inline">Arg1</code>·is
1552 assumed·to·be·a·module·and·this·call·is·equivalent·to·<a·href="#analyse/3"><code·class="inline">analyse(Arg1,·coverage,·Arg2)</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>To·analyze·a·module·whose·name·overlaps·with·one·of·the·values·in1552 assumed·to·be·a·module·and·this·call·is·equivalent·to·<a·href="#analyse/3"><code·class="inline">analyse(Arg1,·coverage,·Arg2)</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>To·analyze·a·module·whose·name·overlaps·with·one·of·the·values·in
1553 <a·href="#t:analysis/0"><code·class="inline">analysis()</code></a>,·the·module·name·needs·to·be·in·a1553 <a·href="#t:analysis/0"><code·class="inline">analysis()</code></a>,·the·module·name·needs·to·be·in·a
1554 list.·For·example,·to·analyze·a·module·named·<code·class="inline">calls</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="3923485437-1">(</span><span·class="p"·data-group-id="3923485437-2">[</span><span·class="ss">calls</span><span·class="p"·data-group-id="3923485437-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">function</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·21,·SHA:·cbf4816c354b946f3871414d81a6fb4d0ce44c1cbb27575f1f05d4beaa9f8a43·...·]7-1">)</span><span·class="p">.</span></code></pre></section>1554 list.·For·example,·to·analyze·a·module·named·<code·class="inline">calls</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="0826129817-1">(</span><span·class="p"·data-group-id="0826129817-2">[</span><span·class="ss">calls</span><span·class="p"·data-group-id="0826129817-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">function</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·21,·SHA:·7f84c6c383051d0ff8c04e1baff6a88af195c48c491b2c1c38904837f88d0824·...·]7-1">)</span><span·class="p">.</span></code></pre></section>
1555 ··</section>1555 ··</section>
1556 </section>1556 </section>
1557 <section·class="detail"·id="analyse/3">1557 <section·class="detail"·id="analyse/3">
  
1558 ··<div·class="detail-header">1558 ··<div·class="detail-header">
1559 ····<a·href="#analyse/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1559 ····<a·href="#analyse/3"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1560 ······<i·class="ri-link-m"·aria-hidden="true"></i>1560 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 1650, 15 lines modifiedOffset 1650, 15 lines modified
  
1650 ······</div>1650 ······</div>
  
1651 <p>If·<code·class="inline">Arg</code>·is·a·list·of·<a·href="#t:analyse_option/0"><code·class="inline">analyse_option()</code></a>1651 <p>If·<code·class="inline">Arg</code>·is·a·list·of·<a·href="#t:analyse_option/0"><code·class="inline">analyse_option()</code></a>
1652 options,·this·call·is·equivalent·to·<a·href="#analyse_to_file/2"><code·class="inline">analyse_to_file('_',·Arg)</code></a>.</p><p>Otherwise·<code·class="inline">Arg</code>·is·assumed·to·be·a·module,·and·this·call·is·equivalent·to1652 options,·this·call·is·equivalent·to·<a·href="#analyse_to_file/2"><code·class="inline">analyse_to_file('_',·Arg)</code></a>.</p><p>Otherwise·<code·class="inline">Arg</code>·is·assumed·to·be·a·module,·and·this·call·is·equivalent·to
1653 <a·href="#analyse_to_file/2"><code·class="inline">analyse_to_file(Arg,·[])</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>To·analyze·a·module·of·the·name·<code·class="inline">html</code>·(which·overlaps·with·an·option1653 <a·href="#analyse_to_file/2"><code·class="inline">analyse_to_file(Arg,·[])</code></a>.</p><section·role="note"·class="admonition·info"><h4·class="admonition-title·info">Note</h4><p>To·analyze·a·module·of·the·name·<code·class="inline">html</code>·(which·overlaps·with·an·option
1654 in·<a·href="#t:analyse_option/0"><code·class="inline">analyse_option()</code></a>),·it·is·necessary·to1654 in·<a·href="#t:analyse_option/0"><code·class="inline">analyse_option()</code></a>),·it·is·necessary·to
1655 use·<a·href="#analyse_to_file/2"><code·class="inline">cover:analyse_to_file/2</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse_to_file</span><span·class="p"·data-group-id="1108921059-1">(</span><span·class="p"·data-group-id="1108921059-2">[</span><span·class="ss">html</span><span·class="p"·data-group-id="1108921059-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1108921059-3">[</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·c4c830b3425660c018b09d1cea025b9ae802ea8369ae94eef480e65efc597c01·...·]-1">)</span><span·class="p">.</span></code></pre></section>1655 use·<a·href="#analyse_to_file/2"><code·class="inline">cover:analyse_to_file/2</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse_to_file</span><span·class="p"·data-group-id="5702644087-1">(</span><span·class="p"·data-group-id="5702644087-2">[</span><span·class="ss">html</span><span·class="p"·data-group-id="5702644087-2">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5702644087-3">[</span[·...·truncated·by·diffoscope;·len:·95,·SHA:·ebdb6b2562cc2cb27fcfe6cb017598bb8b25ae5ffc5e98811a5c9feb5046252e·...·]-1">)</span><span·class="p">.</span></code></pre></section>
1656 ··</section>1656 ··</section>
1657 </section>1657 </section>
1658 <section·class="detail"·id="analyse_to_file/2">1658 <section·class="detail"·id="analyse_to_file/2">
  
1659 ··<div·class="detail-header">1659 ··<div·class="detail-header">
1660 ····<a·href="#analyse_to_file/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">1660 ····<a·href="#analyse_to_file/2"·class="detail-link"·data-no-tooltip·aria-label="Link·to·this·function">
1661 ······<i·class="ri-link-m"·aria-hidden="true"></i>1661 ······<i·class="ri-link-m"·aria-hidden="true"></i>
Offset 2583, 15 lines modifiedOffset 2583, 15 lines modified
2583 ······<p·class="built-using">2583 ······<p·class="built-using">
2584 ········Built·using2584 ········Built·using
2585 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2585 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2586 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2586 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2587 ······</p>2587 ······</p>
2588 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2588 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2589 ····</footer>2589 ····</footer>
2590 ··</div>2590 ··</div>
2591 </main>2591 </main>
2592 </div>2592 </div>
2593 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2593 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2594 ··<script>2594 ··<script>
2595 ··let·initialized·=·false;2595 ··let·initialized·=·false;
648 B
html2text {}
Max HTML report size reached
174 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/cover_chapter.html
Max HTML report size reached
4.94 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/cprof.html
    
Offset 574, 15 lines modifiedOffset 574, 15 lines modified
574 ······<div·class="specs">574 ······<div·class="specs">
  
575 ··········<pre·translate="no"><span·class="attribute">-spec</span>·analyse(Mod,·Limit)·->·ModAnalysis·::·<a·href="#t:mod_analysis/0">mod_analysis</a>()575 ··········<pre·translate="no"><span·class="attribute">-spec</span>·analyse(Mod,·Limit)·->·ModAnalysis·::·<a·href="#t:mod_analysis/0">mod_analysis</a>()
576 ·················when·Mod·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:module/0">module</a>(),·Limit·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>576 ·················when·Mod·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:module/0">module</a>(),·Limit·::·<a·href="../../../../erts-16.0/doc/html/erlang.html#t:non_neg_integer/0">non_neg_integer</a>().</pre>
  
577 ······</div>577 ······</div>
  
578 <p>Collects·and·analyses·all·call·counters·for·module·<code·class="inline">Module</code>.</p><p>This·function·returns:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1196148446-1">{</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ModuleCount</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FuncAnalysisList</span><span·class="p"·data-group-id="11961[·...·truncated·by·diffoscope;·len:·651,·SHA:·cb05a709d21455110c2073e094b0b80ddf29b8bc715d33871872e24393db4542·...·]-1">}</span></code></pre><p>If·call·counters·are·still·running·while·<code·class="inline">analyse/0,1,2</code>·is·executing,·the·result578 <p>Collects·and·analyses·all·call·counters·for·module·<code·class="inline">Module</code>.</p><p>This·function·returns:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4297173406-1">{</span><span·class="n">Module</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ModuleCount</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FuncAnalysisList</span><span·class="p"·data-group-id="42971[·...·truncated·by·diffoscope;·len:·651,·SHA:·2737660fcd4d4e832def6abadc6c1e91e858525019ea0e58744f2a09c58caead·...·]-1">}</span></code></pre><p>If·call·counters·are·still·running·while·<code·class="inline">analyse/0,1,2</code>·is·executing,·the·result
579 could·be·inconsistent.·This·happens·if·the·process·executing·<code·class="inline">analyse/0,1,2</code>579 could·be·inconsistent.·This·happens·if·the·process·executing·<code·class="inline">analyse/0,1,2</code>
580 is·scheduled·out·so·some·other·process·can·increment·the·counters·that·are580 is·scheduled·out·so·some·other·process·can·increment·the·counters·that·are
581 being·analysed.·Calling·<a·href="#pause/0"><code·class="inline">pause()</code></a>·before·analysing·takes·care·of581 being·analysed.·Calling·<a·href="#pause/0"><code·class="inline">pause()</code></a>·before·analysing·takes·care·of
582 that·problem.</p><p>All·functions·with·a·<code·class="inline">FuncCallCount</code>·lower·than·<code·class="inline">Limit</code>·are·excluded·from582 that·problem.</p><p>All·functions·with·a·<code·class="inline">FuncCallCount</code>·lower·than·<code·class="inline">Limit</code>·are·excluded·from
583 <code·class="inline">FuncAnalysisList</code>.·They·are·still·included·in·<code·class="inline">ModCallCount</code>,·though.</p>583 <code·class="inline">FuncAnalysisList</code>.·They·are·still·included·in·<code·class="inline">ModCallCount</code>,·though.</p>
584 ··</section>584 ··</section>
585 </section>585 </section>
Offset 1063, 15 lines modifiedOffset 1063, 15 lines modified
1063 ······<p·class="built-using">1063 ······<p·class="built-using">
1064 ········Built·using1064 ········Built·using
1065 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1065 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1066 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1066 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1067 ······</p>1067 ······</p>
1068 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1068 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1069 ····</footer>1069 ····</footer>
1070 ··</div>1070 ··</div>
1071 </main>1071 </main>
1072 </div>1072 </div>
1073 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1073 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1074 ··<script>1074 ··<script>
1075 ··let·initialized·=·false;1075 ··let·initialized·=·false;
697 B
html2text {}
Max HTML report size reached
84.6 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/cprof_chapter.html
    
Offset 152, 130 lines modifiedOffset 152, 130 lines modified
152 no·trace·message·has·to·be·generated.·Some·measurements·indicates·performance152 no·trace·message·has·to·be·generated.·Some·measurements·indicates·performance
153 degradations·in·the·vicinity·of·10·percent.</p><p>The·following·sections·show·some·examples·of·profiling·with·<a·href="cprof.html"><code·class="inline">cprof</code></a>.</p><h2·id="example-background-work"·class="section-heading">153 degradations·in·the·vicinity·of·10·percent.</p><p>The·following·sections·show·some·examples·of·profiling·with·<a·href="cprof.html"><code·class="inline">cprof</code></a>.</p><h2·id="example-background-work"·class="section-heading">
154 ··<a·href="#example-background-work"·class="hover-link">154 ··<a·href="#example-background-work"·class="hover-link">
155 ····<i·class="ri-link-m"·aria-hidden="true"></i>155 ····<i·class="ri-link-m"·aria-hidden="true"></i>
156 ··</a>156 ··</a>
157 ··<span·class="text">Example:·Background·work</span>157 ··<span·class="text">Example:·Background·work</span>
158 </h2>158 </h2>
159 <p>From·the·Erlang·shell:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="3899541523-1">(</span><span·class="p"·data-group-id="3899541523-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">pause</span><span·class="p"·data-group-id="3899541523-2">(</spa[·...·truncated·by·diffoscope;·len:·42,·SHA:·ada36f980e22ab93489eb76c26de11db733492534173c2a5d4b1dccce44327f3·...·]3-2">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·Stop·counters·just·after·start</span><span·class="w">159 <p>From·the·Erlang·shell:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="0839685283-1">(</span><span·class="p"·data-group-id="0839685283-1">)</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">pause</span><span·class="p"·data-group-id="0839685283-2">(</spa[·...·truncated·by·diffoscope;·len:·42,·SHA:·b5a43e580cea22bc09c55b1a9bd0c24ca18dd01fe9c985361698a7f26205c526·...·]3-2">)</span><span·class="p">.</span><span·class="w">·</span><span·class="c1">%·Stop·counters·just·after·start</span><span·class="w">
160 </span><span·class="mi">8492</span><span·class="gp·unselectable">160 </span><span·class="mi">8492</span><span·class="gp·unselectable">
161 2&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="3899541523-3">(</span><span·class="p"·data-group-id="3899541523-3">)</span><span·class="p">.</span><span·class="w">161 2&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="0839685283-3">(</span><span·class="p"·data-group-id="0839685283-3">)</span><span·class="p">.</span><span·class="w">
162 </span><span·class="p"·data-group-id="3899541523-4">{</span><span·class="mi">539</span><span·class="p">,</span><span·class="w">162 </span><span·class="p"·data-group-id="0839685283-4">{</span><span·class="mi">539</span><span·class="p">,</span><span·class="w">
163 ·</span><span·class="p"·data-group-id="3899541523-5">[</span><span·class="p"·data-group-id="3899541523-6">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="mi">155</span><span·class="p">,</span><span·class="w">163 ·</span><span·class="p"·data-group-id="0839685283-5">[</span><span·class="p"·data-group-id="0839685283-6">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="mi">155</span><span·class="p">,</span><span·class="w">
164 ·········</span><span·class="p"·data-group-id="3899541523-7">[</span><span·class="p"·data-group-id="3899541523-8">{</span><span·class="p"·data-group-id="3899541523-9">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">prep_check</span><span·class="p">,</span><span·class="mi">[·...·truncated·by·diffoscope;·len:·151,·SHA:·77a38b0ed55006849480e2de973ee5058073c1792ed9dbf14a1214be1a0f738a·...·]3-8">}</span><span·class="p">,</span><span·class="w">164 ·········</span><span·class="p"·data-group-id="0839685283-7">[</span><span·class="p"·data-group-id="0839685283-8">{</span><span·class="p"·data-group-id="0839685283-9">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">prep_check</span><span·class="p">,</span><span·class="mi">[·...·truncated·by·diffoscope;·len:·151,·SHA:·00b210fc85639f73c086b43158677a659114546189fa4c2e2453afa02aabf37a·...·]3-8">}</span><span·class="p">,</span><span·class="w">
165 ··········</span><span·class="p"·data-group-id="3899541523-10">{</span><span·class="p"·data-group-id="3899541523-11">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">used_records</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="3899541523[·...·truncated·by·diffoscope;·len:·103,·SHA:·851d8d5cc2e62f91df3479eb9d98c8175d18c64c9c0ce59596191f6628d7367f·...·]3-10">}</span><span·class="p">,</span><span·class="w">165 ··········</span><span·class="p"·data-group-id="0839685283-10">{</span><span·class="p"·data-group-id="0839685283-11">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">used_records</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="0839685283[·...·truncated·by·diffoscope;·len:·103,·SHA:·8999b4c9272682c142bea1307fd6cf0f650cbf372be967af24726f88738963de·...·]3-10">}</span><span·class="p">,</span><span·class="w">
166 ··········</span><span·class="p"·data-group-id="3899541523-12">{</span><span·class="p"·data-group-id="3899541523-13">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">used_records</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="3899541523[·...·truncated·by·diffoscope;·len:·103,·SHA:·1a835a7f4db59e4130fc908f3f2587d578523abb1f777b100701450d50cd848c·...·]3-12">}</span><span·class="p">,</span><span·class="w">166 ··········</span><span·class="p"·data-group-id="0839685283-12">{</span><span·class="p"·data-group-id="0839685283-13">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">used_records</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="0839685283[·...·truncated·by·diffoscope;·len:·103,·SHA:·c915e3fae5b777dae302da0d021c4c07c395090be3e15a51e3e2a73c72abf565·...·]3-12">}</span><span·class="p">,</span><span·class="w">
167 ··········</span><span·class="p"·data-group-id="3899541523-14">{</span><span·class="p"·data-group-id="3899541523-15">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">used_record_defs</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="389954[·...·truncated·by·diffoscope;·len:·106,·SHA:·f8dac104278b43178e2048f3eec074d03d2fdd21221e6d2987f07c224fc8bde9·...·]3-14">}</span><span·class="p">,</span><span·class="w">167 ··········</span><span·class="p"·data-group-id="0839685283-14">{</span><span·class="p"·data-group-id="0839685283-15">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">used_record_defs</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="083968[·...·truncated·by·diffoscope;·len:·106,·SHA:·7b51d9cf1d174b0d25d14fc7d966b25072427c78fc7f6f74d8b756fc19980a35·...·]3-14">}</span><span·class="p">,</span><span·class="w">
168 ··········</span><span·class="p"·data-group-id="3899541523-16">{</span><span·class="p"·data-group-id="3899541523-17">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">record_defs</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3899541523-[·...·truncated·by·diffoscope;·len:·101,·SHA:·31562422dfd0e8d175d0177b19417a9779158084ebef75e2a10a097d203dba3f·...·]3-16">}</span><span·class="p">,</span><span·class="w">168 ··········</span><span·class="p"·data-group-id="0839685283-16">{</span><span·class="p"·data-group-id="0839685283-17">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">record_defs</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0839685283-[·...·truncated·by·diffoscope;·len:·101,·SHA:·ea7dfc9e0ef2dfea5825c3516ed771fbabe386e71b7839451cf6a6fc2c37a4a9·...·]3-16">}</span><span·class="p">,</span><span·class="w">
169 ··········</span><span·class="p"·data-group-id="3899541523-18">{</span><span·class="p"·data-group-id="3899541523-19">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">record_bindings</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3899541[·...·truncated·by·diffoscope;·len:·105,·SHA:·b43fa940f49a5a7ebe82ead96df9a1f6a91f3233b46bfecedde3893aad557f65·...·]3-18">}</span><span·class="p">,</span><span·class="w">169 ··········</span><span·class="p"·data-group-id="0839685283-18">{</span><span·class="p"·data-group-id="0839685283-19">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">record_bindings</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0839685[·...·truncated·by·diffoscope;·len:·105,·SHA:·d41fbfe5b8b942347184fbc0e378334f0d06daaee024c1fb7dc6725a6a1ce79a·...·]3-18">}</span><span·class="p">,</span><span·class="w">
170 ··········</span><span·class="p"·data-group-id="3899541523-20">{</span><span·class="p"·data-group-id="3899541523-21">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">exprs</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="3899541523-21">}<[·...·truncated·by·diffoscope;·len:·95,·SHA:·89593dc2be9496c8ae79bed0c26d952b2d73759b186c3fd1dd8e2a21367331c2·...·]3-20">}</span><span·class="p">,</span><span·class="w">170 ··········</span><span·class="p"·data-group-id="0839685283-20">{</span><span·class="p"·data-group-id="0839685283-21">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">exprs</span><span·class="p">,</span><span·class="mi">7</span><span·class="p"·data-group-id="0839685283-21">}<[·...·truncated·by·diffoscope;·len:·95,·SHA:·d1915f58055ba8ab686f72944962ae746665a31c1dbf552fafd417d55572f030·...·]3-20">}</span><span·class="p">,</span><span·class="w">
171 ··········</span><span·class="p"·data-group-id="3899541523-22">{</span><span·class="p"·data-group-id="3899541523-23">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">expr</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="3899541523-23">}</[·...·truncated·by·diffoscope;·len:·94,·SHA:·d97940cb9e1a135ae782ef361f1278d0c6fb8c0dd77fa45e66d8bf80d2023182·...·]3-22">}</span><span·class="p">,</span><span·class="w">171 ··········</span><span·class="p"·data-group-id="0839685283-22">{</span><span·class="p"·data-group-id="0839685283-23">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">expr</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="0839685283-23">}</[·...·truncated·by·diffoscope;·len:·94,·SHA:·1282aa7b2b9767bb83711f10bc150e75afb9e4a027b3394a3a25e4aec3e4a7f0·...·]3-22">}</span><span·class="p">,</span><span·class="w">
172 ··········</span><span·class="p"·data-group-id="3899541523-24">{</span><span·class="p"·data-group-id="3899541523-25">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">expand_records</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="38995415[·...·truncated·by·diffoscope;·len:·104,·SHA:·9b8d8386c64371f4ae57be9c3283e0e217407416ef447c7e77f18450240f20d7·...·]3-24">}</span><span·class="p">,</span><span·class="w">172 ··········</span><span·class="p"·data-group-id="0839685283-24">{</span><span·class="p"·data-group-id="0839685283-25">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">expand_records</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="08396852[·...·truncated·by·diffoscope;·len:·104,·SHA:·df36bcff14569b2da7bae2df389712f5972703400ed900eeb1f19b8d7e826e8b·...·]3-24">}</span><span·class="p">,</span><span·class="w">
173 ··········</span><span·class="p"·data-group-id="3899541523-26">{</span><span·class="p"·data-group-id="3899541523-27">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">check_command</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="389954152[·...·truncated·by·diffoscope;·len:·103,·SHA:·1ba9e3eedaa83cd373b41c117076b228a2fcf289c5b703a5297fa7703e9a16ed·...·]3-26">}</span><span·class="p">,</span><span·class="w">173 ··········</span><span·class="p"·data-group-id="0839685283-26">{</span><span·class="p"·data-group-id="0839685283-27">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">check_command</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="083968528[·...·truncated·by·diffoscope;·len:·103,·SHA:·ea134e3d85189bf11ad6fc773e715d6e3ae6f8dc9376a249c32334eae49ec418·...·]3-26">}</span><span·class="p">,</span><span·class="w">
174 ··········</span><span·class="p"·data-group-id="3899541523-28">{</span><span·class="p"·data-group-id="3899541523-29">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">apply_fun</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="3899541523-29[·...·truncated·by·diffoscope;·len:·99,·SHA:·228924ef2555f21f59fa4e05563edf1da737cb7be3a4949578c364f6ff704890·...·]3-28">}</span><span·class="p">,</span><span·class="w">174 ··········</span><span·class="p"·data-group-id="0839685283-28">{</span><span·class="p"·data-group-id="0839685283-29">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">apply_fun</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="0839685283-29[·...·truncated·by·diffoscope;·len:·99,·SHA:·8260af09b926d9ae1987695af619cf5176737bba29848abcaef012fa9734ec39·...·]3-28">}</span><span·class="p">,</span><span·class="w">
175 ··········</span><span·class="p"·data-group-id="3899541523-30">{</span><span·class="p"·data-group-id="3899541523-31">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">&#39;-exprs/7-lc$^0/1-0-&#39;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·119,·SHA:·e5cb4ed75d59b2e045b02a5acbba9a8a6dea7df82abad29c456b1d02a663962e·...·]3-30">}</span><span·class="p">,</span><span·class="w">175 ··········</span><span·class="p"·data-group-id="0839685283-30">{</span><span·class="p"·data-group-id="0839685283-31">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">&#39;-exprs/7-lc$^0/1-0-&#39;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·119,·SHA:·9070046166c0f84dc00d83ba98f7bdb74de77a06869f0a2246e9754efd4374e8·...·]3-30">}</span><span·class="p">,</span><span·class="w">
176 ··········</span><span·class="p"·data-group-id="3899541523-32">{</span><span·class="p"·data-group-id="3899541523-33">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">&#39;-eval_loop/3-fun-0-&#39;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·226,·SHA:·31886d08b981c7e6085289907d017dc630db9216792683c649f89510520b6862·...·]3-6">}</span><span·class="p">,</span><span·class="w">176 ··········</span><span·class="p"·data-group-id="0839685283-32">{</span><span·class="p"·data-group-id="0839685283-33">{</span><span·class="ss">shell</span><span·class="p">,</span><span·class="ss">&#39;-eval_loop/3-fun-0-&#39;</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·226,·SHA:·ad7455a2b5bedb97e19293c56f979f9ebecd078ddb3de0673ce4e8e921303554·...·]3-6">}</span><span·class="p">,</span><span·class="w">
177 ··</span><span·class="c1">%%·Information·about·many·modules·omitted.</span><span·class="w">177 ··</span><span·class="c1">%%·Information·about·many·modules·omitted.</span><span·class="w">
178 ·····················</span><span·class="p">.</span><span·class="w">178 ·····················</span><span·class="p">.</span><span·class="w">
179 ·····················</span><span·class="p">.</span><span·class="w">179 ·····················</span><span·class="p">.</span><span·class="w">
180 ·····················</span><span·class="p">.</span><span·class="w">180 ·····················</span><span·class="p">.</span><span·class="w">
181 ··</span><span·class="c1">%%·Here·is·the·last·part.</span><span·class="w">181 ··</span><span·class="c1">%%·Here·is·the·last·part.</span><span·class="w">
182 ··</span><span·class="p"·data-group-id="3899541523-34">{</span><span·class="ss">erts_internal</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="p"·data-group-id="3899541523-35">[</span><span·class="p"·data-group-id="3899541523-36">{</span><span·class="p"[·...·truncated·by·diffoscope;·len:·437,·SHA:·904077087dbb596b1300534b44863e8d7ab1333ff87bda187b6f5a5accd57b86·...·]3-34">}</span><span·class="p">,</span><span·class="w">182 ··</span><span·class="p"·data-group-id="0839685283-34">{</span><span·class="ss">erts_internal</span><span·class="p">,</span><span·class="mi">2</span><span·class="p">,</span><span·class="p"·data-group-id="0839685283-35">[</span><span·class="p"·data-group-id="0839685283-36">{</span><span·class="p"[·...·truncated·by·diffoscope;·len:·437,·SHA:·487dd47fdc671940f725ee3b4b3d84f2cb4fcd3fc4dac8a08235bbd8dcde06a5·...·]3-34">}</span><span·class="p">,</span><span·class="w">
183 ··</span><span·class="p"·data-group-id="3899541523-38">{</span><span·class="ss">otp_internal</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="p"·data-group-id="3899541523-39">[</span><span·class="p"·data-group-id="3899541523-40">{</span><span·class="p"·data-group-id="3899541523-41">{</span><span·class="ss">otp_internal</span><span·class="p">,</span><span·class="ss">obsolete</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="3899541523-41">}</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="3899541523-40">}</span><span·class="p"·data-group-id="3899541523-39">]</span><span·class="p"·data-group-id="3899541523-38">}</span><span·class="p">,</span><span·class="w"> 
184 ··</span><span·class="p"·data-group-id="3899541523-42">{</span><span·class="ss">maps</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="p"·data-group-id="3899541523-43">[</span><span·class="p"·data-group-id="3899541523-44">{</span><span·class="p"·data-group-id="3899541523-45">{</span><span·class="ss">maps</span><span·class="p">,</span><span·class="ss">from_list</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="3899541523-45">}</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="3899541523-44">}</span><span·class="p"·data-group-id="3899541523-43">]</span><span·class="p"·data-group-id="3899541523-42">}</span><span·class="p">,</span><span·class="w"> 
185 ··</span><span·class="p"·data-group-id="3899541523-46">{</span><span·class="ss">erl_internal</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="p"·data-group-id="3899541523-47">[</span><span·class="p"·data-group-id="3899541523-48">{</span><span·class="p"·data-group-id="3899541523-49">{</span><span·class="ss">erl_internal</span><span·class="p">,</span><span·class="ss">bif</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="3899541523-49">}</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="3899541523-48">}</span><span·class="p"·data-group-id="3899541523-47">]</span><span·class="p"·data-group-id="3899541523-46">}</span><span·class="p"·data-group-id="3899541523-5">]</span><span·class="p"·data-group-id="3899541523-4">}</span><span·class="gp·unselectable"> 
186 3&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="3899541523-50">(</span><span·class="ss">cprof</span><span·class="p"·data-group-id="3899541523-50">)</span><span·class="p">.</span><span·class="w"> 
187 </span><span·class="p"·data-group-id="3899541523-51">{</span><span·class="ss">cprof</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="p"·data-group-id="3899541523-52">[</span><span·class="p"·data-group-id="38995415[·...·truncated·by·diffoscope;·len:·910,·SHA:·4acb201d3f272e9c705dae84c8e23448afdf116f5e0c7e419119c82ddabb146c·...·]">183 ··</span><span·class="p"·data-group-id="0839685283-38">{</span><span·class="ss">otp_internal</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="p"·data-group-id="0839685283-39">[</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·522,·SHA:·1f408f3d89251bcaac2ac80f4c02750e7ea29af9fe1630aa4772e059223dc95b·...·]">
 184 ··</span><span·class="p"·data-group-id="0839685283-42">{</span><span·class="ss">maps</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="p"·data-group-id="0839685283-43">[</span><span·class="p"·data-group-id="0839685283-44">{</span><span·class="p"·data-group-id="0839685283-45">{</span><span·class="ss">maps</span><span·class="p">,</span><span·class="ss">from_list</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="0839685283-45">}</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="0839685283-44">}</span><span·class="p"·data-group-id="0839685283-43">]</span><span·class="p"·data-group-id="0839685283-42">}</span><span·class="p">,</span><span·class="w">
 185 ··</span><span·class="p"·data-group-id="0839685283-46">{</span><span·class="ss">erl_internal</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="p"·data-group-id="0839685283-47">[</span><span·class="p"·data-group-id="0839685283-48">{</span><span·class="p"·data-group-id="0839685283-49">{</span><span·class="ss">erl_internal</span><span·class="p">,</span><span·class="ss">bif</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="0839685283-49">}</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="0839685283-48">}</span><span·class="p"·data-group-id="0839685283-47">]</span><span·class="p"·data-group-id="0839685283-46">}</span><span·class="p"·data-group-id="0839685283-5">]</span><span·class="p"·data-group-id="0839685283-4">}</span><span·class="gp·unselectable">
 186 3&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="0839685283-50">(</span><span·class="ss">cprof</span><span·class="p"·data-group-id="0839685283-50">)</span><span·class="p">.</span><span·class="w">
 187 </span><span·class="p"·data-group-id="0839685283-51">{</span><span·class="ss">cprof</span><span·class="p">,</span><span·class="mi">3</span><span·class="p">,</span><span·class="p"·data-group-id="0839685283-52">[</span><span·class="p"·data-group-id="0839685283-53">{</span><span·class="p"·data-group-id="0839685283-54">{</span><span·class="ss">cprof</span><span·class="p">,</span><span·class="ss">tr</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0839685283-54">}</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0839685283-53">}</span><span·class="p">,</span><span·class="p"·data-group-id="0839685283-55">{</span><span·class="p"·data-group-id="0839685283-56">{</span><span·class="ss">cprof</span><span·class="p">,</span><span·class="ss">pause</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="0839685283-56">}</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="0839685283-55">}</span><span·class="p"·data-group-id="0839685283-52">]</span><span·class="p"·data-group-id="0839685283-51">}</span><span·class="gp·unselectable">
188 4&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="3899541523-57">(</span><span·class="p"·data-group-id="3899541523-57">)</span><span·class="p">.</span><span·class="w">188 4&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="0839685283-57">(</span><span·class="p"·data-group-id="0839685283-57">)</span><span·class="p">.</span><span·class="w">
189 </span><span·class="mi">8586</span></code></pre><p>The·example·showed·some·of·the·background·work·that·the·shell·performs·just·to189 </span><span·class="mi">8586</span></code></pre><p>The·example·showed·some·of·the·background·work·that·the·shell·performs·just·to
190 interpret·the·first·command·line.</p><p>What·is·captured·in·this·example·is·the·part·of·the·work·the·shell·does·while190 interpret·the·first·command·line.</p><p>What·is·captured·in·this·example·is·the·part·of·the·work·the·shell·does·while
191 interpreting·the·command·line·that·occurs·between·the·actual·calls·to191 interpreting·the·command·line·that·occurs·between·the·actual·calls·to
192 <a·href="cprof.html#start/0"><code·class="inline">cprof:start()</code></a>·and·<a·href="cprof.html#analyse/1"><code·class="inline">cprof:analyse()</code></a>.</p><h2·id="example-one-module"·class="section-heading">192 <a·href="cprof.html#start/0"><code·class="inline">cprof:start()</code></a>·and·<a·href="cprof.html#analyse/1"><code·class="inline">cprof:analyse()</code></a>.</p><h2·id="example-one-module"·class="section-heading">
193 ··<a·href="#example-one-module"·class="hover-link">193 ··<a·href="#example-one-module"·class="hover-link">
194 ····<i·class="ri-link-m"·aria-hidden="true"></i>194 ····<i·class="ri-link-m"·aria-hidden="true"></i>
195 ··</a>195 ··</a>
196 ··<span·class="text">Example:·One·module</span>196 ··<span·class="text">Example:·One·module</span>
197 </h2>197 </h2>
198 <p>From·the·Erlang·shell:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="4465021269-1">(</span><span·class="p"·data-group-id="4465021269-1">)</span><span·class="p">,</span><span·class="n">R</span><span·class="o">=</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">day_of_the_week</span><span·class="p[·...·truncated·by·diffoscope;·len:·419,·SHA:·6b6fb0c3fa7879e34560b31dd95445787b43e8e915d835159f7ba7e545f9b0e2·...·]-3">)</span><span·class="p">,</span><span·class="n">R</span><span·class="p">.</span><span·class="w">198 <p>From·the·Erlang·shell:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="2088309172-1">(</span><span·class="p"·data-group-id="2088309172-1">)</span><span·class="p">,</span><span·class="n">R</span><span·class="o">=</span><span·class="nc">calendar</span><span·class="p">:</span><span·class="nf">day_of_the_week</span><span·class="p[·...·truncated·by·diffoscope;·len:·419,·SHA:·922183b3fc72325a8f46662ec21f8a9af772915cee46be98d5664ad18a404fcf·...·]-3">)</span><span·class="p">,</span><span·class="n">R</span><span·class="p">.</span><span·class="w">
199 </span><span·class="mi">1</span><span·class="gp·unselectable">199 </span><span·class="mi">1</span><span·class="gp·unselectable">
200 2&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="4465021269-4">(</span><span·class="ss">calendar</span><span·class="p"·data-group-id="4465021269-4">)</span><span·class="p">.</span><span·class="w">200 2&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="2088309172-4">(</span><span·class="ss">calendar</span><span·class="p"·data-group-id="2088309172-4">)</span><span·class="p">.</span><span·class="w">
201 </span><span·class="p"·data-group-id="4465021269-5">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="mi">9</span><span·class="p">,</span><span·class="w">201 </span><span·class="p"·data-group-id="2088309172-5">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="mi">9</span><span·class="p">,</span><span·class="w">
202 ··········</span><span·class="p"·data-group-id="4465021269-6">[</span><span·class="p"·data-group-id="4465021269-7">{</span><span·class="p"·data-group-id="4465021269-8">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">last_day_of_the_month1</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·166,·SHA:·b7aab5afa7c47072e0367b97d845138c8aab19bc61ab2f617994d39a6f862290·...·]-7">}</span><span·class="p">,</span><span·class="w">202 ··········</span><span·class="p"·data-group-id="2088309172-6">[</span><span·class="p"·data-group-id="2088309172-7">{</span><span·class="p"·data-group-id="2088309172-8">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">last_day_of_the_month1</span><span·class="p">,</span><s[·...·truncated·by·diffoscope;·len:·166,·SHA:·ba5e1cb965f723d2b885494f057794466a64b1e2501fbe69c219038e6980dd9d·...·]-7">}</span><span·class="p">,</span><span·class="w">
203 ···········</span><span·class="p"·data-group-id="4465021269-9">{</span><span·class="p"·data-group-id="4465021269-10">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">last_day_of_the_month</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·114,·SHA:·22743c95dc4481084737d915db37f9089a840be5e35f8deeb2ab2d71251a9515·...·]-9">}</span><span·class="p">,</span><span·class="w">203 ···········</span><span·class="p"·data-group-id="2088309172-9">{</span><span·class="p"·data-group-id="2088309172-10">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">last_day_of_the_month</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·114,·SHA:·e053a2f0eae7bfd54986386a98804860a8d168d2a1648ebca23120b58d550878·...·]-9">}</span><span·class="p">,</span><span·class="w">
204 ···········</span><span·class="p"·data-group-id="4465021269-11">{</span><span·class="p"·data-group-id="4465021269-12">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">is_leap_year1</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="446502[·...·truncated·by·diffoscope;·len:·107,·SHA:·977941d21bc69fc8833d2df6239884d5f4347d6a68e7fcdc111b2aa377098018·...·]-11">}</span><span·class="p">,</span><span·class="w">204 ···········</span><span·class="p"·data-group-id="2088309172-11">{</span><span·class="p"·data-group-id="2088309172-12">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">is_leap_year1</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="208830[·...·truncated·by·diffoscope;·len:·107,·SHA:·ca76391567e27d10f3a7944972fcba295ad960af0a53201d63839a24561041bd·...·]-11">}</span><span·class="p">,</span><span·class="w">
205 ···········</span><span·class="p"·data-group-id="4465021269-13">{</span><span·class="p"·data-group-id="4465021269-14">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">is_leap_year</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="4465021[·...·truncated·by·diffoscope;·len:·106,·SHA:·22699bec43c9d8d921152b8384e04022fd403152fa101cbadc32655867265ccd·...·]-13">}</span><span·class="p">,</span><span·class="w">205 ···········</span><span·class="p"·data-group-id="2088309172-13">{</span><span·class="p"·data-group-id="2088309172-14">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">is_leap_year</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="2088309[·...·truncated·by·diffoscope;·len:·106,·SHA:·cb98664b91386cea789668c52626bcfe99ce1dfc624516b67819d222ddb3e7ce·...·]-13">}</span><span·class="p">,</span><span·class="w">
206 ···········</span><span·class="p"·data-group-id="4465021269-15">{</span><span·class="p"·data-group-id="4465021269-16">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">dy</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="4465021269-16">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·b5ff4a0a9b615a7e6b0259c0cd51d2414ece517c3f088fb50e466dbe30811aec·...·]-15">}</span><span·class="p">,</span><span·class="w">206 ···········</span><span·class="p"·data-group-id="2088309172-15">{</span><span·class="p"·data-group-id="2088309172-16">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">dy</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="2088309172-16">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·6c6428083de8637b447b581687468211974d4ec5a98871020923f82c67cedec0·...·]-15">}</span><span·class="p">,</span><span·class="w">
207 ···········</span><span·class="p"·data-group-id="4465021269-17">{</span><span·class="p"·data-group-id="4465021269-18">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">dm</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="4465021269-18">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·b5ff4a0a9b615a7e6b0259c0cd51d2414ece517c3f088fb50e466dbe30811aec·...·]-17">}</span><span·class="p">,</span><span·class="w">207 ···········</span><span·class="p"·data-group-id="2088309172-17">{</span><span·class="p"·data-group-id="2088309172-18">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">dm</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="2088309172-18">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·6c6428083de8637b447b581687468211974d4ec5a98871020923f82c67cedec0·...·]-17">}</span><span·class="p">,</span><span·class="w">
208 ···········</span><span·class="p"·data-group-id="4465021269-19">{</span><span·class="p"·data-group-id="4465021269-20">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">df</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="4465021269-20">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·b5ff4a0a9b615a7e6b0259c0cd51d2414ece517c3f088fb50e466dbe30811aec·...·]-19">}</span><span·class="p">,</span><span·class="w">208 ···········</span><span·class="p"·data-group-id="2088309172-19">{</span><span·class="p"·data-group-id="2088309172-20">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">df</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="2088309172-20">}<[·...·truncated·by·diffoscope;·len:·96,·SHA:·6c6428083de8637b447b581687468211974d4ec5a98871020923f82c67cedec0·...·]-19">}</span><span·class="p">,</span><span·class="w">
209 ···········</span><span·class="p"·data-group-id="4465021269-21">{</span><span·class="p"·data-group-id="4465021269-22">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">day_of_the_week</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="4465[·...·truncated·by·diffoscope;·len:·109,·SHA:·c9a92f599bdc4772544644398f6fc1232f3292816d029313983821dd4ae7a087·...·]-21">}</span><span·class="p">,</span><span·class="w">209 ···········</span><span·class="p"·data-group-id="2088309172-21">{</span><span·class="p"·data-group-id="2088309172-22">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">day_of_the_week</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="2088[·...·truncated·by·diffoscope;·len:·109,·SHA:·3b53287570f491626f790e3856ffdbbb98b56227cca940a6a512f31f508ea4c6·...·]-21">}</span><span·class="p">,</span><span·class="w">
210 ···········</span><span·class="p"·data-group-id="4465021269-23">{</span><span·class="p"·data-group-id="4465021269-24">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">date_to_gregorian_days</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·223,·SHA:·926c09128b6a18856c8e81700dd4389974b150598a6c019281fc7a4971dd9d6c·...·]-5">}</span><span·class="gp·unselectable">210 ···········</span><span·class="p"·data-group-id="2088309172-23">{</span><span·class="p"·data-group-id="2088309172-24">{</span><span·class="ss">calendar</span><span·class="p">,</span><span·class="ss">date_to_gregorian_days</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-i[·...·truncated·by·diffoscope;·len:·223,·SHA:·14bae95e69dbfdfa213ca9dfe9078b4f9c1e44f1c011896a26511d2280793970·...·]-5">}</span><span·class="gp·unselectable">
211 3&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="4465021269-25">(</span><span·class="p"·data-group-id="4465021269-25">)</span><span·class="p">.</span><span·class="w">211 3&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="2088309172-25">(</span><span·class="p"·data-group-id="2088309172-25">)</span><span·class="p">.</span><span·class="w">
212 </span><span·class="mi">8648</span></code></pre><p>The·example·tells·us·that·&quot;Aktiebolaget·LM·Ericsson·&amp;·Co&quot;·was·registered·on·a212 </span><span·class="mi">8648</span></code></pre><p>The·example·tells·us·that·&quot;Aktiebolaget·LM·Ericsson·&amp;·Co&quot;·was·registered·on·a
213 Monday·(since·the·return·value·of·the·first·command·is·1),·and·that·the213 Monday·(since·the·return·value·of·the·first·command·is·1),·and·that·the
214 <code·class="inline">calendar</code>·module·needed·9·function·calls·to·calculate·that.</p><p>Using·<code·class="inline">cprof:analyse()</code>·in·this·example·also·shows·approximately·the·same214 <code·class="inline">calendar</code>·module·needed·9·function·calls·to·calculate·that.</p><p>Using·<code·class="inline">cprof:analyse()</code>·in·this·example·also·shows·approximately·the·same
215 background·work·as·in·the·first·example.</p><h2·id="example-in-the-code"·class="section-heading">215 background·work·as·in·the·first·example.</p><h2·id="example-in-the-code"·class="section-heading">
216 ··<a·href="#example-in-the-code"·class="hover-link">216 ··<a·href="#example-in-the-code"·class="hover-link">
217 ····<i·class="ri-link-m"·aria-hidden="true"></i>217 ····<i·class="ri-link-m"·aria-hidden="true"></i>
218 ··</a>218 ··</a>
219 ··<span·class="text">Example:·In·the·code</span>219 ··<span·class="text">Example:·In·the·code</span>
220 </h2>220 </h2>
221 <p>Write·a·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0604564054-1">(</span><span·class="ss">sort</span><span·class="p"·data-group-id="0604564054-1">)</span><span·class="p">.</span><span·class="w"> 
222 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0604564054-2">(</span><span·class="p"·data-group-id="0604564054-3">[</span><span·class="ss">do</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"[·...·truncated·by·diffoscope;·len:·81,·SHA:·26510bf7bd130195d62cef53ea9d76a3690d9cc862efbd1d9e2dace202526f95·...·]">)</span><span·class="p">.</span><span·class="w">221 <p>Write·a·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0359446472-1">(</span><span·class="ss">sort</span><span·class="p"·data-group-id="0359446472-1">)</span><span·class="p">.</span><span·class="w">
 222 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0359446472-2">(</span><span·class="p"·data-group-id="0359446472-3">[</span><span·class="ss">do</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="0359446472-3">]</span><span·class="p"·data-group-id="0359446472-2">)</span><span·class="p">.</span><span·class="w">
  
223 </span><span·class="nf">do</span><span·class="p"·data-group-id="0604564054-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="0604564054-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">223 </span><span·class="nf">do</span><span·class="p"·data-group-id="0359446472-4">(</span><span·class="n">N</span><span·class="p"·data-group-id="0359446472-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
224 ····</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="0604564054-5">(</span><span·class="p"·data-group-id="0604564054-5">)</span><span·class="p">,</span><span·class="w">224 ····</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">stop</span><span·class="p"·data-group-id="0359446472-5">(</span><span·class="p"·data-group-id="0359446472-5">)</span><span·class="p">,</span><span·class="w">
225 ····</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="0604564054-6">(</span><span·class="p"·data-group-id="0604564054-6">)</span><span·class="p">,</span><span·class="w">225 ····</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="0359446472-6">(</span><span·class="p"·data-group-id="0359446472-6">)</span><span·class="p">,</span><span·class="w">
226 ····</span><span·class="nf">do</span><span·class="p"·data-group-id="0604564054-7">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0604564054-8">[</span><span·class="p"·data-group-id="0604564054-8">]</span><span·class="p"·data-group-id="0604564054-7">)</span><span·class="p">.</span><span·class="w">226 ····</span><span·class="nf">do</span><span·class="p"·data-group-id="0359446472-7">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0359446472-8">[</span><span·class="p"·data-group-id="0359446472-8">]</span><span·class="p"·data-group-id="0359446472-7">)</span><span·class="p">.</span><span·class="w">
  
227 </span><span·class="nf">do</span><span·class="p"·data-group-id="0604564054-9">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">L</span><span·class="p"·data-group-id="0604564054-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">227 </span><span·class="nf">do</span><span·class="p"·data-group-id="0359446472-9">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">L</span><span·class="p"·data-group-id="0359446472-9">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
228 ····</span><span·class="n">R</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="0604564054-10">(</span><span·class="n">L</span><span·class="p"·data-group-id="0604564054-10">)</span><span·class="p">,</span><span·class="w">228 ····</span><span·class="n">R</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">sort</span><span·class="p"·data-group-id="0359446472-10">(</span><span·class="n">L</span><span·class="p"·data-group-id="0359446472-10">)</span><span·class="p">,</span><span·class="w">
229 ····</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">pause</span><span·class="p"·data-group-id="0604564054-11">(</span><span·class="p"·data-group-id="0604564054-11">)</span><span·class="p">,</span><span·class="w">229 ····</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">pause</span><span·class="p"·data-group-id="0359446472-11">(</span><span·class="p"·data-group-id="0359446472-11">)</span><span·class="p">,</span><span·class="w">
230 ····</span><span·class="n">R</span><span·class="p">;</span><span·class="w">230 ····</span><span·class="n">R</span><span·class="p">;</span><span·class="w">
231 </span><span·class="nf">do</span><span·class="p"·data-group-id="0604564054-12">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">L</span><span·class="p"·data-group-id="0604564054-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">231 </span><span·class="nf">do</span><span·class="p"·data-group-id="0359446472-12">(</span><span·class="n">N</span><span·class="p">,</span><span·class="w">·</span><span·class="n">L</span><span·class="p"·data-group-id="0359446472-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ····</span><span·class="nf">do</span><span·class="p"·data-group-id="0604564054-13">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0604564054-14">[</span><span·class="nc">rand</span><span·class="p">:</span><span·c[·...·truncated·by·diffoscope;·len:·716,·SHA:·22de2f2ef82d9d7b1ffb9e896b34d3ce13b98a67cf4239503e1c1ee065935761·...·]-1">)</span><span·class="p">.</span><span·class="w">232 ····</span><span·class="nf">do</span><span·class="p"·data-group-id="0359446472-13">(</span><span·class="n">N</span><span·class="o">-</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0359446472-14">[</span><span·class="nc">rand</span><span·class="p">:</span><span·c[·...·truncated·by·diffoscope;·len:·716,·SHA:·78dd8a66999965a722a7d1fe400adc114d8cf4c3ae9eb13853e05a65b85c016f·...·]-1">)</span><span·class="p">.</span><span·class="w">
233 </span><span·class="p"·data-group-id="1461647183-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">sort</span><span·class="p"·data-group-id="1461647183-2">}</span><span·class="gp·unselectable">233 </span><span·class="p"·data-group-id="8486733961-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">sort</span><span·class="p"·data-group-id="8486733961-2">}</span><span·class="gp·unselectable">
234 2&gt;·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">seed</span><span·class="p"·data-group-id="1461647183-3">(</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">42</span><span·class="p"·data-group-id="1461647183-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">234 2&gt;·</span><span·class="nc">rand</span><span·class="p">:</span><span·class="nf">seed</span><span·class="p"·data-group-id="8486733961-3">(</span><span·class="ss">default</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">42</span><span·class="p"·data-group-id="8486733961-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
235 </span><span·class="ss">ok</span><span·class="p">.</span><span·class="gp·unselectable">235 </span><span·class="ss">ok</span><span·class="p">.</span><span·class="gp·unselectable">
236 3&gt;·</span><span·class="nc">sort</span><span·class="p">:</span><span·class="nf">do</span><span·class="p"·data-group-id="1461647183-4">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="1461647183-4">)</span><span·class="p">.</span><span·class="w">236 3&gt;·</span><span·class="nc">sort</span><span·class="p">:</span><span·class="nf">do</span><span·class="p"·data-group-id="8486733961-4">(</span><span·class="mi">1000</span><span·class="p"·data-group-id="8486733961-4">)</span><span·class="p">.</span><span·class="w">
237 </span><span·class="p"·data-group-id="1461647183-5">[</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">1</span><span·class="[·...·truncated·by·diffoscope;·len:·1300,·SHA:·c3e5d7e7b1a89cd44aee62c744730ea4fc8c39a68d3e8f11d5926c355e01c0a4·...·]-5">]</span><span·class="gp·unselectable">237 </span><span·class="p"·data-group-id="8486733961-5">[</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">0</span><span·class="p">,</span><span·class="mi">1</span><span·class="p">,</span><span·class="mi">1</span><span·class="[·...·truncated·by·diffoscope;·len:·1300,·SHA:·93aef8b63108a589d0bc1cbdd70a1bf1f0ab9556d120ff2600225df27be1f2e3·...·]-5">]</span><span·class="gp·unselectable">
238 4&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="1461647183-6">(</span><span·class="p"·data-group-id="1461647183-6">)</span><span·class="p">.</span><span·class="w">238 4&gt;·</span><span·class="nc">cprof</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="8486733961-6">(</span><span·class="p"·data-group-id="8486733961-6">)</span><span·class="p">.</span><span·class="w">
239 </span><span·class="p"·data-group-id="1461647183-7">{</span><span·class="mi">13180</span><span·class="p">,</span><span·class="w">239 </span><span·class="p"·data-group-id="8486733961-7">{</span><span·class="mi">13180</span><span·class="p">,</span><span·class="w">
240 ·</span><span·class="p"·data-group-id="1461647183-8">[</span><span·class="p"·data-group-id="1461647183-9">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="mi">6173</span><span·class="p">,</span><span·class="w">240 ·</span><span·class="p"·data-group-id="8486733961-8">[</span><span·class="p"·data-group-id="8486733961-9">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="mi">6173</span><span·class="p">,</span><span·class="w">
241 ·········</span><span·class="p"·data-group-id="1461647183-10">[</span><span·class="p"·data-group-id="1461647183-11">{</span><span·class="p"·data-group-id="1461647183-12">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">rmerge3_1</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·157,·SHA:·8bd94b90a11d159cd93eb73721994892f56c5b7549e63bb7e75b000fd6ce6e17·...·]-11">}</span><span·class="p">,</span><span·class="w">241 ·········</span><span·class="p"·data-group-id="8486733961-10">[</span><span·class="p"·data-group-id="8486733961-11">{</span><span·class="p"·data-group-id="8486733961-12">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">rmerge3_1</span><span·class="p">,</span><span·class="mi[·...·truncated·by·diffoscope;·len:·157,·SHA:·57282ff7db4888cd4e4ba919b012a24e73b3ae7b010da30393f78538b61abb61·...·]-11">}</span><span·class="p">,</span><span·class="w">
242 ··········</span><span·class="p"·data-group-id="1461647183-13">{</span><span·class="p"·data-group-id="1461647183-14">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">rmerge3_2</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1461647183-14[·...·truncated·by·diffoscope;·len:·102,·SHA:·a1bca179390cd710d71dccdc9b6e360b91e5c3d86390e95be99c7e943d4cbbae·...·]-13">}</span><span·class="p">,</span><span·class="w">242 ··········</span><span·class="p"·data-group-id="8486733961-13">{</span><span·class="p"·data-group-id="8486733961-14">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">rmerge3_2</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="8486733961-14[·...·truncated·by·diffoscope;·len:·102,·SHA:·5f6ee7ebe46e20585677f64ce24847e3ac9c7b528381047d7db47eb420a5d052·...·]-13">}</span><span·class="p">,</span><span·class="w">
243 ··········</span><span·class="p"·data-group-id="1461647183-15">{</span><span·class="p"·data-group-id="1461647183-16">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">split_1</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="1461647183-16">[·...·truncated·by·diffoscope;·len:·100,·SHA:·b94687a9da931686ddc13495b2281207588f1cbad03c29c0714db1cbdb933e75·...·]-15">}</span><span·class="p">,</span><span·class="w">243 ··········</span><span·class="p"·data-group-id="8486733961-15">{</span><span·class="p"·data-group-id="8486733961-16">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">split_1</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="8486733961-16">[·...·truncated·by·diffoscope;·len:·100,·SHA:·5786f8b47b915db8775c065026d9c580c9cef155bee8d1cbe4b7f8c10ed06c13·...·]-15">}</span><span·class="p">,</span><span·class="w">
244 ··········</span><span·class="p"·data-group-id="1461647183-17">{</span><span·class="p"·data-group-id="1461647183-18">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">merge3_1</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1461647183-18"[·...·truncated·by·diffoscope;·len:·101,·SHA:·28eb82856d7045f4ab84fc4847bea52d6c4a3d72c2a5c0f28deea875959b5c69·...·]-17">}</span><span·class="p">,</span><span·class="w">244 ··········</span><span·class="p"·data-group-id="8486733961-17">{</span><span·class="p"·data-group-id="8486733961-18">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">merge3_1</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="8486733961-18"[·...·truncated·by·diffoscope;·len:·101,·SHA:·ba0e723573ff7a51129c3e2e529ca9bdc4d0f269bc1247977a48742f6c6bf9c2·...·]-17">}</span><span·class="p">,</span><span·class="w">
245 ··········</span><span·class="p"·data-group-id="1461647183-19">{</span><span·class="p"·data-group-id="1461647183-20">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">merge3_2</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1461647183-20"[·...·truncated·by·diffoscope;·len:·101,·SHA:·54709545d8c361f26184e4c7b0e36f6aa68d98faf041b4cb8fcf6b1e827062ef·...·]-19">}</span><span·class="p">,</span><span·class="w">245 ··········</span><span·class="p"·data-group-id="8486733961-19">{</span><span·class="p"·data-group-id="8486733961-20">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">merge3_2</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="8486733961-20"[·...·truncated·by·diffoscope;·len:·101,·SHA:·6aaa42abc8d77599be71bf23e71bde15c7da5414aa689400ef673ce73e8e91b6·...·]-19">}</span><span·class="p">,</span><span·class="w">
246 ··········</span><span·class="p"·data-group-id="1461647183-21">{</span><span·class="p"·data-group-id="1461647183-22">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">rmerge3_12_3</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1461647183[·...·truncated·by·diffoscope;·len:·105,·SHA:·95e83ef0ed3deb038d5ebe9261b59ec2a71364952496e622eecd95440cf2b40f·...·]-21">}</span><span·class="p">,</span><span·class="w">246 ··········</span><span·class="p"·data-group-id="8486733961-21">{</span><span·class="p"·data-group-id="8486733961-22">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">rmerge3_12_3</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="8486733961[·...·truncated·by·diffoscope;·len:·105,·SHA:·d0429ae02cbb54954d6f540f36169c575a51ef4b2c5706c7e4b6f8db655f2107·...·]-21">}</span><span·class="p">,</span><span·class="w">
247 ··········</span><span·class="p"·data-group-id="1461647183-23">{</span><span·class="p"·data-group-id="1461647183-24">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">split_1_1</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1461647183-24[·...·truncated·by·diffoscope;·len:·102,·SHA:·b0e30287dd856519be7bb580300ba14387d6764ad9fd5f952ff4baf44493224f·...·]-23">}</span><span·class="p">,</span><span·class="w">247 ··········</span><span·class="p"·data-group-id="8486733961-23">{</span><span·class="p"·data-group-id="8486733961-24">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">split_1_1</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="8486733961-24[·...·truncated·by·diffoscope;·len:·102,·SHA:·9b973b0b28a4df44936c8371ca4a03eeeb39d69879782b33a089bb6e82c3a3e2·...·]-23">}</span><span·class="p">,</span><span·class="w">
248 ··········</span><span·class="p"·data-group-id="1461647183-25">{</span><span·class="p"·data-group-id="1461647183-26">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">merge3_12_3</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1461647183-[·...·truncated·by·diffoscope;·len:·104,·SHA:·1a79bf2d9fc7e00f4097ecc78bbca64770c52f991acc795ccd6eea450cf438b5·...·]-25">}</span><span·class="p">,</span><span·class="w">248 ··········</span><span·class="p"·data-group-id="8486733961-25">{</span><span·class="p"·data-group-id="8486733961-26">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">merge3_12_3</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="8486733961-[·...·truncated·by·diffoscope;·len:·104,·SHA:·cb93711b50d0c57d815315d22deab9479e2d18325e47e62d93d5b23eb1ba4b9e·...·]-25">}</span><span·class="p">,</span><span·class="w">
249 ··········</span><span·class="p"·data-group-id="1461647183-27">{</span><span·class="p"·data-group-id="1461647183-28">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">rmerge3_21_3</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1461647183[·...·truncated·by·diffoscope;·len:·105,·SHA:·80ae0453c7697eac7ef15dda1cc9bdd39a9d95e2cdd0398a992e3d6e1df3f977·...·]-27">}</span><span·class="p">,</span><span·class="w">249 ··········</span><span·class="p"·data-group-id="8486733961-27">{</span><span·class="p"·data-group-id="8486733961-28">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">rmerge3_21_3</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="8486733961[·...·truncated·by·diffoscope;·len:·105,·SHA:·98d0acf94a3150a6ac052acbfea79a31a4c8881f3cab850ca3af9d4318e0e9e3·...·]-27">}</span><span·class="p">,</span><span·class="w">
250 ··········</span><span·class="p"·data-group-id="1461647183-29">{</span><span·class="p"·data-group-id="1461647183-30">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">merge3_21_3</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="1461647183-[·...·truncated·by·diffoscope;·len:·104,·SHA:·5066846bb7f6a4a80cd48fa4075af0561f01bace442b2ac4fae7e4ddbe8e5c61·...·]-29">}</span><span·class="p">,</span><span·class="w">250 ··········</span><span·class="p"·data-group-id="8486733961-29">{</span><span·class="p"·data-group-id="8486733961-30">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">merge3_21_3</span><span·class="p">,</span><span·class="mi">6</span><span·class="p"·data-group-id="8486733961-[·...·truncated·by·diffoscope;·len:·104,·SHA:·fba1bd4b348fe8f339253283e4f2e9093a616984748a0893d3e444d3bb58f9e0·...·]-29">}</span><span·class="p">,</span><span·class="w">
251 ··········</span><span·class="p"·data-group-id="1461647183-31">{</span><span·class="p"·data-group-id="1461647183-32">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">merge2_1</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="1461647183-32"[·...·truncated·by·diffoscope;·len:·101,·SHA:·bcd59fd8f1d9864870f625ed3010c865287737999a134be94b68bfb61bbfc733·...·]-31">}</span><span·class="p">,</span><span·class="w">251 ··········</span><span·class="p"·data-group-id="8486733961-31">{</span><span·class="p"·data-group-id="8486733961-32">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">merge2_1</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="8486733961-32"[·...·truncated·by·diffoscope;·len:·101,·SHA:·cfab09f5c40f841b17d9770ef847d10a2ab8954a2b657761d34e84cc37a00481·...·]-31">}</span><span·class="p">,</span><span·class="w">
252 ··········</span><span·class="p"·data-group-id="1461647183-33">{</span><span·class="p"·data-group-id="1461647183-34">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">merge2_2</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="1461647183-34"[·...·truncated·by·diffoscope;·len:·101,·SHA:·0baf7e166ba427d721539167eb87920a5e7054817acfb22af36f8102ad3b6ddd·...·]-33">}</span><span·class="p">,</span><span·class="w">252 ··········</span><span·class="p"·data-group-id="8486733961-33">{</span><span·class="p"·data-group-id="8486733961-34">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">merge2_2</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="8486733961-34"[·...·truncated·by·diffoscope;·len:·101,·SHA:·a23f74ca14c728e6f1f7cc6811241e663e9a88c441720d3e34bc0e6bc38e4069·...·]-33">}</span><span·class="p">,</span><span·class="w">
253 ··········</span><span·class="p"·data-group-id="1461647183-35">{</span><span·class="p"·data-group-id="1461647183-36">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">reverse</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1461647183-36">[·...·truncated·by·diffoscope;·len:·100,·SHA:·b71c1517c367c30cdde3755616b58e28f7e272b867f4e78c981b473ae25243a7·...·]-35">}</span><span·class="p">,</span><span·class="w">253 ··········</span><span·class="p"·data-group-id="8486733961-35">{</span><span·class="p"·data-group-id="8486733961-36">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">reverse</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="8486733961-36">[·...·truncated·by·diffoscope;·len:·100,·SHA:·7df5de447b8e572dbc63704350b2a1b7e457b1a6651db27509a56042039dd5d3·...·]-35">}</span><span·class="p">,</span><span·class="w">
254 ··········</span><span·class="p"·data-group-id="1461647183-37">{</span><span·class="p"·data-group-id="1461647183-38">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">rmerge2_2</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="1461647183-38[·...·truncated·by·diffoscope;·len:·101,·SHA:·1e70e81830fc2fb51d138d367f774da3df2aaa51b8dbcc78f6b50be6f9d1ecec·...·]-37">}</span><span·class="p">,</span><span·class="w">254 ··········</span><span·class="p"·data-group-id="8486733961-37">{</span><span·class="p"·data-group-id="8486733961-38">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">rmerge2_2</span><span·class="p">,</span><span·class="mi">5</span><span·class="p"·data-group-id="8486733961-38[·...·truncated·by·diffoscope;·len:·101,·SHA:·55c1483296a3a52308920828dcad6d6211220ba6f65afb7ccc57dea6efbee421·...·]-37">}</span><span·class="p">,</span><span·class="w">
255 ··········</span><span·class="p"·data-group-id="1461647183-39">{</span><span·class="p"·data-group-id="1461647183-40">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">rmergel</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1461647183-40">[·...·truncated·by·diffoscope;·len:·99,·SHA:·f17f752d4e448f0071c0d470bc94ac2e51115748c70e0af8235c5f59feca5b9c·...·]-39">}</span><span·class="p">,</span><span·class="w">255 ··········</span><span·class="p"·data-group-id="8486733961-39">{</span><span·class="p"·data-group-id="8486733961-40">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">rmergel</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="8486733961-40">[·...·truncated·by·diffoscope;·len:·99,·SHA:·082a48bba6b88f8d9adbaa6bcda58b99a1c6f77a5cc3a31efa13600193dfe3aa·...·]-39">}</span><span·class="p">,</span><span·class="w">
256 ··········</span><span·class="p"·data-group-id="1461647183-41">{</span><span·class="p"·data-group-id="1461647183-42">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">rmerge2_1</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="1461647183-42[·...·truncated·by·diffoscope;·len:·101,·SHA:·abbca93760776fb521dd381de7b584a3809fe57d6e59e227bff680bb3cd65505·...·]-41">}</span><span·class="p">,</span><span·class="w">256 ··········</span><span·class="p"·data-group-id="8486733961-41">{</span><span·class="p"·data-group-id="8486733961-42">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">rmerge2_1</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="8486733961-42[·...·truncated·by·diffoscope;·len:·101,·SHA:·db0f761f2c94bc977fcc96edc65c1eee67dc82b5826517e6b0a3cb9d1b596aea·...·]-41">}</span><span·class="p">,</span><span·class="w">
257 ··········</span><span·class="p"·data-group-id="1461647183-43">{</span><span·class="p"·data-group-id="1461647183-44">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">mergel</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1461647183-44">}[·...·truncated·by·diffoscope;·len:·98,·SHA:·cb3f47e2691025e99f4bbd92ccb7296027f120d5fc1f62e109a8e5ad4d26fdf4·...·]-43">}</span><span·class="p">,</span><span·class="w">257 ··········</span><span·class="p"·data-group-id="8486733961-43">{</span><span·class="p"·data-group-id="8486733961-44">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">mergel</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="8486733961-44">}[·...·truncated·by·diffoscope;·len:·98,·SHA:·de8c653b3a1dbbdf847b0f21053ac8c05b64334e63e68b7aa5f44154471b7dbb·...·]-43">}</span><span·class="p">,</span><span·class="w">
258 ··········</span><span·class="p"·data-group-id="1461647183-45">{</span><span·class="p"·data-group-id="1461647183-46">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">keyfind</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="1461647183-46">[·...·truncated·by·diffoscope;·len:·98,·SHA:·0511393518bf275b50fb2ee1d5dd5b057c25cb13e5fb29ab7fd355f96f5d42af·...·]-45">}</span><span·class="p">,</span><span·class="w">258 ··········</span><span·class="p"·data-group-id="8486733961-45">{</span><span·class="p"·data-group-id="8486733961-46">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">keyfind</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="8486733961-46">[·...·truncated·by·diffoscope;·len:·98,·SHA:·5dec28b1ac545368ec628d1ec8737e2bcca524bd3f19963bfd2712d2f0927ee4·...·]-45">}</span><span·class="p">,</span><span·class="w">
259 ··········</span><span·class="p"·data-group-id="1461647183-47">{</span><span·class="p"·data-group-id="1461647183-48">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">sort</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="1461647183-48">}</[·...·truncated·by·diffoscope;·len:·203,·SHA:·d5f131e64aabfb9050f9237f9eed2ce0936c4000ce1952a45147c658656a95b5·...·]-9">}</span><span·class="p">,</span><span·class="w">259 ··········</span><span·class="p"·data-group-id="8486733961-47">{</span><span·class="p"·data-group-id="8486733961-48">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">sort</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8486733961-48">}</[·...·truncated·by·diffoscope;·len:·203,·SHA:·1b814792857917f8cec528fe857c1b60f918f32ab7e4a440b49118575581b39e·...·]-9">}</span><span·class="p">,</span><span·class="w">
260 ··</span><span·class="p"·data-group-id="1461647183-49">{</span><span·class="ss">rand</span><span·class="p">,</span><span·class="mi">5000</span><span·class="p">,</span><span·class="w">260 ··</span><span·class="p"·data-group-id="8486733961-49">{</span><span·class="ss">rand</span><span·class="p">,</span><span·class="mi">5000</span><span·class="p">,</span><span·class="w">
261 ········</span><span·class="p"·data-group-id="1461647183-50">[</span><span·class="p"·data-group-id="1461647183-51">{</span><span·class="p"·data-group-id="1461647183-52">{</span><span·class="ss">rand</span><span·class="p">,</span><span·class="ss">uniform_s</span><span·class="p">,</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·156,·SHA:·a9137802cb3bbbc22d7a2c5e2b536d9fd23143a05433776ee6d034b69e5dc4d1·...·]-51">}</span><span·class="p">,</span><span·class="w">261 ········</span><span·class="p"·data-group-id="8486733961-50">[</span><span·class="p"·data-group-id="8486733961-51">{</span><span·class="p"·data-group-id="8486733961-52">{</span><span·class="ss">rand</span><span·class="p">,</span><span·class="ss">uniform_s</span><span·class="p">,</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·156,·SHA:·1083cc859c770ceba43b05874fea40ae0b8e64a9784c8e1021a4418f47338db8·...·]-51">}</span><span·class="p">,</span><span·class="w">
262 ·········</span><span·class="p"·data-group-id="1461647183-53">{</span><span·class="p"·data-group-id="1461647183-54">{</span><span·class="ss">rand</span><span·class="p">,</span><span·class="ss">uniform</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="1461647183-54">}[·...·truncated·by·diffoscope;·len:·100,·SHA:·72d9ffaae421ce88a46636d54a723a3e84a0ea444e9ff5ca80a79dda7a83f5ed·...·]-53">}</span><span·class="p">,</span><span·class="w">262 ·········</span><span·class="p"·data-group-id="8486733961-53">{</span><span·class="p"·data-group-id="8486733961-54">{</span><span·class="ss">rand</span><span·class="p">,</span><span·class="ss">uniform</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8486733961-54">}[·...·truncated·by·diffoscope;·len:·100,·SHA:·e3ce7dfbed6d2ac00314318d8e38cd27a1b6b1acf7e02ca254205948d60d2579·...·]-53">}</span><span·class="p">,</span><span·class="w">
263 ·········</span><span·class="p"·data-group-id="1461647183-55">{</span><span·class="p"·data-group-id="1461647183-56">{</span><span·class="ss">rand</span><span·class="p">,</span><span·class="ss">seed_put</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="1461647183-56">[·...·truncated·by·diffoscope;·len:·101,·SHA:·672f77ff8a523ea68c077ff9fe48a5fc64320418b349db265cd5cfb8d5532d55·...·]-55">}</span><span·class="p">,</span><span·class="w">263 ·········</span><span·class="p"·data-group-id="8486733961-55">{</span><span·class="p"·data-group-id="8486733961-56">{</span><span·class="ss">rand</span><span·class="p">,</span><span·class="ss">seed_put</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="8486733961-56">[·...·truncated·by·diffoscope;·len:·101,·SHA:·cf5b06eaeafad54835dc81fd4b115065bf568d874a10c6be1084ad7fc334f7b8·...·]-55">}</span><span·class="p">,</span><span·class="w">
264 ·········</span><span·class="p"·data-group-id="1461647183-57">{</span><span·class="p"·data-group-id="1461647183-58">{</span><span·class="ss">rand</span><span·class="p">,</span><span·class="ss">seed_get</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="1461647183-58">[·...·truncated·by·diffoscope;·len:·101,·SHA:·672f77ff8a523ea68c077ff9fe48a5fc64320418b349db265cd5cfb8d5532d55·...·]-57">}</span><span·class="p">,</span><span·class="w">264 ·········</span><span·class="p"·data-group-id="8486733961-57">{</span><span·class="p"·data-group-id="8486733961-58">{</span><span·class="ss">rand</span><span·class="p">,</span><span·class="ss">seed_get</span><span·class="p">,</span><span·class="mi">0</span><span·class="p"·data-group-id="8486733961-58">[·...·truncated·by·diffoscope;·len:·101,·SHA:·cf5b06eaeafad54835dc81fd4b115065bf568d874a10c6be1084ad7fc334f7b8·...·]-57">}</span><span·class="p">,</span><span·class="w">
265 ·········</span><span·class="p"·data-group-id="1461647183-59">{</span><span·class="p"·data-group-id="1461647183-60">{</span><span·class="ss">rand</span><span·class="p">,</span><span·class="ss">exsss_uniform</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1461647183[·...·truncated·by·diffoscope;·len:·214,·SHA:·37d9f404a1c20530752102c962ad4f256c198bfa1c2cb0389a3f5b2c9d645f9c·...·]-49">}</span><span·class="p">,</span><span·class="w">265 ·········</span><span·class="p"·data-group-id="8486733961-59">{</span><span·class="p"·data-group-id="8486733961-60">{</span><span·class="ss">rand</span><span·class="p">,</span><span·class="ss">exsss_uniform</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="8486733961[·...·truncated·by·diffoscope;·len:·214,·SHA:·83862e29b94cad9f24e6706aa31312a1ad2dc5a0f91a134cbc111305d0e887b9·...·]-49">}</span><span·class="p">,</span><span·class="w">
266 ··</span><span·class="p"·data-group-id="1461647183-61">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="mi">1004</span><span·class="p">,</span><span·class="w">266 ··</span><span·class="p"·data-group-id="8486733961-61">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="mi">1004</span><span·class="p">,</span><span·class="w">
267 ··········</span><span·class="p"·data-group-id="1461647183-62">[</span><span·class="p"·data-group-id="1461647183-63">{</span><span·class="p"·data-group-id="1461647183-64">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="nb">put</span><span·class="p">,</span><span·class="mi">2</[·...·truncated·by·diffoscope;·len:·152,·SHA:·6b67634d70f9f98d9c3c9e7f79e7de87a2e696591c6748953e85af0b2e181662·...·]-63">}</span><span·class="p">,</span><span·class="w">267 ··········</span><span·class="p"·data-group-id="8486733961-62">[</span><span·class="p"·data-group-id="8486733961-63">{</span><span·class="p"·data-group-id="8486733961-64">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="nb">put</span><span·class="p">,</span><span·class="mi">2</[·...·truncated·by·diffoscope;·len:·152,·SHA:·71cb9cf3a18d6cfb89f6bd07447f640b8e49cf1de8f537cfc1c4f8afd3e114e1·...·]-63">}</span><span·class="p">,</span><span·class="w">
268 ···········</span><span·class="p"·data-group-id="1461647183-65">{</span><span·class="p"·data-group-id="1461647183-66">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="nb">trace_pattern</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="14616471[·...·truncated·by·diffoscope;·len:·105,·SHA:·bc0882a8972f7559e87cab0f683f225554d0798e022e204b2ec20b4eba3097d7·...·]-65">}</span><span·class="p">,</span><span·class="w">268 ···········</span><span·class="p"·data-group-id="8486733961-65">{</span><span·class="p"·data-group-id="8486733961-66">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="nb">trace_pattern</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="84867339[·...·truncated·by·diffoscope;·len:·105,·SHA:·826fb282b102726debbf8ff7955e0d978c34cfce286cc0d6f9e77a3a9f15f10c·...·]-65">}</span><span·class="p">,</span><span·class="w">
269 ···········</span><span·class="p"·data-group-id="1461647183-67">{</span><span·class="p"·data-group-id="1461647183-68">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="ss">ensure_tracer_module_loaded</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1461647183-68">}</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1461647183-67">}</span><span·class="p"·data-group-id="1461647183-62">]</span><span·class="p"·data-group-id="1461647183-61">}</span><span·class="p">,</span><span·class="w"> 
270 ··</span><span·class="p"·data-group-id="1461647183-69">{</span><span·class="ss">sort</span><span·class="p">,</span><span·class="mi">1001</span><span·class="p">,</span><span·class="p"·data-group-id="1461647183-70">[</span><span·class="p"·data-group-id="146164[·...·truncated·by·diffoscope;·len:·456,·SHA:·3ac75b337174cebbee20204ef9a8df57fc5c7543c5ec5d80f53b90002d651613·...·]">}</span><span·class="p">,</span><span·class="w">269 ···········</span><span·class="p"·data-group-id="8486733961-67">{</span><span·class="p"·data-group-id="8486733961-68">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="ss">ensure_tracer_module_loaded</span><span·class="p">,</span><sp[·...·truncated·by·diffoscope;·len:·277,·SHA:·e3305020be313af60ee148f5bff56d8152069bcc711b3797528ff7dde1a591af·...·]">}</span><span·class="p">,</span><span·class="w">
 270 ··</span><span·class="p"·data-group-id="8486733961-69">{</span><span·class="ss">sort</span><span·class="p">,</span><span·class="mi">1001</span><span·class="p">,</span><span·class="p"·data-group-id="8486733961-70">[</span><span·class="p"·data-group-id="8486733961-71">{</span><span·class="p"·data-group-id="8486733961-72">{</span><span·class="ss">sort</span><span·class="p">,</span><span·class="ss">do</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="8486733961-72">}</span><span·class="p">,</span><span·class="mi">1001</span><span·class="p"·data-group-id="8486733961-71">}</span><span·class="p"·data-group-id="8486733961-70">]</span><span·class="p"·data-group-id="8486733961-69">}</span><span·class="p">,</span><span·class="w">
Max diff block lines reached; 1113/85610 bytes (1.30%) of diff not shown.
824 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/eprof.html
    
Offset 971, 15 lines modifiedOffset 971, 15 lines modified
971 ······<p·class="built-using">971 ······<p·class="built-using">
972 ········Built·using972 ········Built·using
973 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the973 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
974 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>974 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
975 ······</p>975 ······</p>
976 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>976 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
977 ····</footer>977 ····</footer>
978 ··</div>978 ··</div>
979 </main>979 </main>
980 </div>980 </div>
981 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>981 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
982 ··<script>982 ··<script>
983 ··let·initialized·=·false;983 ··let·initialized·=·false;
694 B
html2text {}
Max HTML report size reached
16.1 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/erlang-el.html
    
Offset 207, 31 lines modifiedOffset 207, 31 lines modified
207 ····<i·class="ri-link-m"·aria-hidden="true"></i>207 ····<i·class="ri-link-m"·aria-hidden="true"></i>
208 ··</a>208 ··</a>
209 ··<span·class="text">Edit·-·Alignment</span>209 ··<span·class="text">Edit·-·Alignment</span>
210 </h2>210 </h2>
211 <ul><li>··<em><code·class="inline">C-c·C-a</code></em>·(<code·class="inline">align-current</code>)·-·aligns·comments,·arrows,·assignments,211 <ul><li>··<em><code·class="inline">C-c·C-a</code></em>·(<code·class="inline">align-current</code>)·-·aligns·comments,·arrows,·assignments,
212 and·type·annotations·around·the·cursor.</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Example</span><span·class="p">:</span><span·class="w">212 and·type·annotations·around·the·cursor.</li></ul><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Example</span><span·class="p">:</span><span·class="w">
  
213 </span><span·class="nf">sum</span><span·class="p"·data-group-id="8880434812-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="8880434812-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">sum</span><span·class="p"·data-group-id="8880434812-2">(</span><[·...·truncated·by·diffoscope;·len:·137,·SHA:·3f61f1f89b281885793077470bfdd86b20e32cb207268d7b2244b663711a08ca·...·]-2">)</span><span·class="p">.</span><span·class="w">213 </span><span·class="nf">sum</span><span·class="p"·data-group-id="7157200020-1">(</span><span·class="n">L</span><span·class="p"·data-group-id="7157200020-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">sum</span><span·class="p"·data-group-id="7157200020-2">(</span><[·...·truncated·by·diffoscope;·len:·137,·SHA:·0a674f58643551beb50ae9191b6261dd3f5a7faff9e85fdea024b6d9dd3471be·...·]-2">)</span><span·class="p">.</span><span·class="w">
214 </span><span·class="nf">sum</span><span·class="p"·data-group-id="8880434812-3">(</span><span·class="p"·data-group-id="8880434812-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="8880434812-4">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·462,·SHA:·bddb20fb54ac41562518a1795d0a5fce17687014502a53eb605383c385c22858·...·]-5">)</span><span·class="p">;</span><span·class="w">··</span><span·class="c1">%·recurse</span><span·class="w">214 </span><span·class="nf">sum</span><span·class="p"·data-group-id="7157200020-3">(</span><span·class="p"·data-group-id="7157200020-4">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="7157200020-4">]</span><span·class="p">,</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·462,·SHA:·64a7f0336ac12f830a939deedd3055fbde56d2d64e0a6a754f61c437265fb1ad·...·]-5">)</span><span·class="p">;</span><span·class="w">··</span><span·class="c1">%·recurse</span><span·class="w">
215 </span><span·class="nf">sum</span><span·class="p"·data-group-id="8880434812-6">(</span><span·class="p"·data-group-id="8880434812-7">[</span><span·class="p"·data-group-id="8880434812-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="8880434812-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p">.</span><span·class="w">···</span><span·class="c1">%·base·case</span><span·class="w">215 </span><span·class="nf">sum</span><span·class="p"·data-group-id="7157200020-6">(</span><span·class="p"·data-group-id="7157200020-7">[</span><span·class="p"·data-group-id="7157200020-7">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="7157200020-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p">.</span><span·class="w">···</span><span·class="c1">%·base·case</span><span·class="w">
216 </span><span·class="w">216 </span><span·class="w">
217 </span><span·class="p">-</span><span·class="na">record</span><span·class="w">·</span><span·class="p"·data-group-id="8880434812-8">{</span><span·class="w">·</span><span·class="ss">two</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="8880434812-9">(</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·583335916e9d3a02b498677e35d4a2a24f8b7ea9e3e2f21fa3c6c353686a880b·...·]-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·hello</span><span·class="w">217 </span><span·class="p">-</span><span·class="na">record</span><span·class="w">·</span><span·class="p"·data-group-id="7157200020-8">{</span><span·class="w">·</span><span·class="ss">two</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="7157200020-9">(</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·11298706aff5e1cdd7289dd6d0736690e407ca905bd09b3d0494a9b76415e269·...·]-9">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·hello</span><span·class="w">
218 ··········</span><span·class="ss">three</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">hello</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="8880434812-10">(</span><span·class="p"·data-group-id="8880434812-10">)</span><span·class="p">,</span><span·class="w">····</span><span·class="c1">%·there</span><span·class="w">218 ··········</span><span·class="ss">three</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">hello</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="7157200020-10">(</span><span·class="p"·data-group-id="7157200020-10">)</span><span·class="p">,</span><span·class="w">····</span><span·class="c1">%·there</span><span·class="w">
219 ··········</span><span·class="ss">four</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">42</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="8880434812-11">(</span><span·class="p"·data-group-id="8880434812-11">)</span><span·class="w">·</span><span·class="p"·data-group-id="8880434812-8">}</span><span·class="p">.</span><span·class="w">219 ··········</span><span·class="ss">four</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">42</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="7157200020-11">(</span><span·class="p"·data-group-id="7157200020-11">)</span><span·class="w">·</span><span·class="p"·data-group-id="7157200020-8">}</span><span·class="p">.</span><span·class="w">
  
220 </span><span·class="nc">becomes</span><span·class="p">:</span><span·class="w">220 </span><span·class="nc">becomes</span><span·class="p">:</span><span·class="w">
  
221 </span><span·class="nf">sum</span><span·class="p"·data-group-id="8880434812-12">(</span><span·class="n">L</span><span·class="p"·data-group-id="8880434812-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">sum</span><span·class="p"·data-group-id="8880434812-13">(</spa[·...·truncated·by·diffoscope;·len:·140,·SHA:·5e62bd6aa0e0f3230dde0ffbb2a2da001f1584125f09cb719afe71c46d206c99·...·]-13">)</span><span·class="p">.</span><span·class="w">221 </span><span·class="nf">sum</span><span·class="p"·data-group-id="7157200020-12">(</span><span·class="n">L</span><span·class="p"·data-group-id="7157200020-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nf">sum</span><span·class="p"·data-group-id="7157200020-13">(</spa[·...·truncated·by·diffoscope;·len:·140,·SHA:·5ad5f85d6246630f074c34bfa1795d68c61eeee47dd946d3f1003c90f79d13f6·...·]-13">)</span><span·class="p">.</span><span·class="w">
222 </span><span·class="nf">sum</span><span·class="p"·data-group-id="8880434812-14">(</span><span·class="p"·data-group-id="8880434812-15">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="8880434812-15">]</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·467,·SHA:·48ed1a84e9cb64f714634398fac54501b611220393b1e42bda76c5748c9a017f·...·]-16">)</span><span·class="p">;</span><span·class="w">·</span><span·class="c1">%·recurse</span><span·class="w">222 </span><span·class="nf">sum</span><span·class="p"·data-group-id="7157200020-14">(</span><span·class="p"·data-group-id="7157200020-15">[</span><span·class="n">H</span><span·class="p">|</span><span·class="n">T</span><span·class="p"·data-group-id="7157200020-15">]</span><span·class="p">,</span><span·class="w">·</span><span[·...·truncated·by·diffoscope;·len:·467,·SHA:·86a7057866376d3d7460e9934d98e0f46a6049cec110d6677a9787125ae72ff6·...·]-16">)</span><span·class="p">;</span><span·class="w">·</span><span·class="c1">%·recurse</span><span·class="w">
223 </span><span·class="nf">sum</span><span·class="p"·data-group-id="8880434812-17">(</span><span·class="p"·data-group-id="8880434812-18">[</span><span·class="p"·data-group-id="8880434812-18">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="8880434812-17">)</span><span·class="w">····</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p">.</span><span·class="w">·············</span><span·class="c1">%·base·case</span><span·class="w">223 </span><span·class="nf">sum</span><span·class="p"·data-group-id="7157200020-17">(</span><span·class="p"·data-group-id="7157200020-18">[</span><span·class="p"·data-group-id="7157200020-18">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="7157200020-17">)</span><span·class="w">····</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p">.</span><span·class="w">·············</span><span·class="c1">%·base·case</span><span·class="w">
224 </span><span·class="w">224 </span><span·class="w">
225 </span><span·class="p">-</span><span·class="na">record</span><span·class="w">·</span><span·class="p"·data-group-id="8880434812-19">{</span><span·class="w">·</span><span·class="ss">two</span><span·class="w">···········</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="8880434812-20">(</[·...·truncated·by·diffoscope;·len:·46,·SHA:·be139c37bf86f97ad6ea038bd764c351215afd0a4b1e3b07c3a7fd6d40d6570a·...·]-20">)</span><span·class="p">,</span><span·class="w">····</span><span·class="c1">%·hello</span><span·class="w">225 </span><span·class="p">-</span><span·class="na">record</span><span·class="w">·</span><span·class="p"·data-group-id="7157200020-19">{</span><span·class="w">·</span><span·class="ss">two</span><span·class="w">···········</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="7157200020-20">(</[·...·truncated·by·diffoscope;·len:·46,·SHA:·fe84a76c4adf2a2bfaf75f7a26a5ea1c4f96bfd4c982908c61b6991622de3659·...·]-20">)</span><span·class="p">,</span><span·class="w">····</span><span·class="c1">%·hello</span><span·class="w">
226 ··········</span><span·class="ss">three</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">hello</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="8880434812-21">(</span><span·class="p"·data-group-id="8880434812-21">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·there</span><span·class="w">226 ··········</span><span·class="ss">three</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">hello</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">string</span><span·class="p"·data-group-id="7157200020-21">(</span><span·class="p"·data-group-id="7157200020-21">)</span><span·class="p">,</span><span·class="w">·</span><span·class="c1">%·there</span><span·class="w">
227 ··········</span><span·class="ss">four</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">42</span><span·class="w">····</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="8880434812-22">(</span><span·class="p"·data-group-id="8880434812-22">)</span><span·class="w">·</span><span·class="p"·data-group-id="8880434812-19">}</span><span·class="p">.</span></code></pre><h2·id="syntax-highlighting"·class="section-heading">227 ··········</span><span·class="ss">four</span><span·class="w">··</span><span·class="o">=</span><span·class="w">·</span><span·class="mi">42</span><span·class="w">····</span><span·class="p">:</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">int</span><span·class="p"·data-group-id="7157200020-22">(</span><span·class="p"·data-group-id="7157200020-22">)</span><span·class="w">·</span><span·class="p"·data-group-id="7157200020-19">}</span><span·class="p">.</span></code></pre><h2·id="syntax-highlighting"·class="section-heading">
228 ··<a·href="#syntax-highlighting"·class="hover-link">228 ··<a·href="#syntax-highlighting"·class="hover-link">
229 ····<i·class="ri-link-m"·aria-hidden="true"></i>229 ····<i·class="ri-link-m"·aria-hidden="true"></i>
230 ··</a>230 ··</a>
231 ··<span·class="text">Syntax·highlighting</span>231 ··<span·class="text">Syntax·highlighting</span>
232 </h2>232 </h2>
233 <p>The·syntax·highlighting·can·be·activated·from·the·Erlang·menu.·There·are·four233 <p>The·syntax·highlighting·can·be·activated·from·the·Erlang·menu.·There·are·four
234 different·alternatives:</p><ul><li>··Off:·Normal·black·and·white·display.</li><li>··Level·1:·Function·headers,·reserved·words,·comments,·strings,·quoted·atoms,234 different·alternatives:</p><ul><li>··Off:·Normal·black·and·white·display.</li><li>··Level·1:·Function·headers,·reserved·words,·comments,·strings,·quoted·atoms,
Offset 351, 15 lines modifiedOffset 351, 15 lines modified
351 ······<p·class="built-using">351 ······<p·class="built-using">
352 ········Built·using352 ········Built·using
353 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the353 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
354 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>354 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
355 ······</p>355 ······</p>
356 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>356 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
357 ····</footer>357 ····</footer>
358 ··</div>358 ··</div>
359 </main>359 </main>
360 </div>360 </div>
361 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>361 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
362 ··<script>362 ··<script>
363 ··let·initialized·=·false;363 ··let·initialized·=·false;
778 B
html2text {}
Max HTML report size reached
1.63 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/erlang_mode_chapter.html
    
Offset 327, 15 lines modifiedOffset 327, 15 lines modified
327 ······<p·class="built-using">327 ······<p·class="built-using">
328 ········Built·using328 ········Built·using
329 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the329 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
330 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>330 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
331 ······</p>331 ······</p>
332 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>332 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
333 ····</footer>333 ····</footer>
334 ··</div>334 ··</div>
335 </main>335 </main>
336 </div>336 </div>
337 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>337 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
338 ··<script>338 ··<script>
339 ··let·initialized·=·false;339 ··let·initialized·=·false;
811 B
html2text {}
Max HTML report size reached
137 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/fprof.html
    
Offset 171, 69 lines modifiedOffset 171, 69 lines modified
171 </h2>171 </h2>
172 <p>This·section·describes·the·output·format·of·the·<a·href="#analyse/1"><code·class="inline">analyse/1</code></a>·function.</p><p>The·format·is·parsable·with·the·standard·Erlang·parsing·tools172 <p>This·section·describes·the·output·format·of·the·<a·href="#analyse/1"><code·class="inline">analyse/1</code></a>·function.</p><p>The·format·is·parsable·with·the·standard·Erlang·parsing·tools
173 <a·href="../../../../lib/stdlib-7.0/doc/html/erl_scan.html"><code·class="inline">erl_scan</code></a>·and·<a·href="../../../../lib/stdlib-7.0/doc/html/erl_parse.html"><code·class="inline">erl_parse</code></a>,·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#consult/1"><code·class="inline">file:consult/1</code></a>,·or·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#read/2"><code·class="inline">io:read/2</code></a>.·The173 <a·href="../../../../lib/stdlib-7.0/doc/html/erl_scan.html"><code·class="inline">erl_scan</code></a>·and·<a·href="../../../../lib/stdlib-7.0/doc/html/erl_parse.html"><code·class="inline">erl_parse</code></a>,·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#consult/1"><code·class="inline">file:consult/1</code></a>,·or·<a·href="../../../../lib/stdlib-7.0/doc/html/io.html#read/2"><code·class="inline">io:read/2</code></a>.·The
174 parse·format·is·not·described·here··it·should·be·easy·enough·for·the174 parse·format·is·not·described·here··it·should·be·easy·enough·for·the
175 interested·reader·to·try·it·out.·Note·that·some·flags·to175 interested·reader·to·try·it·out.·Note·that·some·flags·to
176 <a·href="#analyse/1"><code·class="inline">analyse/1</code></a>·will·affect·the·format.</p><p>The·following·example·was·run·on·Erlang/OTP·R8·on·Solaris·8;·all·OTP176 <a·href="#analyse/1"><code·class="inline">analyse/1</code></a>·will·affect·the·format.</p><p>The·following·example·was·run·on·Erlang/OTP·R8·on·Solaris·8;·all·OTP
177 internals·in·this·example·are·version·dependent.</p><p>As·an·example,·we·will·use·the·following·function,·which·is·a177 internals·in·this·example·are·version·dependent.</p><p>As·an·example,·we·will·use·the·following·function,·which·is·a
178 slightly·modified·benchmark·function·from·module·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2893668602-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="2893668602-1">)</span><span·class="p">.</span><span·class="w">178 slightly·modified·benchmark·function·from·module·<a·href="../../../../lib/kernel-10.3/doc/html/file.html"><code·class="inline">file</code></a>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2915503300-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="2915503300-1">)</span><span·class="p">.</span><span·class="w">
179 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2893668602-2">(</span><span·class="p"·data-group-id="2893668602-3">[</span><span·class="ss">create_file_slow</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="2893668602-3">]</span><span·class="p"·data-group-id="289366860[·...·truncated·by·diffoscope;·len:·1,·SHA:·d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35·...·]-2">)</span><span·class="p">.</span><span·class="w">179 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2915503300-2">(</span><span·class="p"·data-group-id="2915503300-3">[</span><span·class="ss">create_file_slow</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="2915503300-3">]</span><span·class="p"·data-group-id="291550330[·...·truncated·by·diffoscope;·len:·1,·SHA:·5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
180 </span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="2893668602-4">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="2893668602-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·144,·SHA:·f518222638aa602e16b6666a35503893a1a7c1af3eef333bc2fd3a884d9315dd·...·]-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&gt;=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">180 </span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="2915503300-4">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="2915503300-4">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·cl[·...·truncated·by·diffoscope;·len:·144,·SHA:·cf8fec3e9664e6d288abe0f847b5162e3f8560945a4594b8aa3549b8dbb49147·...·]-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&gt;=</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
181 ····</span><span·class="p"·data-group-id="2893668602-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FD</span><span·class="p"·data-group-id="2893668602-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">181 ····</span><span·class="p"·data-group-id="2915503300-6">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FD</span><span·class="p"·data-group-id="2915503300-6">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">
182 ········</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="2893668602-7">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2893668602-8">[</span><span·class="ss">raw</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">write</span><sp[·...·truncated·by·diffoscope;·len:·254,·SHA:·b2baa7d56e2fbff316bdc99436bab259016c89128393276e1c7f994866b40df4·...·]-7">)</span><span·class="p">,</span><span·class="w">182 ········</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">open</span><span·class="p"·data-group-id="2915503300-7">(</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2915503300-8">[</span><span·class="ss">raw</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">write</span><sp[·...·truncated·by·diffoscope;·len:·254,·SHA:·8f37ee9a1e93e75d2ce363f4427992275da35989994841ce5bbb214f726385bd·...·]-7">)</span><span·class="p">,</span><span·class="w">
183 ····</span><span·class="k">if</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">256</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">183 ····</span><span·class="k">if</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">&gt;</span><span·class="w">·</span><span·class="mi">256</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
184 ············</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="2893668602-9">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">184 ············</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="2915503300-9">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">
185 ····························</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="2893668602-10">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="2893668602-11">(</span><span·class="n">X</span><span·class="p"·data-group-id="2893668602-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span[·...·truncated·by·diffoscope;·len:·257,·SHA:·2170db046298eb2d2b07b9ccaee4ca1c6e8425b1469121a2339d15d2447f2ee1·...·]-12">&gt;&gt;</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">185 ····························</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="2915503300-10">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="2915503300-11">(</span><span·class="n">X</span><span·class="p"·data-group-id="2915503300-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span[·...·truncated·by·diffoscope;·len:·257,·SHA:·c46dc461f3d5161958eeecb3b139ae4f212581640be3e8601ff101d425f34299·...·]-12">&gt;&gt;</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
186 ····························</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="2893668602-13">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">255</span><span·class="p"·data-group-id="2893668602-13">)</span><span·class="p"·data-group-id="2893668602-10">)</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·b0bfa008aab9f9e9ad30ede5da30c849187413e33e21aa84b9eab3ccb6e7477a·...·]-9">)</span><span·class="p">,</span><span·class="w">186 ····························</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">seq</span><span·class="p"·data-group-id="2915503300-13">(</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">255</span><span·class="p"·data-group-id="2915503300-13">)</span><span·class="p"·data-group-id="2915503300-10">)</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·15,·SHA:·4898a76daae9511c660e65cbe342c022f534a726da9f4afb45ff802b60ce187a·...·]-9">)</span><span·class="p">,</span><span·class="w">
187 ············</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="2893668602-14">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">256</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="2893668602-14">)</span><span·class="p">;</span><span·class="w">187 ············</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="2915503300-14">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">256</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="2915503300-14">)</span><span·class="p">;</span><span·class="w">
188 ·······</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">188 ·······</span><span·class="ss">true</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
189 ············</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="2893668602-15">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="2893668602-15">)</span><span·class="w">189 ············</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="2915503300-15">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="2915503300-15">)</span><span·class="w">
190 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">190 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
191 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="2893668602-16">(</span><span·class="n">FD</span><span·class="p"·data-group-id="2893668602-16">)</span><span·class="p">.</span><span·class="w">191 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">close</span><span·class="p"·data-group-id="2915503300-16">(</span><span·class="n">FD</span><span·class="p"·data-group-id="2915503300-16">)</span><span·class="p">.</span><span·class="w">
  
192 </span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="2893668602-17">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="p"·data-group-id="2893668602-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">192 </span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="2915503300-17">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="p"·data-group-id="2915503300-17">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
193 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">193 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
194 </span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="2893668602-18">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="2893668602-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">194 </span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="2915503300-18">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="2915503300-18">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
195 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="2893668602-19">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2893668602-20">&lt;&lt;</span><span·class="n">M</span><span·class="p">:</span><span·class="mi">32</span><span·class="o">/</span><s[·...·truncated·by·diffoscope;·len:·132,·SHA:·9dfe097f9482b281eef3068df070ab527c7ef2ae176b79012b002fe167d112ae·...·]-19">)</span><span·class="p">,</span><span·class="w">195 ····</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">file</span><span·class="p">:</span><span·class="nf">write</span><span·class="p"·data-group-id="2915503300-19">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2915503300-20">&lt;&lt;</span><span·class="n">M</span><span·class="p">:</span><span·class="mi">32</span><span·class="o">/</span><s[·...·truncated·by·diffoscope;·len:·132,·SHA:·512d8b6b71906e0f1c50530dbe42a1e7151475b8bd6463408f67c27f496d8159·...·]-19">)</span><span·class="p">,</span><span·class="w">
196 ····</span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="2893668602-21">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="o">+</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·771,·SHA:·e0b8d265121c5c24f238330b29df37997da66ab5e1a78b0a84a5559d219a801e·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">196 ····</span><span·class="nf">create_file_slow</span><span·class="p"·data-group-id="2915503300-21">(</span><span·class="n">FD</span><span·class="p">,</span><span·class="w">·</span><span·class="n">M</span><span·class="o">+</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·[·...·truncated·by·diffoscope;·len:·771,·SHA:·1e5f3300e3d451eb21403da3c0b9ca65ce1ecad7b70e7321fa34c04c6f48f9a7·...·]-1">)</span><span·class="p">.</span><span·class="gp·unselectable">
197 2&gt;·</span><span·class="nc">fprof</span><span·class="p">:</span><span·class="nf">profile</span><span·class="p"·data-group-id="5990129609-3">(</span><span·class="p"·data-group-id="5990129609-3">)</span><span·class="p">.</span><span·class="gp·unselectable">197 2&gt;·</span><span·class="nc">fprof</span><span·class="p">:</span><span·class="nf">profile</span><span·class="p"·data-group-id="9719692298-3">(</span><span·class="p"·data-group-id="9719692298-3">)</span><span·class="p">.</span><span·class="gp·unselectable">
198 3&gt;·</span><span·class="nc">fprof</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="5990129609-4">(</span><span·class="p"·data-group-id="5990129609-4">)</span><span·class="p">.</span></code></pre><p>The·printout·starts·with:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Analysis·results:</span><span·class="w">198 3&gt;·</span><span·class="nc">fprof</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="9719692298-4">(</span><span·class="p"·data-group-id="9719692298-4">)</span><span·class="p">.</span></code></pre><p>The·printout·starts·with:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·Analysis·results:</span><span·class="w">
199 </span><span·class="p"·data-group-id="5212850378-1">{</span><span·class="w">··</span><span·class="ss">analysis_options</span><span·class="p">,</span><span·class="w">199 </span><span·class="p"·data-group-id="5330456063-1">{</span><span·class="w">··</span><span·class="ss">analysis_options</span><span·class="p">,</span><span·class="w">
200 ·</span><span·class="p"·data-group-id="5212850378-2">[</span><span·class="p"·data-group-id="5212850378-3">{</span><span·class="ss">callers</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="5212850378-3">}</span><span·class="p">,</span><span·class="w">200 ·</span><span·class="p"·data-group-id="5330456063-2">[</span><span·class="p"·data-group-id="5330456063-3">{</span><span·class="ss">callers</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="5330456063-3">}</span><span·class="p">,</span><span·class="w">
201 ··</span><span·class="p"·data-group-id="5212850378-4">{</span><span·class="ss">sort</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">acc</span><span·class="p"·data-group-id="5212850378-4">}</span><span·class="p">,</span><span·class="w">201 ··</span><span·class="p"·data-group-id="5330456063-4">{</span><span·class="ss">sort</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">acc</span><span·class="p"·data-group-id="5330456063-4">}</span><span·class="p">,</span><span·class="w">
202 ··</span><span·class="p"·data-group-id="5212850378-5">{</span><span·class="ss">totals</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="5212850378-5">}</span><span·class="p">,</span><span·class="w">202 ··</span><span·class="p"·data-group-id="5330456063-5">{</span><span·class="ss">totals</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·class="p"·data-group-id="5330456063-5">}</span><span·class="p">,</span><span·class="w">
203 ··</span><span·class="p"·data-group-id="5212850378-6">{</span><span·class="ss">details</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="5212850378-6">}</span><span·class="p"·data-group-id="5212850378-2">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·b0a154d11dbaa62dad156c54724ba6db79b1d9d3e2d1cf5b2c457cce22ee5100·...·]-1">}</span><span·class="p">.</span><span·class="w">203 ··</span><span·class="p"·data-group-id="5330456063-6">{</span><span·class="ss">details</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">true</span><span·class="p"·data-group-id="5330456063-6">}</span><span·class="p"·data-group-id="5330456063-2">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·2191386f4d762454a4570989bf91b23ea88e23fe73f0e387375b34c3fb498cc5·...·]-1">}</span><span·class="p">.</span><span·class="w">
  
204 </span><span·class="c1">%·······································CNT·······ACC·······OWN</span><span·class="w">204 </span><span·class="c1">%·······································CNT·······ACC·······OWN</span><span·class="w">
205 </span><span·class="p"·data-group-id="5212850378-7">[</span><span·class="p"·data-group-id="5212850378-8">{</span><span·class="w">·</span><span·class="ss">totals</span><span·class="p">,</span><span·class="w">·····························</span><span·class="mi">9627</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·230,·SHA:·22ae7d72aa2ade187ec774990bcd5bb37499b2f406417464733a493e769b7a0b·...·]-7">]</span><span·class="p">.</span><span·class="w">··</span><span·class="c1">%%%</span></code></pre><p>The·<code·class="inline">CNT</code>·column·shows·the·total·number·of·function·calls·that·was·found·in·the205 </span><span·class="p"·data-group-id="5330456063-7">[</span><span·class="p"·data-group-id="5330456063-8">{</span><span·class="w">·</span><span·class="ss">totals</span><span·class="p">,</span><span·class="w">·····························</span><span·class="mi">9627</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·230,·SHA:·eb32b00440f54fef003a813a56f4f7f2a25f754807dad41f8ccf8f5fb5f95056·...·]-7">]</span><span·class="p">.</span><span·class="w">··</span><span·class="c1">%%%</span></code></pre><p>The·<code·class="inline">CNT</code>·column·shows·the·total·number·of·function·calls·that·was·found·in·the
206 trace.·In·the·<code·class="inline">ACC</code>·column·is·the·total·time·of·the·trace·from·first·timestamp·to206 trace.·In·the·<code·class="inline">ACC</code>·column·is·the·total·time·of·the·trace·from·first·timestamp·to
207 last.·And·in·the·<code·class="inline">OWN</code>·column·is·the·sum·of·the·execution·time·in·functions·found207 last.·And·in·the·<code·class="inline">OWN</code>·column·is·the·sum·of·the·execution·time·in·functions·found
208 in·the·trace,·not·including·called·functions.·In·this·case·it·is·very·close·to208 in·the·trace,·not·including·called·functions.·In·this·case·it·is·very·close·to
209 the·<code·class="inline">ACC</code>·time·since·the·emulator·had·practically·nothing·to·do·except209 the·<code·class="inline">ACC</code>·time·since·the·emulator·had·practically·nothing·to·do·except
210 executing·our·test·program.</p><p>All·time·values·in·the·printout·are·in·milliseconds.</p><p>The·printout·continues:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·······································CNT·······ACC·······OWN</span><span·class="w">210 executing·our·test·program.</p><p>All·time·values·in·the·printout·are·in·milliseconds.</p><p>The·printout·continues:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%·······································CNT·······ACC·······OWN</span><span·class="w">
211 </span><span·class="p"·data-group-id="2891132067-1">[</span><span·class="p"·data-group-id="2891132067-2">{</span><span·class="w">·</span><span·class="s">&quot;&lt;0.28.0&gt;&quot;</span><span·class="p">,</span><span·class="w">·························</span><span·class="mi">9627</span><span·cl[·...·truncated·by·diffoscope;·len:·223,·SHA:·82a69ade832984e5e37c27c7070dc4b63afe15ce0b25d328877bbec1a99409f4·...·]-1">]</span><span·class="p">.</span><span·class="w">···</span><span·class="c1">%%</span></code></pre><p>This·is·the·printout·header·of·one·process.·The·printout·contains·only·this·one211 </span><span·class="p"·data-group-id="3925538162-1">[</span><span·class="p"·data-group-id="3925538162-2">{</span><span·class="w">·</span><span·class="s">&quot;&lt;0.28.0&gt;&quot;</span><span·class="p">,</span><span·class="w">·························</span><span·class="mi">9627</span><span·cl[·...·truncated·by·diffoscope;·len:·223,·SHA:·86326d8388b0bc4e14132f7eb91cfac8f417e5c4ee906379a8127b81e2394a74·...·]-1">]</span><span·class="p">.</span><span·class="w">···</span><span·class="c1">%%</span></code></pre><p>This·is·the·printout·header·of·one·process.·The·printout·contains·only·this·one
212 process·since·we·called·<a·href="#apply/3"><code·class="inline">fprof:apply/3</code></a>·that·traces·only·the·current·process.212 process·since·we·called·<a·href="#apply/3"><code·class="inline">fprof:apply/3</code></a>·that·traces·only·the·current·process.
213 Therefore·the·<code·class="inline">CNT</code>·and·<code·class="inline">OWN</code>·columns·perfectly·matches·the·totals·above.·The·<code·class="inline">ACC</code>213 Therefore·the·<code·class="inline">CNT</code>·and·<code·class="inline">OWN</code>·columns·perfectly·matches·the·totals·above.·The·<code·class="inline">ACC</code>
214 column·is·undefined·since·summing·the·<code·class="inline">ACC</code>·times·of·all·calls·in·the·process214 column·is·undefined·since·summing·the·<code·class="inline">ACC</code>·times·of·all·calls·in·the·process
215 makes·no·sense··one·would·get·something·like·the·<code·class="inline">ACC</code>·value·from·totals·above215 makes·no·sense··one·would·get·something·like·the·<code·class="inline">ACC</code>·value·from·totals·above
216 multiplied·by·the·average·depth·of·the·call·stack.</p><p>All·paragraphs·up·to·the·next·process·header·only·concerns·function·calls·within216 multiplied·by·the·average·depth·of·the·call·stack.</p><p>All·paragraphs·up·to·the·next·process·header·only·concerns·function·calls·within
217 this·process.</p><p>Now·we·come·to·something·more·interesting:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5186579122-1">{</span><span·class="p"·data-group-id="5186579122-2">[</span><span·class="p"·data-group-id="5186579122-3">{</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="w">·····························</span><span·class="mi">0<[·...·truncated·by·diffoscope;·len:·260,·SHA:·a63df3c103f127bfad4693b36c05377a6fc8f9b847687f53e4638e6f14d27704·...·]-2">]</span><span·class="p">,</span><span·class="w">217 this·process.</p><p>Now·we·come·to·something·more·interesting:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7344186509-1">{</span><span·class="p"·data-group-id="7344186509-2">[</span><span·class="p"·data-group-id="7344186509-3">{</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="w">·····························</span><span·class="mi">0<[·...·truncated·by·diffoscope;·len:·260,·SHA:·175775415017f292a27ea1e1ac743c6d6a037e3aa4d0c9a2d9fd36cf2df86e27·...·]-2">]</span><span·class="p">,</span><span·class="w">
218 ·</span><span·class="p"·data-group-id="5186579122-4">{</span><span·class="w">·</span><span·class="p"·data-group-id="5186579122-5">{</span><span·class="ss">fprof</span><span·class="p">,</span><span·class="ss">apply_start_stop</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"[·...·truncated·by·diffoscope;·len:·323,·SHA:·e2718387e8f1a3596e08cca6e6c7326dc1084871bfd8b9318416f1eb41aa5315·...·]-4">}</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%</span><span·class="w">218 ·</span><span·class="p"·data-group-id="7344186509-4">{</span><span·class="w">·</span><span·class="p"·data-group-id="7344186509-5">{</span><span·class="ss">fprof</span><span·class="p">,</span><span·class="ss">apply_start_stop</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"[·...·truncated·by·diffoscope;·len:·323,·SHA:·a14cbd8ad303947b2e89c515dd16b8bfde07994a0aa1909b44437ff3d250d815·...·]-4">}</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%</span><span·class="w">
219 ·</span><span·class="p"·data-group-id="5186579122-6">[</span><span·class="p"·data-group-id="5186579122-7">{</span><span·class="p"·data-group-id="5186579122-8">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·352,·SHA:·05357471903806a46784969cc57588c8112a498da4d6af64d5a17f44b0d64892·...·]-7">}</span><span·class="p">,</span><span·class="w">219 ·</span><span·class="p"·data-group-id="7344186509-6">[</span><span·class="p"·data-group-id="7344186509-7">{</span><span·class="p"·data-group-id="7344186509-8">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="[·...·truncated·by·diffoscope;·len:·352,·SHA:·2ab11720c87fa1c43ad806c05cb26fd3e6404c68ceebbdd01a5100171d8c51fc·...·]-7">}</span><span·class="p">,</span><span·class="w">
220 ··</span><span·class="p"·data-group-id="5186579122-9">{</span><span·class="ss">suspend</span><span·class="p">,</span><span·class="w">·······························</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">····</span><span·class="mf">0.000</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·207,·SHA:·73c5b98ca6c3ca03ffc89d00dec308a7578040c3bcf2940fd94a04587683ad18·...·]-1">}</span><span·class="p">.</span><span·class="w">220 ··</span><span·class="p"·data-group-id="7344186509-9">{</span><span·class="ss">suspend</span><span·class="p">,</span><span·class="w">·······························</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">····</span><span·class="mf">0.000</span><span·class="p">,</s[·...·truncated·by·diffoscope;·len:·207,·SHA:·2edb22ff6386eb842280d9fa437575a8c4ef6edb9c50e9f94c0f3d8640cfb374·...·]-1">}</span><span·class="p">.</span><span·class="w">
  
221 </span><span·class="p"·data-group-id="5186579122-10">{</span><span·class="p"·data-group-id="5186579122-11">[</span><span·class="p"·data-group-id="5186579122-12">{</span><span·class="p"·data-group-id="5186579122-13">{</span><span·class="ss">fprof</span><span·class="p">,</span><span·class="ss">a[·...·truncated·by·diffoscope;·len:·464,·SHA:·3557d7c20f774b7ebe4af1fd78ee88ba1ece504863c80142c1e28d48ba04c7b5·...·]-11">]</span><span·class="p">,</span><span·class="w">221 </span><span·class="p"·data-group-id="7344186509-10">{</span><span·class="p"·data-group-id="7344186509-11">[</span><span·class="p"·data-group-id="7344186509-12">{</span><span·class="p"·data-group-id="7344186509-13">{</span><span·class="ss">fprof</span><span·class="p">,</span><span·class="ss">a[·...·truncated·by·diffoscope;·len:·464,·SHA:·f70d5e73915803853341fbb17388480761b82aa4029143493a955ff5d34b2e52·...·]-11">]</span><span·class="p">,</span><span·class="w">
222 ·</span><span·class="p"·data-group-id="5186579122-14">{</span><span·class="w">·</span><span·class="p"·data-group-id="5186579122-15">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"[·...·truncated·by·diffoscope;·len:·326,·SHA:·3362c0447af38f98d0632ce6622282859956ada37c8bece3c643e4552663a109·...·]-14">}</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%</span><span·class="w">222 ·</span><span·class="p"·data-group-id="7344186509-14">{</span><span·class="w">·</span><span·class="p"·data-group-id="7344186509-15">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"[·...·truncated·by·diffoscope;·len:·326,·SHA:·8754ad9ccfb98cfe3af8e49669e82453b756fec9d0407ff7ca2768fddf6cb9e0·...·]-14">}</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%</span><span·class="w">
223 ·</span><span·class="p"·data-group-id="5186579122-16">[</span><span·class="p"·data-group-id="5186579122-17">{</span><span·class="p"·data-group-id="5186579122-18">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">close</span><span·class="p">,</span><span·class="mi">1</[·...·truncated·by·diffoscope;·len:·356,·SHA:·f5f63b2e106fe75dd7374b535b771a76ff2f88e2c06e3c9f87d7f9a55cb7ae48·...·]-17">}</span><span·class="p">,</span><span·class="w">223 ·</span><span·class="p"·data-group-id="7344186509-16">[</span><span·class="p"·data-group-id="7344186509-17">{</span><span·class="p"·data-group-id="7344186509-18">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">close</span><span·class="p">,</span><span·class="mi">1</[·...·truncated·by·diffoscope;·len:·356,·SHA:·1938d2108bd35d183a8ffd1d96c99bdcf0d25a4905897f565073fa4218ddca50·...·]-17">}</span><span·class="p">,</span><span·class="w">
224 ··</span><span·class="p"·data-group-id="5186579122-19">{</span><span·class="p"·data-group-id="5186579122-20">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="51865791[·...·truncated·by·diffoscope;·len:·302,·SHA:·5890c56f2958214afb943a2dc288ca2fe1294e4d809429fbe276c2516d5ef001·...·]-19">}</span><span·class="p">,</span><span·class="w">224 ··</span><span·class="p"·data-group-id="7344186509-19">{</span><span·class="p"·data-group-id="7344186509-20">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="73441865[·...·truncated·by·diffoscope;·len:·302,·SHA:·1e3d71429c11306b00f52da50a92c93ed88dceed38a9129988396952a1bb06ed·...·]-19">}</span><span·class="p">,</span><span·class="w">
225 ··</span><span·class="p"·data-group-id="5186579122-21">{</span><span·class="p"·data-group-id="5186579122-22">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">open</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="5186579122-22">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·b27a1e0e30f9d49fda4dea17f342c7f6076f2af83298150f26c22249627ff876·...·]-21">}</span><span·class="p">,</span><span·class="w">225 ··</span><span·class="p"·data-group-id="7344186509-21">{</span><span·class="p"·data-group-id="7344186509-22">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">open</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7344186509-22">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·1e167675a57a3827d3e045b4b9eb55674e282f005786a744fbdb1752aceb2d9f·...·]-21">}</span><span·class="p">,</span><span·class="w">
226 ··</span><span·class="p"·data-group-id="5186579122-23">{</span><span·class="p"·data-group-id="5186579122-24">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">map</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="5186579122-24">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·55115d52079764203c766f7f22c539cf96dda178e7200f503f6065afb5878cdd·...·]-23">}</span><span·class="p">,</span><span·class="w">226 ··</span><span·class="p"·data-group-id="7344186509-23">{</span><span·class="p"·data-group-id="7344186509-24">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">map</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7344186509-24">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·615159f63e7c7d7d7081d3c839525f656c7028fa0394da0fdecfc345a4f663ff·...·]-23">}</span><span·class="p">,</span><span·class="w">
227 ··</span><span·class="p"·data-group-id="5186579122-25">{</span><span·class="p"·data-group-id="5186579122-26">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">seq</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="5186579122-26">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·cdd0368a6a10cae2a03eeab32cc267c4fc3784c179097bc4f191514c3afef5ed·...·]-25">}</span><span·class="p">,</span><span·class="w">227 ··</span><span·class="p"·data-group-id="7344186509-25">{</span><span·class="p"·data-group-id="7344186509-26">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">seq</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7344186509-26">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·832f5fbc14d01f01d26e4b4a93f0c5f020e20d7f306854f70234506fa603fbc0·...·]-25">}</span><span·class="p">,</span><span·class="w">
228 ··</span><span·class="p"·data-group-id="5186579122-27">{</span><span·class="p"·data-group-id="5186579122-28">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">write</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="5186579122-28">}</[·...·truncated·by·diffoscope;·len:·410,·SHA:·4a9a4bc1de32a4e101d6ed627bf0474a5a2c0284b3389cf5d07df262a0b10ca0·...·]-10">}</span><span·class="p">.</span></code></pre><p>The·printout·consists·of·one·paragraph·per·called·function.·The·function228 ··</span><span·class="p"·data-group-id="7344186509-27">{</span><span·class="p"·data-group-id="7344186509-28">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">write</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="7344186509-28">}</[·...·truncated·by·diffoscope;·len:·410,·SHA:·680f9fd3c44d5a138679ecf17e3259302fd4fe8e93a256cce134d84baaa998c9·...·]-10">}</span><span·class="p">.</span></code></pre><p>The·printout·consists·of·one·paragraph·per·called·function.·The·function
229 <em>marked</em>·with·<code·class="inline">%</code>·is·the·one·the·paragraph·concerns··<code·class="inline">foo:create_file_slow/2</code>.229 <em>marked</em>·with·<code·class="inline">%</code>·is·the·one·the·paragraph·concerns··<code·class="inline">foo:create_file_slow/2</code>.
230 Above·the·marked·function·are·the·<em>calling</em>·functions··those·that·has·called230 Above·the·marked·function·are·the·<em>calling</em>·functions··those·that·has·called
231 the·marked,·and·below·are·those·<em>called</em>·by·the·marked·function.</p><p>The·paragraphs·are·per·default·sorted·in·descending·order·of·the·<code·class="inline">ACC</code>·column·for231 the·marked,·and·below·are·those·<em>called</em>·by·the·marked·function.</p><p>The·paragraphs·are·per·default·sorted·in·descending·order·of·the·<code·class="inline">ACC</code>·column·for
232 the·marked·function.·The·calling·list·and·called·list·within·one·paragraph·are232 the·marked·function.·The·calling·list·and·called·list·within·one·paragraph·are
233 also·per·default·sorted·in·descending·order·of·their·<code·class="inline">ACC</code>·column.</p><p>The·columns·are:</p><ul><li><code·class="inline">CNT</code>·-·the·number·of·times·the·function·has·been·called</li><li><code·class="inline">ACC</code>·-·the·time·spent·in·the·function·including·called·functions</li><li><code·class="inline">OWN</code>·-·the·time·spent·in·the·function·not·including·called·functions</li></ul><p>The·rows·for·the·<em>calling</em>·functions·contain·statistics·for·the·<em>marked</em>233 also·per·default·sorted·in·descending·order·of·their·<code·class="inline">ACC</code>·column.</p><p>The·columns·are:</p><ul><li><code·class="inline">CNT</code>·-·the·number·of·times·the·function·has·been·called</li><li><code·class="inline">ACC</code>·-·the·time·spent·in·the·function·including·called·functions</li><li><code·class="inline">OWN</code>·-·the·time·spent·in·the·function·not·including·called·functions</li></ul><p>The·rows·for·the·<em>calling</em>·functions·contain·statistics·for·the·<em>marked</em>
234 function·with·the·constraint·that·only·the·occasions·when·a·call·was·made·from234 function·with·the·constraint·that·only·the·occasions·when·a·call·was·made·from
235 the·<em>row's</em>·function·to·the·<em>marked</em>·function·are·accounted·for.</p><p>The·row·for·the·<em>marked</em>·function·simply·contains·the·sum·of·all·<em>calling</em>·rows.</p><p>The·rows·for·the·<em>called</em>·functions·contains·statistics·for·the·<em>row's</em>·function235 the·<em>row's</em>·function·to·the·<em>marked</em>·function·are·accounted·for.</p><p>The·row·for·the·<em>marked</em>·function·simply·contains·the·sum·of·all·<em>calling</em>·rows.</p><p>The·rows·for·the·<em>called</em>·functions·contains·statistics·for·the·<em>row's</em>·function
Offset 242, 109 lines modifiedOffset 242, 109 lines modified
242 execution.·It·spent·most·of·its·time·in·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#close/1"><code·class="inline">file:close/1</code></a>.·The·function242 execution.·It·spent·most·of·its·time·in·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#close/1"><code·class="inline">file:close/1</code></a>.·The·function
243 <code·class="inline">foo:create_file_slow/3</code>·that·writes·3/4·of·the·file·contents·is·the·second243 <code·class="inline">foo:create_file_slow/3</code>·that·writes·3/4·of·the·file·contents·is·the·second
244 biggest·time·thief.</p><p>We·also·see·that·the·call·to·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>·that·writes·1/4·of·the·file·contents244 biggest·time·thief.</p><p>We·also·see·that·the·call·to·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>·that·writes·1/4·of·the·file·contents
245 takes·very·little·time·in·itself.·What·takes·time·is·to·build·the·data245 takes·very·little·time·in·itself.·What·takes·time·is·to·build·the·data
246 (<a·href="../../../../lib/stdlib-7.0/doc/html/lists.html#seq/2"><code·class="inline">lists:seq/2</code></a>·and·<a·href="../../../../lib/stdlib-7.0/doc/html/lists.html#map/2"><code·class="inline">lists:map/2</code></a>).</p><p>The·function·<code·class="inline">undefined</code>·that·has·called·<code·class="inline">fprof:apply_start_stop/4</code>·is·an246 (<a·href="../../../../lib/stdlib-7.0/doc/html/lists.html#seq/2"><code·class="inline">lists:seq/2</code></a>·and·<a·href="../../../../lib/stdlib-7.0/doc/html/lists.html#map/2"><code·class="inline">lists:map/2</code></a>).</p><p>The·function·<code·class="inline">undefined</code>·that·has·called·<code·class="inline">fprof:apply_start_stop/4</code>·is·an
247 unknown·function·because·that·call·was·not·recorded·in·the·trace.·It·was·only247 unknown·function·because·that·call·was·not·recorded·in·the·trace.·It·was·only
248 recorded·that·the·execution·returned·from·<code·class="inline">fprof:apply_start_stop/4</code>·to·some248 recorded·that·the·execution·returned·from·<code·class="inline">fprof:apply_start_stop/4</code>·to·some
249 other·function·above·in·the·call·stack,·or·that·the·process·exited·from·there.</p><p>Let·us·continue·down·the·printout·to·find:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5373332043-1">{</span><span·class="p"·data-group-id="5373332043-2">[</span><span·class="p"·data-group-id="5373332043-3">{</span><span·class="p"·data-group-id="5373332043-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_[·...·truncated·by·diffoscope;·len:·405,·SHA:·6b9adf7eb3af710c5e23c2534d6d405ba228c27c5f7b3957d2e1edcb025aec73·...·]-3">}</span><span·class="p">,</span><span·class="w">249 other·function·above·in·the·call·stack,·or·that·the·process·exited·from·there.</p><p>Let·us·continue·down·the·printout·to·find:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6217761398-1">{</span><span·class="p"·data-group-id="6217761398-2">[</span><span·class="p"·data-group-id="6217761398-3">{</span><span·class="p"·data-group-id="6217761398-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_[·...·truncated·by·diffoscope;·len:·405,·SHA:·51bf5847c292a206d7348bc18bd0898d02556816ccd3b714224ebf207f33a19c·...·]-3">}</span><span·class="p">,</span><span·class="w">
250 ··</span><span·class="p"·data-group-id="5373332043-5">{</span><span·class="p"·data-group-id="5373332043-6">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="5373332043[·...·truncated·by·diffoscope;·len:·352,·SHA:·a9ba264940004096c3710e36dc4c454f1cc0837a95b645d5b74cb7c6b156a232·...·]-2">]</span><span·class="p">,</span><span·class="w">250 ··</span><span·class="p"·data-group-id="6217761398-5">{</span><span·class="p"·data-group-id="6217761398-6">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="6217761398[·...·truncated·by·diffoscope;·len:·352,·SHA:·ac5e63ae2d88717bd72601c3ad51f889f1615a5f1beb4bd655ef7a59af45ea48·...·]-2">]</span><span·class="p">,</span><span·class="w">
251 ·</span><span·class="p"·data-group-id="5373332043-7">{</span><span·class="w">·</span><span·class="p"·data-group-id="5373332043-8">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·323,·SHA:·cc8ac646b9bf3e5e70f4440e6633616bc0a595c66156719cb55f49ab287aa727·...·]-7">}</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%</span><span·class="w">251 ·</span><span·class="p"·data-group-id="6217761398-7">{</span><span·class="w">·</span><span·class="p"·data-group-id="6217761398-8">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·323,·SHA:·1adc04feee2de37d3e1e50b530452401595fc8ecbfbfec631764ff119f1a6700·...·]-7">}</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%</span><span·class="w">
252 ·</span><span·class="p"·data-group-id="5373332043-9">[</span><span·class="p"·data-group-id="5373332043-10">{</span><span·class="p"·data-group-id="5373332043-11">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">write</span><span·class="p">,</span><span·class="mi">2</s[·...·truncated·by·diffoscope;·len:·355,·SHA:·4e1462d057e38a55ae9ad0dc248a52fbcad94334a0992d4ef5a917074c93e503·...·]-10">}</span><span·class="p">,</span><span·class="w">252 ·</span><span·class="p"·data-group-id="6217761398-9">[</span><span·class="p"·data-group-id="6217761398-10">{</span><span·class="p"·data-group-id="6217761398-11">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">write</span><span·class="p">,</span><span·class="mi">2</s[·...·truncated·by·diffoscope;·len:·355,·SHA:·d759c2606637240f70892074adf7e33447682ee9ed3cb1ec0856b47e7f82c9c8·...·]-10">}</span><span·class="p">,</span><span·class="w">
253 ··</span><span·class="p"·data-group-id="5373332043-12">{</span><span·class="ss">suspend</span><span·class="p">,</span><span·class="w">······························</span><span·class="mi">57</span><span·class="p">,</span><span·class="w">····</span><span·class="mf">6.041</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·102,·SHA:·94641ecfaedffbe0c842a6430e6308469c2b9bad959ea804e25297c62a72d6b5·...·]-12">}</span><span·class="p">,</span><span·class="w">253 ··</span><span·class="p"·data-group-id="6217761398-12">{</span><span·class="ss">suspend</span><span·class="p">,</span><span·class="w">······························</span><span·class="mi">57</span><span·class="p">,</span><span·class="w">····</span><span·class="mf">6.041</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·102,·SHA:·51a9296b30ff534656d903eb7c349671398b5a11f49eb919f5dd1542673c811c·...·]-12">}</span><span·class="p">,</span><span·class="w">
254 ··</span><span·class="p"·data-group-id="5373332043-13">{</span><span·class="p"·data-group-id="5373332043-14">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="53733320[·...·truncated·by·diffoscope;·len:·409,·SHA:·46dc11f0b172e3ea1e31ac18b1cb5a141a3466d7d6e069264e57642d566d1e5b·...·]-1">}</span><span·class="p">.</span></code></pre><p>If·you·compare·with·the·code·you·will·see·there·also·that254 ··</span><span·class="p"·data-group-id="6217761398-13">{</span><span·class="p"·data-group-id="6217761398-14">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="62177613[·...·truncated·by·diffoscope;·len:·409,·SHA:·ec43429f9fb5e071f0ef1dd933ad3a47c1a1b8778c2e00ea71beb025aa1f8466·...·]-1">}</span><span·class="p">.</span></code></pre><p>If·you·compare·with·the·code·you·will·see·there·also·that
255 <code·class="inline">foo:create_file_slow/3</code>·was·called·only·from·<code·class="inline">foo:create_file_slow/2</code>·and255 <code·class="inline">foo:create_file_slow/3</code>·was·called·only·from·<code·class="inline">foo:create_file_slow/2</code>·and
256 itself,·and·called·only·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>,·note·the·number·of·calls·to256 itself,·and·called·only·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>,·note·the·number·of·calls·to
257 <a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>.·But·here·we·see·that·<code·class="inline">suspend</code>·was·called·a·few·times.·This·is·a257 <a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>.·But·here·we·see·that·<code·class="inline">suspend</code>·was·called·a·few·times.·This·is·a
258 pseudo·function·that·indicates·that·the·process·was·suspended·while·executing·in258 pseudo·function·that·indicates·that·the·process·was·suspended·while·executing·in
259 <code·class="inline">foo:create_file_slow/3</code>,·and·since·there·is·no·<code·class="inline">receive</code>·or·<a·href="../../../../erts-16.0/doc/html/erlang.html#yield/0"><code·class="inline">erlang:yield/0</code></a>·in259 <code·class="inline">foo:create_file_slow/3</code>,·and·since·there·is·no·<code·class="inline">receive</code>·or·<a·href="../../../../erts-16.0/doc/html/erlang.html#yield/0"><code·class="inline">erlang:yield/0</code></a>·in
260 the·code,·it·must·be·Erlang·scheduling·suspensions,·or·the·trace·file·driver260 the·code,·it·must·be·Erlang·scheduling·suspensions,·or·the·trace·file·driver
261 compensating·for·large·file·write·operations·(these·are·regarded·as·a·schedule261 compensating·for·large·file·write·operations·(these·are·regarded·as·a·schedule
262 out·followed·by·a·schedule·in·to·the·same·process).</p><p>Let·us·find·the·<code·class="inline">suspend</code>·entry:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0518994353-1">{</span><span·class="p"·data-group-id="0518994353-2">[</span><span·class="p"·data-group-id="0518994353-3">{</span><span·class="p"·data-group-id="0518994353-4">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">write<[·...·truncated·by·diffoscope;·len:·405,·SHA:·6c06af7710d85c2a9e8a26017ccf06d8349fee302965cf199bedb0459997df24·...·]-3">}</span><span·class="p">,</span><span·class="w">262 out·followed·by·a·schedule·in·to·the·same·process).</p><p>Let·us·find·the·<code·class="inline">suspend</code>·entry:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3779321226-1">{</span><span·class="p"·data-group-id="3779321226-2">[</span><span·class="p"·data-group-id="3779321226-3">{</span><span·class="p"·data-group-id="3779321226-4">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">write<[·...·truncated·by·diffoscope;·len:·405,·SHA:·52738234db07433fedf5a0b314fb3c2b27ac1e71748701bcaf753a0046033bf6·...·]-3">}</span><span·class="p">,</span><span·class="w">
263 ··</span><span·class="p"·data-group-id="0518994353-5">{</span><span·class="p"·data-group-id="0518994353-6">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="0518994353[·...·truncated·by·diffoscope;·len:·299,·SHA:·3e74813dd340a81f0d4ebe170b3ec9812a0087d1f5014ea34af61aec0650ce1f·...·]-5">}</span><span·class="p">,</span><span·class="w">263 ··</span><span·class="p"·data-group-id="3779321226-5">{</span><span·class="p"·data-group-id="3779321226-6">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="3779321226[·...·truncated·by·diffoscope;·len:·299,·SHA:·b62d422d7bb3f2bd38451def31e9de89c3aa0ceee7b40bdcd38d8a56f40c30d7·...·]-5">}</span><span·class="p">,</span><span·class="w">
264 ··</span><span·class="p"·data-group-id="0518994353-7">{</span><span·class="p"·data-group-id="0518994353-8">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">drv_command</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="051899435[·...·truncated·by·diffoscope;·len:·299,·SHA:·5d01159c47dbd8ff52d58526855924a5ce18d4644523f98db0610fe0d04b4f77·...·]-7">}</span><span·class="p">,</span><span·class="w">264 ··</span><span·class="p"·data-group-id="3779321226-7">{</span><span·class="p"·data-group-id="3779321226-8">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">drv_command</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="377932122[·...·truncated·by·diffoscope;·len:·299,·SHA:·e81b40a285fda8a263fefbf0ab47679a943a5c500638d87dbcd7a31d5e49d1e6·...·]-7">}</span><span·class="p">,</span><span·class="w">
265 ··</span><span·class="p"·data-group-id="0518994353-9">{</span><span·class="p"·data-group-id="0518994353-10">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">drv_get_response</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="051[·...·truncated·by·diffoscope;·len:·301,·SHA:·f266053e946fe5557e9a186a740336ab8a65c7ce201a5fa40720c62a211157f2·...·]-9">}</span><span·class="p">,</span><span·class="w">265 ··</span><span·class="p"·data-group-id="3779321226-9">{</span><span·class="p"·data-group-id="3779321226-10">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">drv_get_response</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="377[·...·truncated·by·diffoscope;·len:·301,·SHA:·a70e6b8eb039ca4de59dc7e3ffa603bf5fefb775f65e691f8792a38310fd5d33·...·]-9">}</span><span·class="p">,</span><span·class="w">
266 ··</span><span·class="p"·data-group-id="0518994353-11">{</span><span·class="p"·data-group-id="0518994353-12">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">map</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0518994353-12">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·ede2e49bc0756af9ab2cd1a42ed4e12262e36f3be41576114d31e9be88d0ad1d·...·]-11">}</span><span·class="p">,</span><span·class="w">266 ··</span><span·class="p"·data-group-id="3779321226-11">{</span><span·class="p"·data-group-id="3779321226-12">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">map</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3779321226-12">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·8d256d23c8843b1c5801ba950375c2de78f75b24f2d1463ce1502a738f57e546·...·]-11">}</span><span·class="p">,</span><span·class="w">
267 ··</span><span·class="p"·data-group-id="0518994353-13">{</span><span·class="p"·data-group-id="0518994353-14">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">write</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0518994353-14[·...·truncated·by·diffoscope;·len:·302,·SHA:·20e35a2d575c49f316257916393dcecf10940792e13a05c60705ea094784e1ae·...·]-13">}</span><span·class="p">,</span><span·class="w">267 ··</span><span·class="p"·data-group-id="3779321226-13">{</span><span·class="p"·data-group-id="3779321226-14">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">write</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3779321226-14[·...·truncated·by·diffoscope;·len:·302,·SHA:·12a18a202d028125226dabc13ea34304286e5d5c87c2eca97947af985a2388c1·...·]-13">}</span><span·class="p">,</span><span·class="w">
268 ··</span><span·class="p"·data-group-id="0518994353-15">{</span><span·class="p"·data-group-id="0518994353-16">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="nb">port_command</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="051899435[·...·truncated·by·diffoscope;·len:·302,·SHA:·5ad76ce3ee663a029696b0486de10cc46caa8dfa1f7651fd9cf88cc1924d4f26·...·]-15">}</span><span·class="p">,</span><span·class="w">268 ··</span><span·class="p"·data-group-id="3779321226-15">{</span><span·class="p"·data-group-id="3779321226-16">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="nb">port_command</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="377932122[·...·truncated·by·diffoscope;·len:·302,·SHA:·4152b665e17da5b458c85ca476eaf4a3b53be3d1157fd850ea9c56919d7d41c3·...·]-15">}</span><span·class="p">,</span><span·class="w">
269 ··</span><span·class="p"·data-group-id="0518994353-17">{</span><span·class="p"·data-group-id="0518994353-18">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">drv_command</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0518994[·...·truncated·by·diffoscope;·len:·302,·SHA:·f171f10fec8ab04214d357e766cdc26b2a82b98750a1aea098466b721eadfb93·...·]-17">}</span><span·class="p">,</span><span·class="w">269 ··</span><span·class="p"·data-group-id="3779321226-17">{</span><span·class="p"·data-group-id="3779321226-18">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">drv_command</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3779321[·...·truncated·by·diffoscope;·len:·302,·SHA:·369bb440600b9d2a2227e412cb019e5a8f8710a2ba83e64fbcc20fcde6730a70·...·]-17">}</span><span·class="p">,</span><span·class="w">
270 ··</span><span·class="p"·data-group-id="0518994353-19">{</span><span·class="p"·data-group-id="0518994353-20">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">translate_response</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·302,·SHA:·aa1f8fb6ade532cdb71441d4b95e506bb9cfcd7e118278e921f95fed6cc89f14·...·]-19">}</span><span·class="p">,</span><span·class="w">270 ··</span><span·class="p"·data-group-id="3779321226-19">{</span><span·class="p"·data-group-id="3779321226-20">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">translate_response</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="[·...·truncated·by·diffoscope;·len:·302,·SHA:·9e1dc1095dc62ef1f4d8de87ae1ab90b051ea9f7fbe543915b79cdc172ed7814·...·]-19">}</span><span·class="p">,</span><span·class="w">
271 ··</span><span·class="p"·data-group-id="0518994353-21">{</span><span·class="p"·data-group-id="0518994353-22">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">&#39;-drv_command/2-fun-0-&#39;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·312,·SHA:·a27df33469026982da8be86167e6cd51019437c2cebca821351dc1f97a565777·...·]-21">}</span><span·class="p">,</span><span·class="w">271 ··</span><span·class="p"·data-group-id="3779321226-21">{</span><span·class="p"·data-group-id="3779321226-22">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">&#39;-drv_command/2-fun-0-&#39;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·da[·...·truncated·by·diffoscope;·len:·312,·SHA:·2fa316559df34d4fa40e9079a720316c0be0b63f2e8bac824a026b6b1b61ad50·...·]-21">}</span><span·class="p">,</span><span·class="w">
272 ··</span><span·class="p"·data-group-id="0518994353-23">{</span><span·class="p"·data-group-id="0518994353-24">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">seq</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="0518994353-24">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·0e28f7289a23313eacda1333a0baf16cfad08e8484d28d8ed87e9f6a24f7ab43·...·]-23">}</span><span·class="p">,</span><span·class="w">272 ··</span><span·class="p"·data-group-id="3779321226-23">{</span><span·class="p"·data-group-id="3779321226-24">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">seq</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="3779321226-24">}</s[·...·truncated·by·diffoscope;·len:·302,·SHA:·146dffb60fe1961df181f85c8deae8c0b411b2aba5c123d4dee5438b01c4ab0d·...·]-23">}</span><span·class="p">,</span><span·class="w">
273 ··</span><span·class="p"·data-group-id="0518994353-25">{</span><span·class="p"·data-group-id="0518994353-26">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">&#39;-create_file_slow/2-fun-0-&#39;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·311,·SHA:·9936aea403bf6840891a15da15ee30a38e103d4b587ac5a0461ec3a83b648aca·...·]-25">}</span><span·class="p">,</span><span·class="w">273 ··</span><span·class="p"·data-group-id="3779321226-25">{</span><span·class="p"·data-group-id="3779321226-26">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">&#39;-create_file_slow/2-fun-0-&#39;</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·dat[·...·truncated·by·diffoscope;·len:·311,·SHA:·5d0fc755386c827ba8781c7eaa598a69acb184c58b6840dd7258ddc953b064fe·...·]-25">}</span><span·class="p">,</span><span·class="w">
274 ··</span><span·class="p"·data-group-id="0518994353-27">{</span><span·class="p"·data-group-id="0518994353-28">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="nb">bump_reductions</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="051899[·...·truncated·by·diffoscope;·len:·302,·SHA:·af75d54efe3f2f46654390bc9825745286ebd72172b62aafec8598ba29fa1806·...·]-27">}</span><span·class="p">,</span><span·class="w">274 ··</span><span·class="p"·data-group-id="3779321226-27">{</span><span·class="p"·data-group-id="3779321226-28">{</span><span·class="ss">erlang</span><span·class="p">,</span><span·class="nb">bump_reductions</span><span·class="p">,</span><span·class="mi">1</span><span·class="p"·data-group-id="377932[·...·truncated·by·diffoscope;·len:·302,·SHA:·f05822fb75c2219d05da73439365e64e6eb42fa70561f25bc9bc903d5b4b4796·...·]-27">}</span><span·class="p">,</span><span·class="w">
275 ··</span><span·class="p"·data-group-id="0518994353-29">{</span><span·class="p"·data-group-id="0518994353-30">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">open_int_setopts</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="05[·...·truncated·by·diffoscope;·len:·302,·SHA:·434c9025a9efb88e08f280124482b546abf77ffe2710a6284af2056b9eec5a24·...·]-29">}</span><span·class="p">,</span><span·class="w">275 ··</span><span·class="p"·data-group-id="3779321226-29">{</span><span·class="p"·data-group-id="3779321226-30">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">open_int_setopts</span><span·class="p">,</span><span·class="mi">3</span><span·class="p"·data-group-id="37[·...·truncated·by·diffoscope;·len:·302,·SHA:·2a0f7db5356d4ad1a8efba3f53368b0e6ba7a708097dd3abcaceeb24e32464dc·...·]-29">}</span><span·class="p">,</span><span·class="w">
276 ··</span><span·class="p"·data-group-id="0518994353-31">{</span><span·class="p"·data-group-id="0518994353-32">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">i32</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="0518994353-32">[·...·truncated·by·diffoscope;·len:·302,·SHA:·813cc8eafbb60596e554e71fab3e7024cc50d0438a57ef3b6b164b6d868fea88·...·]-31">}</span><span·class="p">,</span><span·class="w">276 ··</span><span·class="p"·data-group-id="3779321226-31">{</span><span·class="p"·data-group-id="3779321226-32">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">i32</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="3779321226-32">[·...·truncated·by·diffoscope;·len:·302,·SHA:·d460a4526b3a0e4634a2a66b1c3c687cd39f51e16b40f6ecc6be72105cb38057·...·]-31">}</span><span·class="p">,</span><span·class="w">
277 ··</span><span·class="p"·data-group-id="0518994353-33">{</span><span·class="p"·data-group-id="0518994353-34">{</span><span·class="ss">fprof</span><span·class="p">,</span><span·class="ss">apply_start_stop</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="051899[·...·truncated·by·diffoscope;·len:·356,·SHA:·c7c6c19f3d796a6507dde7feecb48d3380f9b388acf4a9b3ba53b458aa0f069a·...·]-2">]</span><span·class="p">,</span><span·class="w">277 ··</span><span·class="p"·data-group-id="3779321226-33">{</span><span·class="p"·data-group-id="3779321226-34">{</span><span·class="ss">fprof</span><span·class="p">,</span><span·class="ss">apply_start_stop</span><span·class="p">,</span><span·class="mi">4</span><span·class="p"·data-group-id="377932[·...·truncated·by·diffoscope;·len:·356,·SHA:·3659b967771700f69ef431c7c6f4b713e615d1cc7f37d33c2d3d3905506262c4·...·]-2">]</span><span·class="p">,</span><span·class="w">
278 ·</span><span·class="p"·data-group-id="0518994353-35">{</span><span·class="w">·</span><span·class="ss">suspend</span><span·class="p">,</span><span·class="w">·····························</span><span·class="mi">299</span><span·class="p">,</span><span·class="w">···</span><span·class="mf">32.002</[·...·truncated·by·diffoscope;·len:·126,·SHA:·dbfe6b2482c0121dca7fef0d57e407a680e9e4f2e531b0d13cbf5d33f18bea2b·...·]-35">}</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%</span><span·class="w">278 ·</span><span·class="p"·data-group-id="3779321226-35">{</span><span·class="w">·</span><span·class="ss">suspend</span><span·class="p">,</span><span·class="w">·····························</span><span·class="mi">299</span><span·class="p">,</span><span·class="w">···</span><span·class="mf">32.002</[·...·truncated·by·diffoscope;·len:·126,·SHA:·19c26d8cee947e774af89ec41f4e4a6c18f0e4999178b1b7f0a7f52977c13e17·...·]-35">}</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%</span><span·class="w">
279 ·</span><span·class="p"·data-group-id="0518994353-36">[</span><span·class="w">·</span><span·class="p"·data-group-id="0518994353-36">]</span><span·class="p"·data-group-id="0518994353-1">}</span><span·class="p">.</span></code></pre><p>We·find·no·particularly·long·suspend·times,·so·no·function·seems·to·have·waited279 ·</span><span·class="p"·data-group-id="3779321226-36">[</span><span·class="w">·</span><span·class="p"·data-group-id="3779321226-36">]</span><span·class="p"·data-group-id="3779321226-1">}</span><span·class="p">.</span></code></pre><p>We·find·no·particularly·long·suspend·times,·so·no·function·seems·to·have·waited
280 in·a·receive·statement.·Actually,·<code·class="inline">prim_file:drv_command/4</code>·contains·a·receive280 in·a·receive·statement.·Actually,·<code·class="inline">prim_file:drv_command/4</code>·contains·a·receive
281 statement,·but·in·this·test·program,·the·message·lies·in·the·process·receive281 statement,·but·in·this·test·program,·the·message·lies·in·the·process·receive
282 buffer·when·the·receive·statement·is·entered.·We·also·see·that·the·total·suspend282 buffer·when·the·receive·statement·is·entered.·We·also·see·that·the·total·suspend
283 time·for·the·test·run·is·small.</p><p>The·<code·class="inline">suspend</code>·pseudo·function·has·an·<code·class="inline">OWN</code>·time·of·zero.·This·is·to·prevent283 time·for·the·test·run·is·small.</p><p>The·<code·class="inline">suspend</code>·pseudo·function·has·an·<code·class="inline">OWN</code>·time·of·zero.·This·is·to·prevent
284 the·process·total·<code·class="inline">OWN</code>·time·from·including·time·in·suspension.·Whether·suspend284 the·process·total·<code·class="inline">OWN</code>·time·from·including·time·in·suspension.·Whether·suspend
285 time·is·really·<code·class="inline">ACC</code>·or·<code·class="inline">OWN</code>·time·is·more·of·a·philosophical·question.</p><p>Now·we·look·at·another·interesting·pseudo·function,·<code·class="inline">garbage_collect</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="6474344433-1">{</span><span·class="p"·data-group-id="6474344433-2">[</span><span·class="p"·data-group-id="6474344433-3">{</span><span·class="p"·data-group-id="6474344433-4">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">d[·...·truncated·by·diffoscope;·len:·405,·SHA:·6b050b7fd21ce07e02978dc263e899eb64bc1c1a5866485532a4e42b12bb40d6·...·]-3">}</span><span·class="p">,</span><span·class="w">285 time·is·really·<code·class="inline">ACC</code>·or·<code·class="inline">OWN</code>·time·is·more·of·a·philosophical·question.</p><p>Now·we·look·at·another·interesting·pseudo·function,·<code·class="inline">garbage_collect</code>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0818637218-1">{</span><span·class="p"·data-group-id="0818637218-2">[</span><span·class="p"·data-group-id="0818637218-3">{</span><span·class="p"·data-group-id="0818637218-4">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">d[·...·truncated·by·diffoscope;·len:·405,·SHA:·0b5f320ba1085745e064ab40626b77103923417d12396fa0d06b790dc683b4f1·...·]-3">}</span><span·class="p">,</span><span·class="w">
286 ··</span><span·class="p"·data-group-id="6474344433-5">{</span><span·class="p"·data-group-id="6474344433-6">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">write</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="6474344433-6">}[·...·truncated·by·diffoscope;·len:·299,·SHA:·bed13852947b9d30eb984beb132a2b805a297ab5b303f5c0647577efa936a2db·...·]-5">}</span><span·class="p">,</span><span·class="w">286 ··</span><span·class="p"·data-group-id="0818637218-5">{</span><span·class="p"·data-group-id="0818637218-6">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">write</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0818637218-6">}[·...·truncated·by·diffoscope;·len:·299,·SHA:·317e565a025d48f2df9d479f9860a2188076b2ac9deade3aeb7ac7b73f9efa13·...·]-5">}</span><span·class="p">,</span><span·class="w">
287 ··</span><span·class="p"·data-group-id="6474344433-7">{</span><span·class="p"·data-group-id="6474344433-8">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">map</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="6474344433-8">}</span[·...·truncated·by·diffoscope;·len:·352,·SHA:·15b63101fb9b1f4b6fcf816b9ea78c2f0d46d7506655ae7db4f6c7912af4cb80·...·]-2">]</span><span·class="p">,</span><span·class="w">287 ··</span><span·class="p"·data-group-id="0818637218-7">{</span><span·class="p"·data-group-id="0818637218-8">{</span><span·class="ss">lists</span><span·class="p">,</span><span·class="ss">map</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="0818637218-8">}</span[·...·truncated·by·diffoscope;·len:·352,·SHA:·ebdc3a773822f2183c1804348750c2402a4c3de26f67c6e20ec779d3b91776a0·...·]-2">]</span><span·class="p">,</span><span·class="w">
288 ·</span><span·class="p"·data-group-id="6474344433-9">{</span><span·class="w">·</span><span·class="nb">garbage_collect</span><span·class="p">,</span><span·class="w">······················</span><span·class="mi">43</span><span·class="p">,</span><span·class="w">····</span><span·class="mf">1.760</s[·...·truncated·by·diffoscope;·len:·125,·SHA:·2a9eb8da4168c611fe7e11212fb84ad36a07c1f0bb551042e1458b3cd4acfb96·...·]-9">}</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%</span><span·class="w">288 ·</span><span·class="p"·data-group-id="0818637218-9">{</span><span·class="w">·</span><span·class="nb">garbage_collect</span><span·class="p">,</span><span·class="w">······················</span><span·class="mi">43</span><span·class="p">,</span><span·class="w">····</span><span·class="mf">1.760</s[·...·truncated·by·diffoscope;·len:·125,·SHA:·f9cf8c292caf5d1a95e47a0986ac0bf0ebbc5b5b56557cfb2a871b1866b6e09a·...·]-9">}</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%</span><span·class="w">
289 ·</span><span·class="p"·data-group-id="6474344433-10">[</span><span·class="w">·</span><span·class="p"·data-group-id="6474344433-10">]</span><span·class="p"·data-group-id="6474344433-1">}</span><span·class="p">.</span></code></pre><p>Here·we·see·that·no·function·stands·out,·which·is·very·normal.</p><p>The·<code·class="inline">garbage_collect</code>·pseudo·function·has·not·an·<code·class="inline">OWN</code>·time·of·zero·like289 ·</span><span·class="p"·data-group-id="0818637218-10">[</span><span·class="w">·</span><span·class="p"·data-group-id="0818637218-10">]</span><span·class="p"·data-group-id="0818637218-1">}</span><span·class="p">.</span></code></pre><p>Here·we·see·that·no·function·stands·out,·which·is·very·normal.</p><p>The·<code·class="inline">garbage_collect</code>·pseudo·function·has·not·an·<code·class="inline">OWN</code>·time·of·zero·like
290 <code·class="inline">suspend</code>,·instead·it·is·equal·to·the·<code·class="inline">ACC</code>·time.</p><p>Garbage·collection·often·occurs·while·a·process·is·suspended,·but·<code·class="inline">fprof</code>·hides290 <code·class="inline">suspend</code>,·instead·it·is·equal·to·the·<code·class="inline">ACC</code>·time.</p><p>Garbage·collection·often·occurs·while·a·process·is·suspended,·but·<code·class="inline">fprof</code>·hides
291 this·fact·by·pretending·that·the·suspended·function·was·first·unsuspended·and291 this·fact·by·pretending·that·the·suspended·function·was·first·unsuspended·and
292 then·garbage·collected.·Otherwise·the·printout·would·show·<code·class="inline">garbage_collect</code>292 then·garbage·collected.·Otherwise·the·printout·would·show·<code·class="inline">garbage_collect</code>
293 being·called·from·<code·class="inline">suspend</code>,·but·not·which·function·that·might·have·caused·the293 being·called·from·<code·class="inline">suspend</code>,·but·not·which·function·that·might·have·caused·the
294 garbage·collection.</p><p>Let·us·now·get·back·to·the·test·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1855596884-1">{</span><span·class="p"·data-group-id="1855596884-2">[</span><span·class="p"·data-group-id="1855596884-3">{</span><span·class="p"·data-group-id="1855596884-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_[·...·truncated·by·diffoscope;·len:·405,·SHA:·7eab886b2a70ef531d41d969daa1c65997d88a7bcb5b153642785d48cef5f500·...·]-3">}</span><span·class="p">,</span><span·class="w">294 garbage·collection.</p><p>Let·us·now·get·back·to·the·test·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3978866807-1">{</span><span·class="p"·data-group-id="3978866807-2">[</span><span·class="p"·data-group-id="3978866807-3">{</span><span·class="p"·data-group-id="3978866807-4">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_[·...·truncated·by·diffoscope;·len:·405,·SHA:·d07363202f4497a7da1f676b873f45cdf334f3d332e5f5071597bf1235943722·...·]-3">}</span><span·class="p">,</span><span·class="w">
295 ··</span><span·class="p"·data-group-id="1855596884-5">{</span><span·class="p"·data-group-id="1855596884-6">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="1855596884[·...·truncated·by·diffoscope;·len:·352,·SHA:·6b35158d7a1fc0dc2366c9cd00dfb2413b03a12ef93c87b8bfb0981ae2b0fe27·...·]-2">]</span><span·class="p">,</span><span·class="w">295 ··</span><span·class="p"·data-group-id="3978866807-5">{</span><span·class="p"·data-group-id="3978866807-6">{</span><span·class="ss">foo</span><span·class="p">,</span><span·class="ss">create_file_slow</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-id="3978866807[·...·truncated·by·diffoscope;·len:·352,·SHA:·90414af21e1e2ce975db00be04a220ed14582a1c813f60e68aca82cbc3275f70·...·]-2">]</span><span·class="p">,</span><span·class="w">
296 ·</span><span·class="p"·data-group-id="1855596884-7">{</span><span·class="w">·</span><span·class="p"·data-group-id="1855596884-8">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">write</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·323,·SHA:·7b12fa4e08039ef077b03964d0aa6e7510d86f22788f8971f65bc7e2e85a8486·...·]-7">}</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%</span><span·class="w">296 ·</span><span·class="p"·data-group-id="3978866807-7">{</span><span·class="w">·</span><span·class="p"·data-group-id="3978866807-8">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="ss">write</span><span·class="p">,</span><span·class="mi">2</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·323,·SHA:·4f3e98109c813fd3eb49ad75f48ab7c15f0a7ee816d1f748084057fc449c8f48·...·]-7">}</span><span·class="p">,</span><span·class="w">·····</span><span·class="c1">%</span><span·class="w">
297 ·</span><span·class="p"·data-group-id="1855596884-9">[</span><span·class="p"·data-group-id="1855596884-10">{</span><span·class="p"·data-group-id="1855596884-11">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">write</span><span·class="p">,</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·355,·SHA:·590ba9c739827c8e6fcc1fd02ba2d86938c03497ae83c85e40a38a09b15f9dc0·...·]-10">}</span><span·class="p">,</span><span·class="w">297 ·</span><span·class="p"·data-group-id="3978866807-9">[</span><span·class="p"·data-group-id="3978866807-10">{</span><span·class="p"·data-group-id="3978866807-11">{</span><span·class="ss">prim_file</span><span·class="p">,</span><span·class="ss">write</span><span·class="p">,</span><span·class="mi"[·...·truncated·by·diffoscope;·len:·355,·SHA:·e7ee453a1d9d0d80fcaf8dd90cbad26201453c5e2698684fa06d5ba34bd94e6b·...·]-10">}</span><span·class="p">,</span><span·class="w">
298 ··</span><span·class="p"·data-group-id="1855596884-12">{</span><span·class="ss">suspend</span><span·class="p">,</span><span·class="w">······························</span><span·class="mi">53</span><span·class="p">,</span><span·class="w">····</span><span·class="mf">6.281</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·209,·SHA:·448575b92f16fec25d8df67db478a8261881cddae7c925c3839bbadc20fb755b·...·]-1">}</span><span·class="p">.</span></code></pre><p>Not·unexpectedly,·we·see·that·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>·was·called·from298 ··</span><span·class="p"·data-group-id="3978866807-12">{</span><span·class="ss">suspend</span><span·class="p">,</span><span·class="w">······························</span><span·class="mi">53</span><span·class="p">,</span><span·class="w">····</span><span·class="mf">6.281</span><span·class="p">,</[·...·truncated·by·diffoscope;·len:·209,·SHA:·33f47fe048119149e0e1704d6b2b0a61e91d3c3bf4b51fd804fe929d818ac533·...·]-1">}</span><span·class="p">.</span></code></pre><p>Not·unexpectedly,·we·see·that·<a·href="../../../../lib/kernel-10.3/doc/html/file.html#write/2"><code·class="inline">file:write/2</code></a>·was·called·from
Max diff block lines reached; 46065/139397 bytes (33.05%) of diff not shown.
682 B
html2text {}
Max HTML report size reached
5.35 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/fprof_chapter.html
    
Offset 172, 18 lines modifiedOffset 172, 18 lines modified
172 ··<a·href="#immediate-profiling"·class="hover-link">172 ··<a·href="#immediate-profiling"·class="hover-link">
173 ····<i·class="ri-link-m"·aria-hidden="true"></i>173 ····<i·class="ri-link-m"·aria-hidden="true"></i>
174 ··</a>174 ··</a>
175 ··<span·class="text">Immediate·profiling</span>175 ··<span·class="text">Immediate·profiling</span>
176 </h2>176 </h2>
177 <p>It·is·also·possible·to·trace·immediately·into·the·profiling·process·that·creates177 <p>It·is·also·possible·to·trace·immediately·into·the·profiling·process·that·creates
178 the·raw·profile·data,·that·is·to·short·circuit·the·tracing·and·profiling·steps178 the·raw·profile·data,·that·is·to·short·circuit·the·tracing·and·profiling·steps
179 so·that·the·filesystem·is·not·used·for·tracing.</p><p>Do·something·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="5337388801-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tracer</span><span·class="p"·data-group-id="5337388801-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·201,·SHA:·dfff0cf887c09819b9d10e24da58f0e85e13711eea4caa9aaa2b089c0698ad76·...·]-2">)</span><span·class="p">,</span><span·class="w">179 so·that·the·filesystem·is·not·used·for·tracing.</p><p>Do·something·like·this:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9010820415-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tracer</span><span·class="p"·data-group-id="9010820415-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·[·...·truncated·by·diffoscope;·len:·201,·SHA:·9c17b1243bc7635c57e2d7d412d5930a758931de3568459f82a9c3c295fbb31b·...·]-2">)</span><span·class="p">,</span><span·class="w">
180 </span><span·class="nc">fprof</span><span·class="p">:</span><span·class="nf">trace</span><span·class="p"·data-group-id="5337388801-3">(</span><span·class="p"·data-group-id="5337388801-4">[</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5337388801-5">{</span><span·class="ss">tracer</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·203,·SHA:·559ecbfd31d79f4da7ce152221f5de4fb252b4b09caa8715f6e29e786f386c77·...·]-3">)</span><span·class="p">,</span><span·class="w">180 </span><span·class="nc">fprof</span><span·class="p">:</span><span·class="nf">trace</span><span·class="p"·data-group-id="9010820415-3">(</span><span·class="p"·data-group-id="9010820415-4">[</span><span·class="ss">start</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9010820415-5">{</span><span·class="ss">tracer</span><span·class="p">,</sp[·...·truncated·by·diffoscope;·len:·203,·SHA:·c67e3eb49d71773619062e4818aba3576baba5e460039c0f793ca6f4f17b96ed·...·]-3">)</span><span·class="p">,</span><span·class="w">
181 </span><span·class="c1">%%·Run·code·to·profile</span><span·class="w">181 </span><span·class="c1">%%·Run·code·to·profile</span><span·class="w">
182 </span><span·class="nc">fprof</span><span·class="p">:</span><span·class="nf">trace</span><span·class="p"·data-group-id="5337388801-6">(</span><span·class="ss">stop</span><span·class="p"·data-group-id="5337388801-6">)</span><span·class="p">;</span></code></pre><p>This·puts·less·load·on·the·filesystem,·but·much·more·load·on·the·Erlang·runtime182 </span><span·class="nc">fprof</span><span·class="p">:</span><span·class="nf">trace</span><span·class="p"·data-group-id="9010820415-6">(</span><span·class="ss">stop</span><span·class="p"·data-group-id="9010820415-6">)</span><span·class="p">;</span></code></pre><p>This·puts·less·load·on·the·filesystem,·but·much·more·load·on·the·Erlang·runtime
183 system.</p>183 system.</p>
184 </div>184 </div>
  
185 <div·class="bottom-actions"·id="bottom-actions">185 <div·class="bottom-actions"·id="bottom-actions">
186 ··<div·class="bottom-actions-item">186 ··<div·class="bottom-actions-item">
  
187 ······<a·href="erlang_mode_chapter.html"·class="bottom-actions-button"·rel="prev">187 ······<a·href="erlang_mode_chapter.html"·class="bottom-actions-button"·rel="prev">
Offset 227, 15 lines modifiedOffset 227, 15 lines modified
227 ······<p·class="built-using">227 ······<p·class="built-using">
228 ········Built·using228 ········Built·using
229 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the229 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
230 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>230 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
231 ······</p>231 ······</p>
232 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>232 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
233 ····</footer>233 ····</footer>
234 ··</div>234 ··</div>
235 </main>235 </main>
236 </div>236 </div>
237 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>237 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
238 ··<script>238 ··<script>
239 ··let·initialized·=·false;239 ··let·initialized·=·false;
710 B
html2text {}
Max HTML report size reached
1.39 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/lcnt.html
    
Offset 1777, 15 lines modifiedOffset 1777, 15 lines modified
1777 ······<p·class="built-using">1777 ······<p·class="built-using">
1778 ········Built·using1778 ········Built·using
1779 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1779 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1780 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1780 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1781 ······</p>1781 ······</p>
1782 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1782 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1783 ····</footer>1783 ····</footer>
1784 ··</div>1784 ··</div>
1785 </main>1785 </main>
1786 </div>1786 </div>
1787 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1787 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1788 ··<script>1788 ··<script>
1789 ··let·initialized·=·false;1789 ··let·initialized·=·false;
595 B
html2text {}
Max HTML report size reached
58.7 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/lcnt_chapter.html
    
Offset 229, 28 lines modifiedOffset 229, 28 lines modified
229 ··&lt;nonode@nohost.104.0&gt;····5140··········0.7782········108229 ··&lt;nonode@nohost.104.0&gt;····5140··········0.7782········108
230 ok</code></pre><h2·id="example-with-mnesia-transaction-benchmark"·class="section-heading">230 ok</code></pre><h2·id="example-with-mnesia-transaction-benchmark"·class="section-heading">
231 ··<a·href="#example-with-mnesia-transaction-benchmark"·class="hover-link">231 ··<a·href="#example-with-mnesia-transaction-benchmark"·class="hover-link">
232 ····<i·class="ri-link-m"·aria-hidden="true"></i>232 ····<i·class="ri-link-m"·aria-hidden="true"></i>
233 ··</a>233 ··</a>
234 ··<span·class="text">Example·with·Mnesia·Transaction·Benchmark</span>234 ··<span·class="text">Example·with·Mnesia·Transaction·Benchmark</span>
235 </h2>235 </h2>
236 <p>From·the·Erlang·shell:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">27</span><span·class="w">·</span><span·class="p"·data-group-id="1974764864-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">15.0</span><span·class="p"·data-group-id="1974764864-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="1974764864-2">[</span><span·class="mi">64</spa[·...·truncated·by·diffoscope;·len:·1287,·SHA:·699832c707ec53aa92f8ea325fde41fddfda04dbe0ede7d745890ced7e961ea7·...·]-7">]</span><span·class="w">236 <p>From·the·Erlang·shell:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Erlang</span><span·class="o">/</span><span·class="n">OTP</span><span·class="w">·</span><span·class="mi">27</span><span·class="w">·</span><span·class="p"·data-group-id="3747544438-1">[</span><span·class="ss">erts</span><span·class="o">-</span><span·class="mf">15.0</span><span·class="p"·data-group-id="3747544438-1">]</span><span·class="w">·</span><span·class="p"·data-group-id="3747544438-2">[</span><span·class="mi">64</spa[·...·truncated·by·diffoscope;·len:·1287,·SHA:·22c093fbd4d39c45b4fb2e8596c10ab7d79e94a86ac002f7501a245712390afe·...·]-7">]</span><span·class="w">
  
237 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V15</span><span·class="p">.</span><span·class="mi">0</span><span·class="w">·</span><span·class="p"·data-group-id="1974764864-8">(</span><span·class="ss">press</span><span·class="w">·</span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">G</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">abort</span><sp[·...·truncated·by·diffoscope;·len:·399,·SHA:·726362bbd3992a1d6429853e4cf4b19292383b343b73d14d8de6b9818a0263b9·...·]-8">)</span><span·class="gp·unselectable">237 </span><span·class="n">Eshell</span><span·class="w">·</span><span·class="n">V15</span><span·class="p">.</span><span·class="mi">0</span><span·class="w">·</span><span·class="p"·data-group-id="3747544438-8">(</span><span·class="ss">press</span><span·class="w">·</span><span·class="n">Ctrl</span><span·class="o">+</span><span·class="n">G</span><span·class="w">·</span><span·class="ss">to</span><span·class="w">·</span><span·class="ss">abort</span><sp[·...·truncated·by·diffoscope;·len:·399,·SHA:·51243b95e8aafd0216bd76cce47a3a461bc3d3b1cb47b900c8c8c7ba42d77bc7·...·]-8">)</span><span·class="gp·unselectable">
238 1&gt;·</span><span·class="n">Conf</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="1974764864-10">[</span><span·class="p"·data-group-id="1974764864-11">{</span><span·class="ss">db_nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1974764864-12">[</span><span·class="nf">node</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1155,·SHA:·63fabfcbff69bcdf0c1313f45eab3d5ab82d466dac9177f6b21567affc713cb2·...·]-17">}</span><span·class="p">,</span><span·class="w">238 1&gt;·</span><span·class="n">Conf</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p"·data-group-id="3747544438-10">[</span><span·class="p"·data-group-id="3747544438-11">{</span><span·class="ss">db_nodes</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3747544438-12">[</span><span·class="nf">node</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·1155,·SHA:·84b906e4fb5daf331106918f08b76a8c419223ced037f23eb1f6bdb3ba492b29·...·]-17">}</span><span·class="p">,</span><span·class="w">
239 ····</span><span·class="p"·data-group-id="1974764864-20">{</span><span·class="ss">n_drivers_per_node</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">10</span><span·class="p"·data-group-id="1974764864-20">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·465,·SHA:·f41db9734e2135be3d1f62098d0ed01176c1ef8511f83acaaeb3ccc092e869fd·...·]-22">}</span><span·class="p">,</span><span·class="w">239 ····</span><span·class="p"·data-group-id="3747544438-20">{</span><span·class="ss">n_drivers_per_node</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">10</span><span·class="p"·data-group-id="3747544438-20">}</span><span·class="p">,</span><span·class="w">·</span><span·class="p"[·...·truncated·by·diffoscope;·len:·465,·SHA:·4c3da2803295005ba9617cd61508169959357321f7cadf9a947560b61712034a·...·]-22">}</span><span·class="p">,</span><span·class="w">
240 ····</span><span·class="p"·data-group-id="1974764864-23">{</span><span·class="ss">replica_type</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ram_copies</span><span·class="p"·data-group-id="1974764864-23">}</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·519,·SHA:·c17799a2ab10d277691ec450f2119b2122e01e2d7caf5e299e52a2cda8ea0f8d·...·]-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">240 ····</span><span·class="p"·data-group-id="3747544438-23">{</span><span·class="ss">replica_type</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ram_copies</span><span·class="p"·data-group-id="3747544438-23">}</span><span·class="p">,</span><span·class="w">·</span><span·class="[·...·truncated·by·diffoscope;·len:·519,·SHA:·baf5557df4976be16bca12014eb7612085e72fbfe74fb4fa47f6b49c13546206·...·]-10">]</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">
241 </span><span·class="ss">ok</span><span·class="gp·unselectable">241 </span><span·class="ss">ok</span><span·class="gp·unselectable">
242 2&gt;·</span><span·class="nc">mnesia_tpcb</span><span·class="p">:</span><span·class="nf">init</span><span·class="p"·data-group-id="1974764864-26">(</span><span·class="p"·data-group-id="1974764864-27">[</span><span·class="p"·data-group-id="1974764864-28">{</span><span·class="ss">use_running_mnesia</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·[·...·truncated·by·diffoscope;·len:·194,·SHA:·46f87a4b5a2451f173d24d8a7c7f2382694f56fe5dc28032fd452b168f9f9289·...·]-26">)</span><span·class="p">.</span><span·class="w">242 2&gt;·</span><span·class="nc">mnesia_tpcb</span><span·class="p">:</span><span·class="nf">init</span><span·class="p"·data-group-id="3747544438-26">(</span><span·class="p"·data-group-id="3747544438-27">[</span><span·class="p"·data-group-id="3747544438-28">{</span><span·class="ss">use_running_mnesia</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">false</span><span·[·...·truncated·by·diffoscope;·len:·194,·SHA:·aa7d1149e774b7d5755538f68a2480a9210643b63c65a0d5e40a7e7ffcba478e·...·]-26">)</span><span·class="p">.</span><span·class="w">
243 ····</span><span·class="p">.</span><span·class="w">243 ····</span><span·class="p">.</span><span·class="w">
244 ····</span><span·class="p">.</span><span·class="w">244 ····</span><span·class="p">.</span><span·class="w">
245 ····</span><span·class="p">.</span><span·class="w">245 ····</span><span·class="p">.</span><span·class="w">
246 </span><span·class="ss">ignore</span></code></pre><p>Initial·configuring·of·the·benchmark·is·done.·It·is·time·to·profile·the·actual246 </span><span·class="ss">ignore</span></code></pre><p>Initial·configuring·of·the·benchmark·is·done.·It·is·time·to·profile·the·actual
247 Mnesia·benchmark:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">lcnt</span><span·class="p">:</span><span·class="nf">apply</span><span·class="p"·data-group-id="4777693316-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="4777693316-2">(</span><span·class="p"·data-group-id="4777693316-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·836,·SHA:·c2747ad9dda9601cd3b937c6c907b4650c8aafe8d528d225d51167f8b7967040·...·]-7">{</span><span·class="ss">use_running_mnesia</span><span·class="p">,</span><span·class="w">247 Mnesia·benchmark:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">3&gt;·</span><span·class="nc">lcnt</span><span·class="p">:</span><span·class="nf">apply</span><span·class="p"·data-group-id="3592579338-1">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="3592579338-2">(</span><span·class="p"·data-group-id="3592579338-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·836,·SHA:·16b27993734c23ada201f2ee205ebd8bd9ede3a5c655abb918c2c1fa45f4808d·...·]-7">{</span><span·class="ss">use_running_mnesia</span><span·class="p">,</span><span·class="w">
248 ····</span><span·class="ss">true</span><span·class="p"·data-group-id="4777693316-7">}</span><span·class="p">|</span><span·class="n">Conf</span><span·class="p"·data-group-id="4777693316-6">]</span><span·class="p"·data-group-id="4777693316-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tps</span><sp[·...·truncated·by·diffoscope;·len:·138,·SHA:·9e9dca7a3d5405e4e3addcdee82c7b250fc2b3357d318a58c505208f9b9cdb35·...·]-1">)</span><span·class="p">.</span><span·class="w">248 ····</span><span·class="ss">true</span><span·class="p"·data-group-id="3592579338-7">}</span><span·class="p">|</span><span·class="n">Conf</span><span·class="p"·data-group-id="3592579338-6">]</span><span·class="p"·data-group-id="3592579338-5">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tps</span><sp[·...·truncated·by·diffoscope;·len:·138,·SHA:·78dce3de814b527592c1cd34ac47103c8b6e57b7114f1806eb575462790da381·...·]-1">)</span><span·class="p">.</span><span·class="w">
249 ······</span><span·class="p">.</span><span·class="w">249 ······</span><span·class="p">.</span><span·class="w">
250 ······</span><span·class="p">.</span><span·class="w">250 ······</span><span·class="p">.</span><span·class="w">
251 ······</span><span·class="p">.</span><span·class="w">251 ······</span><span·class="p">.</span><span·class="w">
252 </span><span·class="mf">50204.666666666664</span></code></pre><p>The·benchmark·runs·for·60·seconds·(followed·by·verification·and252 </span><span·class="mf">50204.666666666664</span></code></pre><p>The·benchmark·runs·for·60·seconds·(followed·by·verification·and
253 analysis),·and·then·returns·the·number·of·transactions·per·seconds.</p><pre><code·class="text">4&gt;·lcnt:swap_pid_keys().253 analysis),·and·then·returns·the·number·of·transactions·per·seconds.</p><pre><code·class="text">4&gt;·lcnt:swap_pid_keys().
254 ok254 ok
255 5&gt;·lcnt:conflicts().255 5&gt;·lcnt:conflicts().
Offset 346, 71 lines modifiedOffset 346, 71 lines modified
346 problematic·if·they·begin·to·have·conflicts·even·if·it·is·not·shown·in·a346 problematic·if·they·begin·to·have·conflicts·even·if·it·is·not·shown·in·a
347 particular·test.</p><h2·id="the-big-bang-benchmark"·class="section-heading">347 particular·test.</p><h2·id="the-big-bang-benchmark"·class="section-heading">
348 ··<a·href="#the-big-bang-benchmark"·class="hover-link">348 ··<a·href="#the-big-bang-benchmark"·class="hover-link">
349 ····<i·class="ri-link-m"·aria-hidden="true"></i>349 ····<i·class="ri-link-m"·aria-hidden="true"></i>
350 ··</a>350 ··</a>
351 ··<span·class="text">The·Big·Bang·Benchmark</span>351 ··<span·class="text">The·Big·Bang·Benchmark</span>
352 </h2>352 </h2>
353 <pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5103361153-1">(</span><span·class="ss">big</span><span·class="p"·data-group-id="5103361153-1">)</span><span·class="p">.</span><span·class="w">353 <pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9336775312-1">(</span><span·class="ss">big</span><span·class="p"·data-group-id="9336775312-1">)</span><span·class="p">.</span><span·class="w">
354 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5103361153-2">(</span><span·class="p"·data-group-id="5103361153-3">[</span><span·class="ss">bang</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="5103361153-3">]</span><span·class="p"·data-group-id="5103361153-2">)</span><span·class="p">.</span><span·class="w">354 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9336775312-2">(</span><span·class="p"·data-group-id="9336775312-3">[</span><span·class="ss">bang</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="9336775312-3">]</span><span·class="p"·data-group-id="9336775312-2">)</span><span·class="p">.</span><span·class="w">
  
355 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="5103361153-4">(</span><span·class="p"·data-group-id="5103361153-5">[</span><span·class="p"·data-group-id="5103361153-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-6">[</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·143,·SHA:·c80d2e45110c23bb844cf98917180e3e561faf2e275c25240438ccb966b051d5·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">355 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="9336775312-4">(</span><span·class="p"·data-group-id="9336775312-5">[</span><span·class="p"·data-group-id="9336775312-5">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-6">[</span><span·class="p"·data-group-[·...·truncated·by·diffoscope;·len:·143,·SHA:·59cd925249082112bb597d5a946fb54297af35601b84688e3f476b374163ddda·...·]-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
356 ····</span><span·class="k">receive</span><span·class="w">356 ····</span><span·class="k">receive</span><span·class="w">
357 »       </span><span·class="p"·data-group-id="5103361153-7">{</span><span·class="ss">procs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Procs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ReportTo</span><span·class="p"·data-group-id="5103361153-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">357 »       </span><span·class="p"·data-group-id="9336775312-7">{</span><span·class="ss">procs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Procs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ReportTo</span><span·class="p"·data-group-id="9336775312-7">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
358 »       ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="5103361153-8">(</span><span·class="n">Procs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-9">[</span><span·class="p"·data-group-id="5103361153-9">]</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·68,·SHA:·27662cb77ab072d1ec4992a54d77c9156c11c6f1d111b7bb5d55fda08bcad567·...·]-8">)</span><span·class="w">358 »       ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="9336775312-8">(</span><span·class="n">Procs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-9">[</span><span·class="p"·data-group-id="9336775312-9">]</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·68,·SHA:·09495ae58f408638bd56f88d64dd8c3a4ae8923ac0cd0f23499c4141d373a1ae·...·]-8">)</span><span·class="w">
359 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">359 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
360 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="5103361153-10">(</span><span·class="p"·data-group-id="5103361153-11">[</span><span·class="p"·data-group-id="5103361153-11">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-12">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·149,·SHA:·11b8ad4f7798164089d3acab51f171c921cbc71c0fe6c5ba8faa8c980b233551·...·]-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">360 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="9336775312-10">(</span><span·class="p"·data-group-id="9336775312-11">[</span><span·class="p"·data-group-id="9336775312-11">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-12">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·149,·SHA:·99235d42efaba498f7dd85ddb33fd37378fa77871a671b9fb5518da4f19d83ac·...·]-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
361 ····</span><span·class="k">receive</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-13">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="n">From</span><span·class="p"·data-group-id="5103361153-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·406,·SHA:·fd23cd8a47d992153f62f1c7f55ca5e4cb598d8e986f93d5e8c23d84d8a5d596·...·]-14">}</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">361 ····</span><span·class="k">receive</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-13">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="n">From</span><span·class="p"·data-group-id="9336775312-13">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·406,·SHA:·d5b4173a2f010d32dc553269712fe0f739383c24ec2b284164c3b2f985905576·...·]-14">}</span><span·class="w">·</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
362 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="5103361153-16">(</span><span·class="p"·data-group-id="5103361153-17">[</span><span·class="p"·data-group-id="5103361153-17">]</span><span·class="p">,</span><span·class="p"·data-group-id="5103361153-18">[</span><span·class="p"·data-group-id="5103361153-18">][·...·truncated·by·diffoscope;·len:·101,·SHA:·189798413f551009acdc77525b416c80f683ffbae5cfc4c28b405f96fb0e1fa4·...·]-16">)</span><span·class="p">;</span><span·class="w">362 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="9336775312-16">(</span><span·class="p"·data-group-id="9336775312-17">[</span><span·class="p"·data-group-id="9336775312-17">]</span><span·class="p">,</span><span·class="p"·data-group-id="9336775312-18">[</span><span·class="p"·data-group-id="9336775312-18">][·...·truncated·by·diffoscope;·len:·101,·SHA:·fcf6917a683f3b2aa4e5b6f5f2f365a4f148d43949b8c538373a120c36ddd209·...·]-16">)</span><span·class="p">;</span><span·class="w">
363 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="5103361153-19">(</span><span·class="p"·data-group-id="5103361153-20">[</span><span·class="p"·data-group-id="5103361153-20">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-21">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·151,·SHA:·21d4d2163b9c634370e04b5125a197d84306f1623a0adde9390aead418e322ff·...·]-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">363 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="9336775312-19">(</span><span·class="p"·data-group-id="9336775312-20">[</span><span·class="p"·data-group-id="9336775312-20">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-21">[</span><span·class="p"·data-gr[·...·truncated·by·diffoscope;·len:·151,·SHA:·0897780303c0629fc9a5599c1663032db248f53815552c8d1e42e16756df7f8a·...·]-19">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
364 ····</span><span·class="n">ReportTo</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-22">{</span><span·class="ss">done</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="5103361153-23">(</span><span·class="p"·data-group-id="5103361153-23">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·61ac6b35f1b22b46be9ae8cd858e357ef55bb476fab7bd823c4e744b5dec08b4·...·]-22">}</span><span·class="p">,</span><span·class="w">364 ····</span><span·class="n">ReportTo</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-22">{</span><span·class="ss">done</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="9336775312-23">(</span><span·class="p"·data-group-id="9336775312-23">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·f77bea75c509a131326fe7153ea80480e981d72b21fde663c0fdc90d84de1cd8·...·]-22">}</span><span·class="p">,</span><span·class="w">
365 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="5103361153-24">(</span><span·class="p"·data-group-id="5103361153-25">[</span><span·class="p"·data-group-id="5103361153-25">]</span><span·class="p">,</span><span·class="p"·data-group-id="5103361153-26">[</span><span·class="p"·data-group-id="5103361153-26">][·...·truncated·by·diffoscope;·len:·101,·SHA:·189798413f551009acdc77525b416c80f683ffbae5cfc4c28b405f96fb0e1fa4·...·]-24">)</span><span·class="p">;</span><span·class="w">365 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="9336775312-24">(</span><span·class="p"·data-group-id="9336775312-25">[</span><span·class="p"·data-group-id="9336775312-25">]</span><span·class="p">,</span><span·class="p"·data-group-id="9336775312-26">[</span><span·class="p"·data-group-id="9336775312-26">][·...·truncated·by·diffoscope;·len:·101,·SHA:·fcf6917a683f3b2aa4e5b6f5f2f365a4f148d43949b8c538373a120c36ddd209·...·]-24">)</span><span·class="p">;</span><span·class="w">
366 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="5103361153-27">(</span><span·class="p"·data-group-id="5103361153-28">[</span><span·class="p"·data-group-id="5103361153-28">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-29">[</span><span·class="n">Po</spa[·...·truncated·by·diffoscope;·len:·328,·SHA:·d984081cd15a01455f697c8c4e2cd99115c9281891767f901402c6543ccc34e9·...·]-27">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">366 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="9336775312-27">(</span><span·class="p"·data-group-id="9336775312-28">[</span><span·class="p"·data-group-id="9336775312-28">]</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-29">[</span><span·class="n">Po</spa[·...·truncated·by·diffoscope;·len:·328,·SHA:·42867990232acebee43527e02bf6ab22df2582b17eb4d2b10ee0987fafcec8c6·...·]-27">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
367 ····</span><span·class="k">receive</span><span·class="w">367 ····</span><span·class="k">receive</span><span·class="w">
368 »       </span><span·class="p"·data-group-id="5103361153-30">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="n">From</span><span·class="p"·data-group-id="5103361153-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">368 »       </span><span·class="p"·data-group-id="9336775312-30">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="n">From</span><span·class="p"·data-group-id="9336775312-30">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
369 »       ····</span><span·class="n">From</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-31">{</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="5103361153-32">(</span><span·class="p"·data-group-id="5103361153-32">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·61ac6b35f1b22b46be9ae8cd858e357ef55bb476fab7bd823c4e744b5dec08b4·...·]-31">}</span><span·class="p">,</span><span·class="w">369 »       ····</span><span·class="n">From</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-31">{</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="9336775312-32">(</span><span·class="p"·data-group-id="9336775312-32">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·f77bea75c509a131326fe7153ea80480e981d72b21fde663c0fdc90d84de1cd8·...·]-31">}</span><span·class="p">,</span><span·class="w">
370 »       ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="5103361153-33">(</span><span·class="p"·data-group-id="5103361153-34">[</span><span·class="p"·data-group-id="5103361153-34">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pongers</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ReportTo</span><span·class="p"·data-group-id="5103361153-33">)</span><span·class="p">;</span><span·class="w"> 
371 »       </span><span·class="p"·data-group-id="5103361153-35">{</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Po</span><span·class="p"·data-group-id="5103361153-35">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w"> 
372 »       ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="5103361153-36">(</span><span·class="p"·data-group-id="5103361153-37">[</span><span·class="p"·data-group-id="5103361153-37">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·75,·SHA:·88574d9c32a31e17436fde8ae7ccc7a684f21db4638f626d44fc7fd257576ede·...·]</span><span·class="w">370 »       ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="9336775312-33">(</span><span·class="p"·data-group-id="9336775312-34">[</span><span·class="p"·data-group-id="9336775312-34">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pongers</span><span·class="p">,</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·103,·SHA:·e5a7e56e05f8b585276689bcc943a3ac038ba7dde2636f6989f34abcf83ed03d·...·]</span><span·class="w">
 371 »       </span><span·class="p"·data-group-id="9336775312-35">{</span><span·class="ss">pong</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Po</span><span·class="p"·data-group-id="9336775312-35">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
 372 »       ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="9336775312-36">(</span><span·class="p"·data-group-id="9336775312-37">[</span><span·class="p"·data-group-id="9336775312-37">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Pos</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ReportTo</span><span·class="p"·data-group-id="9336775312-36">)</span><span·class="w">
373 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">373 ····</span><span·class="k">end</span><span·class="p">;</span><span·class="w">
374 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="5103361153-38">(</span><span·class="p"·data-group-id="5103361153-39">[</span><span·class="n">Pi</span><span·class="p">|</span><span·class="n">Pis</span><span·class="p"·data-group-id="5103361153-39">]</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·148,·SHA:·c3080ba3a52bbacc16549e8b954ad4559365d992334272dd448d8b32811ed3ac·...·]-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">374 </span><span·class="nf">pinger</span><span·class="p"·data-group-id="9336775312-38">(</span><span·class="p"·data-group-id="9336775312-39">[</span><span·class="n">Pi</span><span·class="p">|</span><span·class="n">Pis</span><span·class="p"·data-group-id="9336775312-39">]</span><span·class="p">,</span><span·class="w">·</span><s[·...·truncated·by·diffoscope;·len:·148,·SHA:·707a6f743973f462cf20c095524a1eed54294fd4f0f83d8fa2ad5786407a6a94·...·]-38">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
375 ····</span><span·class="k">receive</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-40">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="n">From</span><span·class="p"·data-group-id="5103361153-40">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·406,·SHA:·3cc037515c801afb9665b9af3c4cf42e63d64dcee10bc59d0627c3d33cafb042·...·]-41">}</span><span·class="w">375 ····</span><span·class="k">receive</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-40">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="n">From</span><span·class="p"·data-group-id="9336775312-40">}</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·406,·SHA:·70c39a0d61dca3f6d132a24870b2ae1725cdc4819ad8bb03bb5a411c3d507b7c·...·]-41">}</span><span·class="w">
376 ····</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">376 ····</span><span·class="k">after</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="w">
377 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">377 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
378 ····</span><span·class="n">Pi</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-43">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="5103361153-44">(</span><span·class="p"·data-group-id="5103361153-44">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·61ac6b35f1b22b46be9ae8cd858e357ef55bb476fab7bd823c4e744b5dec08b4·...·]-43">}</span><span·class="p">,</span><span·class="w">378 ····</span><span·class="n">Pi</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-43">{</span><span·class="ss">ping</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">self</span><span·class="p"·data-group-id="9336775312-44">(</span><span·class="p"·data-group-id="9336775312-44">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·20,·SHA:·f77bea75c509a131326fe7153ea80480e981d72b21fde663c0fdc90d84de1cd8·...·]-43">}</span><span·class="p">,</span><span·class="w">
379 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="5103361153-45">(</span><span·class="n">Pis</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-46">[</span><span·class="n">Pi</span><span·class="p">|</span><span·class="n">Pongers</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·148,·SHA:·6132b4c45c8170197681f9ba6ae8916cd12d74ce578dbf5d84b5b6d1201fb0f1·...·]-45">)</span><span·class="p">.</span><span·class="w">379 ····</span><span·class="nf">pinger</span><span·class="p"·data-group-id="9336775312-45">(</span><span·class="n">Pis</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-46">[</span><span·class="n">Pi</span><span·class="p">|</span><span·class="n">Pongers</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·148,·SHA:·12da17e0c7a2753f59c513c3fc7ffe4a88c448405568a932a90f9a76717743c7·...·]-45">)</span><span·class="p">.</span><span·class="w">
  
380 </span><span·class="nf">spawn_procs</span><span·class="p"·data-group-id="5103361153-47">(</span><span·class="n">N</span><span·class="p"·data-group-id="5103361153-47">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">380 </span><span·class="nf">spawn_procs</span><span·class="p"·data-group-id="9336775312-47">(</span><span·class="n">N</span><span·class="p"·data-group-id="9336775312-47">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="n">N</span><span·class="w">·</span><span·class="o">=&lt;</span><span·class="w">·</span><span·class="mi">0</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
381 ····</span><span·class="p"·data-group-id="5103361153-48">[</span><span·class="p"·data-group-id="5103361153-48">]</span><span·class="p">;</span><span·class="w">381 ····</span><span·class="p"·data-group-id="9336775312-48">[</span><span·class="p"·data-group-id="9336775312-48">]</span><span·class="p">;</span><span·class="w">
382 </span><span·class="nf">spawn_procs</span><span·class="p"·data-group-id="5103361153-49">(</span><span·class="n">N</span><span·class="p"·data-group-id="5103361153-49">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">382 </span><span·class="nf">spawn_procs</span><span·class="p"·data-group-id="9336775312-49">(</span><span·class="n">N</span><span·class="p"·data-group-id="9336775312-49">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
383 ····</span><span·class="p"·data-group-id="5103361153-50">[</span><span·class="nf">spawn_link</span><span·class="p"·data-group-id="5103361153-51">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-52">(</span><span·class="p"·data-group-id="510336115[·...·truncated·by·diffoscope;·len:·953,·SHA:·82e60fde42b71785ab48b7940c046b7f7acbecaa056a4db40f2ae00832d1e153·...·]-50">]</span><span·class="p">.</span><span·class="w">383 ····</span><span·class="p"·data-group-id="9336775312-50">[</span><span·class="nf">spawn_link</span><span·class="p"·data-group-id="9336775312-51">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-52">(</span><span·class="p"·data-group-id="933677531[·...·truncated·by·diffoscope;·len:·953,·SHA:·da35666ef0df70369595a2edeef955c42c0823a6faea7dfa58aaefb4356b24b1·...·]-50">]</span><span·class="p">.</span><span·class="w">
  
384 </span><span·class="nf">send_procs</span><span·class="p"·data-group-id="5103361153-57">(</span><span·class="p"·data-group-id="5103361153-58">[</span><span·class="p"·data-group-id="5103361153-58">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="5103361153-57">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">384 </span><span·class="nf">send_procs</span><span·class="p"·data-group-id="9336775312-57">(</span><span·class="p"·data-group-id="9336775312-58">[</span><span·class="p"·data-group-id="9336775312-58">]</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="9336775312-57">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
385 ····</span><span·class="n">Msg</span><span·class="p">;</span><span·class="w">385 ····</span><span·class="n">Msg</span><span·class="p">;</span><span·class="w">
386 </span><span·class="nf">send_procs</span><span·class="p"·data-group-id="5103361153-59">(</span><span·class="p"·data-group-id="5103361153-60">[</span><span·class="n">P</span><span·class="p">|</span><span·class="n">Ps</span><span·class="p"·data-group-id="5103361153-60">]</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·63,·SHA:·8431cdf5b4b1cd90d8affbc35b86d5e40775771b8cfdb387e885a705eec46309·...·]-59">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">386 </span><span·class="nf">send_procs</span><span·class="p"·data-group-id="9336775312-59">(</span><span·class="p"·data-group-id="9336775312-60">[</span><span·class="n">P</span><span·class="p">|</span><span·class="n">Ps</span><span·class="p"·data-group-id="9336775312-60">]</span><span·class="p">,</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·63,·SHA:·7ea951a7b4d6c68c2b98902f5aab8b4005f7d8ae638406e3457c40c1229a9fea·...·]-59">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
387 ····</span><span·class="n">P</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">387 ····</span><span·class="n">P</span><span·class="w">·</span><span·class="o">!</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p">,</span><span·class="w">
388 ····</span><span·class="nf">send_procs</span><span·class="p"·data-group-id="5103361153-61">(</span><span·class="n">Ps</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="5103361153-61">)</span><span·class="p">.</span><span·class="w">388 ····</span><span·class="nf">send_procs</span><span·class="p"·data-group-id="9336775312-61">(</span><span·class="n">Ps</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="9336775312-61">)</span><span·class="p">.</span><span·class="w">
  
389 </span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="5103361153-62">(</span><span·class="p"·data-group-id="5103361153-63">[</span><span·class="p"·data-group-id="5103361153-63">]</span><span·class="p"·data-group-id="5103361153-62">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">389 </span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="9336775312-62">(</span><span·class="p"·data-group-id="9336775312-63">[</span><span·class="p"·data-group-id="9336775312-63">]</span><span·class="p"·data-group-id="9336775312-62">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
390 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">390 ····</span><span·class="ss">ok</span><span·class="p">;</span><span·class="w">
391 </span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="5103361153-64">(</span><span·class="p"·data-group-id="5103361153-65">[</span><span·class="n">M</span><span·class="p">|</span><span·class="n">Ms</span><span·class="p"·data-group-id="5103361153-65">]</span><span·class="p"·data-group-id="5103361153-64">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">391 </span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="9336775312-64">(</span><span·class="p"·data-group-id="9336775312-65">[</span><span·class="n">M</span><span·class="p">|</span><span·class="n">Ms</span><span·class="p"·data-group-id="9336775312-65">]</span><span·class="p"·data-group-id="9336775312-64">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
392 ····</span><span·class="k">receive</span><span·class="w">392 ····</span><span·class="k">receive</span><span·class="w">
393 »       </span><span·class="n">M</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">393 »       </span><span·class="n">M</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
394 »       ····</span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="5103361153-66">(</span><span·class="n">Ms</span><span·class="p"·data-group-id="5103361153-66">)</span><span·class="w">394 »       ····</span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="9336775312-66">(</span><span·class="n">Ms</span><span·class="p"·data-group-id="9336775312-66">)</span><span·class="w">
395 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">395 ····</span><span·class="k">end</span><span·class="p">.</span><span·class="w">
  
396 </span><span·class="nf">bang</span><span·class="p"·data-group-id="5103361153-67">(</span><span·class="n">N</span><span·class="p"·data-group-id="5103361153-67">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="5103361153-68">(</[·...·truncated·by·diffoscope;·len:·70,·SHA:·97ee625e732b948d26f657fa536e671058708945c08992facc597a1ea5f3d24c·...·]-68">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">396 </span><span·class="nf">bang</span><span·class="p"·data-group-id="9336775312-67">(</span><span·class="n">N</span><span·class="p"·data-group-id="9336775312-67">)</span><span·class="w">·</span><span·class="k">when</span><span·class="w">·</span><span·class="nf">integer</span><span·class="p"·data-group-id="9336775312-68">(</[·...·truncated·by·diffoscope;·len:·70,·SHA:·773865e18d17e08120b7c1f501f07bef27e2eaf6fe9fce27b44f8c59a95304ed·...·]-68">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
397 ····</span><span·class="n">Procs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn_procs</span><span·class="p"·data-group-id="5103361153-69">(</span><span·class="n">N</span><span·class="p"·data-group-id="5103361153-69">)</span><span·class="p">,</span><span·class="w">397 ····</span><span·class="n">Procs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">spawn_procs</span><span·class="p"·data-group-id="9336775312-69">(</span><span·class="n">N</span><span·class="p"·data-group-id="9336775312-69">)</span><span·class="p">,</span><span·class="w">
398 ····</span><span·class="n">RMsgs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="5103361153-70">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-71">(</span><span·class="n">P</span><span·class="p"·data-group-id="5103361153-71">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·401,·SHA:·85388f18087d23c5291c45cffbaecb4df81a474eb3d0919567ae00d6e79a1e5a·...·]-70">)</span><span·class="p">,</span><span·class="w">398 ····</span><span·class="n">RMsgs</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">map</span><span·class="p"·data-group-id="9336775312-70">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-71">(</span><span·class="n">P</span><span·class="p"·data-group-id="9336775312-71">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·401,·SHA:·25bdc69f34e768f1a79a33e56b21beff8eec651dc87b72a143230a1dfc5ea367·...·]-70">)</span><span·class="p">,</span><span·class="w">
399 ····</span><span·class="n">Start</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">now</span><span·class="p"·data-group-id="5103361153-73">(</span><span·class="p"·data-group-id="5103361153-73">)</span><span·class="p">,</span><span·class="w">399 ····</span><span·class="n">Start</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">now</span><span·class="p"·data-group-id="9336775312-73">(</span><span·class="p"·data-group-id="9336775312-73">)</span><span·class="p">,</span><span·class="w">
400 ····</span><span·class="nf">send_procs</span><span·class="p"·data-group-id="5103361153-74">(</span><span·class="n">Procs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-75">{</span><span·class="ss">procs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Procs</spa[·...·truncated·by·diffoscope;·len:·281,·SHA:·34acb5a52dce6014be5df0c3cfc14989968f8c0289a8057ca2e744d2f68e0094·...·]-74">)</span><span·class="p">,</span><span·class="w">400 ····</span><span·class="nf">send_procs</span><span·class="p"·data-group-id="9336775312-74">(</span><span·class="n">Procs</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-75">{</span><span·class="ss">procs</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Procs</spa[·...·truncated·by·diffoscope;·len:·281,·SHA:·01d0ccde66c46fd664b7a14b08cd3948587c8fb504118343d51b36a98cccb214·...·]-74">)</span><span·class="p">,</span><span·class="w">
401 ····</span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="5103361153-77">(</span><span·class="n">RMsgs</span><span·class="p"·data-group-id="5103361153-77">)</span><span·class="p">,</span><span·class="w">401 ····</span><span·class="nf">receive_msgs</span><span·class="p"·data-group-id="9336775312-77">(</span><span·class="n">RMsgs</span><span·class="p"·data-group-id="9336775312-77">)</span><span·class="p">,</span><span·class="w">
402 ····</span><span·class="n">Stop</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">now</span><span·class="p"·data-group-id="5103361153-78">(</span><span·class="p"·data-group-id="5103361153-78">)</span><span·class="p">,</span><span·class="w">402 ····</span><span·class="n">Stop</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">now</span><span·class="p"·data-group-id="9336775312-78">(</span><span·class="p"·data-group-id="9336775312-78">)</span><span·class="p">,</span><span·class="w">
403 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foreach</span><span·class="p"·data-group-id="5103361153-79">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="5103361153-80">(</span><span·class="n">P</span><span·class="p"·data-group-id="5103361153-80">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·431,·SHA:·5fdf9f57ed35c556b04a94891b5596c78cf77581f705b2dc5b3f75a5a8ac7a90·...·]-79">)</span><span·class="p">,</span><span·class="w">403 ····</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foreach</span><span·class="p"·data-group-id="9336775312-79">(</span><span·class="nf">fun</span><span·class="w">·</span><span·class="p"·data-group-id="9336775312-80">(</span><span·class="n">P</span><span·class="p"·data-group-id="9336775312-80">)</span><span·class="w">·</span><span·class="p">-&gt;</spa[·...·truncated·by·diffoscope;·len:·431,·SHA:·6368dea02b9c48cca8dc0f7a2d568e3e06812d1b20fe44e9dea85f4b2ed06efd·...·]-79">)</span><span·class="p">,</span><span·class="w">
404 ····</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">now_diff</span><span·class="p"·data-group-id="5103361153-82">(</span><span·class="n">Stop</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Start</span><span·class="p"·data-group-id="5103361153-82">)</span><span·class="p">.</span></code></pre><h2·id="see-also"·class="section-heading">404 ····</span><span·class="nc">timer</span><span·class="p">:</span><span·class="nf">now_diff</span><span·class="p"·data-group-id="9336775312-82">(</span><span·class="n">Stop</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Start</span><span·class="p"·data-group-id="9336775312-82">)</span><span·class="p">.</span></code></pre><h2·id="see-also"·class="section-heading">
405 ··<a·href="#see-also"·class="hover-link">405 ··<a·href="#see-also"·class="hover-link">
406 ····<i·class="ri-link-m"·aria-hidden="true"></i>406 ····<i·class="ri-link-m"·aria-hidden="true"></i>
407 ··</a>407 ··</a>
408 ··<span·class="text">See·Also</span>408 ··<span·class="text">See·Also</span>
409 </h2>409 </h2>
410 <p><a·href="lcnt.html">LCNT·Reference·Manual</a></p>410 <p><a·href="lcnt.html">LCNT·Reference·Manual</a></p>
411 </div>411 </div>
Offset 459, 15 lines modifiedOffset 459, 15 lines modified
459 ······<p·class="built-using">459 ······<p·class="built-using">
460 ········Built·using460 ········Built·using
461 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the461 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
462 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>462 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
463 ······</p>463 ······</p>
464 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>464 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
465 ····</footer>465 ····</footer>
466 ··</div>466 ··</div>
467 </main>467 </main>
468 </div>468 </div>
469 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>469 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
470 ··<script>470 ··<script>
471 ··let·initialized·=·false;471 ··let·initialized·=·false;
764 B
html2text {}
Max HTML report size reached
5.33 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/make.html
    
Offset 138, 16 lines modifiedOffset 138, 16 lines modified
138 <p><a·href="#all/1"><code·class="inline">make:all/0,1</code></a>·and·<a·href="#files/2"><code·class="inline">make:files/1,2</code></a>·first·looks·for138 <p><a·href="#all/1"><code·class="inline">make:all/0,1</code></a>·and·<a·href="#files/2"><code·class="inline">make:files/1,2</code></a>·first·looks·for
139 <code·class="inline">{emake,·Emake}</code>·in·options,·then·in·the·current·working·directory·for·a·file139 <code·class="inline">{emake,·Emake}</code>·in·options,·then·in·the·current·working·directory·for·a·file
140 named·<code·class="inline">Emakefile</code>.·If·present·<code·class="inline">Emake</code>·should·contain·elements·like·this:</p><pre><code·class="text">Modules.140 named·<code·class="inline">Emakefile</code>.·If·present·<code·class="inline">Emake</code>·should·contain·elements·like·this:</p><pre><code·class="text">Modules.
141 {Modules,Options}.</code></pre><p><code·class="inline">Modules</code>·is·an·atom·or·a·list·of·atoms.·It·can·be</p><ul><li>a·module·name,·for·exmaple,··<code·class="inline">file1</code></li><li>a·module·name·in·another·directory,·for·exmaple,·<code·class="inline">'../foo/file3'</code></li><li>a·set·of·modules·specified·with·a·wildcards,·for·exmaple,·<code·class="inline">'file*'</code></li><li>a·wildcard·indicating·all·modules·in·current·directory,·that·is:·<code·class="inline">'*'</code></li><li>a·list·of·any·of·the·above,·for·exmaple,·<code·class="inline">['file*','../foo/file3','File4']</code></li></ul><p><code·class="inline">Options</code>·is·a·list·of·compiler·options.</p><p><code·class="inline">Emakefile</code>·is·read·from·top·to·bottom.·If·a·module·matches·more·than·one·entry,141 {Modules,Options}.</code></pre><p><code·class="inline">Modules</code>·is·an·atom·or·a·list·of·atoms.·It·can·be</p><ul><li>a·module·name,·for·exmaple,··<code·class="inline">file1</code></li><li>a·module·name·in·another·directory,·for·exmaple,·<code·class="inline">'../foo/file3'</code></li><li>a·set·of·modules·specified·with·a·wildcards,·for·exmaple,·<code·class="inline">'file*'</code></li><li>a·wildcard·indicating·all·modules·in·current·directory,·that·is:·<code·class="inline">'*'</code></li><li>a·list·of·any·of·the·above,·for·exmaple,·<code·class="inline">['file*','../foo/file3','File4']</code></li></ul><p><code·class="inline">Options</code>·is·a·list·of·compiler·options.</p><p><code·class="inline">Emakefile</code>·is·read·from·top·to·bottom.·If·a·module·matches·more·than·one·entry,
142 the·first·match·is·used.·For·example,·the·following·<code·class="inline">Emakefile</code>·means·that142 the·first·match·is·used.·For·example,·the·following·<code·class="inline">Emakefile</code>·means·that
143 <code·class="inline">file1</code>·should·be·compiled·with·the·options·<code·class="inline">[debug_info,{i,&quot;../foo&quot;}]</code>,·while143 <code·class="inline">file1</code>·should·be·compiled·with·the·options·<code·class="inline">[debug_info,{i,&quot;../foo&quot;}]</code>,·while
144 all·other·files·in·the·current·directory·should·be·compiled·with·only·the144 all·other·files·in·the·current·directory·should·be·compiled·with·only·the
145 <code·class="inline">debug_info</code>·flag.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="7405367362-1">{</span><span·class="ss">&#39;file1&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="7405367362-2">[</span><span·class="ss">debug_info</span><span·class="p">,</span><span·class="p"·data-group-id="7405367362-3">{</span><span·class="ss">i</span><span·class="p">,</span><span·class="s">&quot;../foo&quot;</span><span·class="p"·data-group-id="7405367362-3">}</span><span·class="p"·data-group-id="7405367362-2">]</span><span·class="p"·data-group-id="7405367362-1">}</span><span·class="p">.</span><span·class="w"> 
146 </span><span·class="p"·data-group-id="7405367362-4">{</span><span·class="ss">&#39;*&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="7405367362-5">[</span><span·class="ss">debug_info</span><span·class="p"·data-group-id="7405367362-5">]</spa[·...·truncated·by·diffoscope;·len:·139,·SHA:·99b281a091d7d2ebef163ae570d4610004b4c91787bd7ebcf4f3ceff36d78319·...·]">145 <code·class="inline">debug_info</code>·flag.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2824633255-1">{</span><span·class="ss">&#39;file1&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2824633255-2">[·...·truncated·by·diffoscope;·len:·406,·SHA:·7bd1d85f92892ece98fcd510a07d7d95b2e8b63fe685161922bb6e38c4efef2b·...·]">
 146 </span><span·class="p"·data-group-id="2824633255-4">{</span><span·class="ss">&#39;*&#39;</span><span·class="p">,</span><span·class="p"·data-group-id="2824633255-5">[</span><span·class="ss">debug_info</span><span·class="p"·data-group-id="2824633255-5">]</span><span·class="p"·data-group-id="2824633255-4">}</span><span·class="p">.</span></code></pre><h2·id="module-see-also"·class="section-heading">
147 ··<a·href="#module-see-also"·class="hover-link">147 ··<a·href="#module-see-also"·class="hover-link">
148 ····<i·class="ri-link-m"·aria-hidden="true"></i>148 ····<i·class="ri-link-m"·aria-hidden="true"></i>
149 ··</a>149 ··</a>
150 ··<span·class="text">See·Also</span>150 ··<span·class="text">See·Also</span>
151 </h2>151 </h2>
152 <p><a·href="../../../../lib/compiler-9.0/doc/html/compile.html">The·Compiler·Application</a></p>152 <p><a·href="../../../../lib/compiler-9.0/doc/html/compile.html">The·Compiler·Application</a></p>
153 ····</section>153 ····</section>
Offset 378, 15 lines modifiedOffset 378, 15 lines modified
378 ······<p·class="built-using">378 ······<p·class="built-using">
379 ········Built·using379 ········Built·using
380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
382 ······</p>382 ······</p>
383 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>383 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
384 ····</footer>384 ····</footer>
385 ··</div>385 ··</div>
386 </main>386 </main>
387 </div>387 </div>
388 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>388 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
389 ··<script>389 ··<script>
390 ··let·initialized·=·false;390 ··let·initialized·=·false;
675 B
html2text {}
Max HTML report size reached
30.2 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/notes.html
    
Offset 181, 51 lines modifiedOffset 181, 51 lines modified
181 </h2>181 </h2>
182 <h3·id="fixed-bugs-and-malfunctions-3"·class="section-heading">182 <h3·id="fixed-bugs-and-malfunctions-3"·class="section-heading">
183 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">183 ··<a·href="#fixed-bugs-and-malfunctions-3"·class="hover-link">
184 ····<i·class="ri-link-m"·aria-hidden="true"></i>184 ····<i·class="ri-link-m"·aria-hidden="true"></i>
185 ··</a>185 ··</a>
186 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>186 ··<span·class="text">Fixed·Bugs·and·Malfunctions</span>
187 </h3>187 </h3>
188 <ul><li><p>Dialyzer·warnings·due·to·type·specs·added·in·<a·href="../../../../lib/runtime_tools-2.2/doc/html/dbg.html"><code·class="inline">dbg</code></a>·have·been·eliminated.</p><p>Own·Id:·OTP-18860</p></li><li><p>In·Erlang/OTP·26,·doing·a·<a·href="cover.html"><code·class="inline">cover</code></a>·analysis·on·the·<code·class="inline">line</code>·level·would·return·multiple·entries·for·lines·on·which·multiple·functions·were·defined.</p><p>For·example,·consider·this·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="0007453263-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="0007453263-1">)</span><span·class="p">.</span><span·class="w">188 <ul><li><p>Dialyzer·warnings·due·to·type·specs·added·in·<a·href="../../../../lib/runtime_tools-2.2/doc/html/dbg.html"><code·class="inline">dbg</code></a>·have·been·eliminated.</p><p>Own·Id:·OTP-18860</p></li><li><p>In·Erlang/OTP·26,·doing·a·<a·href="cover.html"><code·class="inline">cover</code></a>·analysis·on·the·<code·class="inline">line</code>·level·would·return·multiple·entries·for·lines·on·which·multiple·functions·were·defined.</p><p>For·example,·consider·this·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="9214115033-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="9214115033-1">)</span><span·class="p">.</span><span·class="w">
189 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="0007453263-2">(</span><span·class="p"·data-group-id="0007453263-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">baz</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·112,·SHA:·68aef5c2b1db20620deb8dc4b5475e472d1bd5d1d8050f92c68405e6f0f7af05·...·]3-2">)</span><span·class="p">.</span><span·class="w">189 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="9214115033-2">(</span><span·class="p"·data-group-id="9214115033-3">[</span><span·class="ss">bar</span><span·class="p">/</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">baz</span><span·class="p">/</span><span·[·...·truncated·by·diffoscope;·len:·112,·SHA:·fc9cd385f73ce8c888c08b731fe62d61c29153bc3913cfe9217541219e275279·...·]3-2">)</span><span·class="p">.</span><span·class="w">
  
190 </span><span·class="nf">bar</span><span·class="p"·data-group-id="0007453263-4">(</span><span·class="p"·data-group-id="0007453263-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">·</span><span·class="nf">baz</span><spa[·...·truncated·by·diffoscope;·len:·89,·SHA:·d762c450bed036de4418c7ef6f0254e27502fe82c383f0f87e0e7006acb5be74·...·]3-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">not_ok</span><span·class="p">.</span></code></pre><p>In·Erlang/OTP·26,·analysing·on·the·<code·class="inline">line</code>·level·would·return·two·entries190 </span><span·class="nf">bar</span><span·class="p"·data-group-id="9214115033-4">(</span><span·class="p"·data-group-id="9214115033-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">.</span><span·class="w">·</span><span·class="nf">baz</span><spa[·...·truncated·by·diffoscope;·len:·89,·SHA:·ac2e537080488fcc8f87ab057438ab22573c9d814fff7c790d3e77220ec2841e·...·]3-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="ss">not_ok</span><span·class="p">.</span></code></pre><p>In·Erlang/OTP·26,·analysing·on·the·<code·class="inline">line</code>·level·would·return·two·entries
191 for·line·4:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">compile_module</span><span·class="p"·data-group-id="0220538799-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="0220538799-1">)</span><span·class="p">.</span><span·class="w">191 for·line·4:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">compile_module</span><span·class="p"·data-group-id="7414707316-1">(</span><span·class="ss">foo</span><span·class="p"·data-group-id="7414707316-1">)</span><span·class="p">.</span><span·class="w">
192 </span><span·class="p"·data-group-id="0220538799-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">foo</span><span·class="p"·data-group-id="0220538799-2">}</span><span·class="gp·unselectable">192 </span><span·class="p"·data-group-id="7414707316-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">foo</span><span·class="p"·data-group-id="7414707316-2">}</span><span·class="gp·unselectable">
193 2&gt;·</span><span·class="nc">foo</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="0220538799-3">(</span><span·class="p"·data-group-id="0220538799-3">)</span><span·class="p">.</span><span·class="w">193 2&gt;·</span><span·class="nc">foo</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="7414707316-3">(</span><span·class="p"·data-group-id="7414707316-3">)</span><span·class="p">.</span><span·class="w">
194 </span><span·class="ss">ok</span><span·class="gp·unselectable">194 </span><span·class="ss">ok</span><span·class="gp·unselectable">
195 3&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="0220538799-4">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">coverage</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">line</span><span·class="p"·data-group-id="0220538799-4">)</span><span·class="p">.</span><span·class="w">195 3&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="7414707316-4">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">coverage</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">line</span><span·class="p"·data-group-id="7414707316-4">)</span><span·class="p">.</span><span·class="w">
196 </span><span·class="p"·data-group-id="0220538799-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0220538799-6">[</span><span·class="p"·data-group-id="0220538799-7">{</span><span·class="p"·data-group-id="0220538799-8">{</span><span·class="ss">foo</spa[·...·truncated·by·diffoscope;·len:·977,·SHA:·c9e9ef0510bb99d8a4a9ba7de2b6e93c6e299db8fe9ad640d8ea07009566fd6e·...·]-5">}</span><span·class="gp·unselectable">196 </span><span·class="p"·data-group-id="7414707316-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7414707316-6">[</span><span·class="p"·data-group-id="7414707316-7">{</span><span·class="p"·data-group-id="7414707316-8">{</span><span·class="ss">foo</spa[·...·truncated·by·diffoscope;·len:·977,·SHA:·a3f0cf9147b4f57569fa6e2c6924673245bcd6f78b5ab23346dffe901166b5f2·...·]-5">}</span><span·class="gp·unselectable">
197 4&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="0220538799-13">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">calls</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">line</span><span·class="p"·data-group-id="0220538799-13">)</span><span·class="p">.</span><span·class="w">197 4&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="7414707316-13">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">calls</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">line</span><span·class="p"·data-group-id="7414707316-13">)</span><span·class="p">.</span><span·class="w">
198 </span><span·class="p"·data-group-id="0220538799-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="0220538799-15">[</span><span·class="p"·data-group-id="0220538799-16">{</span><span·class="p"·data-group-id="0220538799-17">{</span><span·class="ss">foo<[·...·truncated·by·diffoscope;·len:·1071,·SHA:·d6bf9e3abc919340aca4ffe748bf90e29a08c6318dcf41cc8bff09ca4f1291c7·...·]-1">)</span><span·class="p">.</span><span·class="w">198 </span><span·class="p"·data-group-id="7414707316-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="7414707316-15">[</span><span·class="p"·data-group-id="7414707316-16">{</span><span·class="p"·data-group-id="7414707316-17">{</span><span·class="ss">foo<[·...·truncated·by·diffoscope;·len:·1071,·SHA:·bd8b6c574f0694aca5908447fe0b810bc193001cbba555ef0704af03110bdf9c·...·]-1">)</span><span·class="p">.</span><span·class="w">
199 </span><span·class="p"·data-group-id="1029653649-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">foo</span><span·class="p"·data-group-id="1029653649-2">}</span><span·class="gp·unselectable">199 </span><span·class="p"·data-group-id="2887364155-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">foo</span><span·class="p"·data-group-id="2887364155-2">}</span><span·class="gp·unselectable">
200 2&gt;·</span><span·class="nc">foo</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="1029653649-3">(</span><span·class="p"·data-group-id="1029653649-3">)</span><span·class="p">.</span><span·class="w">200 2&gt;·</span><span·class="nc">foo</span><span·class="p">:</span><span·class="nf">bar</span><span·class="p"·data-group-id="2887364155-3">(</span><span·class="p"·data-group-id="2887364155-3">)</span><span·class="p">.</span><span·class="w">
201 </span><span·class="ss">ok</span><span·class="gp·unselectable">201 </span><span·class="ss">ok</span><span·class="gp·unselectable">
202 3&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="1029653649-4">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">coverage</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">line</span><span·class="p"·data-group-id="1029653649-4">)</span><span·class="p">.</span><span·class="w">202 3&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="2887364155-4">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">coverage</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">line</span><span·class="p"·data-group-id="2887364155-4">)</span><span·class="p">.</span><span·class="w">
203 </span><span·class="p"·data-group-id="1029653649-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1029653649-6">[</span><span·class="p"·data-group-id="1029653649-7">{</span><span·class="p"·data-group-id="1029653649-8">{</span><span·class="ss">foo</spa[·...·truncated·by·diffoscope;·len:·455,·SHA:·c921170373744cb1eaca09131c1e45d08a786e25fbb0fe82c5db7be2c8211225·...·]-5">}</span><span·class="gp·unselectable">203 </span><span·class="p"·data-group-id="2887364155-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2887364155-6">[</span><span·class="p"·data-group-id="2887364155-7">{</span><span·class="p"·data-group-id="2887364155-8">{</span><span·class="ss">foo</spa[·...·truncated·by·diffoscope;·len:·455,·SHA:·85c34770cf2a985ffb1512a3b023c79d5522bad715cbd27e7d485278da1295cb·...·]-5">}</span><span·class="gp·unselectable">
204 4&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="1029653649-10">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">calls</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">line</span><span·class="p"·data-group-id="1029653649-10">)</span><span·class="p">.</span><span·class="w">204 4&gt;·</span><span·class="nc">cover</span><span·class="p">:</span><span·class="nf">analyse</span><span·class="p"·data-group-id="2887364155-10">(</span><span·class="ss">foo</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">calls</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">line</span><span·class="p"·data-group-id="2887364155-10">)</span><span·class="p">.</span><span·class="w">
205 </span><span·class="p"·data-group-id="1029653649-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1029653649-12">[</span><span·class="p"·data-group-id="1029653649-13">{</span><span·class="p"·data-group-id="1029653649-14">{</span><span·class="ss">foo<[·...·truncated·by·diffoscope;·len:·307,·SHA:·eb7e21249d0b306a6fa90faf09edbeaf70b191c06188200911e8df367088e1c0·...·]-11">}</span></code></pre><p>Own·Id:·OTP-18998·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8159"·title="">GH-8159</a>,·<a·href="https://github.com/erlang/otp/pull/8182"·title="">PR-8182</a></p></li><li><p>Fixed·align·command·in·emacs·mode.</p><p>Own·Id:·OTP-19026·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8155"·title="">PR-8155</a></p></li></ul><h3·id="improvements-and-new-features-2"·class="section-heading">205 </span><span·class="p"·data-group-id="2887364155-11">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2887364155-12">[</span><span·class="p"·data-group-id="2887364155-13">{</span><span·class="p"·data-group-id="2887364155-14">{</span><span·class="ss">foo<[·...·truncated·by·diffoscope;·len:·307,·SHA:·71fd679eb7c5aaf60bf2307ffa3e699eb1224c8479e0839cd5c5bd80ecfa2686·...·]-11">}</span></code></pre><p>Own·Id:·OTP-18998·Aux·Id:·<a·href="https://github.com/erlang/otp/issues/8159"·title="">GH-8159</a>,·<a·href="https://github.com/erlang/otp/pull/8182"·title="">PR-8182</a></p></li><li><p>Fixed·align·command·in·emacs·mode.</p><p>Own·Id:·OTP-19026·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8155"·title="">PR-8155</a></p></li></ul><h3·id="improvements-and-new-features-2"·class="section-heading">
206 ··<a·href="#improvements-and-new-features-2"·class="hover-link">206 ··<a·href="#improvements-and-new-features-2"·class="hover-link">
207 ····<i·class="ri-link-m"·aria-hidden="true"></i>207 ····<i·class="ri-link-m"·aria-hidden="true"></i>
208 ··</a>208 ··</a>
209 ··<span·class="text">Improvements·and·New·Features</span>209 ··<span·class="text">Improvements·and·New·Features</span>
210 </h3>210 </h3>
211 <ul><li><p>Triple-Quoted·Strings·has·been·implemented·as·per·<a·href="https://www.erlang.org/eeps/eep-0064">EEP·64</a>.·See·<a·href="../../../../doc/system/data_types.html#string">String</a>·in·the·Reference·Manual.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="s">&quot;&quot;</span><span·class="s">&quot;211 <ul><li><p>Triple-Quoted·Strings·has·been·implemented·as·per·<a·href="https://www.erlang.org/eeps/eep-0064">EEP·64</a>.·See·<a·href="../../../../doc/system/data_types.html#string">String</a>·in·the·Reference·Manual.</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="s">&quot;&quot;</span><span·class="s">&quot;
212 ···a212 ···a
213 ···b213 ···b
214 ···c214 ···c
215 ···&quot;</span><span·class="s">&quot;&quot;</span><span·class="p">.</span><span·class="w">215 ···&quot;</span><span·class="s">&quot;&quot;</span><span·class="p">.</span><span·class="w">
216 </span><span·class="s">&quot;a\nb\nc&quot;</span></code></pre><p>Adjacent·string·literals·without·intervening·white·space·is·now·a·syntax·error,·to·avoid·possible·confusion·with·triple-quoted·strings.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="s">&quot;abc&quot;</span><span·class="s">&quot;xyz&quot;</span><span·class="p">.</span><span·class="w">216 </span><span·class="s">&quot;a\nb\nc&quot;</span></code></pre><p>Adjacent·string·literals·without·intervening·white·space·is·now·a·syntax·error,·to·avoid·possible·confusion·with·triple-quoted·strings.·For·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="s">&quot;abc&quot;</span><span·class="s">&quot;xyz&quot;</span><span·class="p">.</span><span·class="w">
217 </span><span·class="s">&quot;xyz&quot;</span><span·class="p">.</span><span·class="w">217 </span><span·class="s">&quot;xyz&quot;</span><span·class="p">.</span><span·class="w">
218 </span><span·class="gt">*·1:6:·adjacent·string·literals·without·intervening·white·space</span></code></pre><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18750·Aux·Id:·OTP-18746,·<a·href="https://github.com/erlang/otp/pull/7313"·title="">PR-7313</a>,·<a·href="https://github.com/erlang/otp/pull/7451"·title="">PR-7451</a></p></li><li><p>There·is·a·new·tool·<a·href="tprof.html"><code·class="inline">tprof</code></a>,·which·combines·the·functionality·of·<a·href="eprof.html"><code·class="inline">eprof</code></a>·and·<a·href="cprof.html"><code·class="inline">cprof</code></a>·under·one·interface·and·adds·heap·profiling.·It·also·has·functionality·to·help·with·profiling·process·hierarchies.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">profile</span><span·class="p"·data-group-id="8029938832-1">(</span><span·class="ss">lists</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">seq</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8029938832-2">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·458,·SHA:·e75fe878fdd111241a748d33b8e4bb36f5b7fa8f512da0dc988a1ba690d6e794·...·]-1">)</span><span·class="p">.</span><span·class="w">218 </span><span·class="gt">*·1:6:·adjacent·string·literals·without·intervening·white·space</span></code></pre><p><strong><em>·POTENTIAL·INCOMPATIBILITY·</em></strong></p><p>Own·Id:·OTP-18750·Aux·Id:·OTP-18746,·<a·href="https://github.com/erlang/otp/pull/7313"·title="">PR-7313</a>,·<a·href="https://github.com/erlang/otp/pull/7451"·title="">PR-7451</a></p></li><li><p>There·is·a·new·tool·<a·href="tprof.html"><code·class="inline">tprof</code></a>,·which·combines·the·functionality·of·<a·href="eprof.html"><code·class="inline">eprof</code></a>·and·<a·href="cprof.html"><code·class="inline">cprof</code></a>·under·one·interface·and·adds·heap·profiling.·It·also·has·functionality·to·help·with·profiling·process·hierarchies.</p><p><em>Example</em>:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">tprof</span><span·class="p">:</span><span·class="nf">profile</span><span·class="p"·data-group-id="3651591957-1">(</span><span·class="ss">lists</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">seq</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="3651591957-2">[</span><span·class="mi">1</span><spa[·...·truncated·by·diffoscope;·len:·458,·SHA:·abb93d21288958cf54a28b13382216f31e91cbeee4bcbff1ee7c809bec6ed7ad·...·]-1">)</span><span·class="p">.</span><span·class="w">
  
219 </span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="w">·</span><span·class="n">Process</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.92</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">··</span><span·class="o">--</span><span·class="w">··</span><span·class="mf">100.00</span><span·class="c1">%·of·total·***·</span><span·class="w">219 </span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="o">*</span><span·class="w">·</span><span·class="n">Process</span><span·class="w">·</span><span·class="o">&lt;</span><span·class="mf">0.92</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="w">··</span><span·class="o">--</span><span·class="w">··</span><span·class="mf">100.00</span><span·class="c1">%·of·total·***·</span><span·class="w">
220 </span><span·class="n">FUNCTION</span><span·class="w">··········</span><span·class="n">CALLS</span><span·class="w">··</span><span·class="n">WORDS</span><span·class="w">··</span><span·class="n">PER</span><span·class="w">·</span><span·class="n">CALL</span><span·class="w">··</span><span·class="p"·data-group-id="8029938832-4">[</span><span·class="w">·····</span><span·class="c1">%]</span><span·class="w">220 </span><span·class="n">FUNCTION</span><span·class="w">··········</span><span·class="n">CALLS</span><span·class="w">··</span><span·class="n">WORDS</span><span·class="w">··</span><span·class="n">PER</span><span·class="w">·</span><span·class="n">CALL</span><span·class="w">··</span><span·class="p"·data-group-id="3651591957-4">[</span><span·class="w">·····</span><span·class="c1">%]</span><span·class="w">
221 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="ss">seq_loop</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">······</span><span·class="mi">5</span><span·class="w">·····</span><span·class="mi">32</span><span·class="w">······</span><span·class="mf">6.40</span><span·class="w">··</span><span·class="p"·data-group-id="8029938832-5">[</span><span·class="mf">100.00</span><span·class="p"·data-group-id="8029938832-5">]</span><span·class="w">221 </span><span·class="nc">lists</span><span·class="p">:</span><span·class="ss">seq_loop</span><span·class="p">/</span><span·class="mi">3</span><span·class="w">······</span><span·class="mi">5</span><span·class="w">·····</span><span·class="mi">32</span><span·class="w">······</span><span·class="mf">6.40</span><span·class="w">··</span><span·class="p"·data-group-id="3651591957-5">[</span><span·class="mf">100.00</span><span·class="p"·data-group-id="3651591957-5">]</span><span·class="w">
222 ····························</span><span·class="mi">32</span><span·class="w">············</span><span·class="p"·data-group-id="8029938832-6">[</span><span·class="w">·</span><span·class="mf">100.0</span><span·class="p"·data-group-id="8029938832-6">]</span><span·class="w">222 ····························</span><span·class="mi">32</span><span·class="w">············</span><span·class="p"·data-group-id="3651591957-6">[</span><span·class="w">·</span><span·class="mf">100.0</span><span·class="p"·data-group-id="3651591957-6">]</span><span·class="w">
223 </span><span·class="ss">ok</span></code></pre><p>Own·Id:·OTP-18756·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/6639"·title="">PR-6639</a></p></li><li><p>Native·coverage·support·has·been·implemented·in·the·JIT.·It·will··automatically·be·used·by·the·<a·href="cover.html"><code·class="inline">cover</code></a>·tool·to·reduce·the·execution·overhead·when·running·cover-compiled·code.</p><p>There·are·also·new·APIs·to·support·native·coverage·without·using·the·<code·class="inline">cover</code>·tool.</p><p>To·instrument·code·for·native·coverage·it·must·be·compiled·with·the·<a·href="../../../../lib/compiler-9.0/doc/html/compile.html#line_coverage"><code·class="inline">line_coverage</code></a>·option.</p><p>To·enable·native·coverage·in·the·runtime·system,·start·it·like·so:</p><pre><code·class="text">$·erl·+JPcover·true</code></pre><p>There·are·also·the·following·new·functions·for·supporting·native·coverage:</p><ul><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#coverage_support/0"><code·class="inline">code:coverage_support/0</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#get_coverage/2"><code·class="inline">code:get_coverage/2</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#reset_coverage/1"><code·class="inline">code:reset_coverage/1</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/0"><code·class="inline">code:get_coverage_mode/0</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/1"><code·class="inline">code:get_coverage_mode/1</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#set_coverage_mode/1"><code·class="inline">code:set_coverage_mode/1</code></a></li></ul><p>Own·Id:·OTP-18856·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7856"·title="">PR-7856</a></p></li><li><p>The·documentation·has·been·migrated·to·use·Markdown·and·ExDoc.</p><p>Own·Id:·OTP-18955·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8026"·title="">PR-8026</a></p></li><li><p>Improved·the·align·command·in·emacs·mode.</p><p>Own·Id:·OTP-19080·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8288"·title="">PR-8288</a></p></li></ul><h2·id="tools-3-6"·class="section-heading">223 </span><span·class="ss">ok</span></code></pre><p>Own·Id:·OTP-18756·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/6639"·title="">PR-6639</a></p></li><li><p>Native·coverage·support·has·been·implemented·in·the·JIT.·It·will··automatically·be·used·by·the·<a·href="cover.html"><code·class="inline">cover</code></a>·tool·to·reduce·the·execution·overhead·when·running·cover-compiled·code.</p><p>There·are·also·new·APIs·to·support·native·coverage·without·using·the·<code·class="inline">cover</code>·tool.</p><p>To·instrument·code·for·native·coverage·it·must·be·compiled·with·the·<a·href="../../../../lib/compiler-9.0/doc/html/compile.html#line_coverage"><code·class="inline">line_coverage</code></a>·option.</p><p>To·enable·native·coverage·in·the·runtime·system,·start·it·like·so:</p><pre><code·class="text">$·erl·+JPcover·true</code></pre><p>There·are·also·the·following·new·functions·for·supporting·native·coverage:</p><ul><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#coverage_support/0"><code·class="inline">code:coverage_support/0</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#get_coverage/2"><code·class="inline">code:get_coverage/2</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#reset_coverage/1"><code·class="inline">code:reset_coverage/1</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/0"><code·class="inline">code:get_coverage_mode/0</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#get_coverage_mode/1"><code·class="inline">code:get_coverage_mode/1</code></a></li><li><a·href="../../../../lib/kernel-10.3/doc/html/code.html#set_coverage_mode/1"><code·class="inline">code:set_coverage_mode/1</code></a></li></ul><p>Own·Id:·OTP-18856·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/7856"·title="">PR-7856</a></p></li><li><p>The·documentation·has·been·migrated·to·use·Markdown·and·ExDoc.</p><p>Own·Id:·OTP-18955·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8026"·title="">PR-8026</a></p></li><li><p>Improved·the·align·command·in·emacs·mode.</p><p>Own·Id:·OTP-19080·Aux·Id:·<a·href="https://github.com/erlang/otp/pull/8288"·title="">PR-8288</a></p></li></ul><h2·id="tools-3-6"·class="section-heading">
224 ··<a·href="#tools-3-6"·class="hover-link">224 ··<a·href="#tools-3-6"·class="hover-link">
225 ····<i·class="ri-link-m"·aria-hidden="true"></i>225 ····<i·class="ri-link-m"·aria-hidden="true"></i>
226 ··</a>226 ··</a>
227 ··<span·class="text">Tools·3.6</span>227 ··<span·class="text">Tools·3.6</span>
228 </h2>228 </h2>
229 <h3·id="improvements-and-new-features-3"·class="section-heading">229 <h3·id="improvements-and-new-features-3"·class="section-heading">
Offset 1546, 15 lines modifiedOffset 1546, 15 lines modified
1546 ······<p·class="built-using">1546 ······<p·class="built-using">
1547 ········Built·using1547 ········Built·using
1548 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1548 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1549 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1549 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1550 ······</p>1550 ······</p>
1551 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1551 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1552 ····</footer>1552 ····</footer>
1553 ··</div>1553 ··</div>
1554 </main>1554 </main>
1555 </div>1555 </div>
1556 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1556 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1557 ··<script>1557 ··<script>
1558 ··let·initialized·=·false;1558 ··let·initialized·=·false;
730 B
html2text {}
Max HTML report size reached
1.27 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
462 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/tags.html
    
Offset 770, 15 lines modifiedOffset 770, 15 lines modified
770 ······<p·class="built-using">770 ······<p·class="built-using">
771 ········Built·using771 ········Built·using
772 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the772 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
773 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>773 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
774 ······</p>774 ······</p>
775 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>775 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
776 ····</footer>776 ····</footer>
777 ··</div>777 ··</div>
778 </main>778 </main>
779 </div>779 </div>
780 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>780 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
781 ··<script>781 ··<script>
782 ··let·initialized·=·false;782 ··let·initialized·=·false;
728 B
html2text {}
Max HTML report size reached
875 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/tools.epub
4.44 KB
zipinfo {}
Max HTML report size reached
162 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
Max HTML report size reached
40.8 KB
OEBPS/xref_chapter.xhtml
Max HTML report size reached
156 KB
OEBPS/tprof.xhtml
Max HTML report size reached
28.7 KB
OEBPS/notes.xhtml
Max HTML report size reached
3.89 KB
OEBPS/make.xhtml
Max HTML report size reached
57.2 KB
OEBPS/lcnt_chapter.xhtml
Max HTML report size reached
3.72 KB
OEBPS/fprof_chapter.xhtml
Max HTML report size reached
135 KB
OEBPS/fprof.xhtml
Max HTML report size reached
14.6 KB
OEBPS/erlang-el.xhtml
Max HTML report size reached
82.9 KB
OEBPS/cprof_chapter.xhtml
Max HTML report size reached
3.48 KB
OEBPS/cprof.xhtml
Max HTML report size reached
173 KB
OEBPS/cover_chapter.xhtml
Max HTML report size reached
7.46 KB
OEBPS/cover.xhtml
Max HTML report size reached
1.22 KB
OEBPS/content.opf
1.19 KB
OEBPS/content.opf
Max HTML report size reached
158 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/tprof.html
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/xref.html
    
Offset 3576, 15 lines modifiedOffset 3576, 15 lines modified
3576 ······<p·class="built-using">3576 ······<p·class="built-using">
3577 ········Built·using3577 ········Built·using
3578 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3578 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3579 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3579 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3580 ······</p>3580 ······</p>
3581 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3581 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3582 ····</footer>3582 ····</footer>
3583 ··</div>3583 ··</div>
3584 </main>3584 </main>
3585 </div>3585 </div>
3586 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3586 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3587 ··<script>3587 ··<script>
3588 ··let·initialized·=·false;3588 ··let·initialized·=·false;
677 B
html2text {}
Max HTML report size reached
42.3 KB
./usr/share/doc/erlang-doc/html/lib/tools-4.1.2/doc/html/xref_chapter.html
    
Offset 136, 69 lines modifiedOffset 136, 69 lines modified
136 reading;·not·all·of·the·concepts·used·are·explained,·and·it·is·assumed·that·the136 reading;·not·all·of·the·concepts·used·are·explained,·and·it·is·assumed·that·the
137 <a·href="xref.html">reference·manual</a>·has·been·at·least·skimmed.</p><h2·id="module-check"·class="section-heading">137 <a·href="xref.html">reference·manual</a>·has·been·at·least·skimmed.</p><h2·id="module-check"·class="section-heading">
138 ··<a·href="#module-check"·class="hover-link">138 ··<a·href="#module-check"·class="hover-link">
139 ····<i·class="ri-link-m"·aria-hidden="true"></i>139 ····<i·class="ri-link-m"·aria-hidden="true"></i>
140 ··</a>140 ··</a>
141 ··<span·class="text">Module·Check</span>141 ··<span·class="text">Module·Check</span>
142 </h2>142 </h2>
143 <p>Assume·we·want·to·check·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="2040130255-1">(</span><span·class="ss">my_module</span><span·class="p"·data-group-id="2040130255-1">)</span><span·class="p">.</span><span·class="w">143 <p>Assume·we·want·to·check·the·following·module:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7706085402-1">(</span><span·class="ss">my_module</span><span·class="p"·data-group-id="7706085402-1">)</span><span·class="p">.</span><span·class="w">
144 </span><span·class="w">144 </span><span·class="w">
145 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="2040130255-2">(</span><span·class="p"·data-group-id="2040130255-3">[</span><span·class="ss">t</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="2040130255-3">]</span><span·class="p"·data-group-id="2040130255-2">)</span><span·class="p">.</span><span·class="w">145 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7706085402-2">(</span><span·class="p"·data-group-id="7706085402-3">[</span><span·class="ss">t</span><span·class="p">/</span><span·class="mi">1</span><span·class="p"·data-group-id="7706085402-3">]</span><span·class="p"·data-group-id="7706085402-2">)</span><span·class="p">.</span><span·class="w">
  
146 </span><span·class="nf">t</span><span·class="p"·data-group-id="2040130255-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="2040130255-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">146 </span><span·class="nf">t</span><span·class="p"·data-group-id="7706085402-4">(</span><span·class="n">A</span><span·class="p"·data-group-id="7706085402-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
147 ··</span><span·class="nc">my_module</span><span·class="p">:</span><span·class="nf">t2</span><span·class="p"·data-group-id="2040130255-5">(</span><span·class="n">A</span><span·class="p"·data-group-id="2040130255-5">)</span><span·class="p">.</span><span·class="w">147 ··</span><span·class="nc">my_module</span><span·class="p">:</span><span·class="nf">t2</span><span·class="p"·data-group-id="7706085402-5">(</span><span·class="n">A</span><span·class="p"·data-group-id="7706085402-5">)</span><span·class="p">.</span><span·class="w">
  
148 </span><span·class="nf">t2</span><span·class="p"·data-group-id="2040130255-6">(</span><span·class="p">_</span><span·class="p"·data-group-id="2040130255-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">148 </span><span·class="nf">t2</span><span·class="p"·data-group-id="7706085402-6">(</span><span·class="p">_</span><span·class="p"·data-group-id="7706085402-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
149 ··</span><span·class="ss">true</span><span·class="p">.</span></code></pre><p>Cross·reference·data·are·read·from·BEAM·files,·so·the·first·step·when·checking149 ··</span><span·class="ss">true</span><span·class="p">.</span></code></pre><p>Cross·reference·data·are·read·from·BEAM·files,·so·the·first·step·when·checking
150 an·edited·module·is·to·compile·it:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="6658316086-1">(</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">debug_info</span><span·class="p"·data-group-id="6658316086-1">)</span><span·class="p">.</span><span·class="w">150 an·edited·module·is·to·compile·it:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nf">c</span><span·class="p"·data-group-id="6351154083-1">(</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">debug_info</span><span·class="p"·data-group-id="6351154083-1">)</span><span·class="p">.</span><span·class="w">
151 </span><span·class="p">.</span><span·class="o">/</span><span·class="ss">my_module</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">10</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">t2</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unused</span><span·class="w">151 </span><span·class="p">.</span><span·class="o">/</span><span·class="ss">my_module</span><span·class="p">.</span><span·class="nc">erl</span><span·class="p">:</span><span·class="mi">10</span><span·class="p">:</span><span·class="w">·</span><span·class="n">Warning</span><span·class="p">:</span><span·class="w">·</span><span·class="ss">function</span><span·class="w">·</span><span·class="ss">t2</span><span·class="p">/</span><span·class="mi">1</span><span·class="w">·</span><span·class="ss">is</span><span·class="w">·</span><span·class="ss">unused</span><span·class="w">
152 </span><span·class="p"·data-group-id="6658316086-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_module</span><span·class="p"·data-group-id="6658316086-2">}</span></code></pre><p>The·<code·class="inline">debug_info</code>·option·ensures·that·the·BEAM·file·contains·debug·information,152 </span><span·class="p"·data-group-id="6351154083-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">my_module</span><span·class="p"·data-group-id="6351154083-2">}</span></code></pre><p>The·<code·class="inline">debug_info</code>·option·ensures·that·the·BEAM·file·contains·debug·information,
153 which·makes·it·possible·to·find·unused·local·functions.</p><p>The·module·can·now·be·checked·for·calls·to153 which·makes·it·possible·to·find·unused·local·functions.</p><p>The·module·can·now·be·checked·for·calls·to
154 <a·href="xref.html#deprecated_function">deprecated·functions</a>,·calls·to154 <a·href="xref.html#deprecated_function">deprecated·functions</a>,·calls·to
155 <a·href="xref.html#undefined_function">undefined·functions</a>,·and·for·unused·local155 <a·href="xref.html#undefined_function">undefined·functions</a>,·and·for·unused·local
156 functions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">m</span><span·class="p"·data-group-id="4471306300-1">(</span><span·class="ss">my_module</span><span·class="p"·data-group-id="4471306300-1">)</span><span·class="w">156 functions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">m</span><span·class="p"·data-group-id="3780594760-1">(</span><span·class="ss">my_module</span><span·class="p"·data-group-id="3780594760-1">)</span><span·class="w">
157 </span><span·class="p"·data-group-id="4471306300-2">[</span><span·class="p"·data-group-id="4471306300-3">{</span><span·class="ss">deprecated</span><span·class="p">,</span><span·class="p"·data-group-id="4471306300-4">[</span><span·class="p"·data-group-id="4471306300-4">]</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·1527bec5873723a4ad4cfe69cdc955ae104262db783f91561dd91f318e2448d1·...·]0-3">}</span><span·class="p">,</span><span·class="w">157 </span><span·class="p"·data-group-id="3780594760-2">[</span><span·class="p"·data-group-id="3780594760-3">{</span><span·class="ss">deprecated</span><span·class="p">,</span><span·class="p"·data-group-id="3780594760-4">[</span><span·class="p"·data-group-id="3780594760-4">]</span><span·class="p"·d[·...·truncated·by·diffoscope;·len:·23,·SHA:·da84f252f9b9d46c7a63b0d3c849a606d1501fe6093ffe0f9751057456c980bb·...·]0-3">}</span><span·class="p">,</span><span·class="w">
158 ·</span><span·class="p"·data-group-id="4471306300-5">{</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="p"·data-group-id="4471306300-6">[</span><span·class="p"·data-group-id="4471306300-7">{</span><span·class="p"·data-group-id="4471306300-8">{</span><span·class="ss">m[·...·truncated·by·diffoscope;·len:·574,·SHA:·d79a2a32acd6ae07ddf133c58d0150c0bf045d7b89facb48e5b644022835c1d0·...·]0-5">}</span><span·class="p">,</span><span·class="w">158 ·</span><span·class="p"·data-group-id="3780594760-5">{</span><span·class="ss">undefined</span><span·class="p">,</span><span·class="p"·data-group-id="3780594760-6">[</span><span·class="p"·data-group-id="3780594760-7">{</span><span·class="p"·data-group-id="3780594760-8">{</span><span·class="ss">m[·...·truncated·by·diffoscope;·len:·574,·SHA:·4f3ad785012f0f97a9118e7eb913a22f5144a844e581549427f20b6763c6b051·...·]0-5">}</span><span·class="p">,</span><span·class="w">
159 ·</span><span·class="p"·data-group-id="4471306300-10">{</span><span·class="ss">unused</span><span·class="p">,</span><span·class="p"·data-group-id="4471306300-11">[</span><span·class="p"·data-group-id="4471306300-12">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="s[·...·truncated·by·diffoscope;·len:·263,·SHA:·ff26502bcc8d438f015de14569651524000ab841701c832ad5b74c873f1ed935·...·]0-2">]</span></code></pre><p><code·class="inline">m/1</code>·is·also·suitable·for·checking·that·the·BEAM·file·of·a·module·that·is·about159 ·</span><span·class="p"·data-group-id="3780594760-10">{</span><span·class="ss">unused</span><span·class="p">,</span><span·class="p"·data-group-id="3780594760-11">[</span><span·class="p"·data-group-id="3780594760-12">{</span><span·class="ss">my_module</span><span·class="p">,</span><span·class="s[·...·truncated·by·diffoscope;·len:·263,·SHA:·ae62ff33c3c4127ee000bb2fe73f4edb36fc8267fc115f3cfa99b13719d49feb·...·]0-2">]</span></code></pre><p><code·class="inline">m/1</code>·is·also·suitable·for·checking·that·the·BEAM·file·of·a·module·that·is·about
160 to·be·loaded·into·a·running·a·system·does·not·call·any·undefined·functions.·In160 to·be·loaded·into·a·running·a·system·does·not·call·any·undefined·functions.·In
161 either·case,·the·code·path·of·the·code·server·(see·the·module·<code·class="inline">code</code>)·is·used161 either·case,·the·code·path·of·the·code·server·(see·the·module·<code·class="inline">code</code>)·is·used
162 for·finding·modules·that·export·externally·called·functions·not·exported·by·the162 for·finding·modules·that·export·externally·called·functions·not·exported·by·the
163 checked·module·itself,·so·called·<a·href="xref.html#library_module">library·modules</a>.</p><h2·id="predefined-analysis"·class="section-heading">163 checked·module·itself,·so·called·<a·href="xref.html#library_module">library·modules</a>.</p><h2·id="predefined-analysis"·class="section-heading">
164 ··<a·href="#predefined-analysis"·class="hover-link">164 ··<a·href="#predefined-analysis"·class="hover-link">
165 ····<i·class="ri-link-m"·aria-hidden="true"></i>165 ····<i·class="ri-link-m"·aria-hidden="true"></i>
166 ··</a>166 ··</a>
167 ··<span·class="text">Predefined·Analysis</span>167 ··<span·class="text">Predefined·Analysis</span>
168 </h2>168 </h2>
169 <p>In·the·last·example·the·module·to·analyze·was·given·as·an·argument·to·<code·class="inline">m/1</code>,·and169 <p>In·the·last·example·the·module·to·analyze·was·given·as·an·argument·to·<code·class="inline">m/1</code>,·and
170 the·code·path·was·(implicitly)·used·as·<a·href="xref.html#library_path">library·path</a>.·In170 the·code·path·was·(implicitly)·used·as·<a·href="xref.html#library_path">library·path</a>.·In
171 this·example·an·<a·href="xref.html#xref_server">xref·server</a>·will·be·used,·which·makes·it171 this·example·an·<a·href="xref.html#xref_server">xref·server</a>·will·be·used,·which·makes·it
172 possible·to·analyze·applications·and·releases,·and·also·to·select·the·library172 possible·to·analyze·applications·and·releases,·and·also·to·select·the·library
173 path·explicitly.</p><p>Each·Xref·server·is·referred·to·by·a·unique·name.·The·name·is·given·when173 path·explicitly.</p><p>Each·Xref·server·is·referred·to·by·a·unique·name.·The·name·is·given·when
174 creating·the·server:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="4692482294-1">(</span><span·class="ss">s</span><span·class="p"·data-group-id="4692482294-1">)</span><span·class="p">.</span><span·class="w">174 creating·the·server:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">1&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="6575683859-1">(</span><span·class="ss">s</span><span·class="p"·data-group-id="6575683859-1">)</span><span·class="p">.</span><span·class="w">
175 </span><span·class="p"·data-group-id="4692482294-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.27</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="4692482294-2">}</span></code></pre><p>Next·the·system·to·be·analyzed·is·added·to·the·Xref·server.·Here·the·system·will175 </span><span·class="p"·data-group-id="6575683859-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="o">&lt;</span><span·class="mf">0.27</span><span·class="p">.</span><span·class="mi">0</span><span·class="o">&gt;</span><span·class="p"·data-group-id="6575683859-2">}</span></code></pre><p>Next·the·system·to·be·analyzed·is·added·to·the·Xref·server.·Here·the·system·will
176 be·OTP,·so·no·library·path·will·be·needed.·Otherwise,·when·analyzing·a·system176 be·OTP,·so·no·library·path·will·be·needed.·Otherwise,·when·analyzing·a·system
177 that·uses·OTP,·the·OTP·modules·are·typically·made·library·modules·by·setting·the177 that·uses·OTP,·the·OTP·modules·are·typically·made·library·modules·by·setting·the
178 library·path·to·the·default·OTP·code·path·(or·to·<code·class="inline">code_path</code>,·see·the178 library·path·to·the·default·OTP·code·path·(or·to·<code·class="inline">code_path</code>,·see·the
179 <a·href="xref.html#code_path">reference·manual</a>).·By·default,·the·names·of·read·BEAM179 <a·href="xref.html#code_path">reference·manual</a>).·By·default,·the·names·of·read·BEAM
180 files·and·warnings·are·output·when·adding·analyzed·modules,·but·these·messages180 files·and·warnings·are·output·when·adding·analyzed·modules,·but·these·messages
181 can·be·avoided·by·setting·default·values·of·some·options:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">set_default</span><span·class="p"·data-group-id="0051277108-1">(</span><span·class="ss">s</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="0051277108-2">[</span><span·class="p"·data-group-id="0051277108-3">{</span><span·class="ss">verbose</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·415,·SHA:·afae24453b397ef890863681f074478719cdadeb017db0130d1b716057da191f·...·]-1">)</span><span·class="p">.</span><span·class="w">181 can·be·avoided·by·setting·default·values·of·some·options:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">2&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">set_default</span><span·class="p"·data-group-id="2657748323-1">(</span><span·class="ss">s</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2657748323-2">[</span><span·class="p"·data-group-id="2657748323-3">{</span><span·class="ss">verbose</span><span·class="p">,</span>[·...·truncated·by·diffoscope;·len:·415,·SHA:·ac5786c2834b13e732fae61c1ab72e9f4c9c389ea6647258e17ca2339b37c2cf·...·]-1">)</span><span·class="p">.</span><span·class="w">
182 </span><span·class="ss">ok</span><span·class="gp·unselectable">182 </span><span·class="ss">ok</span><span·class="gp·unselectable">
183 3&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">add_release</span><span·class="p"·data-group-id="0051277108-5">(</span><span·class="ss">s</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="0051277108-6">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·326,·SHA:·edd14470f9fc11f84af606c985c8750203e8b8b68313723c6b4a6b074d62847d·...·]-5">)</span><span·class="p">.</span><span·class="w">183 3&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">add_release</span><span·class="p"·data-group-id="2657748323-5">(</span><span·class="ss">s</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">lib_dir</span><span·class="p"·data-group-id="2657748323-6">(</span><span·class="p"·data-grou[·...·truncated·by·diffoscope;·len:·326,·SHA:·996f4a471416bcae05ceaee28d704d9a06799caf69f623e2697638a0fbed284f·...·]-5">)</span><span·class="p">.</span><span·class="w">
184 </span><span·class="p"·data-group-id="0051277108-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">otp</span><span·class="p"·data-group-id="0051277108-8">}</span></code></pre><p><code·class="inline">add_release/3</code>·assumes·that·all·subdirectories·of·the·library·directory184 </span><span·class="p"·data-group-id="2657748323-8">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="ss">otp</span><span·class="p"·data-group-id="2657748323-8">}</span></code></pre><p><code·class="inline">add_release/3</code>·assumes·that·all·subdirectories·of·the·library·directory
185 returned·by·<a·href="../../../../lib/kernel-10.3/doc/html/code.html#lib_dir/0"><code·class="inline">code:lib_dir()</code></a>·contain·applications;185 returned·by·<a·href="../../../../lib/kernel-10.3/doc/html/code.html#lib_dir/0"><code·class="inline">code:lib_dir()</code></a>·contain·applications;
186 the·effect·is·that·of·reading·all·BEAM·files·for·the·application.</p><p>It·is·now·easy·to·check·the·release·for·calls·to·undefined·functions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">analyze</span><span·class="p"·data-group-id="8035866841-1">(</span><span·class="ss">s</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">undefined_function_calls</span><span·class="p"·data-group-id="8035866841-1">)</span><span·class="p">.</span><span·class="w">186 the·effect·is·that·of·reading·all·BEAM·files·for·the·application.</p><p>It·is·now·easy·to·check·the·release·for·calls·to·undefined·functions:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">analyze</span><span·class="p"·data-group-id="2027366558-1">(</span><span·class="ss">s</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">undefined_function_calls</span><span·class="p"·data-group-id="2027366558-1">)</span><span·class="p">.</span><span·class="w">
187 </span><span·class="p"·data-group-id="8035866841-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8035866841-3">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="8035[·...·truncated·by·diffoscope;·len:·457,·SHA:·b3f3e18a5c2c883040baab81fec5a6c4d0152bc61509186edf321be821c274ff·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·check·for·calls·to·undefined·functions·is·an·example·of·a·predefined187 </span><span·class="p"·data-group-id="2027366558-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="2027366558-3">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="2027[·...·truncated·by·diffoscope;·len:·457,·SHA:·fa824954f5d21d8c3f7286590f0b1fb9956e6cfb686993f0bb7cdf734474c6b0·...·]-1">)</span><span·class="p">.</span></code></pre><p>The·check·for·calls·to·undefined·functions·is·an·example·of·a·predefined
188 analysis,·probably·the·most·useful·one.·Other·examples·are·the·analyses·that188 analysis,·probably·the·most·useful·one.·Other·examples·are·the·analyses·that
189 find·unused·local·functions,·or·functions·that·call·some·given·functions.·See189 find·unused·local·functions,·or·functions·that·call·some·given·functions.·See
190 the·<a·href="xref.html#analyze/3">analyze/2,3</a>·functions·for·a·complete·list·of·predefined190 the·<a·href="xref.html#analyze/3">analyze/2,3</a>·functions·for·a·complete·list·of·predefined
191 analyses.</p><p>Each·predefined·analysis·is·a·shorthand·for·a·<a·href="xref.html#query">query</a>,·a191 analyses.</p><p>Each·predefined·analysis·is·a·shorthand·for·a·<a·href="xref.html#query">query</a>,·a
192 sentence·of·a·tiny·language·providing·cross·reference·data·as·values·of192 sentence·of·a·tiny·language·providing·cross·reference·data·as·values·of
193 <a·href="xref.html#predefined_variable">predefined·variables</a>.·The·check·for·calls·to193 <a·href="xref.html#predefined_variable">predefined·variables</a>.·The·check·for·calls·to
194 undefined·functions·can·thus·be·stated·as·a·query:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">q</span><span·class="p"·data-group-id="2656294203-1">(</span><span·class="ss">s</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;(XC·-·UC)·||·(XU·-·X·-·B)&quot;</span><span·class="p"·data-group-id="2656294203-1">)</span><span·class="p">.</span><span·class="w">194 undefined·functions·can·thus·be·stated·as·a·query:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="gp·unselectable">4&gt;·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">q</span><span·class="p"·data-group-id="1630680390-1">(</span><span·class="ss">s</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;(XC·-·UC)·||·(XU·-·X·-·B)&quot;</span><span·class="p"·data-group-id="1630680390-1">)</span><span·class="p">.</span><span·class="w">
195 </span><span·class="p"·data-group-id="2656294203-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="2656294203-3">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="2656294203-3">]</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·131e9757b83972cd0eaf83ffe64eae4e95745ad0bf88e0a89b193286f51e612c·...·]-2">}</span></code></pre><p>The·query·asks·for·the·restriction·of·external·calls·except·the·unresolved·calls195 </span><span·class="p"·data-group-id="1630680390-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="p"·data-group-id="1630680390-3">[</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p"·data-group-id="1630680390-3">]</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·2621bcd1b5c50bccc30385d86e9d6d44764e55838e8fa88c5edf1dec4f175603·...·]-2">}</span></code></pre><p>The·query·asks·for·the·restriction·of·external·calls·except·the·unresolved·calls
196 to·calls·to·functions·that·are·externally·used·but·neither·exported·nor·built-in196 to·calls·to·functions·that·are·externally·used·but·neither·exported·nor·built-in
197 functions·(the·<code·class="inline">||</code>·operator·restricts·the·used·functions·while·the·<code·class="inline">|</code>·operator197 functions·(the·<code·class="inline">||</code>·operator·restricts·the·used·functions·while·the·<code·class="inline">|</code>·operator
198 restricts·the·calling·functions).·The·<code·class="inline">-</code>·operator·returns·the·difference·of·two198 restricts·the·calling·functions).·The·<code·class="inline">-</code>·operator·returns·the·difference·of·two
199 sets,·and·the·<code·class="inline">+</code>·operator·to·be·used·below·returns·the·union·of·two·sets.</p><p>The·relationships·between·the·predefined·variables·<code·class="inline">XU</code>,·<code·class="inline">X</code>,·<code·class="inline">B</code>·and·a·few199 sets,·and·the·<code·class="inline">+</code>·operator·to·be·used·below·returns·the·union·of·two·sets.</p><p>The·relationships·between·the·predefined·variables·<code·class="inline">XU</code>,·<code·class="inline">X</code>,·<code·class="inline">B</code>·and·a·few
200 others·are·worth·elaborating·upon.·The·reference·manual·mentions·two·ways·of200 others·are·worth·elaborating·upon.·The·reference·manual·mentions·two·ways·of
201 expressing·the·set·of·all·functions,·one·that·focuses·on·how·they·are·defined:201 expressing·the·set·of·all·functions,·one·that·focuses·on·how·they·are·defined:
202 <code·class="inline">X + L + B + U</code>,·and·one·that·focuses·on·how·they·are·used:·<code·class="inline">UU + LU + XU</code>.·The202 <code·class="inline">X + L + B + U</code>,·and·one·that·focuses·on·how·they·are·used:·<code·class="inline">UU + LU + XU</code>.·The
Offset 220, 16 lines modifiedOffset 220, 16 lines modified
220 </h2>220 </h2>
221 <p>The·module·check·and·the·predefined·analyses·are·useful,·but·limited.·Sometimes221 <p>The·module·check·and·the·predefined·analyses·are·useful,·but·limited.·Sometimes
222 more·flexibility·is·needed,·for·instance·one·might·not·need·to·apply·a·graph222 more·flexibility·is·needed,·for·instance·one·might·not·need·to·apply·a·graph
223 analysis·on·all·calls,·but·some·subset·will·do·equally·well.·That·flexibility·is223 analysis·on·all·calls,·but·some·subset·will·do·equally·well.·That·flexibility·is
224 provided·with·a·simple·language.·Below·are·some·expressions·of·the·language·with224 provided·with·a·simple·language.·Below·are·some·expressions·of·the·language·with
225 comments,·focusing·on·elements·of·the·language·rather·than·providing·useful225 comments,·focusing·on·elements·of·the·language·rather·than·providing·useful
226 examples.·The·analyzed·system·is·assumed·to·be·OTP,·so·in·order·to·run·the226 examples.·The·analyzed·system·is·assumed·to·be·OTP,·so·in·order·to·run·the
227 queries,·first·evaluate·these·calls:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="8164014082-1">(</span><span·class="ss">s</span><span·class="p"·data-group-id="8164014082-1">)</span><span·class="p">.</span><span·class="w">227 queries,·first·evaluate·these·calls:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="3100635618-1">(</span><span·class="ss">s</span><span·class="p"·data-group-id="3100635618-1">)</span><span·class="p">.</span><span·class="w">
228 </span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">add_release</span><span·class="p"·data-group-id="8164014082-2">(</span><span·class="ss">s</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">root_dir</span><span·class="p"·data-group-id="8164014082-3">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·1156ddb86e102bbb629de82952b6f5e0a65c6a759d6e4cac274569afeec2ec61·...·]-2">)</span><span·class="p">.</span></code></pre><ul><li><p><strong><code·class="inline">xref:q(s,·&quot;(Fun)·xref·:·Mod&quot;).</code></strong>·-·All·functions·of·the·<code·class="inline">xref</code>·module.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;xref·:·Mod·*·X&quot;).</code></strong>·-·All·exported·functions·of·the·<code·class="inline">xref</code>228 </span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">add_release</span><span·class="p"·data-group-id="3100635618-2">(</span><span·class="ss">s</span><span·class="p">,</span><span·class="w">·</span><span·class="nc">code</span><span·class="p">:</span><span·class="nf">root_dir</span><span·class="p"·data-group-id="3100635618-3">(</span><span·class="p"·data-gro[·...·truncated·by·diffoscope;·len:·70,·SHA:·08f66d8f676e823244794efcc663762e329aa5fc6b563f253005eb27004b53f1·...·]-2">)</span><span·class="p">.</span></code></pre><ul><li><p><strong><code·class="inline">xref:q(s,·&quot;(Fun)·xref·:·Mod&quot;).</code></strong>·-·All·functions·of·the·<code·class="inline">xref</code>·module.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;xref·:·Mod·*·X&quot;).</code></strong>·-·All·exported·functions·of·the·<code·class="inline">xref</code>
229 module.·The·first·operand·of·the·intersection·operator·<code·class="inline">*</code>·is·implicitly229 module.·The·first·operand·of·the·intersection·operator·<code·class="inline">*</code>·is·implicitly
230 converted·to·the·more·special·type·of·the·second·operand.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;(Mod)·tools&quot;).</code></strong>·-·All·modules·of·the·Tools·application.</p></li><li><p><strong><code·class="inline">xref:q(s,·'&quot;xref_.*&quot;·:·Mod').</code></strong>·-·All·modules·with·a·name·beginning·with230 converted·to·the·more·special·type·of·the·second·operand.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;(Mod)·tools&quot;).</code></strong>·-·All·modules·of·the·Tools·application.</p></li><li><p><strong><code·class="inline">xref:q(s,·'&quot;xref_.*&quot;·:·Mod').</code></strong>·-·All·modules·with·a·name·beginning·with
231 <code·class="inline">xref_</code>.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;#·E | X &quot;).</code></strong>·-·Number·of·calls·from·exported·functions.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;XC || L &quot;).</code></strong>·-·All·external·calls·to·local·functions.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;XC * LC&quot;).</code></strong>·-·All·calls·that·have·both·an·external·and·a·local231 <code·class="inline">xref_</code>.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;#·E | X &quot;).</code></strong>·-·Number·of·calls·from·exported·functions.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;XC || L &quot;).</code></strong>·-·All·external·calls·to·local·functions.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;XC * LC&quot;).</code></strong>·-·All·calls·that·have·both·an·external·and·a·local
232 version.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;(LLin)·(LC·*·XC)&quot;).</code></strong>·-·The·lines·where·the·local·calls·of·the232 version.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;(LLin)·(LC·*·XC)&quot;).</code></strong>·-·The·lines·where·the·local·calls·of·the
233 last·example·are·made.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;(XLin)·(LC·*·XC)&quot;).</code></strong>·-·The·lines·where·the·external·calls·of233 last·example·are·made.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;(XLin)·(LC·*·XC)&quot;).</code></strong>·-·The·lines·where·the·external·calls·of
234 the·example·before·last·are·made.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;XC·*·(ME·-·strict·ME)&quot;).</code></strong>·-·External·calls·within·some·module.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;E ||| kernel&quot;).</code></strong>·-·All·calls·within·the·Kernel·application.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;closure E | kernel || kernel&quot;).</code></strong>·-·All·direct·and·indirect234 the·example·before·last·are·made.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;XC·*·(ME·-·strict·ME)&quot;).</code></strong>·-·External·calls·within·some·module.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;E ||| kernel&quot;).</code></strong>·-·All·calls·within·the·Kernel·application.</p></li><li><p><strong><code·class="inline">xref:q(s,·&quot;closure E | kernel || kernel&quot;).</code></strong>·-·All·direct·and·indirect
235 calls·within·the·Kernel·application.·Both·the·calling·and·the·used·functions235 calls·within·the·Kernel·application.·Both·the·calling·and·the·used·functions
Offset 264, 26 lines modifiedOffset 264, 26 lines modified
264 <code·class="inline">digraph</code>·representation·of·graphs)·has·to·be·explicitly·applied.</p><p>As·an·example·of·analyzing·indirect·calls,·the·following·Erlang·function·tries264 <code·class="inline">digraph</code>·representation·of·graphs)·has·to·be·explicitly·applied.</p><p>As·an·example·of·analyzing·indirect·calls,·the·following·Erlang·function·tries
265 to·answer·the·question:·if·we·want·to·know·which·modules·are·used·indirectly·by265 to·answer·the·question:·if·we·want·to·know·which·modules·are·used·indirectly·by
266 some·module(s),·is·it·worth·while·using·the266 some·module(s),·is·it·worth·while·using·the
267 <a·href="xref.html#call_graph">function·graph</a>·rather·than·the·module·graph?·Recall·that267 <a·href="xref.html#call_graph">function·graph</a>·rather·than·the·module·graph?·Recall·that
268 a·module·M1·is·said·to·call·a·module·M2·if·there·is·some·function·in·M1·that268 a·module·M1·is·said·to·call·a·module·M2·if·there·is·some·function·in·M1·that
269 calls·some·function·in·M2.·It·would·be·nice·if·we·could·use·the·much·smaller269 calls·some·function·in·M2.·It·would·be·nice·if·we·could·use·the·much·smaller
270 module·graph,·since·it·is·available·also·in·the·light·weight270 module·graph,·since·it·is·available·also·in·the·light·weight
271 <code·class="inline">modules</code><a·href="xref.html#mode">mode</a>·of·Xref·servers.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">t</span><span·class="p"·data-group-id="5893964053-1">(</span><span·class="n">S</span><span·class="p"·data-group-id="5893964053-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">271 <code·class="inline">modules</code><a·href="xref.html#mode">mode</a>·of·Xref·servers.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">t</span><span·class="p"·data-group-id="1508979748-1">(</span><span·class="n">S</span><span·class="p"·data-group-id="1508979748-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
272 ··</span><span·class="p"·data-group-id="5893964053-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="5893964053-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·285,·SHA:·a3ba9e20bdcd090eca2ff53be87596f2fa5f42064f48ee707ddc478a2545295c·...·]-3">)</span><span·class="p">,</span><span·class="w">272 ··</span><span·class="p"·data-group-id="1508979748-2">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="p"·data-group-id="1508979748-2">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class[·...·truncated·by·diffoscope;·len:·285,·SHA:·4434a50eedce6a63703e4b629a4fbc6eeabd7dc55367ca75c9e2755f25f27c1e·...·]-3">)</span><span·class="p">,</span><span·class="w">
273 ··</span><span·class="p"·data-group-id="5893964053-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ms</span><span·class="p"·data-group-id="5893964053-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·270,·SHA:·8e422d7d163c902f0d362157a00452ee4a4a1de0d5b10ee915753f87bf3921cc·...·]-5">)</span><span·class="p">,</span><span·class="w">273 ··</span><span·class="p"·data-group-id="1508979748-4">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ms</span><span·class="p"·data-group-id="1508979748-4">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·270,·SHA:·d993411ceca155f32dc26e8196f80ea82b5c4c2fec86c44572156fa45990a2b2·...·]-5">)</span><span·class="p">,</span><span·class="w">
274 ··</span><span·class="n">Fun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="5893964053-6">(</span><span·class="n">M</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="5893964053-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">274 ··</span><span·class="n">Fun</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="1508979748-6">(</span><span·class="n">M</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N</span><span·class="p"·data-group-id="1508979748-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
275 ······</span><span·class="n">Q</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="5893964053-7">(</span><span·class="s">&quot;#·(Mod)·(Eplus·|·</span><span·class="si">~p</span><span·class="s">·:·Mod)&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5893964053-8">[</span><span·class="n">M</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·dbf8946309204f84b48c0298cd86f9267017268b9b67d13528d7033745bec936·...·]-7">)</span><span·class="p">,</span><span·class="w">275 ······</span><span·class="n">Q</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">io_lib</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="1508979748-7">(</span><span·class="s">&quot;#·(Mod)·(Eplus·|·</span><span·class="si">~p</span><span·class="s">·:·Mod)&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1508979748-8">[</span><span·class="n">M</span><[·...·truncated·by·diffoscope;·len:·93,·SHA:·4098bd4da77da0552dc27025020183ce4ef85fcec9897cb590e44babaecb86fc·...·]-7">)</span><span·class="p">,</span><span·class="w">
276 ······</span><span·class="p"·data-group-id="5893964053-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N0</span><span·class="p"·data-group-id="5893964053-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·450,·SHA:·623ec4ce1af389824c762e7c01e2e6e6e3037f6a4be3e3abbde8d1431239ef7f·...·]-10">)</span><span·class="p">,</span><span·class="w">276 ······</span><span·class="p"·data-group-id="1508979748-9">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">N0</span><span·class="p"·data-group-id="1508979748-9">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·clas[·...·truncated·by·diffoscope;·len:·450,·SHA:·4367d198c62c614651aa13715b14cd77e7fa76456ab4bc920bc41387b26d8ccb·...·]-10">)</span><span·class="p">,</span><span·class="w">
277 ······</span><span·class="n">N</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">N0</span><span·class="w">277 ······</span><span·class="n">N</span><span·class="w">·</span><span·class="o">+</span><span·class="w">·</span><span·class="n">N0</span><span·class="w">
278 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">278 ····</span><span·class="k">end</span><span·class="p">,</span><span·class="w">
279 ··</span><span·class="n">Sum</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="5893964053-12">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ms</span><span·class="p"·data-group-id="5893964053-12">)</span><span·class="p">,</span><span·class="w">279 ··</span><span·class="n">Sum</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span><span·class="p">:</span><span·class="nf">foldl</span><span·class="p"·data-group-id="1508979748-12">(</span><span·class="n">Fun</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">0</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Ms</span><span·class="p"·data-group-id="1508979748-12">)</span><span·class="p">,</span><span·class="w">
280 ··</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">forget</span><span·class="p"·data-group-id="5893964053-13">(</span><span·class="n">S</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;Eplus&#39;</span><span·class="p"·data-group-id="5893964053-13">)</span><span·class="p">,</span><span·class="w">280 ··</span><span·class="ss">ok</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xref</span><span·class="p">:</span><span·class="nf">forget</span><span·class="p"·data-group-id="1508979748-13">(</span><span·class="n">S</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">&#39;Eplus&#39;</span><span·class="p"·data-group-id="1508979748-13">)</span><span·class="p">,</span><span·class="w">
281 ··</span><span·class="p"·data-group-id="5893964053-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tot</span><span·class="p"·data-group-id="5893964053-14">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·291,·SHA:·c19e881b7c879513430bb312a10cbcdc984ce379e6e1ffdf31d78c272ef69ec9·...·]-15">)</span><span·class="p">,</span><span·class="w">281 ··</span><span·class="p"·data-group-id="1508979748-14">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Tot</span><span·class="p"·data-group-id="1508979748-14">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·c[·...·truncated·by·diffoscope;·len:·291,·SHA:·c7c14e4fdc992065f525c6f6e7e2e0b2bebbfcdf9e2b2bca596ec153812daa08·...·]-15">)</span><span·class="p">,</span><span·class="w">
282 ··</span><span·class="mi">100</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="p"·data-group-id="5893964053-16">(</span><span·class="p"·data-group-id="5893964053-17">(</span><span·class="n">Tot</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="5893964053-17">)</span><[·...·truncated·by·diffoscope;·len:·138,·SHA:·2137f6c21ee47f7eec2f79f6b9826a1f4661c1de577ec2b6995efe2c14d8d129·...·]-16">)</span><span·class="p">.</span></code></pre><p>Comments·on·the·code:</p><ul><li>We·want·to·find·the·reduction·of·the·closure·of·the·function·graph·to·modules.282 ··</span><span·class="mi">100</span><span·class="w">·</span><span·class="o">*</span><span·class="w">·</span><span·class="p"·data-group-id="1508979748-16">(</span><span·class="p"·data-group-id="1508979748-17">(</span><span·class="n">Tot</span><span·class="w">·</span><span·class="o">-</span><span·class="w">·</span><span·class="n">Sum</span><span·class="p"·data-group-id="1508979748-17">)</span><[·...·truncated·by·diffoscope;·len:·138,·SHA:·349eccb56aba787c5fd011ed34ac905dba88739a8d3bbaae7a2c03d573b94fc9·...·]-16">)</span><span·class="p">.</span></code></pre><p>Comments·on·the·code:</p><ul><li>We·want·to·find·the·reduction·of·the·closure·of·the·function·graph·to·modules.
283 The·direct·expression·for·doing·that·would·be·<code·class="inline">(Mod) (closure E | AM)</code>,·but283 The·direct·expression·for·doing·that·would·be·<code·class="inline">(Mod) (closure E | AM)</code>,·but
284 then·we·would·have·to·represent·all·of·the·transitive·closure·of·E·in·memory.284 then·we·would·have·to·represent·all·of·the·transitive·closure·of·E·in·memory.
285 Instead·the·number·of·indirectly·used·modules·is·found·for·each·analyzed285 Instead·the·number·of·indirectly·used·modules·is·found·for·each·analyzed
286 module,·and·the·sum·over·all·modules·is·calculated.</li><li>A·user·variable·is·employed·for·holding·the·<code·class="inline">digraph</code>·representation·of·the286 module,·and·the·sum·over·all·modules·is·calculated.</li><li>A·user·variable·is·employed·for·holding·the·<code·class="inline">digraph</code>·representation·of·the
287 function·graph·for·use·in·many·queries.·The·reason·is·efficiency.·As·opposed287 function·graph·for·use·in·many·queries.·The·reason·is·efficiency.·As·opposed
288 to·the·<code·class="inline">=</code>·operator,·the·<code·class="inline">:=</code>·operator·saves·a·value·for·subsequent·analyses.288 to·the·<code·class="inline">=</code>·operator,·the·<code·class="inline">:=</code>·operator·saves·a·value·for·subsequent·analyses.
289 Here·might·be·the·place·to·note·that·equal·subexpressions·within·a·query·are289 Here·might·be·the·place·to·note·that·equal·subexpressions·within·a·query·are
Offset 350, 15 lines modifiedOffset 350, 15 lines modified
350 ······<p·class="built-using">350 ······<p·class="built-using">
351 ········Built·using351 ········Built·using
352 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the352 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
353 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>353 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
354 ······</p>354 ······</p>
355 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>355 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
356 ····</footer>356 ····</footer>
357 ··</div>357 ··</div>
358 </main>358 </main>
359 </div>359 </div>
360 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>360 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
Max diff block lines reached; 28/42413 bytes (0.07%) of diff not shown.
775 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/404.html
    
Offset 143, 15 lines modifiedOffset 143, 15 lines modified
143 ······<p·class="built-using">143 ······<p·class="built-using">
144 ········Built·using144 ········Built·using
145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the145 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>146 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
147 ······</p>147 ······</p>
148 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>148 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
149 ····</footer>149 ····</footer>
150 ··</div>150 ··</div>
151 </main>151 </main>
152 </div>152 </div>
153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>153 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
154 ··<script>154 ··<script>
155 ··let·initialized·=·false;155 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/api-reference.html
    
Offset 2414, 15 lines modifiedOffset 2414, 15 lines modified
2414 ······<p·class="built-using">2414 ······<p·class="built-using">
2415 ········Built·using2415 ········Built·using
2416 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2416 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2417 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2417 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2418 ······</p>2418 ······</p>
2419 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2419 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2420 ····</footer>2420 ····</footer>
2421 ··</div>2421 ··</div>
2422 </main>2422 </main>
2423 </div>2423 </div>
2424 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2424 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2425 ··<script>2425 ··<script>
2426 ··let·initialized·=·false;2426 ··let·initialized·=·false;
572 B
html2text {}
Max HTML report size reached
14.1 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/chapter.html
    
Offset 157, 21 lines modifiedOffset 157, 21 lines modified
157 that·object.·Type·checking·is·done·so·that·a·module·only·operates·on·it's157 that·object.·Type·checking·is·done·so·that·a·module·only·operates·on·it's
158 objects·or·inherited·classes.</p><p>An·object·is·created·with·<em>new</em>·and·destroyed·with·<em>destroy</em>.·Most·functions·in158 objects·or·inherited·classes.</p><p>An·object·is·created·with·<em>new</em>·and·destroyed·with·<em>destroy</em>.·Most·functions·in
159 the·classes·are·named·the·same·as·their·C++·counterpart,·except·that·for159 the·classes·are·named·the·same·as·their·C++·counterpart,·except·that·for
160 convenience,·in·erlang·they·start·with·a·lowercase·letter·and·the·first·argument160 convenience,·in·erlang·they·start·with·a·lowercase·letter·and·the·first·argument
161 is·the·object·reference.·Optional·arguments·are·last·and·expressed·as·tagged161 is·the·object·reference.·Optional·arguments·are·last·and·expressed·as·tagged
162 tuples·in·any·order.</p><p>For·example·the·<em>wxWindow</em>·C++·class·is·implemented·in·the·<em>wxWindow</em>·erlang162 tuples·in·any·order.</p><p>For·example·the·<em>wxWindow</em>·C++·class·is·implemented·in·the·<em>wxWindow</em>·erlang
163 module·and·the·member·<em>wxWindow::CenterOnParent</em>·is·thus163 module·and·the·member·<em>wxWindow::CenterOnParent</em>·is·thus
164 <em>wxWindow:centerOnParent</em>.·The·following·C++·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="ss">wxWindow</span><span·class="w">·</span><span·class="n">MyWin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">new</span><span·class="w">·</span><span·class="nf">wxWindow</span><span·class="p"·data-group-id="5011059814-1">(</span><span·class="p"·data-group-id="5011059814-1">)</span><span·class="p">;</span><span·class="w">164 <em>wxWindow:centerOnParent</em>.·The·following·C++·code:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="ss">wxWindow</span><span·class="w">·</span><span·class="n">MyWin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="ss">new</span><span·class="w">·</span><span·class="nf">wxWindow</span><span·class="p"·data-group-id="1452993395-1">(</span><span·class="p"·data-group-id="1452993395-1">)</span><span·class="p">;</span><span·class="w">
165 ··</span><span·class="n">MyWin</span><span·class="p">.</span><span·class="n">CenterOnParent</span><span·class="p"·data-group-id="5011059814-2">(</span><span·class="ss">wxVERTICAL</span><span·class="p"·data-group-id="5011059814-2">)</span><span·class="p">;</span><span·class="w">165 ··</span><span·class="n">MyWin</span><span·class="p">.</span><span·class="n">CenterOnParent</span><span·class="p"·data-group-id="1452993395-2">(</span><span·class="ss">wxVERTICAL</span><span·class="p"·data-group-id="1452993395-2">)</span><span·class="p">;</span><span·class="w">
166 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">166 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
167 ··</span><span·class="ss">delete</span><span·class="w">·</span><span·class="n">MyWin</span><span·class="p">;</span></code></pre><p>would·in·erlang·look·like:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="n">MyWin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">wxWindow</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="9420483372-1">(</span><span·class="p"·data-group-id="9420483372-1">)</span><span·class="p">,</span><span·class="w">167 ··</span><span·class="ss">delete</span><span·class="w">·</span><span·class="n">MyWin</span><span·class="p">;</span></code></pre><p>would·in·erlang·look·like:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="n">MyWin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">wxWindow</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="6055660705-1">(</span><span·class="p"·data-group-id="6055660705-1">)</span><span·class="p">,</span><span·class="w">
168 ··</span><span·class="nc">wxWindow</span><span·class="p">:</span><span·class="nf">centerOnParent</span><span·class="p"·data-group-id="9420483372-2">(</span><span·class="n">MyWin</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="9420483372-3">[</span><span·class="p"·data-group-id="9420483372-4">{</span><span·class="ss">dir</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·204,·SHA:·d98aa521e6bd33d47be8c5577e4031148779854b063af02e03dad5373f4f3924·...·]-2">)</span><span·class="p">,</span><span·class="w">168 ··</span><span·class="nc">wxWindow</span><span·class="p">:</span><span·class="nf">centerOnParent</span><span·class="p"·data-group-id="6055660705-2">(</span><span·class="n">MyWin</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="6055660705-3">[</span><span·class="p"·data-group-id="6055660705-4">{</span><span·class="ss">dir</span><span·class="p">,</span><[·...·truncated·by·diffoscope;·len:·204,·SHA:·c056cdc41ef1e0f68e190e8b12fa0276d982a75de31ffaa2637d3692d1a7c2b4·...·]-2">)</span><span·class="p">,</span><span·class="w">
169 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">169 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
170 ··</span><span·class="nc">wxWindow</span><span·class="p">:</span><span·class="nf">destroy</span><span·class="p"·data-group-id="9420483372-5">(</span><span·class="n">MyWin</span><span·class="p"·data-group-id="9420483372-5">)</span><span·class="p">,</span></code></pre><p>When·you·are·reading·wxWidgets·documentation·or·the·examples,·you·will·notice170 ··</span><span·class="nc">wxWindow</span><span·class="p">:</span><span·class="nf">destroy</span><span·class="p"·data-group-id="6055660705-5">(</span><span·class="n">MyWin</span><span·class="p"·data-group-id="6055660705-5">)</span><span·class="p">,</span></code></pre><p>When·you·are·reading·wxWidgets·documentation·or·the·examples,·you·will·notice
171 that·some·of·the·most·basic·classes·are·missing·in·<em>wx</em>,·they·are·directly171 that·some·of·the·most·basic·classes·are·missing·in·<em>wx</em>,·they·are·directly
172 mapped·to·corresponding·erlang·terms:</p><ul><li><p><strong><em>wxPoint</em>·is·represented·by·{Xcoord,Ycoord}</strong></p></li><li><p><strong><em>wxSize</em>·is·represented·by·{Width,Height}</strong></p></li><li><p><strong><em>wxRect</em>·is·represented·by·{Xcoord,Ycoord,Width,Height}</strong></p></li><li><p><strong><em>wxColour</em>·is·represented·by·{Red,Green,Blue[,Alpha]}</strong></p></li><li><p><strong><em>wxString</em>·is·represented·by172 mapped·to·corresponding·erlang·terms:</p><ul><li><p><strong><em>wxPoint</em>·is·represented·by·{Xcoord,Ycoord}</strong></p></li><li><p><strong><em>wxSize</em>·is·represented·by·{Width,Height}</strong></p></li><li><p><strong><em>wxRect</em>·is·represented·by·{Xcoord,Ycoord,Width,Height}</strong></p></li><li><p><strong><em>wxColour</em>·is·represented·by·{Red,Green,Blue[,Alpha]}</strong></p></li><li><p><strong><em>wxString</em>·is·represented·by
173 <a·href="../../../../lib/stdlib-7.0/doc/html/unicode.html#t:charlist/0">unicode:charlist()</a></strong></p></li><li><p><strong><em>wxGBPosition</em>·is·represented·by·{Row,Column}</strong></p></li><li><p><strong><em>wxGBSpan</em>·is·represented·by·{RowSpan,ColumnSPan}</strong></p></li><li><p><strong><em>wxGridCellCoords</em>·is·represented·by·{Row,Column}</strong></p></li></ul><p>In·the·places·where·the·erlang·API·differs·from·the·original·one·it·should·be173 <a·href="../../../../lib/stdlib-7.0/doc/html/unicode.html#t:charlist/0">unicode:charlist()</a></strong></p></li><li><p><strong><em>wxGBPosition</em>·is·represented·by·{Row,Column}</strong></p></li><li><p><strong><em>wxGBSpan</em>·is·represented·by·{RowSpan,ColumnSPan}</strong></p></li><li><p><strong><em>wxGridCellCoords</em>·is·represented·by·{Row,Column}</strong></p></li></ul><p>In·the·places·where·the·erlang·API·differs·from·the·original·one·it·should·be
174 obvious·from·the·erlang·documentation·which·representation·has·been·used.·E.g.174 obvious·from·the·erlang·documentation·which·representation·has·been·used.·E.g.
175 the·C++·arrays·and/or·lists·are·sometimes·represented·as·erlang·lists·and175 the·C++·arrays·and/or·lists·are·sometimes·represented·as·erlang·lists·and
176 sometimes·as·tuples.</p><p>Colours·are·represented·with·{Red,Green,Blue[,Alpha]},·the·Alpha·value·is176 sometimes·as·tuples.</p><p>Colours·are·represented·with·{Red,Green,Blue[,Alpha]},·the·Alpha·value·is
177 optional·when·used·as·an·argument·to·functions,·but·it·will·always·be·returned177 optional·when·used·as·an·argument·to·functions,·but·it·will·always·be·returned
Offset 191, 22 lines modifiedOffset 191, 22 lines modified
191 ··<span·class="text">Multiple·processes·and·memory·handling</span>191 ··<span·class="text">Multiple·processes·and·memory·handling</span>
192 </h2>192 </h2>
193 <p>The·intention·is·that·each·erlang·application·calls·wx:new()·once·to·setup·it's193 <p>The·intention·is·that·each·erlang·application·calls·wx:new()·once·to·setup·it's
194 GUI·which·creates·an·environment·and·a·memory·mapping.·To·be·able·to·use·<em>wx</em>194 GUI·which·creates·an·environment·and·a·memory·mapping.·To·be·able·to·use·<em>wx</em>
195 from·several·processes·in·your·application,·you·must·share·the·environment.·You195 from·several·processes·in·your·application,·you·must·share·the·environment.·You
196 can·get·the·active·environment·with·<a·href="wx.html#get_env/0"><code·class="inline">wx:get_env/0</code></a>·and·set·it·in·the·new196 can·get·the·active·environment·with·<a·href="wx.html#get_env/0"><code·class="inline">wx:get_env/0</code></a>·and·set·it·in·the·new
197 processes·with·<a·href="wx.html#set_env/1"><code·class="inline">wx:set_env/1</code></a>.·Two·processes·or·applications·which·have·both197 processes·with·<a·href="wx.html#set_env/1"><code·class="inline">wx:set_env/1</code></a>.·Two·processes·or·applications·which·have·both
198 called·wx:new()·will·not·be·able·use·each·others·objects.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nc">wx</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="6177540284-1">(</span><span·class="p"·data-group-id="6177540284-1">)</span><span·class="p">,</span><span·class="w">198 called·wx:new()·will·not·be·able·use·each·others·objects.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="nc">wx</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="6486587525-1">(</span><span·class="p"·data-group-id="6486587525-1">)</span><span·class="p">,</span><span·class="w">
199 ··</span><span·class="n">MyWin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">wxFrame</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="6177540284-2">(</span><span·class="nc">wx</span><span·class="p">:</span><span·class="nf">null</span><span·class="p"·data-group-id="6177540284-3">(</span><span·class="p"·data-group-id="6177540284-3">)</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·308,·SHA:·2d5dc1aadc0f77c658e2d167e355c4d678e70317033d96b25bceb4b3f4a87e29·...·]-2">)</span><span·class="p">,</span><span·class="w">199 ··</span><span·class="n">MyWin</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">wxFrame</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="6486587525-2">(</span><span·class="nc">wx</span><span·class="p">:</span><span·class="nf">null</span><span·class="p"·data-group-id="6486587525-3">(</span><span·class="p"·data-group-id="6486587525-3">)</span><span·class="p">,</span><span·class="w">·</span><sp[·...·truncated·by·diffoscope;·len:·308,·SHA:·2f58ed23974eb015790ac4bbda7caec3aa410db20ebd7dd3409d200a51a12ecc·...·]-2">)</span><span·class="p">,</span><span·class="w">
200 ··</span><span·class="n">Env</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">wx</span><span·class="p">:</span><span·class="nf">get_env</span><span·class="p"·data-group-id="6177540284-5">(</span><span·class="p"·data-group-id="6177540284-5">)</span><span·class="p">,</span><span·class="w">200 ··</span><span·class="n">Env</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">wx</span><span·class="p">:</span><span·class="nf">get_env</span><span·class="p"·data-group-id="6486587525-5">(</span><span·class="p"·data-group-id="6486587525-5">)</span><span·class="p">,</span><span·class="w">
201 ··</span><span·class="nf">spawn</span><span·class="p"·data-group-id="6177540284-6">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6177540284-7">(</span><span·class="p"·data-group-id="6177540284-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">201 ··</span><span·class="nf">spawn</span><span·class="p"·data-group-id="6486587525-6">(</span><span·class="nf">fun</span><span·class="p"·data-group-id="6486587525-7">(</span><span·class="p"·data-group-id="6486587525-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
202 ···········</span><span·class="nc">wx</span><span·class="p">:</span><span·class="nf">set_env</span><span·class="p"·data-group-id="6177540284-8">(</span><span·class="n">Env</span><span·class="p"·data-group-id="6177540284-8">)</span><span·class="p">,</span><span·class="w">202 ···········</span><span·class="nc">wx</span><span·class="p">:</span><span·class="nf">set_env</span><span·class="p"·data-group-id="6486587525-8">(</span><span·class="n">Env</span><span·class="p"·data-group-id="6486587525-8">)</span><span·class="p">,</span><span·class="w">
203 ···········</span><span·class="c1">%%·Here·you·can·do·wx·calls·from·your·helper·process.</span><span·class="w">203 ···········</span><span·class="c1">%%·Here·you·can·do·wx·calls·from·your·helper·process.</span><span·class="w">
204 ···········</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">204 ···········</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
205 ········</span><span·class="k">end</span><span·class="p"·data-group-id="6177540284-6">)</span><span·class="p">,</span><span·class="w">205 ········</span><span·class="k">end</span><span·class="p"·data-group-id="6486587525-6">)</span><span·class="p">,</span><span·class="w">
206 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>When·<a·href="wx.html#destroy/0"><code·class="inline">wx:destroy/0</code></a>·is·invoked·or·when·all·processes·in·the·application·have206 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><p>When·<a·href="wx.html#destroy/0"><code·class="inline">wx:destroy/0</code></a>·is·invoked·or·when·all·processes·in·the·application·have
207 died,·the·memory·is·deleted·and·all·windows·created·by·that·application·are207 died,·the·memory·is·deleted·and·all·windows·created·by·that·application·are
208 closed.</p><p>The·<em>wx</em>·application·never·cleans·or·garbage·collects·memory·as·long·as·the·user208 closed.</p><p>The·<em>wx</em>·application·never·cleans·or·garbage·collects·memory·as·long·as·the·user
209 application·is·alive.·Most·of·the·objects·are·deleted·when·a·window·is·closed,209 application·is·alive.·Most·of·the·objects·are·deleted·when·a·window·is·closed,
210 or·at·least·all·the·objects·which·have·a·parent·argument·that·is·non·null.·By210 or·at·least·all·the·objects·which·have·a·parent·argument·that·is·non·null.·By
211 using·<code·class="inline">wxCLASS:destroy/1</code>·when·possible·you·can·avoid·an·increasing·memory211 using·<code·class="inline">wxCLASS:destroy/1</code>·when·possible·you·can·avoid·an·increasing·memory
212 usage.·This·is·especially·important·when·<em>wxWidgets</em>·assumes·or·recommends·that212 usage.·This·is·especially·important·when·<em>wxWidgets</em>·assumes·or·recommends·that
Offset 304, 15 lines modifiedOffset 304, 15 lines modified
304 ······<p·class="built-using">304 ······<p·class="built-using">
305 ········Built·using305 ········Built·using
306 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the306 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
307 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>307 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
308 ······</p>308 ······</p>
309 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>309 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
310 ····</footer>310 ····</footer>
311 ··</div>311 ··</div>
312 </main>312 </main>
313 </div>313 </div>
314 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>314 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
315 ··<script>315 ··<script>
316 ··let·initialized·=·false;316 ··let·initialized·=·false;
684 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/gl.html
    
Offset 39147, 15 lines modifiedOffset 39147, 15 lines modified
39147 ······<p·class="built-using">39147 ······<p·class="built-using">
39148 ········Built·using39148 ········Built·using
39149 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the39149 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
39150 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>39150 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
39151 ······</p>39151 ······</p>
39152 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>39152 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
39153 ····</footer>39153 ····</footer>
39154 ··</div>39154 ··</div>
39155 </main>39155 </main>
39156 </div>39156 </div>
39157 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>39157 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
39158 ··<script>39158 ··<script>
39159 ··let·initialized·=·false;39159 ··let·initialized·=·false;
775 B
html2text {}
Max HTML report size reached
1.42 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/glu.html
    
Offset 1745, 15 lines modifiedOffset 1745, 15 lines modified
1745 ······<p·class="built-using">1745 ······<p·class="built-using">
1746 ········Built·using1746 ········Built·using
1747 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1747 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1748 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1748 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1749 ······</p>1749 ······</p>
1750 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1750 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1751 ····</footer>1751 ····</footer>
1752 ··</div>1752 ··</div>
1753 </main>1753 </main>
1754 </div>1754 </div>
1755 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1755 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1756 ··<script>1756 ··<script>
1757 ··let·initialized·=·false;1757 ··let·initialized·=·false;
630 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/notes.html
    
Offset 1090, 15 lines modifiedOffset 1090, 15 lines modified
1090 ······<p·class="built-using">1090 ······<p·class="built-using">
1091 ········Built·using1091 ········Built·using
1092 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1092 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1093 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1093 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1094 ······</p>1094 ······</p>
1095 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1095 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1096 ····</footer>1096 ····</footer>
1097 ··</div>1097 ··</div>
1098 </main>1098 </main>
1099 </div>1099 </div>
1100 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1100 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1101 ··<script>1101 ··<script>
1102 ··let·initialized·=·false;1102 ··let·initialized·=·false;
744 B
html2text {}
Max HTML report size reached
1.25 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/search.html
    
Offset 141, 15 lines modifiedOffset 141, 15 lines modified
141 ······<p·class="built-using">141 ······<p·class="built-using">
142 ········Built·using142 ········Built·using
143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the143 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>144 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
145 ······</p>145 ······</p>
146 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>146 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
147 ····</footer>147 ····</footer>
148 ··</div>148 ··</div>
149 </main>149 </main>
150 </div>150 </div>
151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>151 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
152 ··<script>152 ··<script>
153 ··let·initialized·=·false;153 ··let·initialized·=·false;
457 B
html2text {}
Max HTML report size reached
1.55 MB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wx.epub
39.3 KB
zipinfo {}
Max HTML report size reached
1.47 MB
zipdetails --redact --walk --utc {}
Max HTML report size reached
330 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jun·02·2025·17:15:38,·uncompressed·size·20,·method=store1 Zip·archive·data,·made·by·v6.1·UNIX,·extract·using·at·least·v1.0,·last·modified·Jul·05·2026·23:53:48,·uncompressed·size·20,·method=store
19.5 KB
OEBPS/wx_object.xhtml
Max HTML report size reached
1.18 KB
OEBPS/content.opf
1.14 KB
OEBPS/content.opf
Max HTML report size reached
12.7 KB
OEBPS/chapter.xhtml
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wx.html
    
Offset 1409, 15 lines modifiedOffset 1409, 15 lines modified
1409 ······<p·class="built-using">1409 ······<p·class="built-using">
1410 ········Built·using1410 ········Built·using
1411 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1411 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1412 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1412 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1413 ······</p>1413 ······</p>
1414 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1414 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1415 ····</footer>1415 ····</footer>
1416 ··</div>1416 ··</div>
1417 </main>1417 </main>
1418 </div>1418 </div>
1419 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1419 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1420 ··<script>1420 ··<script>
1421 ··let·initialized·=·false;1421 ··let·initialized·=·false;
694 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxAcceleratorEntry.html
    
Offset 538, 15 lines modifiedOffset 538, 15 lines modified
538 ······<p·class="built-using">538 ······<p·class="built-using">
539 ········Built·using539 ········Built·using
540 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the540 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
541 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>541 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
542 ······</p>542 ······</p>
543 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>543 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
544 ····</footer>544 ····</footer>
545 ··</div>545 ··</div>
546 </main>546 </main>
547 </div>547 </div>
548 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>548 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
549 ··<script>549 ··<script>
550 ··let·initialized·=·false;550 ··let·initialized·=·false;
664 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxAcceleratorTable.html
    
Offset 417, 15 lines modifiedOffset 417, 15 lines modified
417 ······<p·class="built-using">417 ······<p·class="built-using">
418 ········Built·using418 ········Built·using
419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
421 ······</p>421 ······</p>
422 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>422 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
423 ····</footer>423 ····</footer>
424 ··</div>424 ··</div>
425 </main>425 </main>
426 </div>426 </div>
427 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>427 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
428 ··<script>428 ··<script>
429 ··let·initialized·=·false;429 ··let·initialized·=·false;
746 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxActivateEvent.html
    
Offset 342, 15 lines modifiedOffset 342, 15 lines modified
342 ······<p·class="built-using">342 ······<p·class="built-using">
343 ········Built·using343 ········Built·using
344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
346 ······</p>346 ······</p>
347 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>347 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
348 ····</footer>348 ····</footer>
349 ··</div>349 ··</div>
350 </main>350 </main>
351 </div>351 </div>
352 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>352 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
353 ··<script>353 ··<script>
354 ··let·initialized·=·false;354 ··let·initialized·=·false;
740 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxArtProvider.html
    
Offset 406, 15 lines modifiedOffset 406, 15 lines modified
406 ······<p·class="built-using">406 ······<p·class="built-using">
407 ········Built·using407 ········Built·using
408 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the408 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
409 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>409 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
410 ······</p>410 ······</p>
411 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>411 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
412 ····</footer>412 ····</footer>
413 ··</div>413 ··</div>
414 </main>414 </main>
415 </div>415 </div>
416 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>416 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
417 ··<script>417 ··<script>
418 ··let·initialized·=·false;418 ··let·initialized·=·false;
746 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxAuiDockArt.html
    
Offset 455, 15 lines modifiedOffset 455, 15 lines modified
455 ······<p·class="built-using">455 ······<p·class="built-using">
456 ········Built·using456 ········Built·using
457 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the457 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
458 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>458 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
459 ······</p>459 ······</p>
460 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>460 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
461 ····</footer>461 ····</footer>
462 ··</div>462 ··</div>
463 </main>463 </main>
464 </div>464 </div>
465 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>465 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
466 ··<script>466 ··<script>
467 ··let·initialized·=·false;467 ··let·initialized·=·false;
658 B
html2text {}
Max HTML report size reached
1.65 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxAuiManager.html
    
Offset 1409, 15 lines modifiedOffset 1409, 15 lines modified
1409 ······<p·class="built-using">1409 ······<p·class="built-using">
1410 ········Built·using1410 ········Built·using
1411 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1411 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1412 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1412 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1413 ······</p>1413 ······</p>
1414 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1414 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1415 ····</footer>1415 ····</footer>
1416 ··</div>1416 ··</div>
1417 </main>1417 </main>
1418 </div>1418 </div>
1419 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1419 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1420 ··<script>1420 ··<script>
1421 ··let·initialized·=·false;1421 ··let·initialized·=·false;
855 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxAuiManagerEvent.html
    
Offset 784, 15 lines modifiedOffset 784, 15 lines modified
784 ······<p·class="built-using">784 ······<p·class="built-using">
785 ········Built·using785 ········Built·using
786 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the786 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
787 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>787 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
788 ······</p>788 ······</p>
789 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>789 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
790 ····</footer>790 ····</footer>
791 ··</div>791 ··</div>
792 </main>792 </main>
793 </div>793 </div>
794 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>794 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
795 ··<script>795 ··<script>
796 ··let·initialized·=·false;796 ··let·initialized·=·false;
714 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxAuiNotebook.html
    
Offset 1365, 15 lines modifiedOffset 1365, 15 lines modified
1365 ······<p·class="built-using">1365 ······<p·class="built-using">
1366 ········Built·using1366 ········Built·using
1367 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1367 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1368 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1368 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1369 ······</p>1369 ······</p>
1370 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1370 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1371 ····</footer>1371 ····</footer>
1372 ··</div>1372 ··</div>
1373 </main>1373 </main>
1374 </div>1374 </div>
1375 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1375 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1376 ··<script>1376 ··<script>
1377 ··let·initialized·=·false;1377 ··let·initialized·=·false;
650 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxAuiNotebookEvent.html
    
Offset 537, 15 lines modifiedOffset 537, 15 lines modified
537 ······<p·class="built-using">537 ······<p·class="built-using">
538 ········Built·using538 ········Built·using
539 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the539 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
540 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>540 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
541 ······</p>541 ······</p>
542 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>542 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
543 ····</footer>543 ····</footer>
544 ··</div>544 ··</div>
545 </main>545 </main>
546 </div>546 </div>
547 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>547 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
548 ··<script>548 ··<script>
549 ··let·initialized·=·false;549 ··let·initialized·=·false;
708 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxAuiPaneInfo.html
    
Offset 3891, 15 lines modifiedOffset 3891, 15 lines modified
3891 ······<p·class="built-using">3891 ······<p·class="built-using">
3892 ········Built·using3892 ········Built·using
3893 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3893 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3894 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3894 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3895 ······</p>3895 ······</p>
3896 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3896 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3897 ····</footer>3897 ····</footer>
3898 ··</div>3898 ··</div>
3899 </main>3899 </main>
3900 </div>3900 </div>
3901 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3901 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3902 ··<script>3902 ··<script>
3903 ··let·initialized·=·false;3903 ··let·initialized·=·false;
729 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxAuiSimpleTabArt.html
    
Offset 306, 15 lines modifiedOffset 306, 15 lines modified
306 ······<p·class="built-using">306 ······<p·class="built-using">
307 ········Built·using307 ········Built·using
308 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the308 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
309 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>309 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
310 ······</p>310 ······</p>
311 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>311 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
312 ····</footer>312 ····</footer>
313 ··</div>313 ··</div>
314 </main>314 </main>
315 </div>315 </div>
316 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>316 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
317 ··<script>317 ··<script>
318 ··let·initialized·=·false;318 ··let·initialized·=·false;
676 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxAuiTabArt.html
    
Offset 451, 15 lines modifiedOffset 451, 15 lines modified
451 ······<p·class="built-using">451 ······<p·class="built-using">
452 ········Built·using452 ········Built·using
453 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the453 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
454 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>454 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
455 ······</p>455 ······</p>
456 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>456 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
457 ····</footer>457 ····</footer>
458 ··</div>458 ··</div>
459 </main>459 </main>
460 </div>460 </div>
461 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>461 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
462 ··<script>462 ··<script>
463 ··let·initialized·=·false;463 ··let·initialized·=·false;
727 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxBitmap.html
    
Offset 1317, 15 lines modifiedOffset 1317, 15 lines modified
1317 ······<p·class="built-using">1317 ······<p·class="built-using">
1318 ········Built·using1318 ········Built·using
1319 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1319 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1320 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1320 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1321 ······</p>1321 ······</p>
1322 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1322 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1323 ····</footer>1323 ····</footer>
1324 ··</div>1324 ··</div>
1325 </main>1325 </main>
1326 </div>1326 </div>
1327 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1327 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1328 ··<script>1328 ··<script>
1329 ··let·initialized·=·false;1329 ··let·initialized·=·false;
658 B
html2text {}
Max HTML report size reached
1.39 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxBitmapButton.html
    
Offset 531, 15 lines modifiedOffset 531, 15 lines modified
531 ······<p·class="built-using">531 ······<p·class="built-using">
532 ········Built·using532 ········Built·using
533 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the533 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
534 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>534 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
535 ······</p>535 ······</p>
536 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>536 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
537 ····</footer>537 ····</footer>
538 ··</div>538 ··</div>
539 </main>539 </main>
540 </div>540 </div>
541 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>541 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
542 ··<script>542 ··<script>
543 ··let·initialized·=·false;543 ··let·initialized·=·false;
580 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxBitmapDataObject.html
    
Offset 418, 15 lines modifiedOffset 418, 15 lines modified
418 ······<p·class="built-using">418 ······<p·class="built-using">
419 ········Built·using419 ········Built·using
420 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the420 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
421 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>421 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
422 ······</p>422 ······</p>
423 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>423 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
424 ····</footer>424 ····</footer>
425 ··</div>425 ··</div>
426 </main>426 </main>
427 </div>427 </div>
428 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>428 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
429 ··<script>429 ··<script>
430 ··let·initialized·=·false;430 ··let·initialized·=·false;
708 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxBookCtrlBase.html
    
Offset 916, 15 lines modifiedOffset 916, 15 lines modified
916 ······<p·class="built-using">916 ······<p·class="built-using">
917 ········Built·using917 ········Built·using
918 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the918 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
919 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>919 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
920 ······</p>920 ······</p>
921 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>921 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
922 ····</footer>922 ····</footer>
923 ··</div>923 ··</div>
924 </main>924 </main>
925 </div>925 </div>
926 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>926 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
927 ··<script>927 ··<script>
928 ··let·initialized·=·false;928 ··let·initialized·=·false;
711 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxBookCtrlEvent.html
    
Offset 459, 15 lines modifiedOffset 459, 15 lines modified
459 ······<p·class="built-using">459 ······<p·class="built-using">
460 ········Built·using460 ········Built·using
461 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the461 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
462 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>462 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
463 ······</p>463 ······</p>
464 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>464 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
465 ····</footer>465 ····</footer>
466 ··</div>466 ··</div>
467 </main>467 </main>
468 </div>468 </div>
469 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>469 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
470 ··<script>470 ··<script>
471 ··let·initialized·=·false;471 ··let·initialized·=·false;
699 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxBoxSizer.html
    
Offset 342, 15 lines modifiedOffset 342, 15 lines modified
342 ······<p·class="built-using">342 ······<p·class="built-using">
343 ········Built·using343 ········Built·using
344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
346 ······</p>346 ······</p>
347 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>347 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
348 ····</footer>348 ····</footer>
349 ··</div>349 ··</div>
350 </main>350 </main>
351 </div>351 </div>
352 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>352 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
353 ··<script>353 ··<script>
354 ··let·initialized·=·false;354 ··let·initialized·=·false;
688 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxBrush.html
    
Offset 716, 15 lines modifiedOffset 716, 15 lines modified
716 ······<p·class="built-using">716 ······<p·class="built-using">
717 ········Built·using717 ········Built·using
718 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the718 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
719 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>719 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
720 ······</p>720 ······</p>
721 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>721 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
722 ····</footer>722 ····</footer>
723 ··</div>723 ··</div>
724 </main>724 </main>
725 </div>725 </div>
726 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>726 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
727 ··<script>727 ··<script>
728 ··let·initialized·=·false;728 ··let·initialized·=·false;
646 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxBufferedDC.html
    
Offset 549, 15 lines modifiedOffset 549, 15 lines modified
549 ······<p·class="built-using">549 ······<p·class="built-using">
550 ········Built·using550 ········Built·using
551 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the551 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
552 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>552 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
553 ······</p>553 ······</p>
554 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>554 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
555 ····</footer>555 ····</footer>
556 ··</div>556 ··</div>
557 </main>557 </main>
558 </div>558 </div>
559 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>559 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
560 ··<script>560 ··<script>
561 ··let·initialized·=·false;561 ··let·initialized·=·false;
679 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxBufferedPaintDC.html
    
Offset 394, 15 lines modifiedOffset 394, 15 lines modified
394 ······<p·class="built-using">394 ······<p·class="built-using">
395 ········Built·using395 ········Built·using
396 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the396 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
397 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>397 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
398 ······</p>398 ······</p>
399 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>399 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
400 ····</footer>400 ····</footer>
401 ··</div>401 ··</div>
402 </main>402 </main>
403 </div>403 </div>
404 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>404 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
405 ··<script>405 ··<script>
406 ··let·initialized·=·false;406 ··let·initialized·=·false;
694 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxButton.html
    
Offset 891, 15 lines modifiedOffset 891, 15 lines modified
891 ······<p·class="built-using">891 ······<p·class="built-using">
892 ········Built·using892 ········Built·using
893 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the893 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
894 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>894 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
895 ······</p>895 ······</p>
896 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>896 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
897 ····</footer>897 ····</footer>
898 ··</div>898 ··</div>
899 </main>899 </main>
900 </div>900 </div>
901 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>901 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
902 ··<script>902 ··<script>
903 ··let·initialized·=·false;903 ··let·initialized·=·false;
692 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxCalendarCtrl.html
    
Offset 1340, 15 lines modifiedOffset 1340, 15 lines modified
1340 ······<p·class="built-using">1340 ······<p·class="built-using">
1341 ········Built·using1341 ········Built·using
1342 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1342 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1343 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1343 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1344 ······</p>1344 ······</p>
1345 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1345 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1346 ····</footer>1346 ····</footer>
1347 ··</div>1347 ··</div>
1348 </main>1348 </main>
1349 </div>1349 </div>
1350 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1350 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1351 ··<script>1351 ··<script>
1352 ··let·initialized·=·false;1352 ··let·initialized·=·false;
789 B
html2text {}
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxCalendarDateAttr.html
    
Offset 998, 15 lines modifiedOffset 998, 15 lines modified
998 ······<p·class="built-using">998 ······<p·class="built-using">
999 ········Built·using999 ········Built·using
1000 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1000 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1001 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1001 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1002 ······</p>1002 ······</p>
1003 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1003 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1004 ····</footer>1004 ····</footer>
1005 ··</div>1005 ··</div>
1006 </main>1006 </main>
1007 </div>1007 </div>
1008 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1008 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1009 ··<script>1009 ··<script>
1010 ··let·initialized·=·false;1010 ··let·initialized·=·false;
768 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxCalendarEvent.html
    
Offset 379, 15 lines modifiedOffset 379, 15 lines modified
379 ······<p·class="built-using">379 ······<p·class="built-using">
380 ········Built·using380 ········Built·using
381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
383 ······</p>383 ······</p>
384 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>384 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
385 ····</footer>385 ····</footer>
386 ··</div>386 ··</div>
387 </main>387 </main>
388 </div>388 </div>
389 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>389 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
390 ··<script>390 ··<script>
391 ··let·initialized·=·false;391 ··let·initialized·=·false;
732 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxCaret.html
    
Offset 942, 15 lines modifiedOffset 942, 15 lines modified
942 ······<p·class="built-using">942 ······<p·class="built-using">
943 ········Built·using943 ········Built·using
944 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the944 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
945 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>945 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
946 ······</p>946 ······</p>
947 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>947 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
948 ····</footer>948 ····</footer>
949 ··</div>949 ··</div>
950 </main>950 </main>
951 </div>951 </div>
952 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>952 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
953 ··<script>953 ··<script>
954 ··let·initialized·=·false;954 ··let·initialized·=·false;
617 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxCheckBox.html
    
Offset 745, 15 lines modifiedOffset 745, 15 lines modified
745 ······<p·class="built-using">745 ······<p·class="built-using">
746 ········Built·using746 ········Built·using
747 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the747 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
748 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>748 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
749 ······</p>749 ······</p>
750 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>750 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
751 ····</footer>751 ····</footer>
752 ··</div>752 ··</div>
753 </main>753 </main>
754 </div>754 </div>
755 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>755 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
756 ··<script>756 ··<script>
757 ··let·initialized·=·false;757 ··let·initialized·=·false;
685 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxCheckListBox.html
    
Offset 502, 15 lines modifiedOffset 502, 15 lines modified
502 ······<p·class="built-using">502 ······<p·class="built-using">
503 ········Built·using503 ········Built·using
504 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the504 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
505 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>505 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
506 ······</p>506 ······</p>
507 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>507 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
508 ····</footer>508 ····</footer>
509 ··</div>509 ··</div>
510 </main>510 </main>
511 </div>511 </div>
512 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>512 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
513 ··<script>513 ··<script>
514 ··let·initialized·=·false;514 ··let·initialized·=·false;
725 B
html2text {}
Max HTML report size reached
1.62 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxChildFocusEvent.html
    
Offset 347, 15 lines modifiedOffset 347, 15 lines modified
347 ······<p·class="built-using">347 ······<p·class="built-using">
348 ········Built·using348 ········Built·using
349 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the349 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
350 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>350 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
351 ······</p>351 ······</p>
352 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>352 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
353 ····</footer>353 ····</footer>
354 ··</div>354 ··</div>
355 </main>355 </main>
356 </div>356 </div>
357 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>357 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
358 ··<script>358 ··<script>
359 ··let·initialized·=·false;359 ··let·initialized·=·false;
810 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxChoice.html
    
Offset 636, 15 lines modifiedOffset 636, 15 lines modified
636 ······<p·class="built-using">636 ······<p·class="built-using">
637 ········Built·using637 ········Built·using
638 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the638 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
639 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>639 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
640 ······</p>640 ······</p>
641 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>641 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
642 ····</footer>642 ····</footer>
643 ··</div>643 ··</div>
644 </main>644 </main>
645 </div>645 </div>
646 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>646 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
647 ··<script>647 ··<script>
648 ··let·initialized·=·false;648 ··let·initialized·=·false;
638 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxChoicebook.html
    
Offset 1308, 15 lines modifiedOffset 1308, 15 lines modified
1308 ······<p·class="built-using">1308 ······<p·class="built-using">
1309 ········Built·using1309 ········Built·using
1310 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1310 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1311 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1311 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1312 ······</p>1312 ······</p>
1313 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1313 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1314 ····</footer>1314 ····</footer>
1315 ··</div>1315 ··</div>
1316 </main>1316 </main>
1317 </div>1317 </div>
1318 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1318 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1319 ··<script>1319 ··<script>
1320 ··let·initialized·=·false;1320 ··let·initialized·=·false;
711 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxClientDC.html
    
Offset 313, 15 lines modifiedOffset 313, 15 lines modified
313 ······<p·class="built-using">313 ······<p·class="built-using">
314 ········Built·using314 ········Built·using
315 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the315 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
316 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>316 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
317 ······</p>317 ······</p>
318 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>318 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
319 ····</footer>319 ····</footer>
320 ··</div>320 ··</div>
321 </main>321 </main>
322 </div>322 </div>
323 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>323 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
324 ··<script>324 ··<script>
325 ··let·initialized·=·false;325 ··let·initialized·=·false;
656 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxClipboard.html
    
Offset 767, 15 lines modifiedOffset 767, 15 lines modified
767 ······<p·class="built-using">767 ······<p·class="built-using">
768 ········Built·using768 ········Built·using
769 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the769 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
770 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>770 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
771 ······</p>771 ······</p>
772 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>772 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
773 ····</footer>773 ····</footer>
774 ··</div>774 ··</div>
775 </main>775 </main>
776 </div>776 </div>
777 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>777 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
778 ··<script>778 ··<script>
779 ··let·initialized·=·false;779 ··let·initialized·=·false;
715 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxClipboardTextEvent.html
    
Offset 296, 15 lines modifiedOffset 296, 15 lines modified
296 ······<p·class="built-using">296 ······<p·class="built-using">
297 ········Built·using297 ········Built·using
298 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the298 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
299 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>299 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
300 ······</p>300 ······</p>
301 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>301 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
302 ····</footer>302 ····</footer>
303 ··</div>303 ··</div>
304 </main>304 </main>
305 </div>305 </div>
306 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>306 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
307 ··<script>307 ··<script>
308 ··let·initialized·=·false;308 ··let·initialized·=·false;
759 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxCloseEvent.html
    
Offset 540, 15 lines modifiedOffset 540, 15 lines modified
540 ······<p·class="built-using">540 ······<p·class="built-using">
541 ········Built·using541 ········Built·using
542 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the542 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
543 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>543 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
544 ······</p>544 ······</p>
545 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>545 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
546 ····</footer>546 ····</footer>
547 ··</div>547 ··</div>
548 </main>548 </main>
549 </div>549 </div>
550 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>550 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
551 ··<script>551 ··<script>
552 ··let·initialized·=·false;552 ··let·initialized·=·false;
709 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxColourData.html
    
Offset 526, 15 lines modifiedOffset 526, 15 lines modified
526 ······<p·class="built-using">526 ······<p·class="built-using">
527 ········Built·using527 ········Built·using
528 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the528 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
529 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>529 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
530 ······</p>530 ······</p>
531 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>531 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
532 ····</footer>532 ····</footer>
533 ··</div>533 ··</div>
534 </main>534 </main>
535 </div>535 </div>
536 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>536 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
537 ··<script>537 ··<script>
538 ··let·initialized·=·false;538 ··let·initialized·=·false;
747 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxColourDialog.html
    
Offset 497, 15 lines modifiedOffset 497, 15 lines modified
497 ······<p·class="built-using">497 ······<p·class="built-using">
498 ········Built·using498 ········Built·using
499 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the499 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
500 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>500 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
501 ······</p>501 ······</p>
502 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>502 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
503 ····</footer>503 ····</footer>
504 ··</div>504 ··</div>
505 </main>505 </main>
506 </div>506 </div>
507 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>507 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
508 ··<script>508 ··<script>
509 ··let·initialized·=·false;509 ··let·initialized·=·false;
668 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxColourPickerCtrl.html
    
Offset 561, 15 lines modifiedOffset 561, 15 lines modified
561 ······<p·class="built-using">561 ······<p·class="built-using">
562 ········Built·using562 ········Built·using
563 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the563 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
564 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>564 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
565 ······</p>565 ······</p>
566 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>566 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
567 ····</footer>567 ····</footer>
568 ··</div>568 ··</div>
569 </main>569 </main>
570 </div>570 </div>
571 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>571 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
572 ··<script>572 ··<script>
573 ··let·initialized·=·false;573 ··let·initialized·=·false;
660 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxColourPickerEvent.html
    
Offset 344, 15 lines modifiedOffset 344, 15 lines modified
344 ······<p·class="built-using">344 ······<p·class="built-using">
345 ········Built·using345 ········Built·using
346 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the346 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
347 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>347 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
348 ······</p>348 ······</p>
349 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>349 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
350 ····</footer>350 ····</footer>
351 ··</div>351 ··</div>
352 </main>352 </main>
353 </div>353 </div>
354 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>354 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
355 ··<script>355 ··<script>
356 ··let·initialized·=·false;356 ··let·initialized·=·false;
736 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxComboBox.html
    
Offset 1244, 15 lines modifiedOffset 1244, 15 lines modified
1244 ······<p·class="built-using">1244 ······<p·class="built-using">
1245 ········Built·using1245 ········Built·using
1246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1246 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1247 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1248 ······</p>1248 ······</p>
1249 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1249 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1250 ····</footer>1250 ····</footer>
1251 ··</div>1251 ··</div>
1252 </main>1252 </main>
1253 </div>1253 </div>
1254 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1254 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1255 ··<script>1255 ··<script>
1256 ··let·initialized·=·false;1256 ··let·initialized·=·false;
648 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxCommandEvent.html
    
Offset 664, 15 lines modifiedOffset 664, 15 lines modified
664 ······<p·class="built-using">664 ······<p·class="built-using">
665 ········Built·using665 ········Built·using
666 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the666 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
667 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>667 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
668 ······</p>668 ······</p>
669 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>669 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
670 ····</footer>670 ····</footer>
671 ··</div>671 ··</div>
672 </main>672 </main>
673 </div>673 </div>
674 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>674 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
675 ··<script>675 ··<script>
676 ··let·initialized·=·false;676 ··let·initialized·=·false;
698 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxContextMenuEvent.html
    
Offset 391, 15 lines modifiedOffset 391, 15 lines modified
391 ······<p·class="built-using">391 ······<p·class="built-using">
392 ········Built·using392 ········Built·using
393 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the393 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
394 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>394 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
395 ······</p>395 ······</p>
396 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>396 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
397 ····</footer>397 ····</footer>
398 ··</div>398 ··</div>
399 </main>399 </main>
400 </div>400 </div>
401 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>401 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
402 ··<script>402 ··<script>
403 ··let·initialized·=·false;403 ··let·initialized·=·false;
733 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxControl.html
    
Offset 318, 15 lines modifiedOffset 318, 15 lines modified
318 ······<p·class="built-using">318 ······<p·class="built-using">
319 ········Built·using319 ········Built·using
320 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the320 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
321 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>321 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
322 ······</p>322 ······</p>
323 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>323 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
324 ····</footer>324 ····</footer>
325 ··</div>325 ··</div>
326 </main>326 </main>
327 </div>327 </div>
328 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>328 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
329 ··<script>329 ··<script>
330 ··let·initialized·=·false;330 ··let·initialized·=·false;
754 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxControlWithItems.html
    
Offset 1121, 15 lines modifiedOffset 1121, 15 lines modified
1121 ······<p·class="built-using">1121 ······<p·class="built-using">
1122 ········Built·using1122 ········Built·using
1123 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1123 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1124 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1124 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1125 ······</p>1125 ······</p>
1126 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1126 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1127 ····</footer>1127 ····</footer>
1128 ··</div>1128 ··</div>
1129 </main>1129 </main>
1130 </div>1130 </div>
1131 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1131 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1132 ··<script>1132 ··<script>
1133 ··let·initialized·=·false;1133 ··let·initialized·=·false;
663 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxCursor.html
    
Offset 463, 15 lines modifiedOffset 463, 15 lines modified
463 ······<p·class="built-using">463 ······<p·class="built-using">
464 ········Built·using464 ········Built·using
465 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the465 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
466 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>466 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
467 ······</p>467 ······</p>
468 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>468 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
469 ····</footer>469 ····</footer>
470 ··</div>470 ··</div>
471 </main>471 </main>
472 </div>472 </div>
473 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>473 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
474 ··<script>474 ··<script>
475 ··let·initialized·=·false;475 ··let·initialized·=·false;
667 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxDC.html
    
Offset 3866, 15 lines modifiedOffset 3866, 15 lines modified
3866 ······<p·class="built-using">3866 ······<p·class="built-using">
3867 ········Built·using3867 ········Built·using
3868 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3868 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3869 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3869 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3870 ······</p>3870 ······</p>
3871 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3871 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3872 ····</footer>3872 ····</footer>
3873 ··</div>3873 ··</div>
3874 </main>3874 </main>
3875 </div>3875 </div>
3876 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3876 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3877 ··<script>3877 ··<script>
3878 ··let·initialized·=·false;3878 ··let·initialized·=·false;
693 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxDCOverlay.html
    
Offset 385, 15 lines modifiedOffset 385, 15 lines modified
385 ······<p·class="built-using">385 ······<p·class="built-using">
386 ········Built·using386 ········Built·using
387 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the387 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
388 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>388 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
389 ······</p>389 ······</p>
390 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>390 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
391 ····</footer>391 ····</footer>
392 ··</div>392 ··</div>
393 </main>393 </main>
394 </div>394 </div>
395 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>395 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
396 ··<script>396 ··<script>
397 ··let·initialized·=·false;397 ··let·initialized·=·false;
635 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxDataObject.html
    
Offset 252, 15 lines modifiedOffset 252, 15 lines modified
252 ······<p·class="built-using">252 ······<p·class="built-using">
253 ········Built·using253 ········Built·using
254 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the254 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
255 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>255 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
256 ······</p>256 ······</p>
257 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>257 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
258 ····</footer>258 ····</footer>
259 ··</div>259 ··</div>
260 </main>260 </main>
261 </div>261 </div>
262 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>262 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
263 ··<script>263 ··<script>
264 ··let·initialized·=·false;264 ··let·initialized·=·false;
632 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxDateEvent.html
    
Offset 336, 15 lines modifiedOffset 336, 15 lines modified
336 ······<p·class="built-using">336 ······<p·class="built-using">
337 ········Built·using337 ········Built·using
338 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the338 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
339 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>339 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
340 ······</p>340 ······</p>
341 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>341 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
342 ····</footer>342 ····</footer>
343 ··</div>343 ··</div>
344 </main>344 </main>
345 </div>345 </div>
346 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>346 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
347 ··<script>347 ··<script>
348 ··let·initialized·=·false;348 ··let·initialized·=·false;
653 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxDatePickerCtrl.html
    
Offset 570, 15 lines modifiedOffset 570, 15 lines modified
570 ······<p·class="built-using">570 ······<p·class="built-using">
571 ········Built·using571 ········Built·using
572 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the572 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
573 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>573 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
574 ······</p>574 ······</p>
575 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>575 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
576 ····</footer>576 ····</footer>
577 ··</div>577 ··</div>
578 </main>578 </main>
579 </div>579 </div>
580 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>580 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
581 ··<script>581 ··<script>
582 ··let·initialized·=·false;582 ··let·initialized·=·false;
647 B
html2text {}
Max HTML report size reached
1.39 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxDialog.html
    
Offset 921, 15 lines modifiedOffset 921, 15 lines modified
921 ······<p·class="built-using">921 ······<p·class="built-using">
922 ········Built·using922 ········Built·using
923 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the923 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
924 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>924 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
925 ······</p>925 ······</p>
926 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>926 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
927 ····</footer>927 ····</footer>
928 ··</div>928 ··</div>
929 </main>929 </main>
930 </div>930 </div>
931 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>931 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
932 ··<script>932 ··<script>
933 ··let·initialized·=·false;933 ··let·initialized·=·false;
592 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxDirDialog.html
    
Offset 515, 15 lines modifiedOffset 515, 15 lines modified
515 ······<p·class="built-using">515 ······<p·class="built-using">
516 ········Built·using516 ········Built·using
517 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the517 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
518 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>518 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
519 ······</p>519 ······</p>
520 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>520 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
521 ····</footer>521 ····</footer>
522 ··</div>522 ··</div>
523 </main>523 </main>
524 </div>524 </div>
525 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>525 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
526 ··<script>526 ··<script>
527 ··let·initialized·=·false;527 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxDirPickerCtrl.html
    
Offset 569, 15 lines modifiedOffset 569, 15 lines modified
569 ······<p·class="built-using">569 ······<p·class="built-using">
570 ········Built·using570 ········Built·using
571 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the571 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
572 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>572 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
573 ······</p>573 ······</p>
574 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>574 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
575 ····</footer>575 ····</footer>
576 ··</div>576 ··</div>
577 </main>577 </main>
578 </div>578 </div>
579 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>579 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
580 ··<script>580 ··<script>
581 ··let·initialized·=·false;581 ··let·initialized·=·false;
709 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxDisplay.html
    
Offset 675, 15 lines modifiedOffset 675, 15 lines modified
675 ······<p·class="built-using">675 ······<p·class="built-using">
676 ········Built·using676 ········Built·using
677 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the677 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
678 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>678 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
679 ······</p>679 ······</p>
680 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>680 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
681 ····</footer>681 ····</footer>
682 ··</div>682 ··</div>
683 </main>683 </main>
684 </div>684 </div>
685 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>685 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
686 ··<script>686 ··<script>
687 ··let·initialized·=·false;687 ··let·initialized·=·false;
632 B
html2text {}
Max HTML report size reached
1.62 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxDisplayChangedEvent.html
    
Offset 289, 15 lines modifiedOffset 289, 15 lines modified
289 ······<p·class="built-using">289 ······<p·class="built-using">
290 ········Built·using290 ········Built·using
291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
293 ······</p>293 ······</p>
294 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>294 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
295 ····</footer>295 ····</footer>
296 ··</div>296 ··</div>
297 </main>297 </main>
298 </div>298 </div>
299 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>299 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
300 ··<script>300 ··<script>
301 ··let·initialized·=·false;301 ··let·initialized·=·false;
805 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxDropFilesEvent.html
    
Offset 420, 15 lines modifiedOffset 420, 15 lines modified
420 ······<p·class="built-using">420 ······<p·class="built-using">
421 ········Built·using421 ········Built·using
422 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the422 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
423 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>423 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
424 ······</p>424 ······</p>
425 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>425 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
426 ····</footer>426 ····</footer>
427 ··</div>427 ··</div>
428 </main>428 </main>
429 </div>429 </div>
430 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>430 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
431 ··<script>431 ··<script>
432 ··let·initialized·=·false;432 ··let·initialized·=·false;
698 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxEraseEvent.html
    
Offset 346, 15 lines modifiedOffset 346, 15 lines modified
346 ······<p·class="built-using">346 ······<p·class="built-using">
347 ········Built·using347 ········Built·using
348 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the348 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
349 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>349 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
350 ······</p>350 ······</p>
351 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>351 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
352 ····</footer>352 ····</footer>
353 ··</div>353 ··</div>
354 </main>354 </main>
355 </div>355 </div>
356 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>356 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
357 ··<script>357 ··<script>
358 ··let·initialized·=·false;358 ··let·initialized·=·false;
681 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxEvent.html
    
Offset 575, 15 lines modifiedOffset 575, 15 lines modified
575 ······<p·class="built-using">575 ······<p·class="built-using">
576 ········Built·using576 ········Built·using
577 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the577 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
578 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>578 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
579 ······</p>579 ······</p>
580 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>580 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
581 ····</footer>581 ····</footer>
582 ··</div>582 ··</div>
583 </main>583 </main>
584 </div>584 </div>
585 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>585 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
586 ··<script>586 ··<script>
587 ··let·initialized·=·false;587 ··let·initialized·=·false;
784 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxEvtHandler.html
    
Offset 644, 15 lines modifiedOffset 644, 15 lines modified
644 ······<p·class="built-using">644 ······<p·class="built-using">
645 ········Built·using645 ········Built·using
646 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the646 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
647 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>647 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
648 ······</p>648 ······</p>
649 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>649 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
650 ····</footer>650 ····</footer>
651 ··</div>651 ··</div>
652 </main>652 </main>
653 </div>653 </div>
654 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>654 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
655 ··<script>655 ··<script>
656 ··let·initialized·=·false;656 ··let·initialized·=·false;
732 B
html2text {}
Max HTML report size reached
1.35 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFileDataObject.html
    
Offset 379, 15 lines modifiedOffset 379, 15 lines modified
379 ······<p·class="built-using">379 ······<p·class="built-using">
380 ········Built·using380 ········Built·using
381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
383 ······</p>383 ······</p>
384 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>384 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
385 ····</footer>385 ····</footer>
386 ··</div>386 ··</div>
387 </main>387 </main>
388 </div>388 </div>
389 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>389 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
390 ··<script>390 ··<script>
391 ··let·initialized·=·false;391 ··let·initialized·=·false;
541 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFileDialog.html
    
Offset 902, 15 lines modifiedOffset 902, 15 lines modified
902 ······<p·class="built-using">902 ······<p·class="built-using">
903 ········Built·using903 ········Built·using
904 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the904 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
905 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>905 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
906 ······</p>906 ······</p>
907 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>907 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
908 ····</footer>908 ····</footer>
909 ··</div>909 ··</div>
910 </main>910 </main>
911 </div>911 </div>
912 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>912 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
913 ··<script>913 ··<script>
914 ··let·initialized·=·false;914 ··let·initialized·=·false;
662 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFileDirPickerEvent.html
    
Offset 344, 15 lines modifiedOffset 344, 15 lines modified
344 ······<p·class="built-using">344 ······<p·class="built-using">
345 ········Built·using345 ········Built·using
346 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the346 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
347 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>347 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
348 ······</p>348 ······</p>
349 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>349 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
350 ····</footer>350 ····</footer>
351 ··</div>351 ··</div>
352 </main>352 </main>
353 </div>353 </div>
354 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>354 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
355 ··<script>355 ··<script>
356 ··let·initialized·=·false;356 ··let·initialized·=·false;
731 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFilePickerCtrl.html
    
Offset 572, 15 lines modifiedOffset 572, 15 lines modified
572 ······<p·class="built-using">572 ······<p·class="built-using">
573 ········Built·using573 ········Built·using
574 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the574 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
575 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>575 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
576 ······</p>576 ······</p>
577 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>577 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
578 ····</footer>578 ····</footer>
579 ··</div>579 ··</div>
580 </main>580 </main>
581 </div>581 </div>
582 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>582 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
583 ··<script>583 ··<script>
584 ··let·initialized·=·false;584 ··let·initialized·=·false;
721 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFindReplaceData.html
    
Offset 560, 15 lines modifiedOffset 560, 15 lines modified
560 ······<p·class="built-using">560 ······<p·class="built-using">
561 ········Built·using561 ········Built·using
562 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the562 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
563 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>563 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
564 ······</p>564 ······</p>
565 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>565 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
566 ····</footer>566 ····</footer>
567 ··</div>567 ··</div>
568 </main>568 </main>
569 </div>569 </div>
570 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>570 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
571 ··<script>571 ··<script>
572 ··let·initialized·=·false;572 ··let·initialized·=·false;
784 B
html2text {}
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFindReplaceDialog.html
    
Offset 508, 15 lines modifiedOffset 508, 15 lines modified
508 ······<p·class="built-using">508 ······<p·class="built-using">
509 ········Built·using509 ········Built·using
510 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the510 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
511 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>511 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
512 ······</p>512 ······</p>
513 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>513 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
514 ····</footer>514 ····</footer>
515 ··</div>515 ··</div>
516 </main>516 </main>
517 </div>517 </div>
518 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>518 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
519 ··<script>519 ··<script>
520 ··let·initialized·=·false;520 ··let·initialized·=·false;
765 B
html2text {}
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFlexGridSizer.html
    
Offset 815, 15 lines modifiedOffset 815, 15 lines modified
815 ······<p·class="built-using">815 ······<p·class="built-using">
816 ········Built·using816 ········Built·using
817 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the817 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
818 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>818 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
819 ······</p>819 ······</p>
820 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>820 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
821 ····</footer>821 ····</footer>
822 ··</div>822 ··</div>
823 </main>823 </main>
824 </div>824 </div>
825 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>825 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
826 ··<script>826 ··<script>
827 ··let·initialized·=·false;827 ··let·initialized·=·false;
771 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFocusEvent.html
    
Offset 352, 15 lines modifiedOffset 352, 15 lines modified
352 ······<p·class="built-using">352 ······<p·class="built-using">
353 ········Built·using353 ········Built·using
354 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the354 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
355 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>355 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
356 ······</p>356 ······</p>
357 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>357 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
358 ····</footer>358 ····</footer>
359 ··</div>359 ··</div>
360 </main>360 </main>
361 </div>361 </div>
362 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>362 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
363 ··<script>363 ··<script>
364 ··let·initialized·=·false;364 ··let·initialized·=·false;
747 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFont.html
    
Offset 1157, 15 lines modifiedOffset 1157, 15 lines modified
1157 ······<p·class="built-using">1157 ······<p·class="built-using">
1158 ········Built·using1158 ········Built·using
1159 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1159 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1160 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1160 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1161 ······</p>1161 ······</p>
1162 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1162 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1163 ····</footer>1163 ····</footer>
1164 ··</div>1164 ··</div>
1165 </main>1165 </main>
1166 </div>1166 </div>
1167 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1167 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1168 ··<script>1168 ··<script>
1169 ··let·initialized·=·false;1169 ··let·initialized·=·false;
655 B
html2text {}
Max HTML report size reached
1.41 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFontData.html
    
Offset 811, 15 lines modifiedOffset 811, 15 lines modified
811 ······<p·class="built-using">811 ······<p·class="built-using">
812 ········Built·using812 ········Built·using
813 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the813 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
814 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>814 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
815 ······</p>815 ······</p>
816 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>816 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
817 ····</footer>817 ····</footer>
818 ··</div>818 ··</div>
819 </main>819 </main>
820 </div>820 </div>
821 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>821 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
822 ··<script>822 ··<script>
823 ··let·initialized·=·false;823 ··let·initialized·=·false;
612 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFontDialog.html
    
Offset 420, 15 lines modifiedOffset 420, 15 lines modified
420 ······<p·class="built-using">420 ······<p·class="built-using">
421 ········Built·using421 ········Built·using
422 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the422 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
423 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>423 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
424 ······</p>424 ······</p>
425 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>425 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
426 ····</footer>426 ····</footer>
427 ··</div>427 ··</div>
428 </main>428 </main>
429 </div>429 </div>
430 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>430 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
431 ··<script>431 ··<script>
432 ··let·initialized·=·false;432 ··let·initialized·=·false;
656 B
html2text {}
Max HTML report size reached
1.6 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFontPickerCtrl.html
    
Offset 637, 15 lines modifiedOffset 637, 15 lines modified
637 ······<p·class="built-using">637 ······<p·class="built-using">
638 ········Built·using638 ········Built·using
639 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the639 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
640 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>640 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
641 ······</p>641 ······</p>
642 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>642 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
643 ····</footer>643 ····</footer>
644 ··</div>644 ··</div>
645 </main>645 </main>
646 </div>646 </div>
647 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>647 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
648 ··<script>648 ··<script>
649 ··let·initialized·=·false;649 ··let·initialized·=·false;
789 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFontPickerEvent.html
    
Offset 343, 15 lines modifiedOffset 343, 15 lines modified
343 ······<p·class="built-using">343 ······<p·class="built-using">
344 ········Built·using344 ········Built·using
345 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the345 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
346 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>346 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
347 ······</p>347 ······</p>
348 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>348 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
349 ····</footer>349 ····</footer>
350 ··</div>350 ··</div>
351 </main>351 </main>
352 </div>352 </div>
353 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>353 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
354 ··<script>354 ··<script>
355 ··let·initialized·=·false;355 ··let·initialized·=·false;
716 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxFrame.html
    
Offset 1234, 15 lines modifiedOffset 1234, 15 lines modified
1234 ······<p·class="built-using">1234 ······<p·class="built-using">
1235 ········Built·using1235 ········Built·using
1236 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1236 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1237 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1237 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1238 ······</p>1238 ······</p>
1239 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1239 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1240 ····</footer>1240 ····</footer>
1241 ··</div>1241 ··</div>
1242 </main>1242 </main>
1243 </div>1243 </div>
1244 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1244 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1245 ··<script>1245 ··<script>
1246 ··let·initialized·=·false;1246 ··let·initialized·=·false;
700 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGBSizerItem.html
    
Offset 218, 15 lines modifiedOffset 218, 15 lines modified
218 ······<p·class="built-using">218 ······<p·class="built-using">
219 ········Built·using219 ········Built·using
220 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the220 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
221 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>221 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
222 ······</p>222 ······</p>
223 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>223 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
224 ····</footer>224 ····</footer>
225 ··</div>225 ··</div>
226 </main>226 </main>
227 </div>227 </div>
228 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>228 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
229 ··<script>229 ··<script>
230 ··let·initialized·=·false;230 ··let·initialized·=·false;
639 B
html2text {}
Max HTML report size reached
1.6 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGCDC.html
    
Offset 428, 15 lines modifiedOffset 428, 15 lines modified
428 ······<p·class="built-using">428 ······<p·class="built-using">
429 ········Built·using429 ········Built·using
430 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the430 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
431 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>431 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
432 ······</p>432 ······</p>
433 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>433 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
434 ····</footer>434 ····</footer>
435 ··</div>435 ··</div>
436 </main>436 </main>
437 </div>437 </div>
438 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>438 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
439 ··<script>439 ··<script>
440 ··let·initialized·=·false;440 ··let·initialized·=·false;
818 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGLCanvas.html
    
Offset 524, 15 lines modifiedOffset 524, 15 lines modified
524 ······<p·class="built-using">524 ······<p·class="built-using">
525 ········Built·using525 ········Built·using
526 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the526 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
527 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>527 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
528 ······</p>528 ······</p>
529 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>529 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
530 ····</footer>530 ····</footer>
531 ··</div>531 ··</div>
532 </main>532 </main>
533 </div>533 </div>
534 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>534 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
535 ··<script>535 ··<script>
536 ··let·initialized·=·false;536 ··let·initialized·=·false;
681 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGLContext.html
    
Offset 441, 15 lines modifiedOffset 441, 15 lines modified
441 ······<p·class="built-using">441 ······<p·class="built-using">
442 ········Built·using442 ········Built·using
443 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the443 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
444 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>444 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
445 ······</p>445 ······</p>
446 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>446 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
447 ····</footer>447 ····</footer>
448 ··</div>448 ··</div>
449 </main>449 </main>
450 </div>450 </div>
451 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>451 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
452 ··<script>452 ··<script>
453 ··let·initialized·=·false;453 ··let·initialized·=·false;
773 B
html2text {}
Max HTML report size reached
1.4 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGauge.html
    
Offset 708, 15 lines modifiedOffset 708, 15 lines modified
708 ······<p·class="built-using">708 ······<p·class="built-using">
709 ········Built·using709 ········Built·using
710 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the710 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
711 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>711 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
712 ······</p>712 ······</p>
713 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>713 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
714 ····</footer>714 ····</footer>
715 ··</div>715 ··</div>
716 </main>716 </main>
717 </div>717 </div>
718 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>718 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
719 ··<script>719 ··<script>
720 ··let·initialized·=·false;720 ··let·initialized·=·false;
610 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGenericDirCtrl.html
    
Offset 1062, 15 lines modifiedOffset 1062, 15 lines modified
1062 ······<p·class="built-using">1062 ······<p·class="built-using">
1063 ········Built·using1063 ········Built·using
1064 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1064 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1065 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1065 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1066 ······</p>1066 ······</p>
1067 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1067 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1068 ····</footer>1068 ····</footer>
1069 ··</div>1069 ··</div>
1070 </main>1070 </main>
1071 </div>1071 </div>
1072 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1072 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1073 ··<script>1073 ··<script>
1074 ··let·initialized·=·false;1074 ··let·initialized·=·false;
690 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGraphicsBrush.html
    
Offset 216, 15 lines modifiedOffset 216, 15 lines modified
216 ······<p·class="built-using">216 ······<p·class="built-using">
217 ········Built·using217 ········Built·using
218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
220 ······</p>220 ······</p>
221 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>221 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
222 ····</footer>222 ····</footer>
223 ··</div>223 ··</div>
224 </main>224 </main>
225 </div>225 </div>
226 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>226 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
227 ··<script>227 ··<script>
228 ··let·initialized·=·false;228 ··let·initialized·=·false;
653 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGraphicsContext.html
    
Offset 2119, 15 lines modifiedOffset 2119, 15 lines modified
2119 ······<p·class="built-using">2119 ······<p·class="built-using">
2120 ········Built·using2120 ········Built·using
2121 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2121 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2122 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2122 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2123 ······</p>2123 ······</p>
2124 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2124 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2125 ····</footer>2125 ····</footer>
2126 ··</div>2126 ··</div>
2127 </main>2127 </main>
2128 </div>2128 </div>
2129 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2129 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2130 ··<script>2130 ··<script>
2131 ··let·initialized·=·false;2131 ··let·initialized·=·false;
725 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGraphicsFont.html
    
Offset 216, 15 lines modifiedOffset 216, 15 lines modified
216 ······<p·class="built-using">216 ······<p·class="built-using">
217 ········Built·using217 ········Built·using
218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
220 ······</p>220 ······</p>
221 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>221 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
222 ····</footer>222 ····</footer>
223 ··</div>223 ··</div>
224 </main>224 </main>
225 </div>225 </div>
226 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>226 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
227 ··<script>227 ··<script>
228 ··let·initialized·=·false;228 ··let·initialized·=·false;
646 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGraphicsGradientStops.html
    
Offset 598, 15 lines modifiedOffset 598, 15 lines modified
598 ······<p·class="built-using">598 ······<p·class="built-using">
599 ········Built·using599 ········Built·using
600 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the600 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
601 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>601 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
602 ······</p>602 ······</p>
603 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>603 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
604 ····</footer>604 ····</footer>
605 ··</div>605 ··</div>
606 </main>606 </main>
607 </div>607 </div>
608 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>608 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
609 ··<script>609 ··<script>
610 ··let·initialized·=·false;610 ··let·initialized·=·false;
709 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGraphicsMatrix.html
    
Offset 686, 15 lines modifiedOffset 686, 15 lines modified
686 ······<p·class="built-using">686 ······<p·class="built-using">
687 ········Built·using687 ········Built·using
688 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the688 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
689 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>689 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
690 ······</p>690 ······</p>
691 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>691 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
692 ····</footer>692 ····</footer>
693 ··</div>693 ··</div>
694 </main>694 </main>
695 </div>695 </div>
696 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>696 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
697 ··<script>697 ··<script>
698 ··let·initialized·=·false;698 ··let·initialized·=·false;
689 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGraphicsObject.html
    
Offset 342, 15 lines modifiedOffset 342, 15 lines modified
342 ······<p·class="built-using">342 ······<p·class="built-using">
343 ········Built·using343 ········Built·using
344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
346 ······</p>346 ······</p>
347 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>347 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
348 ····</footer>348 ····</footer>
349 ··</div>349 ··</div>
350 </main>350 </main>
351 </div>351 </div>
352 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>352 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
353 ··<script>353 ··<script>
354 ··let·initialized·=·false;354 ··let·initialized·=·false;
723 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGraphicsPath.html
    
Offset 1124, 15 lines modifiedOffset 1124, 15 lines modified
1124 ······<p·class="built-using">1124 ······<p·class="built-using">
1125 ········Built·using1125 ········Built·using
1126 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1126 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1127 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1127 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1128 ······</p>1128 ······</p>
1129 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1129 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1130 ····</footer>1130 ····</footer>
1131 ··</div>1131 ··</div>
1132 </main>1132 </main>
1133 </div>1133 </div>
1134 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1134 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1135 ··<script>1135 ··<script>
1136 ··let·initialized·=·false;1136 ··let·initialized·=·false;
720 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGraphicsPen.html
    
Offset 216, 15 lines modifiedOffset 216, 15 lines modified
216 ······<p·class="built-using">216 ······<p·class="built-using">
217 ········Built·using217 ········Built·using
218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the218 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>219 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
220 ······</p>220 ······</p>
221 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>221 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
222 ····</footer>222 ····</footer>
223 ··</div>223 ··</div>
224 </main>224 </main>
225 </div>225 </div>
226 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>226 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
227 ··<script>227 ··<script>
228 ··let·initialized·=·false;228 ··let·initialized·=·false;
639 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGraphicsRenderer.html
    
Offset 681, 15 lines modifiedOffset 681, 15 lines modified
681 ······<p·class="built-using">681 ······<p·class="built-using">
682 ········Built·using682 ········Built·using
683 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the683 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
684 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>684 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
685 ······</p>685 ······</p>
686 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>686 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
687 ····</footer>687 ····</footer>
688 ··</div>688 ··</div>
689 </main>689 </main>
690 </div>690 </div>
691 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>691 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
692 ··<script>692 ··<script>
693 ··let·initialized·=·false;693 ··let·initialized·=·false;
754 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGrid.html
    
Offset 8031, 15 lines modifiedOffset 8031, 15 lines modified
8031 ······<p·class="built-using">8031 ······<p·class="built-using">
8032 ········Built·using8032 ········Built·using
8033 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the8033 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
8034 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>8034 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
8035 ······</p>8035 ······</p>
8036 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>8036 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
8037 ····</footer>8037 ····</footer>
8038 ··</div>8038 ··</div>
8039 </main>8039 </main>
8040 </div>8040 </div>
8041 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>8041 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
8042 ··<script>8042 ··<script>
8043 ··let·initialized·=·false;8043 ··let·initialized·=·false;
677 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridBagSizer.html
    
Offset 1114, 15 lines modifiedOffset 1114, 15 lines modified
1114 ······<p·class="built-using">1114 ······<p·class="built-using">
1115 ········Built·using1115 ········Built·using
1116 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1116 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1117 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1117 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1118 ······</p>1118 ······</p>
1119 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1119 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1120 ····</footer>1120 ····</footer>
1121 ··</div>1121 ··</div>
1122 </main>1122 </main>
1123 </div>1123 </div>
1124 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1124 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1125 ··<script>1125 ··<script>
1126 ··let·initialized·=·false;1126 ··let·initialized·=·false;
697 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellAttr.html
    
Offset 1045, 15 lines modifiedOffset 1045, 15 lines modified
1045 ······<p·class="built-using">1045 ······<p·class="built-using">
1046 ········Built·using1046 ········Built·using
1047 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1047 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1048 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1048 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1049 ······</p>1049 ······</p>
1050 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1050 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1051 ····</footer>1051 ····</footer>
1052 ··</div>1052 ··</div>
1053 </main>1053 </main>
1054 </div>1054 </div>
1055 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1055 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1056 ··<script>1056 ··<script>
1057 ··let·initialized·=·false;1057 ··let·initialized·=·false;
698 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellBoolEditor.html
    
Offset 420, 15 lines modifiedOffset 420, 15 lines modified
420 ······<p·class="built-using">420 ······<p·class="built-using">
421 ········Built·using421 ········Built·using
422 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the422 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
423 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>423 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
424 ······</p>424 ······</p>
425 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>425 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
426 ····</footer>426 ····</footer>
427 ··</div>427 ··</div>
428 </main>428 </main>
429 </div>429 </div>
430 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>430 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
431 ··<script>431 ··<script>
432 ··let·initialized·=·false;432 ··let·initialized·=·false;
747 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellBoolRenderer.html
    
Offset 304, 15 lines modifiedOffset 304, 15 lines modified
304 ······<p·class="built-using">304 ······<p·class="built-using">
305 ········Built·using305 ········Built·using
306 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the306 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
307 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>307 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
308 ······</p>308 ······</p>
309 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>309 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
310 ····</footer>310 ····</footer>
311 ··</div>311 ··</div>
312 </main>312 </main>
313 </div>313 </div>
314 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>314 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
315 ··<script>315 ··<script>
316 ··let·initialized·=·false;316 ··let·initialized·=·false;
706 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellChoiceEditor.html
    
Offset 379, 15 lines modifiedOffset 379, 15 lines modified
379 ······<p·class="built-using">379 ······<p·class="built-using">
380 ········Built·using380 ········Built·using
381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the381 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>382 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
383 ······</p>383 ······</p>
384 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>384 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
385 ····</footer>385 ····</footer>
386 ··</div>386 ··</div>
387 </main>387 </main>
388 </div>388 </div>
389 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>389 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
390 ··<script>390 ··<script>
391 ··let·initialized·=·false;391 ··let·initialized·=·false;
638 B
html2text {}
Max HTML report size reached
1.6 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellEditor.html
    
Offset 579, 15 lines modifiedOffset 579, 15 lines modified
579 ······<p·class="built-using">579 ······<p·class="built-using">
580 ········Built·using580 ········Built·using
581 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the581 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
582 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>582 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
583 ······</p>583 ······</p>
584 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>584 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
585 ····</footer>585 ····</footer>
586 ··</div>586 ··</div>
587 </main>587 </main>
588 </div>588 </div>
589 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>589 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
590 ··<script>590 ··<script>
591 ··let·initialized·=·false;591 ··let·initialized·=·false;
798 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellFloatEditor.html
    
Offset 380, 15 lines modifiedOffset 380, 15 lines modified
380 ······<p·class="built-using">380 ······<p·class="built-using">
381 ········Built·using381 ········Built·using
382 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the382 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
383 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>383 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
384 ······</p>384 ······</p>
385 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>385 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
386 ····</footer>386 ····</footer>
387 ··</div>387 ··</div>
388 </main>388 </main>
389 </div>389 </div>
390 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>390 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
391 ··<script>391 ··<script>
392 ··let·initialized·=·false;392 ··let·initialized·=·false;
708 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellFloatRenderer.html
    
Offset 524, 15 lines modifiedOffset 524, 15 lines modified
524 ······<p·class="built-using">524 ······<p·class="built-using">
525 ········Built·using525 ········Built·using
526 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the526 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
527 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>527 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
528 ······</p>528 ······</p>
529 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>529 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
530 ····</footer>530 ····</footer>
531 ··</div>531 ··</div>
532 </main>532 </main>
533 </div>533 </div>
534 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>534 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
535 ··<script>535 ··<script>
536 ··let·initialized·=·false;536 ··let·initialized·=·false;
660 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellNumberEditor.html
    
Offset 414, 15 lines modifiedOffset 414, 15 lines modified
414 ······<p·class="built-using">414 ······<p·class="built-using">
415 ········Built·using415 ········Built·using
416 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the416 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
417 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>417 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
418 ······</p>418 ······</p>
419 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>419 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
420 ····</footer>420 ····</footer>
421 ··</div>421 ··</div>
422 </main>422 </main>
423 </div>423 </div>
424 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>424 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
425 ··<script>425 ··<script>
426 ··let·initialized·=·false;426 ··let·initialized·=·false;
735 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellNumberRenderer.html
    
Offset 304, 15 lines modifiedOffset 304, 15 lines modified
304 ······<p·class="built-using">304 ······<p·class="built-using">
305 ········Built·using305 ········Built·using
306 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the306 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
307 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>307 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
308 ······</p>308 ······</p>
309 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>309 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
310 ····</footer>310 ····</footer>
311 ··</div>311 ··</div>
312 </main>312 </main>
313 </div>313 </div>
314 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>314 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
315 ··<script>315 ··<script>
316 ··let·initialized·=·false;316 ··let·initialized·=·false;
661 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellRenderer.html
    
Offset 329, 15 lines modifiedOffset 329, 15 lines modified
329 ······<p·class="built-using">329 ······<p·class="built-using">
330 ········Built·using330 ········Built·using
331 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the331 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
332 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>332 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
333 ······</p>333 ······</p>
334 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>334 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
335 ····</footer>335 ····</footer>
336 ··</div>336 ··</div>
337 </main>337 </main>
338 </div>338 </div>
339 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>339 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
340 ··<script>340 ··<script>
341 ··let·initialized·=·false;341 ··let·initialized·=·false;
677 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellStringRenderer.html
    
Offset 305, 15 lines modifiedOffset 305, 15 lines modified
305 ······<p·class="built-using">305 ······<p·class="built-using">
306 ········Built·using306 ········Built·using
307 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the307 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
308 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>308 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
309 ······</p>309 ······</p>
310 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>310 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
311 ····</footer>311 ····</footer>
312 ··</div>312 ··</div>
313 </main>313 </main>
314 </div>314 </div>
315 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>315 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
316 ··<script>316 ··<script>
317 ··let·initialized·=·false;317 ··let·initialized·=·false;
718 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridCellTextEditor.html
    
Offset 377, 15 lines modifiedOffset 377, 15 lines modified
377 ······<p·class="built-using">377 ······<p·class="built-using">
378 ········Built·using378 ········Built·using
379 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the379 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
380 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>380 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
381 ······</p>381 ······</p>
382 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>382 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
383 ····</footer>383 ····</footer>
384 ··</div>384 ··</div>
385 </main>385 </main>
386 </div>386 </div>
387 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>387 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
388 ··<script>388 ··<script>
389 ··let·initialized·=·false;389 ··let·initialized·=·false;
661 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridEvent.html
    
Offset 617, 15 lines modifiedOffset 617, 15 lines modified
617 ······<p·class="built-using">617 ······<p·class="built-using">
618 ········Built·using618 ········Built·using
619 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the619 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
620 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>620 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
621 ······</p>621 ······</p>
622 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>622 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
623 ····</footer>623 ····</footer>
624 ··</div>624 ··</div>
625 </main>625 </main>
626 </div>626 </div>
627 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>627 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
628 ··<script>628 ··<script>
629 ··let·initialized·=·false;629 ··let·initialized·=·false;
794 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxGridSizer.html
    
Offset 711, 15 lines modifiedOffset 711, 15 lines modified
711 ······<p·class="built-using">711 ······<p·class="built-using">
712 ········Built·using712 ········Built·using
713 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the713 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
714 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>714 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
715 ······</p>715 ······</p>
716 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>716 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
717 ····</footer>717 ····</footer>
718 ··</div>718 ··</div>
719 </main>719 </main>
720 </div>720 </div>
721 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>721 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
722 ··<script>722 ··<script>
723 ··let·initialized·=·false;723 ··let·initialized·=·false;
793 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxHelpEvent.html
    
Offset 459, 15 lines modifiedOffset 459, 15 lines modified
459 ······<p·class="built-using">459 ······<p·class="built-using">
460 ········Built·using460 ········Built·using
461 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the461 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
462 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>462 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
463 ······</p>463 ······</p>
464 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>464 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
465 ····</footer>465 ····</footer>
466 ··</div>466 ··</div>
467 </main>467 </main>
468 </div>468 </div>
469 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>469 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
470 ··<script>470 ··<script>
471 ··let·initialized·=·false;471 ··let·initialized·=·false;
727 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxHtmlEasyPrinting.html
    
Offset 918, 15 lines modifiedOffset 918, 15 lines modified
918 ······<p·class="built-using">918 ······<p·class="built-using">
919 ········Built·using919 ········Built·using
920 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the920 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
921 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>921 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
922 ······</p>922 ······</p>
923 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>923 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
924 ····</footer>924 ····</footer>
925 ··</div>925 ··</div>
926 </main>926 </main>
927 </div>927 </div>
928 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>928 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
929 ··<script>929 ··<script>
930 ··let·initialized·=·false;930 ··let·initialized·=·false;
652 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxHtmlLinkEvent.html
    
Offset 345, 15 lines modifiedOffset 345, 15 lines modified
345 ······<p·class="built-using">345 ······<p·class="built-using">
346 ········Built·using346 ········Built·using
347 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the347 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
348 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>348 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
349 ······</p>349 ······</p>
350 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>350 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
351 ····</footer>351 ····</footer>
352 ··</div>352 ··</div>
353 </main>353 </main>
354 </div>354 </div>
355 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>355 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
356 ··<script>356 ··<script>
357 ··let·initialized·=·false;357 ··let·initialized·=·false;
719 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxHtmlWindow.html
    
Offset 1299, 15 lines modifiedOffset 1299, 15 lines modified
1299 ······<p·class="built-using">1299 ······<p·class="built-using">
1300 ········Built·using1300 ········Built·using
1301 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1301 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1302 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1302 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1303 ······</p>1303 ······</p>
1304 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1304 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1305 ····</footer>1305 ····</footer>
1306 ··</div>1306 ··</div>
1307 </main>1307 </main>
1308 </div>1308 </div>
1309 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1309 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1310 ··<script>1310 ··<script>
1311 ··let·initialized·=·false;1311 ··let·initialized·=·false;
674 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxIcon.html
    
Offset 430, 15 lines modifiedOffset 430, 15 lines modified
430 ······<p·class="built-using">430 ······<p·class="built-using">
431 ········Built·using431 ········Built·using
432 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the432 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
433 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>433 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
434 ······</p>434 ······</p>
435 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>435 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
436 ····</footer>436 ····</footer>
437 ··</div>437 ··</div>
438 </main>438 </main>
439 </div>439 </div>
440 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>440 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
441 ··<script>441 ··<script>
442 ··let·initialized·=·false;442 ··let·initialized·=·false;
703 B
html2text {}
Max HTML report size reached
1.6 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxIconBundle.html
    
Offset 576, 15 lines modifiedOffset 576, 15 lines modified
576 ······<p·class="built-using">576 ······<p·class="built-using">
577 ········Built·using577 ········Built·using
578 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the578 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
579 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>579 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
580 ······</p>580 ······</p>
581 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>581 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
582 ····</footer>582 ····</footer>
583 ··</div>583 ··</div>
584 </main>584 </main>
585 </div>585 </div>
586 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>586 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
587 ··<script>587 ··<script>
588 ··let·initialized·=·false;588 ··let·initialized·=·false;
805 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxIconizeEvent.html
    
Offset 342, 15 lines modifiedOffset 342, 15 lines modified
342 ······<p·class="built-using">342 ······<p·class="built-using">
343 ········Built·using343 ········Built·using
344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
346 ······</p>346 ······</p>
347 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>347 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
348 ····</footer>348 ····</footer>
349 ··</div>349 ··</div>
350 </main>350 </main>
351 </div>351 </div>
352 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>352 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
353 ··<script>353 ··<script>
354 ··let·initialized·=·false;354 ··let·initialized·=·false;
709 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxIdleEvent.html
    
Offset 521, 15 lines modifiedOffset 521, 15 lines modified
521 ······<p·class="built-using">521 ······<p·class="built-using">
522 ········Built·using522 ········Built·using
523 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the523 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
524 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>524 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
525 ······</p>525 ······</p>
526 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>526 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
527 ····</footer>527 ····</footer>
528 ··</div>528 ··</div>
529 </main>529 </main>
530 </div>530 </div>
531 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>531 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
532 ··<script>532 ··<script>
533 ··let·initialized·=·false;533 ··let·initialized·=·false;
724 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxImage.html
    
Offset 3681, 15 lines modifiedOffset 3681, 15 lines modified
3681 ······<p·class="built-using">3681 ······<p·class="built-using">
3682 ········Built·using3682 ········Built·using
3683 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3683 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3684 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3684 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3685 ······</p>3685 ······</p>
3686 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3686 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3687 ····</footer>3687 ····</footer>
3688 ··</div>3688 ··</div>
3689 </main>3689 </main>
3690 </div>3690 </div>
3691 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3691 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3692 ··<script>3692 ··<script>
3693 ··let·initialized·=·false;3693 ··let·initialized·=·false;
633 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxImageList.html
    
Offset 931, 15 lines modifiedOffset 931, 15 lines modified
931 ······<p·class="built-using">931 ······<p·class="built-using">
932 ········Built·using932 ········Built·using
933 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the933 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
934 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>934 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
935 ······</p>935 ······</p>
936 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>936 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
937 ····</footer>937 ····</footer>
938 ··</div>938 ··</div>
939 </main>939 </main>
940 </div>940 </div>
941 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>941 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
942 ··<script>942 ··<script>
943 ··let·initialized·=·false;943 ··let·initialized·=·false;
628 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxInitDialogEvent.html
    
Offset 288, 15 lines modifiedOffset 288, 15 lines modified
288 ······<p·class="built-using">288 ······<p·class="built-using">
289 ········Built·using289 ········Built·using
290 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the290 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
291 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>291 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
292 ······</p>292 ······</p>
293 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>293 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
294 ····</footer>294 ····</footer>
295 ··</div>295 ··</div>
296 </main>296 </main>
297 </div>297 </div>
298 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>298 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
299 ··<script>299 ··<script>
300 ··let·initialized·=·false;300 ··let·initialized·=·false;
757 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxJoystickEvent.html
    
Offset 823, 15 lines modifiedOffset 823, 15 lines modified
823 ······<p·class="built-using">823 ······<p·class="built-using">
824 ········Built·using824 ········Built·using
825 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the825 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
826 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>826 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
827 ······</p>827 ······</p>
828 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>828 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
829 ····</footer>829 ····</footer>
830 ··</div>830 ··</div>
831 </main>831 </main>
832 </div>832 </div>
833 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>833 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
834 ··<script>834 ··<script>
835 ··let·initialized·=·false;835 ··let·initialized·=·false;
753 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxKeyEvent.html
    
Offset 905, 15 lines modifiedOffset 905, 15 lines modified
905 ······<p·class="built-using">905 ······<p·class="built-using">
906 ········Built·using906 ········Built·using
907 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the907 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
908 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>908 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
909 ······</p>909 ······</p>
910 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>910 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
911 ····</footer>911 ····</footer>
912 ··</div>912 ··</div>
913 </main>913 </main>
914 </div>914 </div>
915 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>915 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
916 ··<script>916 ··<script>
917 ··let·initialized·=·false;917 ··let·initialized·=·false;
762 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxLayoutAlgorithm.html
    
Offset 577, 15 lines modifiedOffset 577, 15 lines modified
577 ······<p·class="built-using">577 ······<p·class="built-using">
578 ········Built·using578 ········Built·using
579 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the579 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
580 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>580 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
581 ······</p>581 ······</p>
582 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>582 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
583 ····</footer>583 ····</footer>
584 ··</div>584 ··</div>
585 </main>585 </main>
586 </div>586 </div>
587 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>587 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
588 ··<script>588 ··<script>
589 ··let·initialized·=·false;589 ··let·initialized·=·false;
670 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxListBox.html
    
Offset 793, 15 lines modifiedOffset 793, 15 lines modified
793 ······<p·class="built-using">793 ······<p·class="built-using">
794 ········Built·using794 ········Built·using
795 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the795 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
796 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>796 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
797 ······</p>797 ······</p>
798 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>798 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
799 ····</footer>799 ····</footer>
800 ··</div>800 ··</div>
801 </main>801 </main>
802 </div>802 </div>
803 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>803 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
804 ··<script>804 ··<script>
805 ··let·initialized·=·false;805 ··let·initialized·=·false;
759 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxListCtrl.html
    
Offset 3108, 15 lines modifiedOffset 3108, 15 lines modified
3108 ······<p·class="built-using">3108 ······<p·class="built-using">
3109 ········Built·using3109 ········Built·using
3110 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3110 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3111 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3111 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3112 ······</p>3112 ······</p>
3113 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3113 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3114 ····</footer>3114 ····</footer>
3115 ··</div>3115 ··</div>
3116 </main>3116 </main>
3117 </div>3117 </div>
3118 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3118 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3119 ··<script>3119 ··<script>
3120 ··let·initialized·=·false;3120 ··let·initialized·=·false;
769 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxListEvent.html
    
Offset 801, 15 lines modifiedOffset 801, 15 lines modified
801 ······<p·class="built-using">801 ······<p·class="built-using">
802 ········Built·using802 ········Built·using
803 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the803 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
804 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>804 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
805 ······</p>805 ······</p>
806 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>806 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
807 ····</footer>807 ····</footer>
808 ··</div>808 ··</div>
809 </main>809 </main>
810 </div>810 </div>
811 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>811 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
812 ··<script>812 ··<script>
813 ··let·initialized·=·false;813 ··let·initialized·=·false;
753 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxListItem.html
    
Offset 1212, 15 lines modifiedOffset 1212, 15 lines modified
1212 ······<p·class="built-using">1212 ······<p·class="built-using">
1213 ········Built·using1213 ········Built·using
1214 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1214 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1215 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1215 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1216 ······</p>1216 ······</p>
1217 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1217 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1218 ····</footer>1218 ····</footer>
1219 ··</div>1219 ··</div>
1220 </main>1220 </main>
1221 </div>1221 </div>
1222 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1222 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1223 ··<script>1223 ··<script>
1224 ··let·initialized·=·false;1224 ··let·initialized·=·false;
662 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxListItemAttr.html
    
Offset 665, 15 lines modifiedOffset 665, 15 lines modified
665 ······<p·class="built-using">665 ······<p·class="built-using">
666 ········Built·using666 ········Built·using
667 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the667 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
668 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>668 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
669 ······</p>669 ······</p>
670 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>670 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
671 ····</footer>671 ····</footer>
672 ··</div>672 ··</div>
673 </main>673 </main>
674 </div>674 </div>
675 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>675 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
676 ··<script>676 ··<script>
677 ··let·initialized·=·false;677 ··let·initialized·=·false;
785 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxListView.html
    
Offset 565, 15 lines modifiedOffset 565, 15 lines modified
565 ······<p·class="built-using">565 ······<p·class="built-using">
566 ········Built·using566 ········Built·using
567 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the567 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
568 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>568 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
569 ······</p>569 ······</p>
570 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>570 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
571 ····</footer>571 ····</footer>
572 ··</div>572 ··</div>
573 </main>573 </main>
574 </div>574 </div>
575 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>575 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
576 ··<script>576 ··<script>
577 ··let·initialized·=·false;577 ··let·initialized·=·false;
647 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxListbook.html
    
Offset 1307, 15 lines modifiedOffset 1307, 15 lines modified
1307 ······<p·class="built-using">1307 ······<p·class="built-using">
1308 ········Built·using1308 ········Built·using
1309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1311 ······</p>1311 ······</p>
1312 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1312 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1313 ····</footer>1313 ····</footer>
1314 ··</div>1314 ··</div>
1315 </main>1315 </main>
1316 </div>1316 </div>
1317 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1317 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1318 ··<script>1318 ··<script>
1319 ··let·initialized·=·false;1319 ··let·initialized·=·false;
708 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxLocale.html
    
Offset 1309, 15 lines modifiedOffset 1309, 15 lines modified
1309 ······<p·class="built-using">1309 ······<p·class="built-using">
1310 ········Built·using1310 ········Built·using
1311 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1311 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1312 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1312 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1313 ······</p>1313 ······</p>
1314 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1314 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1315 ····</footer>1315 ····</footer>
1316 ··</div>1316 ··</div>
1317 </main>1317 </main>
1318 </div>1318 </div>
1319 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1319 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1320 ··<script>1320 ··<script>
1321 ··let·initialized·=·false;1321 ··let·initialized·=·false;
764 B
html2text {}
Max HTML report size reached
1.37 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxLogNull.html
    
Offset 307, 15 lines modifiedOffset 307, 15 lines modified
307 ······<p·class="built-using">307 ······<p·class="built-using">
308 ········Built·using308 ········Built·using
309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
311 ······</p>311 ······</p>
312 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>312 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
313 ····</footer>313 ····</footer>
314 ··</div>314 ··</div>
315 </main>315 </main>
316 </div>316 </div>
317 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>317 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
318 ··<script>318 ··<script>
319 ··let·initialized·=·false;319 ··let·initialized·=·false;
568 B
html2text {}
Max HTML report size reached
1.36 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMDIChildFrame.html
    
Offset 634, 15 lines modifiedOffset 634, 15 lines modified
634 ······<p·class="built-using">634 ······<p·class="built-using">
635 ········Built·using635 ········Built·using
636 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the636 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
637 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>637 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
638 ······</p>638 ······</p>
639 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>639 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
640 ····</footer>640 ····</footer>
641 ··</div>641 ··</div>
642 </main>642 </main>
643 </div>643 </div>
644 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>644 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
645 ··<script>645 ··<script>
646 ··let·initialized·=·false;646 ··let·initialized·=·false;
546 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMDIClientWindow.html
    
Offset 391, 15 lines modifiedOffset 391, 15 lines modified
391 ······<p·class="built-using">391 ······<p·class="built-using">
392 ········Built·using392 ········Built·using
393 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the393 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
394 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>394 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
395 ······</p>395 ······</p>
396 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>396 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
397 ····</footer>397 ····</footer>
398 ··</div>398 ··</div>
399 </main>399 </main>
400 </div>400 </div>
401 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>401 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
402 ··<script>402 ··<script>
403 ··let·initialized·=·false;403 ··let·initialized·=·false;
718 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMDIParentFrame.html
    
Offset 794, 15 lines modifiedOffset 794, 15 lines modified
794 ······<p·class="built-using">794 ······<p·class="built-using">
795 ········Built·using795 ········Built·using
796 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the796 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
797 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>797 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
798 ······</p>798 ······</p>
799 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>799 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
800 ····</footer>800 ····</footer>
801 ··</div>801 ··</div>
802 </main>802 </main>
803 </div>803 </div>
804 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>804 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
805 ··<script>805 ··<script>
806 ··let·initialized·=·false;806 ··let·initialized·=·false;
639 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMask.html
    
Offset 456, 15 lines modifiedOffset 456, 15 lines modified
456 ······<p·class="built-using">456 ······<p·class="built-using">
457 ········Built·using457 ········Built·using
458 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the458 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
459 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>459 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
460 ······</p>460 ······</p>
461 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>461 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
462 ····</footer>462 ····</footer>
463 ··</div>463 ··</div>
464 </main>464 </main>
465 </div>465 </div>
466 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>466 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
467 ··<script>467 ··<script>
468 ··let·initialized·=·false;468 ··let·initialized·=·false;
769 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMaximizeEvent.html
    
Offset 291, 15 lines modifiedOffset 291, 15 lines modified
291 ······<p·class="built-using">291 ······<p·class="built-using">
292 ········Built·using292 ········Built·using
293 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the293 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
294 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>294 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
295 ······</p>295 ······</p>
296 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>296 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
297 ····</footer>297 ····</footer>
298 ··</div>298 ··</div>
299 </main>299 </main>
300 </div>300 </div>
301 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>301 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
302 ··<script>302 ··<script>
303 ··let·initialized·=·false;303 ··let·initialized·=·false;
675 B
html2text {}
Max HTML report size reached
1.6 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMemoryDC.html
    
Offset 431, 15 lines modifiedOffset 431, 15 lines modified
431 ······<p·class="built-using">431 ······<p·class="built-using">
432 ········Built·using432 ········Built·using
433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
435 ······</p>435 ······</p>
436 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>436 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
437 ····</footer>437 ····</footer>
438 ··</div>438 ··</div>
439 </main>439 </main>
440 </div>440 </div>
441 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>441 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
442 ··<script>442 ··<script>
443 ··let·initialized·=·false;443 ··let·initialized·=·false;
806 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMenu.html
    
Offset 2140, 15 lines modifiedOffset 2140, 15 lines modified
2140 ······<p·class="built-using">2140 ······<p·class="built-using">
2141 ········Built·using2141 ········Built·using
2142 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2142 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2143 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2143 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2144 ······</p>2144 ······</p>
2145 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2145 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2146 ····</footer>2146 ····</footer>
2147 ··</div>2147 ··</div>
2148 </main>2148 </main>
2149 </div>2149 </div>
2150 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2150 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2151 ··<script>2151 ··<script>
2152 ··let·initialized·=·false;2152 ··let·initialized·=·false;
660 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMenuBar.html
    
Offset 1390, 15 lines modifiedOffset 1390, 15 lines modified
1390 ······<p·class="built-using">1390 ······<p·class="built-using">
1391 ········Built·using1391 ········Built·using
1392 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1392 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1393 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1393 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1394 ······</p>1394 ······</p>
1395 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1395 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1396 ····</footer>1396 ····</footer>
1397 ··</div>1397 ··</div>
1398 </main>1398 </main>
1399 </div>1399 </div>
1400 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1400 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1401 ··<script>1401 ··<script>
1402 ··let·initialized·=·false;1402 ··let·initialized·=·false;
679 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMenuEvent.html
    
Offset 428, 15 lines modifiedOffset 428, 15 lines modified
428 ······<p·class="built-using">428 ······<p·class="built-using">
429 ········Built·using429 ········Built·using
430 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the430 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
431 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>431 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
432 ······</p>432 ······</p>
433 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>433 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
434 ····</footer>434 ····</footer>
435 ··</div>435 ··</div>
436 </main>436 </main>
437 </div>437 </div>
438 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>438 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
439 ··<script>439 ··<script>
440 ··let·initialized·=·false;440 ··let·initialized·=·false;
712 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMenuItem.html
    
Offset 1365, 15 lines modifiedOffset 1365, 15 lines modified
1365 ······<p·class="built-using">1365 ······<p·class="built-using">
1366 ········Built·using1366 ········Built·using
1367 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1367 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1368 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1368 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1369 ······</p>1369 ······</p>
1370 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1370 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1371 ····</footer>1371 ····</footer>
1372 ··</div>1372 ··</div>
1373 </main>1373 </main>
1374 </div>1374 </div>
1375 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1375 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1376 ··<script>1376 ··<script>
1377 ··let·initialized·=·false;1377 ··let·initialized·=·false;
705 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMessageDialog.html
    
Offset 385, 15 lines modifiedOffset 385, 15 lines modified
385 ······<p·class="built-using">385 ······<p·class="built-using">
386 ········Built·using386 ········Built·using
387 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the387 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
388 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>388 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
389 ······</p>389 ······</p>
390 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>390 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
391 ····</footer>391 ····</footer>
392 ··</div>392 ··</div>
393 </main>393 </main>
394 </div>394 </div>
395 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>395 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
396 ··<script>396 ··<script>
397 ··let·initialized·=·false;397 ··let·initialized·=·false;
685 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMiniFrame.html
    
Offset 480, 15 lines modifiedOffset 480, 15 lines modified
480 ······<p·class="built-using">480 ······<p·class="built-using">
481 ········Built·using481 ········Built·using
482 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the482 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
483 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>483 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
484 ······</p>484 ······</p>
485 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>485 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
486 ····</footer>486 ····</footer>
487 ··</div>487 ··</div>
488 </main>488 </main>
489 </div>489 </div>
490 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>490 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
491 ··<script>491 ··<script>
492 ··let·initialized·=·false;492 ··let·initialized·=·false;
655 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMirrorDC.html
    
Offset 307, 15 lines modifiedOffset 307, 15 lines modified
307 ······<p·class="built-using">307 ······<p·class="built-using">
308 ········Built·using308 ········Built·using
309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
311 ······</p>311 ······</p>
312 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>312 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
313 ····</footer>313 ····</footer>
314 ··</div>314 ··</div>
315 </main>315 </main>
316 </div>316 </div>
317 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>317 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
318 ··<script>318 ··<script>
319 ··let·initialized·=·false;319 ··let·initialized·=·false;
730 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMouseCaptureChangedEvent.html
    
Offset 345, 15 lines modifiedOffset 345, 15 lines modified
345 ······<p·class="built-using">345 ······<p·class="built-using">
346 ········Built·using346 ········Built·using
347 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the347 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
348 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>348 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
349 ······</p>349 ······</p>
350 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>350 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
351 ····</footer>351 ····</footer>
352 ··</div>352 ··</div>
353 </main>353 </main>
354 </div>354 </div>
355 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>355 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
356 ··<script>356 ··<script>
357 ··let·initialized·=·false;357 ··let·initialized·=·false;
746 B
html2text {}
Max HTML report size reached
1.65 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMouseCaptureLostEvent.html
    
Offset 293, 15 lines modifiedOffset 293, 15 lines modified
293 ······<p·class="built-using">293 ······<p·class="built-using">
294 ········Built·using294 ········Built·using
295 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the295 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
296 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>296 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
297 ······</p>297 ······</p>
298 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>298 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
299 ····</footer>299 ····</footer>
300 ··</div>300 ··</div>
301 </main>301 </main>
302 </div>302 </div>
303 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>303 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
304 ··<script>304 ··<script>
305 ··let·initialized·=·false;305 ··let·initialized·=·false;
830 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMouseEvent.html
    
Offset 1982, 15 lines modifiedOffset 1982, 15 lines modified
1982 ······<p·class="built-using">1982 ······<p·class="built-using">
1983 ········Built·using1983 ········Built·using
1984 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1984 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1985 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1985 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1986 ······</p>1986 ······</p>
1987 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1987 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1988 ····</footer>1988 ····</footer>
1989 ··</div>1989 ··</div>
1990 </main>1990 </main>
1991 </div>1991 </div>
1992 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1992 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1993 ··<script>1993 ··<script>
1994 ··let·initialized·=·false;1994 ··let·initialized·=·false;
717 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMoveEvent.html
    
Offset 383, 15 lines modifiedOffset 383, 15 lines modified
383 ······<p·class="built-using">383 ······<p·class="built-using">
384 ········Built·using384 ········Built·using
385 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the385 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
386 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>386 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
387 ······</p>387 ······</p>
388 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>388 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
389 ····</footer>389 ····</footer>
390 ··</div>390 ··</div>
391 </main>391 </main>
392 </div>392 </div>
393 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>393 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
394 ··<script>394 ··<script>
395 ··let·initialized·=·false;395 ··let·initialized·=·false;
728 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxMultiChoiceDialog.html
    
Offset 431, 15 lines modifiedOffset 431, 15 lines modified
431 ······<p·class="built-using">431 ······<p·class="built-using">
432 ········Built·using432 ········Built·using
433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
435 ······</p>435 ······</p>
436 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>436 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
437 ····</footer>437 ····</footer>
438 ··</div>438 ··</div>
439 </main>439 </main>
440 </div>440 </div>
441 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>441 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
442 ··<script>442 ··<script>
443 ··let·initialized·=·false;443 ··let·initialized·=·false;
745 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxNavigationKeyEvent.html
    
Offset 604, 15 lines modifiedOffset 604, 15 lines modified
604 ······<p·class="built-using">604 ······<p·class="built-using">
605 ········Built·using605 ········Built·using
606 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the606 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
607 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>607 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
608 ······</p>608 ······</p>
609 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>609 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
610 ····</footer>610 ····</footer>
611 ··</div>611 ··</div>
612 </main>612 </main>
613 </div>613 </div>
614 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>614 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
615 ··<script>615 ··<script>
616 ··let·initialized·=·false;616 ··let·initialized·=·false;
745 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxNotebook.html
    
Offset 819, 15 lines modifiedOffset 819, 15 lines modified
819 ······<p·class="built-using">819 ······<p·class="built-using">
820 ········Built·using820 ········Built·using
821 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the821 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
822 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>822 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
823 ······</p>823 ······</p>
824 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>824 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
825 ····</footer>825 ····</footer>
826 ··</div>826 ··</div>
827 </main>827 </main>
828 </div>828 </div>
829 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>829 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
830 ··<script>830 ··<script>
831 ··let·initialized·=·false;831 ··let·initialized·=·false;
729 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxNotificationMessage.html
    
Offset 897, 15 lines modifiedOffset 897, 15 lines modified
897 ······<p·class="built-using">897 ······<p·class="built-using">
898 ········Built·using898 ········Built·using
899 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the899 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
900 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>900 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
901 ······</p>901 ······</p>
902 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>902 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
903 ····</footer>903 ····</footer>
904 ··</div>904 ··</div>
905 </main>905 </main>
906 </div>906 </div>
907 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>907 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
908 ··<script>908 ··<script>
909 ··let·initialized·=·false;909 ··let·initialized·=·false;
642 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxNotifyEvent.html
    
Offset 348, 15 lines modifiedOffset 348, 15 lines modified
348 ······<p·class="built-using">348 ······<p·class="built-using">
349 ········Built·using349 ········Built·using
350 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the350 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
351 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>351 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
352 ······</p>352 ······</p>
353 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>353 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
354 ····</footer>354 ····</footer>
355 ··</div>355 ··</div>
356 </main>356 </main>
357 </div>357 </div>
358 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>358 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
359 ··<script>359 ··<script>
360 ··let·initialized·=·false;360 ··let·initialized·=·false;
717 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxOverlay.html
    
Offset 342, 15 lines modifiedOffset 342, 15 lines modified
342 ······<p·class="built-using">342 ······<p·class="built-using">
343 ········Built·using343 ········Built·using
344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
346 ······</p>346 ······</p>
347 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>347 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
348 ····</footer>348 ····</footer>
349 ··</div>349 ··</div>
350 </main>350 </main>
351 </div>351 </div>
352 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>352 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
353 ··<script>353 ··<script>
354 ··let·initialized·=·false;354 ··let·initialized·=·false;
646 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPageSetupDialog.html
    
Offset 423, 15 lines modifiedOffset 423, 15 lines modified
423 ······<p·class="built-using">423 ······<p·class="built-using">
424 ········Built·using424 ········Built·using
425 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the425 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
426 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>426 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
427 ······</p>427 ······</p>
428 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>428 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
429 ····</footer>429 ····</footer>
430 ··</div>430 ··</div>
431 </main>431 </main>
432 </div>432 </div>
433 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>433 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
434 ··<script>434 ··<script>
435 ··let·initialized·=·false;435 ··let·initialized·=·false;
718 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPageSetupDialogData.html
    
Offset 1409, 15 lines modifiedOffset 1409, 15 lines modified
1409 ······<p·class="built-using">1409 ······<p·class="built-using">
1410 ········Built·using1410 ········Built·using
1411 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1411 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1412 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1412 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1413 ······</p>1413 ······</p>
1414 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1414 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1415 ····</footer>1415 ····</footer>
1416 ··</div>1416 ··</div>
1417 </main>1417 </main>
1418 </div>1418 </div>
1419 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1419 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1420 ··<script>1420 ··<script>
1421 ··let·initialized·=·false;1421 ··let·initialized·=·false;
775 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPaintDC.html
    
Offset 310, 15 lines modifiedOffset 310, 15 lines modified
310 ······<p·class="built-using">310 ······<p·class="built-using">
311 ········Built·using311 ········Built·using
312 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the312 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
313 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>313 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
314 ······</p>314 ······</p>
315 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>315 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
316 ····</footer>316 ····</footer>
317 ··</div>317 ··</div>
318 </main>318 </main>
319 </div>319 </div>
320 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>320 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
321 ··<script>321 ··<script>
322 ··let·initialized·=·false;322 ··let·initialized·=·false;
653 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPaintEvent.html
    
Offset 297, 15 lines modifiedOffset 297, 15 lines modified
297 ······<p·class="built-using">297 ······<p·class="built-using">
298 ········Built·using298 ········Built·using
299 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the299 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
300 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>300 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
301 ······</p>301 ······</p>
302 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>302 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
303 ····</footer>303 ····</footer>
304 ··</div>304 ··</div>
305 </main>305 </main>
306 </div>306 </div>
307 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>307 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
308 ··<script>308 ··<script>
309 ··let·initialized·=·false;309 ··let·initialized·=·false;
771 B
html2text {}
Max HTML report size reached
1.39 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPalette.html
    
Offset 605, 15 lines modifiedOffset 605, 15 lines modified
605 ······<p·class="built-using">605 ······<p·class="built-using">
606 ········Built·using606 ········Built·using
607 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the607 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
608 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>608 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
609 ······</p>609 ······</p>
610 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>610 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
611 ····</footer>611 ····</footer>
612 ··</div>612 ··</div>
613 </main>613 </main>
614 </div>614 </div>
615 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>615 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
616 ··<script>616 ··<script>
617 ··let·initialized·=·false;617 ··let·initialized·=·false;
596 B
html2text {}
Max HTML report size reached
1.65 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPaletteChangedEvent.html
    
Offset 372, 15 lines modifiedOffset 372, 15 lines modified
372 ······<p·class="built-using">372 ······<p·class="built-using">
373 ········Built·using373 ········Built·using
374 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the374 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
375 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>375 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
376 ······</p>376 ······</p>
377 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>377 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
378 ····</footer>378 ····</footer>
379 ··</div>379 ··</div>
380 </main>380 </main>
381 </div>381 </div>
382 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>382 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
383 ··<script>383 ··<script>
384 ··let·initialized·=·false;384 ··let·initialized·=·false;
836 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPanel.html
    
Offset 469, 15 lines modifiedOffset 469, 15 lines modified
469 ······<p·class="built-using">469 ······<p·class="built-using">
470 ········Built·using470 ········Built·using
471 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the471 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
472 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>472 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
473 ······</p>473 ······</p>
474 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>474 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
475 ····</footer>475 ····</footer>
476 ··</div>476 ··</div>
477 </main>477 </main>
478 </div>478 </div>
479 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>479 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
480 ··<script>480 ··<script>
481 ··let·initialized·=·false;481 ··let·initialized·=·false;
776 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPasswordEntryDialog.html
    
Offset 349, 15 lines modifiedOffset 349, 15 lines modified
349 ······<p·class="built-using">349 ······<p·class="built-using">
350 ········Built·using350 ········Built·using
351 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the351 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
352 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>352 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
353 ······</p>353 ······</p>
354 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>354 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
355 ····</footer>355 ····</footer>
356 ··</div>356 ··</div>
357 </main>357 </main>
358 </div>358 </div>
359 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>359 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
360 ··<script>360 ··<script>
361 ··let·initialized·=·false;361 ··let·initialized·=·false;
697 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPen.html
    
Offset 824, 15 lines modifiedOffset 824, 15 lines modified
824 ······<p·class="built-using">824 ······<p·class="built-using">
825 ········Built·using825 ········Built·using
826 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the826 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
827 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>827 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
828 ······</p>828 ······</p>
829 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>829 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
830 ····</footer>830 ····</footer>
831 ··</div>831 ··</div>
832 </main>832 </main>
833 </div>833 </div>
834 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>834 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
835 ··<script>835 ··<script>
836 ··let·initialized·=·false;836 ··let·initialized·=·false;
649 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPickerBase.html
    
Offset 754, 15 lines modifiedOffset 754, 15 lines modified
754 ······<p·class="built-using">754 ······<p·class="built-using">
755 ········Built·using755 ········Built·using
756 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the756 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
757 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>757 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
758 ······</p>758 ······</p>
759 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>759 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
760 ····</footer>760 ····</footer>
761 ··</div>761 ··</div>
762 </main>762 </main>
763 </div>763 </div>
764 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>764 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
765 ··<script>765 ··<script>
766 ··let·initialized·=·false;766 ··let·initialized·=·false;
729 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPopupTransientWindow.html
    
Offset 489, 15 lines modifiedOffset 489, 15 lines modified
489 ······<p·class="built-using">489 ······<p·class="built-using">
490 ········Built·using490 ········Built·using
491 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the491 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
492 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>492 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
493 ······</p>493 ······</p>
494 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>494 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
495 ····</footer>495 ····</footer>
496 ··</div>496 ··</div>
497 </main>497 </main>
498 </div>498 </div>
499 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>499 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
500 ··<script>500 ··<script>
501 ··let·initialized·=·false;501 ··let·initialized·=·false;
657 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPopupWindow.html
    
Offset 504, 15 lines modifiedOffset 504, 15 lines modified
504 ······<p·class="built-using">504 ······<p·class="built-using">
505 ········Built·using505 ········Built·using
506 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the506 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
507 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>507 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
508 ······</p>508 ······</p>
509 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>509 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
510 ····</footer>510 ····</footer>
511 ··</div>511 ··</div>
512 </main>512 </main>
513 </div>513 </div>
514 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>514 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
515 ··<script>515 ··<script>
516 ··let·initialized·=·false;516 ··let·initialized·=·false;
703 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPostScriptDC.html
    
Offset 342, 15 lines modifiedOffset 342, 15 lines modified
342 ······<p·class="built-using">342 ······<p·class="built-using">
343 ········Built·using343 ········Built·using
344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the344 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>345 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
346 ······</p>346 ······</p>
347 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>347 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
348 ····</footer>348 ····</footer>
349 ··</div>349 ··</div>
350 </main>350 </main>
351 </div>351 </div>
352 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>352 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
353 ··<script>353 ··<script>
354 ··let·initialized·=·false;354 ··let·initialized·=·false;
769 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPreviewCanvas.html
    
Offset 215, 15 lines modifiedOffset 215, 15 lines modified
215 ······<p·class="built-using">215 ······<p·class="built-using">
216 ········Built·using216 ········Built·using
217 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the217 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
218 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>218 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
219 ······</p>219 ······</p>
220 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>220 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
221 ····</footer>221 ····</footer>
222 ··</div>222 ··</div>
223 </main>223 </main>
224 </div>224 </div>
225 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>225 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
226 ··<script>226 ··<script>
227 ··let·initialized·=·false;227 ··let·initialized·=·false;
653 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPreviewControlBar.html
    
Offset 499, 15 lines modifiedOffset 499, 15 lines modified
499 ······<p·class="built-using">499 ······<p·class="built-using">
500 ········Built·using500 ········Built·using
501 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the501 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
502 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>502 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
503 ······</p>503 ······</p>
504 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>504 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
505 ····</footer>505 ····</footer>
506 ··</div>506 ··</div>
507 </main>507 </main>
508 </div>508 </div>
509 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>509 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
510 ··<script>510 ··<script>
511 ··let·initialized·=·false;511 ··let·initialized·=·false;
710 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPreviewFrame.html
    
Offset 500, 15 lines modifiedOffset 500, 15 lines modified
500 ······<p·class="built-using">500 ······<p·class="built-using">
501 ········Built·using501 ········Built·using
502 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the502 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
503 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>503 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
504 ······</p>504 ······</p>
505 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>505 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
506 ····</footer>506 ····</footer>
507 ··</div>507 ··</div>
508 </main>508 </main>
509 </div>509 </div>
510 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>510 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
511 ··<script>511 ··<script>
512 ··let·initialized·=·false;512 ··let·initialized·=·false;
710 B
html2text {}
Max HTML report size reached
1.4 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPrintData.html
    
Offset 1035, 15 lines modifiedOffset 1035, 15 lines modified
1035 ······<p·class="built-using">1035 ······<p·class="built-using">
1036 ········Built·using1036 ········Built·using
1037 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1037 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1038 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1038 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1039 ······</p>1039 ······</p>
1040 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1040 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1041 ····</footer>1041 ····</footer>
1042 ··</div>1042 ··</div>
1043 </main>1043 </main>
1044 </div>1044 </div>
1045 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1045 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1046 ··<script>1046 ··<script>
1047 ··let·initialized·=·false;1047 ··let·initialized·=·false;
599 B
html2text {}
Max HTML report size reached
1.61 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPrintDialog.html
    
Offset 417, 15 lines modifiedOffset 417, 15 lines modified
417 ······<p·class="built-using">417 ······<p·class="built-using">
418 ········Built·using418 ········Built·using
419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
421 ······</p>421 ······</p>
422 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>422 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
423 ····</footer>423 ····</footer>
424 ··</div>424 ··</div>
425 </main>425 </main>
426 </div>426 </div>
427 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>427 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
428 ··<script>428 ··<script>
429 ··let·initialized·=·false;429 ··let·initialized·=·false;
814 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPrintDialogData.html
    
Offset 1210, 15 lines modifiedOffset 1210, 15 lines modified
1210 ······<p·class="built-using">1210 ······<p·class="built-using">
1211 ········Built·using1211 ········Built·using
1212 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1212 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1213 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1213 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1214 ······</p>1214 ······</p>
1215 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1215 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1216 ····</footer>1216 ····</footer>
1217 ··</div>1217 ··</div>
1218 </main>1218 </main>
1219 </div>1219 </div>
1220 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1220 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1221 ··<script>1221 ··<script>
1222 ··let·initialized·=·false;1222 ··let·initialized·=·false;
665 B
html2text {}
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPrintPreview.html
    
Offset 987, 15 lines modifiedOffset 987, 15 lines modified
987 ······<p·class="built-using">987 ······<p·class="built-using">
988 ········Built·using988 ········Built·using
989 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the989 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
990 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>990 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
991 ······</p>991 ······</p>
992 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>992 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
993 ····</footer>993 ····</footer>
994 ··</div>994 ··</div>
995 </main>995 </main>
996 </div>996 </div>
997 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>997 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
998 ··<script>998 ··<script>
999 ··let·initialized·=·false;999 ··let·initialized·=·false;
774 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPrinter.html
    
Offset 690, 15 lines modifiedOffset 690, 15 lines modified
690 ······<p·class="built-using">690 ······<p·class="built-using">
691 ········Built·using691 ········Built·using
692 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the692 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
693 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>693 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
694 ······</p>694 ······</p>
695 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>695 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
696 ····</footer>696 ····</footer>
697 ··</div>697 ··</div>
698 </main>698 </main>
699 </div>699 </div>
700 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>700 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
701 ··<script>701 ··<script>
702 ··let·initialized·=·false;702 ··let·initialized·=·false;
652 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxPrintout.html
    
Offset 1181, 15 lines modifiedOffset 1181, 15 lines modified
1181 ······<p·class="built-using">1181 ······<p·class="built-using">
1182 ········Built·using1182 ········Built·using
1183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1183 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1184 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1185 ······</p>1185 ······</p>
1186 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1186 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1187 ····</footer>1187 ····</footer>
1188 ··</div>1188 ··</div>
1189 </main>1189 </main>
1190 </div>1190 </div>
1191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1191 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1192 ··<script>1192 ··<script>
1193 ··let·initialized·=·false;1193 ··let·initialized·=·false;
758 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxProgressDialog.html
    
Offset 475, 15 lines modifiedOffset 475, 15 lines modified
475 ······<p·class="built-using">475 ······<p·class="built-using">
476 ········Built·using476 ········Built·using
477 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the477 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
478 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>478 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
479 ······</p>479 ······</p>
480 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>480 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
481 ····</footer>481 ····</footer>
482 ··</div>482 ··</div>
483 </main>483 </main>
484 </div>484 </div>
485 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>485 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
486 ··<script>486 ··<script>
487 ··let·initialized·=·false;487 ··let·initialized·=·false;
702 B
html2text {}
Max HTML report size reached
1.53 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxQueryNewPaletteEvent.html
    
Offset 374, 15 lines modifiedOffset 374, 15 lines modified
374 ······<p·class="built-using">374 ······<p·class="built-using">
375 ········Built·using375 ········Built·using
376 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the376 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
377 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>377 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
378 ······</p>378 ······</p>
379 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>379 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
380 ····</footer>380 ····</footer>
381 ··</div>381 ··</div>
382 </main>382 </main>
383 </div>383 </div>
384 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>384 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
385 ··<script>385 ··<script>
386 ··let·initialized·=·false;386 ··let·initialized·=·false;
708 B
html2text {}
Max HTML report size reached
1.38 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxRadioBox.html
    
Offset 1083, 15 lines modifiedOffset 1083, 15 lines modified
1083 ······<p·class="built-using">1083 ······<p·class="built-using">
1084 ········Built·using1084 ········Built·using
1085 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1085 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1086 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1086 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1087 ······</p>1087 ······</p>
1088 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1088 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1089 ····</footer>1089 ····</footer>
1090 ··</div>1090 ··</div>
1091 </main>1091 </main>
1092 </div>1092 </div>
1093 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1093 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1094 ··<script>1094 ··<script>
1095 ··let·initialized·=·false;1095 ··let·initialized·=·false;
583 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxRadioButton.html
    
Offset 568, 15 lines modifiedOffset 568, 15 lines modified
568 ······<p·class="built-using">568 ······<p·class="built-using">
569 ········Built·using569 ········Built·using
570 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the570 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
571 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>571 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
572 ······</p>572 ······</p>
573 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>573 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
574 ····</footer>574 ····</footer>
575 ··</div>575 ··</div>
576 </main>576 </main>
577 </div>577 </div>
578 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>578 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
579 ··<script>579 ··<script>
580 ··let·initialized·=·false;580 ··let·initialized·=·false;
664 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxRegion.html
    
Offset 1153, 15 lines modifiedOffset 1153, 15 lines modified
1153 ······<p·class="built-using">1153 ······<p·class="built-using">
1154 ········Built·using1154 ········Built·using
1155 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1155 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1156 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1156 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1157 ······</p>1157 ······</p>
1158 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1158 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1159 ····</footer>1159 ····</footer>
1160 ··</div>1160 ··</div>
1161 </main>1161 </main>
1162 </div>1162 </div>
1163 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1163 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1164 ··<script>1164 ··<script>
1165 ··let·initialized·=·false;1165 ··let·initialized·=·false;
661 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSashEvent.html
    
Offset 431, 15 lines modifiedOffset 431, 15 lines modified
431 ······<p·class="built-using">431 ······<p·class="built-using">
432 ········Built·using432 ········Built·using
433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
435 ······</p>435 ······</p>
436 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>436 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
437 ····</footer>437 ····</footer>
438 ··</div>438 ··</div>
439 </main>439 </main>
440 </div>440 </div>
441 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>441 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
442 ··<script>442 ··<script>
443 ··let·initialized·=·false;443 ··let·initialized·=·false;
661 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSashLayoutWindow.html
    
Offset 660, 15 lines modifiedOffset 660, 15 lines modified
660 ······<p·class="built-using">660 ······<p·class="built-using">
661 ········Built·using661 ········Built·using
662 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the662 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
663 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>663 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
664 ······</p>664 ······</p>
665 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>665 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
666 ····</footer>666 ····</footer>
667 ··</div>667 ··</div>
668 </main>668 </main>
669 </div>669 </div>
670 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>670 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
671 ··<script>671 ··<script>
672 ··let·initialized·=·false;672 ··let·initialized·=·false;
700 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSashWindow.html
    
Offset 759, 15 lines modifiedOffset 759, 15 lines modified
759 ······<p·class="built-using">759 ······<p·class="built-using">
760 ········Built·using760 ········Built·using
761 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the761 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
762 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>762 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
763 ······</p>763 ······</p>
764 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>764 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
765 ····</footer>765 ····</footer>
766 ··</div>766 ··</div>
767 </main>767 </main>
768 </div>768 </div>
769 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>769 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
770 ··<script>770 ··<script>
771 ··let·initialized·=·false;771 ··let·initialized·=·false;
706 B
html2text {}
Max HTML report size reached
1.37 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxScreenDC.html
    
Offset 307, 15 lines modifiedOffset 307, 15 lines modified
307 ······<p·class="built-using">307 ······<p·class="built-using">
308 ········Built·using308 ········Built·using
309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the309 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>310 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
311 ······</p>311 ······</p>
312 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>312 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
313 ····</footer>313 ····</footer>
314 ··</div>314 ··</div>
315 </main>315 </main>
316 </div>316 </div>
317 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>317 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
318 ··<script>318 ··<script>
319 ··let·initialized·=·false;319 ··let·initialized·=·false;
569 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxScrollBar.html
    
Offset 773, 15 lines modifiedOffset 773, 15 lines modified
773 ······<p·class="built-using">773 ······<p·class="built-using">
774 ········Built·using774 ········Built·using
775 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the775 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
776 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>776 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
777 ······</p>777 ······</p>
778 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>778 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
779 ····</footer>779 ····</footer>
780 ··</div>780 ··</div>
781 </main>781 </main>
782 </div>782 </div>
783 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>783 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
784 ··<script>784 ··<script>
785 ··let·initialized·=·false;785 ··let·initialized·=·false;
738 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxScrollEvent.html
    
Offset 394, 15 lines modifiedOffset 394, 15 lines modified
394 ······<p·class="built-using">394 ······<p·class="built-using">
395 ········Built·using395 ········Built·using
396 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the396 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
397 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>397 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
398 ······</p>398 ······</p>
399 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>399 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
400 ····</footer>400 ····</footer>
401 ··</div>401 ··</div>
402 </main>402 </main>
403 </div>403 </div>
404 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>404 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
405 ··<script>405 ··<script>
406 ··let·initialized·=·false;406 ··let·initialized·=·false;
689 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxScrollWinEvent.html
    
Offset 385, 15 lines modifiedOffset 385, 15 lines modified
385 ······<p·class="built-using">385 ······<p·class="built-using">
386 ········Built·using386 ········Built·using
387 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the387 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
388 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>388 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
389 ······</p>389 ······</p>
390 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>390 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
391 ····</footer>391 ····</footer>
392 ··</div>392 ··</div>
393 </main>393 </main>
394 </div>394 </div>
395 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>395 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
396 ··<script>396 ··<script>
397 ··let·initialized·=·false;397 ··let·initialized·=·false;
786 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxScrolledWindow.html
    
Offset 1035, 15 lines modifiedOffset 1035, 15 lines modified
1035 ······<p·class="built-using">1035 ······<p·class="built-using">
1036 ········Built·using1036 ········Built·using
1037 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1037 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1038 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1038 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1039 ······</p>1039 ······</p>
1040 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1040 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1041 ····</footer>1041 ····</footer>
1042 ··</div>1042 ··</div>
1043 </main>1043 </main>
1044 </div>1044 </div>
1045 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1045 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1046 ··<script>1046 ··<script>
1047 ··let·initialized·=·false;1047 ··let·initialized·=·false;
672 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSetCursorEvent.html
    
Offset 494, 15 lines modifiedOffset 494, 15 lines modified
494 ······<p·class="built-using">494 ······<p·class="built-using">
495 ········Built·using495 ········Built·using
496 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the496 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
497 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>497 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
498 ······</p>498 ······</p>
499 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>499 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
500 ····</footer>500 ····</footer>
501 ··</div>501 ··</div>
502 </main>502 </main>
503 </div>503 </div>
504 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>504 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
505 ··<script>505 ··<script>
506 ··let·initialized·=·false;506 ··let·initialized·=·false;
713 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxShowEvent.html
    
Offset 381, 15 lines modifiedOffset 381, 15 lines modified
381 ······<p·class="built-using">381 ······<p·class="built-using">
382 ········Built·using382 ········Built·using
383 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the383 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
384 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>384 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
385 ······</p>385 ······</p>
386 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>386 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
387 ····</footer>387 ····</footer>
388 ··</div>388 ··</div>
389 </main>389 </main>
390 </div>390 </div>
391 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>391 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
392 ··<script>392 ··<script>
393 ··let·initialized·=·false;393 ··let·initialized·=·false;
792 B
html2text {}
Max HTML report size reached
1.61 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSingleChoiceDialog.html
    
Offset 468, 15 lines modifiedOffset 468, 15 lines modified
468 ······<p·class="built-using">468 ······<p·class="built-using">
469 ········Built·using469 ········Built·using
470 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the470 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
471 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>471 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
472 ······</p>472 ······</p>
473 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>473 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
474 ····</footer>474 ····</footer>
475 ··</div>475 ··</div>
476 </main>476 </main>
477 </div>477 </div>
478 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>478 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
479 ··<script>479 ··<script>
480 ··let·initialized·=·false;480 ··let·initialized·=·false;
791 B
html2text {}
Max HTML report size reached
1.61 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSizeEvent.html
    
Offset 390, 15 lines modifiedOffset 390, 15 lines modified
390 ······<p·class="built-using">390 ······<p·class="built-using">
391 ········Built·using391 ········Built·using
392 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the392 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
393 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>393 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
394 ······</p>394 ······</p>
395 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>395 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
396 ····</footer>396 ····</footer>
397 ··</div>397 ··</div>
398 </main>398 </main>
399 </div>399 </div>
400 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>400 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
401 ··<script>401 ··<script>
402 ··let·initialized·=·false;402 ··let·initialized·=·false;
811 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSizer.html
    
Offset 2242, 15 lines modifiedOffset 2242, 15 lines modified
2242 ······<p·class="built-using">2242 ······<p·class="built-using">
2243 ········Built·using2243 ········Built·using
2244 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2244 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2245 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2245 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2246 ······</p>2246 ······</p>
2247 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2247 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2248 ····</footer>2248 ····</footer>
2249 ··</div>2249 ··</div>
2250 </main>2250 </main>
2251 </div>2251 </div>
2252 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2252 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2253 ··<script>2253 ··<script>
2254 ··let·initialized·=·false;2254 ··let·initialized·=·false;
681 B
html2text {}
Max HTML report size reached
1.6 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSizerFlags.html
    
Offset 713, 15 lines modifiedOffset 713, 15 lines modified
713 ······<p·class="built-using">713 ······<p·class="built-using">
714 ········Built·using714 ········Built·using
715 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the715 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
716 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>716 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
717 ······</p>717 ······</p>
718 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>718 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
719 ····</footer>719 ····</footer>
720 ··</div>720 ··</div>
721 </main>721 </main>
722 </div>722 </div>
723 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>723 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
724 ··<script>724 ··<script>
725 ··let·initialized·=·false;725 ··let·initialized·=·false;
797 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSizerItem.html
    
Offset 1611, 15 lines modifiedOffset 1611, 15 lines modified
1611 ······<p·class="built-using">1611 ······<p·class="built-using">
1612 ········Built·using1612 ········Built·using
1613 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1613 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1614 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1614 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1615 ······</p>1615 ······</p>
1616 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1616 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1617 ····</footer>1617 ····</footer>
1618 ··</div>1618 ··</div>
1619 </main>1619 </main>
1620 </div>1620 </div>
1621 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1621 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1622 ··<script>1622 ··<script>
1623 ··let·initialized·=·false;1623 ··let·initialized·=·false;
752 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSlider.html
    
Offset 910, 15 lines modifiedOffset 910, 15 lines modified
910 ······<p·class="built-using">910 ······<p·class="built-using">
911 ········Built·using911 ········Built·using
912 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the912 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
913 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>913 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
914 ······</p>914 ······</p>
915 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>915 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
916 ····</footer>916 ····</footer>
917 ··</div>917 ··</div>
918 </main>918 </main>
919 </div>919 </div>
920 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>920 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
921 ··<script>921 ··<script>
922 ··let·initialized·=·false;922 ··let·initialized·=·false;
676 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSpinButton.html
    
Offset 665, 15 lines modifiedOffset 665, 15 lines modified
665 ······<p·class="built-using">665 ······<p·class="built-using">
666 ········Built·using666 ········Built·using
667 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the667 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
668 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>668 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
669 ······</p>669 ······</p>
670 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>670 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
671 ····</footer>671 ····</footer>
672 ··</div>672 ··</div>
673 </main>673 </main>
674 </div>674 </div>
675 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>675 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
676 ··<script>676 ··<script>
677 ··let·initialized·=·false;677 ··let·initialized·=·false;
660 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSpinCtrl.html
    
Offset 715, 15 lines modifiedOffset 715, 15 lines modified
715 ······<p·class="built-using">715 ······<p·class="built-using">
716 ········Built·using716 ········Built·using
717 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the717 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
718 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>718 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
719 ······</p>719 ······</p>
720 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>720 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
721 ····</footer>721 ····</footer>
722 ··</div>722 ··</div>
723 </main>723 </main>
724 </div>724 </div>
725 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>725 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
726 ··<script>726 ··<script>
727 ··let·initialized·=·false;727 ··let·initialized·=·false;
720 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSpinEvent.html
    
Offset 378, 15 lines modifiedOffset 378, 15 lines modified
378 ······<p·class="built-using">378 ······<p·class="built-using">
379 ········Built·using379 ········Built·using
380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the380 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>381 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
382 ······</p>382 ······</p>
383 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>383 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
384 ····</footer>384 ····</footer>
385 ··</div>385 ··</div>
386 </main>386 </main>
387 </div>387 </div>
388 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>388 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
389 ··<script>389 ··<script>
390 ··let·initialized·=·false;390 ··let·initialized·=·false;
683 B
html2text {}
Max HTML report size reached
1.33 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSplashScreen.html
    
Offset 431, 15 lines modifiedOffset 431, 15 lines modified
431 ······<p·class="built-using">431 ······<p·class="built-using">
432 ········Built·using432 ········Built·using
433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the433 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>434 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
435 ······</p>435 ······</p>
436 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>436 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
437 ····</footer>437 ····</footer>
438 ··</div>438 ··</div>
439 </main>439 </main>
440 </div>440 </div>
441 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>441 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
442 ··<script>442 ··<script>
443 ··let·initialized·=·false;443 ··let·initialized·=·false;
521 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSplitterEvent.html
    
Offset 496, 15 lines modifiedOffset 496, 15 lines modified
496 ······<p·class="built-using">496 ······<p·class="built-using">
497 ········Built·using497 ········Built·using
498 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the498 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
499 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>499 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
500 ······</p>500 ······</p>
501 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>501 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
502 ····</footer>502 ····</footer>
503 ··</div>503 ··</div>
504 </main>504 </main>
505 </div>505 </div>
506 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>506 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
507 ··<script>507 ··<script>
508 ··let·initialized·=·false;508 ··let·initialized·=·false;
653 B
html2text {}
Max HTML report size reached
1.56 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSplitterWindow.html
    
Offset 1295, 15 lines modifiedOffset 1295, 15 lines modified
1295 ······<p·class="built-using">1295 ······<p·class="built-using">
1296 ········Built·using1296 ········Built·using
1297 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1297 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1298 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1298 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1299 ······</p>1299 ······</p>
1300 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1300 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1301 ····</footer>1301 ····</footer>
1302 ··</div>1302 ··</div>
1303 </main>1303 </main>
1304 </div>1304 </div>
1305 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1305 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1306 ··<script>1306 ··<script>
1307 ··let·initialized·=·false;1307 ··let·initialized·=·false;
746 B
html2text {}
Max HTML report size reached
1.5 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxStaticBitmap.html
    
Offset 550, 15 lines modifiedOffset 550, 15 lines modified
550 ······<p·class="built-using">550 ······<p·class="built-using">
551 ········Built·using551 ········Built·using
552 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the552 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
553 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>553 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
554 ······</p>554 ······</p>
555 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>555 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
556 ····</footer>556 ····</footer>
557 ··</div>557 ··</div>
558 </main>558 </main>
559 </div>559 </div>
560 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>560 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
561 ··<script>561 ··<script>
562 ··let·initialized·=·false;562 ··let·initialized·=·false;
695 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxStaticBox.html
    
Offset 477, 15 lines modifiedOffset 477, 15 lines modified
477 ······<p·class="built-using">477 ······<p·class="built-using">
478 ········Built·using478 ········Built·using
479 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the479 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
480 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>480 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
481 ······</p>481 ······</p>
482 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>482 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
483 ····</footer>483 ····</footer>
484 ··</div>484 ··</div>
485 </main>485 </main>
486 </div>486 </div>
487 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>487 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
488 ··<script>488 ··<script>
489 ··let·initialized·=·false;489 ··let·initialized·=·false;
686 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxStaticBoxSizer.html
    
Offset 386, 15 lines modifiedOffset 386, 15 lines modified
386 ······<p·class="built-using">386 ······<p·class="built-using">
387 ········Built·using387 ········Built·using
388 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the388 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
389 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>389 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
390 ······</p>390 ······</p>
391 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>391 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
392 ····</footer>392 ····</footer>
393 ··</div>393 ··</div>
394 </main>394 </main>
395 </div>395 </div>
396 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>396 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
397 ··<script>397 ··<script>
398 ··let·initialized·=·false;398 ··let·initialized·=·false;
674 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxStaticLine.html
    
Offset 546, 15 lines modifiedOffset 546, 15 lines modified
546 ······<p·class="built-using">546 ······<p·class="built-using">
547 ········Built·using547 ········Built·using
548 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the548 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
549 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>549 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
550 ······</p>550 ······</p>
551 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>551 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
552 ····</footer>552 ····</footer>
553 ··</div>553 ··</div>
554 </main>554 </main>
555 </div>555 </div>
556 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>556 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
557 ··<script>557 ··<script>
558 ··let·initialized·=·false;558 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxStaticText.html
    
Offset 607, 15 lines modifiedOffset 607, 15 lines modified
607 ······<p·class="built-using">607 ······<p·class="built-using">
608 ········Built·using608 ········Built·using
609 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the609 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
610 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>610 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
611 ······</p>611 ······</p>
612 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>612 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
613 ····</footer>613 ····</footer>
614 ··</div>614 ··</div>
615 </main>615 </main>
616 </div>616 </div>
617 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>617 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
618 ··<script>618 ··<script>
619 ··let·initialized·=·false;619 ··let·initialized·=·false;
638 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxStatusBar.html
    
Offset 1049, 15 lines modifiedOffset 1049, 15 lines modified
1049 ······<p·class="built-using">1049 ······<p·class="built-using">
1050 ········Built·using1050 ········Built·using
1051 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1051 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1052 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1052 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1053 ······</p>1053 ······</p>
1054 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1054 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1055 ····</footer>1055 ····</footer>
1056 ··</div>1056 ··</div>
1057 </main>1057 </main>
1058 </div>1058 </div>
1059 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1059 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1060 ··<script>1060 ··<script>
1061 ··let·initialized·=·false;1061 ··let·initialized·=·false;
623 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxStdDialogButtonSizer.html
    
Offset 497, 15 lines modifiedOffset 497, 15 lines modified
497 ······<p·class="built-using">497 ······<p·class="built-using">
498 ········Built·using498 ········Built·using
499 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the499 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
500 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>500 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
501 ······</p>501 ······</p>
502 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>502 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
503 ····</footer>503 ····</footer>
504 ··</div>504 ··</div>
505 </main>505 </main>
506 </div>506 </div>
507 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>507 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
508 ··<script>508 ··<script>
509 ··let·initialized·=·false;509 ··let·initialized·=·false;
672 B
html2text {}
Max HTML report size reached
1.58 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxStyledTextCtrl.html
    
Offset 16754, 15 lines modifiedOffset 16754, 15 lines modified
16754 ······<p·class="built-using">16754 ······<p·class="built-using">
16755 ········Built·using16755 ········Built·using
16756 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the16756 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
16757 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>16757 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
16758 ······</p>16758 ······</p>
16759 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>16759 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
16760 ····</footer>16760 ····</footer>
16761 ··</div>16761 ··</div>
16762 </main>16762 </main>
16763 </div>16763 </div>
16764 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>16764 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
16765 ··<script>16765 ··<script>
16766 ··let·initialized·=·false;16766 ··let·initialized·=·false;
764 B
html2text {}
Max HTML report size reached
1.32 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxStyledTextEvent.html
    
Offset 1172, 15 lines modifiedOffset 1172, 15 lines modified
1172 ······<p·class="built-using">1172 ······<p·class="built-using">
1173 ········Built·using1173 ········Built·using
1174 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1174 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1175 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1175 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1176 ······</p>1176 ······</p>
1177 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1177 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1178 ····</footer>1178 ····</footer>
1179 ··</div>1179 ··</div>
1180 </main>1180 </main>
1181 </div>1181 </div>
1182 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1182 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1183 ··<script>1183 ··<script>
1184 ··let·initialized·=·false;1184 ··let·initialized·=·false;
501 B
html2text {}
Max HTML report size reached
1.65 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSysColourChangedEvent.html
    
Offset 293, 15 lines modifiedOffset 293, 15 lines modified
293 ······<p·class="built-using">293 ······<p·class="built-using">
294 ········Built·using294 ········Built·using
295 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the295 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
296 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>296 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
297 ······</p>297 ······</p>
298 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>298 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
299 ····</footer>299 ····</footer>
300 ··</div>300 ··</div>
301 </main>301 </main>
302 </div>302 </div>
303 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>303 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
304 ··<script>304 ··<script>
305 ··let·initialized·=·false;305 ··let·initialized·=·false;
830 B
html2text {}
Max HTML report size reached
1.42 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSystemOptions.html
    
Offset 463, 15 lines modifiedOffset 463, 15 lines modified
463 ······<p·class="built-using">463 ······<p·class="built-using">
464 ········Built·using464 ········Built·using
465 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the465 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
466 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>466 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
467 ······</p>467 ······</p>
468 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>468 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
469 ····</footer>469 ····</footer>
470 ··</div>470 ··</div>
471 </main>471 </main>
472 </div>472 </div>
473 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>473 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
474 ··<script>474 ··<script>
475 ··let·initialized·=·false;475 ··let·initialized·=·false;
616 B
html2text {}
Max HTML report size reached
1.44 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxSystemSettings.html
    
Offset 422, 15 lines modifiedOffset 422, 15 lines modified
422 ······<p·class="built-using">422 ······<p·class="built-using">
423 ········Built·using423 ········Built·using
424 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the424 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
425 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>425 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
426 ······</p>426 ······</p>
427 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>427 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
428 ····</footer>428 ····</footer>
429 ··</div>429 ··</div>
430 </main>430 </main>
431 </div>431 </div>
432 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>432 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
433 ··<script>433 ··<script>
434 ··let·initialized·=·false;434 ··let·initialized·=·false;
633 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxTaskBarIcon.html
    
Offset 501, 15 lines modifiedOffset 501, 15 lines modified
501 ······<p·class="built-using">501 ······<p·class="built-using">
502 ········Built·using502 ········Built·using
503 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the503 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
504 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>504 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
505 ······</p>505 ······</p>
506 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>506 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
507 ····</footer>507 ····</footer>
508 ··</div>508 ··</div>
509 </main>509 </main>
510 </div>510 </div>
511 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>511 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
512 ··<script>512 ··<script>
513 ··let·initialized·=·false;513 ··let·initialized·=·false;
672 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxTaskBarIconEvent.html
    
Offset 285, 15 lines modifiedOffset 285, 15 lines modified
285 ······<p·class="built-using">285 ······<p·class="built-using">
286 ········Built·using286 ········Built·using
287 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the287 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
288 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>288 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
289 ······</p>289 ······</p>
290 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>290 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
291 ····</footer>291 ····</footer>
292 ··</div>292 ··</div>
293 </main>293 </main>
294 </div>294 </div>
295 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>295 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
296 ··<script>296 ··<script>
297 ··let·initialized·=·false;297 ··let·initialized·=·false;
672 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxTextAttr.html
    
Offset 1762, 15 lines modifiedOffset 1762, 15 lines modified
1762 ······<p·class="built-using">1762 ······<p·class="built-using">
1763 ········Built·using1763 ········Built·using
1764 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1764 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1765 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1765 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1766 ······</p>1766 ······</p>
1767 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1767 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1768 ····</footer>1768 ····</footer>
1769 ··</div>1769 ··</div>
1770 </main>1770 </main>
1771 </div>1771 </div>
1772 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1772 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1773 ··<script>1773 ··<script>
1774 ··let·initialized·=·false;1774 ··let·initialized·=·false;
687 B
html2text {}
Max HTML report size reached
1.57 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxTextCtrl.html
    
Offset 2410, 15 lines modifiedOffset 2410, 15 lines modified
2410 ······<p·class="built-using">2410 ······<p·class="built-using">
2411 ········Built·using2411 ········Built·using
2412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2412 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2413 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2414 ······</p>2414 ······</p>
2415 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2415 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2416 ····</footer>2416 ····</footer>
2417 ··</div>2417 ··</div>
2418 </main>2418 </main>
2419 </div>2419 </div>
2420 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2420 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2421 ··<script>2421 ··<script>
2422 ··let·initialized·=·false;2422 ··let·initialized·=·false;
769 B
html2text {}
Max HTML report size reached
1.48 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxTextDataObject.html
    
Offset 463, 15 lines modifiedOffset 463, 15 lines modified
463 ······<p·class="built-using">463 ······<p·class="built-using">
464 ········Built·using464 ········Built·using
465 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the465 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
466 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>466 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
467 ······</p>467 ······</p>
468 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>468 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
469 ····</footer>469 ····</footer>
470 ··</div>470 ··</div>
471 </main>471 </main>
472 </div>472 </div>
473 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>473 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
474 ··<script>474 ··<script>
475 ··let·initialized·=·false;475 ··let·initialized·=·false;
672 B
html2text {}
Max HTML report size reached
1.54 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxTextEntryDialog.html
    
Offset 459, 15 lines modifiedOffset 459, 15 lines modified
459 ······<p·class="built-using">459 ······<p·class="built-using">
460 ········Built·using460 ········Built·using
461 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the461 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
462 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>462 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
463 ······</p>463 ······</p>
464 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>464 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
465 ····</footer>465 ····</footer>
466 ··</div>466 ··</div>
467 </main>467 </main>
468 </div>468 </div>
469 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>469 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
470 ··<script>470 ··<script>
471 ··let·initialized·=·false;471 ··let·initialized·=·false;
733 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxToggleButton.html
    
Offset 551, 15 lines modifiedOffset 551, 15 lines modified
551 ······<p·class="built-using">551 ······<p·class="built-using">
552 ········Built·using552 ········Built·using
553 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the553 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
554 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>554 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
555 ······</p>555 ······</p>
556 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>556 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
557 ····</footer>557 ····</footer>
558 ··</div>558 ··</div>
559 </main>559 </main>
560 </div>560 </div>
561 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>561 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
562 ··<script>562 ··<script>
563 ··let·initialized·=·false;563 ··let·initialized·=·false;
702 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxToolBar.html
    
Offset 1980, 15 lines modifiedOffset 1980, 15 lines modified
1980 ······<p·class="built-using">1980 ······<p·class="built-using">
1981 ········Built·using1981 ········Built·using
1982 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1982 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1983 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1983 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1984 ······</p>1984 ······</p>
1985 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1985 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1986 ····</footer>1986 ····</footer>
1987 ··</div>1987 ··</div>
1988 </main>1988 </main>
1989 </div>1989 </div>
1990 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1990 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1991 ··<script>1991 ··<script>
1992 ··let·initialized·=·false;1992 ··let·initialized·=·false;
651 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxToolTip.html
    
Offset 485, 15 lines modifiedOffset 485, 15 lines modified
485 ······<p·class="built-using">485 ······<p·class="built-using">
486 ········Built·using486 ········Built·using
487 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the487 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
488 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>488 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
489 ······</p>489 ······</p>
490 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>490 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
491 ····</footer>491 ····</footer>
492 ··</div>492 ··</div>
493 </main>493 </main>
494 </div>494 </div>
495 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>495 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
496 ··<script>496 ··<script>
497 ··let·initialized·=·false;497 ··let·initialized·=·false;
659 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxToolbook.html
    
Offset 1309, 15 lines modifiedOffset 1309, 15 lines modified
1309 ······<p·class="built-using">1309 ······<p·class="built-using">
1310 ········Built·using1310 ········Built·using
1311 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1311 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1312 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1312 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1313 ······</p>1313 ······</p>
1314 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1314 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1315 ····</footer>1315 ····</footer>
1316 ··</div>1316 ··</div>
1317 </main>1317 </main>
1318 </div>1318 </div>
1319 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1319 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1320 ··<script>1320 ··<script>
1321 ··let·initialized·=·false;1321 ··let·initialized·=·false;
708 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxTopLevelWindow.html
    
Offset 1095, 15 lines modifiedOffset 1095, 15 lines modified
1095 ······<p·class="built-using">1095 ······<p·class="built-using">
1096 ········Built·using1096 ········Built·using
1097 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1097 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1098 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1098 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1099 ······</p>1099 ······</p>
1100 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1100 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1101 ····</footer>1101 ····</footer>
1102 ··</div>1102 ··</div>
1103 </main>1103 </main>
1104 </div>1104 </div>
1105 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1105 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1106 ··<script>1106 ··<script>
1107 ··let·initialized·=·false;1107 ··let·initialized·=·false;
641 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxTreeCtrl.html
    
Offset 3491, 15 lines modifiedOffset 3491, 15 lines modified
3491 ······<p·class="built-using">3491 ······<p·class="built-using">
3492 ········Built·using3492 ········Built·using
3493 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the3493 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
3494 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>3494 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
3495 ······</p>3495 ······</p>
3496 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>3496 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
3497 ····</footer>3497 ····</footer>
3498 ··</div>3498 ··</div>
3499 </main>3499 </main>
3500 </div>3500 </div>
3501 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>3501 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
3502 ··<script>3502 ··<script>
3503 ··let·initialized·=·false;3503 ··let·initialized·=·false;
669 B
html2text {}
Max HTML report size reached
1.52 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxTreeEvent.html
    
Offset 610, 15 lines modifiedOffset 610, 15 lines modified
610 ······<p·class="built-using">610 ······<p·class="built-using">
611 ········Built·using611 ········Built·using
612 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the612 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
613 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>613 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
614 ······</p>614 ······</p>
615 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>615 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
616 ····</footer>616 ····</footer>
617 ··</div>617 ··</div>
618 </main>618 </main>
619 </div>619 </div>
620 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>620 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
621 ··<script>621 ··<script>
622 ··let·initialized·=·false;622 ··let·initialized·=·false;
726 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxTreebook.html
    
Offset 1491, 15 lines modifiedOffset 1491, 15 lines modified
1491 ······<p·class="built-using">1491 ······<p·class="built-using">
1492 ········Built·using1492 ········Built·using
1493 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1493 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1494 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1494 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1495 ······</p>1495 ······</p>
1496 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1496 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1497 ····</footer>1497 ····</footer>
1498 ··</div>1498 ··</div>
1499 </main>1499 </main>
1500 </div>1500 </div>
1501 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1501 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1502 ··<script>1502 ··<script>
1503 ··let·initialized·=·false;1503 ··let·initialized·=·false;
753 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxUpdateUIEvent.html
    
Offset 986, 15 lines modifiedOffset 986, 15 lines modified
986 ······<p·class="built-using">986 ······<p·class="built-using">
987 ········Built·using987 ········Built·using
988 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the988 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
989 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>989 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
990 ······</p>990 ······</p>
991 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>991 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
992 ····</footer>992 ····</footer>
993 ··</div>993 ··</div>
994 </main>994 </main>
995 </div>995 </div>
996 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>996 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
997 ··<script>997 ··<script>
998 ··let·initialized·=·false;998 ··let·initialized·=·false;
781 B
html2text {}
Max HTML report size reached
1.47 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxWebView.html
    
Offset 2229, 15 lines modifiedOffset 2229, 15 lines modified
2229 ······<p·class="built-using">2229 ······<p·class="built-using">
2230 ········Built·using2230 ········Built·using
2231 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the2231 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
2232 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>2232 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
2233 ······</p>2233 ······</p>
2234 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>2234 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
2235 ····</footer>2235 ····</footer>
2236 ··</div>2236 ··</div>
2237 </main>2237 </main>
2238 </div>2238 </div>
2239 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>2239 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
2240 ··<script>2240 ··<script>
2241 ··let·initialized·=·false;2241 ··let·initialized·=·false;
673 B
html2text {}
Max HTML report size reached
1.49 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxWebViewEvent.html
    
Offset 466, 15 lines modifiedOffset 466, 15 lines modified
466 ······<p·class="built-using">466 ······<p·class="built-using">
467 ········Built·using467 ········Built·using
468 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the468 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
469 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>469 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
470 ······</p>470 ······</p>
471 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>471 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
472 ····</footer>472 ····</footer>
473 ··</div>473 ··</div>
474 </main>474 </main>
475 </div>475 </div>
476 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>476 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
477 ··<script>477 ··<script>
478 ··let·initialized·=·false;478 ··let·initialized·=·false;
683 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxWindow.html
    
Offset 7835, 15 lines modifiedOffset 7835, 15 lines modified
7835 ······<p·class="built-using">7835 ······<p·class="built-using">
7836 ········Built·using7836 ········Built·using
7837 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the7837 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
7838 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>7838 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
7839 ······</p>7839 ······</p>
7840 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>7840 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
7841 ····</footer>7841 ····</footer>
7842 ··</div>7842 ··</div>
7843 </main>7843 </main>
7844 </div>7844 </div>
7845 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>7845 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
7846 ··<script>7846 ··<script>
7847 ··let·initialized·=·false;7847 ··let·initialized·=·false;
661 B
html2text {}
Max HTML report size reached
1.59 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxWindowCreateEvent.html
    
Offset 289, 15 lines modifiedOffset 289, 15 lines modified
289 ······<p·class="built-using">289 ······<p·class="built-using">
290 ········Built·using290 ········Built·using
291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the291 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>292 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
293 ······</p>293 ······</p>
294 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>294 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
295 ····</footer>295 ····</footer>
296 ··</div>296 ··</div>
297 </main>297 </main>
298 </div>298 </div>
299 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>299 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
300 ··<script>300 ··<script>
301 ··let·initialized·=·false;301 ··let·initialized·=·false;
774 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxWindowDC.html
    
Offset 308, 15 lines modifiedOffset 308, 15 lines modified
308 ······<p·class="built-using">308 ······<p·class="built-using">
309 ········Built·using309 ········Built·using
310 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the310 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
311 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>311 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
312 ······</p>312 ······</p>
313 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>313 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
314 ····</footer>314 ····</footer>
315 ··</div>315 ··</div>
316 </main>316 </main>
317 </div>317 </div>
318 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>318 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
319 ··<script>319 ··<script>
320 ··let·initialized·=·false;320 ··let·initialized·=·false;
656 B
html2text {}
Max HTML report size reached
1.6 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxWindowDestroyEvent.html
    
Offset 290, 15 lines modifiedOffset 290, 15 lines modified
290 ······<p·class="built-using">290 ······<p·class="built-using">
291 ········Built·using291 ········Built·using
292 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the292 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
293 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>293 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
294 ······</p>294 ······</p>
295 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>295 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
296 ····</footer>296 ····</footer>
297 ··</div>297 ··</div>
298 </main>298 </main>
299 </div>299 </div>
300 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>300 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
301 ··<script>301 ··<script>
302 ··let·initialized·=·false;302 ··let·initialized·=·false;
786 B
html2text {}
Max HTML report size reached
1.55 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wxXmlResource.html
    
Offset 1417, 15 lines modifiedOffset 1417, 15 lines modified
1417 ······<p·class="built-using">1417 ······<p·class="built-using">
1418 ········Built·using1418 ········Built·using
1419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1419 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1420 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1421 ······</p>1421 ······</p>
1422 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1422 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1423 ····</footer>1423 ····</footer>
1424 ··</div>1424 ··</div>
1425 </main>1425 </main>
1426 </div>1426 </div>
1427 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1427 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1428 ··<script>1428 ··<script>
1429 ··let·initialized·=·false;1429 ··let·initialized·=·false;
749 B
html2text {}
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wx_misc.html
    
Offset 1302, 15 lines modifiedOffset 1302, 15 lines modified
1302 ······<p·class="built-using">1302 ······<p·class="built-using">
1303 ········Built·using1303 ········Built·using
1304 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1304 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1305 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1305 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1306 ······</p>1306 ······</p>
1307 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1307 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1308 ····</footer>1308 ····</footer>
1309 ··</div>1309 ··</div>
1310 </main>1310 </main>
1311 </div>1311 </div>
1312 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1312 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1313 ··<script>1313 ··<script>
1314 ··let·initialized·=·false;1314 ··let·initialized·=·false;
636 B
html2text {}
Max HTML report size reached
21.0 KB
./usr/share/doc/erlang-doc/html/lib/wx-2.5/doc/html/wx_object.html
    
Offset 132, 44 lines modifiedOffset 132, 44 lines modified
132 works·like·a·regular·gen_server·module·and·creates·a·server·per·object.</p><p>NOTE:·Currently·no·form·of·inheritance·is·implemented.</p><p>The·user·module·should·export:</p><p>init(Args)·should·return<br/>{wxWindow,·State}·|·{wxWindow,·State,·Timeout}·|·ignore·|·{stop,·Reason}</p><p>Asynchronous·window·event·handling:<br/>handle_event(#wx{},·State)·should·return<br/>{noreply,·State}·|·{noreply,·State,·Timeout}·|·{stop,·Reason,·State}</p><p>The·user·module·can·export·the·following·callback·functions:</p><p>handle_call(Msg,·{From,·Tag},·State)·should·return<br/>{reply,·Reply,·State}·|·{reply,·Reply,·State,·Timeout}·|·{noreply,·State}132 works·like·a·regular·gen_server·module·and·creates·a·server·per·object.</p><p>NOTE:·Currently·no·form·of·inheritance·is·implemented.</p><p>The·user·module·should·export:</p><p>init(Args)·should·return<br/>{wxWindow,·State}·|·{wxWindow,·State,·Timeout}·|·ignore·|·{stop,·Reason}</p><p>Asynchronous·window·event·handling:<br/>handle_event(#wx{},·State)·should·return<br/>{noreply,·State}·|·{noreply,·State,·Timeout}·|·{stop,·Reason,·State}</p><p>The·user·module·can·export·the·following·callback·functions:</p><p>handle_call(Msg,·{From,·Tag},·State)·should·return<br/>{reply,·Reply,·State}·|·{reply,·Reply,·State,·Timeout}·|·{noreply,·State}
133 |·{noreply,·State,·Timeout}·|·{stop,·Reason,·Reply,·State}</p><p>handle_cast(Msg,·State)·should·return<br/>{noreply,·State}·|·{noreply,·State,·Timeout}·|·{stop,·Reason,·State}</p><p>If·the·above·are·not·exported·but·called,·the·wx_object·process·will·crash.·The133 |·{noreply,·State,·Timeout}·|·{stop,·Reason,·Reply,·State}</p><p>handle_cast(Msg,·State)·should·return<br/>{noreply,·State}·|·{noreply,·State,·Timeout}·|·{stop,·Reason,·State}</p><p>If·the·above·are·not·exported·but·called,·the·wx_object·process·will·crash.·The
134 user·module·can·also·export:</p><p>Info·is·message·e.g.·{'EXIT',·P,·R},·{nodedown,·N},·...<br/>handle_info(Info,·State)·should·return·,·...<br/>{noreply,·State}·|·{noreply,·State,·Timeout}·|·{stop,·Reason,·State}</p><p>If·a·message·is·sent·to·the·wx_object·process·when·handle_info·is·not·exported,134 user·module·can·also·export:</p><p>Info·is·message·e.g.·{'EXIT',·P,·R},·{nodedown,·N},·...<br/>handle_info(Info,·State)·should·return·,·...<br/>{noreply,·State}·|·{noreply,·State,·Timeout}·|·{stop,·Reason,·State}</p><p>If·a·message·is·sent·to·the·wx_object·process·when·handle_info·is·not·exported,
135 the·message·will·be·dropped·and·ignored.</p><p>When·stop·is·returned·in·one·of·the·functions·above·with·Reason·=·normal·|135 the·message·will·be·dropped·and·ignored.</p><p>When·stop·is·returned·in·one·of·the·functions·above·with·Reason·=·normal·|
136 shutdown·|·Term,·terminate(State)·is·called.·It·lets·the·user·module·clean·up,136 shutdown·|·Term,·terminate(State)·is·called.·It·lets·the·user·module·clean·up,
137 it·is·always·called·when·server·terminates·or·when·wx_object()·in·the·driver·is137 it·is·always·called·when·server·terminates·or·when·wx_object()·in·the·driver·is
138 deleted.·If·the·Parent·process·terminates·the·Module:terminate/2·function·is138 deleted.·If·the·Parent·process·terminates·the·Module:terminate/2·function·is
139 called.<br/>terminate(Reason,·State)</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="7017166172-1">(</span><span·class="ss">myDialog</span><span·class="p"·data-group-id="7017166172-1">)</span><span·class="p">.</span><span·class="w">139 called.<br/>terminate(Reason,·State)</p><p>Example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">··</span><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="8703916970-1">(</span><span·class="ss">myDialog</span><span·class="p"·data-group-id="8703916970-1">)</span><span·class="p">.</span><span·class="w">
140 </span><span·class="w">··</span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7017166172-2">(</span><span·class="p"·data-group-id="7017166172-3">[</span><span·class="ss">new</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">show</span><span·class="p">/</span><span[·...·truncated·by·diffoscope;·len:·242,·SHA:·626246f52503acc497f1f603ac0c6d37d76d7fdc097a04186ce375ca611f0dd9·...·]-2">)</span><span·class="p">.</span><span·class="w">··</span><span·class="c1">%%·API</span><span·class="w">140 </span><span·class="w">··</span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8703916970-2">(</span><span·class="p"·data-group-id="8703916970-3">[</span><span·class="ss">new</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">show</span><span·class="p">/</span><span[·...·truncated·by·diffoscope;·len:·242,·SHA:·707bf2d2318cf7582adad84d6ecb5ab259a058fcc49016425b1eebb97915eb38·...·]-2">)</span><span·class="p">.</span><span·class="w">··</span><span·class="c1">%%·API</span><span·class="w">
141 </span><span·class="w">··</span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="7017166172-4">(</span><span·class="p"·data-group-id="7017166172-5">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_call</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_event</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">141 </span><span·class="w">··</span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="8703916970-4">(</span><span·class="p"·data-group-id="8703916970-5">[</span><span·class="ss">init</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_call</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">handle_event</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">
142 ···········</span><span·class="ss">handle_info</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">terminate</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="7017166172-5">]</span><span·class="p"·data-group-id="7017166172-4">)</span><span·class="p">.</span><span·class="w">142 ···········</span><span·class="ss">handle_info</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">code_change</span><span·class="p">/</span><span·class="mi">3</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">terminate</span><span·class="p">/</span><span·class="mi">2</span><span·class="p"·data-group-id="8703916970-5">]</span><span·class="p"·data-group-id="8703916970-4">)</span><span·class="p">.</span><span·class="w">
143 ···········</span><span·class="ss">new</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">showModal</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">destroy</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">]</span><span·class="p">)</span><span·class="p">.</span><span·class="w">··</span><span·class="c1">%%·Callbacks</span><span·class="w">143 ···········</span><span·class="ss">new</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">showModal</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">destroy</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">]</span><span·class="p">)</span><span·class="p">.</span><span·class="w">··</span><span·class="c1">%%·Callbacks</span><span·class="w">
  
144 ··</span><span·class="c1">%%·Client·API</span><span·class="w">144 ··</span><span·class="c1">%%·Client·API</span><span·class="w">
145 ··</span><span·class="nf">new</span><span·class="p"·data-group-id="7017166172-6">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="7017166172-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">145 ··</span><span·class="nf">new</span><span·class="p"·data-group-id="8703916970-6">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Msg</span><span·class="p"·data-group-id="8703916970-6">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
146 ·····</span><span·class="nc">wx_object</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="7017166172-7">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="7017166172-8">[</span><span·class="n">Parent</span><span·class="p">,</span><span·class="n">Id</span><s[·...·truncated·by·diffoscope;·len:·246,·SHA:·42409bc382bd477fa53098f31dd4fa937f94f11876f3dfbd047f9ce72db9f8ba·...·]-7">)</span><span·class="p">.</span><span·class="w">146 ·····</span><span·class="nc">wx_object</span><span·class="p">:</span><span·class="nf">start</span><span·class="p"·data-group-id="8703916970-7">(</span><span·class="o">?</span><span·class="n">MODULE</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="8703916970-8">[</span><span·class="n">Parent</span><span·class="p">,</span><span·class="n">Id</span><s[·...·truncated·by·diffoscope;·len:·246,·SHA:·220818392399410b0b6d7d08e722ec63860be9df45c7d1c11a6e4f8780fe1d02·...·]-7">)</span><span·class="p">.</span><span·class="w">
  
147 ··</span><span·class="nf">show</span><span·class="p"·data-group-id="7017166172-10">(</span><span·class="n">Dialog</span><span·class="p"·data-group-id="7017166172-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">147 ··</span><span·class="nf">show</span><span·class="p"·data-group-id="8703916970-10">(</span><span·class="n">Dialog</span><span·class="p"·data-group-id="8703916970-10">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
148 ·····</span><span·class="nc">wx_object</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="7017166172-11">(</span><span·class="n">Dialog</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">show_modal</span><span·class="p"·data-group-id="7017166172-11">)</span><span·class="p">.</span><span·class="w">148 ·····</span><span·class="nc">wx_object</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="8703916970-11">(</span><span·class="n">Dialog</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">show_modal</span><span·class="p"·data-group-id="8703916970-11">)</span><span·class="p">.</span><span·class="w">
  
149 ··</span><span·class="nf">destroy</span><span·class="p"·data-group-id="7017166172-12">(</span><span·class="n">Dialog</span><span·class="p"·data-group-id="7017166172-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">149 ··</span><span·class="nf">destroy</span><span·class="p"·data-group-id="8703916970-12">(</span><span·class="n">Dialog</span><span·class="p"·data-group-id="8703916970-12">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
150 ·····</span><span·class="nc">wx_object</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="7017166172-13">(</span><span·class="n">Dialog</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">destroy</span><span·class="p"·data-group-id="7017166172-13">)</span><span·class="p">.</span><span·class="w">150 ·····</span><span·class="nc">wx_object</span><span·class="p">:</span><span·class="nf">call</span><span·class="p"·data-group-id="8703916970-13">(</span><span·class="n">Dialog</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">destroy</span><span·class="p"·data-group-id="8703916970-13">)</span><span·class="p">.</span><span·class="w">
  
151 ··</span><span·class="c1">%%·Server·Implementation·ala·gen_server</span><span·class="w">151 ··</span><span·class="c1">%%·Server·Implementation·ala·gen_server</span><span·class="w">
152 ··</span><span·class="nf">init</span><span·class="p"·data-group-id="7017166172-14">(</span><span·class="p"·data-group-id="7017166172-15">[</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Str</span><span·class="p"·data-group-id="7017166172-15">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·cc33a2cee1c07e616c7dad45466a04670c3bed3979fa1441b8c28a2686c6ffc7·...·]-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">152 ··</span><span·class="nf">init</span><span·class="p"·data-group-id="8703916970-14">(</span><span·class="p"·data-group-id="8703916970-15">[</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Str</span><span·class="p"·data-group-id="8703916970-15">]</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·5d56c3d0c40b1d1dfd79e0fefa15b5307e9af9abb95397b95e1115b92521c575·...·]-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
153 ·····</span><span·class="n">Dialog</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">wxDialog</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="7017166172-16">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Testing&quot;</span><span·class="p">,</span><span·class="w">[·...·truncated·by·diffoscope;·len:·157,·SHA:·3858c41e04e9c41ae3495792851d2ae17a06f4edc6caebcd91e6e2007e05be4e·...·]-16">)</span><span·class="p">,</span><span·class="w">153 ·····</span><span·class="n">Dialog</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">wxDialog</span><span·class="p">:</span><span·class="nf">new</span><span·class="p"·data-group-id="8703916970-16">(</span><span·class="n">Parent</span><span·class="p">,</span><span·class="w">·</span><span·class="mi">42</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;Testing&quot;</span><span·class="p">,</span><span·class="w">[·...·truncated·by·diffoscope;·len:·157,·SHA:·51109488f6fa114e2970bc17d984e950f30c0db52c9c8603e9d368d2fe21ba4c·...·]-16">)</span><span·class="p">,</span><span·class="w">
154 ·····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">154 ·····</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
155 ·····</span><span·class="nc">wxDialog</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="7017166172-18">(</span><span·class="n">Dialog</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">command_button_clicked</span><span·class="p"·data-group-id="7017166172-18">)</span><span·class="p">,</span><span·class="w">155 ·····</span><span·class="nc">wxDialog</span><span·class="p">:</span><span·class="nf">connect</span><span·class="p"·data-group-id="8703916970-18">(</span><span·class="n">Dialog</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">command_button_clicked</span><span·class="p"·data-group-id="8703916970-18">)</span><span·class="p">,</span><span·class="w">
156 ·····</span><span·class="p"·data-group-id="7017166172-19">{</span><span·class="n">Dialog</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MyState</span><span·class="p"·data-group-id="7017166172-19">}</span><span·class="p">.</span><span·class="w">156 ·····</span><span·class="p"·data-group-id="8703916970-19">{</span><span·class="n">Dialog</span><span·class="p">,</span><span·class="w">·</span><span·class="n">MyState</span><span·class="p"·data-group-id="8703916970-19">}</span><span·class="p">.</span><span·class="w">
  
157 ··</span><span·class="nf">handle_call</span><span·class="p"·data-group-id="7017166172-20">(</span><span·class="ss">show</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·8fdec7754472958d7fb24a2e2cdb7a64acd7a4b42212135bdb5aaf90f4647fb1·...·]-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">157 ··</span><span·class="nf">handle_call</span><span·class="p"·data-group-id="8703916970-20">(</span><span·class="ss">show</span><span·class="p">,</span><span·class="w">·</span><span·class="p">_</span><span·class="n">From</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id=[·...·truncated·by·diffoscope;·len:·11,·SHA:·40014dd09b5a4eed7289dee63bc65cb52854895a2dc7f23e1e736884ffc73b2c·...·]-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
158 ·····</span><span·class="nc">wxDialog</span><span·class="p">:</span><span·class="nf">show</span><span·class="p"·data-group-id="7017166172-21">(</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">win</span><span·class="p"·data-group-id="7017166172-21">)</span><span·class="p">,</span><span·class="w">158 ·····</span><span·class="nc">wxDialog</span><span·class="p">:</span><span·class="nf">show</span><span·class="p"·data-group-id="8703916970-21">(</span><span·class="n">State</span><span·class="o">#</span><span·class="ss">state</span><span·class="p">.</span><span·class="ss">win</span><span·class="p"·data-group-id="8703916970-21">)</span><span·class="p">,</span><span·class="w">
159 ·····</span><span·class="p"·data-group-id="7017166172-22">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="7017166172-22">}</span><span·class="p">;</span><span·class="w">159 ·····</span><span·class="p"·data-group-id="8703916970-22">{</span><span·class="ss">reply</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="8703916970-22">}</span><span·class="p">;</span><span·class="w">
160 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">160 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">
161 ··</span><span·class="nf">handle_event</span><span·class="p"·data-group-id="7017166172-23">(</span><span·class="o">#</span><span·class="ss">wx</span><span·class="p"·data-group-id="7017166172-24">{</span><span·class="p"·data-group-id="7017166172-24">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·dba8ae2f4fdf6247e1075142d9ae73012ac98602fd3a77049f59a4172acb3203·...·]-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">161 ··</span><span·class="nf">handle_event</span><span·class="p"·data-group-id="8703916970-23">(</span><span·class="o">#</span><span·class="ss">wx</span><span·class="p"·data-group-id="8703916970-24">{</span><span·class="p"·data-group-id="8703916970-24">}</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span[·...·truncated·by·diffoscope;·len:·42,·SHA:·9b68860384f3c76b51eb295c9543762a50e05be77ffb0341b486e4e1db0d77e5·...·]-23">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
162 ·····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="7017166172-25">(</span><span·class="s">&quot;Users·clicked·button</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="7017166172-26">[</span><span·class="p"·data-group-id="7017166172-26">]</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·ddc78ede432e60439968afb7df284ac5b7c7e890e9e9b23834311f3db6646446·...·]-25">)</span><span·class="p">,</span><span·class="w">162 ·····</span><span·class="nc">io</span><span·class="p">:</span><span·class="nf">format</span><span·class="p"·data-group-id="8703916970-25">(</span><span·class="s">&quot;Users·clicked·button</span><span·class="si">~n</span><span·class="s">&quot;</span><span·class="p">,</span><span·class="p"·data-group-id="8703916970-26">[</span><span·class="p"·data-group-id="8703916970-26">]</sp[·...·truncated·by·diffoscope;·len:·44,·SHA:·03c5b423d6a2da280288522b1232b4d78fd7e4341b79549170f78eaa63b8d2d3·...·]-25">)</span><span·class="p">,</span><span·class="w">
163 ·····</span><span·class="p"·data-group-id="7017166172-27">{</span><span·class="ss">noreply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="7017166172-27">}</span><span·class="p">;</span><span·class="w">163 ·····</span><span·class="p"·data-group-id="8703916970-27">{</span><span·class="ss">noreply</span><span·class="p">,</span><span·class="w">·</span><span·class="n">State</span><span·class="p"·data-group-id="8703916970-27">}</span><span·class="p">;</span><span·class="w">
164 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><h2·id="module-data-types"·class="section-heading">164 ··</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span></code></pre><h2·id="module-data-types"·class="section-heading">
165 ··<a·href="#module-data-types"·class="hover-link">165 ··<a·href="#module-data-types"·class="hover-link">
166 ····<i·class="ri-link-m"·aria-hidden="true"></i>166 ····<i·class="ri-link-m"·aria-hidden="true"></i>
167 ··</a>167 ··</a>
168 ··<span·class="text">DATA·TYPES</span>168 ··<span·class="text">DATA·TYPES</span>
169 </h2>169 </h2>
170 <ul><li><p><strong><a·href=""·id="type-request_id"></a>·request_id()·=·term()</strong></p></li><li><p><strong><a·href=""·id="type-server_ref"></a>·server_ref()·=170 <ul><li><p><strong><a·href=""·id="type-request_id"></a>·request_id()·=·term()</strong></p></li><li><p><strong><a·href=""·id="type-server_ref"></a>·server_ref()·=
Offset 1319, 15 lines modifiedOffset 1319, 15 lines modified
1319 ······<p·class="built-using">1319 ······<p·class="built-using">
1320 ········Built·using1320 ········Built·using
1321 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1321 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1322 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1322 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1323 ······</p>1323 ······</p>
1324 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1324 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1325 ····</footer>1325 ····</footer>
1326 ··</div>1326 ··</div>
1327 </main>1327 </main>
1328 </div>1328 </div>
1329 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1329 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1330 ··<script>1330 ··<script>
1331 ··let·initialized·=·false;1331 ··let·initialized·=·false;
769 B
html2text {}
Max HTML report size reached
1.4 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/404.html
    
Offset 139, 15 lines modifiedOffset 139, 15 lines modified
139 ······<p·class="built-using">139 ······<p·class="built-using">
140 ········Built·using140 ········Built·using
141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the141 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>142 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
143 ······</p>143 ······</p>
144 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>144 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
145 ····</footer>145 ····</footer>
146 ··</div>146 ··</div>
147 </main>147 </main>
148 </div>148 </div>
149 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>149 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
150 ··<script>150 ··<script>
151 ··let·initialized·=·false;151 ··let·initialized·=·false;
604 B
html2text {}
Max HTML report size reached
1.35 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/api-reference.html
    
Offset 231, 15 lines modifiedOffset 231, 15 lines modified
231 ······<p·class="built-using">231 ······<p·class="built-using">
232 ········Built·using232 ········Built·using
233 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the233 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
234 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>234 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
235 ······</p>235 ······</p>
236 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>236 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
237 ····</footer>237 ····</footer>
238 ··</div>238 ··</div>
239 </main>239 </main>
240 </div>240 </div>
241 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>241 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
242 ··<script>242 ··<script>
243 ··let·initialized·=·false;243 ··let·initialized·=·false;
537 B
html2text {}
Max HTML report size reached
1.37 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/notes.html
    
Offset 1413, 15 lines modifiedOffset 1413, 15 lines modified
1413 ······<p·class="built-using">1413 ······<p·class="built-using">
1414 ········Built·using1414 ········Built·using
1415 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1415 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1416 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1416 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1417 ······</p>1417 ······</p>
1418 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1418 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1419 ····</footer>1419 ····</footer>
1420 ··</div>1420 ··</div>
1421 </main>1421 </main>
1422 </div>1422 </div>
1423 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1423 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1424 ··<script>1424 ··<script>
1425 ··let·initialized·=·false;1425 ··let·initialized·=·false;
564 B
html2text {}
Max HTML report size reached
1.2 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/search.html
    
Offset 137, 15 lines modifiedOffset 137, 15 lines modified
137 ······<p·class="built-using">137 ······<p·class="built-using">
138 ········Built·using138 ········Built·using
139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the139 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>140 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
141 ······</p>141 ······</p>
142 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>142 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
143 ····</footer>143 ····</footer>
144 ··</div>144 ··</div>
145 </main>145 </main>
146 </div>146 </div>
147 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>147 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
148 ··<script>148 ··<script>
149 ··let·initialized·=·false;149 ··let·initialized·=·false;
398 B
html2text {}
Max HTML report size reached
1.51 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/xmerl.html
    
Offset 1094, 15 lines modifiedOffset 1094, 15 lines modified
1094 ······<p·class="built-using">1094 ······<p·class="built-using">
1095 ········Built·using1095 ········Built·using
1096 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1096 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1097 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1097 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1098 ······</p>1098 ······</p>
1099 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1099 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1100 ····</footer>1100 ····</footer>
1101 ··</div>1101 ··</div>
1102 </main>1102 </main>
1103 </div>1103 </div>
1104 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1104 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1105 ··<script>1105 ··<script>
1106 ··let·initialized·=·false;1106 ··let·initialized·=·false;
713 B
html2text {}
Max HTML report size reached
1.45 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/xmerl_eventp.html
    
Offset 538, 15 lines modifiedOffset 538, 15 lines modified
538 ······<p·class="built-using">538 ······<p·class="built-using">
539 ········Built·using539 ········Built·using
540 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the540 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
541 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>541 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
542 ······</p>542 ······</p>
543 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>543 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
544 ····</footer>544 ····</footer>
545 ··</div>545 ··</div>
546 </main>546 </main>
547 </div>547 </div>
548 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>548 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
549 ··<script>549 ··<script>
550 ··let·initialized·=·false;550 ··let·initialized·=·false;
635 B
html2text {}
Max HTML report size reached
61.0 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/xmerl_examples.html
    
Offset 142, 100 lines modifiedOffset 142, 100 lines modified
142 forms·are·<code·class="inline">{Tag, Fun}</code>,·or·<code·class="inline">{Tag, Fun, LocalState}</code>.·The·second·form·can·be·used142 forms·are·<code·class="inline">{Tag, Fun}</code>,·or·<code·class="inline">{Tag, Fun, LocalState}</code>.·The·second·form·can·be·used
143 to·initialize·the·state·variable·in·question.</p><h4>1.1·User·State</h4><p>All·customization·functions·are·free·to·access·a·&quot;User·state&quot;·variable.·Care143 to·initialize·the·state·variable·in·question.</p><h4>1.1·User·State</h4><p>All·customization·functions·are·free·to·access·a·&quot;User·state&quot;·variable.·Care
144 must·of·course·be·taken·to·coordinate·the·use·of·this·state.·It·is·recommended144 must·of·course·be·taken·to·coordinate·the·use·of·this·state.·It·is·recommended
145 that·functions,·which·do·not·really·have·anything·to·contribute·to·the·&quot;global&quot;145 that·functions,·which·do·not·really·have·anything·to·contribute·to·the·&quot;global&quot;
146 user·state,·use·their·own·state·variable·instead.·Another·option·(used·in·e.g.146 user·state,·use·their·own·state·variable·instead.·Another·option·(used·in·e.g.
147 <code·class="inline">xmerl_eventp.erl</code>)·is·for·customization·functions·to·share·one·of·the·local147 <code·class="inline">xmerl_eventp.erl</code>)·is·for·customization·functions·to·share·one·of·the·local
148 states·(in·<code·class="inline">xmerl_eventp.erl</code>,·the·continuation·function·and·the·fetch·function148 states·(in·<code·class="inline">xmerl_eventp.erl</code>,·the·continuation·function·and·the·fetch·function
149 both·access·the·cont_state.)</p><p>Functions·to·access·user·state:</p><ul><li>··<code·class="inline">xmerl_scan:user_state(GlobalState)</code></li><li>··<code·class="inline">xmerl_scan:user_state(UserState,·GlobalState)</code></li></ul><h4>1.2·Event·Function</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0698096291-1">{</span><span·class="ss">event_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="0698096291-2">(</span><span·class="p"·data-group-id="0698096291-2">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·494,·SHA:·25e142d96ab7054891d532fd1938b0cabda0ce4be44fce27188acda4a938a6e5·...·]-3">}</span></code></pre><p>The·event·function·is·called·at·the·beginning·and·at·the·end·of·a·parsed·entity.149 both·access·the·cont_state.)</p><p>Functions·to·access·user·state:</p><ul><li>··<code·class="inline">xmerl_scan:user_state(GlobalState)</code></li><li>··<code·class="inline">xmerl_scan:user_state(UserState,·GlobalState)</code></li></ul><h4>1.2·Event·Function</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3127839018-1">{</span><span·class="ss">event_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3127839018-2">(</span><span·class="p"·data-group-id="3127839018-2">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·494,·SHA:·1b3b9af5b01091a2cd9f2404baf68ea438011160f8ebce372449bd29f6d13b62·...·]-3">}</span></code></pre><p>The·event·function·is·called·at·the·beginning·and·at·the·end·of·a·parsed·entity.
150 It·has·the·following·format·and·semantics:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="6025357704-1">(</span><span·class="n">Event</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="6025357704-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">150 It·has·the·following·format·and·semantics:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="5500530772-1">(</span><span·class="n">Event</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="5500530772-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
151 ···</span><span·class="n">EventState</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">event_state</span><span·class="p"·data-group-id="6025357704-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="6025357704-2">)</span><span·class="p">,</span><span·class="w">151 ···</span><span·class="n">EventState</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">event_state</span><span·class="p"·data-group-id="5500530772-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="5500530772-2">)</span><span·class="p">,</span><span·class="w">
152 ···</span><span·class="n">EventState2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="6025357704-3">(</span><span·class="n">Event</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EventState</span><span·class="p"·data-group-id="6025357704-3">)</span><span·class="p">,</span><span·class="w">152 ···</span><span·class="n">EventState2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="5500530772-3">(</span><span·class="n">Event</span><span·class="p">,</span><span·class="w">·</span><span·class="n">EventState</span><span·class="p"·data-group-id="5500530772-3">)</span><span·class="p">,</span><span·class="w">
153 ···</span><span·class="n">GlobalState2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">event_state</span><span·class="p"·data-group-id="6025357704-4">(</span><span·class="n">EventState2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="6025357704-4">)</span><span·class="w">153 ···</span><span·class="n">GlobalState2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">event_state</span><span·class="p"·data-group-id="5500530772-4">(</span><span·class="n">EventState2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="5500530772-4">)</span><span·class="w">
154 </span><span·class="k">end</span><span·class="p">.</span></code></pre><h4>1.3·Hook·Function</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9379576392-1">{</span><span·class="ss">hook_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="9379576392-2">(</span><span·class="p"·data-group-id="9379576392-2">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·491,·SHA:·310f481cd415ddf87e90d5925833068fc5f554e7a416485fd03fe8cda0499a5c·...·]-3">}</span></code></pre><p>The·hook·function·is·called·when·the·processor·has·parsed·a·complete·entity.154 </span><span·class="k">end</span><span·class="p">.</span></code></pre><h4>1.3·Hook·Function</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3797927608-1">{</span><span·class="ss">hook_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3797927608-2">(</span><span·class="p"·data-group-id="3797927608-2">)</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·491,·SHA:·18b58ffbe36914d30addef93d33db72979f4cc40cb0a2107b944dea4cacd4385·...·]-3">}</span></code></pre><p>The·hook·function·is·called·when·the·processor·has·parsed·a·complete·entity.
155 Format·and·semantics:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="7714503216-1">(</span><span·class="n">Entity</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="7714503216-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">155 Format·and·semantics:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="0004699314-1">(</span><span·class="n">Entity</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="0004699314-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
156 ···</span><span·class="n">HookState</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">hook_state</span><span·class="p"·data-group-id="7714503216-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="7714503216-2">)</span><span·class="p">,</span><span·class="w">156 ···</span><span·class="n">HookState</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">hook_state</span><span·class="p"·data-group-id="0004699314-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="0004699314-2">)</span><span·class="p">,</span><span·class="w">
157 ···</span><span·class="p"·data-group-id="7714503216-3">{</span><span·class="n">TransformedEntity</span><span·class="p">,</span><span·class="w">·</span><span·class="n">HookState2</span><span·class="p"·data-group-id="7714503216-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class=[·...·truncated·by·diffoscope;·len:·242,·SHA:·c24fdced2edcc6c30c21126bf260cae9713668d293a5ef1ea9b1738543856238·...·]-4">)</span><span·class="p">,</span><span·class="w">157 ···</span><span·class="p"·data-group-id="0004699314-3">{</span><span·class="n">TransformedEntity</span><span·class="p">,</span><span·class="w">·</span><span·class="n">HookState2</span><span·class="p"·data-group-id="0004699314-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class=[·...·truncated·by·diffoscope;·len:·242,·SHA:·6334b869b62ce32bb2ed50ab76876b51335dd49a1bda56e994b238084feabd55·...·]-4">)</span><span·class="p">,</span><span·class="w">
158 ···</span><span·class="n">GlobalState2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">hook_state</span><span·class="p"·data-group-id="7714503216-5">(</span><span·class="n">HookState2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="7714503216-5">)</span><span·class="p">,</span><span·class="w">158 ···</span><span·class="n">GlobalState2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">hook_state</span><span·class="p"·data-group-id="0004699314-5">(</span><span·class="n">HookState2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="0004699314-5">)</span><span·class="p">,</span><span·class="w">
159 ···</span><span·class="p"·data-group-id="7714503216-6">{</span><span·class="n">TransformedEntity</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState2</span><span·class="p"·data-group-id="7714503216-6">}</span><span·class="w">159 ···</span><span·class="p"·data-group-id="0004699314-6">{</span><span·class="n">TransformedEntity</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState2</span><span·class="p"·data-group-id="0004699314-6">}</span><span·class="w">
160 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·relationship·between·the·event·function,·the·hook·function·and·the160 </span><span·class="k">end</span><span·class="p">.</span></code></pre><p>The·relationship·between·the·event·function,·the·hook·function·and·the
161 accumulator·function·is·as·follows:</p><ol><li>·The·event·function·is·first·called·with·an·'ended'·event·for·the·parsed161 accumulator·function·is·as·follows:</p><ol><li>·The·event·function·is·first·called·with·an·'ended'·event·for·the·parsed
162 entity.</li><li>·The·hook·function·is·called,·possibly·re-formatting·the·entity.</li><li>·The·acc·function·is·called·in·order·to·(optionally)·add·the·re-formatted162 entity.</li><li>·The·hook·function·is·called,·possibly·re-formatting·the·entity.</li><li>·The·acc·function·is·called·in·order·to·(optionally)·add·the·re-formatted
163 entity·to·the·contents·of·its·parent·element.</li></ol><h4>1.4·Fetch·Function</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0930303414-1">{</span><span·class="ss">fetch_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="0930303414-2">(</span><span·class="p"·data-group-id="0930303414-2">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·494,·SHA:·fb99862ecc33f7e13914cbcfa00611a4007f6167945df50da654f108fdec617b·...·]-3">}</span></code></pre><p>The·fetch·function·is·called·in·order·to·fetch·an·external·resource·(e.g.·a163 entity·to·the·contents·of·its·parent·element.</li></ol><h4>1.4·Fetch·Function</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="2204373529-1">{</span><span·class="ss">fetch_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="2204373529-2">(</span><span·class="p"·data-group-id="2204373529-2">)</span><span·class="p"·data[·...·truncated·by·diffoscope;·len:·494,·SHA:·32f374b6071a340c9cbb916f40f8d4d52c93012789003e038acae76832eab274·...·]-3">}</span></code></pre><p>The·fetch·function·is·called·in·order·to·fetch·an·external·resource·(e.g.·a
164 DTD).</p><p>The·fetch·function·can·respond·with·three·different·return·values:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Result</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:=</span><span·class="w">164 DTD).</p><p>The·fetch·function·can·respond·with·three·different·return·values:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">Result</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:=</span><span·class="w">
165 ···</span><span·class="p"·data-group-id="5108205929-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5108205929-2">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Filename</span>[·...·truncated·by·diffoscope;·len:·179,·SHA:·dafae95397b518fc3dfae4addfd09ff159abf0f41f34404491737bd904eb784d·...·]-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">165 ···</span><span·class="p"·data-group-id="1112848220-1">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1112848220-2">{</span><span·class="ss">file</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Filename</span>[·...·truncated·by·diffoscope;·len:·179,·SHA:·3e77921ca10a9df2428e804212d05753e248aea04ebbfa943f0bc19e9863bd97·...·]-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
166 ···</span><span·class="p"·data-group-id="5108205929-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="5108205929-4">{</span><span·class="ss">string</span><span·class="p">,</span><span·class="w">·</span><span·class="n">String</span>[·...·truncated·by·diffoscope;·len:·179,·SHA:·148982f1bd69ee11a10d01ddfa6a4df053993644ff1ff24b7864839a8a524360·...·]-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">166 ···</span><span·class="p"·data-group-id="1112848220-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="p"·data-group-id="1112848220-4">{</span><span·class="ss">string</span><span·class="p">,</span><span·class="w">·</span><span·class="n">String</span>[·...·truncated·by·diffoscope;·len:·179,·SHA:·ab8fee3a49779d441ea2f0f2dac20e426d8f9706e4ea3a359ea3cd136418a37b·...·]-3">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w">
167 ···</span><span·class="p"·data-group-id="5108205929-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">not_fetched</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NewGlobalState</span><span·class="p"·data-group-id="510820592[·...·truncated·by·diffoscope;·len:·331,·SHA:·d5923bb9485ebef8dd7633ff36327df5048160c71ed86a3c744439a6b7dfff43·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">167 ···</span><span·class="p"·data-group-id="1112848220-5">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">not_fetched</span><span·class="p">,</span><span·class="w">·</span><span·class="n">NewGlobalState</span><span·class="p"·data-group-id="111284822[·...·truncated·by·diffoscope;·len:·331,·SHA:·0502b30837b73ca497735708b85a2e86e8c9280a6983c497b7e85fcac7b145b2·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
168 ···</span><span·class="n">FetchState</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">fetch_state</span><span·class="p"·data-group-id="4218449803-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="4218449803-2">)</span><span·class="p">,</span><span·class="w">168 ···</span><span·class="n">FetchState</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">fetch_state</span><span·class="p"·data-group-id="2366320515-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="2366320515-2">)</span><span·class="p">,</span><span·class="w">
169 ···</span><span·class="n">Result</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="4218449803-3">(</span><span·class="n">URI</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FetchState</span><span·class="p"·data-group-id="4218449803-3">)</span><span·class="p">.</span><span·class="w">··</span><span·class="c1">%·Result·being·one·of·the·above</span><span·class="w">169 ···</span><span·class="n">Result</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">foo</span><span·class="p"·data-group-id="2366320515-3">(</span><span·class="n">URI</span><span·class="p">,</span><span·class="w">·</span><span·class="n">FetchState</span><span·class="p"·data-group-id="2366320515-3">)</span><span·class="p">.</span><span·class="w">··</span><span·class="c1">%·Result·being·one·of·the·above</span><span·class="w">
170 </span><span·class="k">end</span><span·class="p">.</span></code></pre><h4>1.5·Continuation·Function</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3449761000-1">{</span><span·class="ss">continuation_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3449761000-2">(</span><span·class="p"·data-group-id="3449761000-2">)</span><span·class="[·...·truncated·by·diffoscope;·len:·515,·SHA:·0dfbbd1b37a1f760aff251f11d9dfa254f71e76879ea8bc33a961a3f37c7bd5c·...·]-3">}</span></code></pre><p>The·continuation·function·is·called·when·the·parser·encounters·the·end·of·the170 </span><span·class="k">end</span><span·class="p">.</span></code></pre><h4>1.5·Continuation·Function</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="9433041697-1">{</span><span·class="ss">continuation_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="9433041697-2">(</span><span·class="p"·data-group-id="9433041697-2">)</span><span·class="[·...·truncated·by·diffoscope;·len:·515,·SHA:·3b55d267e92fff3feaae1f159237517a6da4169567f804fa2c0fe8e9ddc2525b·...·]-3">}</span></code></pre><p>The·continuation·function·is·called·when·the·parser·encounters·the·end·of·the
171 byte·stream.·Format·and·semantics:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="3176534122-1">(</span><span·class="n">Continue</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Exception</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="3176534122-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">171 byte·stream.·Format·and·semantics:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="5721517266-1">(</span><span·class="n">Continue</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Exception</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="5721517266-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
172 ···</span><span·class="n">ContState</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">cont_state</span><span·class="p"·data-group-id="3176534122-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="3176534122-2">)</span><span·class="p">,</span><span·class="w">172 ···</span><span·class="n">ContState</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">cont_state</span><span·class="p"·data-group-id="5721517266-2">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="5721517266-2">)</span><span·class="p">,</span><span·class="w">
173 ···</span><span·class="p"·data-group-id="3176534122-3">{</span><span·class="n">Result</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ContState2</span><span·class="p"·data-group-id="3176534122-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·165,·SHA:·13f8930b0ee769b12a93ad7c4f1a4535a511b7cb4a98b6e261e49d4b1f3ec7a3·...·]-4">)</span><span·class="p">,</span><span·class="w">173 ···</span><span·class="p"·data-group-id="5721517266-3">{</span><span·class="n">Result</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ContState2</span><span·class="p"·data-group-id="5721517266-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span[·...·truncated·by·diffoscope;·len:·165,·SHA:·242c4befe68a7c01d41beaf16b6555ae4ca3ca1efe0bd279918cb819f6b5e960·...·]-4">)</span><span·class="p">,</span><span·class="w">
174 ···</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Result</span><span·class="w">·</span><span·class="k">of</span><span·class="w">174 ···</span><span·class="k">case</span><span·class="w">·</span><span·class="n">Result</span><span·class="w">·</span><span·class="k">of</span><span·class="w">
175 ······</span><span·class="p"·data-group-id="3176534122-5">[</span><span·class="p"·data-group-id="3176534122-5">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">175 ······</span><span·class="p"·data-group-id="5721517266-5">[</span><span·class="p"·data-group-id="5721517266-5">]</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
176 ·········</span><span·class="n">GlobalState2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">cont_state</span><span·class="p"·data-group-id="3176534122-6">(</span><span·class="n">ContState2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="3176534122-6">)</span><span·class="p">,</span><span·class="w">176 ·········</span><span·class="n">GlobalState2</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">cont_state</span><span·class="p"·data-group-id="5721517266-6">(</span><span·class="n">ContState2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="5721517266-6">)</span><span·class="p">,</span><span·class="w">
177 ·········</span><span·class="n">Exception</span><span·class="p"·data-group-id="3176534122-7">(</span><span·class="n">GlobalState2</span><span·class="p"·data-group-id="3176534122-7">)</span><span·class="p">;</span><span·class="w">177 ·········</span><span·class="n">Exception</span><span·class="p"·data-group-id="5721517266-7">(</span><span·class="n">GlobalState2</span><span·class="p"·data-group-id="5721517266-7">)</span><span·class="p">;</span><span·class="w">
178 ······</span><span·class="n">MoreBytes</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">178 ······</span><span·class="n">MoreBytes</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
179 ·········</span><span·class="p"·data-group-id="3176534122-8">{</span><span·class="n">MoreBytes2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p"·data-group-id="3176534122-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·171,·SHA:·ac98cd7afc776bc7d7ef39ec7df1140fb1b62ecb05ac601b116440e2c6e48885·...·]-9">)</span><span·class="p">,</span><span·class="w">179 ·········</span><span·class="p"·data-group-id="5721517266-8">{</span><span·class="n">MoreBytes2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Rest</span><span·class="p"·data-group-id="5721517266-8">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·171,·SHA:·b7d2dd34cf1ae983f5da9e58509ea291da124f0a52870ab290aa535708a463d9·...·]-9">)</span><span·class="p">,</span><span·class="w">
180 ·········</span><span·class="n">ContState3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">update_cont_state</span><span·class="p"·data-group-id="3176534122-10">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ContState2</span><span·class="p"·data-group-id="3176534122-10">)</span><span·class="p">,</span><span·class="w">180 ·········</span><span·class="n">ContState3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nf">update_cont_state</span><span·class="p"·data-group-id="5721517266-10">(</span><span·class="n">Rest</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ContState2</span><span·class="p"·data-group-id="5721517266-10">)</span><span·class="p">,</span><span·class="w">
181 ·········</span><span·class="n">GlobalState3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">cont_state</span><span·class="p"·data-group-id="3176534122-11">(</span><span·class="n">ContState3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="3176534122-11">)</span><span·class="p">,</span><span·class="w">181 ·········</span><span·class="n">GlobalState3</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">cont_state</span><span·class="p"·data-group-id="5721517266-11">(</span><span·class="n">ContState3</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="5721517266-11">)</span><span·class="p">,</span><span·class="w">
182 ·········</span><span·class="n">Continue</span><span·class="p"·data-group-id="3176534122-12">(</span><span·class="n">MoreBytes2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState3</span><span·class="p"·data-group-id="3176534122-12">)</span><span·class="w">182 ·········</span><span·class="n">Continue</span><span·class="p"·data-group-id="5721517266-12">(</span><span·class="n">MoreBytes2</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState3</span><span·class="p"·data-group-id="5721517266-12">)</span><span·class="w">
183 ···</span><span·class="k">end</span><span·class="w">183 ···</span><span·class="k">end</span><span·class="w">
184 </span><span·class="k">end</span><span·class="p">.</span></code></pre><h4>1.6·Rules·Functions</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="3887144763-1">{</span><span·class="ss">rules</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ReadFun</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3887144763-2">(</span><span·class="p"·data-group-id="3887144763-2">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">WriteFun</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="3887144763-3">(</span><span·class="p"·data-group-id="3887144763-3">)</span><span·class="p">,</span><span·class="w">·</span><span·class="n">RulesState</span><span·class="p"·data-group-id="3887144763-1">}</span><span·class="w">·</span><span·class="p">|</span><span·class="w"> 
185 </span><span·class="p"·data-group-id="3887144763-4">{</span><span·class="ss">rules</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Table</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">ets</span><span·class=[·...·truncated·by·diffoscope;·len:·234,·SHA:·60878ef04b99fccaae52eafec081f8d26669ac7b5a999dbfb5ce9fa7c56d5696·...·]184 </span><span·class="k">end</span><span·class="p">.</span></code></pre><h4>1.6·Rules·Functions</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="1328700814-1">{</span><span·class="ss">rules</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·717,·SHA:·9292893af3eb99a972c6eb40f6082a83e3acb0086b4be4ae0b6eec25959408dd·...·]
 185 </span><span·class="p"·data-group-id="1328700814-4">{</span><span·class="ss">rules</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Table</span><span·class="w">·</span><span·class="p">:</span><span·class="w">·</span><span·class="nf">ets</span><span·class="p"·data-group-id="1328700814-5">(</span><span·class="p"·data-group-id="1328700814-5">)</span><span·class="p"·data-group-id="1328700814-4">}</span></code></pre><p>The·rules·functions·take·care·of·storing·scanner·information·in·a·rules
186 database.·User-provided·rules·functions·may·opt·to·store·the·information·in186 database.·User-provided·rules·functions·may·opt·to·store·the·information·in
187 mnesia,·or·perhaps·in·the·user_state(RulesState).</p><p>The·following·modes·exist:</p><ul><li>··If·the·user·doesn't·specify·an·option,·the·scanner·creates·an·ets·table,·and187 mnesia,·or·perhaps·in·the·user_state(RulesState).</p><p>The·following·modes·exist:</p><ul><li>··If·the·user·doesn't·specify·an·option,·the·scanner·creates·an·ets·table,·and
188 uses·built-in·functions·to·read·and·write·data·to·it.·When·the·scanner·is188 uses·built-in·functions·to·read·and·write·data·to·it.·When·the·scanner·is
189 done,·the·ets·table·is·deleted.</li><li>··If·the·user·specifies·an·ets·table·via·the·<code·class="inline">{rules, Table}</code>·option,·the189 done,·the·ets·table·is·deleted.</li><li>··If·the·user·specifies·an·ets·table·via·the·<code·class="inline">{rules, Table}</code>·option,·the
190 scanner·uses·this·table.·When·the·scanner·is·done,·it·does·<em>not</em>·delete·the190 scanner·uses·this·table.·When·the·scanner·is·done,·it·does·<em>not</em>·delete·the
191 table.</li><li>··If·the·user·specifies·read·and·write·functions,·the·scanner·will·use·them191 table.</li><li>··If·the·user·specifies·read·and·write·functions,·the·scanner·will·use·them
192 instead.</li></ul><p>The·format·for·the·read·and·write·functions·are·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="n">WriteFun</span><span·class="p"·data-group-id="3222857472-1">(</span><span·class="n">Context</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Definition</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·74,·SHA:·1772c4a2a3495f43db75f3d9e0151d0f1fd5ec9977eb33bf764278a31da3d3b9·...·]72-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">NewScannerState</span><span·class="p">.</span><span·class="w">192 instead.</li></ul><p>The·format·for·the·read·and·write·functions·are·as·follows:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="w">·</span><span·class="n">WriteFun</span><span·class="p"·data-group-id="4760445272-1">(</span><span·class="n">Context</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Definition</span><span·class="p">,</span><span·class="w">·</span>[·...·truncated·by·diffoscope;·len:·74,·SHA:·b0979b941301ca9f871dad0da457e4d0bc6564682ef43ca2976457462ed9c197·...·]72-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">NewScannerState</span><span·class="p">.</span><span·class="w">
193 ·</span><span·class="n">ReadFun</span><span·class="p"·data-group-id="3222857472-2">(</span><span·class="n">Context</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ScannerState</span><span·class="p"·data-group-id="3222857472-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Definition</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">.</span></code></pre><p>Here·is·a·summary·of·the·data·objects·currently·being·written·by·the·scanner:</p><table><thead><tr><th·style="text-align:·left;">Context</th><th·style="text-align:·left;">Key·Value</th><th·style="text-align:·left;">Definition</th></tr></thead><tbody><tr><td·style="text-align:·left;">notation</td><td·style="text-align:·left;">NotationName</td><td·style="text-align:·left;"><code·class="inline">{system, SL}·|·{public, PIDL, SL}</code></td></tr><tr><td·style="text-align:·left;">elem_def</td><td·style="text-align:·left;">ElementName</td><td·style="text-align:·left;"><code·class="inline">#xmlElement{content·=·ContentSpec}</code></td></tr><tr><td·style="text-align:·left;">parameter_entity</td><td·style="text-align:·left;">PEName</td><td·style="text-align:·left;"><code·class="inline">PEDef</code></td></tr><tr><td·style="text-align:·left;">entity</td><td·style="text-align:·left;">EntityName</td><td·style="text-align:·left;"><code·class="inline">EntityDef</code></td></tr></tbody></table><p><strong>·Table·1:</strong>·Scanner·data·objects</p><p>where</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ContentSpec</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:=</span><span·class="w">·</span><span·class="ss">empty</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">any</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">ElemContent</span><span·class="w">193 ·</span><span·class="n">ReadFun</span><span·class="p"·data-group-id="4760445272-2">(</span><span·class="n">Context</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Name</span><span·class="p">,</span><span·class="w">·</span><span·class="n">ScannerState</span><span·class="p"·data-group-id="4760445272-2">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Definition</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">undefined</span><span·class="p">.</span></code></pre><p>Here·is·a·summary·of·the·data·objects·currently·being·written·by·the·scanner:</p><table><thead><tr><th·style="text-align:·left;">Context</th><th·style="text-align:·left;">Key·Value</th><th·style="text-align:·left;">Definition</th></tr></thead><tbody><tr><td·style="text-align:·left;">notation</td><td·style="text-align:·left;">NotationName</td><td·style="text-align:·left;"><code·class="inline">{system, SL}·|·{public, PIDL, SL}</code></td></tr><tr><td·style="text-align:·left;">elem_def</td><td·style="text-align:·left;">ElementName</td><td·style="text-align:·left;"><code·class="inline">#xmlElement{content·=·ContentSpec}</code></td></tr><tr><td·style="text-align:·left;">parameter_entity</td><td·style="text-align:·left;">PEName</td><td·style="text-align:·left;"><code·class="inline">PEDef</code></td></tr><tr><td·style="text-align:·left;">entity</td><td·style="text-align:·left;">EntityName</td><td·style="text-align:·left;"><code·class="inline">EntityDef</code></td></tr></tbody></table><p><strong>·Table·1:</strong>·Scanner·data·objects</p><p>where</p><pre><code·class="makeup·erlang"·translate="no"><span·class="n">ContentSpec</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:=</span><span·class="w">·</span><span·class="ss">empty</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">any</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">ElemContent</span><span·class="w">
194 </span><span·class="n">ElemContent</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:=</span><span·class="w">·</span><span·class="p"·data-group-id="8487585409-1">{</span><span·class="n">Mode</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Elems</span><span·class="p"·data-group-id="8487585409-1">}</span><span·class="w">194 </span><span·class="n">ElemContent</span><span·class="w">·</span><span·class="p">:</span><span·class="p">:=</span><span·class="w">·</span><span·class="p"·data-group-id="2086161083-1">{</span><span·class="n">Mode</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Elems</span><span·class="p"·data-group-id="2086161083-1">}</span><span·class="w">
195 </span><span·class="n">Mode</span><span·class="w">········</span><span·class="p">:</span><span·class="p">:=</span><span·class="w">·</span><span·class="ss">seq</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">choice</span><span·class="w">195 </span><span·class="n">Mode</span><span·class="w">········</span><span·class="p">:</span><span·class="p">:=</span><span·class="w">·</span><span·class="ss">seq</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">choice</span><span·class="w">
196 </span><span·class="n">Elems</span><span·class="w">·······</span><span·class="p">:</span><span·class="p">:=</span><span·class="w">·</span><span·class="p"·data-group-id="8487585409-2">[</span><span·class="n">Elem</span><span·class="p"·data-group-id="8487585409-2">]</span><span·class="w">196 </span><span·class="n">Elems</span><span·class="w">·······</span><span·class="p">:</span><span·class="p">:=</span><span·class="w">·</span><span·class="p"·data-group-id="2086161083-2">[</span><span·class="n">Elem</span><span·class="p"·data-group-id="2086161083-2">]</span><span·class="w">
197 </span><span·class="n">Elem</span><span·class="w">········</span><span·class="p">:</span><span·class="p">:=</span><span·class="w">·</span><span·class="ss">&#39;#PCDATA&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Name</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">ElemContent</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="8487585409-3">{</span><span·class="n">Occurrence</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Elems</span><span·class="p"·data-group-id="8487585409-3">}</span><span·class="w">197 </span><span·class="n">Elem</span><span·class="w">········</span><span·class="p">:</span><span·class="p">:=</span><span·class="w">·</span><span·class="ss">&#39;#PCDATA&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">Name</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="n">ElemContent</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="p"·data-group-id="2086161083-3">{</span><span·class="n">Occurrence</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Elems</span><span·class="p"·data-group-id="2086161083-3">}</span><span·class="w">
198 </span><span·class="n">Occurrence</span><span·class="w">··</span><span·class="p">:</span><span·class="p">:=</span><span·class="w">·</span><span·class="ss">&#39;*&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;?&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;+&#39;</span></code></pre><p>NOTE:·<em>When·&lt;Elem&gt;·is·not·wrapped·with·&lt;Occurrence&gt;,·(Occurrence·=·once)·is198 </span><span·class="n">Occurrence</span><span·class="w">··</span><span·class="p">:</span><span·class="p">:=</span><span·class="w">·</span><span·class="ss">&#39;*&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;?&#39;</span><span·class="w">·</span><span·class="p">|</span><span·class="w">·</span><span·class="ss">&#39;+&#39;</span></code></pre><p>NOTE:·<em>When·&lt;Elem&gt;·is·not·wrapped·with·&lt;Occurrence&gt;,·(Occurrence·=·once)·is
199 implied.</em></p><h4>1.7·Accumulator·Function</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="4764487350-1">{</span><span·class="ss">acc_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="4764487350-2">(</span><span·class="p"·data-group-id="4764487350-2">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·3f532b6adb9e14ed952a64da541b64c65f4688edc695cdbf1fb19d5a193ebb12·...·]-1">}</span></code></pre><p>The·accumulator·function·is·called·to·accumulate·the·contents·of·an·entity.When199 implied.</em></p><h4>1.7·Accumulator·Function</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="p"·data-group-id="0390399623-1">{</span><span·class="ss">acc_fun</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="0390399623-2">(</span><span·class="p"·data-group-id="0390399623-2">)</span><span·class="p"·data-g[·...·truncated·by·diffoscope;·len:·19,·SHA:·61c61e8717b28e108027e7312587ee76f60145bdb2520f74ac2f8669f09613c3·...·]-1">}</span></code></pre><p>The·accumulator·function·is·called·to·accumulate·the·contents·of·an·entity.When
200 parsing·very·large·files,·it·may·not·be·desirable·to·do·so.In·this·case,·an·acc200 parsing·very·large·files,·it·may·not·be·desirable·to·do·so.In·this·case,·an·acc
201 function·can·be·provided·that·simply·doesn't·accumulate.</p><p>Note·that·it·is·possible·to·even·modify·the·parsed·entity·before·accumulating201 function·can·be·provided·that·simply·doesn't·accumulate.</p><p>Note·that·it·is·possible·to·even·modify·the·parsed·entity·before·accumulating
202 it,·but·this·must·be·done·with·care.·xmerl_scan·performs·post-processing·of·the202 it,·but·this·must·be·done·with·care.·xmerl_scan·performs·post-processing·of·the
203 element·for·namespace·management.·Thus,·the·element·must·keep·its·original203 element·for·namespace·management.·Thus,·the·element·must·keep·its·original
204 structure·for·this·to·work.</p><p>The·acc·function·has·the·following·format·and·semantics:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·default·accumulating·acc·fun</span><span·class="w">204 structure·for·this·to·work.</p><p>The·acc·function·has·the·following·format·and·semantics:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="c1">%%·default·accumulating·acc·fun</span><span·class="w">
205 </span><span·class="nf">fun</span><span·class="p"·data-group-id="7482043445-1">(</span><span·class="n">ParsedEntity</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="7482043445-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">205 </span><span·class="nf">fun</span><span·class="p"·data-group-id="6762434001-1">(</span><span·class="n">ParsedEntity</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="6762434001-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
206 ···</span><span·class="p"·data-group-id="7482043445-2">{</span><span·class="p"·data-group-id="7482043445-3">[</span><span·class="n">ParsedEntity</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="7482043445-3">]</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·80,·SHA:·d0233e924c7b69d944fd139679e93c99550c0e54002a7b38ca9f2454adf1e9f4·...·]-2">}</span><span·class="p">.</span><span·class="w">206 ···</span><span·class="p"·data-group-id="6762434001-2">{</span><span·class="p"·data-group-id="6762434001-3">[</span><span·class="n">ParsedEntity</span><span·class="p">|</span><span·class="n">Acc</span><span·class="p"·data-group-id="6762434001-3">]</span><span·class="p">,</span><span·class="w">·</[·...·truncated·by·diffoscope;·len:·80,·SHA:·3e00db9e6f8c78bcf0585a856a804108d2c9d46c7f0793d42852effbccc984c8·...·]-2">}</span><span·class="p">.</span><span·class="w">
  
207 </span><span·class="c1">%%·non-accumulating·acc·fun</span><span·class="w">207 </span><span·class="c1">%%·non-accumulating·acc·fun</span><span·class="w">
208 </span><span·class="nf">fun</span><span·class="p"·data-group-id="7482043445-4">(</span><span·class="n">ParsedEntity</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="7482043445-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">208 </span><span·class="nf">fun</span><span·class="p"·data-group-id="6762434001-4">(</span><span·class="n">ParsedEntity</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Acc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="6762434001-4">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
209 ···</span><span·class="p"·data-group-id="7482043445-5">{</span><span·class="n">Acc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="7482043445-5">}</span><span·class="p">.</span></code></pre><h4>1.8·Close·Function</h4><p>The·close·function·is·called·when·a·document·(either·the·main·document·or·an209 ···</span><span·class="p"·data-group-id="6762434001-5">{</span><span·class="n">Acc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="6762434001-5">}</span><span·class="p">.</span></code></pre><h4>1.8·Close·Function</h4><p>The·close·function·is·called·when·a·document·(either·the·main·document·or·an
210 external·DTD)·has·been·completely·parsed.·When·xmerl_scan·was·started·using210 external·DTD)·has·been·completely·parsed.·When·xmerl_scan·was·started·using
211 <code·class="inline">xmerl_scan:file/[1,2]</code>,·the·file·will·be·read·in·full,·and·closed·immediately,211 <code·class="inline">xmerl_scan:file/[1,2]</code>,·the·file·will·be·read·in·full,·and·closed·immediately,
212 before·the·parsing·starts,·so·when·the·close·function·is·called,·it·will·not212 before·the·parsing·starts,·so·when·the·close·function·is·called,·it·will·not
213 need·to·actually·close·the·file.·In·this·case,·the·close·function·will·be·a·good213 need·to·actually·close·the·file.·In·this·case,·the·close·function·will·be·a·good
214 place·to·modify·the·state·variables.</p><p>Format·and·semantics:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="3261078645-1">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="3261078645-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">214 place·to·modify·the·state·variables.</p><p>Format·and·semantics:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">fun</span><span·class="p"·data-group-id="5831648548-1">(</span><span·class="n">GlobalState</span><span·class="p"·data-group-id="5831648548-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
215 ···</span><span·class="n">GlobalState1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">··</span><span·class="c1">%·state·variables·may·be·altered</span></code></pre><h3·id="2-examples"·class="section-heading">215 ···</span><span·class="n">GlobalState1</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="p">.</span><span·class="w">··</span><span·class="c1">%·state·variables·may·be·altered</span></code></pre><h3·id="2-examples"·class="section-heading">
216 ··<a·href="#2-examples"·class="hover-link">216 ··<a·href="#2-examples"·class="hover-link">
217 ····<i·class="ri-link-m"·aria-hidden="true"></i>217 ····<i·class="ri-link-m"·aria-hidden="true"></i>
218 ··</a>218 ··</a>
219 ··<span·class="text">2·Examples</span>219 ··<span·class="text">2·Examples</span>
220 </h3>220 </h3>
221 <p>See·<code·class="inline">xmerl_test.erl</code>·for·more·examples.</p><h4>2.1·Handling·spaces</h4><p>The·following·sample·program·illustrates·three·ways·of·scanning·a·document:</p><ol><li>·the·default·scan,·which·leaves·whitespace·untouched</li><li>·normalizing·spaces</li><li>·normalizing·spaces,·then·removing·text·elements·that·only·contain·one·space.</li></ol><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="4386225674-1">(</span><span·class="ss">tmp</span><span·class="p"·data-group-id="4386225674-1">)</span><span·class="p">.</span><span·class="w">221 <p>See·<code·class="inline">xmerl_test.erl</code>·for·more·examples.</p><h4>2.1·Handling·spaces</h4><p>The·following·sample·program·illustrates·three·ways·of·scanning·a·document:</p><ol><li>·the·default·scan,·which·leaves·whitespace·untouched</li><li>·normalizing·spaces</li><li>·normalizing·spaces,·then·removing·text·elements·that·only·contain·one·space.</li></ol><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">module</span><span·class="p"·data-group-id="5042960484-1">(</span><span·class="ss">tmp</span><span·class="p"·data-group-id="5042960484-1">)</span><span·class="p">.</span><span·class="w">
222 </span><span·class="w">222 </span><span·class="w">
223 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="4386225674-2">(</span><span·class="s">&quot;xmerl.hrl&quot;</span><span·class="p"·data-group-id="4386225674-2">)</span><span·class="p">.</span><span·class="w">223 </span><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="5042960484-2">(</span><span·class="s">&quot;xmerl.hrl&quot;</span><span·class="p"·data-group-id="5042960484-2">)</span><span·class="p">.</span><span·class="w">
224 </span><span·class="w">224 </span><span·class="w">
225 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="4386225674-3">(</span><span·class="p"·data-group-id="4386225674-4">[</span><span·class="ss">file1</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file2</span><span·class="p">/</span><s[·...·truncated·by·diffoscope;·len:·242,·SHA:·82a8bae280a330867842a2aa2f1439a799c88e7357530bc59e9e6f21e1204a5f·...·]4-3">)</span><span·class="p">.</span><span·class="w">225 </span><span·class="p">-</span><span·class="na">export</span><span·class="p"·data-group-id="5042960484-3">(</span><span·class="p"·data-group-id="5042960484-4">[</span><span·class="ss">file1</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">file2</span><span·class="p">/</span><s[·...·truncated·by·diffoscope;·len:·242,·SHA:·d72e310def1534018e676b7df655165bffa0f208bdde215c681423e84a9a0823·...·]4-3">)</span><span·class="p">.</span><span·class="w">
  
226 </span><span·class="nf">file1</span><span·class="p"·data-group-id="4386225674-5">(</span><span·class="n">F</span><span·class="p"·data-group-id="4386225674-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">file</[·...·truncated·by·diffoscope;·len:·122,·SHA:·72b4b5b9ddc5009902b977496cce5a4fa7523d881eee3166bbf6bf7b482592e6·...·]4-6">)</span><span·class="p">.</span><span·class="w">226 </span><span·class="nf">file1</span><span·class="p"·data-group-id="5042960484-5">(</span><span·class="n">F</span><span·class="p"·data-group-id="5042960484-5">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">file</[·...·truncated·by·diffoscope;·len:·122,·SHA:·293071ba5927fd243f7bfb0ae654063f7a124a51c228151f1d5d137e7dd416c2·...·]4-6">)</span><span·class="p">.</span><span·class="w">
  
227 </span><span·class="nf">file2</span><span·class="p"·data-group-id="4386225674-7">(</span><span·class="n">F</span><span·class="p"·data-group-id="4386225674-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">file</[·...·truncated·by·diffoscope;·len:·470,·SHA:·d5d2c02d201be6a9b94e42dbb9185ae3f43da7115ec2aafa5444ed011d35fc39·...·]4-8">)</span><span·class="p">.</span><span·class="w">227 </span><span·class="nf">file2</span><span·class="p"·data-group-id="5042960484-7">(</span><span·class="n">F</span><span·class="p"·data-group-id="5042960484-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><span·class="p">:</span><span·class="nf">file</[·...·truncated·by·diffoscope;·len:·470,·SHA:·bf811a62a668fd3e913e684837e65047b4353170867e9341c3fe3bb26148804e·...·]4-8">)</span><span·class="p">.</span><span·class="w">
  
228 </span><span·class="nf">file3</span><span·class="p"·data-group-id="4386225674-11">(</span><span·class="n">F</span><span·class="p"·data-group-id="4386225674-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Acc</span><span·class="w">·</span><span·class="o">=</span><span[·...·truncated·by·diffoscope;·len:·887,·SHA:·4a0f53c9388a1f5fbf272ecc9726db2a0c0438f2db35b52e3fc7fec5267ac535·...·]4-14">{</span><span·class="n">Acc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">P</span><span·class="p">,</span><span·class="w">228 </span><span·class="nf">file3</span><span·class="p"·data-group-id="5042960484-11">(</span><span·class="n">F</span><span·class="p"·data-group-id="5042960484-11">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">·</span><span·class="n">Acc</span><span·class="w">·</span><span·class="o">=</span><span[·...·truncated·by·diffoscope;·len:·887,·SHA:·161786ee85aafa0885116f428e8e4a1508247404a41d3c6b32b81c3e3f804cb2·...·]4-14">{</span><span·class="n">Acc</span><span·class="p">,</span><span·class="w">·</span><span·class="n">P</span><span·class="p">,</span><span·class="w">
229 </span><span·class="n">S</span><span·class="p"·data-group-id="4386225674-14">}</span><span·class="p">;</span><span·class="w">·</span><span·class="c1">%·new·return·format·(X,·Acc,·S)·-&gt;·{[X|Acc],·S}·end,·xmerl_scan:file(F,</span><span·class="w">229 </span><span·class="n">S</span><span·class="p"·data-group-id="5042960484-14">}</span><span·class="p">;</span><span·class="w">·</span><span·class="c1">%·new·return·format·(X,·Acc,·S)·-&gt;·{[X|Acc],·S}·end,·xmerl_scan:file(F,</span><span·class="w">
230 </span><span·class="p"·data-group-id="4386225674-15">[</span><span·class="p"·data-group-id="4386225674-16">{</span><span·class="ss">space</span><span·class="p">,</span><span·class="ss">normalize</span><span·class="p"·data-group-id="4386225674-16">}</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·262,·SHA:·72ef764c786ef6a2e4a76b8b7e5e427cee5a43c43946afdbcbbb54d250bc6345·...·]4-15">]</span><span·class="p">)</span><span·class="p">.</span></code></pre>230 </span><span·class="p"·data-group-id="5042960484-15">[</span><span·class="p"·data-group-id="5042960484-16">{</span><span·class="ss">space</span><span·class="p">,</span><span·class="ss">normalize</span><span·class="p"·data-group-id="5042960484-16">}</span><span·class="p">,</span><span·class="w"[·...·truncated·by·diffoscope;·len:·262,·SHA:·ea59fa0ae99657f5772ca0d8b2725c17ffb2bae7c6670550146db3b1c1acc506·...·]4-15">]</span><span·class="p">)</span><span·class="p">.</span></code></pre>
231 </div>231 </div>
  
232 <div·class="bottom-actions"·id="bottom-actions">232 <div·class="bottom-actions"·id="bottom-actions">
233 ··<div·class="bottom-actions-item">233 ··<div·class="bottom-actions-item">
  
234 ······<a·href="xmerl_ug.html"·class="bottom-actions-button"·rel="prev">234 ······<a·href="xmerl_ug.html"·class="bottom-actions-button"·rel="prev">
235 ········<span·class="subheader">235 ········<span·class="subheader">
Offset 274, 15 lines modifiedOffset 274, 15 lines modified
274 ······<p·class="built-using">274 ······<p·class="built-using">
275 ········Built·using275 ········Built·using
276 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the276 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
277 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>277 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
278 ······</p>278 ······</p>
279 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>279 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
280 ····</footer>280 ····</footer>
281 ··</div>281 ··</div>
282 </main>282 </main>
283 </div>283 </div>
284 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>284 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
285 ··<script>285 ··<script>
286 ··let·initialized·=·false;286 ··let·initialized·=·false;
672 B
html2text {}
Max HTML report size reached
1.4 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/xmerl_sax_parser.html
    
Offset 771, 15 lines modifiedOffset 771, 15 lines modified
771 ······<p·class="built-using">771 ······<p·class="built-using">
772 ········Built·using772 ········Built·using
773 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the773 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
774 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>774 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
775 ······</p>775 ······</p>
776 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>776 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
777 ····</footer>777 ····</footer>
778 ··</div>778 ··</div>
779 </main>779 </main>
780 </div>780 </div>
781 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>781 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
782 ··<script>782 ··<script>
783 ··let·initialized·=·false;783 ··let·initialized·=·false;
579 B
html2text {}
Max HTML report size reached
1.46 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/xmerl_scan.html
    
Offset 1099, 15 lines modifiedOffset 1099, 15 lines modified
1099 ······<p·class="built-using">1099 ······<p·class="built-using">
1100 ········Built·using1100 ········Built·using
1101 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the1101 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
1102 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>1102 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
1103 ······</p>1103 ······</p>
1104 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>1104 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
1105 ····</footer>1105 ····</footer>
1106 ··</div>1106 ··</div>
1107 </main>1107 </main>
1108 </div>1108 </div>
1109 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>1109 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
1110 ··<script>1110 ··<script>
1111 ··let·initialized·=·false;1111 ··let·initialized·=·false;
647 B
html2text {}
Max HTML report size reached
161 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/xmerl_ug.html
Max HTML report size reached
1.43 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/xmerl_xpath.html
    
Offset 490, 15 lines modifiedOffset 490, 15 lines modified
490 ······<p·class="built-using">490 ······<p·class="built-using">
491 ········Built·using491 ········Built·using
492 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the492 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
493 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>493 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
494 ······</p>494 ······</p>
495 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>495 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
496 ····</footer>496 ····</footer>
497 ··</div>497 ··</div>
498 </main>498 </main>
499 </div>499 </div>
500 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>500 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
501 ··<script>501 ··<script>
502 ··let·initialized·=·false;502 ··let·initialized·=·false;
622 B
html2text {}
Max HTML report size reached
1.26 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/xmerl_xs.html
    
Offset 367, 15 lines modifiedOffset 367, 15 lines modified
367 ······<p·class="built-using">367 ······<p·class="built-using">
368 ········Built·using368 ········Built·using
369 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the369 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
370 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>370 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
371 ······</p>371 ······</p>
372 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>372 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
373 ····</footer>373 ····</footer>
374 ··</div>374 ··</div>
375 </main>375 </main>
376 </div>376 </div>
377 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>377 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
378 ··<script>378 ··<script>
379 ··let·initialized·=·false;379 ··let·initialized·=·false;
456 B
html2text {}
Max HTML report size reached
60.4 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/xmerl_xs_examples.html
    
Offset 131, 21 lines modifiedOffset 131, 21 lines modified
131 ··</a>131 ··</a>
132 ··<span·class="text">Examples</span>132 ··<span·class="text">Examples</span>
133 </h3>133 </h3>
134 <hr·class="thin"/><h4>Example·1·Using·xslapply</h4><p>original·XSLT:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="w">·</span><span·class="ss">match</span><span·class="o">=</span><span·class="s">&quot;doc/title&quot;</span><span·class="o">&gt;</span><span·class="w">134 <hr·class="thin"/><h4>Example·1·Using·xslapply</h4><p>original·XSLT:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="w">·</span><span·class="ss">match</span><span·class="o">=</span><span·class="s">&quot;doc/title&quot;</span><span·class="o">&gt;</span><span·class="w">
135 ····</span><span·class="o">&lt;</span><span·class="ss">h1</span><span·class="o">&gt;</span><span·class="w">135 ····</span><span·class="o">&lt;</span><span·class="ss">h1</span><span·class="o">&gt;</span><span·class="w">
136 ······</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="nb">apply</span><span·class="o">-</span><span·class="ss">templates</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="w">136 ······</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="nb">apply</span><span·class="o">-</span><span·class="ss">templates</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="w">
137 ····</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="ss">h1</span><span·class="o">&gt;</span><span·class="w">137 ····</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="ss">h1</span><span·class="o">&gt;</span><span·class="w">
138 </span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="o">&gt;</span></code></pre><p>becomes·in·Erlang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">template</span><span·class="p"·data-group-id="1830396656-1">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="1830396656-2">{</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·628,·SHA:·8a2ac4f3e68c94f723769e4a9ec043d1b610a796b02c4f9a395f3fcdfa6afbd3·...·]6-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">138 </span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="o">&gt;</span></code></pre><p>becomes·in·Erlang:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">template</span><span·class="p"·data-group-id="1651170086-1">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="1651170086-2">{</span><span·class="w">·</span><spa[·...·truncated·by·diffoscope;·len:·628,·SHA:·0eb304f46e6d7b836602e0983463ee0744f71e2866d35f0e68fdf42cbc51d845·...·]6-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
139 ····</span><span·class="p"·data-group-id="1830396656-5">[</span><span·class="s">&quot;&lt;h1&gt;&quot;</span><span·class="p">,</span><span·class="w">139 ····</span><span·class="p"·data-group-id="1651170086-5">[</span><span·class="s">&quot;&lt;h1&gt;&quot;</span><span·class="p">,</span><span·class="w">
140 ·········</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="1830396656-6">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">template</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="p"·data-group-id="1[·...·truncated·by·diffoscope;·len:·8,·SHA:·cba29eff87786a299f2610ee5bd7c15bf03eb65d9521f64cc1a854b831d403e8·...·]6-6">)</span><span·class="p">,</span><span·class="w">140 ·········</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="1651170086-6">(</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">template</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·class="p"·data-group-id="1[·...·truncated·by·diffoscope;·len:·8,·SHA:·8f715c6def9be29ac534fcd0e1eb57f25964781fe0951a633261a9d95b3a0599·...·]6-6">)</span><span·class="p">,</span><span·class="w">
141 ·····</span><span·class="s">&quot;&lt;/h1&gt;&quot;</span><span·class="p"·data-group-id="1830396656-5">]</span><span·class="p">;</span></code></pre><hr·class="thin"/><hr·class="thin"/><h4>Example·2·Using·value_of·and·select</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="w">·</span><span·class="ss">match</span><span·class="o">=</span><span·class="s">&quot;title&quot;</span><span·class="o">&gt;</span><span·class="w">141 ·····</span><span·class="s">&quot;&lt;/h1&gt;&quot;</span><span·class="p"·data-group-id="1651170086-5">]</span><span·class="p">;</span></code></pre><hr·class="thin"/><hr·class="thin"/><h4>Example·2·Using·value_of·and·select</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="w">·</span><span·class="ss">match</span><span·class="o">=</span><span·class="s">&quot;title&quot;</span><span·class="o">&gt;</span><span·class="w">
142 ··</span><span·class="o">&lt;</span><span·class="ow">div</span><span·class="w">·</span><span·class="ss">align</span><span·class="o">=</span><span·class="s">&quot;center&quot;</span><span·class="o">&gt;</span><span·class="o">&lt;</span><span·class="ss">h1</span><span·class="o">&gt;</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">value</span><span·class="o">-</span><span·class="k">of</span><span·class="w">·</span><span·class="ss">select</span><span·class="o">=</span><span·class="s">&quot;.&quot;</span><span·class="w">·</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="ss">h1</span><span·class="o">&gt;</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="ow">div</span><span·class="o">&gt;</span><span·class="w">142 ··</span><span·class="o">&lt;</span><span·class="ow">div</span><span·class="w">·</span><span·class="ss">align</span><span·class="o">=</span><span·class="s">&quot;center&quot;</span><span·class="o">&gt;</span><span·class="o">&lt;</span><span·class="ss">h1</span><span·class="o">&gt;</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">value</span><span·class="o">-</span><span·class="k">of</span><span·class="w">·</span><span·class="ss">select</span><span·class="o">=</span><span·class="s">&quot;.&quot;</span><span·class="w">·</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="ss">h1</span><span·class="o">&gt;</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="ow">div</span><span·class="o">&gt;</span><span·class="w">
143 </span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="o">&gt;</span></code></pre><p>becomes:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">template</span><span·class="p"·data-group-id="1353892803-1">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="1353892803-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·158,·SHA:·135c3bb45eb28e4d9655416c5a5474fe10ebd0bca31706ca8bc0101d6c459c1b·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">143 </span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="o">&gt;</span></code></pre><p>becomes:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">template</span><span·class="p"·data-group-id="3135065294-1">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="3135065294-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·158,·SHA:·f10895b7d4415d02d3820e5e4714b232fa6d623b85b0fb224acc3dc4d37505a2·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
144 ····</span><span·class="p"·data-group-id="1353892803-3">[</span><span·class="s">&quot;&lt;div·align=\&quot;center\&quot;&gt;&lt;h1&gt;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">value_of</span><span·class="p"·data-group-id="1353892803-4">(</span><span·class="nf">s[·...·truncated·by·diffoscope;·len:·426,·SHA:·59bc3299e63735dce1437a056e006f8da5eee4db96113c3e8c7ce31fb29f1a24·...·]-3">]</span><span·class="p">;</span></code></pre><hr·class="thin"/><hr·class="thin"/><h4>Example·3·Simple·xsl·stylesheet</h4><p>A·complete·example·with·the·XSLT·sheet·in·the·xmerl·distribution.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">stylesheet</span><span·class="w">·</span><span·class="ss">version</span><span·class="o">=</span><span·class="s">&quot;1.0&quot;</span><span·class="w">144 ····</span><span·class="p"·data-group-id="3135065294-3">[</span><span·class="s">&quot;&lt;div·align=\&quot;center\&quot;&gt;&lt;h1&gt;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">value_of</span><span·class="p"·data-group-id="3135065294-4">(</span><span·class="nf">s[·...·truncated·by·diffoscope;·len:·426,·SHA:·6d381a768de50f86068303a8301a56022b8b548791917a2b45580c68ec7a35ad·...·]-3">]</span><span·class="p">;</span></code></pre><hr·class="thin"/><hr·class="thin"/><h4>Example·3·Simple·xsl·stylesheet</h4><p>A·complete·example·with·the·XSLT·sheet·in·the·xmerl·distribution.</p><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">stylesheet</span><span·class="w">·</span><span·class="ss">version</span><span·class="o">=</span><span·class="s">&quot;1.0&quot;</span><span·class="w">
145 ········</span><span·class="nc">xmlns</span><span·class="p">:</span><span·class="ss">xsl</span><span·class="o">=</span><span·class="s">&quot;http://www.w3.org/1999/XSL/Transform&quot;</span><span·class="w">145 ········</span><span·class="nc">xmlns</span><span·class="p">:</span><span·class="ss">xsl</span><span·class="o">=</span><span·class="s">&quot;http://www.w3.org/1999/XSL/Transform&quot;</span><span·class="w">
146 ········</span><span·class="ss">xmlns</span><span·class="o">=</span><span·class="s">&quot;http://www.w3.org/TR/xhtml1/strict&quot;</span><span·class="o">&gt;</span><span·class="w">146 ········</span><span·class="ss">xmlns</span><span·class="o">=</span><span·class="s">&quot;http://www.w3.org/TR/xhtml1/strict&quot;</span><span·class="o">&gt;</span><span·class="w">
  
147 ··</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">strip</span><span·class="o">-</span><span·class="ss">space</span><span·class="w">·</span><span·class="ss">elements</span><span·class="o">=</span><span·class="s">&quot;doc·chapter·section&quot;</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="w">147 ··</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">strip</span><span·class="o">-</span><span·class="ss">space</span><span·class="w">·</span><span·class="ss">elements</span><span·class="o">=</span><span·class="s">&quot;doc·chapter·section&quot;</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="w">
148 ··</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">output</span><span·class="w">148 ··</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">output</span><span·class="w">
149 ····</span><span·class="ss">method</span><span·class="o">=</span><span·class="s">&quot;xml&quot;</span><span·class="w">149 ····</span><span·class="ss">method</span><span·class="o">=</span><span·class="s">&quot;xml&quot;</span><span·class="w">
150 ····</span><span·class="ss">indent</span><span·class="o">=</span><span·class="s">&quot;yes&quot;</span><span·class="w">150 ····</span><span·class="ss">indent</span><span·class="o">=</span><span·class="s">&quot;yes&quot;</span><span·class="w">
Offset 198, 68 lines modifiedOffset 198, 68 lines modified
  
198 ··</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="w">·</span><span·class="ss">match</span><span·class="o">=</span><span·class="s">&quot;emph&quot;</span><span·class="o">&gt;</span><span·class="w">198 ··</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="w">·</span><span·class="ss">match</span><span·class="o">=</span><span·class="s">&quot;emph&quot;</span><span·class="o">&gt;</span><span·class="w">
199 ····</span><span·class="o">&lt;</span><span·class="ss">em</span><span·class="o">&gt;</span><span·class="w">199 ····</span><span·class="o">&lt;</span><span·class="ss">em</span><span·class="o">&gt;</span><span·class="w">
200 ······</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="nb">apply</span><span·class="o">-</span><span·class="ss">templates</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="w">200 ······</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="nb">apply</span><span·class="o">-</span><span·class="ss">templates</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="w">
201 ····</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="ss">em</span><span·class="o">&gt;</span><span·class="w">201 ····</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="ss">em</span><span·class="o">&gt;</span><span·class="w">
202 ··</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="o">&gt;</span><span·class="w">202 ··</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="o">&gt;</span><span·class="w">
  
203 </span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">stylesheet</span><span·class="o">&gt;</span></code></pre><hr·class="thin"/><hr·class="thin"/><h4>Example·4·Erlang·version</h4><p>Erlang·transformation·of·previous·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="4696578966-1">(</span><span·class="s">&quot;xmerl.hrl&quot;</span><span·class="p"·data-group-id="4696578966-1">)</span><span·class="p">.</span><span·class="w">203 </span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">stylesheet</span><span·class="o">&gt;</span></code></pre><hr·class="thin"/><hr·class="thin"/><h4>Example·4·Erlang·version</h4><p>Erlang·transformation·of·previous·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="p">-</span><span·class="na">include</span><span·class="p"·data-group-id="9344363555-1">(</span><span·class="s">&quot;xmerl.hrl&quot;</span><span·class="p"·data-group-id="9344363555-1">)</span><span·class="p">.</span><span·class="w">
204 </span><span·class="w">204 </span><span·class="w">
205 </span><span·class="p">-</span><span·class="na">import</span><span·class="p"·data-group-id="4696578966-2">(</span><span·class="ss">xmerl_xs</span><span·class="p">,</span><span·class="w">205 </span><span·class="p">-</span><span·class="na">import</span><span·class="p"·data-group-id="9344363555-2">(</span><span·class="ss">xmerl_xs</span><span·class="p">,</span><span·class="w">
206 ····</span><span·class="p"·data-group-id="4696578966-3">[</span><span·class="w">·</span><span·class="ss">xslapply</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">value_of</span><span·class="p">/</span><span·class="mi">1</span>[·...·truncated·by·diffoscope;·len:·380,·SHA:·870a4e5c157597ad80826d91cfaccf798af91364f3136452bb2479507ef19a52·...·]-2">)</span><span·class="p">.</span><span·class="w">206 ····</span><span·class="p"·data-group-id="9344363555-3">[</span><span·class="w">·</span><span·class="ss">xslapply</span><span·class="p">/</span><span·class="mi">2</span><span·class="p">,</span><span·class="w">·</span><span·class="ss">value_of</span><span·class="p">/</span><span·class="mi">1</span>[·...·truncated·by·diffoscope;·len:·380,·SHA:·3c113f4a20926a7c52f31cbb8ca0cf74a5056475f5704928d8a0bfb2c8837398·...·]-2">)</span><span·class="p">.</span><span·class="w">
  
207 </span><span·class="nf">doctype</span><span·class="p"·data-group-id="4696578966-4">(</span><span·class="p"·data-group-id="4696578966-4">)</span><span·class="p">-&gt;</span><span·class="w">207 </span><span·class="nf">doctype</span><span·class="p"·data-group-id="9344363555-4">(</span><span·class="p"·data-group-id="9344363555-4">)</span><span·class="p">-&gt;</span><span·class="w">
208 ····</span><span·class="s">&quot;&lt;!DOCTYPE·html·PUBLIC·\&quot;-//W3C//DTD·XHTML·1.0·Transitional//EN\&quot;\208 ····</span><span·class="s">&quot;&lt;!DOCTYPE·html·PUBLIC·\&quot;-//W3C//DTD·XHTML·1.0·Transitional//EN\&quot;\
209 ·\&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd·\&quot;&gt;&quot;</span><span·class="p">.</span><span·class="w">209 ·\&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd·\&quot;&gt;&quot;</span><span·class="p">.</span><span·class="w">
  
210 </span><span·class="nf">process_xml</span><span·class="p"·data-group-id="4696578966-5">(</span><span·class="n">Doc</span><span·class="p"·data-group-id="4696578966-5">)</span><span·class="p">-&gt;</span><span·class="w">210 </span><span·class="nf">process_xml</span><span·class="p"·data-group-id="9344363555-5">(</span><span·class="n">Doc</span><span·class="p"·data-group-id="9344363555-5">)</span><span·class="p">-&gt;</span><span·class="w">
211 ····</span><span·class="nf">template</span><span·class="p"·data-group-id="4696578966-6">(</span><span·class="n">Doc</span><span·class="p"·data-group-id="4696578966-6">)</span><span·class="p">.</span><span·class="w">211 ····</span><span·class="nf">template</span><span·class="p"·data-group-id="9344363555-6">(</span><span·class="n">Doc</span><span·class="p"·data-group-id="9344363555-6">)</span><span·class="p">.</span><span·class="w">
  
212 </span><span·class="nf">template</span><span·class="p"·data-group-id="4696578966-7">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="4696578966-8">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·156,·SHA:·522dda681857944f0b71294b89d990c86668c7bb3e2b3d9bbf4efd8b1a3ab934·...·]-7">)</span><span·class="p">-&gt;</span><span·class="w">212 </span><span·class="nf">template</span><span·class="p"·data-group-id="9344363555-7">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="9344363555-8">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·156,·SHA:·fbf324ee44191c7be9169f4657433851bd711a93635e334d84169e8130140548·...·]-7">)</span><span·class="p">-&gt;</span><span·class="w">
213 ····</span><span·class="p"·data-group-id="4696578966-9">[</span><span·class="w">·</span><span·class="s">&quot;&lt;\?xml·version=\&quot;1.0\&quot;·encoding=\&quot;iso-8859-1\&quot;\?&gt;&quot;</span><span·class="p">,</span><span·class="w">213 ····</span><span·class="p"·data-group-id="9344363555-9">[</span><span·class="w">·</span><span·class="s">&quot;&lt;\?xml·version=\&quot;1.0\&quot;·encoding=\&quot;iso-8859-1\&quot;\?&gt;&quot;</span><span·class="p">,</span><span·class="w">
214 ······</span><span·class="nf">doctype</span><span·class="p"·data-group-id="4696578966-10">(</span><span·class="p"·data-group-id="4696578966-10">)</span><span·class="p">,</span><span·class="w">214 ······</span><span·class="nf">doctype</span><span·class="p"·data-group-id="9344363555-10">(</span><span·class="p"·data-group-id="9344363555-10">)</span><span·class="p">,</span><span·class="w">
215 ······</span><span·class="s">&quot;&lt;html·xmlns=\&quot;http://www.w3.org/1999/xhtml\&quot;·&gt;&quot;</span><span·class="w">215 ······</span><span·class="s">&quot;&lt;html·xmlns=\&quot;http://www.w3.org/1999/xhtml\&quot;·&gt;&quot;</span><span·class="w">
216 ······</span><span·class="s">&quot;&lt;head&gt;&quot;</span><span·class="w">216 ······</span><span·class="s">&quot;&lt;head&gt;&quot;</span><span·class="w">
217 ······</span><span·class="s">&quot;&lt;title&gt;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">value_of</span><span·class="p"·data-group-id="4696578966-11">(</span><span·class="nf">select</span><span·class="p"·data-group-id="4696578966-12">(</span><span·class="s">&quot;title&quot;</span><span·class="p">,</span><span·class="n">E</span><span·class="p"·data-group-id="4696578966-12">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·9dc4128811347f3a1591d10ced32f3453663687caf900e20d6c5e6c05091e23e·...·]-11">)</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&lt;/title&gt;&quot;</span><span·class="w">217 ······</span><span·class="s">&quot;&lt;title&gt;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">value_of</span><span·class="p"·data-group-id="9344363555-11">(</span><span·class="nf">select</span><span·class="p"·data-group-id="9344363555-12">(</span><span·class="s">&quot;title&quot;</span><span·class="p">,</span><span·class="n">E</span><span·class="p"·data-group-id="9344363555-12">)</span><span·c[·...·truncated·by·diffoscope;·len:·34,·SHA:·653c5ffac003d77ec3ea5f13b6f41effadaa3ff43b85d43c00ee7c36c2ae4821·...·]-11">)</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&lt;/title&gt;&quot;</span><span·class="w">
218 ······</span><span·class="s">&quot;&lt;/head&gt;&quot;</span><span·class="w">218 ······</span><span·class="s">&quot;&lt;/head&gt;&quot;</span><span·class="w">
219 ······</span><span·class="s">&quot;&lt;body&gt;&quot;</span><span·class="p">,</span><span·class="w">219 ······</span><span·class="s">&quot;&lt;body&gt;&quot;</span><span·class="p">,</span><span·class="w">
220 ······</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="4696578966-13">(</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">template</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·fcdab4d4727366346986a67202f2676f14ea3c4656c770582304db2eaa337e35·...·]-13">)</span><span·class="p">,</span><span·class="w">220 ······</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="9344363555-13">(</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">template</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·b1d5050756192aea84f6e968548c8adeb00615e152a00adb523aa740d89ffc86·...·]-13">)</span><span·class="p">,</span><span·class="w">
221 ······</span><span·class="s">&quot;&lt;/body&gt;&quot;</span><span·class="w">221 ······</span><span·class="s">&quot;&lt;/body&gt;&quot;</span><span·class="w">
222 ······</span><span·class="s">&quot;&lt;/html&gt;&quot;</span><span·class="w">·</span><span·class="p"·data-group-id="4696578966-9">]</span><span·class="p">;</span><span·class="w">222 ······</span><span·class="s">&quot;&lt;/html&gt;&quot;</span><span·class="w">·</span><span·class="p"·data-group-id="9344363555-9">]</span><span·class="p">;</span><span·class="w">
  
  
223 </span><span·class="nf">template</span><span·class="p"·data-group-id="4696578966-14">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="4696578966-15">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·637,·SHA:·f75f3f86a2a63048fd4b3e0ba9963c32db8ad8fccef05d348b08627fee393a03·...·]-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">223 </span><span·class="nf">template</span><span·class="p"·data-group-id="9344363555-14">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="9344363555-15">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·637,·SHA:·c7d28fe8c6265fd7200f57091e9fa38b8a1972833af7c1fba5727b1f04ddd1c1·...·]-14">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
224 ····</span><span·class="p"·data-group-id="4696578966-18">[</span><span·class="s">&quot;&lt;h1&gt;&quot;</span><span·class="p">,</span><span·class="w">224 ····</span><span·class="p"·data-group-id="9344363555-18">[</span><span·class="s">&quot;&lt;h1&gt;&quot;</span><span·class="p">,</span><span·class="w">
225 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="4696578966-19">(</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">template</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·fcdab4d4727366346986a67202f2676f14ea3c4656c770582304db2eaa337e35·...·]-19">)</span><span·class="p">,</span><span·class="w">225 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="9344363555-19">(</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">template</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·b1d5050756192aea84f6e968548c8adeb00615e152a00adb523aa740d89ffc86·...·]-19">)</span><span·class="p">,</span><span·class="w">
226 ·····</span><span·class="s">&quot;&lt;/h1&gt;&quot;</span><span·class="p"·data-group-id="4696578966-18">]</span><span·class="p">;</span><span·class="w">226 ·····</span><span·class="s">&quot;&lt;/h1&gt;&quot;</span><span·class="p"·data-group-id="9344363555-18">]</span><span·class="p">;</span><span·class="w">
  
227 </span><span·class="nf">template</span><span·class="p"·data-group-id="4696578966-20">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="4696578966-21">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·641,·SHA:·6215e85627fb5746db1ec42ced27cbbf41e72b66708e7cc4f3039f5d34d859a0·...·]-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">227 </span><span·class="nf">template</span><span·class="p"·data-group-id="9344363555-20">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="9344363555-21">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·641,·SHA:·f3ba54a59afb6fab616c44bc4fcf2ccf59a8566481d59930ba8d2b7989711b44·...·]-20">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
228 ····</span><span·class="p"·data-group-id="4696578966-24">[</span><span·class="s">&quot;&lt;h2&gt;&quot;</span><span·class="p">,</span><span·class="w">228 ····</span><span·class="p"·data-group-id="9344363555-24">[</span><span·class="s">&quot;&lt;h2&gt;&quot;</span><span·class="p">,</span><span·class="w">
229 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="4696578966-25">(</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">template</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·fcdab4d4727366346986a67202f2676f14ea3c4656c770582304db2eaa337e35·...·]-25">)</span><span·class="p">,</span><span·class="w">229 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="9344363555-25">(</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">template</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·b1d5050756192aea84f6e968548c8adeb00615e152a00adb523aa740d89ffc86·...·]-25">)</span><span·class="p">,</span><span·class="w">
230 ·····</span><span·class="s">&quot;&lt;/h2&gt;&quot;</span><span·class="p"·data-group-id="4696578966-24">]</span><span·class="p">;</span><span·class="w">230 ·····</span><span·class="s">&quot;&lt;/h2&gt;&quot;</span><span·class="p"·data-group-id="9344363555-24">]</span><span·class="p">;</span><span·class="w">
  
231 </span><span·class="nf">template</span><span·class="p"·data-group-id="4696578966-26">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="4696578966-27">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·641,·SHA:·a74044512c2297f4b05a3b0293bcc56243cf7e629bb028cc63ad65d76af4f7d9·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">231 </span><span·class="nf">template</span><span·class="p"·data-group-id="9344363555-26">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="9344363555-27">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·641,·SHA:·9411115ea8585d24c161db4f885714af9a19922c7290c4b41a5f69a3705fd00d·...·]-26">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
232 ····</span><span·class="p"·data-group-id="4696578966-30">[</span><span·class="s">&quot;&lt;h3&gt;&quot;</span><span·class="p">,</span><span·class="w">232 ····</span><span·class="p"·data-group-id="9344363555-30">[</span><span·class="s">&quot;&lt;h3&gt;&quot;</span><span·class="p">,</span><span·class="w">
233 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="4696578966-31">(</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">template</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·fcdab4d4727366346986a67202f2676f14ea3c4656c770582304db2eaa337e35·...·]-31">)</span><span·class="p">,</span><span·class="w">233 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="9344363555-31">(</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">template</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·b1d5050756192aea84f6e968548c8adeb00615e152a00adb523aa740d89ffc86·...·]-31">)</span><span·class="p">,</span><span·class="w">
234 ·····</span><span·class="s">&quot;&lt;/h3&gt;&quot;</span><span·class="p"·data-group-id="4696578966-30">]</span><span·class="p">;</span><span·class="w">234 ·····</span><span·class="s">&quot;&lt;/h3&gt;&quot;</span><span·class="p"·data-group-id="9344363555-30">]</span><span·class="p">;</span><span·class="w">
  
235 </span><span·class="nf">template</span><span·class="p"·data-group-id="4696578966-32">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="4696578966-33">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·8f97745fc68397d76fa865858771f6ce9e6ca11fe51804d7248151d9f92358e7·...·]-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">235 </span><span·class="nf">template</span><span·class="p"·data-group-id="9344363555-32">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="9344363555-33">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·027733dbd1271b0b0d6049c28db0144598f8813c257c9ee226480bac1af86d16·...·]-32">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
236 ····</span><span·class="p"·data-group-id="4696578966-34">[</span><span·class="s">&quot;&lt;p&gt;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="4696578966-35">(</span><span·class="w">·</span><span·class="k">fun</span><span[·...·truncated·by·diffoscope;·len:·360,·SHA:·c5177b3a0bd3e4f764aca3b657bbbeeac86f622b18f1d86dada59a384a604968·...·]-34">]</span><span·class="p">;</span><span·class="w">236 ····</span><span·class="p"·data-group-id="9344363555-34">[</span><span·class="s">&quot;&lt;p&gt;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="9344363555-35">(</span><span·class="w">·</span><span·class="k">fun</span><span[·...·truncated·by·diffoscope;·len:·360,·SHA:·6ad5f732a732084d6eef7ee42594a12f3dfeaddac7d1de4002c21c564e60eb0e·...·]-34">]</span><span·class="p">;</span><span·class="w">
  
237 </span><span·class="nf">template</span><span·class="p"·data-group-id="4696578966-36">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="4696578966-37">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·01a539e621557a37050b9e8836df2597fb327bac1fb3733e334123cd15f64b41·...·]-36">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">237 </span><span·class="nf">template</span><span·class="p"·data-group-id="9344363555-36">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="9344363555-37">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·14b4d0704d761d9a55137553e9dd5f7b0dcbf3d27640591cf5ab23f613133693·...·]-36">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
238 ····</span><span·class="p"·data-group-id="4696578966-38">[</span><span·class="s">&quot;&lt;p·class=\&quot;note\&quot;&gt;&quot;</span><span·class="w">238 ····</span><span·class="p"·data-group-id="9344363555-38">[</span><span·class="s">&quot;&lt;p·class=\&quot;note\&quot;&gt;&quot;</span><span·class="w">
239 ·····</span><span·class="s">&quot;&lt;b&gt;NOTE:·&lt;/b&gt;&quot;</span><span·class="p">,</span><span·class="w">239 ·····</span><span·class="s">&quot;&lt;b&gt;NOTE:·&lt;/b&gt;&quot;</span><span·class="p">,</span><span·class="w">
240 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="4696578966-39">(</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">template</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·fcdab4d4727366346986a67202f2676f14ea3c4656c770582304db2eaa337e35·...·]-39">)</span><span·class="p">,</span><span·class="w">240 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="9344363555-39">(</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">template</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·b1d5050756192aea84f6e968548c8adeb00615e152a00adb523aa740d89ffc86·...·]-39">)</span><span·class="p">,</span><span·class="w">
241 ·····</span><span·class="s">&quot;&lt;/p&gt;&quot;</span><span·class="p"·data-group-id="4696578966-38">]</span><span·class="p">;</span><span·class="w">241 ·····</span><span·class="s">&quot;&lt;/p&gt;&quot;</span><span·class="p"·data-group-id="9344363555-38">]</span><span·class="p">;</span><span·class="w">
  
242 </span><span·class="nf">template</span><span·class="p"·data-group-id="4696578966-40">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="4696578966-41">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·7ede2b53b67d398f5124a153d7c7e65bb3b27ea1fd287dd36f9a3ffc3ae3386b·...·]-40">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">242 </span><span·class="nf">template</span><span·class="p"·data-group-id="9344363555-40">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="9344363555-41">{</span><span·class="w">·</span><[·...·truncated·by·diffoscope;·len:·184,·SHA:·dda546b2b7f7d16bba4238bd169e8f4ae0c5573fc9d0c173d1426145a6e906e0·...·]-40">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
243 ····</span><span·class="p"·data-group-id="4696578966-42">[</span><span·class="s">&quot;&lt;em&gt;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="4696578966-43">(</span><span·class="w">·</span><span·class="k">fun</span><spa[·...·truncated·by·diffoscope;·len:·362,·SHA:·c3349704e7c6e036ef11874fa9677c1fffdf1af5242cb1cbac827abb394d045e·...·]-42">]</span><span·class="p">;</span><span·class="w">243 ····</span><span·class="p"·data-group-id="9344363555-42">[</span><span·class="s">&quot;&lt;em&gt;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="9344363555-43">(</span><span·class="w">·</span><span·class="k">fun</span><spa[·...·truncated·by·diffoscope;·len:·362,·SHA:·63f15c873d3bd020445e8f112ba504c71d45dc66848c4ddd3fef488635d7aa39·...·]-42">]</span><span·class="p">;</span><span·class="w">
  
244 </span><span·class="nf">template</span><span·class="p"·data-group-id="4696578966-44">(</span><span·class="n">E</span><span·class="p"·data-group-id="4696578966-44">)</span><span·class="p">-&gt;</span><span·class="w">244 </span><span·class="nf">template</span><span·class="p"·data-group-id="9344363555-44">(</span><span·class="n">E</span><span·class="p"·data-group-id="9344363555-44">)</span><span·class="p">-&gt;</span><span·class="w">
245 ····</span><span·class="nf">built_in_rules</span><span·class="p"·data-group-id="4696578966-45">(</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">template</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·fcdab4d4727366346986a67202f2676f14ea3c4656c770582304db2eaa337e35·...·]-45">)</span><span·class="p">.</span></code></pre><p>It·is·important·to·end·with·a·call·to·<a·href="xmerl_xs.html#built_in_rules/2"><code·class="inline">xmerl_xs:built_in_rules/2</code></a>·if·you·want·any245 ····</span><span·class="nf">built_in_rules</span><span·class="p"·data-group-id="9344363555-45">(</span><span·class="w">·</span><span·class="k">fun</span><span·class="w">·</span><span·class="ss">template</span><span·class="p">/</span><span·class="mi">1</span><span·class="p">,</span><span·class="w">·</span><span·class="n">E</span><span·[·...·truncated·by·diffoscope;·len:·35,·SHA:·b1d5050756192aea84f6e968548c8adeb00615e152a00adb523aa740d89ffc86·...·]-45">)</span><span·class="p">.</span></code></pre><p>It·is·important·to·end·with·a·call·to·<a·href="xmerl_xs.html#built_in_rules/2"><code·class="inline">xmerl_xs:built_in_rules/2</code></a>·if·you·want·any
246 text·to·be·written·in·&quot;push&quot;·transforms.·That·are·the·ones·using·a·lot·<code·class="inline">xslapply(·fun·template/1,·E·)</code>·instead·of·<code·class="inline">value_of(select(&quot;xpath&quot;,E))</code>,·which·is·pull...</p><hr·class="thin"/><p>The·largest·example·is·the·stylesheet·to·transform·this·document·from·the246 text·to·be·written·in·&quot;push&quot;·transforms.·That·are·the·ones·using·a·lot·<code·class="inline">xslapply(·fun·template/1,·E·)</code>·instead·of·<code·class="inline">value_of(select(&quot;xpath&quot;,E))</code>,·which·is·pull...</p><hr·class="thin"/><p>The·largest·example·is·the·stylesheet·to·transform·this·document·from·the
247 Simplified·Docbook·XML·format·to·xhtml.·The·source·file·is·sdocbook2xhtml.erl.</p><h3·id="tips-and-tricks"·class="section-heading">247 Simplified·Docbook·XML·format·to·xhtml.·The·source·file·is·sdocbook2xhtml.erl.</p><h3·id="tips-and-tricks"·class="section-heading">
248 ··<a·href="#tips-and-tricks"·class="hover-link">248 ··<a·href="#tips-and-tricks"·class="hover-link">
249 ····<i·class="ri-link-m"·aria-hidden="true"></i>249 ····<i·class="ri-link-m"·aria-hidden="true"></i>
250 ··</a>250 ··</a>
251 ··<span·class="text">Tips·and·tricks</span>251 ··<span·class="text">Tips·and·tricks</span>
252 </h3>252 </h3>
Offset 270, 29 lines modifiedOffset 270, 29 lines modified
270 position·in·Erlang.</p><hr·class="thin"/><h4>Example·5·Counting·positions</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="w">·</span><span·class="ss">match</span><span·class="o">=</span><span·class="s">&quot;stanza&quot;</span><span·class="o">&gt;</span><span·class="w">270 position·in·Erlang.</p><hr·class="thin"/><h4>Example·5·Counting·positions</h4><pre><code·class="makeup·erlang"·translate="no"><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="w">·</span><span·class="ss">match</span><span·class="o">=</span><span·class="s">&quot;stanza&quot;</span><span·class="o">&gt;</span><span·class="w">
271 ··</span><span·class="o">&lt;</span><span·class="ss">p</span><span·class="o">&gt;</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="nb">apply</span><span·class="o">-</span><span·class="ss">templates</span><span·class="w">·</span><span·class="ss">select</span><span·class="o">=</span><span·class="s">&quot;line&quot;</span><span·class="w">·</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="ss">p</span><span·class="o">&gt;</span><span·class="w">271 ··</span><span·class="o">&lt;</span><span·class="ss">p</span><span·class="o">&gt;</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="nb">apply</span><span·class="o">-</span><span·class="ss">templates</span><span·class="w">·</span><span·class="ss">select</span><span·class="o">=</span><span·class="s">&quot;line&quot;</span><span·class="w">·</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="ss">p</span><span·class="o">&gt;</span><span·class="w">
272 </span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="o">&gt;</span><span·class="w">272 </span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="o">&gt;</span><span·class="w">
  
273 </span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="w">·</span><span·class="ss">match</span><span·class="o">=</span><span·class="s">&quot;line&quot;</span><span·class="o">&gt;</span><span·class="w">273 </span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="w">·</span><span·class="ss">match</span><span·class="o">=</span><span·class="s">&quot;line&quot;</span><span·class="o">&gt;</span><span·class="w">
274 ··</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="k">if</span><span·class="w">·</span><span·class="ss">test</span><span·class="o">=</span><span·class="s">&quot;position()·mod·2·=·0&quot;</span><span·class="o">&gt;</span><span·class="err">&amp;</span><span·class="p">#</span><span·class="mi">160</span><span·class="p">;</span><span·class="err">&amp;</span><span·class="p">#</span><span·class="mi">160</span><span·class="p">;</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="k">if</span><span·class="o">&gt;</span><span·class="w">274 ··</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="k">if</span><span·class="w">·</span><span·class="ss">test</span><span·class="o">=</span><span·class="s">&quot;position()·mod·2·=·0&quot;</span><span·class="o">&gt;</span><span·class="err">&amp;</span><span·class="p">#</span><span·class="mi">160</span><span·class="p">;</span><span·class="err">&amp;</span><span·class="p">#</span><span·class="mi">160</span><span·class="p">;</span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="k">if</span><span·class="o">&gt;</span><span·class="w">
275 ··</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">value</span><span·class="o">-</span><span·class="k">of</span><span·class="w">·</span><span·class="ss">select</span><span·class="o">=</span><span·class="s">&quot;.&quot;</span><span·class="w">·</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="o">&lt;</span><span·class="ss">br</span><span·class="w">·</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="w">275 ··</span><span·class="o">&lt;</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">value</span><span·class="o">-</span><span·class="k">of</span><span·class="w">·</span><span·class="ss">select</span><span·class="o">=</span><span·class="s">&quot;.&quot;</span><span·class="w">·</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="o">&lt;</span><span·class="ss">br</span><span·class="w">·</span><span·class="o">/</span><span·class="o">&gt;</span><span·class="w">
276 </span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="o">&gt;</span></code></pre><p>Can·be·written·as</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">template</span><span·class="p"·data-group-id="8828686495-1">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="8828686495-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·158,·SHA:·cb3278aca86fe00cf35acb2a5991ffcf29f25cb1932074af49651f984f136f9e·...·]5-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">276 </span><span·class="o">&lt;</span><span·class="o">/</span><span·class="nc">xsl</span><span·class="p">:</span><span·class="ss">template</span><span·class="o">&gt;</span></code></pre><p>Can·be·written·as</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">template</span><span·class="p"·data-group-id="6097708105-1">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="6097708105-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·158,·SHA:·c380630770cb47c24211323cc29b62994c8209d69f94f6d14464a779222dde44·...·]5-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
277 ····</span><span·class="p"·data-group-id="8828686495-3">{</span><span·class="n">Lines</span><span·class="p">,</span><span·class="n">LineNo</span><span·class="p"·data-group-id="8828686495-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span[·...·truncated·by·diffoscope;·len:·653,·SHA:·aa051bcc3fff9c9bd95133d30daca2e95416cac95f1dadd8037eaa99b4e14a40·...·]5-4">)</span><span·class="p">,</span><span·class="w">277 ····</span><span·class="p"·data-group-id="6097708105-3">{</span><span·class="n">Lines</span><span·class="p">,</span><span·class="n">LineNo</span><span·class="p"·data-group-id="6097708105-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">lists</span[·...·truncated·by·diffoscope;·len:·653,·SHA:·94bd3e8b453d07ded07a7becd5fac30bb6c404956528f9fc74d859463cd068e9·...·]5-4">)</span><span·class="p">,</span><span·class="w">
278 ····</span><span·class="p"·data-group-id="8828686495-6">[</span><span·class="s">&quot;&lt;p&gt;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Lines</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&lt;/p&gt;&quot;</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·19,·SHA:·ccbae1c5cb89ad3a3f756c6b5b7b27047abcac37fb73aa3fb2e3aae36aa9603d·...·]5-6">]</span><span·class="p">.</span><span·class="w">278 ····</span><span·class="p"·data-group-id="6097708105-6">[</span><span·class="s">&quot;&lt;p&gt;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="n">Lines</span><span·class="p">,</span><span·class="w">·</span><span·class="s">&quot;&lt;/p&gt;&quot;</span><span·class="p"·data-[·...·truncated·by·diffoscope;·len:·19,·SHA:·86949fbf849d689878c63844a3cb94e02a05d9c2c80f98b09ddbf43aee8985c1·...·]5-6">]</span><span·class="p">.</span><span·class="w">
  
279 </span><span·class="nf">template_pos</span><span·class="p"·data-group-id="8828686495-7">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="8828686495-8">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·228,·SHA:·3c17b62cdd87576689219f3276d4057adf993f81928e4023e28817f86730192c·...·]5-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">279 </span><span·class="nf">template_pos</span><span·class="p"·data-group-id="6097708105-7">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="6097708105-8">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·228,·SHA:·359a7c3ad930aa8e2cce9fcc7cf04c9047c8bb24f7a01edde69baae4c65e7450·...·]5-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
280 ····</span><span·class="p"·data-group-id="8828686495-9">{</span><span·class="p"·data-group-id="8828686495-10">[</span><span·class="nf">indent_line</span><span·class="p"·data-group-id="8828686495-11">(</span><span·class="n">P</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">[·...·truncated·by·diffoscope;·len:·794,·SHA:·4f89e577b895274ad459060f14ba14ffb3399748fb21020d11d6ad82bb8a3ffa·...·]5-9">}</span><span·class="p">.</span><span·class="w">280 ····</span><span·class="p"·data-group-id="6097708105-9">{</span><span·class="p"·data-group-id="6097708105-10">[</span><span·class="nf">indent_line</span><span·class="p"·data-group-id="6097708105-11">(</span><span·class="n">P</span><span·class="w">·</span><span·class="ow">rem</span><span·class="w">[·...·truncated·by·diffoscope;·len:·794,·SHA:·855a9331626bb53bce30ffa3198904a7f61a736586a7cc8e08a8de9899833fd5·...·]5-9">}</span><span·class="p">.</span><span·class="w">
  
281 </span><span·class="nf">indent_line</span><span·class="p"·data-group-id="8828686495-13">(</span><span·class="mi">0</span><span·class="p"·data-group-id="8828686495-13">)</span><span·class="p">-&gt;</span><span·class="s">&quot;&amp;#160;&amp;#160;&quot;</span><span·class="p">;</span><span·class="w">281 </span><span·class="nf">indent_line</span><span·class="p"·data-group-id="6097708105-13">(</span><span·class="mi">0</span><span·class="p"·data-group-id="6097708105-13">)</span><span·class="p">-&gt;</span><span·class="s">&quot;&amp;#160;&amp;#160;&quot;</span><span·class="p">;</span><span·class="w">
282 </span><span·class="nf">indent_line</span><span·class="p"·data-group-id="8828686495-14">(</span><span·class="p">_</span><span·class="p"·data-group-id="8828686495-14">)</span><span·class="p">-&gt;</span><span·class="s">&quot;&quot;</span><span·class="p">.</span></code></pre><hr·class="thin"/><h4>Global·tree·awareness</h4><p>In·XSLT·you·have·&quot;root&quot;·access·to·the·top·of·the·tree·with·XPath,·even·though282 </span><span·class="nf">indent_line</span><span·class="p"·data-group-id="6097708105-14">(</span><span·class="p">_</span><span·class="p"·data-group-id="6097708105-14">)</span><span·class="p">-&gt;</span><span·class="s">&quot;&quot;</span><span·class="p">.</span></code></pre><hr·class="thin"/><h4>Global·tree·awareness</h4><p>In·XSLT·you·have·&quot;root&quot;·access·to·the·top·of·the·tree·with·XPath,·even·though
283 you·are·somewhere·deep·in·your·tree.</p><p>The·xslapply/2·function·only·carries·back·the·child·part·of·the·tree·to·the283 you·are·somewhere·deep·in·your·tree.</p><p>The·xslapply/2·function·only·carries·back·the·child·part·of·the·tree·to·the
284 template·fun.·But·it·is·quite·easy·to·write·template·funs·that·handles·both·the284 template·fun.·But·it·is·quite·easy·to·write·template·funs·that·handles·both·the
285 child·and·top·tree.</p><hr·class="thin"/><h4>Example·6·Passing·the·root·tree</h4><p>The·following·example·piece·will·prepend·the·article·title·to·any·section·title</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">template</span><span·class="p"·data-group-id="1339134643-1">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="1339134643-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·257,·SHA:·8c4f9f01fada133aaee06c5d951b5808d21bf971b16144d3ac4bd9a22ded06c5·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">285 child·and·top·tree.</p><hr·class="thin"/><h4>Example·6·Passing·the·root·tree</h4><p>The·following·example·piece·will·prepend·the·article·title·to·any·section·title</p><pre><code·class="makeup·erlang"·translate="no"><span·class="nf">template</span><span·class="p"·data-group-id="4651860730-1">(</span><span·class="n">E</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="o">#</span><span·class="ss">xmlElement</span><span·class="p"·data-group-id="4651860730-2">{</span><span·class="ss">name</span[·...·truncated·by·diffoscope;·len:·257,·SHA:·636b8423026fa7bffac1c91e5ceb1f029e286569eaa74a058e54c23ad57c07aa·...·]-1">)</span><span·class="w">·</span><span·class="p">-&gt;</span><span·class="w">
286 ····</span><span·class="p"·data-group-id="1339134643-3">[</span><span·class="s">&quot;&lt;h3&gt;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">value_of</span><span·class="p"·data-group-id="1339134643-4">(</span><span·class="nf">select</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·236,·SHA:·1e1a4fe5e6dda331aaa5716de26cb101824b49f6f8247a4715676e7bfca6de19·...·]-4">)</span><span·class="p">,</span><span·class="s">&quot;·-·&quot;</span><span·class="p">,</span><span·class="w">286 ····</span><span·class="p"·data-group-id="4651860730-3">[</span><span·class="s">&quot;&lt;h3&gt;&quot;</span><span·class="p">,</span><span·class="w">·</span><span·class="nf">value_of</span><span·class="p"·data-group-id="4651860730-4">(</span><span·class="nf">select</span><span·class="p"·data-group[·...·truncated·by·diffoscope;·len:·236,·SHA:·8de534b7869bedefe670335fc90a3563fb38a459398831c4bd18550da9dd6dde·...·]-4">)</span><span·class="p">,</span><span·class="s">&quot;·-·&quot;</span><span·class="p">,</span><span·class="w">
287 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="1339134643-6">(</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="1339134643-7">(</span><span·class="n">A</span><span·class="p"·data-group-id="1339134643-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·423,·SHA:·5c56a249781e0ad74fd46424529425a127e1eae1917b2e827923fbca53bbdf2e·...·]-6">)</span><span·class="p">,</span><span·class="w">287 ·····</span><span·class="nf">xslapply</span><span·class="p"·data-group-id="4651860730-6">(</span><span·class="w">·</span><span·class="nf">fun</span><span·class="p"·data-group-id="4651860730-7">(</span><span·class="n">A</span><span·class="p"·data-group-id="4651860730-7">)</span><span·class="w">·</span><span·class="p">-&gt;</span><[·...·truncated·by·diffoscope;·len:·423,·SHA:·7560a1110e3a077517da1be682bcd79131c9f11df62c5bff9228b517fd13bb29·...·]-6">)</span><span·class="p">,</span><span·class="w">
288 ·····</span><span·class="s">&quot;&lt;/h3&gt;&quot;</span><span·class="p"·data-group-id="1339134643-3">]</span><span·class="p">;</span></code></pre><hr·class="thin"/>288 ·····</span><span·class="s">&quot;&lt;/h3&gt;&quot;</span><span·class="p"·data-group-id="4651860730-3">]</span><span·class="p">;</span></code></pre><hr·class="thin"/>
289 </div>289 </div>
  
290 <div·class="bottom-actions"·id="bottom-actions">290 <div·class="bottom-actions"·id="bottom-actions">
291 ··<div·class="bottom-actions-item">291 ··<div·class="bottom-actions-item">
  
292 ······<a·href="xmerl_examples.html"·class="bottom-actions-button"·rel="prev">292 ······<a·href="xmerl_examples.html"·class="bottom-actions-button"·rel="prev">
293 ········<span·class="subheader">293 ········<span·class="subheader">
Offset 322, 15 lines modifiedOffset 322, 15 lines modified
322 ······<p·class="built-using">322 ······<p·class="built-using">
323 ········Built·using323 ········Built·using
324 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the324 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
325 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>325 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
Max diff block lines reached; 341/61074 bytes (0.56%) of diff not shown.
625 B
html2text {}
Max HTML report size reached
6.1 KB
./usr/share/doc/erlang-doc/html/lib/xmerl-2.1.4/doc/html/xmerl_xsd.html
    
Offset 772, 17 lines modifiedOffset 772, 17 lines modified
772 parsed·XML·<a·href="xmerl.html#t:xmlElement/0"><code·class="inline">Element :: #xmlElement{}</code></a>772 parsed·XML·<a·href="xmerl.html#t:xmlElement/0"><code·class="inline">Element :: #xmlElement{}</code></a>
773 and·a·State,·<a·href="#t:global_state/0"><code·class="inline">global_state/0</code></a>,·which·holds·necessary·information773 and·a·State,·<a·href="#t:global_state/0"><code·class="inline">global_state/0</code></a>,·which·holds·necessary·information
774 from·an·already·processed·schema.··Thus·validate·enables·reuse774 from·an·already·processed·schema.··Thus·validate·enables·reuse
775 of·the·schema·information·and·therefore·if·one·shall·validate775 of·the·schema·information·and·therefore·if·one·shall·validate
776 several·times·towards·the·same·schema·it·reduces·time·consumption.</p><p>The·result,·<code·class="inline">ValidElement</code>,·is·the·valid·element·that·conforms·to·the776 several·times·towards·the·same·schema·it·reduces·time·consumption.</p><p>The·result,·<code·class="inline">ValidElement</code>,·is·the·valid·element·that·conforms·to·the
777 post-schema-validation·infoset.·When·the·validator·finds·an·error·it·tries·to777 post-schema-validation·infoset.·When·the·validator·finds·an·error·it·tries·to
778 continue·and·reports·a·list·of·all·errors·found.·In·those·cases·an·unexpected778 continue·and·reports·a·list·of·all·errors·found.·In·those·cases·an·unexpected
779 error·is·found·it·may·cause·a·single·error·reason.</p><p>Usage·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="mi">1</span><span·class="o">&gt;</span><span·class="p"·data-group-id="3844935167-1">{</span><span·class="n">E</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="3844935167-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><sp[·...·truncated·by·diffoscope;·len:·197,·SHA:·900b61d7915fde2aa5c8ddb3743d68b1b1aecbe1658c858bf5e67d8f12c7f921·...·]-2">)</span><span·class="p">.</span><span·class="w">779 error·is·found·it·may·cause·a·single·error·reason.</p><p>Usage·example:</p><pre><code·class="makeup·erlang"·translate="no"><span·class="mi">1</span><span·class="o">&gt;</span><span·class="p"·data-group-id="8357599833-1">{</span><span·class="n">E</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="8357599833-1">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_scan</span><sp[·...·truncated·by·diffoscope;·len:·197,·SHA:·88560ea9a46d779766afd54d27b3bf37cb6a45c72c0de570fcb9ab44aa00941c·...·]-2">)</span><span·class="p">.</span><span·class="w">
780 </span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="p"·data-group-id="3844935167-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="3844935167-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_xsd</span><s[·...·truncated·by·diffoscope;·len:·206,·SHA:·a529251fd11a13299a586a7f7a6ba60446b0da8a60f726610c2df01b1637abd9·...·]-4">)</span><span·class="p">.</span><span·class="w">780 </span><span·class="mi">2</span><span·class="o">&gt;</span><span·class="p"·data-group-id="8357599833-3">{</span><span·class="ss">ok</span><span·class="p">,</span><span·class="n">S</span><span·class="p"·data-group-id="8357599833-3">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_xsd</span><s[·...·truncated·by·diffoscope;·len:·206,·SHA:·5d62e8e36388910032f441c81a8e10e412a77f904b633fd66354687d2ee96a5d·...·]-4">)</span><span·class="p">.</span><span·class="w">
781 </span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="p"·data-group-id="3844935167-5">{</span><span·class="n">E2</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="3844935167-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_xsd</span><sp[·...·truncated·by·diffoscope;·len:·219,·SHA:·ffc6695cef6f29b8468c101478b081d66c97371fe6c8fa23a364f1f13570e3af·...·]-6">)</span><span·class="p">.</span></code></pre><p>Observe·that·E2·may·differ·from·E·if·for·instance·there·are·default·values781 </span><span·class="mi">3</span><span·class="o">&gt;</span><span·class="p"·data-group-id="8357599833-5">{</span><span·class="n">E2</span><span·class="p">,</span><span·class="p">_</span><span·class="p"·data-group-id="8357599833-5">}</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nc">xmerl_xsd</span><sp[·...·truncated·by·diffoscope;·len:·219,·SHA:·cff9634d356f7ac3ebd5596d13edd2f36905a988092509f182e7abaa454f746b·...·]-6">)</span><span·class="p">.</span></code></pre><p>Observe·that·E2·may·differ·from·E·if·for·instance·there·are·default·values
782 defined·in·<code·class="inline">my_XML_Schema.xsd</code>.</p>782 defined·in·<code·class="inline">my_XML_Schema.xsd</code>.</p>
783 ··</section>783 ··</section>
784 </section>784 </section>
  
785 ····</div>785 ····</div>
786 ··</section>786 ··</section>
  
Offset 800, 15 lines modifiedOffset 800, 15 lines modified
800 ······<p·class="built-using">800 ······<p·class="built-using">
801 ········Built·using801 ········Built·using
802 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the802 ········<a·href="https://github.com/elixir-lang/ex_doc"·title="ExDoc"·target="_blank"·rel="help·noopener"·translate="no">ExDoc</a>·(v0.35.1)·for·the
  
803 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>803 ··········<a·href="https://erlang.org"·title="Erlang"·target="_blank"·translate="no">Erlang·programming·language</a>
  
804 ······</p>804 ······</p>
805 <p>Copyright·©·1996-2025·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>805 <p>Copyright·©·1996-2026·<a·href="https://www.ericsson.com">Ericsson·AB</a></p>
806 ····</footer>806 ····</footer>
807 ··</div>807 ··</div>
808 </main>808 </main>
809 </div>809 </div>
810 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>810 ··<script·defer·src="https://cdn.jsdelivr.net/npm/mermaid@11.4.1/dist/mermaid.min.js"></script>
811 ··<script>811 ··<script>
812 ··let·initialized·=·false;812 ··let·initialized·=·false;
557 B
html2text {}
Max HTML report size reached
244 KB
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/dist/search_data-B0EDC84D.js vs.
./usr/share/doc/erlang-doc/html/lib/megaco-4.8/doc/html/dist/search_data-85C16899.js
Files 98% similar despite different names
243 KB
js-beautify {}
Max HTML report size reached
27.2 KB
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/dist/search_data-4B8A9CF1.js vs.
./usr/share/doc/erlang-doc/html/lib/tftp-1.2.3/doc/html/dist/search_data-236D9DDF.js
Files 97% similar despite different names
27.0 KB
js-beautify {}
Max HTML report size reached
120 KB
erlang-jinterface_28.0+dfsg-1_all.deb
452 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary
2 -rw-r--r--···0········0········0······832·2025-05-21·08:22:24.000000·control.tar.xz2 -rw-r--r--···0········0········0······836·2025-05-21·08:22:24.000000·control.tar.xz
3 -rw-r--r--···0········0········0···112572·2025-05-21·08:22:24.000000·data.tar.xz3 -rw-r--r--···0········0········0···112588·2025-05-21·08:22:24.000000·data.tar.xz
98.0 B
control.tar.xz
70.0 B
control.tar
48.0 B
./md5sums
30.0 B
./md5sums
Files differ
120 KB
data.tar.xz
120 KB
data.tar
120 KB
./usr/lib/erlang/lib/jinterface-1.15/priv/OtpErlang.jar
13.4 KB
zipinfo {}
Max HTML report size reached
106 KB
zipdetails --redact --walk --utc {}
Max HTML report size reached
1.44 MB
erlang-public-key_28.0+dfsg-1_amd64.deb
367 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary
2 -rw-r--r--···0········0········0·····1904·2025-05-21·08:22:24.000000·control.tar.xz2 -rw-r--r--···0········0········0·····1904·2025-05-21·08:22:24.000000·control.tar.xz
3 -rw-r--r--···0········0········0··1213188·2025-05-21·08:22:24.000000·data.tar.xz3 -rw-r--r--···0········0········0··1212892·2025-05-21·08:22:24.000000·data.tar.xz
98.0 B
control.tar.xz
70.0 B
control.tar
48.0 B
./md5sums
30.0 B
./md5sums
Files differ
1.44 MB
data.tar.xz
1.44 MB
data.tar
4.67 KB
file list
    
Offset 4, 15 lines modifiedOffset 4, 15 lines modified
4 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/4 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/
5 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/5 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/
6 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/6 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/
7 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/7 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/
8 -rw-r--r--···0·root·········(0)·root·········(0)·····8340·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/AlgorithmInformation-2009.beam8 -rw-r--r--···0·root·········(0)·root·········(0)·····8340·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/AlgorithmInformation-2009.beam
9 -rw-r--r--···0·root·········(0)·root·········(0)····37780·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/AttributeCertificateVersion1-2009.beam9 -rw-r--r--···0·root·········(0)·root·········(0)····37780·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/AttributeCertificateVersion1-2009.beam
10 -rw-r--r--···0·root·········(0)·root·········(0)····21916·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/CMSAesRsaesOaep-2009.beam10 -rw-r--r--···0·root·········(0)·root·········(0)····21916·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/CMSAesRsaesOaep-2009.beam
11 -rw-r--r--···0·root·········(0)·root·········(0)···169600·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/CryptographicMessageSyntax-2009.beam11 -rw-r--r--···0·root·········(0)·root·········(0)···169580·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/CryptographicMessageSyntax-2009.beam
12 -rw-r--r--···0·root·········(0)·root·········(0)····56272·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/CryptographicMessageSyntaxAlgorithms-2009.beam12 -rw-r--r--···0·root·········(0)·root·········(0)····56272·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/CryptographicMessageSyntaxAlgorithms-2009.beam
13 -rw-r--r--···0·root·········(0)·root·········(0)····10136·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/DSS.beam13 -rw-r--r--···0·root·········(0)·root·········(0)····10136·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/DSS.beam
14 -rw-r--r--···0·root·········(0)·root·········(0)····18312·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/ECPrivateKey.beam14 -rw-r--r--···0·root·········(0)·root·········(0)····18312·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/ECPrivateKey.beam
15 -rw-r--r--···0·root·········(0)·root·········(0)····98352·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/OCSP-2024-08.beam15 -rw-r--r--···0·root·········(0)·root·········(0)····98352·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/OCSP-2024-08.beam
16 -rw-r--r--···0·root·········(0)·root·········(0)···135076·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/OTP-PKIX.beam16 -rw-r--r--···0·root·········(0)·root·········(0)···135076·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/OTP-PKIX.beam
17 -rw-r--r--···0·root·········(0)·root·········(0)····84368·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKCS-1.beam17 -rw-r--r--···0·root·········(0)·root·········(0)····84368·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKCS-1.beam
18 -rw-r--r--···0·root·········(0)·root·········(0)····31504·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKCS-10.beam18 -rw-r--r--···0·root·········(0)·root·········(0)····31504·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKCS-10.beam
Offset 23, 15 lines modifiedOffset 23, 15 lines modified
23 -rw-r--r--···0·root·········(0)·root·········(0)····56400·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIX1-PSS-OAEP-Algorithms-2009.beam23 -rw-r--r--···0·root·········(0)·root·········(0)····56400·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIX1-PSS-OAEP-Algorithms-2009.beam
24 -rw-r--r--···0·root·········(0)·root·········(0)···182464·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIX1Explicit-2009.beam24 -rw-r--r--···0·root·········(0)·root·········(0)···182464·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIX1Explicit-2009.beam
25 -rw-r--r--···0·root·········(0)·root·········(0)···119556·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIX1Implicit-2009.beam25 -rw-r--r--···0·root·········(0)·root·········(0)···119556·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIX1Implicit-2009.beam
26 -rw-r--r--···0·root·········(0)·root·········(0)····59492·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIXAlgs-2009.beam26 -rw-r--r--···0·root·········(0)·root·········(0)····59492·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIXAlgs-2009.beam
27 -rw-r--r--···0·root·········(0)·root·········(0)···115032·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIXAttributeCertificate-2009.beam27 -rw-r--r--···0·root·········(0)·root·········(0)···115032·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/PKIXAttributeCertificate-2009.beam
28 -rw-r--r--···0·root·········(0)·root·········(0)·····5152·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/RFC5639.beam28 -rw-r--r--···0·root·········(0)·root·········(0)·····5152·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/RFC5639.beam
29 -rw-r--r--···0·root·········(0)·root·········(0)····26264·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/Safecurves-pkix-18.beam29 -rw-r--r--···0·root·········(0)·root·········(0)····26264·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/Safecurves-pkix-18.beam
30 -rw-r--r--···0·root·········(0)·root·········(0)····66788·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/SecureMimeMessageV3dot1-2009.beam30 -rw-r--r--···0·root·········(0)·root·········(0)····66700·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/SecureMimeMessageV3dot1-2009.beam
31 -rw-r--r--···0·root·········(0)·root·········(0)····86140·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_cert.beam31 -rw-r--r--···0·root·········(0)·root·········(0)····86140·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_cert.beam
32 -rw-r--r--···0·root·········(0)·root·········(0)····28648·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_cert_records.beam32 -rw-r--r--···0·root·········(0)·root·········(0)····28648·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_cert_records.beam
33 -rw-r--r--···0·root·········(0)·root·········(0)····34216·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_crl.beam33 -rw-r--r--···0·root·········(0)·root·········(0)····34216·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_crl.beam
34 -rw-r--r--···0·root·········(0)·root·········(0)····19432·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_ocsp.beam34 -rw-r--r--···0·root·········(0)·root·········(0)····19432·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_ocsp.beam
35 -rw-r--r--···0·root·········(0)·root·········(0)····19736·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_os_cacerts.beam35 -rw-r--r--···0·root·········(0)·root·········(0)····19736·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_os_cacerts.beam
36 -rw-r--r--···0·root·········(0)·root·········(0)····18868·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_pbe.beam36 -rw-r--r--···0·root·········(0)·root·········(0)····18868·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_pbe.beam
37 -rw-r--r--···0·root·········(0)·root·········(0)····14756·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_pem.beam37 -rw-r--r--···0·root·········(0)·root·········(0)····14756·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/ebin/pubkey_pem.beam
916 KB
./usr/lib/erlang/lib/public_key-1.18/ebin/CryptographicMessageSyntax-2009.beam
Max HTML report size reached
555 KB
./usr/lib/erlang/lib/public_key-1.18/ebin/SecureMimeMessageV3dot1-2009.beam
Max HTML report size reached
84.1 KB
erlang-src_28.0+dfsg-1_all.deb
452 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary1 -rw-r--r--···0········0········0········4·2025-05-21·08:22:24.000000·debian-binary
2 -rw-r--r--···0········0········0····39836·2025-05-21·08:22:24.000000·control.tar.xz2 -rw-r--r--···0········0········0····39840·2025-05-21·08:22:24.000000·control.tar.xz
3 -rw-r--r--···0········0········0··6158540·2025-05-21·08:22:24.000000·data.tar.xz3 -rw-r--r--···0········0········0··6158660·2025-05-21·08:22:24.000000·data.tar.xz
840 B
control.tar.xz
812 B
control.tar
742 B
./control
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 Package:·erlang-src1 Package:·erlang-src
2 Source:·erlang2 Source:·erlang
3 Version:·1:28.0+dfsg-13 Version:·1:28.0+dfsg-1
4 Architecture:·all4 Architecture:·all
5 Maintainer:·Debian·Erlang·Packagers·<pkg-erlang-devel@lists.alioth.debian.org>5 Maintainer:·Debian·Erlang·Packagers·<pkg-erlang-devel@lists.alioth.debian.org>
6 Installed-Size:·484656 Installed-Size:·48464
7 Depends:·erlang-base:any·(>=·1:28.0+dfsg-1),·erlang-base:any·(<<·1:28.0+dfsg-1.0)7 Depends:·erlang-base:any·(>=·1:28.0+dfsg-1),·erlang-base:any·(<<·1:28.0+dfsg-1.0)
8 Suggests:·erlang,·erlang-doc8 Suggests:·erlang,·erlang-doc
9 Replaces:·erlang:any·(<<·1:28.0+dfsg-1),·erlang-base:any·(<<·1:28.0+dfsg-1),·erlang-base-hipe:any,·erlang-dev:any·(<<·1:28.0+dfsg-1),·erlang-erl-docgen:any,·erlang-examples·(<<·1:28.0+dfsg-1),·erlang-mode·(<<·1:12.b.1-dfsg-2),·erlang-nox·(<<·1:28.0+dfsg-1),·erlang-x11·(<<·1:28.0+dfsg-1)9 Replaces:·erlang:any·(<<·1:28.0+dfsg-1),·erlang-base:any·(<<·1:28.0+dfsg-1),·erlang-base-hipe:any,·erlang-dev:any·(<<·1:28.0+dfsg-1),·erlang-erl-docgen:any,·erlang-examples·(<<·1:28.0+dfsg-1),·erlang-mode·(<<·1:12.b.1-dfsg-2),·erlang-nox·(<<·1:28.0+dfsg-1),·erlang-x11·(<<·1:28.0+dfsg-1)
10 Section:·interpreters10 Section:·interpreters
11 Priority:·optional11 Priority:·optional
12 Multi-Arch:·foreign12 Multi-Arch:·foreign
13 Homepage:·http://www.erlang.org/13 Homepage:·http://www.erlang.org/
48.0 B
./md5sums
30.0 B
./md5sums
Files differ
82.8 KB
data.tar.xz
82.8 KB
data.tar
2.38 KB
file list
    
Offset 999, 15 lines modifiedOffset 999, 15 lines modified
999 -rw-r--r--···0·root·········(0)·root·········(0)····50062·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIX1-PSS-OAEP-Algorithms-2009.erl999 -rw-r--r--···0·root·········(0)·root·········(0)····50062·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIX1-PSS-OAEP-Algorithms-2009.erl
1000 -rw-r--r--···0·root·········(0)·root·········(0)···167448·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIX1Explicit-2009.erl1000 -rw-r--r--···0·root·········(0)·root·········(0)···167448·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIX1Explicit-2009.erl
1001 -rw-r--r--···0·root·········(0)·root·········(0)···113585·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIX1Implicit-2009.erl1001 -rw-r--r--···0·root·········(0)·root·········(0)···113585·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIX1Implicit-2009.erl
1002 -rw-r--r--···0·root·········(0)·root·········(0)····55374·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIXAlgs-2009.erl1002 -rw-r--r--···0·root·········(0)·root·········(0)····55374·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIXAlgs-2009.erl
1003 -rw-r--r--···0·root·········(0)·root·········(0)···120835·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIXAttributeCertificate-2009.erl1003 -rw-r--r--···0·root·········(0)·root·········(0)···120835·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/PKIXAttributeCertificate-2009.erl
1004 -rw-r--r--···0·root·········(0)·root·········(0)·····2440·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/RFC5639.erl1004 -rw-r--r--···0·root·········(0)·root·········(0)·····2440·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/RFC5639.erl
1005 -rw-r--r--···0·root·········(0)·root·········(0)····21251·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/Safecurves-pkix-18.erl1005 -rw-r--r--···0·root·········(0)·root·········(0)····21251·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/Safecurves-pkix-18.erl
1006 -rw-r--r--···0·root·········(0)·root·········(0)····58417·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/SecureMimeMessageV3dot1-2009.erl1006 -rw-r--r--···0·root·········(0)·root·········(0)····58317·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/SecureMimeMessageV3dot1-2009.erl
1007 -rw-r--r--···0·root·········(0)·root·········(0)····89306·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_cert.erl1007 -rw-r--r--···0·root·········(0)·root·········(0)····89306·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_cert.erl
1008 -rw-r--r--···0·root·········(0)·root·········(0)····19684·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_cert_records.erl1008 -rw-r--r--···0·root·········(0)·root·········(0)····19684·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_cert_records.erl
1009 -rw-r--r--···0·root·········(0)·root·········(0)····24282·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_crl.erl1009 -rw-r--r--···0·root·········(0)·root·········(0)····24282·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_crl.erl
1010 -rw-r--r--···0·root·········(0)·root·········(0)···708356·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_moduli.hrl1010 -rw-r--r--···0·root·········(0)·root·········(0)···708356·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_moduli.hrl
1011 -rw-r--r--···0·root·········(0)·root·········(0)····12580·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_ocsp.erl1011 -rw-r--r--···0·root·········(0)·root·········(0)····12580·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_ocsp.erl
1012 -rw-r--r--···0·root·········(0)·root·········(0)····10294·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_os_cacerts.erl1012 -rw-r--r--···0·root·········(0)·root·········(0)····10294·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_os_cacerts.erl
1013 -rw-r--r--···0·root·········(0)·root·········(0)····15088·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_pbe.erl1013 -rw-r--r--···0·root·········(0)·root·········(0)····15088·2025-05-21·08:22:24.000000·./usr/lib/erlang/lib/public_key-1.18/src/pubkey_pbe.erl
44.8 KB
./usr/lib/erlang/lib/public_key-1.18/src/CryptographicMessageSyntax-2009.erl
    
Offset 189, 33 lines modifiedOffset 189, 33 lines modified
189 getenc_SignatureAlgorithmSet/1,189 getenc_SignatureAlgorithmSet/1,
190 getenc_KeyEncryptionAlgorithmSet/1,190 getenc_KeyEncryptionAlgorithmSet/1,
191 getenc_ContentEncryptionAlgorithmSet/1,191 getenc_ContentEncryptionAlgorithmSet/1,
192 getenc_MessageAuthenticationCodeAlgorithmSet/1,192 getenc_MessageAuthenticationCodeAlgorithmSet/1,
193 getenc_SupportedOtherRevokInfo/1,193 getenc_SupportedOtherRevokInfo/1,
194 getenc_SupportedCertFormats/1,194 getenc_SupportedCertFormats/1,
195 getenc_SupportedKeyAttributes/1,195 getenc_SupportedKeyAttributes/1,
196 getenc_internal_object_set_argument_57/1, 
197 getenc_internal_object_set_argument_56/1, 
198 getenc_internal_object_set_argument_54/1, 
199 getenc_internal_object_set_argument_53/1, 
200 getenc_internal_object_set_argument_52/1, 
201 getenc_internal_object_set_argument_51/1, 
202 getenc_internal_object_set_argument_50/1, 
203 getenc_internal_object_set_argument_2/1,196 getenc_internal_object_set_argument_2/1,
 197 getenc_internal_object_set_argument_39/1,
204 getenc_internal_object_set_argument_38/1,198 getenc_internal_object_set_argument_38/1,
205 getenc_internal_object_set_argument_37/1,199 getenc_internal_object_set_argument_37/1,
206 getenc_internal_object_set_argument_36/1,200 getenc_internal_object_set_argument_36/1,
207 getenc_internal_object_set_argument_35/1,201 getenc_internal_object_set_argument_34/1,
 202 getenc_internal_object_set_argument_32/1,
 203 getenc_internal_object_set_argument_30/1,
208 getenc_internal_object_set_argument_48/1,204 getenc_internal_object_set_argument_43/1,
209 getenc_internal_object_set_argument_46/1, 
210 getenc_internal_object_set_argument_44/1, 
211 getenc_internal_object_set_argument_42/1,205 getenc_internal_object_set_argument_42/1,
212 getenc_internal_object_set_argument_40/1,206 getenc_internal_object_set_argument_40/1,
213 getenc_internal_object_set_argument_13/1,207 getenc_internal_object_set_argument_13/1,
214 getenc_internal_object_set_argument_11/1208 getenc_internal_object_set_argument_11/1,
 209 getenc_internal_object_set_argument_28/1,
 210 getenc_internal_object_set_argument_26/1,
 211 getenc_internal_object_set_argument_24/1,
 212 getenc_internal_object_set_argument_23/1,
 213 getenc_internal_object_set_argument_22/1,
 214 getenc_internal_object_set_argument_21/1
215 ]).215 ]).
  
216 -export([216 -export([
217 getdec_ContentSet/1,217 getdec_ContentSet/1,
218 getdec_SignedAttributesSet/1,218 getdec_SignedAttributesSet/1,
219 getdec_UnsignedAttributes/1,219 getdec_UnsignedAttributes/1,
220 getdec_UnprotectedAttributes/1,220 getdec_UnprotectedAttributes/1,
Offset 229, 33 lines modifiedOffset 229, 33 lines modified
229 getdec_SignatureAlgorithmSet/1,229 getdec_SignatureAlgorithmSet/1,
230 getdec_KeyEncryptionAlgorithmSet/1,230 getdec_KeyEncryptionAlgorithmSet/1,
231 getdec_ContentEncryptionAlgorithmSet/1,231 getdec_ContentEncryptionAlgorithmSet/1,
232 getdec_MessageAuthenticationCodeAlgorithmSet/1,232 getdec_MessageAuthenticationCodeAlgorithmSet/1,
233 getdec_SupportedOtherRevokInfo/1,233 getdec_SupportedOtherRevokInfo/1,
234 getdec_SupportedCertFormats/1,234 getdec_SupportedCertFormats/1,
235 getdec_SupportedKeyAttributes/1,235 getdec_SupportedKeyAttributes/1,
236 getdec_internal_object_set_argument_57/1, 
237 getdec_internal_object_set_argument_56/1, 
238 getdec_internal_object_set_argument_54/1, 
239 getdec_internal_object_set_argument_53/1, 
240 getdec_internal_object_set_argument_52/1, 
241 getdec_internal_object_set_argument_51/1, 
242 getdec_internal_object_set_argument_50/1, 
243 getdec_internal_object_set_argument_2/1,236 getdec_internal_object_set_argument_2/1,
 237 getdec_internal_object_set_argument_39/1,
244 getdec_internal_object_set_argument_38/1,238 getdec_internal_object_set_argument_38/1,
245 getdec_internal_object_set_argument_37/1,239 getdec_internal_object_set_argument_37/1,
246 getdec_internal_object_set_argument_36/1,240 getdec_internal_object_set_argument_36/1,
247 getdec_internal_object_set_argument_35/1,241 getdec_internal_object_set_argument_34/1,
 242 getdec_internal_object_set_argument_32/1,
 243 getdec_internal_object_set_argument_30/1,
248 getdec_internal_object_set_argument_48/1,244 getdec_internal_object_set_argument_43/1,
249 getdec_internal_object_set_argument_46/1, 
250 getdec_internal_object_set_argument_44/1, 
251 getdec_internal_object_set_argument_42/1,245 getdec_internal_object_set_argument_42/1,
252 getdec_internal_object_set_argument_40/1,246 getdec_internal_object_set_argument_40/1,
253 getdec_internal_object_set_argument_13/1,247 getdec_internal_object_set_argument_13/1,
254 getdec_internal_object_set_argument_11/1248 getdec_internal_object_set_argument_11/1,
 249 getdec_internal_object_set_argument_28/1,
 250 getdec_internal_object_set_argument_26/1,
 251 getdec_internal_object_set_argument_24/1,
 252 getdec_internal_object_set_argument_23/1,
 253 getdec_internal_object_set_argument_22/1,
 254 getdec_internal_object_set_argument_21/1
255 ]).255 ]).
  
256 -export([256 -export([
257 'id-ct-contentInfo'/0,257 'id-ct-contentInfo'/0,
258 'id-data'/0,258 'id-data'/0,
259 'id-signedData'/0,259 'id-signedData'/0,
260 'id-envelopedData'/0,260 'id-envelopedData'/0,
Offset 844, 15 lines modifiedOffset 844, 15 lines modified
  
844 %%================================844 %%================================
845 %%··SignerInfo_unsignedAttrs_Attribute845 %%··SignerInfo_unsignedAttrs_Attribute
846 %%================================846 %%================================
847 enc_SignerInfo_unsignedAttrs_Attribute(Val,·TagIn)·->847 enc_SignerInfo_unsignedAttrs_Attribute(Val,·TagIn)·->
848 ···{_,Cindex1,Cindex2}·=·Val,848 ···{_,Cindex1,Cindex2}·=·Val,
849 ObjattrType·=·849 ObjattrType·=·
850 ···'CryptographicMessageSyntax-2009':'getenc_internal_object_set_argument_38'(···································Cindex1),850 ···'CryptographicMessageSyntax-2009':'getenc_internal_object_set_argument_24'(···································Cindex1),
  
851 %%-------------------------------------------------851 %%-------------------------------------------------
852 %%·attribute·attrType(1)·with·type·OBJECT·IDENTIFIER852 %%·attribute·attrType(1)·with·type·OBJECT·IDENTIFIER
853 %%-------------------------------------------------853 %%-------------------------------------------------
854 ···{EncBytes1,EncLen1}·=·encode_object_identifier(Cindex1,·[<<6>>]),854 ···{EncBytes1,EncLen1}·=·encode_object_identifier(Cindex1,·[<<6>>]),
  
855 %%-------------------------------------------------855 %%-------------------------------------------------
Offset 967, 15 lines modifiedOffset 967, 15 lines modified
967 Tlv1·=·match_tags(Tlv,·TagIn),967 Tlv1·=·match_tags(Tlv,·TagIn),
  
968 %%-------------------------------------------------968 %%-------------------------------------------------
969 %%·attribute·attrType(1)·with·type·OBJECT·IDENTIFIER969 %%·attribute·attrType(1)·with·type·OBJECT·IDENTIFIER
970 %%-------------------------------------------------970 %%-------------------------------------------------
971 [V1|Tlv2]·=·Tlv1,·971 [V1|Tlv2]·=·Tlv1,·
972 Term1·=·decode_object_identifier(V1,·[6]),972 Term1·=·decode_object_identifier(V1,·[6]),
973 ObjFun·=·'CryptographicMessageSyntax-2009':'getdec_internal_object_set_argument_38'(Term1),973 ObjFun·=·'CryptographicMessageSyntax-2009':'getdec_internal_object_set_argument_24'(Term1),
  
974 %%-------------------------------------------------974 %%-------------------------------------------------
975 %%·attribute·attrValues(2)·with·type·SET·OF975 %%·attribute·attrValues(2)·with·type·SET·OF
976 %%-------------------------------------------------976 %%-------------------------------------------------
977 [V2|Tlv3]·=·Tlv2,·977 [V2|Tlv3]·=·Tlv2,·
978 Term2·=·'dec_SignerInfo_unsignedAttrs_Attribute_attrValues'(V2,·[17],·ObjFun),978 Term2·=·'dec_SignerInfo_unsignedAttrs_Attribute_attrValues'(V2,·[17],·ObjFun),
  
Offset 1026, 15 lines modifiedOffset 1026, 15 lines modified
  
1026 %%================================1026 %%================================
1027 %%··SignedAttributes_Attribute1027 %%··SignedAttributes_Attribute
1028 %%================================1028 %%================================
1029 enc_SignedAttributes_Attribute(Val,·TagIn)·->1029 enc_SignedAttributes_Attribute(Val,·TagIn)·->
1030 ···{_,Cindex1,Cindex2}·=·Val,1030 ···{_,Cindex1,Cindex2}·=·Val,
1031 ObjattrType·=·1031 ObjattrType·=·
1032 ···'CryptographicMessageSyntax-2009':'getenc_internal_object_set_argument_36'(···································Cindex1),1032 ···'CryptographicMessageSyntax-2009':'getenc_internal_object_set_argument_22'(···································Cindex1),
  
Max diff block lines reached; 40256/45736 bytes (88.02%) of diff not shown.
35.6 KB
./usr/lib/erlang/lib/public_key-1.18/src/SecureMimeMessageV3dot1-2009.erl
    
Offset 49, 23 lines modifiedOffset 49, 23 lines modified
49 dec_SMimeCapsSet_smimeCaps/3,49 dec_SMimeCapsSet_smimeCaps/3,
50 'dec_aa-smimeCapabilities_smimeCaps'/350 'dec_aa-smimeCapabilities_smimeCaps'/3
51 ]).51 ]).
  
52 -export([52 -export([
53 getenc_SMimeAttributeSet/1,53 getenc_SMimeAttributeSet/1,
54 getenc_SMimeCapsSet/1,54 getenc_SMimeCapsSet/1,
55 getenc_internal_object_set_argument_11/1,55 getenc_internal_object_set_argument_9/1,
56 getenc_internal_object_set_argument_10/156 getenc_internal_object_set_argument_8/1
57 ]).57 ]).
  
58 -export([58 -export([
59 getdec_SMimeAttributeSet/1,59 getdec_SMimeAttributeSet/1,
60 getdec_SMimeCapsSet/1,60 getdec_SMimeCapsSet/1,
61 getdec_internal_object_set_argument_11/1,61 getdec_internal_object_set_argument_9/1,
62 getdec_internal_object_set_argument_10/162 getdec_internal_object_set_argument_8/1
63 ]).63 ]).
  
64 -export([64 -export([
65 'id-aa'/0,65 'id-aa'/0,
66 smimeCapabilities/0,66 smimeCapabilities/0,
67 'id-aa-encrypKeyPref'/0,67 'id-aa-encrypKeyPref'/0,
68 'id-smime'/0,68 'id-smime'/0,
Offset 228, 15 lines modifiedOffset 228, 15 lines modified
  
228 %%================================228 %%================================
229 %%··aa-smimeCapabilities_SMIMECapabilities_SMIMECapability229 %%··aa-smimeCapabilities_SMIMECapabilities_SMIMECapability
230 %%================================230 %%================================
231 'enc_aa-smimeCapabilities_SMIMECapabilities_SMIMECapability'(Val,·TagIn)·->231 'enc_aa-smimeCapabilities_SMIMECapabilities_SMIMECapability'(Val,·TagIn)·->
232 ···{_,Cindex1,Cindex2}·=·Val,232 ···{_,Cindex1,Cindex2}·=·Val,
233 ObjcapabilityID·=·233 ObjcapabilityID·=·
234 ···'SecureMimeMessageV3dot1-2009':'getenc_internal_object_set_argument_11'(···································Cindex1),234 ···'SecureMimeMessageV3dot1-2009':'getenc_internal_object_set_argument_9'(···································Cindex1),
  
235 %%-------------------------------------------------235 %%-------------------------------------------------
236 %%·attribute·capabilityID(1)·with·type·OBJECT·IDENTIFIER236 %%·attribute·capabilityID(1)·with·type·OBJECT·IDENTIFIER
237 %%-------------------------------------------------237 %%-------------------------------------------------
238 ···{EncBytes1,EncLen1}·=·encode_object_identifier(Cindex1,·[<<6>>]),238 ···{EncBytes1,EncLen1}·=·encode_object_identifier(Cindex1,·[<<6>>]),
  
239 %%-------------------------------------------------239 %%-------------------------------------------------
Offset 284, 15 lines modifiedOffset 284, 15 lines modified
284 [V2|TempTlv3]·->284 [V2|TempTlv3]·->
285 ····{decode_open_type(V2,·[]),·TempTlv3};285 ····{decode_open_type(V2,·[]),·TempTlv3};
286 ····_·->286 ····_·->
287 ········{·asn1_NOVALUE,·Tlv2}287 ········{·asn1_NOVALUE,·Tlv2}
288 end,288 end,
  
289 DecObjcapabilityIDTerm1·=289 DecObjcapabilityIDTerm1·=
290 ···'SecureMimeMessageV3dot1-2009':'getdec_internal_object_set_argument_11'(Term1),290 ···'SecureMimeMessageV3dot1-2009':'getdec_internal_object_set_argument_9'(Term1),
291 Term2·=·291 Term2·=·
292 ···case·Tmpterm1·of292 ···case·Tmpterm1·of
293 ······asn1_NOVALUE·->asn1_NOVALUE;293 ······asn1_NOVALUE·->asn1_NOVALUE;
294 ······_·->294 ······_·->
295 ·········case·(catch·DecObjcapabilityIDTerm1('Type',·Tmpterm1,·[]))·of295 ·········case·(catch·DecObjcapabilityIDTerm1('Type',·Tmpterm1,·[]))·of
296 ············{'EXIT',·Reason1}·->296 ············{'EXIT',·Reason1}·->
297 ···············exit({'Type·not·compatible·with·table·constraint',Reason1});297 ···············exit({'Type·not·compatible·with·table·constraint',Reason1});
Offset 902, 898 lines modifiedOffset 902, 898 lines modified
902 ··end.902 ··end.
  
  
  
  
  
903 %%================================903 %%================================
904 %%··internal_object_set_argument_11904 %%··internal_object_set_argument_9
905 %%================================905 %%================================
906 getenc_internal_object_set_argument_11({1,2,840,10040,4,3})·->906 getenc_internal_object_set_argument_9({1,2,840,10040,4,3})·->
907 ···fun(Type,·Val,·_RestPrimFieldName)·->907 ···fun(Type,·Val,·_RestPrimFieldName)·->
908 ······case·Type·of908 ······case·Type·of
909 ·········'Type'·->909 ·········'Type'·->
910 ···········case·Val·of910 ···········case·Val·of
911 ·············{asn1_OPENTYPE,Bin}·when·is_binary(Bin)·->911 ·············{asn1_OPENTYPE,Bin}·when·is_binary(Bin)·->
912 ···············{Bin,byte_size(Bin)}912 ···············{Bin,byte_size(Bin)}
913 ···········end913 ···········end
914 ······end914 ······end
915 ···end;915 ···end;
916 getenc_internal_object_set_argument_11({1,2,840,10045,4,1})·->916 getenc_internal_object_set_argument_9({1,2,840,10045,4,1})·->
917 ···fun(Type,·Val,·_RestPrimFieldName)·->917 ···fun(Type,·Val,·_RestPrimFieldName)·->
918 ······case·Type·of918 ······case·Type·of
919 ·········'Type'·->919 ·········'Type'·->
920 ···········case·Val·of920 ···········case·Val·of
921 ·············{asn1_OPENTYPE,Bin}·when·is_binary(Bin)·->921 ·············{asn1_OPENTYPE,Bin}·when·is_binary(Bin)·->
922 ···············{Bin,byte_size(Bin)}922 ···············{Bin,byte_size(Bin)}
923 ···········end923 ···········end
924 ······end924 ······end
925 ···end;925 ···end;
926 getenc_internal_object_set_argument_11(Id)·when·Id·=:=·{1,2,840,113549,3,2}·->926 getenc_internal_object_set_argument_9(Id)·when·Id·=:=·{1,2,840,113549,3,2}·->
927 ····fun·'enc_cap-RC2CBC'/3;927 ····fun·'enc_cap-RC2CBC'/3;
928 getenc_internal_object_set_argument_11({1,2,840,113549,3,7})·->928 getenc_internal_object_set_argument_9({1,2,840,113549,3,7})·->
929 ···fun(Type,·Val,·_RestPrimFieldName)·->929 ···fun(Type,·Val,·_RestPrimFieldName)·->
930 ······case·Type·of930 ······case·Type·of
931 ·········'Type'·->931 ·········'Type'·->
932 ···········case·Val·of932 ···········case·Val·of
933 ·············{asn1_OPENTYPE,Bin}·when·is_binary(Bin)·->933 ·············{asn1_OPENTYPE,Bin}·when·is_binary(Bin)·->
934 ···············{Bin,byte_size(Bin)}934 ···············{Bin,byte_size(Bin)}
935 ···········end935 ···········end
936 ······end936 ······end
937 ···end;937 ···end;
938 getenc_internal_object_set_argument_11({1,2,840,10045,4,3,1})·->938 getenc_internal_object_set_argument_9({1,2,840,10045,4,3,1})·->
939 ···fun(Type,·Val,·_RestPrimFieldName)·->939 ···fun(Type,·Val,·_RestPrimFieldName)·->
940 ······case·Type·of940 ······case·Type·of
941 ·········'Type'·->941 ·········'Type'·->
942 ···········case·Val·of942 ···········case·Val·of
943 ·············{asn1_OPENTYPE,Bin}·when·is_binary(Bin)·->943 ·············{asn1_OPENTYPE,Bin}·when·is_binary(Bin)·->
944 ···············{Bin,byte_size(Bin)}944 ···············{Bin,byte_size(Bin)}
945 ···········end945 ···········end
946 ······end946 ······end
947 ···end;947 ···end;
948 getenc_internal_object_set_argument_11({1,2,840,10045,4,3,2})·->948 getenc_internal_object_set_argument_9({1,2,840,10045,4,3,2})·->
949 ···fun(Type,·Val,·_RestPrimFieldName)·->949 ···fun(Type,·Val,·_RestPrimFieldName)·->
950 ······case·Type·of950 ······case·Type·of
951 ·········'Type'·->951 ·········'Type'·->
952 ···········case·Val·of952 ···········case·Val·of
953 ·············{asn1_OPENTYPE,Bin}·when·is_binary(Bin)·->953 ·············{asn1_OPENTYPE,Bin}·when·is_binary(Bin)·->
954 ···············{Bin,byte_size(Bin)}954 ···············{Bin,byte_size(Bin)}
955 ···········end955 ···········end
956 ······end956 ······end
957 ···end;957 ···end;
958 getenc_internal_object_set_argument_11({1,2,840,10045,4,3,3})·->958 getenc_internal_object_set_argument_9({1,2,840,10045,4,3,3})·->
959 ···fun(Type,·Val,·_RestPrimFieldName)·->959 ···fun(Type,·Val,·_RestPrimFieldName)·->
960 ······case·Type·of960 ······case·Type·of
961 ·········'Type'·->961 ·········'Type'·->
962 ···········case·Val·of962 ···········case·Val·of
963 ·············{asn1_OPENTYPE,Bin}·when·is_binary(Bin)·->963 ·············{asn1_OPENTYPE,Bin}·when·is_binary(Bin)·->
964 ···············{Bin,byte_size(Bin)}964 ···············{Bin,byte_size(Bin)}
965 ···········end965 ···········end
966 ······end966 ······end
967 ···end;967 ···end;
Max diff block lines reached; 31504/36310 bytes (86.76%) of diff not shown.